控制器区域网路(Controller Area Network can)( 二 )


控制器区域网路(Controller Area Network can)

文章插图
图1 CAN汇流排的位数值传输方式报文传输CAN技术的报文传输为多主方式工作,网路上任意节点均可在任意时刻主动地向网路上其它节点 传送信息,而不分主从 。CAN节点只需通过对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送、接收数据 。CAN汇流排的数据传输(报文传输)採用帧格式 。按帧格式的不同,分为含有11位标识符的标準帧和含有29位标识符的扩展帧 。CAN汇流排的帧类型分为 数据帧、远程帧、错误帧和过载帧 。仲裁(Arbitration)只要汇流排空闲,任何单元都可以开始传送报文 。如果两个或两个以上节点同时开始传送报文,那幺就会有汇流排访问冲突 。通过使用标识符的逐位仲裁可以解决这个冲突 。仲裁的机制确保了报文和时间均不损失 。当具有相同标识符的数据帧和远程帧同时传送时,数据帧优先于远程帧 。在仲裁期间,每一个传送器都对汇流排进行监测,如果传送和接收电平相同,则该节点可以继续传送报文 。比如传送的是一“隐性”电平,而监视到的是一“显性”电平,那幺这个节点就失去了仲裁,必须退出传送状态 。综上所述,CAN 汇流排的主要特点有:( 1) CAN 为多主工作方式 ,网路上的任意节点在任意时刻都可以主动地向其他节点传送信息 ,不分主从 ,方式灵活 。( 2) CAN 网路节点可以安排优先权顺序 ,以满足和协调各自不同的实时性要求 。( 3) 採用非破坏性的汇流排仲裁技术 ,多点同时传送信息时 ,按优先权顺序通信 ,节省汇流排冲突仲裁时间 ,避免网路瘫痪 。( 4) 可以进行点对点、一点对多点和全域广播方式传递信息 。( 5) 通信速率最高可达 1M bps( 40m以内 ) ,最长传递距离达 10km(速率为 5kbps以下 ) 。( 6) 网路节点目前可达 110个 ,报文标誌符 2 032种 ( CAN2. 0A) ,扩展标準 ( CAN2. 0B)中报文标誌符几乎不受限制 。( 7) 短帧数据结构 ,传输时间短 ,抗干扰能力强 ,检错效果好 。( 8) 通信介质可以用双绞线、同轴电缆或光纤 。( 9) 网路节点在错误严重的情况下可以自动关闭输出功能 ,脱离网路 。( 10) 实现了标準化、规範化 (国际标準 ISO11898) 。CAN 汇流排控制器和驱动器CAN 汇流排控制器 SJA1000 的内部结构CAN汇流排控制器主要保证数据链路层和物理层的通信质量 。SJA1000是一种独立的CAN汇流排控制器 。SJA1000 的内部结构如图 2 所示 。
控制器区域网路(Controller Area Network can)

文章插图
图2 SJA1000内部结构图接口管理逻辑(IML)负责解释来自CPU的命令,控制 CAN 暂存器的定址,向主控制器(CPU)提供中断信息和状态信息 。传送缓冲器(TXB)是CPU 和位流处理器(BSP)之间的接口,负责存储传送到CAN汇流排上的一条完整的报文 。传送缓冲器的长度为13个位元组,由CPU写入、位流处理器读出 。接收缓冲器(RXB、长度为13个位元组)是验收滤波器和 CPU 之间的接口,用来存储从 CAN 汇流排上接收并被确认的信息 。作为接收FIFO(RXFIFO,长度为64位元组)的一个视窗,接收缓冲器可被CPU访问 。CPU在接收FIFO的支持下,可以在处理一条报文的同时接收其他报文 。验收滤波器(ACF)将一条接收到的报文标识码与验收滤波器中的预设值相比较,以决定是否接收这条报文 。在纯粹的接收测试中,所有的报文都保存在接收FIFO中,但只有验收滤波通过且无差错的报文,才能被保存在接收缓冲器中 。位流处理器(BSP)是一个控制传送缓冲器、接收FIFO和CAN汇流排之间数据流的程式装置 。它还执行汇流排上的错误检测、仲载、汇流排填充和错误处理 。位时序逻辑(BTL)监视串列的CAN汇流排和位时序 。它在信息开头“弱势支配”的汇流排传输时,同步 CAN汇流排位流(硬同步),接收报文时再次同步下一次传送(软同步) 。错误管理逻辑(EML)负责限制传输层模组的错误 。它接收来自位流处理器的出错报告,然后把有关错误统计告诉位流处理器和接口管理逻辑(IML) 。CAN 汇流排驱动器 PCA82C250汇流排驱动器PCA82C250 是 CAN 控制器与物理汇流排之间的接口 。该器件对汇流排提供了差动传送能力,同时对CAN控制器提供了差动接收能力 。它可以用高达1Mbps的位速率在两条有差动电压的汇流排上传输数据,汇流排可连线 110 个节点 。汇流排驱动器PCA82C250 的功能参如图 3 所示 。