PCI 9054应用总结

1 BAR大小的确定
软件向整个BAR都写1,再读取回来,确定BAR的可操作的最低位(该位为1)是哪一位(忽略bit3到bit0的处理)。
- 如果可操作的最低位为bit12,那么BAR可申请的最小地址空间大小为4KB(2^12)
- 如果可操作的最低位为bit20,则该BAR可申请的最小地址空间大小为1MB(2^20)

2 PCI9054三种工作模式
M模式:直接为Motorola公司的MPC850和MPC860准备的非复用接口
C模式:地址、数据线不复用
J模式:地址数据线复用

Figure 2-1 PCI 9054 Internal Block Diagram

3 PCIBAR地址解析
BAR0:Memory映射;存放PCI9054中的Local Configuration Registers、Runtime Registers和DMA Registers在PCI总线中的地址映射
BAR1:IO映射;存放PCI9054中的Local Configuration Registers、Runtime Registers和DMA Registers在PCI总线中的地址映射
BAR2:BAR2 + offset = LAS0BA + offset;其中LAS0BA为Local Address Space 0/1 Base Address的缩写
BAR3:BAR3 + offset = LAS1BA + offset

如果主机要访问BAR2和BAR3,需要设置位于BAR0空间的LAS0BA和LAS1BA的bit0为1

4 Local寄存器访问
MCU拉低CCS#片选,MCU访问的地址符合:片选BASE + offset

5 DMA
DMA模式传输外接FIFO的数据:FIFO本身没有地址,在调用P9054DMAReadWriteBlock()等函数时Local地址的设置,利用PCI9054 的Local地址线的高位通过组合逻辑电路产生一个信号去控制FIFO上的允许信号,而低位地址线可以不接,这样只有在设定的地址范围内才会选中FIFO进行操作,这就等于产生了一个“片选”信号。 

6 开发工具
PlxMon
Juno WinDriver:可以自动生成inf文件和驱动框架

发布了121 篇原创文章 · 获赞 47 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/zoosenpin/article/details/103830019
PCI
今日推荐