Other Parts Discussed in Thread:DS90CF366
大家好~
我这边的硬件扑拓结构如下:
SOC <–DSI–> ds90ub941 serializer <–FPDLINK–> ds90ub948 deserializer <–oLDI–> ds90cf366 <–RGB–> display monitor (480×240)
(display的分辨率是480×240,通过SOC的DSI输出,DSI信号输入ds90ub941,ds90ub941通过1根同轴线连接ds90ub948,ds90ub948连接ds90cf366再连接屏幕)
ds90ub941配置的CLOCK Mode为0,即“FPD-Link III is generated from DSI clock. The DSI clock has to be continuous.”。
刚开始ds90ub941配置的dsi lane数是4(通过MODE_SEL0配置),display monitor不能显示。
ds90ub941的datasheet中很多地方都说支持的最小pixel clock为25Mhz,
比如在“8.3.2 High-Speed Forward Channel Data Transfer”这个章节中有如下描述:
The device supports pixel clocks in the range of 25 MHz to 105 MHz over one lane, or 50 MHz to 210 MHz over two lanes.
算了一下当前配置的pixel clock的频率,不足10MHz,更不足25HHz,
然后把HFP、FBP等参数设置得尽量大些,能够产生的pixel clock的频率为:
(480+64+64+64)*(240+3+3+3)*60=10039680=10.04MHz
10.04MHz仍不足25MHz。
后来把ds90ub941配置的dsi lane数改为1(通过寄存器0x4f修改),并把SOC输出DSI信号的dsi data lane数由4改为1,这时display monitor能显示了。
附件是能显示与不能显示时的ds90ub941的寄存器dump。i2c_dumps.7z
我有如下两个疑问:
1.
既然10.04MHz的pixel clock可以工作了,是不是可以理解为ds90ub941的datasheet中的如下这句话不准确呢?
The device supports pixel clocks in the range of 25 MHz to 105 MHz over one lane, or 50 MHz to 210 MHz over two lanes.
2.
dsi data lane数由4改为1后display monitor能显示了,是因为dsi data lane数由4改为1后DSI Clock lane的频率提高了吗?且DSI Clock lane和Reference clock有关进而fREFCLK的频率也提高到25MHz以上了?
Kailyn Chen:
您好,25Mhz的像素时钟,分辨率大概为800*480@60fps。480*240的分辨率确实是低了,所以ds90ub941这边是否能支持我这边需要再确认下。
,
Kailyn Chen:
您好,显示器的分辨率是480*240, 您这边知道它的总的分辨率吗,因为480和240 我们通常指的水平和垂直的有效像素,实际我们在计算像素时钟的时候,要把水平和垂直的blanking 的部分加上,所以如果只按480*240@60fps的计算像素时钟只有10Mhz,我这边想看下加上blanking之后的时钟频率是否为多少。 或者您也可以附上显示屏的datasheet看下。
,
si NULL:
您好,谢谢回复~我可以提供显示屏的datasheet中的timing部分的截图:像素时钟最大可以是: (480+296)*(240+10)*60=11640000=11.64.MHz之前的如下计算过程已经考虑blanking了: (480+64+64+64)*(240+3+3+3)*60=10039680=10.04MHz如果不考虑blanking应该是 480*240*60=6912000=6.91MHz我补充个疑问3:3.像我目前的情况是能显示了,但会有什么潜在问题吗?
,
Kailyn Chen:
好的,您的计算没问题,加上blanking的部分,计算下来的像素时钟为11.64Mhz。
因为之前确实没有应用在这么低的分辨率的场合,至少也是800*480的分辨率(25Mhz),所以像您提到的潜在问题,我这边也要再确认下。给您带来不便非常抱歉。
,
Kailyn Chen:
您好,关于您的这个问题,我这边已经确认,是不建议使用941AS在这么低的分辨率下工作的,因为不能保证在所有环境或者所有操作温度范围内的性能,除非是提高PCLK的时钟频率。
,
si NULL:
您好,谢谢回复~
产品上有这个需求,不建议使用941AS在这么低的分辨率下工作的话,有什么替代方案吗?我不知道有什么其它DSI->FPDLINK串行器可以。
另外, 关于潜在问题有什么信息可提供吗?主要是指显示上的潜在问题,比如缺失像素、锯齿、概率性花屏等。
,
Kailyn Chen:
输入兼容MIPI DSI的目前只有两款,一款是UB941AS, 一款是UH941AS。但像素时钟最小都是25Mhz。
潜在问题的话, 是担心因为芯片的操作温度范围很宽,首先不能保证在整个温度范围内都是能正常工作的。 另外,也是不能保证会发生您说的一些显示问题,但是在25Mhz~105Mhz pixel clock 范围内,这些都是有保证的。
,
si NULL:
您好,谢谢回复~
请问有什么deserializer具有对HBP、HFP、HPW等参数进行修改的功能吗?我没看出来ds90ub948具有这样的功能。
如果有那样的功能的话,我可以把HBP、HFP等参数设置的很大来提高PCLK到25MHz以上,这样输入给941AS的PCLK是大于25MHz的,然后948输出的PCLK是小于25MHz的。
,
Kailyn Chen:
您好,deserializer不能对HBF, HFF或者HPW 参数进行修改。