3.基于Linux的无线通信卡
在无线分散控制站中无线通信卡使用AT91RM9200控制器并通过USB接口加载符合802.11b协议的无线传输模块,其操作系统为Linux系统。
3.1基于Linux的无线通信卡的工作原理
无线通信卡运行着现场总线协议栈和功能块(MAI,MAO,MDI,MDO)等。根据所接入的现场总线的不同选用相应的协议栈。使用向IO模块控制卡发中断及响应IO模块控制卡中断的方式,通过IO模块控制卡来配置、读取和控制现场设备。无线通信卡与IO模块控制卡之间数据传输是直接通过读写IO模块控制卡上的双端口RAM实现的。另一方面,无线通信卡通过其上面的USB接口加载了符合802.11b协议的无线传输模块,能够通过该模块实现与有线网络相连,使其与相应的现场总线工作站通信,其结构示意图如图3-1所示:
3.2基于Linux的无线通信卡的软件设计
无线分散控制站中无线通信卡软件开发基于Linux操作系统。由于Linux系统基于802.11b协议的无线驱动已经很成熟了,而基于Linux操作系统的协议栈软件移植也比较容易。因此,选择Linux系统会有效的提高无线通信卡的开发周期。
基于Linux的无线通信卡与有线的通信卡在协议栈和功能块方面大致相同,仅需将应用程序向Linux系统上移植即可。但由于采用了Linux系统在与IO模块控制卡通信的实现上就相对比较复杂了。与IO模块控制卡通信的程序流程图如下图3-2所示: