基于VxWorks的PCI总线多功能数据采集卡驱动开发
2 多功能数据采集卡7396简介
PCI-7396是专门为工业应用而设计的96位并行数字输入/输出(DIO)卡。PCI-7396是模拟4个8255可编程外围接口(PPI)芯片。每个PPI提供3个8位可同步访问的DIO端口。总共有12个可独立配置为输入或输出的端口。
PCI-7396产品具有通过外部触发来锁定数字输入数据的特点,同时提供状态改变(COS)中断,这意味着当任何数字输入状态改变的时候,中断就会发生。用户可以通过用跳线设置上拉/下拉电阻轻松地以用户自定义状态(高或低)来设定PCI-7396数字I/O上电状态。
7396有3种类型的寄存器:PCI配置寄存器,它是要实现板卡的功能所要访问和操作的寄存器;本地配置寄存器,其是它就是操作9050所要访问的寄存器:还有一个是PCI-6308寄存器。
3 PCI配置空间
PCI(Peripheral Component Interconnect),外部设备互联标准,是由Intel公司提出的一种局部总线标准。每个PCI设备有3种物理空间:配置空间、存储器空间和I/O空间。配置空间是长度256字节的一段连续空间(16个32位寄存器)其中前64个字节为头标,其余192字节为设备相关信息。在64字节的头标中,前16字节的定义是确定的,后48字节的具体含义因设备而异。配置空间头标区如图2所示。配置空间中的一个重要部分是基地址寄存器(BaseAddresssRegister),它的内容是PCI设备的地址空间映射到系统地址空间的起始物理地址。其中,bit0=1表示IO空间映射,bit0=0表示存储器空间映射。所有PCI设备必须实现存储器空间映射。通过向BAR写全1即可确定所需地址空间的大小。在VxWorks下要访问一个PCI设备,只需要知道该设备的厂商号和设备号。本文引用地址:https://www.eepw.com.cn/article/148492.htm
4 数据采集卡设备驱动的实现
Adlink公司的7396数据采集卡是PCI设备,PCI设备驱动程序属于VxWorks体系结构中的I/O系统部分,它往上为应用程序提供API接口,往下通过BSP访问PCI设备。基于VxWorks的PCi设备驱动程序开发流程如图3所示。分为4个步骤:①创建设备;②根据PCI设备的配置参数,对PCI设备编写功能函数程序;③编写测试程序进行功能测试;④驱动程序工作正常可靠,即可发布驱动程序,将其加载入VxWorks操作系统内核,完成驱动程序的开发。
评论