CAN总线基础与模拟软件传输机构执行机构检测机构CANBUS计算机其他网络CAN控制器CAN控制器CAN控制器要关注的问题1,这个总线是怎么工作的?——它们共用一条通信线路。.2,它们传送的数据是什么样的?——帧格式3,它们共用一条通信线路,竞争怎么办?——优先、仲裁,谁最优先4,总线上传送的信息很多,某个控制器怎么接收自己需要的数据?——接收,过滤5,基础学习可以借肋一下模拟软件,在自己的计算机上不需要CAN的相关硬件设备,可以模拟出CAN总线的一些特性,有助于理解CAN的一些基本概念。第1个问题,CAN总线传输的数据——认识标准数据帧CAN四种帧类型:数据帧、远程帧、错误帧、超载帧;数据帧是实际中经常使用的。标准数据帧:扩展数据帧:数据帖主要有2种:标准帧和扩展帧(它们主要区别是ID号长度不同;IDE位不同标准帧IDE=0显性电平,扩展帧IDE=1隐性电平。)使用过程中要注意的有:ID,DLC,0~8bytes数据,IDE第2个问题,CAN总线优先级问题——逐位仲裁机制CAN总线上的设备(节点)是检测到总线空闲才发送的,节点每次发送的数据都很短,在极短的时间就能发送完成,这样数据不会碰撞,但当总线发送数据量很大的情况下,难免会有两个设备同时发送的情况。就靠ID的大小来解决。NodeB:00011101101(0xED)VSNodeA:00011101111(0xEF)举例说明两个ID同时发送,逐位仲裁的方法得出的结论,ID号小的能获得较高的优先级。通过这样做,既照顾了数据优先性,碰撞的概率也降到极低的程度第3个问题,CAN总线上节点对数据的选择接收——过滤机制过滤机制是靠设置接收的ID和屏蔽位共同完成的。,总线上的节点接收所有的数据。:设定要接收的ID号到节点的CAN控制器中,:要接收ID号为0x317的标准数据帧:对于标准帧,ID和MSK都是11位的,一个ID的bit就对应一个屏蔽的bit,屏蔽的某位为1就说明接收到的ID的那一位必须与设定ID那一位相同,如果不相同就不接收;而屏蔽位为0接收的ID那一位可以是(0或1)第3个问题,CAN总线上节点对数据的选择接收——:例如:要接ID号为0x310到0x317标准数据帧。01100010000b->0x31001100010001b->0x31101100010010b->0x31201100010011b->0x31301100010100b->0x31401100010101b->0x31501100010110b->0x31601100010110b->0x3171**********b屏蔽位第3个问题,CAN总线上节点对数据的选择接收——过滤机制一个实际的例子,配料系统(简装版)工作过程:1,监控计算机确定哪些配料控制器进行配料任务,发选中消息给主控制器,主控制器发送一条选中信息给所有的配料控制器,告知配料控制器哪些进行配料工作。2,主控制器按一定顺序发送启动信息,让配料控制器启动,配料控制器启动后发送一条启动成功的应答消息。3,配料控制器启动后开始称量物料,把物料的流量值周期性的发送给监控机。4,如果某个配料控制器出现故障,要发送报警信息。5,当系统要停止时,主控制器发送停止命令,让配料控制器停止工作,并应答。一个实际的例子,配料系统——CAN通信设计先对所有收发信息进行统计:这里介绍主控制器的信息和配料控制器的信息主控制器传送的信息有:发送:,所有控制器都接收,,针对某控制器来控制启动停止,优先级一般接收:,要能区分出是哪个控制器发的,,能区分出是哪个控制器,优先级一般配料控制器传送的信息有:发送:,各个控制器要有区分,,要能区分出是哪个控制发的,,能区分出是哪个控制器发的,优先级一般接收:,所有控制器都接收,,针对不同控制器,优先级一般
can总线基础与模拟软件 来自淘豆网m.daumloan.com转载请标明出处.