阅读:3842回复:4
PCI9054如何实现LOCAL端对内部寄存器的读写?
PCI9054如何实现LOCAL端对内部寄存器的读写?
我现在想通过从local端(FPGA)对9054内部寄存器(doorbell寄存器)写入数据,以实现local端中断产生,应该如何编写逻辑? 我现在的中断逻辑一启动就会死机,这是怎么回事?谁有现成的参考逻辑程序,能否给俺参考一下,谢谢! tianhaolee@yahoo.com |
|
|
沙发#
发布于:2003-05-26 10:50
1、参考PCI9054文档FIGUE4-7!
2、在对LOCAL寄存器读写时,首先发出一个地址信号,该地址就是寄存器相对于LOCAL端的地址。 3、地址有效时,要使得CCS#信号有效,这样PCI9054就会锁存该地址。就是使用ADS进行地址译码的使能信号。 4、然后通过读写信号和数据信号将数据写入指定的寄存器中。 |
|
板凳#
发布于:2003-05-26 18:32
这些是PLX的技术知识库中的,希望对你有用:
1. Question Local Access to PCI9054 Internal Registers Answer Local Access to PCI9054 Internal Registers requires valid LBE# signals even though the 9054 register data is 32-bit aligned. 2.Question 8-bit and 16-bit Local Bus Access to Internal Registers Answer Access to the internal registers of PCI 9080 and PCI 9054 from Local Bus must be with a 32-bit non-pipelined bus. 8-bit and 16-bit devices accessing to the internal registers of PCI 9080 and PCI 9054 must implement external data latches to combine the data for a 32-bit data access. 3 Question Local Access to Internal Registers Answer If you want to access internal registers from the Local Bus, your local processor needs to drive ADS#, S0# (if the address decode pin ADMODE = 0), and appropriate offset address to the internal register. When the data is ready to be read, 9080 will assert LRDYo# to the processor signaling the master to latch in the data. |
|
地板#
发布于:2010-10-26 15:25
我最近也在弄FPGA+PCI的开发板,我按数据手册上的Timing Diagram 5-13以及5-14 本地总线对配置寄存器的读写时序进行设计的,寄存器的地址是数据手册上寄存器那一章上的Local Access(Offset from Chip Select Addresss)这一栏上标注的,可是当我下载进去之后,发现寄存器的根本没有改变。说明一下,我需要在FPGA端启动一次DMA传输,需要对DMA的相关寄存器进行配置。那位大侠指点一下,是不是在本地端对内部DMA寄存器访问的时候,还需要有什么其他的寄存器进行设置,或者我选用的这个地址是不是正确的?
|
|
地下室#
发布于:2010-10-29 17:52
哪位大侠帮帮忙
|
|