No, I don't think it is (directly) related to 480i support.Aurelio wrote:Sorry if I post again. I've a "theory" about my issue. Both my LCD and my TV don't seem to handle 480i, while they show 480p but with those lines. Is it possible that since they can't handle 480i a slight difference in the timings (front/back porch?) can cause those lines? Maybe a LCD capable of handling 480i is more flexible to timings differences and it can handle the video with no issues... could it be right?
To test this, I connected a GCVideo Lite board to the VGA input of my TV (does not support 480i on that input) and to an old Sony TFT (PC-only, does not support interlaced at all) and ran the 240p test suite in 480p mode to display a solid, dark gray screen. On the TV, I did not see any vertical stripes at all, but on the Sony there were faint stripes visible. A closer examination of the video signal from the board using an oscilloscope revealed the cuplrit: There is a small interference from the 27MHz pixel clock on the three RGB lines. This does not matter if the display samples the video data with the same frequency because it is just a small, constant offset at each sample point. However, if the display incorrectly interprets the signal as 640x480 instead of 720x480, the phase of the sampling points and the 27MHz interference shifts with every pixel, resulting in vertical stripe artifacts.
Unfortunately, I don't see any option to fix this on the FPGA side - even if you were willing to live with a slightly reduced horizontal resolution, outputting 640x480 instead of 720x480 is not possible with the FPGA on this board because it has no PLL to generate the necessary pixel clock. A modified PCB layout might help, but I'm not familiar enough with low-noise analog circuit design to figure out what needs to be changed. One thing you could try is to solder three 120pF capacitors in parallel with the three 75 ohm resistors (R2/R3/R4) next to the RGB output pads - since the resistors are SMD, stacking a capacitor on top shouldn't be too hard. If this reduces the stripes, but does not eliminate them you could also try higher capacitor values, but the higher you go the more sharpness you'll lose.
Of course if my theory is correct, the best solution would still be a display that samples the signal with 720 pixels horizontally instead of 640.
Neat, thanks!Oh BTW, I think this might be useful to others. I found a way to flash the FPGA with a cheap Altera USB Blaster clone. This works also on non-Windows OS.