- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN总线与RS232总线装换接口设计石河子大学
CAN总线与RS-232总线转换接口设计
肖志昂 孙庆中 李栓明
(石河子大学信息科学与技术学院 832003)
摘要:本系统通过51单片机控制SJA1000和MAX232实现RS-232与CAN总线的数据转换,实现数据在RS-232与CAN总线上透明传输。
关键字:CAN总线,RS-232,转换器
一、CAN总线简介
CAN,全称为“Controller Area Network”,是美国电子工业协会ElA(Electronic lndustry Association)制定的一种串行物理接口标准。CAN总线是一种串行数据通信协议,其最高波特率可达1MB/S,因此具有高的传输速率。它是一种有效支持分布式控制或实时控制的串行通信网络,基于CAN总线的分布式控制系统具有明显的优越性。其对通信数据块进行编码,可以多主方式工作,可在各节点之间实现自由通信;采用非破坏性仲裁技术,有效避免了总线冲突;采用短帧结构,数据传输时间短,受干扰的概率低,重新发送的时间短。
CAN总线通信具有以上优点,但是一般的通信设备不具有CAN总线接口,比较多的使用RS-232接口,如PC机,读卡器,因此用CAN总线组网时,需要进行总线数据的转换。下面从软硬件两方面分析。
二、硬件设计
图1 硬件设计框图
如图1所示,硬件系统主要由MCU、电平转换器MAX232、CAN总线控制器SJA1000和CAN总线驱动器PCA82C250组成。终端设备上的数据是以RS-232电平表示的,经MAX232转换为TTL电平接入MCU串行口,MCU将串行口上的数据发送给CAN总线,这就完成了RS-232到CAN的转换。
在硬件系统中,核心在于MCU与SJA1000的接口电路以及总线驱动器PCA82C250与SJA1000的电路设计。SJA1000作为一款独立的CAN总线控制器,其新增了一种PeliCAN操作模式,在本系统中采用PeliCAN模式,它支持很多新特性的CAN2.0B协议。硬件电路设计如图2所示。
图2 单片机与SJA1000接口电路
三、软件设计
RS-232和CAN总线的数据格式不同,RS-232总线数据格式一般由起始位、数据位、停止位、奇偶校验位等构成并且是单字符传送[1],而CAN总线上的报文格式是由1字节帧信息、2个或4个字节的标识码(标准帧2个字节扩展帧4个字节)和8个字节的数据构成,一次可以接受和发送多个字节[2]。要实现不同总线之间的通信就必须把数据转换成适合在相应总线上传输的格式。
程序部分由串口接收与发送、CAN总线数据的接收与发送组成。程序开始首先要根据具体需求对串口通信、SJA1000进行初始化,经过初始化后程序才开始正常工作。其主程序的流程图如下:
图3 主程序流程图
1、CAN初始化
SJA1000必须先给低电平复位,硬件复位后要先通过设置模式寄存器使其进入复位模式,然后对CAN控制器SJA1000进行初始化。初始化包括设置工作方式、接收滤波方式、接收屏蔽寄存器和接收代码寄存器、波特率参数和中断允许寄存器[3]。初始化设置完成后再通过设置模式寄存器使其进入工作模式开始工作。
2、RS-232和CAN报文的接受
本系统的RS-232和CAN总线的接收都采用中断方式,当有数据接收时,系统会发出中断信号,CPU收到中断信号后,在中断服务程序中进行数据接收,并将数据存入相应的接收缓冲区,并设置相应的接收数据指针和缓冲区数据长度。
3、CAN和RS-232报文的发送
在本系统中RS-232和CAN报文采用查询的方式发送,在主程序中不断查询相应缓冲敬的接收指针和发送指针是否相等,如果不相等即表示有数据要发送,把数据发送到相应的总线上,同时调整发送指针和数据长度,否则即表示没有数据要发送。
四、结论
本系统经过测试,可以实现数据的实时转换,并可以长时间稳定运行。
参考文献:
[1] 张刚毅.单片机微机原理及应用[M] .北京:高等教育出版社,2009 .
[2] 饶运涛 . 现场总线CAN原理与应用技术[M] .北京:北京航空航天大学出版社,2007.8.
[3] 赵杰 . CAN总线/RS232接口的设计[J].国外电子元器件,2008.6.
文档评论(0)