can总线不加末端电阻_CAN总线技术详解与测试

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我 721a51e9afa61f2dfc5cee8afca8f044.gif 2fc83ba8967604673cc60ee252c70345.gif   C AN总线在硬件系统中占有一席之地,国际上应用最广泛的现场总线之一,与我们讲过的SPI、UART不同,属于“高端高效”系列。 很多小伙伴希望我们讲讲CAN总 线,今天就来了, 先点击视频观看CAN总线如何测试——

↓↓点击观看视频↓↓

45982c1e05c05ca168a74f5454d49acf.png ↑↑↑ 【电子界 第一部 电视连续剧】——硬件工程师的自我修养小剧场 第二集 ,由泰克达尔闻联合出品。 观剧指南: 1)数字信号示波器测试方法 2)CAN总线测试解码 3)CAN与LIN总线相互关系

64f5b04d1be45606abb4bce2fa53f975.png

看完视频后,一定对CAN总线还是不清楚吧。一句话总结:CAN总线是将离散独立的数据线整理到统一节点上。接下来认真看,一文教会你CAN总线——

01

CAN总线由来 CAN总线最早是由Bosch和Intel在80年代末开发的,虽然最早是用在汽车级的通信系统中的,但是随着技术的发展,CAN总线应用范围已经不在局限于汽车中,像机器人、工业、自动控制系统中,都有广泛的应用。

a870e58ed24e5dbbc482175e31ac49bf.png

02

CAN总线为什么这么好用

以CAN总线应用最广的汽车给大家举例,汽车电子控制系统之间的数据通信基本上都是通过CAN总线实现。

在下图中,Motronic控制单元和变速箱控制单元之间的数据通信包含5根数据线。这还仅仅是两个控制器之间的传输线。如果我们再加上转向控制、雨刷控制、车窗控制等等,就需要大量的信号数据线,这个时候会导致整车的电子控制系统线路复杂,维修起来也非常困难。

81e728c7ddb3646b69bdedfe884208a3.png

而如果使用CAN总线,各个控制单元之间的信息通过两根数据线就可以进行交换了:

2320f396de0dcde814a759e7c2f1d2a0.png

使用CAN总线之后的通信网络对比: cdcee098f84326fd2af98f27545ea0e8.png

03

CAN总线技术原理

CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且支持多主控制器。

当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。 64706818e862e070e7193baf1c2835e9.png CAN总线的软件报文 在上面这组报文中: 仲裁域,每组报文开头内容,前11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 在仲裁域的最后一位是远程传输请求位(RTR),代表信息帧是数据帧还是不包含任何数据的远地请求帧 控制域,前两位是保留位,作为扩展位,DLC表示一帧中数据字节的数目。 数据域,包含0~8字节的数据。 校验域,检验位错用的循环冗余校验域,共15位。 结束域,由七位隐性电平组成。 CAN总线是可靠性很高的总线,共有五种错误: CRC错误: 发送与接收的CRC值不同发生该错误; 格式错误: 帧格式不合法发生该错误; 应答错误: 发送节点在ACK阶段没有收到应答信息发生该错误; 位发送错误: 发送节点在发送信息时发现总线电平与发送电平不符发生该错误; 位填充错误: 通信线缆上违反通信规则时发生该错误。 当发生这五种错误之一时,发送节点或接受节点将发送错误帧。

04

CAN总线物理层

在节点终端的接口器件有三种形式,如下图:

81ffc7de804c17fd7f6b718ae3f3cdac.png

2960672cb14ee42c8d30fe13bbd73351.png CAN总线的终端电阻的接法如下: ad1a64d9a577b513df8f8f34e9e910b3.png

增加终端电阻的目的是为了增强CAN通讯的可靠性,消除CAN总线终端信号反射干扰。CAN总线网络最远的两个端点通常要加入终端匹配电阻,如上图。一般如果CAN总线使用的是在双绞线上运行,这时我们会增加120Ω的电阻,这是因为匹配电阻是由传输电缆的特性阻抗决定的。

05

常用CAN控制器与收发器

在开发板上CAN总线需要控制器和收发器,下图是常用的CAN总线接口电路:

a202c1f191f3eaaedbe02a8289e22561.png

SJA1000 是用的较多的独立CAN控制器,价格又很便宜,几十块钱。SJA1000可以和51单片机、STM32等组合快速搭建CAN总线网络。SJA1000通过并行总线与MCU连接,需要通过地址、数据、读写控制等多个线进行连接。 PCA82C250 收发器是CAN控制器的物理接口,可以给总线提供差动发送和接受信号。和SJA1000一样,都是采用5V供电。 没玩过CAN总线的小伙伴,可以自制或者淘宝购买2个带有单片机+控制器和收发器的开发板,两者之间一对一点对点通信,一块作为主控发送控制数据,另一块接受数据并执行操作,比如点个灯。如此简单,就试试吧! abe006a0d9111de2197af572669853d2.pngabe006a0d9111de2197af572669853d2.pngabe006a0d9111de2197af572669853d2.png福利来袭: 观看硬件工程师的自我修养小剧场参与活动抽奖了,立即参加:点击报名领奖品~~,也可识别下方二维码报名: 50243af350ac76360486890bd48fe14f.gif b3a5c1fe8ef5c2f39e2db5a087dd1155.png END b6ab44e198860adf2cea36202ea63621.png 工程师自我修养小剧场:第一集:硬件工程师模拟信号测试10个必杀技 推荐阅读: 项目分享  | 电赛系列 |  人工智能  |  考研   必考知识点  |  毕业设计  |  开关电源  |  求职 我们是妮mo,达尔闻创始人,只讲技术不撩汉的小姐姐。达尔闻在线教育平台旨在服务电子行业专业人士,提供技能培训视频,覆盖各细分领域热门话题,比如嵌入式,FPGA,人工智能等。并针对不同人群量身定制分层级学习内容,例如常用知识点,拆解评测,电赛/智能车/考研等,欢迎关注。 官网:www.darwinlearns.com B站:达尔闻 QQ群:群1:786258064(已满)           群2:1057755357 3edff18eaef78bc5953fa0b20f83a77c.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值