这年头,真的是只有用户想不到的,没有芯片厂家做不出来的。
我对LVDS的理解还停留在“电流型,最好一对一,否则一旦出现多个发送很容易造成端口过压”的老思维里,没想到人芯片厂家早就搞出了M-LVDS这个好东西啊!
目前只查了TI家的M-LVDS接口芯片的资料,就先记录一下TI家的M-LVDS接口芯片吧。
首先,TI芯片选型列表:
图1 TI LVDS接口芯片选型列表
其中粉色框中的芯片为支持M-LVDS的接口芯片。
以4路的DS91M040为例,芯片手册地址:https://www.ti.com.cn/cn/lit/ds/symlink/ds91m040.pdf?ts=1717477662631&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FDS91M040https://www.ti.com.cn/cn/lit/ds/symlink/ds91m040.pdf?ts=1717477662631&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FDS91M040手册中,当端口作为接收器Receiver时,端口A及端口B可承受的电压:
由列表可知,作为接收器时,type1电压模式下,AB端口间差分电压差值在±50mV~±2.4V范围内,type2电压模式下,AB端口间差分电压值在-2.4V~50mV,及150mV~2.4V范围内,只要不超过±2.4V器件都可正常工作;AB端口的共模电压值最大可达到3.775V,最低可到-1.375V。
而传统LVDS电平标准中,一般共模电压在1.2V左右,差模电压范围在±100mV~±600mV之间,一般典型值为350mV,对应总线上电流为3.5mA,选取终端电阻为100Ω。
因此对传统LVDS而言,假设选取终端电阻为100Ω,一旦线路上同时两路发送,则线路电流为7mA,差分电压达到±700mV,已经超过器件允许范围了。
对M-LVDS接口,本身总线驱动电流已经增强,为12mA左右,选取50Ω终端电阻,则差分电压为±600mV,器件正常工作;假设此时有3路同时发送,则差分电压为±1.8V,未超过器件正常工作范围,器件仍可正常工作。这种应用对应应用手册AN-1926中“总线或”实施方案。
该应用为3路驱动与1路接收形成总线或操作。
3路驱动端口均设置为H,采用驱动使能作为总线输入;1路接收器的RO端口作为总线输出。
则当3路驱动器均未选通时,总线为低,对应接收器RO输出0;当其中1路或者多路驱动选通后,总线为高,对应接收器RO输出1。该逻辑即为总线的或逻辑。
而根据上面对M-LVDS接口电平的分析,该总线工作方式可行。
不过根据上面提到的应用手册AN-1926中第四章内容表4-1,LVDS接收器允许的差分电压范围也有可能是±0.2V~±2.4V,在应用中还是应以具体应用手册为准。
以Xilinx的FPGA为例(K7),LVDS端口能接受的输入差分电压为:
输入差分电压范围最大为600mV,一旦超过,很有可能会造成IOB的损坏,或者因过应力而导致寿命缩短等问题。