Analog NTSC video on i.MX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Analog NTSC video on i.MX6

1,741 Views
Maddis
Contributor IV

We have custom HW with i.MX6Q and Intersil TW9990 analog video decoder. It works fine with the PAL camera and I can see stable video image as expected.

That decoder chip also supports other format, NTSC included. 

I've now been trying to get NTSC video working and it's working 'almost'. And by 'almost' I mean that I have picture, but it's not synchronized ie it's rolling from down to up and I can see some screen wide green blocks there rolling with them. I suspect that is when the actual 'sync' is happening between frames. It also seems that interlaced frames are bit out of sync too so image rolls between frames. I'm using Analog NTSC - camera as video signal source.

When reading the TW9990 status registers it says that format is NTSC_M and that video is locked and what I can tell the decoder thinks everything is good. Of course it still can be decoder problem since I'd assume there wouldn't be any picture if i.MX6 side wasn't configured properly?

Has anyone played with NTSC video and/or have any good pointers what to check? I running low on ideas. I have tried different configurations on TW9990 end, but they've made no changes. Also I'm not really expert on Video4Linux I'm using for testing the video.

Labels (3)
0 Kudos
5 Replies

1,377 Views
joanxie
NXP TechSupport
NXP TechSupport

what bsp version do you use? could you reproduce this issue on the nxp imx6q board? pls double check your HW and register settings

0 Kudos

1,377 Views
Maddis
Contributor IV

Unfortunately I don't have NXP imx6q board to test with. 

I'm not sure about BSP version, but kernel version is 4.1-2.0.x-imx.

We have i.MX53 based HW with TVP5150 and it can show both PAL and NTSC analog video signal just fine. On i.MX6 with same settings for decoders (we have i.MX6 HW's with TW9990 and another with TVP5150 decoders so I copied the settings for TVP5150 variant from i.MX53 sw) PAL signal is stable, but not NTSC so I'm suspecting something different on i.MX6 end although Video4Linux uses same settings for incoming signal.

So I don't directly touch any of the video registers, but let Video4Linux do it for me and it works just fine for PAL, but for NTSC not so much.

0 Kudos

1,377 Views
joanxie
NXP TechSupport
NXP TechSupport

IPU_CSI_OUT_FRM_CTRL, this register can be used to skip some pixel in each line or skip
some lines in each frame.
For PAL, the register is set to 0.
For NTSC, it depends on TVIN chip, for BT.656-4 and above version TVIN chip, CSI_VSC is 3; for BT.656-3
TVIN chip, CSI_VSC is 13. Details, please reference to 2.6 The CSI_VSC setting for NTSC.
IPU_CSI_CCIR_CODE_1, it is for field 0 EAV/SAV setting:
For PAL, 0x40596
For NTSC, 0xD07DF
IPU_CSI_CCIR_CODE_2, it is for field 1 EAV/SAV setting:
For PAL, 0xD07DF
For NTSC, 0x40596

Note: For NTSC, in Linux BSP CCIR_CODE_1 and CCIR_CODE_2 setting had been switched.
Please reference to 2.5 CCIR Register and EAV/SAV.

0 Kudos

1,377 Views
Maddis
Contributor IV

I checked those registers.

Seems that frame size is set correctly (720 x 525 for NTSC). 

CSI_ACT_FRM_SIZE = 0x020C02CF

Also CODE_1 and CODE_2 registers are what you mentioned.

CSI_CCIR_CODE_1 = 0xD07DF

CSI_CCIR_CODE_2 = 0x40596

CSI_VSC = 13 (I'm not actually sure is it BT.656-3 or BT.656-4 since the decoder chip doesn't specify it or I can't find it from datasheet. But I tried both values and they didn't help)

So it seems that i.MX6 end should be properly configured and decoder end says it's synced to the signal properly.  Obviously somethings not right, but not sure what.

0 Kudos

1,035 Views
xiangkunkong
Contributor II

Hi Maddis,

Did you resolve the problem? 

0 Kudos