So, here's the question... DVI like USB uses two pins to send one bit... to reduce interference I've heard... and the real signal is gained by calculating the deferential. Hm... not much of a question but what I want to know is how do I calculate this difference electronically? Since DVI has a lot of these signals i need to get a common GND. Well, any ideas are appreciated
DVI uses the TMDS standard which is +-0.3v i think (youll have to check on that one). To turn it into a zero reference signal you can use a difference amplifier followed by a summing amp to shift it above zero. Heres the spec Linky Given the speed of the signals involved i doubt you would be able to do much unless you used an integrated TMDS transcever. What is it youre planning to do? And welcome to the forums. Moriquendi
The best way to decode a signal like that is with a comparator. You load the lines with a resistor (I.E: put a resistor across the two of them), and then use the comparator to measure the voltage drop across the resistor. Of course, getting from differential signaling to a clean data output is only the first bit of the problem. DVI uses a complex signaling scheme to minimise interference on long cable runs. Do some reading (http://en.wikipedia.org/wiki/Transition_Minimized_Differential_Signaling , http://en.wikipedia.org/wiki/DVI). Also, I have to ask what you are hoping to do with the imformation once you've got it. A lot of data is transferred very fast over DVI, and short of something like a FPGA, I can't really see how you're going to process it.
Thanks for the replies ^^ I've read most of the relevant information on Wiki but it seems like decoding the 8bit/10bit algorithm used in DVI shouldn't be a problem. The reason I asked this question is that I have a PSP LCD lying around at home. Seeing that its a perfectly good LCD I got the idea that perhaps one could connect it to a computer. I read about the PSOne LCD mod but the PSP has a different interface (not VGA but some kind of binary VGA, specs ) so i figured I needed something that converted it to DVI (DVI rather than VGA since its already in digital form) Since its not that big of a display I'm hoping that the CPLD I'm thinking about using to decode the DVI signal will be able to cope with the data transfer rate. Its just a guess so I might be wrong there Well, thats the plan anyway ^^ any further ideas would be greatly appreciated.
What a coincidence, im working on a graphics controller for the PSP lcd to communicate with a uC but im using a FPGA rather than a CPLD. I think the biggest problem you will have will be getting the graphics card to recognise your CPLD and shift to the right resolution/framerate. The other thing to mention is that some FPGAs support TMDS directly which would make your life much easier. From my point of view, certainly for my project, the internal memory functions available in the FPGA make things much easier. Let me know how it goes. Moriquendi
A coincidence indeed ^^ I'm in the middle of a make-a-uPC project myself (really really simple one though ) which is where i got the idea to this spin off. In the mod where they hocked up a PSOne LCD to a PC they used some program to manually set the resolution and framerate. But depending on the size I was thinking that one might be able to add some kind of EDID support to the CPLD (perhaps that might help). Hopefully I'll be able to get me hands on a Xilinx XC95108 which might provide enough space (new to this so don't really know ^^) I agree that a FPGA with built in memory and support for TMDS would have made me day but it shouldn't be impossible with a normal CPLD and some electric tinkering to get the signals right first. Well, I've got tons of stuff to do first so will probably not be able to do any real tinkering until summer but I would love to see your result when you're done ^^ (perhaps a thread detailing the project?)
Im in the same position really ive got exams to work for before i can put any real effort into this. I will definatly make a thread about it when things start to get interesting, at the moment i am just working on the internal FPGA design and general architecture so theres very little to show that would be of any interest to anyone. The eventual aim is to make a digital storage scope/logic analyzer using a parallax propeller and a spartan3E FPGA (a little like this but more capable. Im treating the whole project as a learning experience. Id forgotten that you could force the graphics card to ignore the EDID, that would probably make things much easier. Emulating the EDID functions would be great but its hard to find out the specs. Ive bought loads of xilinx CPLDs on ebay, there seem to be plenty around and people willing to send them overseas. Ive done some design work with them but found then quite limited, maybe thats because i try to put as much as possible inside the chip rather than having external circuits. Care to share some details of your uPC project? Moriquendi
I found a nice program the other day to generate the EDID data but as you said there are a lot of vague settings and numbers which seem rather hard to find. For the time being manually "tuning in" the LCD seem to be the best way. Also I found some 44 pin CPLDs (XC9536-10PC44C) at ebay but I don't think that will be enough in terms of in/output capabilities. Ill check if one can burn FPGAs at my school, maybe that would be a better choice. Well, its a 3 man project (although only one does any work ><) and the goal was to make a simple micro processor (SISC) that could handle some fundamental instructions. We wanted to make something non specific so we included various kind of instructions (logic, arithmetic, different types of jumps and so). In the end we ended up with 32 instructions and 6 types of addressing... its running on a 8-bit data buss but the uPC is 16-bit ^^ [some pics, diagram] ... and despite the name it has nothing to do with multi processing ^^ Oh... and the uPC also has 2 UARTs which we are gonna use for the demonstration (these and the led arrays are mapped to the memory)
I think that the xilinx download cable you have (in the pics on your site) will also download to FPGAs . Ive found a guy selling some XC951216 on ebay but theyre in SMD packages, i dont know if youve got the kit to deal with them link . That looks like an interesting project you have. Im well aware of the...practicalities... of working in a team like that. Is it something youre working on for school/uni? Moriquendi