RJ45网络与CAN总线的透明传输设计
RJ45 Network and CAN Bus Transparent Transmission Design
DOI: 10.12677/JSTA.2022.101003, PDF, HTML, XML, 下载: 331  浏览: 976 
作者: 熊意生:成都理工大学,四川 成都
关键词: RJ45网络CAN总线上位机传输速率RJ45 Network CAN Bus Upper Computer Transmission Rate
摘要: 为了解决核辐射应用场景里数字脉冲幅度分析模块在使用过程中CAN总线数据传输速率低的问题,设计了一款RJ45网络与CAN总线的透明传输模块。详细介绍了传输模块的硬件和软件设计,并通过基于QT平台开发的上位机软件进行实际测量,实现了能谱数据滤波显示。实验表明,RJ45网络与CAN总线的透明传输模块实现了两种不同通讯方式的跨接,保证了数据的可靠性,提高了数字脉冲幅度分析仪的传输速率。
Abstract: In order to solve the problem of low CAN bus data transmission rate dur-ing the use of the digital pulse amplitude analysis module in nuclear radiation application scenari-os, a transparent transmission module of RJ45 network and CAN bus was designed. The hardware and software design of the transmission module are introduced in detail, and the actual measure-ment is carried out through the upper computer software developed based on the QT platform, and the energy spectrum data is filtered and displayed. Experiments show that the transparent trans-mission module of the RJ45 network and the CAN bus realizes the bridging of two different commu-nication methods, which ensures the reliability of the data and improves the transmission rate of the digital pulse amplitude analyzer.
文章引用:熊意生. RJ45网络与CAN总线的透明传输设计[J]. 传感器技术与应用, 2022, 10(1): 16-23. https://doi.org/10.12677/JSTA.2022.101003

1. 引言

数字脉冲幅度分析模块是射线和能谱测量系统的关键部件。数字脉冲幅度分析模块在使用的过程中,需要将能谱数据通过总线方式向外输出,CAN总线作为是首选项,CAN总线是一种有效支持分布式控制或实时控制的串行通信网络,可靠性高,能够在应用于有较强辐射的恶劣工业控制环境中,但在某些特定的应用场景中,CAN总线通信距离小于40 m时传输速率最大只能达到1 Mbps,在多设备数据传输时传输速率低,无法实现多数据量长距离通信 [1]。随着工业3.0技术逐渐推进和完善,RJ45网络技术快速发展,将设备采集的数据进行高速传输以实现用户对设备进行实时的远程监控和管理,该技术已在通信、医疗、军事、工业等领域广泛应用 [2]。RJ45网络具有在采集数据过程传输过程中安全、稳定、可靠、高速的特点,因此考虑设计RJ45网络与CAN总线的透明传输模块,提高数据传输速率。

2. 总体方案设计

本次设计的RJ45网络与CAN总线的透明传输模块,利用RJ45网络与CAN总线数据通信原理。选择合适的网络层协议,设计出一种基于STM32微控制器的CAN总线双向透明传输的硬件设计与底层软件设计。选择基于Windows系统的开发平台通过RJ45转CAN总线转接模块实现对项目组现有数字脉冲幅度分析模块的控制和数据获取,实现项目中数字脉冲幅度分析模块和远端PC的通信,并实现在上位机上实现能谱的显示。系统设计的总体框图如图1所示。系统的主要有三部分组成:数字脉冲幅度分析模块,CAN转以太网透明传输模块,及终端计算机系统(即上位机部分)。数字脉冲幅度分析模块是一个前端探测器,包括闪烁晶体、光电倍增管、前置放大电路、高压模块、数字多道测量模块,电源管理模块,锂电池。已经实现核信号脉冲的滤波、成型与多道计数,并将谱数据进行打包通过CAN总线就可以进行数据传输 [3];CAN转以太网透明传输模块由STM32最小系统电路,网口芯片电路,CAN通信芯片电路与RJ45接口电路组成,该模块实现了单片机通过CAN总线对数字脉冲幅度分析模块的数据进行提取,利用STM32对数据整合并进行打包再通过以太网发到上位机 [4];终端计算机系统利用软件开发平台QT来研发一个人机交互界面,可以实现数据的解析,并实时显示在界面上。

