新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种采用PCI 软核的轴角数据采集系统

一种采用PCI 软核的轴角数据采集系统

作者:时间:2014-02-18来源:网络收藏

2 接口设计

接口采用Altera公司的Megacore宏单元_MT32实现。PCI_MT32是一个32位主。从方式的PCI接口功能模块,支持33 MHz和66 MHz的总线时钟。

PCI_MT32的功能框图如图3所示,由两部分功能组成,一部分与PCI总线相连接,包括PCI Address/DataBuffer(地址数据总线)以及PCI Target Control(PCI从方式)控制信号,这些信号的功能与PCI总线的接口协议的规范相同,另一部分与局部总线相连接,包括LocalTarget Address/Data/Command/Byte Enable寄存器。LocalTarget Control寄存器,用于传送地址。数据和控制信号。配置寄存器(Configuration registers)可以进行deciceID.vendor ID等参数的配置。

设计PCI的方法如下:在MAX+PLUSⅡ中,调入PCI_MT32宏单元后,根据数据采集板的功能和需要,设置PCI_MT32的参数表如下:

3 WDM驱动程序设计
PCI总线接口板驱动程序的设计采用CompuwareNumega公司的DriverStudio软件[9],其设计步骤如下:
(1)启动DriverWorks出现Driver Wizard的向导对话框,首先输入轴角数据采集板驱动程序的文件名:
MPCI;(2)选择文件的类型,选择其中的WDM项,表示生成WDM类型文件。
(3)选择接口板的类型以及填写Device ID和Vend-er ID.在接口板类型项中选择PCI.Device ID和Vend-er ID是设备标识符和销售商标识符,要与PCI接口板中的一致,因此填写“0004”和“1172”作为Device ID和VenderID,Subsystem ID和Revision ID项采用缺省值。
由上面的步骤产生的WDM驱动程序的框架代码(Mpci.dsw)需要添加代码,才能完成读。写和控制功能。在VC中打开Mpci.dsw,可以看到它是由两部分组成:一个是用于生成驱动程序的MPCI文件,一个是用于测试驱动程序的TEST-MPCI文件。因为PCI接口板的功能是读取数据,需要添加如下的“读取”控制代码:
程序中的I.ReadSize()=4是指每次读取的字节数是4,即每次读32位数据,PULONG pBuffer=(PULONG)I.
BufferedReadDest()表示通过缓冲区来读写IO.修改好的程序经过编译后,生成Mpci.inf和Mpci.sys文件,存放在sysi386的目录下。当把PCI接口板插入计算机后,重新启动计算机,系统显示找到新硬件,按照提示将Mpci.inf和Mpci.sys文件装入。

评论


相关推荐

技术专区

关闭