VxWorks下多串口卡驱动程序设计
2012-08-13邓春梅董贵山王亚栋
通信技术 2012年1期
邓春梅, 董贵山, 王亚栋
(①四川卫士通信息安全平台技术有限公司,四川 成都610041;②中国电子科技集团公司第三十研究所十部, 四川 成都 610041)
0 引言
在嵌入式安全平台的研制项目中,需要解决好多通路并发的串行高速数据传输及安全处理问题。如果采用8位的基于8250的通用串口芯片,难以满足大批量,多通道串口数据的同步接收和发送,为此,需要采用高速串口芯片。本文以 OXFORD 半导体有限公司生产的 OX16PCI958高速串口芯片为对象,研究了在vxworks嵌入式实时系统下高速串行通信驱动的实现技术。OX16PCI958串口芯片,是由PCI接口扩展而出的,是一个带有32字节,可扩展八路串行通道FIFO的通用异步收发器,通过配置能适应 RS-232/RS-422协议规范应用的需要,能同时支持I/0和内存映射访问,每路通道最高速率可达115.2 kb/s。标准的VxWorks操作系统缺乏对此高速串口芯片的驱动支持,本文提出了专用的多通道高速串口驱动程序设计,解决了此问题。
1 VxWorks串口驱动程序的架构
1.1 基本框架
在VxWorks系统中,串行设备的驱动程序不是直接安装在I/O系统中,而是通过虚拟设备ttyDrv来使用。串行设备不但需要支持 I/O系统也需要支持目标机代理接口,同时它还必须支持在中断或者轮询2种方式下工作[1]。
如图1所示的串行设备驱动程序的工作方式。其中,与设备无关的部分已经在虚拟设备ttyDrv中实现,驱动程序开发人员只需要根据系统给出的接口,实现驱动程序并将其安装到ttyDrv。

图1 串行设备驱动程序的工作方式
虚拟设备ttyDrv负责管理真实驱动程序与 I/O系统之间的通信[2]。……
登录APP查看全文
