TI中文支持网
TI专业的中文技术问题搜集分享网站

DS90UB941AS-Q1: dual link mode 的寄存器配置问题

Part Number:DS90UB941AS-Q1

硬件设计上是只接了DSI0    能支持到1080p60的dual link mode的输出吗? 有寄存器参考配置吗?

Kailyn Chen:

您好,1080p60 需要像素时钟频率为148.5MHz,而941AS的dual link的像素时钟为210Mhz。所以是可以支持的。

并且datasheet中也有描述:

Supports pixel clock frequency up to 210 MHz for 3K (2880×1620) at 30Hz, QXGA (2048×1536), 2K (2880×1080), WUXGA (1920×1200), or 1080p60 (1920×1080) resolutions with 24-bit color depth。 

dual link模式下,如果和948或940搭配使用的话 ,是自动可以识别的,不需要单独配置dual link 模式。

或者也可以通过寄存器DUAL_CTL1 配置为force dual link mode。

,

Kailyn Chen:

不好意思,需要补充下,刚看到您的电路是只接了DSI0, 那么这种情况下只能是single link mode的呢。

无法配置为dual link mode。 

,

buffer buffer:

也就是我们目前电路设计 就无法做到 dual link?  必须要接双DSI才行 对吧?

,

buffer buffer:

上图不是只接的一个DSI  然后输出dual link mode?

,

Kailyn Chen:

您好,不好意思,是的,上图这种使用两个deserilaizer的也是dual link。 single link和dual link的定义是通过下行端口即receiver 或者传输的视频源来决定的,

比如derseralizer 使用948或者940,输入有两个通道,所以941 和948或者941连接的时候就是dual link。

比如928或者926输入只有一个通道,那么就是single link。

所以按照您的描述,输出TX0 和TX分别和deserailzier的RX0和RX1连接的话, 即为dual link。

但是dual link的话,每个通道像素时钟为一半,即最高105Mhz,而1080p60的话需要148.5MHz的像素时钟,所以是不能同时输出两路1080p60分辨率的。

,

buffer buffer:

您可能理解错我的意思了

我的意思是 两个link 组成一个1080p60.     而不是 每个link都是1080p60

,

Kailyn Chen:

确认下您的应用,单通道DSI0 输入,输出双路DOUT0 和DOUT1,分别接两个deserializer是吗? 

如何将两个link组合成一个1080p60,DSI0和DSI1 两路输入,然后输出一路1080P60? 

,

buffer buffer:

单通道DSI0 输入,输出双路DOUT0 和DOUT1 ,接一个deserializer,一个948  deserializer 配合使用不行吗?

,

Kailyn Chen:

可以,也就是说941 DSI0 输入,DOUT0和DOUT1 输出,接948。 相当于948 dual link 输入,948的输出可以是single OpenLDI输出也可以是dual OLDI输出,但是时钟都能达到192Mhz,所以1080p60是支持的。

,

buffer buffer:

那941 这边 DSI0 单输入 也没问题对吧?  941这边有参考配置说明吗  该如何去配置?

,

Kailyn Chen:

您好,我的理解是,如果948 这边OLDI 需要1080p60 输出,那么FPD link端也需要支持1080p60. 

而对于DS90UB941来说,如果只使用DSI0 single input,像素时钟最大为105Mhz, 这样的话941的FPD  link端是无法支持1080p60输出的,所以需要941也是dual DSI input才行。

所以如果只是用DSI0或者DSI1 input, 整个架构应用是没问题的,但是对于948这端来说输出是达不到1080p60的,720p没问题,因为941的single input时钟为105Mhz。

,

buffer buffer:

先不考虑我们用的什么derseralizer

 只是用DSI0 input, dual link 输出的话, 整个架构应用是没问题的  那这个我941应该怎么配置呢、?

,

Kailyn Chen:

寄存器0x4F DUAL_DSI_EN  bit6=0 single DSI mode。

DSI_PORT_SEL bit50  DSI port 0

bit[3:2]=11 4lane 

dual link 输出,寄存器0x5B bit[2:0].可以配置为force dual link mode,即011, 也可以配置为: Auto-Detect FPD link mode 即为000.

另外就是寄存器0x01,可以enable DSI input。

enable DSI input以及DSI lane selection 既可以通过寄存器配置,也可以通过MODE_SEL[1:0] pin 配置,参考Table8-8.

,

buffer buffer:

输出port0  和port1的 那个clk 不知道怎么配,寄存器0x42  选择port0 要配一次  选择port1 要配一次?

我目前配置如下:

{0x01,0x08}, //Disable DSI {0x1E,0x01},  {0x1E,0x04},  {0x1E,0x01},  {0x03,0x9A},  {0x1E,0x01},  {0x40,0x04},  {0x41,0x21},  {0x42,0x60},  {0x1E,0x02},  {0x40,0x04},  {0x41,0x21},  {0x42,0x60},  {0x1E,0x01},  {0x5B,0x03},  {0x4F,0x8C},  {0x1E,0x01},  {0x40,0x04},  {0x41,0x05},  {0x42,0x18}, {0x1E,0x02}, {0x4F,0x8C},  {0x1E,0x02}, {0x40,0x04},  {0x41,0x05},  {0x42,0x18}, {0x01,0x00}, //Enable DSI

