欢迎来到天天文库
浏览记录
ID:5994750
大小:317.86 KB
页数:5页
时间:2017-12-30
《can总线技术及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据CAN总线技术及其应用CANbustechnologyanditsapplication韩成浩L2,高晓红1HANCheng—ha01一.GAOXiao—hon91(1.吉林建筑工程学院电气与电子信息工程学院.长春130021;2.吉林大学机械科学与工程学院。长春130022)摘要:CAN总线技术是较实用的现场总线技术。文中分析了CAN总线控制器和驱动器的内部结构和工作原理,介绍了CAN总线技术在智能小区单元门禁控制系统设计中的应用,重点阐述了CAN总线的硬件电路设计和SUAl000总线控制器的初始化和接收、发送报文
2、的软件设计。关键词:CAN总线技术;仲裁机制;报文传输;SJAl000控制器中图分类号:TP211+.5文献标识码A文章编号:1009—0134(2010)02—0146—040引言1986年德国最大的工业企业之一RoberBosch公司首次提出了应用于汽车内各种传感器和执行器之间相互通信的CAN总线(ControllerAreaNetwork)技术以来,以其可靠性、实时性和灵活性强的特点,得到了诸多汽车开发商的青睐。本文介绍了CAN总线的通信协议,分析了CAN总线控制器SJAl000和驱动器PCA82C250的内部结构和工
3、作原理,主要阐述了CAN总线技术在智能小区门禁控制系统中的应用。1CAN总线的特点1.1CAN总线的位数值表示与通信距离CAN总线协议是建立在国际标准组织的开放系统OSI7层互连参考模型基础之上的。其模型结构只有3层,即只取OSI底层的物理层、数据链层和应用层,保证了节点间无差错的数据传输。CAN总线上用“显性”(Dominant)和“隐性”(Recessive)两个互补的逻辑值表示“0”和“1”。如图1所示,VCNA-H和VCAN.L为CAN总线收发器与总线之间的两接口引脚,信号是以两线之间的“差分”电压形式出现。在隐性状
4、态,VCNA—H和VCAN—L被固定在平均电压电平附近,Vdiff近似于0。显性位以大于最小阀值的差分电压表利11。CAN总线的通信距离最远可达]0Km(位速率为5kbps),通信速率最快可达1Mbps(此时最长通信距离为40m)。时间t图1CAN总线的位数值传输方式1.2报文传输CAN技术的报文传输为多主方式工作,网络上任意节点均可在任意时刻主动地向网络上其它节点发送信息,而不分主从。CAN节点只需通过对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式发送、接收数据。CAN总线的数据传输(报文传输)采用帧格式
5、。按帧格式的不同,分为含有11位标识符的标准帧和含有29位标识符的扩展帧。CAN总线的帧类型分为数据帧、远程帧、错误帧和过载帧。1.3仲裁(Arbitration)只要总线空闲,任何单元都可以开始发送报文。如果两个或两个以上节点同时开始传送报文,救麓日l:2009—07,22基金项目:建设部科研计划资助项目(2007.K9.34)作者简介:韩成浩(1972一),男,吉林raftl人,副教授,硕士,研究方向为信息采集和处理技术及智能控制。11461第32卷第2期2010—2万方数据那么就会有总线访问冲突。通过使用标识符的逐位仲
6、裁可以解决这个冲突。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧【2I。在仲裁期间,每一个发送器都对总线进行监测,如果发送和接收电平相同,则该节点可以继续发送报文。比如发送的是一“隐性”电平,而监视到的是一“显性”电平,那么这个节点就失去了仲裁,必须退出发送状态。2CAN总线控制器和驱动器2.1CAN总线控制器SJAl000的内部结构CAN总线控制器主要保证数据链路层和物理层的通信质量。SJAl000是一种独立的CAN总线控制器。SJAl000的内部结构如图2所示。控制总
7、线8位地Jht/数据总线接口管理逻辑报文缓冲器发送【缓冲器网l缓冲器l位流处理器验收滤波器内部总线位时序逻辑错误管理逻辑TXOTXlRX0RXl图2SJAIooo内部结构图各功能模块的作用如下:接口管理逻辑(IML)负责解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器(CPU)提供中断信息和状态信息。发送缓冲器(TXB)是CPU和位流处理器(BSP)之间的接口,负责存储发送到CAN总线上的一条完整的报文。发送缓冲器的长度为13个字节,由CPU写入、位流处理器读出。接收缓冲器(RXB、长度为13个字节)是验收滤波器和C
8、PU之间的接口,用来存储从CAN总线上接收并被确认的信息。作为接收FIFO(RXFIFO,长度为64字节)的一个窗口,接收缓冲器可被CPU访问。CPU在接收FIFO的支持下,可以在处理一条报文的同时接收其他报文。验收滤波器(ACF)将一条接收到的报文标识码与验收滤波器中的预设值相比较,以决
此文档下载收益归作者所有