0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种值得嵌入式开发人员学习的总线 -- CAN-Bus

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-14 11:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CAN总线相关概述

1 写在前面

说到CAN,相信大家都有所了解,但单纯的了解,其意义不大,要知道它能做什么,知道它的用途才重要。

可能初学的朋友不太了解CAN的应用领域,对于汽车电子、轨道交通、工业自动化等诸多的运动控制系统中,运用CAN总线通信的地方很多很多。所以,我建议:嵌入式开发的朋友,有必要学习CAN,以及CAN常用的通信协议。

2 CAN总线

什么是总线?

相信大家都知道,谷歌百度一下,非常详细的解释:总线(Bus)是计算机各种功能部件之间传送信息的公共通信主干线。就好比一条输电线,它有多条分支,但主干线是重要的一条线路。

什么是CAN?

CAN:ControllerAreaNetwork即控制器局域网络。

理解了总线及CAN的含义,对CAN总线的理解就不难了,只是我们这种控制通信的方式这样命名而已。同理,我们也能理解什么是485总线,什么是I2C总线······

3 CAN网络结构

想要实现CAN总线的通信,必须要有CAN相关的硬件支持,也可以说是OSI(开放系统互联)中的物理层。

(图片来自STM32 CAN网络结构图)

主要包含:MCU、CAN控制器、CAN收发器

可以结合485总线理解,CAN控制器就是UART控制器,CAN收发器就是485转换器

CAN控制器是CAN通信中的核心部位,收和发的数据都经由它来处理;

CAN收发器可以理解成一个转换器,就是将TTL电平信号转换为CAN总线中的差分信号。

4 CAN通信原理

CAN通信原理其实是一个很大的话题,这里从基础来讲述实现CAN通信的原理。

can在英文单词中有"罐头"的意思,可能很多人小时候都玩过有种叫“传声筒”的东西,就是对着绳子一端的罐头说话,声音就可以传输的另一头。

罐头一端的人说【你好】,另外一端的人就能理解到对方说的话(你好)的意思。

我们可以把【你好】理解成通信中的数据,至于它是通过什么方式传输过去我们是不必关心的,只需要知道【你好】的意思即可。

也就是说,数据经过电平转换的过程我们不用关心,还有就是添加的一些协议(如CANopen,可以理解成额外添加的数据)我们也不用关心,关心的是我们想要得到的数据。

5 CAN应用协议

CAN也可以理解成UART,我们可以不使用CAN收发器,像单片机UART中直接将两块单片机的TX和RX引脚连接,通过TTL电平信号传输数据。

一般来说,我们使用UART通信,都会添加相关的协议,如ModBus。添加协议的作用是就是方便解析数据,防止信号受干扰而检测错误数据帧等。

相关的协议目前有多种:

CANopen协议 (制定组织:CiA)

DeviceNet协议 (制定组织ODVA)

CAL协议 (制定组织:CiA)

CANKingdom (制定组织:Kvaser)

J1939协议 (制定组织:SAE)

SDS协议(制定组织:Honeywell)

CAN总线应用协议相对CAN驱动来说要复杂的多,目前CANopen协议算是市面上用的比较多的一种,后期会更新CANopen协议中一项开源协议canfestival。

6 最后

CAN总线以及CAN相关协议的内容相对来说较多,本文算是带领大家对CAN有一个基础的认识。

微信搜索“EmbeddDeveloper” 或者扫描下面二维码、关注,在我的底部菜单查看更多精彩内容!

长按识别二维码 关注

