一、LVDS简介
LVDS:Low Voltage Differential Signaling,是一种低压低摆幅的差分信号技术,
典型信号摆幅为 350mv,对应的功耗很低,它使得信号能在差分PCB线对或平衡电缆上以几百Mbps的速率传输,
其低压幅和低电流驱动输出实现了低噪声和低功耗。
因此,LVDS 是一种效率极高的技术。LVDS传输支持速率一般在155Mbps(大约为77MHZ)以上。
IEEE在两个标准中对LVDS信号进行了定义。ANSI/TIA/EIA-644中,推荐最大速率为655Mbps,理论极限速率为1.923Mbps。
二、LVDS信号传输组成
LVDS信号传输一般由三部分组成:差分信号发送器,差分信号互联器,差分信号接收器。
-
差分信号发送器
将非平衡传输的TTL信号转换成平衡传输的LVDS信号。通常由一个IC来完成,如:DS90C031 -
差分信号接收器
将平衡传输的LVDS信号转换成非平衡传输的TTL信号。通常由一个IC来完成,如:DS90C032 -
差分信号互联器
包括联接线(电缆或者PCB走线),终端匹配电阻。按照IEEE规定,电阻为100欧。我们通常选择为100,120欧。
三、mx53的LDB模块
mx53的LDB(LVDS Display Bridge)模块,
包含一个LDB Mux&Control子模块,以及两个LDB Channel即lvds信号输出接口。
每个输出接口有5对差分信号线(4对数据和1对时钟线)。
mx53的LDB支持两路不同输入并且同时输出两路信号。
四、工作模式
mx53的LDB模块,有4种工作模式:
- Single channel output:单路视频信号输入,单路LVDS输出。
- Dual channel output:单路视频信号输入,双路LVDS输出到两个屏幕。
- Split channel output:单路视频信号输出,信号内容分成奇偶像素分别从两路LDB channel输出
- Separate 2 channel output:双路独立视频信号输入,双路独立LVDS输出。
五、Bit 映射
所谓Bit映射模式,指的是并行的24或18路RGB信号转为LVDS串行数据时,各个信号bit在4路lvds差分数据线上的分布。
mx53的LDB模块,支持2种映射模式SPWG mapping和JEIDA mapping
从图中可以看出,在这种模式下DATA3传输的是每种RGB信号的低两位以及一个通常不用的可选CTL bit。
而对于24bit颜色而言,裁剪掉RGB低两位人眼很难察觉。
海外版使用的是18bit显示屏,我们可以设置18bit传输方式,然后去掉DATA3这路差分线,有助于EMC的改善。
六、LDB 命令行设置
由于飞思卡尔已经给出了ldb驱动,并且接受uboot的命令行参数,
所以调试LVDS时,我们需要设置uboot命令行,下面是LVDS海外版的LVDS参数:
video=mxcdi1fb:RGB666,AUO di1_primary ldb=single,di=1,ch1_map=JEIDA
- mxcdi1fb指定看di1输出格式,加上后面的di1_primary,决定了FB0的数据从硬件上的di1通道走,也就是从LDB1这路通道输出。
- RGB666,AUO 指定了输出RGB格式为18位,AUO则指定了显示timing参数.
- ldb=single,di=1,ch1_map=JEIDA 指定工作模式为single,数据源为di1,输出通道ldb1的bit mapping为JEIDA模式。
七、LDB 显示时钟设置
LVDS显示涉及到两个时钟,概念di_clk和ldb_clk_prate。
-
di_clk
指的是显示一个指定分辨率的画面的RGB像素时钟,这个时钟的值需要看显示时序的定义。
例如海外版AUO这个时序参数集,我们设置的PCLK为28M,说明每秒有28M个RGB像素值输入到LDB模块。 -
ldb_clk_prate
指的是,lvds差分线上的串行时钟,从上面的bit mapping图中我们可以看出,一个24bit RGB像素值加上几个控制bit,需要每路lvds data线7个bit位来传输,这样我们可以得出公式:di_clk = ldb_clk_prate/7。
由于di_clk是我们预先设置好的已知值,所以只要在static int ldb_fb_pre_setup(struct fb_info *fbi) 函数中,把ldb_clk_prate值修改一下即可。 海外版中 ldb_clk_prate = 28M * 7 = 196M.
八、LDB Split channel工作模式说明
随着1080p以上的高清视频信号成为主流,24bit颜色要求大约595MHz的lvds串行时钟,这接近了4通道LVDS接口的极限能力,对硬件设计提出了挑战。
于是lvds规范定义了双路8位lvds输出位接口,这种接口电路中,采用双路方式传输,每个基色信号采用8位数据,
其中奇路数据为24位,偶路数据为24位,共48位RGB数据,
因此,也称48位或48bit LVDS接口。
双路传输共用了10个通道(2个时钟信号、8个数据信号),
在一个时钟周期内传送了56bit数据信号包括6×8位的RGB信号(两个像素)、使能信号DE、控制信号CNTLF和CNTLE、行场控制信号以及两个预留位RES。
与单路传输相比,点时钟降低了一半,也就是位宽是原来的2倍。
IC对较宽数据位处理时具有更大的采样余量,以及更大的电压和温度容限。
此外,信号频率低,噪声频率也低,功耗也小。
mx53的Split channel工作模式就是用在这种双路lvds输出的情况下。
目前的项目中的主屏幕分辨率都比较低(800×400)。而1920×1080以上的屏幕目前在车机中很少使用,所以短时间内尚不会使用到这种模式。
附上一篇写的挻好的一篇文章 《https://blog.csdn.net/a617996505/article/details/82386952》