Figure 1. The block diagram of system design

图1. 系统设计框图

3. 硬件设计

透传模块由主控电路、电源电路、CAN收发器电路和RJ45网口电路组成,主控电路的控制器为意法半导体的STM32F407VGT6。

3.1. 电源电路设计

本设计的电源输入采用的是24 V的电源输入,CAN收发器的工作电压是5 V,由于24 V到5 V的压差比较大,考虑线性稳压电源的工作效率低且易发热的特点,使用开关稳压芯片F2405XT把24 V降到5 V,给CAN收发器供电,再通过线性稳压芯片XC6206把5 V再降压到3.3 V,给网口芯片及控制器STM32F407供电。如图2图3所示。

Figure 2. 5 V voltage stabilization based on F2405XT

图2. 基于F2405XT的5 V稳压

Figure 3. 3.3 V voltage regulation based on XC6206

图3. 基于XC6206的3.3 V稳压

3.2. CAN总线收发器硬件设计

ISO1050是一种电流隔离的CAN收发器,与隔离电源配合使用,可防止数据总线或其他电路上的噪声电流进入本地接地,从而干扰或损坏敏感电路,可为总线提供差分传输和接收能力。电路中在ISO1050收发器后加上稳压二极管和保险丝,可有效减少外部线缆产生的噪声干扰,保证数据的传输稳定性。如图4所示。

Figure 4. CAN transceiver circuit

图4. CAN收发器电路

3.3. RJ45网口电路的设计

RJ45网口电路选择DP8384网口芯片实现以太网的物理层收发,DP8384支持RMII和MII两种接口,操作更为灵活。电路中采用RMII接口以减少主控制器的管脚使用数量,参考DP8384数据手册的典型设计及功能设计出原理图,如图5所示。为保证电路稳定性和程序编写的便利性,DP8384网口芯片使用外部时钟提供50M时钟信号输入。晶振电路电源端添加π型滤波电路及小电容来提供低噪声的电源输入,保证时钟的输出的稳定性。如图6所示。

Figure 5. Network port circuit

图5. 网口电路

Figure 6. Network port clock circuit

图6. 网口时钟电路

4. 软件设计

4.1. 下位机

硬件程序设计将单片机利用Lwip协议,将CAN总线接收到的数据直接打包发给上位机。在Lwip协议里面,由于TCP协议的可靠性比UDP协议要高,故选择TCP协议 [5]。在本次设计中使用API在独立模式下开发,操作模型基于连续软件轮询以检查是否接收到数据包。收到数据包后,首先将其从以太网驱动程序缓冲区复制到Lwip缓冲区。为了尽可能快地复制数据包,应该从缓冲池(PBUF_POOL)中分配Lwip缓冲区(pbufs)。当数据包被复制后,它将被传递给Lwip堆栈进行处理。Lwip使用事件回调函数与应用程序层通信。

对于TCP应用程序,必须分配以下常见回调函数:传入TCP连接事件的回调,由TCP_accept API调用分配;传入TCP数据包事件的回调,由TCP_recev API调用分配;用于发送成功数据传输的回调,由TCP_sent API调用;用于发送TCP错误的回调(在TCP中止事件之后),由TCP_err API调用分配;用于轮询应用程序的定期回调(每1或2秒),由TCP_poll API调用分配 [6]。

在主控制器里完成CAN总线控制器和TCP协议的配置,通过TCP协议里接收的数据进行解包,得到关键命令字符,根据关键命令字在主程序里做出相应的响应 [7]。具体的程序框图如图7所示。

Figure 7. Flow chart of the function program of the lower computer

图7. 下位机功能程序流程图

4.2. 上位机

在能谱测量的时候,由于放射性粒子很多随机性,往往得到的能谱数据不是光滑的,而是有很多毛刺的,这不是我们需要的数据,对后面的数据进行进一步的处理时往往得不到正确结果,此时就需要对数据进行平滑,这也是很多应用场景要用到的数据处理方法 [8],先对数据进行平滑,再对数据进行进一步的处理,比如寻峰,剥谱等。

