保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

CAN控制器SJA1000及其应用






RDID0 20 命令寄存器CMR 1 发 TXID0 10 RDID1 21 状态寄存器SR 2 送 TXID1 11 RXDATA1 22 中断寄存器IR 3 缓 TXDATA1 12 · · 接收代码寄存器ASR 4 冲 · · · · 接收屏蔽寄存器AMR 5 器 · · · · 位定时寄存器BTR0 6 T · · RXDATA9 29 位定时寄存器BTR1 7 X TXDATA8 19 时钟分频寄存器OCR 31 输出控制寄存器OCR 8 B    

4 CAN协议通信格式

CAN协议通信格式中有四种帧格式:数据帧、远程帧、出错帧和超载帧。其中数据帧和远程帧的发送需要在CPU控制下进行,而出错帧和超载帧的发送则是在错误发生或超载发生时自动进行的。因此人们更关心前两个帧的结构。数据帧结构如图2所示。
(凹丫丫范文网fanwen.oyaya.net收集整理)
    一个完整的数据帧格式,除仲裁场、控制场、数据场外都是CAN控制器发送数据时自动加上去的,而仲裁场、控制场、数据场则必须由CPU控制给出。用SJA1000时,写出发送缓冲器的TXID0、TXID1即设定了相应的仲裁场和控制场。TXID0即为仲裁场的高8位,TXID1的高3位为仲裁场的低3位,仲裁场共11位。TXID1的第5位为RTR位,即远程请求位,在数据帧中为“0”;TXID1低四位标示数据场所含字节数的多少,称为DLC。RTR与DLC共同构成控制场。发送的数据组成数据场,最多不超过8个字节。远程帧与数据帧的形式差别在于没有数据场。除此形式上的差别外,在远程帧中RTR位须置“1”,表示请求数据源节点向它的目的点(即发送远程帧的节点)发送数据。源节点接收到该帧后,把要发送数据用数据帧发给目的节点,完成数据请求。CRC场与ACK场都是在低层次上为提高传输的可靠性而自动进行的。任何帧与帧之间是帧间空间。

5 设计实例

5.1 整体设计思路

这里用SJA1000与AT89C51芯片设计一种具有通用性的工业测试控制,系统的结构图如图3所示。

CAN总线是一种多主总线,理论上任何一个节点都可以作为主节点。在本系统中设置与上位PC机相连的节点1和节点2为上位节点,其它节点为底层节点。在任务比较简单的系统中,也可以只设置一台上位PC机,PC机通过串口与节点上的CPU通信,CPU再与CAN控制器SJA1000通信,实现信息在CAN BUS上的发送与接收。节点1与节点2的结构相同,而底层节点根据应用的不同具有不同的功能。但它们都具有与CAN BUS通信的能力,上传数据和接收数据。

    5.2 电路原理图

节点1与节点2的原理图如图4所示。AT89C51通过MAX232与PC机串行通信。设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CAN BUS的数据经CAN接口芯片82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读取。读取的数据由RS232口上传送给PC机。

在本系统中其它节点不与PC机通信,此时AT89C51除与SJA1000相接的口线外还剩余口线,可以做其它用途。如用于数据的采集,则与A/D转换芯片相接即可;如与控制相关,则与控制口相接即可,这样一来可以灵活地构成各种系统。

5.3 软件设计 《CAN控制器SJA1000及其应用(第2页)》

本文链接地址:http://www.oyaya.net/fanwen/view/149062.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。