PGA间接访问串行接口
一般情况下,CPU芯片都有并行CPU接口,CPU芯片通过CPU接口与FPGA相连,由FPGA芯片来模拟串行接口时序;FPGA与相应的串行接口芯片相连,代替CPU芯片完成串行接口芯片的读写访问。原理框图如图3所示:
CPU芯片通过并行的CPU接口对FPGA的内存空间进行读写操作;FPGA根据其内存中内容模拟串行接口读写时序,完成由CPU芯片并行接口到串行接口的转换。
以SMI(MDC、MDIO)接口为例来说明此方案具体实现方法。CPU芯片或以太网MAC芯片通过此SMI(MDC、MDIO)接口完成以太网PHY芯片初始化、以太网接口配置以及以太网接口状态查询等工作。其原理框图如图4所示:
SMI(MDC、MDIO)接口写操作:
(1)CPU芯片通过并行CPU接口把以太网PHY芯片地址,以太网PHY芯片寄存器地址,以及要写入到以太网PHY芯片的数据,写命令等写入到FPGA内存空间;
(2)然后再由FPGA把内存中的数据按照SMI(MDC、MDIO)接口的写时序写入到以太网PHY芯片,在此过程中由FPGA程序状态机来负责写开始、写结束、是否空闲等状态控制,接口时序完成由FPGA负责完成。
f龙源期刊网httpwwwqika
comc
以太网PHY芯片的单次写过操作完全可以交由FPGA完成;以太网PHY芯片多次写操作,采用在FPGA里加入FIFO缓存CPU多次写操作数据,然后再由FPGA依次发起写过程;在多次写过程,FPGA也完全可以代替CPU芯片或以太网MAC芯片完成SMI(MDCMDIO)接口写操作。
SMI(MDC、MDIO)接口读操作:(1)CPU芯片通过并行CPU接口把以太网PHY芯片地址,以太网PHY芯片寄存器地址,读命令等写入到FPGA的内存空间;(2)然后再由FPGA模拟出SMI(MDCMDIO)接口读命令,通过MDIO信号把读命令传递给以太网PHY芯;(3)以太网PHY芯片使用MDIO信号输出相应数据,FPGA利用MDC的时钟延把MDIO信号数据按bit存储到FPGA内存。
SMI(MDCMDIO)接口读操作,完全可以把读出的数据暂存到FPGA、CPLD内存中,CPU空闲时再读入到CPU芯片;或者结合MDINT中断信号,以太网PHY芯片状态发生变化MDINT产生中断时,CPU响应中断后再开始SMI(MDCMDIO)接口读操作。
此方案中串行接口芯片读写操作时序交由FPGA的状态机完成,FPGA分担CPU的时序模拟工作,CPU从大量模拟时序工作中解脱出来,节省CPU资源,CPU程序得到简化,提高CPU运行效率;缺点是需要FPGA的支持,以及足够的FPGA资源。
23SOPC技术访问串行接口
采用FPGA的SOPC技术单独完成对串行接口芯片的初始化、模式配置、状态查询等工作;SOPC作为次CPU独立的完成串行接口芯片的读写操作,主CPU需r