当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于VxWorks和MPC860T平台的嵌入式串口通信服务器的解决方案

1.引言 
随着IP技术的迅速发展,“Everything over IP”的观念已深入人心。如何有效的将物理上分布于各个地方的串行设备接入互联网,以实现基于IP技术的遥测遥控成为当前研究和应用的一个热点。论文以嵌入式实时操作系统VxWorks和高性能的嵌入式微处理器MPC860T为软硬件平台,提出了一个适合各种速率的串行设备接入IP网络的高性能通信服务器的解决方案,它充分发挥了操作系统VxWorks的实时性以及嵌入式微处理器MPC860T在网络、通信方面的卓越性能。利用该通信服务器不但可以将低速率的串行设备接入互联网,也可以将具有较高速率、对实时性有较高要求的串行设备接入互联网。
2.串口通信服务器的体系结构
在实际应用中,各种监测、控制设备多以串行通信的方式的和外界通信。而串行设备千差万别,特别是在数据的传输速率和数据格式方面有很大的不同:既有利用UART(universal asynchronous receiver transmitter,通用异步收发)协议传输的低速率数据,又有利用HDLC(high-level data link control,高级数据链路控制)等协议传输的高速率数据;对数据传输实时性的要求也有很大区别:既有非实时性的串行数据传输,也有对实时性要求比较严格的串行数据,如音、视频数据,高速设备的实时监控数据等。如何有效的将各种串行设备合理的接入IP网络,以实现基于互联网的分布式远程监控呢?论文根据这一需求,提出了一种如图1所示的串口通信服务器的体系结构,该串口通信服务器能够较好的将各种串行设备接入IP网络,并且在实时性方面有比较突出的表现:能够将各种高速、实时性的音视频数据快速接入IP网络,以实现基于IP网络的遥测遥控。
500)this.style.width=500;" border="0" />

在图1所示的串口通信服务器体系结构中,服务器配置程序为用户提供了一个基于C/S模式的服务器通信参数配置接口,用户可以利用运行于个人计算机上的客户端配置程序与通信服务器的配置串口通信以随时改变通信参数;嵌入式实时操作系统主要完成各种任务的实时调度、中断管理、系统资源管理等功能;所谓BSP(Board Support Package,板级支持包)就是针对该通信服务器特定的硬件平台所编写的底层程序,它依赖于硬件,主要包括初始化代码和部分驱动程序;FEC(Fast Ethernet Controller,快速以太网控制器)驱动程序提供双工100/10M自适应以太网控制器驱动;双内核的嵌入式微处理器用于运行操作系统、应用程序、配置程序以及通信协议的底层微码;外围接口层对外提供各种标准的通信接口,如RS-232、RJ-45等。
3.串口通信服务器的硬件实现
在串口通信服务器中,嵌入式微处理器的性能无疑是影响整个通信服务器性能的一个关键
因素,根据图1所示的通信服务器体系结构,论文选用Freescale公司的双内核嵌入式微处理器MPC860T。它是一款集成了双内核和丰富的外围设备的微处理器,可广泛应用于各种控制领域,特别是在通信和网络领域有着优异的性能,其组成如图2示。基于PowerPC体系结构的MPC8xx内核主要负责操作系统和应用程序的运行;CPM模块拥有独立的基于RISC的通信处理器,该通信处理器主要为SCC(Serial Communications Controllers,串行通信控制器)、SMC(Serial Management Controllers,串行管理控制器)等通信信道提供服务、执行通信协议的底层代码以及控制DMA。SIU主要负责系统的启动、初始化、中断以及外部总线功能等。FEC提供10/100M以太网控制功能,它提供独立的FIFO和突发DMA,因此可以在不影响CPM性能的情况下提供10/100M以太网连接。其中4个SCC通道可以独立配置成HDLC模式、异步HDLC模式、10M以太网模式等;2个SMC通道可以配置成UART模式、透明传输模式等。
500)this.style.width=500;" border="0" />[!--empirenews.page--]

在实际应用中UART协议和HDLC协议是串口通信常用的两种通信协议,并且HDLC是其它众多协议(如SDLC、SS#7等)的基础,因此该通信服务器的串口协议采用HDLC和UART。基于MPC860T的串口通信服务器的硬件组成如图3所示。在该串口通信服务器中,
500)this.style.width=500;" border="0" />

4个SCC通道分别独立工作于双工的HDLC模式,以提供高速实时的串行数据传输,快速接入以太网;2个SMC通道独立工作在UART模式提供低速率的数据通信,SMC1提供系统级和任务级调试用串口,用户可以利用SMC1通过运行在个人计算机上的程序来配置服务器的相关参数,SMC2提供低速的串口通信。FEC接口提供双工100/10M 以太网接入端口;4M的Flash用来存储操作系统、用户应用程序、服务器配置程序等;32M的SDRAM用来运行应用程序、存储运行过程的数据等。BDM端口供软硬件仿真调试使用,利用VisionProbe通过BDM口可以对软硬件进行调试。
4.串口通信服务器的软件实现
在串口通信服务器中,操作系统也是影响通信服务器整体性能的另一个关键因素。根据
图1所示的体系结构和所使用的微处理器,论文选用美国风河公司的嵌入式实时操作系统VxWorks。VxWorks是美国风河公司推出的一款实时操作系统。它以模块化构造并可高度裁减,这使其能够在较小的存储空间中高效稳定的运行,非常适合于各种高性能、多任务嵌入式实时系统的开发,广泛应用于通信、航空航天等领域。VxWorks系统的构成主要有Wind内核、I/O系统、BSP以及网络协议栈等。
   基于VxWorks操作系统构建的串口通信服务器软件系统层次结构如图4所示。在该软件
500)this.style.width=500;" border="0" />

