This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于AM437X中的GPMC接口与FPGA进行通信时关于硬件上一些疑问

我是一个刚接触CPU硬件的新人,不知道问题描述是否妥当,请各位大神答疑解惑

1、GPMC是一种并口,并且通过片选地址来寻址的,在与FPGA进行通信时,如果是往FPGA发送信号,那么需要对地址进行解码,解码得到后的片寻地址和掩码,通过存取引擎,将寄存器中的数据和地址发送给片选对应的外部FPGA,那么如果是接收FPGA的信号,是通过EDMA直接传送数据吗,此时不需要用到地址总线?

2、如果GPMC只连接一个FPGA,那么GPMC的片寻内存就不需要将512M的内存进行分割了,GPMC_CS0是不是直接接到FPGA上呢?其他的片选脚就用不上了呢?

3、我看手册时经常出现一个单词burst,不知道怎么去理解,比如burst transactions、wrapping burst,按字面意思翻译,突发的交互动作?包装破裂?感觉很奇怪,你都是怎么理解呀?

  • 1. edma不是必须的,edma是独立于CPU的模块,硬件搬移数据,不会占用CPU。

    2. GPMC可以设置每个片选信号对应的寻址范围。
    9.1.3.3.8.1 Chip-Select Base Address and Region Size
    www.ti.com/.../spruhl7h.pdf

    3. 一般一次发一个数据,burst模式是一次发多个数据。
  • 非常感谢!还想继续追问几个问题
    1、那我只设置CS0的寻址范围,其他六个CS的寻址范围设置为0可以吗?
    2、我看手册上GPMC的块框图中,ADDRESS走向只有一个方向,从里到外,如果只用地址总线,那么FPGA是否可以从接收到的地址直接读取CPU中L3缓存中的数据呢?
    3、GPMC_DIR这个管脚的作用,手册上说的是防止在连续读或者连续写的过程中,进程错乱,我是否理解有误,这个脚是必须用的吗?
  • 1. 可以的。
    2. GPMC的地址范围就是映射在L3 Memory Map。
    3. GPMC_DIR这个管脚不是必须的,请参考下面的帖子。
    e2e.ti.com/.../483930