新闻中心

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

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

作者:时间:2013-12-04来源:网络收藏
one; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; MARGIN: 20px 0px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: 14px/25px 宋体, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  (1) 接收部分:由编码和缓存两部分组成。由于链路口的数错是DDR形式的,不方便数据的缓存,本文采用QuartusII Megafunctions中的altddio模块将上升沿数据和下降沿数据分开。注意这个模块的下降沿数据输出会滞后上升沿数据1个时钟周期,输出时应该用链路口时钟信号(LxCLKIN)通过D触发器来将数据对齐。该模块的inclock一定要用链路口时钟信号以保证数据的正确读取,如图2所示。又由于内部数据是32位的长字,所以写入接收缓存前应该用一组D触发器将数据进行32bit对齐,这里注意链路口先传输32位数据中的低8位。

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

  (2) 控制部分:由令牌转换模块和控制模块组成,是整个设计的核心部分,完成对各部分的控制和与内部进行通信(通过CTL一组信号)。TS101的链路口通信握手是靠两根时钟信号验证令牌指令完成,即当发送端驱动原本为高的LxCLKOUT信号为低电平,以此作为令牌请求向接收端发出。如果接收端准备好接收,则接收端驱动LxCLKIN为高;如果令牌发出6个时钟周期后,LxCLKIN信号仍然为高,则肩动数据传输(以上时钟信号都以发送端视角分析)。本设计中,令牌转换模块负责验证令牌和发送令牌。这里要注意,由于用来验证令牌低电平个数的时钟信号(PLL_32ns)是由时钟信号(CLK)通过锁相环倍频得到,与链路口时钟异步,故验证令牌时,当计数器计到5个低电平时即可认为已达成通信握手,否则可能会丢失数据。达成握手后通知控制模块向接收或发送缓存输出控制信号,其中接收控制信号包括写缓存时钟和写使能。发送控制信号包括读缓存时钟、读使能和DSP中断信号(DSP_IRQ),其中写缓存时钟通过对链路口时钟分频得到,读缓存时钟由锁相环倍频工作时钟得到。

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

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

  限于篇幅,本文只给出FPCA接收TS101数据的时序图,如图3所示。LxCLKIN、LxDAT[7..0]是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数据写入接收缓存,完成接收过程。

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

  2.3 基于FPGA的TS201链路口设计

  图4给出了FPGA与TS201进行链路口通信的设计框图。由于TS201的握手信号较多,所以相对TS101的链路口设计容易些。本设计FPGA时钟50MHz,TS101核时钟500MHz,链路口时钟为DSP核时钟的4分频,采用4bit方式,单向实际数据传输速率为125MBps。

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

  TS201的链路口数据和时钟采LVDS信号,具有速率高、功耗低、噪声小的优点。Cyclone系列芯片不仅支持LVDS信号,还集成了LVDS转换模块,这给设计提供了很大方便。应该注意的是,在硬件设计时LVDS信号两极的PCB走线要匹配,并且注意匹配电阻网络的接入。

  TS201的链路口有1bit和4bit两种传输方式,本文以4b

fpga相关文章:fpga是什么


通信相关文章:通信原理




评论


相关推荐

技术专区

关闭