您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于VxWorks的嵌入式系统复合通信模式 正文
基于VxWorks的嵌入式系统复合通信模式

基于VxWorks的嵌入式系统复合通信模式

点击数:7758 次   录入时间:03-04 12:03:21   整理:http://www.55dianzi.com   嵌入式系统-技术

      内容摘要:在嵌入式系统与VxWorks实时操作系统应用愈加广泛的背景下,结合嵌入式系统对于各类实时通信方式的不同需要,提出基于控制应用的复合通信模式;以Radstone公司的PPCx系列单板机为例,给出实现方法,并对数据通信的产时性与安全性作了研究。片对于各类嵌入式操作系统的数据测验具有很大的参考价值。

引 言

随着信息技术的不断发展和更新,嵌入式操作系统以其速率高、稳定、可配置内核的优势正得到越来越广泛的应用,包括医学、图像处理、军事、工业控制、电信等许多领域。嵌入式系统必须采用特殊有效的实时操作系统,VxWorks正是一个具有高性能的实时操作系统,成为嵌入式系统操作内核的最佳选择之一。随着嵌入式系统在网络当中的应用不断加强,具有多种数据通道的复合通信模式显得列为必要。本文根据基于VxWorks的嵌入式系统对于数据通信的不同要求,提出一个嵌入式系统复合通信模型,研究几种具有代表性的数据通信方式,并论述在VxWorks下的实现方法及其一些关键技术。
1
1 嵌入式系统复合通信模型的设计

嵌入式系统在控制领域应用十分广泛,例如在工业控制当中常常利用嵌入式系统作为中央控制机,完成信息采集、分系统监管、系统决策等等重要功能。硬件往往离不开软件的支持。VxWorks操作系统是目前功能最全的、独立于处理器的嵌入式实时操作系统之一。考虑如何基于VxWorks实现嵌入式系统的复合通信方式是有意义的。由于此时嵌放式系统已经不再是孤立系统,而是处于某种拓扑网络结构当中,因此,有必采取复合通信模式以适应系统扩展、集中控制和远程信息传输的需要。控制机应当具备优良的系统总线、可靠的控制网络、高速传输通道接口以及远程数据管道。综合以上考虑,图1给出了一个控制机的复合通信模型。

控制机本身采用VME总线标准,可以嵌入多块单板机,具有良好的系统扩展性。为了适应不同的通信要求,外围有三种通信接口。其中光纤通信传输速率很高,适合作为大流量数据通道,例如信号处理机数据传输管道。串口通信设备简单、成本较低,传输速率适中且安全性高,可以作为远程数据通道。以太网则由于其极佳的增容性、稳定性,适合于局域网络控制体系。

2 复合通信模式特点分析

为了对以上复合通信模型加以说明,下面对片几种通信模式的特点进行分析。

(1)总线标准

目前常用的总线标准有多种,基中VME总线支持多处理器系统,最多可以容纳21块插件。地址总线32位,数据总线32位,数据传输速率可以达到80Mb/s。VME总线能处理7级中断,具备高速的实时响应能力。VME总线采用主-从结构,主功能模块传输数据之间必须先使用中央仲裁器,也称为系统控制器,具有总线仲裁功能。VME数据传输总线是高速异步并行的,模块间数据传输是通过连锁的握手信号实现的。具有高可靠性,同时其模板结构具有良好的抗震性,适应较为恶劣的工作环境[1]。

(2)控制网络

控制网络一般采用局域网。由于TCP/IP协议是一个标准的企业网络协议,是比较完善的、公认的最有效的互联协议,因此目前流行的操作系统都支持TCP/IP协议,TCP/IP协议还是个稳定的、对称的、支持交叉平台的Client/Server方式的结构,并为应用程序提供了标准接口,对于集中控制的嵌入式系统采用基于TCP/IP的网络通信无疑是方便而且有效的。
2
    (3)高速数据接口

目前来看,光纤通道作为高速数据通信是最为有利的。它是一种利用光纤(苦口婆心铜缆)作为物理链路的高性能串行数据接口,支持SCSI、IP等上层数据传输协议,具有可靠性高、速度快和传输距离的特点,可用来连接大型机、服务器和存储设备以实现高速大容量的信息传输。对于分离的嵌入式硬件系统而言,采用光纤通道作为高速I/O数据接口无疑是一种很好的选择。

