登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 通信学苑 > 中级互联网技术 >> 正文
正文
DSP和FPGA的高速通信接口的实现
来源:尚大教育-通信学院 作者:辉辉 时间;2012-12-28 点击数: 尚大软考交流群:376154208
在雷达信号处理、数字图像处理等领域中,信号处理的实时性至关重要。由于FPGA芯片在大数据量的底层算法处理上的优势及DSP芯片在复杂算法处理上的优势,DSP+FPGA的实时信号处理系统的应用越来越广泛。ADI公司的TigerSHARC系列DSP芯片浮点处理性能优越,故基于这类。DSP的DSP+FPGA处理系统正广泛应用于复杂的信号处理领域。同时在这类实时处理系统中,FPGA与DSP芯片之间数据的实时通信至关重要。

  在雷达信号处理、数字图像处理等领域中,信号处理的实时性至关重要。由于

FPGA芯片在大数据量的底层算法处理上的优势及DSP芯片在复杂算法处理上的优

势,DSP+FPGA的实时信号处理系统的应用越来越广泛。ADI公司的TigerSHARC系

列DSP芯片浮点处理性能优越,故基于这类。DSP的DSP+FPGA处理系统正广泛应

用于复杂的信号处理领域。同时在这类实时处理系统中,FPGA与DSP芯片之间数

据的实时通信至关重要。


  TigerSHARC系列DSP芯片与外部进行数据通信主要有两种方式:总线方式和

链路口方式。链路口方式更适合于FPGA与DSP之间的实时通信。随着实时信号处

理运算量的日益增加,多DSP并行处理的方式被普遍采用,它们共享总线以互相

映射存储空间,如果再与FPGA通过总线连接,势必导致FPGA与DSP的总线竞争。

同时采用总线方式与FPGA通信,DSP的地址、数据线引脚很多,占用FPGA的I/O

引脚资源太多。 而采用链路口通信不但能有效缓解DSP总线上的压力,而且传

输速度快,与FPGA之间的连线相对也少得多,故链路口方式更适合于FPGA与DSP

之间进行实时数据通信。


  参考文献[3]给出TS201与TS101的性能比较,但没有针对两者的链路口进行

详细介绍,本文对两者的链路口进行了细致的分析和比较。文献[4]所设计的采

集系统中,DSP与FGA的通信仅限于FPGA发、TS101收的单工通信;文献[5]给出

了FPGA内部没计TS101链路口的框图,但只给出了简单的介绍,无法给设计者以

参考。本文采用Altera公司Cyclone系列芯片EP1C12实现了与TS101/TS201两种

芯片的链路口的双工通信,并给出了具体的设计实现方法。其中TS101的设计已

经成功应用于某信号处理机中。

1 TS101和TS201的链路口分析与比较


  TS101和TS210都是高性能的浮点处理芯片,目前两者都广泛应用于复杂的

信号处理领域。TS201是继TS101之后推出的新型芯片,核时钟最高可达600MHz,

其各类性能也相对优于TS101,而且TS201的链路口采用了低压差分信号LVDS技术

,功耗更低、抗噪声性能更好。


  限于篇幅,TS101、TS201的链路口结构请参阅参考文献[1][2].由于TS101

收发端共用一个通道,所以只能实现半双工通信。而TS201将收发端做成两个独

立通道,可实现全双工通信,理论上数据的传输 速率可以提高一倍。虽然

TS201的链路口收发通道独立,但实际上二者的收发机制大体相同,都是靠收发

缓存和移位寄存器收发数据。然而FPGA内部的链路口设计不必拘泥于此,只要

符合链路口通信协议并达成通信即可。


  2 FPGA与DSP的链路口通信


  2.1 链路口通信协议分析


  TS101的链路口共有11根引脚,通过8根数据线(LxDAT[70],这里x可以是0

、1、2或3,代表TS101或TS201的0号~3号链路口中的一个,以下同)进行数据传

输,并采用3根控制线(LxCLKOUT、LxCLKIN、 LxDIR)来控制数据传输时钟、

通信的握于和数据传输方向。其中LxDIR为通知链路口当前工作状态是接收或发

送的输出引脚,可悬空不用。TS201的链路口共24根引脚,接收和发送各12根引

脚,通过LVDS 形式的数据线(LxDAT_P/N[30])和时钟线(LxCLK_P/N)进行数

据传输,并采用LxACK和LxBCMP#(‘#’代表信号低有效)来通知接收准备好和

数据块传输结束。


  采用FPGA与DSP通过链路口通信的关键是令双方通信的握手信号达成协议,

促使数据传输的进行。实际上,如果考虑TS201的LVDS信号形式已经被转换完毕

,则TS101和TS201链路口传输的数据形式是一样的,都是时钟双沿触发的DDR数

据,并且每次传输的数据个数都是4个长字(即128bit)的整数倍。鉴于以上两

种芯片链路口数据的共同点,所以采用FPGA与两类芯片通信时,接收和发送的

数据缓存部分的 设计应该是很相近的,只是通信握手信号部分的设计应当分别

加以考虑。下面分别给予介绍。

2.2 基于FPGA的TS101链路口设计


  (1) 接收部分:由编码和缓存两部分组成。由于链路口的数错是DDR形式

