本文引用地址:http://www.eepw.com.cn/article/201706/348799.htm
FPGA与DSP的通信接口可以分成以下几种。
·存储型接口,如EMIFA、EMIFB等。
·主机型接口,如HPI等。
·总线型接口,如PCI、EMAC等。
·串口型接口,如McBSP、McASP、SPI、UART等。
·特殊类接口,如VLYNQ、VPORT等。
以上的接口中,比较常用的接口是EMIF和HPI。其中总线接口需要协议支持,开发难度较大,串行接口开发简单,但是速率较慢。VPORT等特殊接口一般是在特定的场合下应用,不具备通用性,而且需要修改DSP驱动,开发周期较长。
11.3.1基于TMS320C64x系列的EMIF接口设计
1.EMIF简介
TMSC64xEMIF是TMSC621xEMIF的增强版。它具备TMSC621x/TMSC671xEMIF的所有功能,并添加了以下新功能。
(1)EMIFA上的数据总线可以是64位宽,也可以是32位宽。
(2)EMIFB上的数据总线为16位宽。
(3)EMIF时钟ECLKOUTx为内部生成,并基于EMIF输入时钟。器件复位时,以下3个时钟之一会被配置为EMIF输入时钟。
·内部CPU时钟4分频。
·内部CPU时钟4分频。
·外部ECLKIN与TMSC64xEMIF接口的存储器应按照ECLKOUTx的时钟频率运行。
·可编程同步存储器接口控制器的同步控制引脚替换了固定的SBSRAM控制引脚。
·PDT引脚提供外部到外部传输支持。
如图11.4所示为组成EMIFA和EMIFB接口的信号,表11.2对这些信号进行了描述。端口A的信号都带前缀“A”,端口B的信号都带前缀“B”。为方便起见,所有信号名称都省略了EMIF端口前缀。
EMIFA接口具备与8、16、32或64位系统接口的功能。EMIFB接口端口仅支持8位和16位系统,如图11.5所示。
外部器件(主要是存储器)通常与总线的ED[7:0]字节侧右对齐。Endianess(字节顺序)决定ED[7:0]位是作为字节0(littleendian(小端))还是字节N(bigendian(大端),其中2N是总线宽度)存取。对不同字节通道的选择,可通过低有效字节使能信号的应用(如表11.2所示)来完成。
图11.4EMIFA和EMIFB信号
表11.2 EMIF信号描述引脚I/O/Z描述
CLKOUT4O/ZCPU时钟的4分
CLKOUT6O/ZCPU时钟的6分
ECLKINIEMIF时钟输入
ECLKOUT1O/Z速率为ECLKIN、CPU/4或CPU/6时的EMIF输出时钟
ECLKOUT2O/Z速