Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Using 8-bit MCU with an PCI graphics card?

Status
Not open for further replies.

eagledot

Member level 1
Joined
Oct 14, 2007
Messages
37
Helped
4
Reputation
8
Reaction score
4
Trophy points
1,288
Activity points
1,499
There are some projects that use an 8-bit MCU like the ATmega to control an ISA graphics card like this:
http://tinyvga.com/avr-isa-vga

Now could the same be done using a PCI graphics card by completely violating any offical standard?

The memory and video generation is available on the board. One only needs a way to enter configure and enter some pixel data into it?
 

PCI and ISA are quite different in operation. ISA is simply treated as a parallel peripheral with the usual read/write control, address and data bus connections but PCI has a protocol of it's own which you have to 'negotiate' before communicating with it. It isn't impossible to do but it would be far more complicated than the ISA version and I think (long time since I worked on PCI systems!) you need to talk via a 32-bit bus so the 8-bit processor would need additional address and data multplexers/ latches.

Brian.
 

My idea would be to wire the PCI CLK to one of the I/O pins on the MCU such that it can control the speed. The datasheets for graphic cards so far seems to indicate that CLK period has to be longer than 30 ns, no maximum time is defined. Then one writes desired address into the configuration register and supply the same address to write to it's I/O registers.

If CLK is 33 MHz this task is too hard, but when the datasheet says longer than >30 ns = OK it's a very different circumstance. When you can control CLK a response time of 1/2 clock cycle is no longer a problem. And onboard DRAM seems to be handled using other onboard oscillators.

A second option i perhaps jtag? provided one can initialize and enter data into graphics bitmap that way.
 

In principle it can be done and I don't think clock speed is particularly important, at least during the initialization stages. Where I think you may run into problems is the allocation of addresses and IRQs. In an ISA system these are normally decided by hardware links or an addressable configuration register but in a PCI system you have to send requests to the graphics card for it to advise of it's options and then use these to set the final parameters. It's certainly do-able but the software is far more complicated.

I'm not sure JTAG would work, it is normally used for hardware programming and configuration before the card starts up under it's own control, I've never heard of it being used to actually define or display graphics.

Brian.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top