TMS320C6678中Hyperlink的架构
[复制链接]
1.hyperlink需要一个参考时钟为SerDes模块服务,可以选择156.25Mhz,250Mhz,312Mhz。
2.管脚描述,serdes是数据传输,LVCMOS是边带信号用于控制,数了一下一共26根线,8*2的LVCMOS线,10根serdes线。具体功能如下图:
3.TXPM和TXFL控制serdes的TXDATA;RXPM和RXFL控制serdes的RXDATA。
4.电源管理和流控管理的四个位D3D2D1D0只有前两位D0D1是有效的,D0=1表示支持高于12.5G的Baud,D0=0表示支持12.5G和低于。D1=1表示支持4个通道,D0=0表示不支持4个通道。
5.激活通道:
激活通道,传输方通过TXPM发送一个power-up事件告知接收者。接收方通过RXPM接收该power-up事件,然后使能接收。档接收方已经完全和传送方的训练序列同步之后,接收方发送个事件回去告诉发送者现在可以使用通道来进行数据传输了。然后接收方侦测到该传输并从训练队列切换到数据接收模式。
在serdes内支持符号对齐,PLS需要使能去通知serdes符号对齐会发生。同步字包含一个comma"逗号?"以方便serdes可以轻易的完成。每一个通道都需要符号对齐,取决于其他通道的状态,相位矫正也许会在所有活动的lane中发生。这使得开发一个通道到四个通道的时候,在对齐过程中不会taken down。
流控对用户是透明的,hyperlink的接收端自动管理可用资源的传输流量,并且限制TX端的流量通过边带信号。
6.电源管理:
hyperlink根据lane power management register决定通道的电源状态,并且通过sideband signals统治相关的接收者进入相同的电源状态。
在重启阶段,serdes和所有通道一样处于掉电模式。当退出掉电模式之后,HYPERLINK模块通过sideband总线发送一条消息给远程的相关设备请求其能力。当收到应答之后,HYPERLINK自动的进入一种可操作的状态。serdes只有在PWRMGT寄存器被清零或者传送挂起的时候才会被带出复位。hyperlink模块会基于PWRMGT寄存器和outbound load来自动的改变电源模式。默认情况下,HYperlink 让传输连接空闲知道节后到从VBUS的从端口来的传输。然后hyperlink进入单一通道模式为该传输服务并且一个通道的上电处理也已经完成。hyperlink根据traffic load动态的管理他的电源模块。当一个通道跟不上数据传输的时候,hyperlink就会自动进入四个通道的模式,如果流量低于一个通道的,那就自动转到单通道模式。如果流量进一步减少,Hyperlink会自动的进入0通道模式,关闭serdes的传输,直到通道内有传输来。发送和接收都是独立控制的一遍一些应用只有一个方向的传输。
不同模式的传输是被lane power management寄存器控制的。
7.serdes配置和时钟
该模块控制hyperlink的开发速率,提供hyperlink的发送和接收以及外部设备的管脚之间的接口。文档末尾体供了配置serdes的相关例子。serdes寄存器是芯片级的,并不在hyperlin的配置寄存器空间。在操作这些寄存器之前,必须对Kick寄存器操作以允许有对寄存器操作的权限。
serdes的时候取决于hyperlink serdes PLL和发送接收的RATESCALE,速率比例因子。环路带宽?loop bandwidth。
hyperlink serdes的主要目的是由一个低频率的参考时钟(REFCLK)生成一个高频率的输出时钟。PLL输出频率由MPY决定,MPY在HYPERLINK_SERDES_CFGPLL中,计算公式如下:
PLL_OUTPUT=REFCLK*MPY
输出范围必须在1.5625GHz到3.125GHz的范围内。
为了消除抖动带来的干扰,引入了LOOP_BANDWIDTH来设置,公式如下:
PLL_BANDWIDTH = REFCLK/BWSCALE
|