热度 24
2014-12-15 22:00
3327 次阅读|
3 个评论
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发送端 PCIe接收端