微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP 的PCI 通用运动控制卡的硬件设计

基于DSP 的PCI 通用运动控制卡的硬件设计

时间:10-23 来源:互联网 点击:

,写入寄存器的值为00008001H;LAS0 局部总线区域描述符用来定义地址空间0 的具体工作特性。由于板卡数据总线采用16 位,工作方式定义为不使能突发和不可预取,因此写入寄存器的值为4043A1C0H;片选0 基地址寄存器用来确定片选信号有效的地址范围,其既确定了片选信号的基地址又确定了片选信号的地址范围。

这里控制卡采用PCI9052 的CS0#作为双口RAM 的片选信号,则其起始地址和地址范围都可由片选0 基地址寄存器设置。由于双口RAM 容量为2KB,因此设置CS0#基地址寄存器的第11位为1,又局部总线端空间0 的基地址是0x00008000H,为方便寻址,将CS0#的基地址和局部总线端空间0 的基地址设为同一值。由于基地址(8000H)是CS0#地址范围的16 倍,所以将CS0#基地址寄存器的第16 位设为1,再将位0 设为1 使能,这样写入片选0 基地址寄存器的值为0x00008401H。当PC 机寻址时,地址映射到局部总线端的空间0,从其基地址开始的2K 空间落在CS0#基地址寄存器所设置的范围内,CS0#端则有效,可对双口RAM各单元进行读写,这样就不必根据地址译码得到片选逻辑,简化了硬件设计。此外,PCI9052提供两种中断源,即硬件和软件中断。这里板卡使用其提供的2 个局部中断中的一个,即LINTi1 引脚,通过设置中断控制/状态寄存器(INTCSR)实现,并生成PCI 中断INTA#方式。

4 驱动程序的开发

为了从 PCI 总线配置寄存器中获得上位机动态分配的映射基地址,并对映射端口进行读写,必须编写驱动程序。编写时可以使用DDK,但是难度较大,需要做很多通用的基础性工作。为简化驱动程序开发,可以采用NuMega 公司开发的DriverStudio 中的DriverWorks工具包进行WDM 驱动程序设计。由于其被嵌入到VC 中,因此可更方便的用于开发和调试驱动程序。实践表明,DriverStudio 并没有通过牺牲系统性能来换取驱动程序的快速开发。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top