新闻中心

EEPW首页 > 模拟技术 > 设计应用 > FPGA+DSP的高速通信接口设计与实现

FPGA+DSP的高速通信接口设计与实现

作者:时间:2013-12-04来源:网络收藏
it为例进行设计。图4给出的信号都是经LVDS转换后的信号。由于TS201的收发做成了两个单独的通道,的设计也应该相应地设计为两个通道,真正做到全双工通信,收发互不影响。接收与发送部分与TS101的设计基本相同,发送部分也采用外部中断方式通知接收链路口数据。TS201的通信握手信号有ACK和BCMP#信号。其中ACK信号用来通知接收准备好,在实时信号处理中,一般不允许数据传输的等待,故将这个信号置为准备好。BCMP#信号用于通知数据块传输的结束,当能确定DMA传输数据个数时,可以将此引脚悬空。

  TS201链路口的收发机制非常相似,本文仅给出发送数据时序图,如图5所示。L1_IRQ是发给的外部中断,用来通知收数据;L1_ACKI是DSP的接收准备好信号;R_BUF_EN是读发送缓存使能信号;链路口时钟L1_CLKOUT是以读缓存时钟R_CLK下降沿的二次分频,对应从缓存中读出的4bit链路口数据L1_DA-To。注意这里读缓存及时钟分频时会有纳秒级的延迟。

  FPGA+DSP的高速通信接口设计与实现

  3 DSP的相应设置

  TS101和TS201的链路口都配置了控制寄存器(LCTLX)和状态奇存器(LSTATx)两组寄存器。LCTLx用来控制链路口的传输,LSTATx用来通知链路口的工作状态。TS101链路口时钟频率可以是核时钟的8、4、3或2分频,通过设置LCTLx中的SPD位米完成,本文设计将SPD位置000,即为核时钟8分频。由于TS201的接收发送通道独立,所以其控制寄存器分为接收控制寄存器(LRCTLx)和发送控制寄存器(LTCTLx)。TS101链路口发送时钟频率可以与核时钟相同或为其4、2、1.5分频,通过设置LTCTLx中SPD位来完成。本文设计将SPD位置100,即为核时钟4分频,并将LRCTLx/LTCTLx中(接TDSIZE位置1,设置成4bit传输方式。如果BCMP#信号悬空,注意一定要将LRCTLx巾RBCMPE位置0。

  有两种方法启动DSP的链路口DMA传输:利用链路中断和利用DSP的四个外部中断(IRQ0-IRQ3)。两种中断方式都需要在中断服务程序中对DMA的TCB寄存器进行配置来启动链路口的接收DMA通道。鉴于外部中断的优先级高于链路口中断,可以避免数据丢失,本文设计的通信方式均以外部中断方式通知DSP接收数据。在DMA的TCB寄存器配置过程中,为了保证程序不被其他中断打断,可以在中断服务程序开始时就把所有其他中断屏蔽掉,存中断服务程序返回之前再把屏蔽掉的中断位还原。

  本文对TigerSHARC系列的两种典型DSP芯片的链路口进行了分析和比较,并给出了与这两种DSP芯片进行链路口通倍的具体方法。在FPGA内部实现了DSP链路口的设计,同时给出了DSP进行链路口通信的具体设置方法。由于实时处理中数据的重发会严重影响处理的实时性,故本文的链路口通信设计没有对所传输的数据进行校验。本文给出的基于FPGA路口设计具有很强的通用性,可以应用于基于TS101/TS201的多种应用系统中,提高系统内部的通信能力,也可用于板间DSP的数据传输,提高系统外部的通信能力。

fpga相关文章:fpga是什么


通信相关文章:通信原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