(4)远程数据通道

由于控制机的远程数据传输需要较高的安全性,同时一般只需单路传输,如果使用光纤电缆显示成本高而且不需要那么高传输的带宽,因此可以考虑使用串行口通信。串行口在嵌入式系统当中是一类重要的数据通信接口。由于RS-422标准串行口通信采用了双线传输,大大增加了抗共模干扰的能力,最大数据传输速度可以达到10Mb/s,这对于远程数据交换具有极大的优势,因此可用于远程信息交换。

3 复合通信方式的实现与关键技术

由于本文的讨论与单板机生产商所提供的板级支持包有关,而不同类型的单板机所提供的板级支持包(BSP、ESP)也会略有不同,为了不失一般性同时具有一定先进性,本文采用英国Radstone公司生产的PPCx系列单板机作示例。PPCx系列单板机功能集成度高、扩展性强、性能稳定,可以添加多种外围存储设备、支持高分辨显示,是一种理想的单板机系统。

3.1 基于VME总线的DMA通信方式

在VME总线上,每个单板机如果要访问其它单板机的RAM,必须通信VME总线地址映射。因此,每块板上有两个地址译码器,一个用于VME总线地址→本地地址译码,而另一个用于本地地址→VME总线地址译码,这样就会存在多个不同的存储器地址映射。如果想要访问某个单板机的RAM,需要知道该单板机的RAM本地址所映射成的VME总线地址,然后通过访问VME总线地址映射到自身的本地地址而访问到系统控制器,甚至可以将其看成自身的RAM地址。多处理器地址映射关系如图2所示。

综上所述,对于某一VME总线中的任务一块板而言,只要获得了它的本地地址到VME总线地址的映射关系,就可以从板外来访问该板的RAM。VxWorks标准函数库sysLib当中提供了函数sysLOCaltoBusAddr(),可以直接获得本地地址的VME总线地址。这样,当前主机只需调用该函数获得自身RAM地址到VME地址映射,其它的主机就可以根据该映射得到的VME总线地址访问该主机。因此,当需要对于外板的某些控制寄存器进行位元操作的进修,这种方法就显得尤其重要:因为往往没有函数能够仅仅对于外板RAM的某个字节进行操作,更无法定位到位操作。

为了进一步提高数据传输速率,可使用PPC4A上的VME控制芯片Tundra中集成的DMA控制器。它支持基于VME总线的DMA数据传输方式,而DMA是外存数据传输最有效的一种方式。具体步骤如下:

①安装DMA驱动程序,调用函数dmaDrv();

②建立DMA设备,调用函数dmaDevCreate();

③打开DMA进行读写,调用函数open()、write()、read()。

DMA设备句柄就是一个类似于文件指针的数据类型,所以可以像一个标准数据操作来对待。开启设备后即可调用文件读写标准函数进行读写操作。通过较为严格的测试,DMA数据传输速率可以达到40Mb/s以上,并且不发生数据传输错误。3

为了保证主机对于其它主机DMA传输数据的实时响应,应当产生VME总线中断信号通知该主机。当某个主机发送数据完毕后,须调用VxWorks提供的函数sysBusIntGen ()t向VME总线产生一个级别为intLevel、中断号为intNum的中断信号。

接收端主机事先建立一个与该级别中断信号对应的客户中断服务程序,并将该客户中断服务程序链接到所要求级别的中断号上,从而实现对其进行实时响应。当主机接收到属于自己的中断信号后,会立刻自动调用该中断服务程序。这时可利用中断服务程序释放一个信号灯,通过该信号灯驱动相应的数据处理模块,从而实现实时操作。如下面的全程:

/*客户中断服务程序*/

void intHdlr(SEM_ID sEMId)

void intHdlr(SEM_ID semId)

{

/*释放信号灯*/

semGive(semId);

}

/*等待信号灯的处理模块*/

void processsModle(void)

{

/*等待信号灯*/

[1] [2]  下一页


本文关键字:通信  嵌入式  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术