在对数据进行平滑时,我们可以采用很多方法。其中最小二乘拟合法平滑方法 [9] 简单有较为可以直接根据公式给的标准系数把数据带入计算,其中光滑的次数也是十分的苛刻的,次数高的谱数据的涨落越小,但是弱峰可能消失 [10]。为了降低设计的难度,采用最小二乘拟合线性平滑。采用五点线性和七点线性平滑作比较。

利用QT软件对上位机进行开发,本次设计利用的最为关键的库有搭建TCP网络客户端的库QTcpSocket和用于画出能谱图的QTcharts。首先对TCP和能谱图的坐标进行初始化,接下来就进行接收数据,解析数据,数据滤波,能谱图显示。基本流程如图8所示。

Figure 8. Upper computer function program flow chart

图8. 上位机功能程序流程图

5. 测试

实验是测试环境中的本底辐射,将数字脉冲幅度分析模块、透传模块、电脑实现硬件连接。在上位机软件设置IP地址以后,实现网络连接后,开始进行测量,将数字脉冲幅度分析仪回传回来的能谱数据在上位机软件进行显示,如图9所示。图中横坐标是道址,纵坐标是计数值,看出能谱数据是完整且连续的,说明模块下面传输上来的数据是完整的,通讯是正确的且能谱中有较为突出的峰(环境中本身存在的辐射)。

Figure 9. Original spectrogram

图9. 原始能谱图

验证了数字脉冲幅度分析模块通过透传模块可以完整的将能谱数据回传给上位机软件后,对能谱数据的平滑数据处理,并分别与原始数据进行对比。如图10图11所示。我们可以从图中看出五点平滑和七点平滑算法对能谱都具有平滑的作用,但五点平滑对幅度衰减的比较大,七点平滑的跟随性较好。本次设计实现了底层硬件和上层的软件设计。

Figure 10. Comparison of five-point filtered energy spectrum and original energy spectrum

图10. 五点滤波能谱与原始能谱图的比较

Figure 11. Comparison of the seven-point filtered energy spectrum with the original energy spectrum

图11. 七点滤波能谱与原始能谱图比较

6. 结论

本次介绍了为了解决数字脉冲幅度分析模块使用CAN总线传输速率慢的问题,利用意法半导体公司的STM32F407VGT6作为主控,实现了基于ISO1050的CAN总线收发器电路、基于DP8384的以太网接口和主控制器电路的设计。利用QT平台开发了上位机软件,完整的显示了环境本底辐射能谱,并实现了能谱数据的滤波显示。设计的RJ45网络与CAN总线的透明传输模块可广泛的应用于核辐射防护的数据交互跨接,其应用有较好的可靠性和灵活性,具有广阔的发展前景。

参考文献

[1] 朱小三. 基于CAN总线的煤矿安全监控系统的研究与实现[D]: [硕士学位论文]. 西安: 西安电子科技大学, 2007.
[2] 鹿国培, 王浩全, 李兵. 一种基于STM32以太网高速数据传输系统设计[J]. 国外电子测量技术, 2021, 40(4): 58-62.
[3] 祁国梁, 付明阳, 王建晓. 基于单片机的以太网串口服务器原理[J]. 自动化与仪表, 2007, 22(4): 45-48.
[4] 周挺, 朱飞燕. 基于单片机的智能传感器CAN总线接口硬件设计[J]. 数字技术与应用, 2012(7): 2.
[5] 段晓忠. TCP/IP协议栈浅析[J]. 经贸实践, 2017(19): 280.
[6] 赵国锋, 邱作雨, 张毅. 基于单片机的嵌入式TCP/IP协议栈的设计与实现[J]. 计算机技术与发展, 2009, 19(3): 137-140.
[7] 张旭, 高强, 张芳. TCP/IP协议栈在嵌入式系统中的移植实现[J]. 科技资讯, 2008(12): 93.
[8] 张丽, 孙建孟. 伽马能谱数据平滑方法的应用研究[C]//中国地球物理学会. 中国地球物理学会第二十八届年会. 北京: 中国地球物理, 2012: 438.
[9] 代冬岩, 李智勇, 张宏礼. 最小二乘曲线拟合及其MATLAB实现[J]. 黑龙江科技信息, 2009(21): 2.
[10] 贾永杰, 马文彦, 邱晓林,等. α能谱数据平滑及平滑优度评价方法研究[J]. 核电子学与探测技术, 2008, 28(6): 1091-1093.