(25) -通信系统之CAN

+荐课 提问/讨论 评论 收藏
  • 本课程为精品课,您可以登录eeworld继续观看:
  • (25) -通信系统之CAN
  • 登录
接下来我们讲一下控制器局域网CAN通讯 C2000里面的大部分芯片都会标配有CAN通讯接口 除了[听不清]系列里面的F2802X 那么我们新的F28系列里面 CAN通讯 我们叫做e-CAN也就是增强型的控制器 CAN通讯本身是德国博世公司提供的 用于汽车的一种性能组件 经过不断发展 形成了现有的国际标准 ISO11898 CAN通讯属于现场通讯 属于总线的范畴 是一种有效的支持 分布式控制 或者实时控制的创新通讯网络 我们的C2000里面的CAN通讯接口是符合CAN2.0标准的 最高的传输速度达到1兆 CAN通讯最大的特点是废除了传统的地址编码 取而代之是对通讯的数据块 来编码 这个编码叫做标志符 每条报文在发送的时候 有不同截点 可以识别的标识符 它有两种功能 用于报文的过滤和优先级的确定 标识符决定了CAN模块是否接收已发送的报文 如果有两个负责多个截点 要同时发送数据的时候 标识符还决定报文的优先级 我们看CAN通讯 所有截点都是挂在一个总线上 总线采用双绞线的方式 就是两根线就可以了 因此它的导线少 实现的成本也会比较低 而且假如说 线上有多个数据 进行传输 或者说线上有错误发生的时候 我们有冗余的错误降沿机制保证我的通讯可靠性会更高 接下来我们看看CAN通讯的总线 CAN通讯使用两线制的插动总线 也就是我们常说的双绞线 CANH和CANL每个截点是挂接到这个总线上面 总线会带有两个120欧姆的配备电阻 MCU利用发送器与CAN 进行总线通讯 CAN的总线是双绞线 传输速率决定了总线的长度 如果总线的长度低于40米的时候 它的传输速率最高达到 1兆BPS 我们看看每个模块是怎么挂到这个总线上来的 每个C2000芯片 内部都含有一个CAN的控制器 假如需要跟总线相连的话 这边需要一个CAN的tranceiver 也就是它的电频转换的芯片 我们推荐用TI Sn65HVD23X 接下来我们看看CAN通讯的工作原理 如何发送数据 以及数据发生冲突时如何仲裁 我刚才说了 CAN通讯的数据发送 都是基于标识符的 而不是基于地址 这么做的好处是首先总线上的节点数量 是不受限制的 第二是每个节点都能收到数据 去判断 这样它的实时性会有较大的提高 报文的内容是网络中唯一的标识符标志 比如邮箱的标识符 表示总线上是一个温度传感器 还是位置传感器 这些不同的节点 而且网络上所有的节点 都会接收到这个报文 每个节点会对报文进行接收测试 如果该报文是跟本接收点或本邮箱相关的 那么可以对它进行接收 如果不相关 把信号忽略掉 而且标识符具有可以决定报文的优先级 这样一个功能 当多个节点发送数据时 这些标识符决定某个报文享有的优先级的高低 我们看看这个无损按位中拆的机制 仲裁的主要原则是哪个节点的数字位越小 也就是它的标识符的数字越小 它的优先级越高 比如 在CAN的通信总线上 ABC同时在发送数据 我们看看它是如何仲裁的 首先 行驶完后 我在第一个时钟信号来判断 这个地方我们看到 B总线在下一个[听不清]是一个高电平 因此B在这个第一个时钟上升沿的时候 能取得总线的控制权 总线只保留了A和C A和C现在还是低电平 我们看下一个时钟的上升沿的时候 我们看到A继续保持低电平 C跳转到了高电平 所以C丢失了总线的控制权 A获得了总线控制权 我们可以看到 这时候总线的信号跟A是完全一样的 这样的话 A总线获得了控制权 A总线继续发送数据 B和C这个节点 失去了总线的控制权 在BC的控制区里面 它会产生相应的警报 来告诉节点 控制器已经丢失了控制权 在下个时刻重新发送 我们看看CAN通讯的数据类型 和结构 CAN的报文格式 每个报文里面最主要的是数据位 每个报文都含有0到8个字节的数据 前面就是我们说到的标识符 它分为两种 一种是标准的结构显示 是11位的标识符 还有一种扩展的标识符 在原来的11位的基础上 加上18位的标识符 我们看2.0的通讯 它是都支持这两种数据格式的 这个图中可以看到 这是我们2837X里面 CAN通讯的内部的结构框图 MCU的CAN通讯模块是一个全功能的 CAN控制器 包含一个报文处理器 一个可控制数据发送和管理 可以存储数据的帧 模块采用CAN2.0 Bactive的规划 也就是模块可以接受和发送标准的帧 也就是11位的帧 和扩展的29位的标识符的帧 CAN控制器模块包含32个邮箱 这个邮箱用来存放数据长度 也就是每个报文接受的0到8个字节的数据长度 都是把数据存放到这个邮箱里面来的 这32个邮箱可以自由分配成接收邮箱或者发送邮箱 并且可以把它配置为标准的帧 接受标准的帧还是扩展的帧 CAN邮箱模块主要分为几个部分 一个是MID 也就是包含邮箱的标识符 我总线发送过来的数据 具体放到哪个邮箱里面 就是靠这个MID的标识符 判断是否接收或者把数据存放在邮箱里面 除了MID 邮箱还有报文的控制域符 MED 和MDH的两个数据存放的高低字节 CAN模块包含多个寄存器 它们分为五个组 分别存储在0X006 00 和0X0061F的数据存储器中 那五个标识符主要是控制和状态寄存器 还有本地接收的[听不清]mask码 还有我们报文的时间钟 还有对象等等 那我们最后总结一下 CAN通讯的话 主要有几个特点 首先它符合CAN2.0的通讯规范的 它支持高达1兆的BPS 也就是要求它的总线长度是少于40米的 还有它含有32个邮箱 这些邮箱可以配置成接受或发送 也可以配置成接收标准 或拓展的标识符 等等 而且在我们的2837X里面 我们的CAN通讯还有一个非常重要的功能 就是self test 自检模式 这个自检又分为好几个模式 自检模式 它的主要功能是 在我程序开发的时候 来判断我的CAN通讯的功能是否正常 好的
课程介绍 共计28课时,4小时27分22秒

