潘浩
摘 要: 传统异步串行通信接口转换系统转换过程中,CPU利用率差,转换的数据可靠性不高。为了解决上述问题,基于现场总线设计了一种新的异步串行通信接口转换系统。针对系统硬件和软件进行设计,利用核心控制模块、CAN总线通信接口、PROFIBUS?DP总线通信接口模块、异步串行通信接口转换模块、电源转换模块和总线选择开关模块构成硬件结构,在总架构的基础上给出了拓扑结构,重点设计了核心控制模块和PROFIBUS?DP总线通信接口模块。在硬件结构基础上设计软件程序,并在程序模块基础上研究了软件转换流程。为检测系统性能,设计对比实验,结果表明,基于现场总线设计的异步串行通信接口转换系统能够准确地转换出数据,确保结果的可靠性,CPU利用率高于传统系统。
关键词: 异步串行通信; 通信接口转换; 现场总线; 系统设计; 控制模块; 实验分析
中图分类号: TN915?34 文献标识码: A 文章编号: 1004?373X(2020)21?0017?04
Design of asynchronous serial communication interface conversion system
based on field bus
PAN Hao
(College of Information Engineering, Huanghuai University, Zhumadian 463000, China)
Abstract: In the conversion process of traditional asynchronous serial communication interface conversion system, the utilization of its CPU is poor and the reliability of converted data is not high. In order to solve the above problems, a new asynchronous serial communication interface conversion system is designed based on field bus. The hardware and software of the system are designed. The core control module, CAN bus communication interface, PROFIBUS?DP bus communication interface module, asynchronous serial communication interface conversion module, power supply conversion module and bus selection switch module are used to constitute the hardware structure. On the basis of the general framework, the topology structure is given. The core control module and the PROFIBUS?DP bus communication interface module are emphatically designed. On the basis of the hardware structure, the software program is designed, and the software conversion process is studied on the basis of the program module. In order to test the performance of the system, a comparative experiment is designed. The experimental results show that the asynchronous serial communication interface conversion system based on field bus can accurately convert data and ensure the reliability of the results, and the utilization rate of its CPU is higher than that of the traditional system.
Keywords: asynchronous serial communication; communication interface transformation; field bus; system design; control module; experiment analysis
0 引 言
步入20世紀80年代后,计算机、通信、控制和模块化集成技术不断发展,现场总线技术成为了一种新兴技术。现场总线能够实现双向通信、串行通信、多节点数字通信,是自动化领域的计算机局域网[1]。近年来,现场总线技术发展迅猛,进一步促成了通信网络的多样性,给用户带来了更多的选择。现场总线技术在带来方便的同时,也带来了一系列问题,主要问题有:通信设备引进价格高,每种总线适用的领域十分有限,缺少成熟的总线标准,不同的现场总线要设定不同的标准。总线标准的不同严重限制了总线与总线之间的交流,在同一个现场有时候使用的总线标准也有所不同,必须要使用更高层的网络才能完成通信,内部设备是可以直接通信的,如果与其他设备相连,就要研究一个标准的通信接口[2]。
异步串行通信是现场总线的重要工作之一,设定异步串行通信接口转换系统具有很强的现实意义[3]。目前研究的异步串行通信接口转换系统仅是针对单一现场总线进行转换,这样的转换系统接口功能十分单一,不具备灵活性,难以满足目前复杂的现场工业要求。本文针对PROFIBUS现场总线和CAN现场总线设计了一种接口转换系统,该转换系统能够共享网络资源,从而达到异构网络互联的效果,转换系统中选择的控制器为集成CAN控制器,消耗功率低,性能稳定,配合SoC单片机,可提高系统性能。
1 异步串行通信接口转换系统硬件设计
本文设计的异步串行通信接口转换系统拥有6个模块,分别为:核心控制模块、CAN总线通信接口、PROFIBUS?DP总线通信接口模块、异步串行通信接口转换模块、电源转换模块和总线选择开关模块[4]。设计的硬件结构图如图1所示。
系统拥有3个端点,这3个端点有2个连接转换系统的开关,有1个连接转换系统的芯片组,通过CPU、GFX、存储器、PCI设备共同构成转换系统的拓扑结构,如图2所示。
1.1 核心控制模块
核心控制模块指的是单片机C8051F040,内部核心部件为CAN控制器,C8051F040单片机占地面积小、消耗功率低,能够在短时间内处理大量数据,具有很强的抗干扰能力,转换系统加入了C8051F040单片机后,硬件的集成复杂度和开发成本都可以有效降低。C8051F040单片机由Cygnal公司生产,内核为CIP?51,内部的指令集为8051指令集,CIP?51与8051指令集能够很好地兼容,提高系统的工作频率,最高频率可达30 MHz,核心控制模块内部还拥有一个64 KB的FLASH RAM和4 KB的数据存储器[5]。核心控制模块内部虽然只有一个芯片,但是这个芯片集成了采集功能、控制功能、处理功能等多种功能,这一芯片的加入不仅降低了占地面积,也使系统在运行时消耗更低的功耗,拥有更高的可靠性[6]。
核心控制模块内部结构图如图3所示。
8051指令集采用的结构是高速流水線结构,能够同时兼容核心控制模块中的CIP?51内核,提高工作速度,最高可以达到45 MIPS。图1中的CAN控制器选择的规范为2.0B规范,配置32个发送装置和接收装置,单片机的调试接口为全速接口和非侵入式接口。ADC通道为8位,自带PGA,由模拟电路开关控制,DAC通道为12位,以可编程的方式更新数据。FLASH存储器的内部字节为64 KB,RAM内部的字节[7]为4 352 B。
核心控制模块在外部也设置了可寻址64 KB的外部数据存储器接口,通过4个UART串行接口连接12个通用的定时器,每个定时器内部都有一个捕捉/比较模块的阵列。除了通用定时器之外,核心控制模块内部还有看门狗定时器、VDD监视器和温度传感器。
为加强核心控制模块的整体性,整个模块选用的控制协议都为CAN控制协议。被采集到的数据通过串口通信模块进入核心控制模块,利用转换器转换成符合CAN控制协议或PROFIBUS?DP协议的数据,再将这些数据上传给现场总线网络,由现场总线网络中的异步串行通信接口完成数据转换[8]。除此之外,核心控制模块还具备读入数据的能力,所有的读入数据都可以利用串口协议转换给满足现场串口设备或仪表要求的数据,这种转换方式被称为逆向转换[9]。
PROFIBUS?DP协议的数据帧格式如图4所示。
1.2 PROFIBUS?DP总线通信接口模块
PROFIBUS?DP总线通信接口模块主要包括三部分:协议控制器、光耦隔离电路、总线驱动器。为了更好地实现PROFIBUS?DP总线通信接口模块的通信功能,在通信模块的总线上设定了一个网络设备,由该网络设备统一与其他网络设备进行数据交换[10]。PROFIBUS现场总线是模块的核心元件,控制各个设备的功能实现。
通信接口工作状态如图5所示。
通信接口模块共有7层,SPC3被设定在最底下的一层,配合微处理器处理第2~7层的数据,第2层的数据集成在芯片中,所以处理起来比较困难,其他几层的数据直接由设备反馈,处理起来相对比较容易。作为一款智能性极强的芯片,SPC3适用于任何的通信设备,具有独立完成通信协议的能力,加入SPC3芯片后,PROFIBUS?DP总线通信接口模块的执行能力更强。由于是硬件驱动总线的存取工作,所以数据交换必须要在RAM中进行。通过数据接口连接应用对象,所有的数据交换都是以独立方式存在。SPC3智能芯片通过集成得到完整的DP协议,集成后,通信模块对数据的监测能力大大加强,只要波特率在9.6 Kb/s~12 Mb/s之间的数据,都可以检测到[11]。
接口模块中的微处理器在整个通信工作中发挥着重要作用,因此必须要设定能够调节微处理器的固态程序。除此之外,接口模块中还设有方式寄存器、状态寄存器、中断寄存器。
PROFIBUS?DP总线通信接口模块结构图如图6所示。
上述通信模块具有很强的兼容能力,能够兼容80C32芯片、80X86芯片、80C166芯片、80C165芯片、80C167芯片和HC11芯片、HC16芯片、HC916芯片,通过简单的用户接口实现通信循环和应用循环。总线通信接口模块使用的传输技术为RS 485传输技术,选用的驱动器为差分驱动器,具有很强的抗干扰能力,即使是长距离的数据传输,受到外界的干扰也很小,差分驱动器的驱动能力强、消耗功率低。
总线驱动器件结构图如图7所示。
观察图7可知,总线驱动器上的数据以双向的方式传播,传播协议共有4个,分别为TIA/EIA?422?B标准、TIA/EIA?485?A标准、ITU推荐标准、V.1和X.27标准,对数据的处理速度最高可以达到50 Mbaud,输入和输出电压的波动幅度很大[12]。总线电压的波动会影响SPC3的正常运行,甚至可能造成损坏,因此需要加入光电隔离器件,隔离最大电压和最大转换速率。最大电压和最大转换速率数值越大,选用的光电隔离器件速度越高,目前比较典型的光速隔离芯片为HCPL7101芯片,该芯片不仅传播速度快,而且是光耦芯片。
2 异步串行通信接口转换系统软件设计
在完成硬件工作后,对软件进行编程和调试,为了使单片机和微控制器更好的配合,利用803X汇编器和805X编译器开发软件,编写源程序为CI5程序,开发环境为Keil μVision2,以模块化结构编写软件程序,确保每个模块都能够有明确的分工,每个模块都对应有自己的代码,使维护更加方便[13]。
软件程序模块结构图如图8所示。
核心控制器负责转换串行接口与CAN总线接口之间的协议,位于主程序模块中,负责完成初始化工作和循环工作,在同一时间完成接收、发送和查询工作。基于现场总线的异步串行通信接口转换系统软件工作流程如图9所示。
本文设计的异步串行通信接口转换系统软件程序使用的现场总线并非单一的现场总线,而是深层次开发的现场总线,通过多次判断完成数据转换。
3 实验研究
3.1 实验目的
为了验证所设计的异步串行通信接口转换系统的功能及性能,设定实验组件,与传统转换系统进行实验对比,分析实验结果。
3.2 实验硬件测试平台建立
设计的实验硬件平台如图10所示。
设定PC机和CP5611网络接口卡作为测试系统的网络主站,测试过程选择的开发板为DP?51开发板。同时使用传统的异步串行通信接口转换系统和基于现场总线的异步串行通信接口转换系统进行实验。
3.3 实验结果与分析
通过分析转换系统数据的上行速率和转换接收间隔,判断两个系统的CPU利用率,得到的实验图如图11所示。
分析图11可知,随着接收时间的增加,转换系统的上行速率逐渐减小,在极限状态下,上行速率大约為1 120 Kb/s,在这一速率下,本文转换系统的CPU利用率要高于传统转换系统的CPU利用率,这是因为基于现场总线设计的异步串行通信接口转换系统转换后的PCIe板卡和ARM设备都能够定时接收数据,设备中的多个电路以叠加的方式运行,即使是多任务同时运行也不会影响系统的任务调度结果,本文转换系统与传统转换系统的转换准确率如图12所示。
通过图12可知,在相同的转换时间内,基于现场总线的异步串行通信接口转换系统的转换数据准确率要高于传统异步串行通信接口转换系统的转换数据准确率,数据更加可靠,数据中的转换器具备基本的输入和输出功能。
4 结 语
本文针对目前使用最广泛的PROFIBUS现场总线和CAN现场总线技术设计了转换系统,包括系统的总体结构和软件程序。在本文设计的系统中,SPC3协议芯片和C8051F040单片机发挥着重要作用,在设计之前,要详细了解协议芯片和控制器的说明资料。
由于单片机自身的局限性,所以本文设计的转换系统在很多方面还有不足,在设计时可以加入FPGA技术增加系统的扩展性,同时可以加入网络接口,提高系统的适用范围。
参考文献
[1] 李敏艳.基于DSP的CAN总线转换器的设计[J].世界产品与技术,2016,20(10):60?61.
[2] 田晋羽,吴迪,刘建秋.基于RS485的现场总线监控系统的设计[J].中国科技博览,2019,25(10):105.
[3] 严法高,陈虹,许慧.基于现场总线的电梯监控系统设计[J].微计算机信息,2017,21(6):85?87.
[4] 李斌,王晓航,施冲.嵌入式通信管理装置的设计和实现[J].水电与抽水蓄能,2018,28(3):6?8.
[5] 杨志家.面向工业现场总线系统的SoC关键技术研究与设计[J].工业信息学研究室,2018,40(1):60?66.
[6] 郝铭,刘景泰,卢桂章.基于RS 485总线分布式智能控制系统的设计与实现[J].自动化与仪表,2018,20(2):23?25.
[7] 乔有田.基于现场总线的语音通信方法的研究[J].扬州职业大学学报,2019,10(2):44?46.
[8] 张亚,韩芳.基于DSP的现场总线通信节点的设计与实现[J]. 常州信息职业技术学院学报,2019,6(4):9?11.
[9] 汤佳明,安伟.基于LabVIEW的上位机串口通信程序设计[J].电子设计工程,2018,26(11):86?90.
[10] 巩林玉,周治邦,员春欣.基于现场总线的故障安全通信协议研究[J].工业控制计算机,2018,28(7):1686?1688.
[11] 王忠清,陈雪松,曹微言,等.基于DeviceNet现场总线的从站接口卡的设计与实现[J].工业计量,2017,17(3):13?16.
[12] 谢经明,周祖德,陈幼平,等.基于现场总线的数控系统通信环节时间特性分析[J].计算机集成制造系统,2018,9(4):285?288.
[13] 欧阳琴,李哲英.基于现场总线技术的通信接口转换网桥的实现[J].北京交通大学学报,2019,23(6):38?42.
作者简介:潘 浩(1981—),男,河南信阳人,博士,实验师,研究方向为通信技术、软件设计与测试。