系统中,由底向上依次是依赖于通信服务器硬件系统的BSP(包括UART驱动、HDLC驱动、config.h配置文件、makefile编译规则文件等)和以太网驱动程序;与硬件无关的操作系统层;属于应用层的通用服务器配置程序。其中操作系统层由VxWorks提供,服务器配置程序和BSP需要根据系统硬件具体实现。FEC驱动需要作为BSP的一部分集成进整个软件系统,之所以将FEC驱动单独列出,是因为FEC驱动是通用的,仅仅需要在BSP中进行集成。下面主要讨论BSP和服务器配置软件的实现方案。
   4.1 通信服务器BSP设计与实现
   嵌入式系统中的BSP一般都是参考一个经过了严格测试的、功能比较类似的BSP来设计和实现的,串口通信服务器的BSP就是参考ADS860评估板的BSP来实现的。根据串口通信服务器的体系结构和硬件实现,BSP的实现需要做以下工作:
 将MPC860T的SCC1~SCC4通道设置成HDLC模式,实现HDLC驱动并将其挂接到VxWorks的TTY系统;
 新建sysSccSerial.c文件以支持HDLC驱动模式;
 根据实际需要修改usrconfig.c或是usrSerial.c文件以便将HDLC通道作为标准的I/O设备;
 修改config.h、configNet.h、makefile、apc860.h等文件使相关的配置参数符合串口通信服务器的具体要求,去除对10M以太网的支持、添加对100/10M FEC以太网的支持;
        其中HDLC驱动程序的实现是BSP开发中的重要一环,因为SCCx通道的HDLC驱动需要满足高速率、高实时性的要求,它的性能直接决定着整个通信服务器的性能。[!--empirenews.page--]
   4.2 通信服务配置软件设计与实现
    串口通信服务器配置软件是为用户实时设置通信服务器的通信参数而提供的应用程序。它基于C/S模式构建:由运行于串口通信服务器上的服务器端配置软件和运行于用户个人计算机上的客户端软件组成,它们通过计算机的串口和通信服务器的SMC1串口通信。通信服务器的通信参数主要包括SMC2 的UART协议相关参数和SCCx 的HDLC协议相关参数。
5.结束语
利用VxWorks实时操作系统和MPC860T嵌入式微处理器设计和实现的串口通信服务器
性能稳定、配置方便,具有很好的实时性,能够较好的满足各种串行设备接入互联网的要求,特别适合于对数据传输速率和实时性要求较高的串行设备。利用串口通信服务器可以方便的将各种串行设备接入IP网络,从而实现基于互联网的远程实时监测和控制。

本文作者创新点:充分利用了VxWorks 的实时性和MPC860T SCC通道提供的高速HDLC串口接入功能,实现了将串行监控设备高速接入IP网络和远程实时监控技术。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

经过几十年发展,嵌入式技术已经用在了我们生活中的方方面面,但是嵌入式始终都带有小众,专业性强的属性,让很多非嵌入式领域的同学望而却步。近十几年的发展,物联网覆盖了越来越多领域,包括了家居,商业,工业,农业等领域,不仅吸引...

关键字: 嵌入式 物联网 技术

随着IT技术飞速发展,互联网已经进入了“物联网”时代。物联网中需要的大量设备不在依赖人与人之间的交互产生联系,更多通过协议、通信、程序设计等方式连接到一处。即 “物联网”的目的则是让所有的物品都具有计算机的智能但并不以通...

关键字: 嵌入式 物联网 计算机

最近看到APP上,给我推送了很多类似的回答,借此机会,也想着重新审视一下自己的学习历程,以及结合自身和大牛,分享一些学习经验,希望对大家有所启发和帮助。

关键字: APP 嵌入式 C语言

万物智联时代,嵌入式技术及其应用的形态将更加丰富和多元,同时也将日益呈现深度物理融合、混合架构共存、群体智能协同、网络安全攸关等诸多新的计算特性。显然,经典的嵌入式系统体系结构、软硬件技术和开发方法都已很难应对新趋势下的...

关键字: 嵌入式 物联网 计算机

物联网是新一代信息技术的重要组成部分,是互联网与嵌入式系统发展到高级阶段的融合。通用计算机经历了从智慧平台到互联网的独立发展道路;嵌入式系统则经历了智慧物联到局域智慧物联的独立发展道路。

关键字: 嵌入式 物联网 计算机

今天,小编将在这篇文章中为大家带来工控主板的有关报道,通过阅读这篇文章,大家可以对工控主板具备清晰的认识,主要内容如下。

关键字: 工控主板 嵌入式 主板

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在未来的工业和生活中有着广阔的应用前景。在现在...

关键字: 嵌入式 物联网 人工智能

长久来看,嵌入式只会越来越火,随着人工智能时代的发展,嵌入式必定又将迎来一次浪潮和技术的巨大变革。人工智能越是想要表达智能水平,就越要依靠嵌入式技术,嵌入式技术将朝着自动化控制和人机交互发展。嵌入式因其体积小、可靠性高、...

关键字: 嵌入式 物联网 人工智能

嵌入式软件技术到目前为止己经在很多领域起到了中流砥柱的作用,例如在电子消费、移动通讯方面,这种技术为我国的很多行业提供了更多的可能性。未来,嵌入式软件技术会为人类做出更大的贡献。伴随着计算机技术与电子技术的成熟发展,电子...

关键字: 嵌入式 软件 人工智能

esim卡的全名为Embedded-SIM,意思就是嵌入式的SIM卡。esim卡的原理简单来说,就是将手机传统插入到手机里的SIM卡直接嵌入进设备芯片中,这样大家就不必再手动物理插入SIM卡,减少了麻烦的同时也降低了si...

关键字: 嵌入式 esim卡 手机

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