1. 基于FPGA的PCI总线图像采集卡的设计与实现_范赫南
1)配置了主模式单周期发数
(l)PCICR〔2:0]=111b,设定PCI9054工作方式为主模式。
(2)DMPBAM{1:0}=1b,设定本地端处理器访问PCI总线为存储器方式或IO方式。
(3)DMRR=FFF0000Oh,设定本地端处理器寻址空间是1MB。
2)给出了设计电路板的注意事项
3)提示了可以使用plxmon观测内存信息。
4)有基于win的驱动程序开发,少量内容
2. 基于PCI总线的高速采集系统的研究与设计_李旭鹏
总结的比较系统
3. 基于PCI总线的数据采集卡的实现_熊松
1)PCI配置寄存器组
PCIIDR[15::0]: 设备商ID号
PCIIDR[31::16]:设备标志号
PCICCR[7::0]: 寄存器标准编程接口。无定义
PCICCR[15::8]: 类码(其他桥设备)
PCICCR[23::16]:基本类码(桥设备)
PCISVID[15::0]:子系统ID号
PCISID[15::0]:子系统生厂商ID号
在PCI9054中,这两个寄存器的值分别为1OB5H和9054H。PCIIPR[7::0]: 中断引脚寄存器
PCIBAR0:表明PCI9054中的Local总线配置寄存器组、运行寄存器组和DMA寄存器组在PCI总线存储空间的起始地址。
PCIBAR1:表明PCI9054中的Local总线配置寄存器组、运行寄存器组和DMA寄存器组在PCI总线I/0空间的起始地址。
PCIBAR2:表明PCI9054的Local总线的地址空间0映射到PCI总线存储空间的起始地址。
PCIBAR3:表明PCI9054的Local总线的地址空间1映射到PCI总线存储空间的起始地址。
PCIMGR:表明总线主设备希望一次突发传输要求多长时间(以250ns递增)。
PCIMLR;表明总线主设备希望重新获得总线的最大延迟时间(以250ns递增)。
在PCI9054的配置寄存器中与PCI规范相匹配的六个基址寄存器,即从PCIBARO到PCIBAR5,其中PCIBAR4和PCIBAR5保留使用。在这六个寄存器的首位(bit 0)用于表示存储空间映射:0表示映射到内存空间,1表示映射到I/0空间。
2)Local配置寄存器组
PCI9054的本地配置寄存器按照功能可以划分成以下几个部分:Local Base Address (Remap)for PCI-to-Local Address Space 1:表明Local总线的Space 1在Local总线空间的基址,映射到PCI总线空间的位置,由PCI配置寄存器组中的
PCIBAR3决定。
Mode/DMA Arbitration: 主要用来设置Local总线的一些工作状态和DMA通道的优先级。
Big/Little Endian Description:用来设置Local总线在不同的工作状态时采用哪种字节调整技术(Little Endian和Big Endian)。
LMISC:里面有一个重要的状态位LMISC[2](Local Init Status),在任何PCI访问PCI9054前必须先要由Local总线或EEPROM设置该位。
3)DMA寄存器组
DMA寄存器主要针对PCI9054的双DMA通道(DMA Channel 0和DMA Channel 1)的功能进行设置。DMA ChannelO Mode:用来设置PCI9054的通道0的DMA工作方式(Local总线的宽度、内部的等待状态、中断的使能与选择、分散/聚合模式、块模式、请求模式)。
DMA Channel0 PCI Address: PCI9054 DMA通道0的传输对应的PCI总线空间的地址。
DMA ChannelO Local Address: PCI9054 DMA通道0的传输对应的Local总线空间的地址。
DMA ChannelO Transfer Size (Bytes):PCI9054通道0的DMA传输的字节数。
DMA ChannelO Command/Status: DMA通道0的控制位(DMA开始、DMA使能、DMA中止、清理中断)和状态位(DMA完成)。
DMA Channell Command/Status:有DMA通道1的控制位(DMA开始、DMA使能、DMA中止、清理中断)和状态位(DMA完成)。
DMA Channel0 Description Pointer:用于分散聚合中描述符位置、DMA传输方向、中断和结束的控制。
4)运行寄存器组
Interrupt Control/Status:有PCI总线和Local总线中断输出使能、Local总线中断输入使能、Local总线和LSERR输出使能和DMA中断使能等使能位以及DMA中断、PCI总线错误和Local总线错误等一些状态位。
Serial EEPROM Control,PCI command codes User I/O Control和Initial Control:有串行EEPROM控制位、PCI命令、用户I/O控制和部分中断控制。
5)给出了一组plxmon eeprom的配置 可以使用
给出了完整的verilog代码,可以进行尝试
给出了详细的上位机开发过程,可以进行尝试。
4. 基于PCI总线结构的数据采集系统设计_李小平
DMA 传输的配置方式,给出了一些时序
5.数字信道化接收机接口设计与PCI驱动开发_张涛
给出了eeprom的配置,不能用
寄存器和时序,还是看datasheet比较保险
接下来的工作:
1. 自习阅读一下3号文献
2. 试用一下plxmon软件的内存读写功能
3. fpga程序编写是否有可行性
4. 驱动开发的方案,和黎为进行交流
5. 先完成单周期发送数据的功能,再完成DMA的配置,过程中关注一下如何进行切换控制。