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

DS90UB940-Q1: camera deserializer is TI DS90UB940,serializer is 921, serializer side box power up and down for about 21 times, LCD show the camera totally black

Part Number:DS90UB940-Q1

one sending box using serializer is 921,  and the receivering  box using deserializer is TI DS90UB940.

The sending box power up and down for about 21 times, the LCD of the  receivering  box show the camera totally black.

we dump the 2 IC's register as blow:

mek_8q_raite:/ # i2cdump -f -y 8 0x2c
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 58 04 00 f0 fe 1e 00 18 00 00 00 00 00 00 00 00 X?.???.?……..
10: 00 00 00 00 00 00 00 00 00 01 00 00 23 40 00 00 ………?..#@..
20: 00 00 42 28 08 00 83 84 00 00 00 00 00 00 00 00 ..B(?.??……..
30: 00 00 90 25 01 00 00 98 00 00 00 02 20 60 23 00 ..?%?..?…? `#.
40: 43 03 03 00 60 88 00 00 0f 00 00 08 00 00 63 00 C??.`?..?..?..c.
50: 03 10 00 01 80 00 00 00 00 7f 20 20 00 00 00 00 ??.??….? ….
60: 00 00 00 00 10 00 00 00 00 00 00 00 00 04 00 00 ….?……..?..
70: 00 00 00 07 07 08 00 00 00 00 00 00 02 00 00 00 …???……?…
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
a0: 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00 ..?………….
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 ……..?…….
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
f0: 5f 55 42 39 34 30 00 00 00 00 00 00 00 00 00 00 _UB940……….
mek_8q_raite:/ #

root@s32v234evb:~# i2cdump -y -f 0x02 0x0c
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 18 00 00 d2 80 00 58 00 00 00 00 00 05 00 00 00 ?..??.X…..?…
10: 00 00 00 10 00 00 fe 5e a1 a5 00 00 00 00 00 00 …?..?^??……
20: 00 00 25 00 00 00 00 00 00 24 00 20 00 00 00 00 ..%……$. ….
30: 03 10 00 00 00 00 08 34 00 0a 20 21 00 00 f0 00 ??….?4.? !..?.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
50: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ……………
60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ….?………..
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
c0: 00 00 80 00 78 00 00 60 40 00 00 00 00 00 00 00 ..?.x..`@…….
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
f0: 5f 55 42 39 32 31 00 00 00 00 00 00 00 00 00 00 _UB921……….
root@s32v234evb:~#

It seems the de-serializer and serializer is LOCK state ,but why no camera stream output?

Amy Luo:

Hi Shengyue,

Thank you for your attention to TI products! In order to solve your problem more effectively, I need to ask TI senior engineers who know more about this chip, and then answer for you. Once I get a reply, I will reply to you immediately.

Thanks,

Amy

,

ni shengyue:

我们测试fail时的加/解串寄存器如上面,我们多次测试,比如再次出现的寄存器<940_921的寄存器值2.txt>,以及正常出图时的寄存器值<940_921的寄存器值_ok.txt>,看到差别很小,其中解串端的3b寄存器有一些差别(正常的那次是3F,异常的值是01或者02),从这里能看出什么原因吗?940_921的寄存器值2.txt

mek_8q_raite:/ # i2cdump -f -y 8 0x2c
No size specified (using byte-data access)0123456789abcdef0123456789abcdef
00: 58 04 00 f0 fe 1e 00 18 00 00 00 00 00 00 00 00X?.???.?........
10: 00 00 00 00 00 00 00 00 00 01 00 00 23 40 00 00.........?..#@..
20: 00 00 42 28 08 00 83 84 00 00 00 00 00 00 00 00..B(?.??........
30: 00 00 90 25 01 00 00 98 00 00 00 01 20 60 23 00..?%?..?...? `#.
40: 43 03 03 00 60 88 00 00 0f 00 00 08 00 00 63 00C??.`?..?..?..c.
50: 03 10 00 01 80 00 00 00 00 7f 20 20 00 00 00 00??.??....?....
60: 00 00 00 00 10 00 00 00 00 00 00 00 00 04 00 00....?........?..
70: 00 00 00 07 07 08 00 00 00 00 00 00 02 00 00 00...???......?...
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
a0: 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00..?.............
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00........?.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
f0: 5f 55 42 39 34 30 00 00 00 00 00 00 00 00 00 00_UB940..........
mek_8q_raite:/ #root@s32v234evb:~# i2cdump -y -f 0x02 0x0c
No size specified (using byte-data access)0123456789abcdef0123456789abcdef
00: 18 00 00 d2 80 00 58 00 00 00 00 00 05 00 00 00?..??.X.....?...
10: 00 00 00 10 00 00 fe 5e a1 a5 00 00 00 00 00 00...?..?^??......
20: 00 00 25 00 00 00 00 00 00 24 00 a0 00 00 00 00..%......$.?....
30: 03 10 00 00 00 00 08 34 00 0a 20 21 00 00 f0 00??....?4.? !..?.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
50: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...............
60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00....?...........
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
c0: 00 00 80 00 78 00 00 60 40 00 00 00 00 00 00 00..?.x..`@.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
f0: 5f 55 42 39 32 31 00 00 00 00 00 00 00 00 00 00_UB921..........

,

ni shengyue:

附上<940_921的寄存器值_ok.txt>940_921的寄存器值_ok.txt

mek_8q_raite:/ #
mek_8q_raite:/ # i2cdump -f -y 8 0x2c
No size specified (using byte-data access)0123456789abcdef0123456789abcdef
00: 58 04 00 f0 fe 1e 00 18 00 00 00 00 00 00 00 00X?.???.?........
10: 00 00 00 00 00 00 00 00 00 01 00 00 23 40 00 00.........?..#@..
20: 00 00 42 28 08 00 83 84 00 00 00 00 00 00 00 00..B(?.??........
30: 00 00 90 25 01 00 00 98 00 00 00 3f 20 60 23 00..?%?..?...? `#.
40: 43 03 03 00 60 88 00 00 0f 00 00 08 00 00 63 00C??.`?..?..?..c.
50: 03 10 00 01 80 00 00 00 00 7f 20 20 00 00 00 00??.??....?....
60: 00 00 00 00 10 00 00 00 00 00 00 00 00 04 00 00....?........?..
70: 00 00 00 07 07 08 00 00 00 00 00 00 02 00 00 00...???......?...
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
a0: 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00..?.............
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00........?.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
f0: 5f 55 42 39 34 30 00 00 00 00 00 00 00 00 00 00_UB940..........
mek_8q_raite:/ #root@s32v234evb:~# i2cdump -y -f 0x02 0x0c
No size specified (using byte-data access)0123456789abcdef0123456789abcdef
00: 18 00 00 d2 80 00 58 00 00 00 00 00 05 00 00 00?..??.X.....?...
10: 00 00 00 10 00 00 fe 5e a1 a5 00 00 00 00 00 00...?..?^??......
20: 00 00 25 00 00 00 00 00 00 24 00 a0 00 00 00 00..%......$.?....
30: 03 10 00 00 00 00 08 34 00 0a 20 21 00 00 f0 00??....?4.? !..?.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
50: 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...............
60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00....?...........
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
c0: 00 00 80 00 78 00 00 60 40 00 00 00 00 00 00 00..?.x..`@.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00................
f0: 5f 55 42 39 32 31 00 00 00 00 00 00 00 00 00 00_UB921..........

,

Amy Luo:

您好,

我询问的工程师已经回复:

Can you share the datasheet of the LCD as well as the video timing?

Do you know if the customer is able to verify the input to the serializer? Has the customer tried using our internal pattern generator to generate video?

对应的中文是:

您可以分享出LCD的数据表和视频时序吗?

您是否能够验证serializer的输入吗?您是否尝试使用内部 pattern generator生成视频?

您上面附的寄存器信息和差异,我会反馈给工程师让他看下

,

Amy Luo:

工程师最新的回复:

Register 3B corresponds to the Adaptive Equalizer. There could be a signal strength issue. Do you know if the customer has tested the signal quality of the FPD-Link? 

Also can you clarify what the two separate register dumps are? Does the customer have other 921-940 systems that are working correctly and just one that is not outputting video?

If you have pictures of the setup to share along with any schematics that would be appreciated. We don't know if there is a hardware issue or device configuration so the first step is to make sure all the hardware is correct. 

对应的中文:

寄存器3B对应于Adaptive Equalizer,可能是信号强度问题。您是否测试过FPD链路的信号质量吗?

另外,您能否澄清这两个独立的寄存器转储是什么?您是否有其他921-940系统正常工作,而只有一个系统不输出视频?

如果您有设置的图片与任何原理图一起分享,将不胜感激。我们不知道是否存在硬件问题或设备配置,因此第一步是确保所有硬件都正确。

,

ni shengyue:

1.The hardware is ok, and the problem is occur in low probability,attached is the 940 and 921 schematics.

2. I check the 940 code ,and find the below test code to draw color bar, but I #define the 'CONFIG_GEN_COLOR_BAR'  and not take effect, I doubt if the code is invalid or not, I can't find the register 33,B0,B1,B2 on my 940 data sheet, can you help to confirm it ?

static int init_deserializer(struct ds90ub940_data *data){ int ret = 0;

LOGD_INFO("df_camera_log: %s ++", __func__); des_write(data, 0x01, 0x02);#ifdef CONFIG_GEN_COLOR_BAR LOGD_INFO("df_camera_log: %s CONFIG_GEN_COLOR_BAR", __func__); des_write(data,0x33, 0x03); des_write(data,0xB0, 0x02); // IA_AUTO_INC=1 des_write(data,0xB1, 0x01); // PGEN_CTL des_write(data,0xB2, 0x01); // PGEN_ENABLE=1 des_write(data,0xB2, 0xb3); // PGEN_CFG des_write(data,0xB2, 0x1E); // PGEN_CSI_DI \u6b64\u5904\u53ef\u4fee\u6539data type YUV/RGB/RAW data des_write(data,0xB2, 0x05); // PGEN_LINE_SIZE1 des_write(data,0xB2, 0x00); // PGEN_LINE_SIZE0 line size\uff0c\u5217\u6570 des_write(data,0xB2, 0x00); // PGEN_BAR_SIZE1 des_write(data,0xB2, 0xF0); // PGEN_BAR_SIZE0 des_write(data,0xB2, 0x02); // PGEN_ACT_LPF1 des_write(data,0xB2, 0xd0); // PGEN_ACT_LPF0 active line per frame\uff0c\u884c\u6570 des_write(data,0xB2, 0x03); // PGEN_TOT_LPF1 des_write(data,0xB2, 0x00); // PGEN_TOT_LPF0 des_write(data,0xB2, 0x0C); // PGEN_LINE_PD1 des_write(data,0xB2, 0x67); // PGEN_LINE_PD0 des_write(data,0xB2, 0x0A); // PGEN_VBP des_write(data,0xB2, 0x0A); // PGEN_VFP des_write(data,0xB2, 0xAA); // PGEN_COLOR0 des_write(data,0xB2, 0x33); // PGEN_COLOR1 des_write(data,0xB2, 0xF0); // PGEN_COLOR2 des_write(data,0xB2, 0x7F); // PGEN_COLOR3 des_write(data,0xB2, 0x55); // PGEN_COLOR4 des_write(data,0xB2, 0xCC); // PGEN_COLOR5 des_write(data,0xB2, 0x0F); // PGEN_COLOR6 des_write(data,0xB2, 0x80); // PGEN_COLOR7 des_write(data,0xB2, 0x00); // PGEN_COLOR8 des_write(data,0xB2, 0x00); // PGEN_COLOR9 des_write(data,0xB2, 0x00); // PGEN_COLOR10 des_write(data,0xB2, 0x00); // PGEN_COLOR11 des_write(data,0xB2, 0x00); // PGEN_COLOR12 des_write(data,0xB2, 0x00); // PGEN_COLOR13 des_write(data,0xB2, 0x00); // PGEN_COLOR14 des_write(data,0xB2, 0x00); // Reserved#else LOGD_INFO("df_camera_log: %s data->index = %d", __func__, data->index); if(data->index == 0) { #if 0 des_write(data, 0x0C, 0x2B); des_write(data, 0x4C, 0x01); des_write(data, 0x58, 0x5E); des_write(data, 0x6D, 0x7C); des_write(data, 0x72, 0xE4); des_write(data, 0x4C, 0x12); des_write(data, 0x4B, 0x1E); des_write(data, 0x7C, 0xe0); des_write(data, 0x70, 0x5E); des_write(data, 0x20, 0x00); des_write(data, 0x33, 0x01); des_write(data, 0xBC, 0x0); #endif } else { #if 0 des_write(data, 0x0C, 0x2B); des_write(data, 0x4C, 0x01); des_write(data, 0x58, 0x5A);

des_write(data, 0x6D, 0x7C); des_write(data, 0x72, 0xE4);

des_write(data, 0x4C, 0x12); des_write(data, 0x4B, 0x1E);

des_write(data, 0x7C, 0xe0); des_write(data, 0x70, 0x5E);

des_write(data, 0x20, 0x00); des_write(data, 0x33, 0x01); des_write(data, 0xBC, 0x0); #endif }

#endif return ret;}

,

ni shengyue:

And 940 deserializer schematic  : 940.pdf

Next I will check the  Built-In Self Test (BIST)  function of 940.

,

ni shengyue:

internal pattern generator , can you provide a list of registers filling value to enable internal pattern generator ? We are trying but not success now.

,

ni shengyue:

I can type:[vm1] mek_8q:/ # i2cset -f -y 8 0x2c 0x64 0x05

to enable 940 deserializer's self pattern generator color bar successfully now ,but I also want to  get color bar from 921 serializer ,can you give me some suggest ?

,

Amy Luo:

The following link is the Application Manual of pattern generation, which should be helpful to you 

https://www.ti.com/lit/an/snla132g/snla132g.pdf

,

Amy Luo:

We do not have registers 0xB0, 0xB1 and 0xB2 on the 940 deserializer. How did you come up with  the 0xB0/B1/B2 registers?

,

ni shengyue:

OK,maybe the macro 'CONFIG_GEN_COLOR_BAR' is waste code ,I just omit it.

And We tested and find ,when problem occur ,I try to display pattern ("i2cset -f -y 8 0x2c 0x64 0x05") and not pattern display at all ,and I reset the ub940 chip,then disply pattern and normal camera output are all ok,so we think the ub940 maybe have some issue.

Because we dumped the register of ub940 when issue occur ,and seems it is not different from normal ok situation, so we only need to checck some pin signal to debug this issue?

,

ni shengyue:

As above, we upload the  940 deserializer schematic  ,can you suggest how we can check the status of ub940,for example the CMLOUTP/CMLOUTL  ,LOCK pin, PASS pin ?

,

Amy Luo:

工程师的回复:

In order for customer to use 921 color bar/pat gen, they just need to go through the same process as described in the Pattern Generator App Note but set the pat gen registers in the 921.

One thing to note, if the customer wishes to use internal pclk, the internal oscillator for the 921 runs at 200 MHz rather than the 940's 140 MHz. The N divider value would need to be set to the proper value to get the desired clk rate. 

I want to verify my understanding of the situation with you:

1. Customer is able to successfully use 940 to generate pattern to the LCD?

    Is this done with just powering up the 940 side and using internal pclk (no connection to sending box)? what is the pclk? 

2. Occasionally, when customer try 940 patgen, there is not a display until a reset is done on the 940?

      Is the serializer being powered down and up when this is happening? 

      In End-to-End set up – Typically if the serializer is being powered cycled, it distrubs the timing coming into the deserializer and requires a soft reset on the 940 side to recover and regenerate the timing. 

Can you also share the timing that the customer is using? 

As for checking the status of the 940, the CLK and CSI data outputs would be useful to monitor. Since customer is just using 940 patgen at the moment and having issues, checking CMLout  would not be helpful.

下面链接是我询问工程师的问题的链接,我想您可以直接回复或询问这个工程师,以提高沟通效率:

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1089757/ds90ub940-q1-camera-deserializer-is-ds90ub940-serializer-is-921-serializer-side-box-power-up-and-down-for-about-21-times-lcd-show-the-camera-totally-black/4043416#4043416

,

ni shengyue:

"下面链接是我询问工程师的问题的链接,我想您可以直接回复或询问这个工程师,以提高沟通效率"

==>这个链接我无法直接回复,因为要求使用有效的企业邮箱,我注册使用企业邮箱(nisy@dfmc.com.cn)无法收到TI发送的注册验证邮件,与我们公司的IT沟通,确认没有收到noreply-myTI@mail.ti.com 的邮件.

1. Customer is able to successfully use 940 to generate pattern to the LCD?

==>Yes,I use 'i2cset -f -y 8 0x2c 0x64 0x05' to set the 0x64 register of 940,to generate pattern ,when the problem not occur.When the problem occur, I use above command line will not generate pattern.

2. Occasionally, when customer try 940 patgen, there is not a display until a reset is done on the 940?

==>Yes,when the problem occur.

3.Typically if the serializer is being powered cycled, it distrubs the timing coming into the deserializer and requires a soft reset on the 940 side to recover and regenerate the timing. 

==>If we not soft reset on the 940, does 940 knows that it need to be soft reset? Or notified from 921 to reset? We do powered cycled and PIN 21=PDB of 921 will low for 1 second the up.When the problem occur, the PIN7=PASS and PIN1=LOCK of 940 are all high,so 940 can't detect that it should be soft reseted,can you give us some suggestion? Thanks !

,

ni shengyue:

Our problem is ,when the problem occur, the camera stream can be shown on the LCD, but the 940 's PIN7=PASS and PIN1=LOCK of 940 are all high,the LOCK bit in the register 0x1c is '1',we don't know how to walkaround it.

,

Amy Luo:

修改邮箱后,好像需要等上15分钟或者多少分钟才能生效。

以上信息,我已原样回复给美国的工程师。

,

Amy Luo:

E2E 英文论坛工程师的反馈:

When this issue happens, can you try doing a digital reset to the 940 to see if the situation is recovered and the display comes up?

Set 0x01[0] = 1 to reset the 940. 

因为一些问题牵涉到NDA ,我通过您的QQ邮箱发送您了。

,

ni shengyue:

"Set 0x01[0] = 1 to reset the 940. "

==>Yes, both soft reset 940 or 921,or hard reset 940 or 921,will recovery this prolem and the LCD can show the stream from camera.

And we are checking the CMLOUTP/CMLOUTL to check the eye-diagram, and do we should set some registers to make eye-diagram output ?

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB940-Q1: camera deserializer is TI DS90UB940,serializer is 921, serializer side box power up and down for about 21 times, LCD show the camera totally black
分享到: 更多 (0)