基于嵌入式的协议转换设备设计与实现
2017-02-16刘磊
刘磊
摘要:计算机系统内部各设备之间的通讯都需要遵循一定的通讯协议,由于系统开发时间、硬件条件、应用场所不同,各设备所支持的协议也不一定相同,这样在不同设备互联的时候,由于各设备所支持的协议不同,会造成很多设备无法联通。本文基于嵌入式系统,设计了一种协议转换设备,支持目前较为通用的大部分协议,为不同系统之间的互联提供一种简易的方式。
Abstract: Communication between devices within a computer system is required to follow a certain communication protocol. Because the system development time, the hardware condition, and the application place are different, the protocol that each equipment supports is not necessarily the same. So in different equipment interconnection, due to the different protocols supported by each device, many devices can not communicate with each other. Based on the embedded system, this paper designs a protocol conversion device to support most of the protocols that are common at present, and provides an easy way for the interconnection between different systems.
關键词:计算机;嵌入式;协议转换
Key words: computer;embedded;protocol conversion
中图分类号:TP273 文献标识码:A 文章编号:1006-4311(2017)04-0067-03
0 引言
计算机系统内部,不同计算机系统之间,往往需要相互交换信息,而信息的交换是建立在一定的基础之上的。要使得计算机系统的信息交互,必须遵循一定的协议。
对于计算机系统本身而言,自身大都支持一定的通信协议,但是,由于计算机系统的开发时间、开发环境、开发经费、开发目的存在很大的不同,各计算机系统所支持的通信协议往往存在一定的差异,而为了实现计算机系统的互联,必须将不同计算机系统支持的不同的通信协议进行转换,使得协议转换为互联的计算机系统的其中一种差异或者其它一种共同可转换的协议。这样使得不同时期、不同开发环境、不同开发目的下所设计开发的设备之间可以进行互联,从而实现一个具有统一目标性的功能,而不需要二次开发或者重新开发相同功能设备,节约了大量的人力、物力和财力,其具有非常重要的实际意义。
1 计算机系统互联概述
随着科技的发展,人类需要解决和完成的任务越来越复杂,要完成一个特定的目标,一种或者有限几种计算机系统已经很难完成需要完成的任务,而面对复杂度较高的任务,必须是多个计算机系统互相连接在一起才可以实现所要完成的任务和功能。而各系统之间互联必须遵循相同的通信协议规范[1],如图1所示。
此处提出一种协议转换设备,支持不同通信协议的协议转换设备可以直接链接到协议转换设备上,并且计算机分系统可以和协议转换设备进行通信,同时,协议转换设备可以将发送信息的计算机系统的信息转换为符合接收信息的计算机系统的通信协议的信息。从而在发送、接收信息的计算机系统之间建立一种连接。
这种方案并不改变原来各个计算机分系统,可以很容易地实现将各个计算机分系统挂在到协议转换设备上,或者将任意一个计算机分系统从协议转换设备上卸载。这种模式增强了系统改造地灵活性,降低了系统改造成本。不同地计算机分系统可以以不同地方式通过协议转换设备互联,实现不同地功能,从而实现资源的有效整合,增大计算机分系统的效费比。
基于上述情况,本文提出一种基于嵌入式系统的上网实现方式,将不同的计算机系统连接到本文提出的嵌入式系统上,该系统对不同计算机分系统的通信方式和通信协议进行转化,将不同计算机分系统所使用的不同类型的通信方式相互转化为分系统之间可以相互识别的信号,从而实现了不同计算机分系统之间多种形式的、灵活的相互结合,完成不同的任务。
2 系统结构设计
挂载在协议转换设备的各个子系统之间要相互通信,必须符合各分系统之间相应的通信协议要求[2,3]。对于不同计算机分系统而言,协议转换设备需要实现:将某计算机分系统发送来的信息转换为符合接收方通信协议标准的信息,并准确发送给接收方。
结构如图2所示。
作为发送方的计算机分系统将数据发送出去以后,先到达协议转换设备的接收协议转换网关,然后数据送达数据转换网关,经过数据转换网关处理,将需要交互的数据本身和目标计算机分系统信息分离出来,协议的其它部分去除,然后将数据转交给发送转换网关,在发送协议转换网关,对数据进行重新处理,转换为作为接收方的计算机分系统所支持的通信协议,然后发送给作为接收方的计算机分系统。
发送协议转换网关和接收协议转换网关分别结合数据交换网关,分别实现了陈旧武器装备与作战系统网的数据发送和接收功能,符合协议转换设备要求,并且不同的计算机分系统可以随时从协议转换设备上挂载或者卸载而不对协议转换设备和其它计算机分系统产生影响,实现了系统所需要的功能,符合系统设计要求。
3 基于嵌入式系统的硬件设计
随着计算机和网络技术的发展,嵌入式系统在工业、农业、军事等领域得到了广泛的应用[4,5]。嵌入式芯片已经由最初的8位机发展到现在广泛应用的32位机,主频也已经发展到了上百兆,支持包括A/D、D/A、IIC、SPI等常见的外设[6]。
STM32是意法半导体公司推出的基于专为高性能、低成本、低功耗的基于ARM Cortex-M0、Cortex-M3、Cortex-M4内核的嵌入式产品。其具有很强的扩展能力,易于移植,具有丰富的外设资源(如图3所示),主控芯片外围电路模块丰富,包括ADC、DAC、CAN、SPI、IIC等接口,芯片主频高,运算能力强,具备系统升级和扩展的空间。
发送协议转换网关、接收协议转换网关和数据交换网关都是以STM32为核心所开发的,计算机系统发送来的以CAN或者串口等数据发送到发送协议转换网关,STM32驱动接收协议转换网关将数据进行处理,然后将中间待发送数据发送至数据交换网关,STM32驱动数据交换网关将接收到的数据转换为变成中间待发送数据;数据交换网关将数据处理完毕以后,在STM32的驱动下,发送数据网关将待处理数据转换为符合接收方通信协议标准的通信信息,然后将数据发送给接收方计算机系统。实现了不同计算机系统之间的数据互联。
4 系統软件设计
系统采用的开发环境为IAR Embedded Workbench for ARM,该开发环境支持汇编语言、C/C++语言开发应用程序。以CAN通信协议与以太网互相转化为例进行说明,系统软件框图如下:
本软件以CAN总线和以太网相互转换为例,说明了系统的软将框架,其它类似串口通信与以太网通信转换结构类似。实现了CAN协议与以太网协议之间的相互通信。
5 总结
本文的设计以嵌入式系统为基础,针对不同时期、不同开发环境和不同开发背景下开发的计算机系统,为实现某一特定的目标和功能,需要任意组合互联提供了一种不对原计算机系统进行改造的互联方案。本方案系统实现容易,稳定性高,经济投入低,满足遵循不同通信协议的计算机系统为实现某一复杂任务和功能需要互联的要求。
参考文献:
[1]王继龙,吴建平.大规模计算机互联网络性能监控模型的设计与实现[J].计算机研究与发展,2000(04).
[2]姜震,等.未来航空电子高速数据总线技术的研究[J].电光与控制,2002(03).
[3]李燕斌,等.基于软件无线电的嵌入式系统总线研究及应用[J].电讯技术,2012(03).
[4]胥军,方彦军.嵌入式现场总线协议转换网关开发[J].计算机工程,2006(12).
[5]景柏豪,沈孟良,唐晔钧.CAN-Modbus/TCP协议转换的设计与实现[J].计算机工程与设计,2013(05).
[6]李晓丹.基于STM32的物联网嵌入式网关的设计[J].计算机工程与应用,2015(04).