Nowwe have a problem with the opposite side -- the board with ADV7611 receiving this DVI signal (comes from the first board) and translating it to LVDS TFT display panel. This TFT panel works well being connected to STM directly.
We have no TMDS clock signal on ADV7611, no PLL lock, no V lock. In both cases we use the C library from Analog and it works well. So, I have checked and think that all recommended peremeters were set correctly.
We think that XTAL could be the reason. Now the 28.636363 MHz crystal is used and we think that it is not very stable... In fact, I don't know how valuable is this crystal clock for the HDME receiver and which one should we use for 800x600 @ 56 Hz?
We generate (on STM32 on first board) the video stream 800x600 pixels (plus porches) at 32 MHz so we have 56 Hz refresh rate. Do we need some special crystal clock (like 24 MHz or 27 MHz) to handle this data rate?
We don't have a reference boards. And we've checked the scripts and all the parameters to set. It should be quite simple in our case -- just 444 RGB, no audio, no color conversion, no need to connect to general monitors...
First you must get the TMDS PLL lock bit to lock up. Without this, nothing will work. I'd start by checking the TMDS clock lines with a scope to see if the are the correct amplitude and frequency at the ADV7611 input.
As I've said before we use AD library to work with ADV7611 (as well as with ADV7511W) and I put the configration script below. I've checked the bytes written to Rx and it OK, correspond with AD recommended writes.
The APIs are from code that is meant to run on our EVAL-ADV7612-7511 eval board and are meant as reference. Assuming these are the right script (looks good) to really see how your system is operating you need to be able to look at TMDS_PLL_LOCKED bit found at IO 0x04[1]. Normally the eval board will run these API, check various lock bits and continue running from there.
The ADV7612-7511 board comes with a set of linear scripts that can set up the 7612 for specific formats which is simpler then trying to run the full API if you have only one format and no HDCP or EDID you are trying to support.
When you say you transmit 32MHz from MCU, I assume you are going through a transmitter chip like the ADV7511. Note that MCU output clock might have jitter greater then DVI specifications. I know normal FPGA clock outputs have problems create jitter free clocks.
Could you help me with the configuration bytes for DVI Graphics input 800x600 56-58 Hz 24-bit RGB, please? Maybe I do something wrong with 7611 configuration... I see that all scripts for AVES stand for video modes (interlaced or progressive) not the computer graphics modes like 800x600 or 640x480...
When selecting a script to run pick a script with clock rate closest to the pixel rate of your system. The ADV7611 is tolerant to tmds clock speeds. I'd start with the 720p60 script to start with. The color space will need to be tweaked but it should transfer 800x600 OK.
Horizontal measurements exactly the same as CPU generates while the vertical ones are floating from 600 to 630 lines approx (all parameters are floating) . And DE_REGEN_LCK_RAW flag is being changed from 0 to 1 all the time.
3a8082e126