好文档 - 专业文书写作范文服务资料分享网站

基于STM32的RS232-CAN通信协议转换器设计

天下 分享 时间: 加入收藏 我要投稿 点赞

基于STM 32的RS232-CAN通信协议转换器设计

王英志1,杨 佳2,韩太林1

【摘 要】依据RS232接口和CAN总线的特点,设计了RS232接口与CAN总线的协议转换器。以集成串行接口和CAN总线控制器的STM32F103C8单片机为核心,设计转换器的硬件电路和软件程序,实现RS232和CAN总线通信协议的转换。本转换器具有通信隔离、防雷电等功能,具有体积小,成本低,便于实现,易于推广等特点,在应用中取得良好效果。 【期刊名称】制造业自动化 【年(卷),期】2013(000)014 【总页数】3

【关键词】协议转换;CAN总线;RS232;STM 32F103C8

0 引言

目前,RS232接口和CAN总线接口广泛应用于工业设备之间的通信。它们各有特点,应用在不同领域。RS232通信距离短,接口容易损坏。CAN总线具有多点通信、组网方便,传输距离远,通信实时性好,纠错能力强,成本低等特点,能更好地匹配和协调各个控制系统[1]。基于两种接口特点,本文介绍一种实现RS232接口设备与CAN总线设备进行通信的转换器,更好的解决用户在地域、通信网络、接口协议等方面的矛盾。

1 系统硬件设计

RS232-CAN通信协议转换器设计,主要是完成RS232与CAN总线之间的通信协议转换,实现数据的互联通信。在通信过程中,为了使系统具有通用性和稳定性,对供电电源、通信隔离、防雷电等方面进行了特殊设计。系统原理框

图如图1所示。 1.1 单片机选择

选用意法半导体公司ARM Co rtex?-M 3核的32位STM 32F103C8单片机,负责系统的整体运行。单片机特点为:最大时钟频率为72MHz,3个16位定时器,其内部集成CAN2.0控制器、USART接口和USB2.0全速接口等,调试模式为SWD和JATG接口。单片机的PA9和PA10引脚用来做串口数据的收发,PA11和PA12引脚用来做CAN数据的收发。 1.2 电源模块设计

电源模块设计框图如图2所示。选用LM 2574-ADJ实现输入交流或者直流的电压范围为3.5V-40V,产生5V电压,为隔离电源和ASM 1117-33供电。ASM 1117-33产生3.3V电压为单片机供电;隔离电源选用MORNSUM公司的IB0505LS-1W,产生5V隔离电压为CAN收发器ISO1050DUB副边供电。 1.3 CAN总线接口设计

单片机STM 32F103C8集成CAN2.0控制器。CAN收发器选择TI公司的ISO1050DUB,把CAN控制器的逻辑电平转换为CAN总线的差分电平。ISO1050DUB的主要特点为:具有2500-VRMS电气隔离;提供-27V到40V的总线故障保护,增强系统的抗干扰能力及可靠性;符合ISO11898标准,可以与其他ISO11898标准的CAN收发器互连。CAN总线接口电路设计如图3所示,与文献[2]和[3]相比较,该电路具有电路简单、PCB尺寸小、集成度高、放静电、抗雷电的隔离功能等优点。

在使用过程中,雷电可能对转换器中其他电子器件及数据的实时、可靠通信产生很大的影响[4]。因此参考浪拓电子技术有限公司生产的浪涌保护器件瞬态抑

制二极管NUP2105、气体放电管BA401N等,设计转换器的通信系统。NUP2105是一个双向瞬态电压抑制器,用来保护高速和容错CAN总线中的收发器免受EM I和ESD的影响。在图3中,BA401N、NUP2105吸收瞬态电压的能量,以避免损坏CAN收发器。NUP2105设计为双向配置,防止在长电缆系统中由于共模电压失调而对正常的数据线路信号造成钳位,NUP2105L的小电容适合用于数据传输速率高达1Mb it/s的系统,图中SMD014为自恢复保险丝。设计达到抑制ESD和EM I的行业标准,通过可靠接地,在雷电等恶劣环境下,起到很好的保护作用。 1.4 RS232接口设计

RS232协议用正负电压表示逻辑状态,与TTL以高低电平表示逻辑状态的规律不同。为了实现计算机接口或者终端为TTL器件连接,必须在RS232接口与TTL电路之间进行电平和逻辑关系的变换。本设计采用的RS232电平转换器为MAXIM公司的MAX3232,电路设计如图4所示。为了保证安全的通信隔离,MAX3232与CAN收发器ISO1050DUB的原边共用一个电源。

2 系统软件设计

程序是在KEIL公司Keil u Vision4环境下开发的,子程序包括:UART初始化,CAN初始化,软件FIFO初始化,UART串口接收中断服务程序,UART发送中断服务程序,CAN接收中断服务程序,CAN发送中断服务程序,参数设置、存储子程序,参数存储地址遍历程序等。主程序流程图如图5所示。

由于STM 32的UART没有缓存寄存器,而其CAN控制器在接收端有2个3级深度的FIFO、发送端有3个发送邮箱。UART是以字节为单位发送数据,CAN是以可配置的多字节(小于9个字节)组成的帧为发送单位。所以有必要

基于STM32的RS232-CAN通信协议转换器设计

基于STM32的RS232-CAN通信协议转换器设计王英志1,杨佳2,韩太林1【摘要】依据RS232接口和CAN总线的特点,设计了RS232接口与CAN总线的协议转换器。以集成串行接口和CAN总线控制器的STM32F103C8单片机为核心,设计转换器的硬件电路和软件程序,实现RS232和CAN总线通信协议的转换。本转换器具有
推荐度:
点击下载文档文档为doc格式
374xy4083c5s23r4b01m9s4tl8lgyq00e69
领取福利

微信扫码领取福利

微信扫码分享