RSS
热门关键字:
当前位置 : 主页>通信技术>通信设备>列表

基于FPGA DSP架构的高速通信接口设计与实现

来源:我要研发网 作者:52rd.info 时间:2008-05-18 点击:



  (3) 发送部分:与接收部分类似,也南编码和缓存两部分组成,相应的设计基本相同,这里不作过多介绍。由于dsp链路口每次传输数据个数的最小单位dspfpga是4个32位字,即8个链路时钟周期,所以发送时钟廊该每8个时钟周期一组,以凑够128bit,避免传输错误,其中多余无效的数据dsp可以自行舍去。发送部分采用dsp外部中断方式而不是链路口中断方式通知dsp接收数据。

字串2

  ts101的链路口通信协议要求链路口dspfpga接收端在传输启动一个周期后,将其lxclkout拉低,若可以继续接收,在下一个周期再将其拉高,以此作为连接测试。实际运行中发现,当fpga接收数据时,可将lxclkout信号一直驱动为高,不必做特殊的连接测试也能正确接收数据。另外,发送链路口数据时,由于发送缓存中已经对应仔好了要发送的8bit数据,故可以使用对fpga时钟信号(clk)倍频得到的pll_16ns信号来读发送缓存,读出的数据即链路口发送数据,再对pll_16ns信号的下降沿分频得到链路口的发送时钟信号。

字串6

  限于篇幅,本文只给出fpca接收ts101数据的时序图,如图3所示。lxclkin、lxdat[7..0]是dsp的链路口输出时钟和数据,lxclkout是fpga的回馈准备好信号。仿真中dspfpga链路口数据采用1f~3e(十六进制)的32个8bit数据,即从2221201f到3e3d3c3b的8个32bit数据;pll_32ns信号是fpga内部锁相环产生的与dsp链路口时钟异步的32ns时钟信号,用来校验令牌指令;w_fifo_en信号足写缓存使能信号,当令牌验证后使能接收缓存;dsp_dat信号是dsp通过链路门传输的32bit数据,通过对链路口数据的编码得到;w_buf_clk信号由链路口时钟dspfpga分频处理得到,将上升沿对应的32bit dsp数据写入接收缓存,完成接收过程。 字串9

基于FPGA DSP架构的高速通信接口设计与实现 字串7

  2.3 基于fpga的ts201链路口设计 字串2

  图4给出了fpga与ts201进行链路口通信dspfpga的设计框图。由于ts201的握手信号较多,所以相对ts101的链路口设计容易些。本设计fpga时钟50mhz,ts101核时钟500mhz,链路口时钟为dsp核时钟的4分频,采用4bit方式,单向实际数据传输速率为125mbps。 字串9

基于FPGA DSP架构的高速通信接口设计与实现 字串1

  ts201的链路口数据和时钟采lvds信号,具有速率dspfpga高、功耗低、噪声小的优点。cyclone系列芯片不仅支持lvds信号,还集成了lvds转换模块,这给设计提供了很大方便。应该注意的是,在硬件设计时lvds信号两极的pcb走线要匹配,并且注意匹配电阻网络的接入。具体请参考文献[6]-9 implementing lvds in cyclone de-vices。 字串3

  ts201的链路口有1bit和4bit两种传输方式,本文以4bit为例进行设计。图4给出的信号都是经lvds转换后的信号。由于ts201的收发做成了两个单独的通道,fpga的设计也应该相应地设计为两个通道,真正做到全双工通信,收发互不影响。接收与发送部分与ts101的设计基本相同,发送部分也采用外部dspfpga中断方式通知dsp接收链路口数据。ts201的通信握手信号有ack和bcmp#信号。其中ack信号用来通知接收准备好,在实时信号处理中,一般不允许数据传输的等待,故将这个信号置为准备好。bcmp#信号用于通知数据块传输的结束,当能确定dma传输数据个数时,可以将此引脚悬空。

字串4

  ts201链路口的收发机制非常相似,本文仅给出发送dspfpga数据时序图,如图5所示。l1_irq是fpga发给dsp的外部中断,用来通知dsp收数据;l1_acki是dsp的接收准备好信号;r_buf_en是读发送缓存使能信号;链路口时钟l1_clkout是以读缓存时钟r_clk下降沿的二次分频,对应从缓存中读出的4bit链路口数据l1_da-to。注意这里读缓存及时钟分频时会有纳秒级的延迟。 字串4

基于FPGA DSP架构的高速通信接口设计与实现 字串1

  3 dsp的相应设置 字串6

  ts101和ts201的链路口都配置了控制dspfpga寄存器(lctlx)和状态奇存器(lstatx)两组寄存器。lctlx用来控制链路口的传输,lstatx用来通知链路口的工作状态。ts101链路口时钟频率可以是核时钟的8、4、3或2分频,通过设置lctlx中的sp d位米完成,本文设计将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。

字串5

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

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

字串4

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
相关文章