一种FlexRay-RS485通信网关及实现方法
技术领域
本发明涉及一种网络通信协议转换技术,特别涉及一种FlexRay-RS485通信网关及实现方法。
背景技术
在电力、石油、化工、冶金、钢铁、交通等各种行业,数据通信网络必不可少。现场各类信号通过数据采集系统连续采集和处理后,需要通过某种方式传送至上位监控系统。RS485接口技术是目前应用较为广泛的现场总线物理层通信技术,FlexRay高速总线作为新兴的通信技术,提供更快的通信速率、更大的带宽和更高的传输可靠性。
FlexRay是由BMW、Daimler、Motorola等公司开发的一种灵活且功能强大的网络通讯协议。FlexRay总线系统作为新一代总线技术,它的通讯机制特点表现在以下几个方面:
(1)带宽方面:FlexRay带宽不受协议机制的限制,可进行最快10Mbps速率的通信,当采用双通道冗余系统时,可达20Mbps的速率,远大于RS485总线的通信速率。
(2)可量测性:FlexRay可采用单、双通道两种模式,并可实现混合配置。
(3)灵活性:FlexRay可采用多种网络拓扑模式,包括从点对点到无源总线拓扑和有源星形拓扑。而物理层设备可选用电缆或光缆,同时其通讯数据包括静态段和动态段两种,FlexRay的帧ID是和时隙数对应的,也表示了发送方地址。以上都是FlexRay灵活的通讯机制的表现。
(4)确定性:FlexRay静态段严格采用基于时间触发的总线访问方式,而动态段可采用有限确定性的灵活时间触发的总线访问方式。
(5)安全性:FlexRay含有总线监控,它提供分布的时钟同步,同步过程包括对相位偏差和频率偏差纠正,还包括帧头和帧尾的CRC校验过程。
可见,FlexRay总线系统的容错能力和分时复用能力能够满足电子组件对更高的数据率、确定性的行为和高可靠性的要求,可以为主要的安全应用提供可靠而及时的信息。此外,FlexRay能够把所有系统连接在一起,作为一个整体而不是分散的多个系统工作,具有独特的性能优势。
发明内容
本发明针对FlexRay总线通信协议与RS485接口通信协议不能相互兼容的问题,提出了一种FlexRay-RS485通信网关及实现方法。网关能够通过FlexRay总线通信协议或RS485接口通信协议双向收发数据,实现了两种通信协议的转换功能,可通过RS232接口与上位监控计算机相连,向上传送现场数据。此通信网关可广泛用于汽车、电力、化工等工业控制领域。
本发明的技术方案为:一种FlexRay-RS485通信网关,包括FlexRay通信接口电路、RS485通信接口电路,还包括微控制器、RS232接口电路、BDM电路、电源电路、复位电路、LED显示电路以及键盘电路,FlexRay通信接口协议数据和RS485通信接口协议数据均进入微控制器,微控制器处理信号后输出通过FlexRay通信接口电路和RS485通信接口电路转发,同时也可以通过RS232接口电路将数据传送至上位监控计算机,由上位机做统一处理,电源电路给微控制器提供专门的电源,保证微控制器工作稳定,复位电路和键盘电路为操作输入给微控制器指令工作,LED显示电路为操作输出指示,BDM电路协助微控制器工作。
所述微控制器采用512kB片内FLASH,32kB片内RAM的16位高性能微控制器芯片MC9S12XF512。
所述微控制器可通过RS232接口与上位计算机机进行通信。
一种FlexRay-RS485通信网关实现方法,FlexRay-RS485通信网关,包括以下步骤:
1)通信网关主函数是程序首先执行的一个函数,实现硬件和软件的初始化;
2)通信网关由五个用户应用模块构成:系统调度模块、FlexRay收发模块、RS485收发模块、键盘输入模块和串口收发模块,所有模块均以中断方式实现,其中系统调度模块中断优先级最高,FlexRay收发模块和RS485收发模块的中断优先级次之,键盘输入模块和串口收发模块中断优先级最低;
3)系统每隔75ms对各个模块进行一次调度,根据优先级进行中断处理;
4)进入中断后根据判断指令执行任务后跳出中断等待调度。
本发明的有益效果在于:本发明FlexRay-RS485通信网关及实现方法,可广泛适用于汽车、电力、石油、化工、冶金、钢铁、交通等行业,解决了工业现场FlexRay通信协议与RS485接口的现场总线协议的转换问题,并可以通过RS232接口将数据传送到上位监控计算机,由上位机做统一处理后,用于设备参数监测及作为设备控制的依据。
附图说明
图1本发明FlexRay-RS485通信网关结构示意图;
图2本发明FlexRay-RS485通信网关功能任务图;
图3本发明FlexRay-RS485通信网关FlexRay接口及RS485接口电路示意图;
图4本发明FlexRay-RS485通信网关实现方法程序流程图;
图5本发明FlexRay-RS485通信网关实现方法中FlexRay收发程序流程图;
图6本发明FlexRay-RS485通信网关实现方法中RS485收发程序流程图。
具体实施方式
如图1所示FlexRay-RS485通信网关结构示意图,其硬件平台的微控制器1采用512kB片内FLASH,32kB片内RAM的16位微控制器MC9S12XF512,相应配备FlexRay通信接口6、RS485通信接口5、RS232接口4、BDM电路2、电源电路9、复位电路8、LED显示电路3以及键盘电路7。FlexRay协议数据和RS485协议数据均进入微控制器1,微控制器1处理信号后输出通过FlexRay接口电路6和RS485接口电路5转发,同时也可以通过RS232接口4将数据传送至上位监控计算机,由上位机做统一处理。电源电路9为微控制器1提供专门的电源,保证微控制器1工作稳定,复位电路8和键盘电路7为操作输入给微控制器1指令工作,LED显示电路3为操作输出,BDM电路2协助微控制器工作。
如图1所示,一方面,FlexRay-RS485通信网关通过RS485通信接口连接各类使用RS485接口的控制子系统。由于工业现场越来越多广泛采用RS485接口技术,所以一个兼容RS485标准的接口必不可少。另一方面,FlexRay-RS485通信网关通过FlexRay通信接口连接FlexRay通信控制器,而FlexRay通信控制器起到全系统的控制作用,这样可以构建一个FlexRay高速总线控制系统。除此之外,FlexRay-RS485通信网关还具备RS232接口,可以与上位监控计算机通信,上述这些通信接口使用的接口电路与通信协议是完全不同的,FlexRay-RS485通信网关起到了异构系统互联和通信协议转换的关键作用。
如图2所示系统功能任务图,系统采用中断来完成各模块的调度,简化了应用系统的设计,使整个系统结构简洁,使复杂的应用程序层次化。整个系统的软件设计多个用户应用模块构成,系统主函数是程序首先执行的一个函数,主要实现系统的硬件和软件初始化。为了完成系统实时的各种功能,本发明的应用程序根据各个任务的重要性和实时性,把程序分成五个具有不同的中断优先级,包括系统调度模块、FlexRay收发模块、RS485收发模块、键盘输入模块和串口收发模块。其中系统调度模块中断优先级最高,FlexRay收发模块、RS485收发模块中断优先级次之,键盘输入模块和串口收发模块中断优先级最低。高中断优先级的模块可以抢占低中断优先级的工作过程。在设计中,通过对延时参数的设置,系统每隔75ms对各模块进行一次调度。
如图3所示,本发明采用的MC9S12XF512微控制器集成了FlexRay控制器,因此只需采用TJA1080总线驱动器即可。MC9S12XF512与TJA1080之间的主要连接为信号收发线RxD和TxD、信号收发使能线RxEN和TxEN、芯片使能线EN以及其他功能线STBN。TJA1080的外围电路主要由使该芯片正常工作所需的电阻、电容等。
如图3所示,本发明采用了SP3485芯片作为RS485收发器。MC9S12XF512与SP3485之间的主要连接为信号收发线RO和DI以及信号收发使能线DE和/RE。SP3485通过引脚A和B连接到支持RS485接口的现场总线网络上。
如图4所示系统总程序流程图,首先完成系统初始化,设置系统初始参数。然后逐个判断是否进行FlexRay收发数据、是否进行RS485收发数据、是否进行RS232收发数据以及是否进行数据采集,最后判断调度计数器是否达到最大值,达到则清零,否则保持现有值。计数器累加后转到下一个系统调度周期。
如图5所示FlexRay收发程序流程图,根据响应的中断类别来决定是发送还是接收数据。发送数据时需要将数据格式转换为FlexRay协议格式,发送后需要确认是否正确发送。接收数据时需要将FlexRay协议格式转换为一般格式,并对数据进行验证。发送或接收完成后需要清除FlexRay中断,同时熄灭相应的LED灯来显示收发过程已经完成。
如图6所示RS485收发程序流程图,初始化完成后,根据响应的中断类别来决定是发送还是接收数据。发送数据时将数据转换为现场总线协议格式,发送后需要确认是否正确发送。接收数据后需要将现场总线协议格式转换为一般格式,并对数据进行验证。发送或接收完成后需要清除RS485中断,同时熄灭相应的LED灯来显示收发过程已经完成。