在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8699|回复: 7

[原创] FPGA GTP使用

[复制链接]
发表于 2014-12-15 21:58:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
FPGA GTP及PCIe使用


                               
登录/注册后可看大图


MAX98090
—超低功耗立体声音频编解码器



                               
登录/注册后可看大图
可编程麦克风偏置


                               
登录/注册后可看大图
4.2mW录音功耗


                               
登录/注册后可看大图
3.6mW回放功耗

产品详情购买信息参数详情

                               
登录/注册后可看大图



v5——gtp的使用
1  GTP  时钟

   GTP 的时钟源可以有 三种提供方式    1,  相邻的  GTP_TILE   2.  从差分端 经过 IBUFDS输入,应为 GTP 为  一对 公用 一个PMA_PLL,则GTP0 可以直接使用GTP1的用户时钟,如TXUSRCLK时钟,但在接收端需要使用自己独立的时钟   RERXCCLK   恢复时钟,或则使用公共的TXUSRCLK  但必须使用频率矫正,如为16bit 端口宽度  则 useclk2  =useclk/2



2 复位

所有的GTP  设计必须复位,使用 PLLLKDET_OUT做DCM  及PLL 的复位信号,PLLKDET_OUT完成 后 变高,则DCM退出复位,  然后 RXRECCLK 时钟锁定,DCM锁定,LOCKED 信号有效,rxusrclk 被锁定,而此时 DCM及PLL的LOCKED 信号作为 GTP TX与RX 的复位信号, RX-TX退出复位状态,开始工作




3 对齐

comma对齐是必须的,对齐的序列由ALIGN_COMMA_WORD设置,合法边带间隔由INTDATAWIDTH定义,边带位置数由RXDATA字节数定义,通常不GTP默认的对齐序列 为 K28.5,接收机在字符中搜寻对齐序列字符,一旦找到 ,将对齐到此字符边界,并将通常此序列也作为时钟修正序列,将RXENMCOMMAALIGN拉高,使能负命令对齐功能,任何符合对齐命令的模块都将引起命令重对齐,在成功对齐后,RXBYTEISALIGNED 将拉高,此时将命令对齐使能关闭以保持此时的对齐,

4时钟修正

对于非同源时钟驱动的TX与RX,时钟修正是必须的,使用rxrecclk可以不修正 由于任何两个不同源的时钟总存在一定的频率差,对于 GTP来说 由于频率不同步,将产生字符丢失

     1,CLK_CORRECT_USE  设为 TRUE

     2,设置时钟校正序列 CLK-COR_SEQ_1

    3,RXbuffer  极限值设置

    4, CLK_COR_ADJ_LEN用于设置子序列数目,如果内部数据位宽为10bit,则时钟校正电路适配所有10bit 大的每个子序列



4.8B/10B

    1,字符运行一致性检查

    2,K码指示RXCHARISK

    3,命令检查 DEC_PCOMMA_DETECT is TRUE,RXCHARISCOMMA有效

    4,限制命令触发 DEC_VALID_COMMA_ONLY   K28.1 , K28.5,K28.7 因为他们都有一样的8/10B头


5,通道绑定

  1,发送器同时在所有线上发送一个虚序列模式,来调整每路LANE的延迟

   2,使能每个GTP收发器的通道绑定功能

   3,设置主通道  CHAN_BOND_MODE 为TRUE   主通道 CHAN_BOND_LEVEL设为1

  4, 设置 从通道为CHAN_BOND_MODE=SLAVE     从通道 CHAN_BOND_LEVEL设为 0


    5,连接通道绑定端从 MADTER到 每个SLAVE,或者直接使用菊花链

    6,设置通道绑定序列 和检测参数 CHAN_BOND_SEQ_LEN设置子序列长度 1-4

CHAN_BOND_SEQ_1*设置序列值,如CHAN_BOND_SEQ_2_USE 为TRUE,CHAN_BOND_SEQ_2*设置2的序列值,子序列有效激活的位数由 内部数据宽度和RX_DECODE_SEQ_MATCH决定, 设置最大偏移 ----当主通道接收到通道绑定序列 ,将不立即触发通道绑定,猪头感到必须等待一些时钟,否则 慢的通道可能还未接收到绑定序列,时钟校正和通道绑定电路一起执行,正常的他们不会冲突,除非通道绑定事假和时钟校正同时发生,这种情况,一个电路必须优先,确保时钟校正有更高的优先级,CLK_COR_PRECEDENCE设置为TRUE




6 使用 TX/RX phase Alignment

   1   bypass buffer  减少延迟,但此时 时钟校正和通道绑定无效,RX 时钟源必须使用RXRECCLK,

  2, RX_SXCLK_SEL设置为  RXUSR

  3,由 RXRECCLK驱动 RXUSECLK

4,使用GTPRESET或 CDRreset 复位RX数路径

5,等待 PMA PLL好 RXUSRCLK  DCM 或PLL  LOCK

6 等待CDR锁定 提供一个稳定的RXRECCLK

7,驱动RXPMASETPHASE 为高32个用户周期后,释放


总结: GTP的使用问题实际上可归为通信链路层的建立问题,通常通信采用数据帧的格式发送,则可以使用现有的通信协议 如:aurora   XAUI   PCIe  等

但对于高速信号的传输可能出现其他意想不到的问题,如通信速率上不去,误码率高等,此时可以采用预加重、均衡等,通讯距离比较长的,如backplane, 可以增加中继芯片,如national的 DS64B401 带均衡功能的高速信号中继芯片。




本人在FPGA 从事多年FPGA通讯,有PCIe、SATA、DDR3、GTP、dsp、PCI、CPCI、PCIe camerlink相机模拟等成功项目。

QQ:1719577901        

PCe发送端

file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/529450152/QQ/WinTemp/RichOle/V@%012V3O7XQOWZ7U8%60U3C2.jpg



PCIe接收端





发表于 2014-12-25 21:15:52 | 显示全部楼层
回复 1# chenjun1234


    good
发表于 2015-1-7 21:55:43 | 显示全部楼层
很好的分析
发表于 2015-1-21 11:43:19 | 显示全部楼层
我要使用artix 7 的GTP只看了 ug482_7Series_GTP_Transceivers ,对于GTP还是云里雾里。亲,有没有建议啊。
发表于 2017-2-28 15:00:08 | 显示全部楼层
你好,有个问题想请教下,GTP_CLK能不能用在其他地方?板子上只有一个差分晶振。
发表于 2017-2-28 21:37:07 | 显示全部楼层
好东西 谢谢
发表于 2019-8-16 09:56:13 | 显示全部楼层
好很好 非常好 特别的好!!!!!!!!!!!
发表于 2019-9-3 14:36:24 | 显示全部楼层
好东西,谢谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 14:31 , Processed in 0.024475 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表