原文标题:一种值得嵌入式开发人员学习的总线 --- CAN-Bus

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20151

    浏览量

    328887
  • CAN总线
    +关注

    关注

    145

    文章

    2020

    浏览量

    134690
  • 485总线
    +关注

    关注

    1

    文章

    32

    浏览量

    17138
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    个面向单片机、事件驱动的嵌入式开发平台介绍

    EventOS,是个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:是事件驱动,二是超轻量。EventOS以及其母项目EventOS,目标是开发
    发表于 12-05 06:26

    分享嵌入式开发学习路线

    如果你想要学习嵌入式开发,我建议按照这个学习路线准备: 1. 基础铺垫期(1-2个月) 理解嵌入式系统的“硬件基础”和“编程入门”,能看懂简单电路,写出基础C语言代码。这
    发表于 12-04 11:01

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程经验,还需要不断
    发表于 11-13 08:12

    嵌入式开发就业还有前景吗?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、操作系统等,同时也需要具备
    发表于 07-16 10:47

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之。以下将为初学者提供份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内
    发表于 05-15 09:29

    NanoEdge AI Studio 面向STM32开发人员机器学习(ML)技术

    NanoEdge™ AI Studio*(NanoEdgeAIStudio)是一种新型机器学习(ML)技术,可以让终端用户轻松享有真正的创新成果。只需几步,开发人员便可基于最少量的数据为其项目创建
    的头像 发表于 04-22 11:09 981次阅读
    NanoEdge AI Studio 面向STM32<b class='flag-5'>开发人员</b>机器<b class='flag-5'>学习</b>(ML)技术

    嵌入式去哪个城市好?

    的产业链完善,从硬件设计到生产制造形成了条完整的生态链,极大地提升了研发效率。深圳的创新氛围浓厚,各种技术交流活动频繁,为嵌入式开发人员提供了良好的学习和交流平台。 新线城市 杭州
    发表于 04-02 10:12

    嵌入式系统开发圣经【干货】

    主管、系统设计分析人员及欲进入该领域的工程师。是开发嵌入式系统产品必备的入门圣经,进入嵌入式系统领域的宝典。可以翻看翻看,
    发表于 03-12 13:58

    GoPoint嵌入式开发平台 释放i.MX潜力 简化Linux开发

    地进行创新。 在快节奏的嵌入式系统时代,时间是开发人员最宝贵的资源。GoPoint (过去名为NXP Demo Experience) 重新定义了评估和探索过程,开发人员能够快速评估i.MX SoC在下
    发表于 02-28 10:07 1068次阅读
    GoPoint<b class='flag-5'>嵌入式开发</b>平台 释放i.MX潜力 简化Linux<b class='flag-5'>开发</b>

    如何成为嵌入式开发工程师?

    和使用方法。- 掌握接口标准和总线协议,如UART、SPI、I2C、CAN等。 3. 编程能力:- 精通至少一种编程语言,尤其是C/C++,因为它们是嵌入式系统
    发表于 02-19 10:39

    快速上手!CAN-Bus转以太网(ECAN-E02)使用教程

    ECAN-E02是亿佰特开发款高性能工业级以太网与CAN-bus的数据转换设备,CAN转换器模组内部集成了1路CAN-bus接口、1路E
    的头像 发表于 02-13 19:34 1265次阅读
    快速上手!<b class='flag-5'>CAN-Bus</b>转以太网(ECAN-E02)使用教程

    哪些专业适合学习嵌入式开发?

    哪些专业适合学习嵌入式开发? 在传统行业不断被取代的当下,对于大学生、从业者而言,选择个热门主流的职业方向,是未来发展的关键因素之嵌入式
    发表于 01-03 13:44

    CAN-Bus总线电缆行业技术发展趋势及市场空间预测报告

    根据Global Info Research项目团队最新调研,预计2030年全球CAN-Bus总线电缆产值达到2287百万美元,2024-2030年期间年复合增长率CAGR为3.6%。
    的头像 发表于 12-31 10:59 1097次阅读

    嵌入式开发必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令(上)关注触觉智能持续为大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 117次阅读
    <b class='flag-5'>嵌入式开发</b>必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品

    如何使用 RISC-V 进行嵌入式开发

    RISC-V是一种开源的指令集架构(ISA),它允许任何人设计、制造和销售基于RISC-V的处理器,这为嵌入式开发提供了极大的灵活性和创新空间。以下是使用RISC-V进行嵌入式开发的基本步骤:
    的头像 发表于 12-11 17:32 2752次阅读