的,不方便数据的缓存,本文采用QuartusII Megafunctions中的altddio模块

将上升沿数据和下降沿数据分开。注意这个模块的下降沿数据输出会滞后上升

沿数据1个时钟周期,输出时应该用链路口时钟信号(LxCLKIN)通过D触发器来

将数据对齐。该模块的inclock一定要用链路口时钟信号以保证数据的正确读取

,如图2所示。又由于 DSP内部数据是32位的长字,所以写入接收缓存前应该用

一组D触发器将数据进行32bit对齐,这里注意DSP链路口先传输32位数据中的低

8位。


  (2) 控制部分:由令牌转换模块和控制模块组成,是整个设计的核心部

分,完成对各部分的控制和与FPGA内部进行通信(通过CTL一组信号)。TS101

的链路口通信握手是靠两根时钟信号验证令牌指令完成 ,即当发送端驱动原本

为高的LxCLKOUT信号为低电平,以此作为令牌请求向接收端发出。如果接收端

准备好接收,则接收端驱动LxCLKIN为高;如果令牌发出6个时钟周期后,

LxCLKIN信号仍然为高,则肩动数据传输(以上时钟信号都以发送端视角分析)

。本设计中,令牌转换模块负责验证令牌和发送令牌。这里要注意,由于用来

验证令牌低电平个数的时钟信号(PLL_32ns)是由FPGA时钟信号(CLK)通过锁

相 环倍频得到,与DSP链路口时钟异步,故验证令牌时,当计数器计到5个低电

平时即可认为已达成通信握手,否则可能会丢失数据。达成握手后通知控制模

块向接收或发送缓存输出控制信号,其中接收控制信号包括写缓存时钟和写使

能。发送控制信号包括读缓存时钟、读使能和DSP中断信号(DSP_IRQ),其中

写缓存时钟通过对链路口时钟分频得到,读缓存时钟由锁相环倍频FPGA工作时

钟得到。


  (3) 发送部分:与接收部分类似,也南编码和缓存两部分组成,相应的

设计基本相同,这里不作过多介绍。由于DSP链路口每次传输数据个数的最小单

位是4个32位字,即8个链路时钟周期,所以发送时钟廊该每8个时钟周期一组,

以凑够128bit,避免传输错误,其中多余无效的数据DSP可以自行舍去。发送部

分采用DSP外部中断方式而不是链路口中断方式通知DSP接收数据。


  TS101的链路口通信协议要求链路口接收端在传输启动一个周期后,将其

LxCLKOUT拉低,若可以继续接收,在下一个周期再将其拉高,以此作为连接测

试。实际运行中发现,当FPGA接收数据时,可将 LxCLKOUT信号一直驱动为高,

不必做特殊的连接测试也能正确接收数据。另外,发送链路口数据时,由于发

送缓存中已经对应仔好了要发送的8bit数据,故可以使用对FPGA时钟信号(CLK

)倍频得到的 PLL_16ns信号来读发送缓存,读出的数据即链路口发送数据,再

对PLL_16ns信号的下降沿分频得到链路口的发送时钟信号。


  LxCLKIN、LxDAT[70]是DSP的链路口输出时钟和数据,LxCLKOUT是FPGA的回

馈准备好信号。仿真中链路口数据采用1F~3E(十六进制)的32个8bit数据,即

从2221201F到3E3D3C3B的8个32bit数据;PLL_32ns信号是FPGA内部锁相环产生

的与DSP链路口时钟异步的32ns时钟信号,用来校验令牌指令;W_FIFO_EN信号

足写缓存使能信号,当令牌验证后使能接收缓存;DSP_DAT信号是DSP通过链路

门传输的32bit数据,通过对链路口数据的编码得到;W_BUF_CLK信号由链路口

时钟分频处理得到,将上升沿对应的32bit DSP数据写入接收缓存,完成接收过

程。

2.3 基于FPGA的TS201链路口设计


  由于TS201的握手信号较多,所以相对TS101的链路口设计容易些。本设计

FPGA时钟50MHz,TS101核时钟500MHz,链路口时钟为DSP核时钟的4分频,采用

4bit方式,单向实际数据传输速率为125MBps.


  TS201的链路口数据和时钟采LVDS信号,具有速率高、功耗低、噪声小的优

点。Cyclone系列芯片不仅支持LVDS信号,还集成了LVDS转换模块,这给设计提

供了很大方便。应该注意的是,在硬件设计时LVDS信号两极的PCB走线要匹配,

并且注意匹配电阻网络的接入。具体请参考文献[6]-9 Implementing LVDS in

Cyclone De-vices.


  由于TS201的收发做成了两个单独的通道,FPGA的设计也应该相应地设计为

两个通道,真正做到全双工通信,收发互不影响。接收与发送部分与TS101的设

计基本相同,发送部分也采用外部中断方式通知DSP接收链路口数据。TS201的

来顶一下
返回首页
返回首页
上一篇:通信技术:Linux主站平台设计
下一篇:利用OS任务调度来实现嵌入式数据管理
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年10月14日通信考试还有
通信各地考务机构
各省市通信报名简章