C2837x入门指南

TI C2000 MCU PWM F2837xD ADC DAC DMA CLA C2837x CMP SDFM CAP QEP c28x

F2837x系列的最新 C2000™ Delfino™ 32 位 F2837xD 微控制器 (MCU),为工业实时控制实现最新创新,并设定了全新性能标准。这些最新 MCU 支持双核 C28x 处理功能与双实时控制加速器(也称为控制律加速器或 CLA),可提供 800 MIPS 浮点性能,从而可帮助设计人员为计算要求严格的控制应用开发低时延系统。此外,设计人员还可通过将多个嵌入式处理器整合在单个 MCU 中以降低复杂性,充分满足高级伺服驱动器、太阳能中央逆变器以及工业不间断电源 (UPS) 等需要实时信号分析的应用需求。

推荐帖子

CCS5.5 如何实时修改全局变量的值
如题,我们这边有人用CCS3.3,在debug的时候将变量加入Watch Window就可以实时查看并且修改变量的值,不用停止和重新编译。 但是我的这个项目目前用的是CCS5.5,在debug的过程中可以将全局变量加入Expression窗口实时观测刷新,但是似乎直接修改没有反应。 请问CCS5.5有实现实时修改全局变量的方法吗? ...
dik2141 DSP 与 ARM 处理器
TI MCU 研讨会 2012年3月20日(星期二)广州
  为了让您更好的了解MCU设计的解决方案、工具、技巧和实例,安富利科汇在广州承办为期一天的 TI MCU技术研讨会。德州仪器公司的多位MCU专家亲临现场做技术分享,您将获得应用中技术难题的宝贵建议。届时,我们将在现场展示最新的TI MCU 技术,发表诸多基于 TI MCU技术所开发的应用, 内容涉及实际高效能设计方案, 开发套件以及设计实例分享。良机难得,切勿错过...
zglgoon TI技术论坛
一种基于PWM的电压输出DAC电路设计
本帖最后由 dontium 于 2015-1-23 11:38 编辑 一种基于PWM的电压输出DAC电路设计一种基于PWM的电压输出DAC电路设计一种基于PWM的电压输出DAC电路设计 ...
219219 模拟与混合信号
降低电感磁芯损耗的方法
    大家都知道电感磁芯是很多电子产品中都会用于到的一种产品,例如手机、MP3、MP4、电脑、转换器、变压器及LED电视显示屏等等。而且大家应该也知道,电子产品在使用的过程中都产生一定的损耗,而电感磁芯也不例外。但是,如果当电感磁芯的损耗过大的话,会导致电感磁芯的使用寿命的减少,严重的话还会影响到应用电感磁芯的产品的正常运行。那么我们应该如何降低电感磁芯的损耗呢? ...
qwqwqw2088 模拟与混合信号

luck_gfb

电机驱动的软件还是很复杂的。也就是说 你用我们的技术 你不需要做很多的操作调整 重新标定啊等等这些工作 只需要将我们的板子连接到电机 在10分钟内 可以让我们的电机转起来 而且这是无传感的技术 InstaSPIN TM motion是有传感的 会带给编码器的 我们会将速度网和[听不清]结合成一个环路 用IDC控制起来做 它的性能比较高端 而且只需要调整一个参数就可以了。

2020年09月02日 17:07:38

hawkier

哈哈哈,学完这章要点时间啊

2019年11月21日 16:12:10

大明58

学习C2837x入门指南

2019年08月22日 12:32:36

zhangleiat185

好好学习天天向上。。

2019年07月12日 16:34:47

hellokt43

好好学习天天向上。。

2019年06月09日 11:05:30

dingxilindy

学习C2000开发所需软件工具

2019年05月16日 14:51:31

zx1988ZX

终于看完了,不错的!

2019年04月25日 06:53:06

wudianjun2001

不错的视频资料。。。。。。

2019年03月04日 10:15:26

59477cq

学习了

2019年01月21日 20:28:50

凤凰息梧桐

学习一下

2019年01月21日 17:28:12

分享到X
微博
QQ
QQ空间
微信

EEWorld订阅号

EEWorld服务号

汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved