After I set the TVP5158 working at 1-Ch ,Non-interleaved, 27M and BT.656 , PAL output mode, I get data like as follows:
ff 08 00 00 ec 80 19 80 18 80 19 80 19 81 19 80 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 ff 08 00 00 c7 80 11 80 12 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 ff 08 00 00 c7 80 11 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 ff 08 00 00 80 80 11 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 80 10 ff 80 10 80 10 80 10 80 10 8010 80 10
1) if removing the data 08 ," ff 00 00 ec" is same as the SAV or EAV , Why do I get a invalid data 08?
2) Between SAV and EAV , there is 280 or 268 bytes controling signal, but there is few data between that.
3) In register B0h, Channel_Mux_Number 00 means "1-Ch (reserved)" , can I set TVP5158 work at "1-Ch (reserved)"?
I set the TVP5158 register
B0 = 0x00; B1 = 0x10; B2 = 0x0D; B3 = 0xE4; B4 = 0xE4; B5 = 0x00; B6 = 0x1B; B7 = 0x04;
Is there any problem in my setting?
Hello Jerry,
Can you change these addresses from
B1 = 0x10; to 0x90; B2 = 0x0D; to 0x25;
Currently you are setting it to 54 Mhz instead of 27 MHz clock.
Regards,
Viet
Hi, Viet:
Thank you very much, if I set
B1=0x90,B2=0x25;
I can not get 54Mhz clock.
But if I set
B0=0x90,B2=0x25;
I can get 54Mhz clock.
Now, what I want is that getting 4bytes EAV + 280bytes blankcode + 4bytes SAV + 1440bytes ValidData (a standard BT656 format ,PAL D mode).
but the data I got is look like
5bytes EAV, Eg : ff 00 00 00 c7, ff 00 00 00 9d;
5bytes SAV, Eg: ff 00 00 00 80;
The length of blankcode and ValidData is not regular.
My CPU/MCU is not DM6467, at first , I want to get one channel PAL mode data to test .
Can I get 1-Ch ,Non-interleaved, 27M ,"4bytes EAV + 280bytes blankcode + 4bytes SAV + 1440bytes ValidData" PAL D mode data?
How to set the register B0-B7?
Best regards
Jerry
I only need 1-Ch ,Non-interleaved, 27M ,"4bytes EAV + 280bytes blankcode + 4bytes SAV + 1440bytes ValidData" PAL D mode data,
and I can get 27Mhz clock by setting the register B1=10h,B2=0Dh or B1=90h,B2=25h.
at the same time, I can get data from DVO_A, but the data is not "4bytes EAV + 280bytes blankcode + 4bytes SAV + 1440bytes ValidData" PAL D mode data,
Specifically, 4bytes EAV or SAV has been modified to 5bytes.So I can't get a valid line data.
What's the problem?
best regards
Could you please let us know little bit more about your setup? Do you run with our EVM and the SW that come with the package? If you do, can you bring up the EVM with the SW included?
The TVP5158 embedded sync should output only 4 bytes EAV and SAV. Do you know if you are running with ROM or patch? You can find out by reading register 05h and 06h. If they are 0 then you are running with ROM. There is patch version 020117 shipped with the EVM and the patch support EAV / SAV offset control in register AEh (Vbland start) and AFh (Vblank stop).
Jerry,
We rechecked the embedded sync outputs with a logic analyzer and do not see the extra byte present duing the embedded sync codes. We see FF 00 00 EAV/SAV.
Are you seeing this on all lines?
How are you capturing the data?
Hello, Viet:
Thanks for your help and suggestion, when I capture data again, I find a wire connect with GND is loose,after I weld it tightly.I fix the issue and get correct data.
Great news Jerry. Thanks for letting us know.
Hi Jerry,
Please can you share the TVP5158 register settings for 1CH D1 non interleaved mode ?
Sudhanshu
Hello Sudhanshu,
You can set the following I2C registers to these setting for 1 CH1 D1:
Register (hex): Value (hex):
B0 10
B1 90
B2 25
Hi Viet
I am facing an issue of detecting which field is even and which is odd in the interrupt handler. I cannot read I2C register in the ISR context, can you help me with detection of even/odd field ?
Do you get a interrupt every field? You can read the current field status from I2C register 01h bit 4. Can you poll and save the field status every field and use it when you get an interrupt? It is just my suggestion since you cannot read I2C in ISR.