SerDes宏和其配置
SRIO通过允许一个可扩展的非专有接口,为我们提供了许多好处。这个接口就是SerDes。
通过使用SerDes宏,可以与外设交流,并且外设都可以扩充带宽。同一个外设可以用在V1.2版本的RapidIO 接口协议的四个频率下:1.25、2.5、3.125和5Gbps。这样就可以在整个系统中有一个协议就足够了,可以选择性地选取带宽。这种做法消除了使用用户自带协议的情况,减短了研发周期。
由于SerDes是串行的,所以程序空间不限于一个板子上,它的应用空间是整个板子。(Because this interface is serial, the application space is not limited to a single board. It will propagate into backplane applications as well.)
这些在ASIC(Application Specific Integrated Circuit 特定用途集成电路)或DSP上集成的宏可以减少板子上分立元件的数量,并且消除对总线驱动芯片的需求。
TI SerDes宏附有一些有用的特点。
1)可以唯一地管理系统优化,以针对个别客户的需求。例如,控制寄存器内的SerDes允许你调整TX的差分输出电压,这样就可以减少TX的摆动,进而省电。
2)数据边缘率(data edge rates)可以类似地调整,以减少电磁干扰的影响。
3)不使用的连接可以不通电,减少功耗。
SerDes宏是一个独立的宏,包含RX(接收寄存器),TX(传输寄存器),PLL(锁相环),时钟恢复模块,串行至并行模块(S2P),并行至串行模块(P2S)。内部锁相环可以为用户提供参考时钟,所有锁相环的环路滤波器都在片上。同样,差分RX和TX缓存也包含片上(on chip)终端电阻。唯一需要片外提供的是直流阻塞电容器。
使能锁相环(Enabling the PLL)
物理层SerDes有一个内置的锁相环,用于时钟恢复电路。该锁相环是为一个低速参考时钟做倍频的,这个低速参考时钟与串口数据没有任何时序关系,同时与CPU时钟是异步的。
高速倍频时钟只在SerDes内部使用,不会分到周围的外设当中,也不是设备核的一个边缘信号(nor is it a boundary signal to the core of the device)。拥有一个高质量的参考时钟非常重要,同样,将时钟和锁相环与噪声隔离也非常重要。
SerDes宏是通过这些寄存器进行配置的:SRIO_SERDES_CFGPLL, SRIO_SERDES_CFGRX[3-0], SRIO_SERDES_CFGTX[3-0],和SRIO_SERDES_RSVD。为了使能内部锁相环,SRIO_SERDES_CFGPLL的ENPLL位必须置1,置1之后等待1秒让稳定器使系统稳定,此后,如果RIOCLK存在并且RIOCLK稳定,锁相环将使用不超过200个参考时钟周期,来锁定所需的频率。
为了确定锁相环是否已经稳定,可以看SRIO_SERDES_STS寄存器的lock位,1是已经稳定,0是未稳定。
使能接收器(Enabling the Receiver)
为了使能一个接收器来解串(deserialization),SERDES_CFGRXn_CNTL 寄存器的ENRX位必须置1。
当ENRX位是0的时候,所有接收器中的数字电路将被禁用,时钟也会被锁定。除了相关的信号丢失检测器和IEEE1149.6边界扫描比较器,接收器的其它模块所有电流被完全切断。信号丢失断