新闻中心

EEPW首页>嵌入式系统>设计应用> 基于PCI总线的1553B总线接口卡设计

基于PCI总线的1553B总线接口卡设计

作者: 时间:2014-01-11 来源:网络 收藏

  在进行驱动编写前,需要根据功能需求对9052芯片进行相应的配置操作。9052芯片有2类寄存器:配置寄存器和配置寄存器。PCI配置寄存器的内容反映配置空间的情况,它的配置空间的内容包括PCI设备号DID,制造商号VID、中断号、设备类型号、局部空问基地址、局部空间描述符、片选响应以及局部响应控制CNTRL等信号,这些配置信息在芯片复位时通过串行E2PROM加载。PCI9052会自动根据该E2PROM的状态决定其内部寄存器值。E2PROM中的配置信息的正确与否关系着整个板卡是否能够正常工作。当系统配置成功后,接口卡可被PC机识别,即可进行驱动程序的开发。

2.2 系统软件设计

  2.2.1 驱动程序设计

  设备驱动程序提供连接到计算机的硬件的软件接口,所要完成的任务是链接应用层和硬件层,使操作系统识别具体硬件,并使用硬件资源。微软公司提供了专门的驱动程序开发工具包Windows XP DDK,但是DDK开发难度较大,周期长,不容易掌握,Numga公司的开发工具Driv er Studio可以大大简化驱动程序的开发过程,它制作的类库封装了DDK的函数,完全兼容所有的DDK函数,它封装了比较底层的繁复操作,减少了对简单接口的复杂操作,专门提供了的开发向导Wizard与微软的Visual C++紧密地集成,驱动程序代码框架只需要在DrivetWorks工具向导程序的指引下,根据硬件的具体参数填写必要步骤即可完成。另外,Driver Wizard还能生成专为特殊设备定制的代码,比如PCI设备,ISA设备等。

  驱动程序的基本功能是完成设备的初始化、对端口的读写操作、中断的设备和响应及中断的调用,以及对寄存器和内存的直接读写。在Driver Studio生成的程序框架上,根据具体的要求添加新的类对象和代码,结合接口卡的特点,编写一些特殊的驱动,在VC下编译后即可得到所需的驱动程序。

  2.2.2 应用程序设计

  Windows系统为用户提供了一些API函数,用于向WDM结构的驱动程序发命令以及进行数据交换,在内核区存在各种与之相对应的处理例程,见表1。

b.JPG

  CreateFile用于获得驱动程序句柄,CloseHandle关闭驱动程序,而其余函数用于应用程序控制驱动程序或者与驱动程序交换数据,其中Device Control函数完成读取PCI配置空间内容的功能。在WDM中实现输入输出处理可以通过KIoRange类实现。应用层通过DeviceloControl函数向设备句柄调用KIoRange类的成员函数,实现应用层对I/O空间的处理。

  应用程序的流程如图2所示。

c.JPG

3 结语

  1553B作为一种高可靠性和稳定性的数据总线已在军事和工业领域得到越来越广泛的应用。本文设计了一种基于PCI总线的,分别使用PCI9052和BU-61580作为PCI总线和1553B总线的协议芯片,使用FPGA进行总线逻辑控制,提高了系统的集成度,驱动程序方面,利用Driver Studio向导生成驱动程序的框架,极大简化了驱动程序的编制。实验证明,本文设计的接口卡可以为电子设备提供符合1553B标准的接口,完成可靠的数据交换,工作稳定,功能完善,多个板卡可组成一个1553B总线仿真测试系统,通过仿真设备可用于模拟航电设备进行仿真测试,对开发1553B总线通信系统具有重要的现实意义和应用前景。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