,

Kailyn Chen:

输出port 0 和输出port1 配置好之后,不需要配置DSIx_CLKP/N, 因为每个link 都包含一对clock+4 对data。所以配置FPD link port0或者port1 是把clock包含在内的。

间接寄存器0x40~0x42 是在初始化的时候enable DSI input之前需要加上的。datasheet 中的配置例子因为是配置的impedant 2:2  mode,单独对port 0 和port1 分别进行了配置,所以配了两次。

在您的应用中,FDP link 配置为dual link,我认为在enable DSI input之前配置一次就好了。

,

buffer buffer:

配置DSIx_CLKP/N 这个不是得选 port ,不选port 直接配置也行?

而且941内部需要 split  分奇偶信号嘛  不然那这个数据图像怎发送的 ? 

   两个link 都发送1080p? 

,

Kailyn Chen:

这个问题我需要再确认下。

另外,如果您是Single DSI -> 941AS -> Dual FPD -> 948 -> Display这个应用,是可以支持到1080p的。 

,

buffer buffer:

Single DSI -> 941AS -> Dual FPD -> 948 -> Display这个应用,是可以支持到1080p的  

能提供下参考配置吗?

,

Kailyn Chen:

您好,下面是941AS配置为1080p的例子,请参考:

# 1920x1080p60, Dual Link FPD III# PCLK = 148.5MHz# DSI clock = 445.5MHz# DSI Lane Speed = 891Mbps/lane# 4 Lanes DSI# DSI input port 0# DSI non-burst mode with sync pulses # MODE_SEL0 strap = No. 3# MODE_SEL1 strap = No. 0 or 1

import time

UB941AS = 0x18

board.WriteI2C(UB941AS,0x01,0x02) # Resettime.sleep(0.1)board.WriteI2C(UB941AS,0x01,0x08) # Disable DSI

board.WriteI2C(UB941AS,0x40,0x04) # TSKIP_CNTboard.WriteI2C(UB941AS,0x41,0x05) # TSKIP_CNTboard.WriteI2C(UB941AS,0x42,0x30) # TSKIP_CNT

board.WriteI2C(UB941AS,0x40,0x10) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x41,0x86) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x42,0x0A) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x41,0x94) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x42,0x0A) # Init DSI Clock Settings (From Section 10.2 of datasheet)

board.WriteI2C(UB941AS,0x01,0x00) #Release DSI

,

buffer buffer:

board.WriteI2C(UB941AS,0x40,0x10) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x41,0x86) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x42,0x0A) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x41,0x94) # Init DSI Clock Settings (From Section 10.2 of datasheet)board.WriteI2C(UB941AS,0x42,0x0A) # Init DSI Clock Settings (From Section 10.2 of datasheet)  

您好 ,这个还是没看懂 

看datasheet 里面0x86  0x94 这两个寄存器 没明白  能说明下吗?

而且0x94是针对DSI1 的配置  应该不需要吧

,

buffer buffer:

如上参考配置:只对 TSKIP_CNT这个配置了,  DSI input   ,   Lane   ,FPD  Link  mode   全都没有呀 ,你确定可以?

,

Kailyn Chen:

这只是一个基本的使用941AS应用1080p的配置,并不是完整例程,所以您说的 DSI input   ,   Lane   ,FPD  Link  mode 都是需要再配置的。

另外,您也可以将您的问题提交到英文E2E论坛上,由美国的资深工程师给您解答。https://e2e.ti.com/support/interface-group/

,

buffer buffer:

948不需要配置吗?

,

Kailyn Chen:

如果主机和941接在一起, 那么需要配置的是941,948和display在整个link中都作为slave。

,

buffer buffer:

具体怎么读写948的寄存器呢?

,

Kailyn Chen:

您好,我们有专门FPD  link的培训视频,您可以参考一下,

https://training.ti.com/fpd-link-learning-center?context=1134310

另外我这边发现您也咨询了同样的问题在另一个帖子里,您可以参考上面关于FPD link的培训视频,也可以参考同事的建议,登录英文E2E咨询美国工程师。

https://e2echina.ti.com/support/interface/f/interface-forum/211414/ds90ub941as-q1-single-dsi—941as—dual-fpd—948—display-1080p?tisearch=e2e-sitesearch&keymatch=%2520user%253A114803#

,

buffer buffer:

我想知道具体 怎么操作  948的寄存器

,

buffer buffer:

"这只是一个基本的使用941AS应用1080p的配置,并不是完整例程" ,能提供下完整的例程吗?

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB941AS-Q1: dual link mode 的寄存器配置问题
分享到: 更多 (0)