CAN-RS232通信转换模块的设计与实现

出处:stycx 发布于:2007-05-24 16:16:25

1 引言

RS232作为标准的计算机串行接口已被广泛使用,与此同时,随着现场总线技术的飞速发展,具有实时性好、可靠性高、结构简单等优点的CAN总线在测控系统中也越来越多地被采用,但由于两者的总线结构、通信协议及传输特点各不相同,因而给不同设备之间的连接带来诸多不便。因此,如何以简单的方式实现CAN节点与RS232串行口的通信就成为工程实践中一个不可回避的问题。

本文采用典型的不具备CAN通信能力的AT89C51单片机作为微处理器,设计了一个简单、实用的通信转换模块。该通信转换模块具有体积小、结构简单、通用性好、使用方便等特点。

2 工作原理

CAN-RS232通信转换模块通过硬件电路的电平标准转换和软件编程的通信协议转换实现相关功能。

2.1 电平标准转换

RS232采用的不是TTL电平的接口标准,而是负逻辑,即逻辑"1"为-3 V~-15 V;逻辑"0"为+3 V~+15 V;而CAN总线是采用"显性"和"隐性"两个互补的逻辑值表示"0"和"1",其信号是以两线之间的"差分"电压形式出现的。这样导致两总线之间的信号电压不匹配。无法直接进行正常的通信,因此,需要相应的硬件接口电路实现电平标准转换。

2.2 通信协议转换

RS232通信属于异步串行通信。一般为两点传输,其每帧的数据格式通常为:起始位+数据位+奇偶校验位(可省略)+停止位;每个数据包的格式通常为:数据包头+数据字节+校验和(溢出不计)。而CAN通信属于总线通信,可以同时存在多个节点,因此通信协议相对也比较复杂,这里以标准帧传输为例,其数据格式通常如表1所列。因此,需要软件处理实现通信协议的转换。

3 硬件设计

模块采用Atmel公司生产的AT89C51型单片机作为微处理器,采用SJA1000和TJA1050分别作为CAN控制器和驱动器,采用MAX202E作为RS232串行接口驱动器,其硬件连接电路图如图1所示。

AF89C51采用外接晶体振荡器提供时钟输入,通过并行地址/数据复用的方式访问CAN控制器SJA1000,P2.0引脚作为片选端口;SJA1000作为CAN控制器,也采用单独的外部时钟输入,由于集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的帧处理,其地址为0x00~0xFF;TJA1050作为CAN控制器和物理总线之间的接口,采用高速工作模式,用于提供总线的差动发送能力和CAN控制器差动接收能力;MAX202E用于实现RS232电平到微控制器接口电路的TTL电平转换。

4 软件设计

模块的软件设计主要包括RS232通信程序和CAN通信程序两部分,采用中断方式。其中,RS232通信数据传输的波特率为115 200 bit/s,数据格式为1位起始位、8位数据位、1位停止位;CAN总线的传输波特率为500 kbit/s,采用PeliCAN模式的标准数据帧格式,每条报文的标识符ID为11位,有效数据为0~8个字节。其软件流程如图2所示。

在RS232中断程序中,微处理器对接收的串口数据进行处理后提取出数据字节,通过增加帧结构信息、帧类型、字节长度和标识符等生成CAN报文格式,然后由CAN控制器的发送缓冲区发送出去;在CAN中断程序中,微处理器对接收的有效CAN报文进行解析,提取出字节长度和字节内容,通过增加数据头、数据尾和校验和转换为RS232通信格式,完成数据传输。

5 结束语

该设计已应用于笔者开发的项目一某型低空红外预警系统。用CAN-RS232通信转换模块将CAN总线收到的角度传感器测出的空中目标方位角和高低角(10 ms一组测角、波特率为500 kbit/s)实时转换为RS232(波特率为115 200 bit/s)串行口数据,使主控计算机(PC104工控机)接收、处理和显示;同时将RS232输出的主控计算机命令转换为CAN总线数据。经实践证明,该模块工作稳定、可靠,且成本低,完够满足系统的指标要求,取得了良好的应用效果。


  
关键词:CAN-RS232通信转换模块的设计与实现AT89C51SJA1000TJA1050MAX202EATMELRS232PC104

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

基于AT89C51的智能热水器proteus仿真
广告
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!