PCI总线是一种与C电感器PU无关的32/64位地址数据复用总线,工作频率为33 MHz/66 MHz,它支持突发传输,具有即插即用、电源管理等功能。PCI总线以其优良性能和可适工字电感应性成为现代微机的主流总线。在开发PCI设备的过程中,需要为PCI设备写驱动程序。Windows驱动程序模扁平型电感型(WDM)是Microsoft公司力推的全新驱动程序模式,它支持PhP、电源管理和WMI等技术。在Windows操作平台上,WDM已成为主流的驱动模型。这里主要介绍根据工程背景开发的基于PCI总线的实时测频卡的WDM驱动程序设计。
1实时测频卡硬件系统结构
实时测频卡的主要功能是实时测定信号频率,实时识别信号调制方式。系统的电路框图如图1所示。外部待测信号通过SMA接口进入实时测频卡的ADC。ADC输出的数字信号在FPGA中缓存后进入DSP。在DSP内对信号进行粗估,然后通过EMIF接口把转化为频率和相位控制字的粗估结果发给DDC。DDC做出调整后,通过FPGA把移频和降采样后的信号输入给DSP。 DSP依据粗估结果和DDC的数据进行实时测频。测频完毕后,通过PCI总线向PC机发出中断信号。PC机响应中断,读取DSP内指定位置内存处的测频数据。为简化PCI接口电路设计,选用带有PCI接口电路的DSP芯片TMS320C6416。
2 TMS320C6416的PCI接口介绍
实时测频卡通过TMS320C6416的PCI接口和主机进行通信。该接口符合PCI 2.2规范,能提供33 MHz总线时钟,32 b数据宽度,可达到峰值132 MB/s的数据带宽。PCI接口包括配置寄存器、I/O寄存器和存储器映射寄存器。图2给出了部分PCI配置寄存器。配置寄存器的主要功能如下:
(1)设备的识别、控制和状态指示。将供应商ID域、设备ID域、版本域、配置头类型域、分类代码域这五个域用于识别设备。所有的PCI设备必须设置这些域,配置软件可利用它们来确定系统中可用的PCI总线设备。对于TMS320C6416芯片而言,供应商ID为104CH;设备ID为A106H;其他三个域随不同的应用会有所改变。命令寄存器为发出和响应PCI总线命令提供粗略的控制。状态寄存器用于记录PCI总线有关操作的状态信息。
(2)中断引脚寄存器的功能。01H~04H值对应于PCI中断请求引脚INTA#~INTD#。
(3)基地址寄存器的功能电感厂家。其功能是为PCI设备指定存储空间。PCI存储空间一体成型电感分为独立寻址的Memory空间和I/O空间两类。Memory空间适用于设备功能寄存器较多或数据流量较大的场合,I/O空间适用于设备功能寄存器较少或数据流量较小的场合。PCI接口拥有3个基地址寄存器BAR用于保存指向PCI存储空间的指针。图2为部分PCI配置寄存器。
①Base 0基地址寄存器(BAR0)。确定一个4 MB可预取的PC机内存地址空间。将DSP存储空间中不同的4 MB空间都映射到PC机内存相同的4 MB空间中。由DSP页寄存器(DSPP)设置该区域在。DSP存储空间中的映射位置;用BAR0访问DSP内部的RAM和外挂的通过EMIFA和EMIFB访问的存储器空间。访问时每次最多只能读取DSP存储空间的4 MB内容,并且需要定义DSPP寄存器,以指定访问空间的起始地址。访问支持数据突发传输模式。这种映射方式只适用于DSP处于从模式。
②Base 1基地址寄存器(BAR1):确定一个8 MB不可预取的访问区间。对DSP芯片而言,其访问地址固定在0180000H~0200000H的范围内。用BARl来访问DSP内部所有的操作命令控制寄存器。
③Base 2基地址寄存器(BAR2):定义一个16 B的PC机I/O空间,用于访问PCI的I/O寄存器。BAR2加偏移00H,访问主机状态寄存器HSR;BAR2加偏移04H,访问主机对DSP控制寄存器HDCR;BAR2加偏移08H,访问DSP页寄存器DSPP。
3 WDM概述
WDM(Windows Driver Model)是一种遵循即插即用协议的内核模式驱动程序,它是微软的全新驱动程序模式,旨在通过提供一种灵活的方式来简化驱动程序的开发,在实现对新硬件支持的基础上,减少并降低必须开发的驱动程序数量和复杂性。在WDM中,采用图3所示的分层驱动程序体系结构。
在WDM模型中,每个硬件设备至少有两个驱动程序:总线驱动程序和功能驱动程序。总线驱动程序由操作系统实现,它在最底层直接与设备打交道,负责管理硬件与计算机的连接;负责发现总线上所有的设备,并检测设备何时添加到总线上或何时从总线上删除。设备功能驱动程序在上层通过与低层驱动程序打交道,进行硬件操作,以实现PCI设备的功能。中间还可以有类过滤驱动程序或设备过滤驱动程序用于修改和监视IRP(I/O请求包),实现数据的过滤或转换。一般在特殊的情况下才需要编写。在实际开发中,只需要开发一个设备功能驱动程序即可。
基于北斗二代系统的嵌入式船用导航仪硬件设计摘要:随着北斗二代系统的研制与建设,在导航领域我国将会从GPS主宰的局面转向为以我国自主研发的北斗二代全球导航系统为主的局面。为了实现北斗船用导航仪更轻便、快捷、低功耗和低成本,提出了一种采用ARM9
便携式家庭心电检测诊断仪的研制1、引言随着人民生活水平的提高以及社会老龄化程度的加深,心脑血管疾病的发病率呈上升趋势,已成为威胁人类身体健康的杀手之一。因为心脏病的发作具有突发性和随机性,为患者提供普及性心电图机以成为发展的必然趋
嵌入式系统在可配置系统中实现模拟I/O随着一种新产品 我们在Missing Link ELECTRONICS公司称之为 智能产品 的面市,嵌入式系统的发展出现了新动向。这一名词源自最近新出现的一个词 智能电话 ,用于描述具有智能电话特性的