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通信转换模块的设计与实现
推荐阅读最新更新时间:2024-03-30 21:23
窄带遥控信号的波形转换与电路实现
遥感遥测技术可利用多种手段实现,比如用可见光、红外、微波等各类传感器,通过数据采集、传输和处理,接受地面、水面等各种物体表面发射和反射的信号,识别物表相关数据和所需信息。以遥感遥测为主的相关技术在我国矿产、林业、农业、水利等部门已有大量应用,为国家社会经济发展做出了巨大贡献。 由于传输距离和气候等多种原因,遥测信号到达设备之后,其电压值大小需要转换成所需范围,才能配合下级电路正常工作。这种转换电路大多采用多级运算放大器组合实现。运算放大器具有很高的放大倍数,可以实现数学运算,将输入的电流、电压参数,经过相应的电路,转换为需要的信号。它的品种繁多,如高速差分放大器、低噪声放大器、高速轨到轨放大器等,并且依据应用的深入,
[电源管理]
为什么不适宜用大量程测量小信号
为增大仪器可测量的范围(动态范围),绝大多数测量仪器都会设置多个量程,以满足不同情况下测量不同大小信号的需求。当使用大量程测试小信号时会有什么结果呢?很多人回答会造成误差增大,但往往说不上来原因,今天我们将会带大家深入讨论一下这样使用带来的影响和原因。 许多人认为大量程可测量的范围很大,大小信号都可以兼顾,因此在很多情况下都优先选择较大的量程进行测量,或者不注意选择,直接默认设置,如此使用时,仪器测量的值依然能正常显示,看起来数值也似乎还算准确。那到底这样使用有什么问题呢,下面以一台功率分析仪来举例。 精度算法解密 图1 所示是致远电子PA8000和PA5000功率分析仪5A功率板卡的测量精度,我们以此为例。在给出的精度值
[测试测量]
液位传感器的信号调理电路设计
在变送器 的开发应用中,常常会遇到所需的变送器的输出与已有的变送器的输出不同,或用户已有的变送器的输出不能满足新的需求,这就需要改变变送器原来的输出。为了 满足多种客户的需求,就需有多种输出的变送器。例如:作为二型表,标准输出多为0~10mA, 或0~10V,而目前应用的三型表,却是4~20mA或1~5V的,它们之间如何变换,是我们必须解决的问题。 1 变送器信号调理电路的设计 1.1 温度漂移的处理 ---传感器的温度漂移可分为零点温度漂移和灵敏度温度漂移。零点温漂即传感器不受压时的输出由温度变化引起的漂移,在传感器的应用中,经常用恒流供电,零点及其温漂的补偿方法可用电阻串并联法,采用图1所示
[工业控制]
对敏感型电子信号输入实施过压保护的可靠新方法
对电子系统可靠性的高要求,特别是在工业环境中,不断给开发人员带来巨大的挑战。过压保护是一个关键的设计考量因素和挑战,因为要保护系统不受过压影响通常需要用到更多部件,但是这些附加部件经常会对系统产生影响,在最坏的情况下,甚至会产生错误信号。除此之外,这些部件会额外增加成本,还会进一步加重空间限制问题。因此,在设计保护电路时,传统的解决方案往往需要在系统精度和保护等级之间做出妥协。 通常,常见的简单设计方法是使用外部保护二极管,通常是瞬态电压抑制器(TVS)二极管,安装在信号线和电源线或接地线之间。TVS二极管相当有用,因为他们可以快速对瞬态的电压峰值作出反应。图1左侧所示的就是这种类型的外部过压保护。 图1.
[电源管理]
基于LabVIEW的相关滤波器的设计
1 引言 在目前的测试领域中,越来越广泛地利用相关检测的方法进行滤波。利用相关滤波可以方便地从复杂的待测信号(包括有用信号、直流偏置、随机噪声和谐波频率成分等)中分离出某一特定频率的信号。在数字技术迅速发展以后,相关滤波也经常利用A/D板对信号采样后,在计算机中实现,成为数字滤波的一种形式。本文设计了一种实现相关滤波的方法,这是相关分析在测试技术中的一个典型应用。图l所示为相关滤波器的典型框图。 Labview是美国国家仪器公司推出的一种基于“图形”方式的集成化程序开发环境,是目前国际上惟一的编译型图形化编程语言。在以PC机为基础的测量和工控软件中,Labview的市场普及率仅次于C++/C语言。Labview开发环
[测试测量]
如何利用DMX-512协议实现测试仪控制器的设计
通过DMX-512协议进行测试和灯光显示的控制工具,非常适合对固定或临时照明装置进行快速测试。该项目源于需要有一个用于快速测试照明装置的便携式系统,而无需在外部、敌对或难以访问的环境中安装照明控制台、接口或计算机。 硬件 4x20 LCD 背光和对比度由软件控制 USB、电池或外接电源供电 导航键盘 4x4 键盘 模拟控制电位器 开关机(不适用于USB电源) 来自接线端子、XLR 3 针和 5 针 XLR 的 DMX 输出 输出状态 LED DMX Proteus V7.7 SP2 中的模拟 Proteus v8.0 SP1 中的原理图和 PCB 示意图 印刷电路板 仿真器 使用酚醛板,加强铜砂纸水,循环变薄
[测试测量]
基于AD9851信号发生器的设计
0 引言 直接数字合成(Direct Digital Synthesis—DDS)是近年来新的电子技术。单片集成的DDS产品是一种可代替锁相环的快速频率合成器件。DDS是产生高精度、快速变换频率、输出波形失真小的优先选用技术。DDS以稳定度高的参考时钟为参考源,通过精密的相位累加器和数字信号处理,通过高速D/A变换器产生所需的数字波形(通常是正弦波形),这个数字波经过一个模拟滤波器后,得到最终的模拟信号波形。 DDS系统一个显著的特点就是在数字处理器的控制下能够精确而快速地处理频率和相位。除此之外,DDS的固有特性还包括:相当好的频率和相位分辨率(频率的可控范围达μHz级,相位控制小于0.09°),能够进行快速的信号变换(输出D
[单片机]
绝对值编码器:输出信号与误差分析
在机械控制系统中,绝对值编码器是很常见的一种位置反馈装置。它可以将旋转或线性运动的位置信息转换为数字信号,用以控制系统的闭环控制。下面我们就介绍绝对值编码器的输出信号类型、误差来源以及解决方案。 一、输出信号类型 绝对值编码器的输出信号有两种类型:平行位移型和旋转型。平行位移型输出二进制代码,每一个代码意味着一个位置;旋转型也可通过多圆盘设计完成多级二进制编码,可以表示更高精度的位置信息。 1、平行位移型:绝对值编码器一般由光电传感器阵列和逻辑电路构成。当物体相对于传感器阵列发生位移时,逻辑电路会把传感器所接收到的光电信号转换为二进制代码,并输出给控制系统。这类编码方式具备简单、可靠、精度高等优点,但受限于传感器阵列数量和
[嵌入式]