PCI simplified

pci

Even though PCI is really common it usually doesn’t see experimentation by amateurs because of its high performance nature. ChaN decided to build a system to demonstrate that PCI is within the reach of hobbyists. He does this with just 1 GAL, 2 identity comparators, and 4 latches. To pull this off a couple design rules have to be violated. For example: There is no configuration register so the target address has to be set with DIP switches. Something you would never see in real life. ChaN has been posting electronics projects for quite a few years and his site is well worth further investigation.

[thanks BoomBox]

Comments

  1. madmax says:

    Perhaps I’m just an idiot, but what *is* it? OK, he made a PCI card which is really cool and certainly demonstrates his l337 ub3r electrical engineering 5ki11z, but what does said PCI card do? Someone please clue me in.

  2. Quafboy says:

    I don’t know but this hack as exponentional potentional for us tinkers :-D

  3. Darkpenguin says:

    I Think it was just a proof of concept. All i saw it do was show that a computer can input data into the card and retreive data from it.

  4. tom says:

    Once you have a PCI card that has a register that can be read from and written to, you can do anything. Simply replace the latches with your favorite FPGA, interface to another microprocessor or dsp, and you are set. You could set up an array of FPGAs on a pci card to create a hardware based password cracker. FPGAs have been used in the past to do this. You could interface the FPGA to optical relays that control 110V relays, for turning on and off 110V outlets. You could add ADCs to read temperatures, voltages, pressure, humidity, etc etc. You could add a DAC to make your own sound card or function generator.

  5. furtim says:

    Damn that’s hot! Only problem is, do I bookmark this in my “Hacks” folder or my “pr0n” folder?

  6. xSmurf says:

    furtim, I couldn’t agree more! I’ve been wanting to see this for ages. I do admit I’d be a bit worried about putting a decive I built on my mobo, but really this is sweet!

  7. This is fantastic! There are loads of possible applications for this kind of hack.

    *Hackers, if you had the money, skill, and time to create your own custom PCI card, what would you have it do?*

    I envision one that holds RAM DIMMs and uses them as a ram disk to speed up the swap file. It could incorporate lithium polymer batteries that could hold the volatile information if power were to unexpectedly go out and the system did not have the time to back up the ram disk to hard disk.

  8. Spyingwind says:

    to #7 if you are going to use a RAM drive for your swap file space. then you dont need a battery at all. Great idead thou :)

  9. Quantis says:

    Gigabyte allready makes on of those..

    http://www.bit-tech.net/news/2005/05/31/gigabyte_ramdisk/

    PCI for power, SATA for data, with battery and 4 RAM slots.

    Nice part is that the PCI provides constant power even when the computer is off so the battery is rarley used.

  10. bronzeG3 says:

    Great work, but horrible English. Reminds me of my last physics TA.

  11. #9 that’s quite sweet, too bad i can’t afford even that much ram for my system :(

    what else do people want to see as pci hacks? You guys (and gals) have got to have some neat ideas.

  12. furtim says:

    A custom PCI board could come in handy for testing other hacks. I recall a certain serial dongle in my uni’s projects lab that had 18 kajillion leads and proprietary software that was used to record and display digital waveforms for testing logic circuits. It was almost certainly ridiculously expensive, but I bet you could do it as a PCI hack for significantly less.

    Although, actually, pretty much any hack that involves computer I/O could be redone as a PCI board.

    A good example that comes to mind was a feature we had considered but dropped for a project I worked on in said lab. We wanted to record wind speed and direction, but all the commercial wind gauges we could afford served up analog signals and all the digital interfaces were too expensive. A PCI hack could have been devised to convert the analog signals from a cheap wind gauge into digital signals and feed them to our project software.

    Well… most projects I can think of to do with PCI could also be done with serial/USB connections. Just the PCI way saves having to build a robust enclosure, since your PC is now your enclosure for all but the actual sensor. Which is helpful in its own way, of course.

    I guess the real question is can anyone think of a PCI project that *couldn’t* be done on USB?

  13. CAptSnuffy says:

    how about an internal LCD to say hi to people staring into your case at a lan party?

    GREG HUM IS A STALKER

  14. Pocketbrain says:

    By far, the worst case of Engrish I have ever seen. “The PCI seems to be thought that it cannot be touch in the hand of amateurs due to the high performance of the PCI.”
    I would make a PC diagnostics tool (possibly with LCD readout and battery on-board) as a PCI project.

  15. darcio says:

    PCI bus is for high speed data comm and it’s a hell to implement… if you want to activate relays please use serial or paralel ports or even a USB/serial converter to do so… don’t use a cannon to kill a fly!

  16. jeanphe says:

    what about using it as an interface to emulate a automotive ECU to use and control OEM fuel injection harness with your own software.

  17. Face says:

    Being a case modder, I’d love to use something based on this which could simply switch relays (or actually transistors would be better) and see if switches were switched on/off. That in itself would be very nice, because with the software that you’d surely have to make for it, you could totally automate your case (or a robot if you wanted to). Only problem would be figuring out how to write software that could communicate with it. Also to even build those simple features I described is way above my head.

    A serial output would also be nice, to drive things like LCD screens.

  18. how about a fan/cold cathode controller that has as many outputs as you want. power can come from Pci and if you need more juice, from molex connetors. you could write routines for it to run or control it from a gui console. you could sprinkle temperature sensors through the case and set up temp thresholds for the fans so they automatically vary themselves with load, just like the controllers on the motherboard. you could set up cooling zones so if one zone becomes hotter than another, just those fans kick into action and rectify the situation.
    for lighting you could have optical sensors that determine how dark it is and vary the intensity of the light based on that.

  19. CAptSnuffy says:

    the problem with these suggestions is that the PCI interface (i know thats redundant)is completely unnecesary. Yuo could just grad the power from a spar molex connector and make yur own simple circuit with a microcontroller and some sensors. You’d only need the PCI to work in conjunction with software, and it seems like a lot of people wouldn’t want to get into that.

  20. Pixel says:

    Yeah, nice thing. But the problem is, the PCI specifications are completely closed out to the public. Well, general public that is. You have to become a member of the pci-sig group in order to legally access all the PCI documentation, and the annual fee is $3000 a year.

    http://www.pcisig.com/membership/join_pci_sig/

  21. kva says:

    How to apply 8255 in this card ?

  22. haloscorned says:

    It’s responses like #1 that confuse the hell out of me. We apparently live in a world where “ultra leet” speak is more important than knowledge. The last time I checked, being a “hacker” wasn’t a status symbol. It was one persons desire to understand the secrets and inner workings behind closed doors.

    For the record, the knowledge of how a PCI card works is MUCH more important than WHAT it can do for you. It’s what YOU can MAKE it do. So, a “hack” is something YOU do to the computer to produce results. Custom results. You make it behave in a way you want it to behave. And, if the feeling of playing God with your computer isn’t enough to rock your ultra leet socks off…

    I believe Nintendo has a user friendly interface. Please, go play Mario Sunshine and smile.

  23. haloscorned says:

    It’s responses like #1 that confuse the hell out of me. We apparently live in a world where “ultra leet” speak is more important than knowledge. The last time I checked, being a “hacker” wasn’t a status symbol. It was one persons desire to understand the secrets and inner workings behind closed doors.

    For the record, the knowledge of how a PCI card works is MUCH more important than WHAT it can do for you. It’s what YOU can MAKE it do. So, a “hack” is something YOU do to the computer to produce results. Custom results. You make it behave in a way you want it to behave. And, if the feeling of playing God with your computer isn’t enough to rock your ultra leet socks off…

    I believe Nintendo has a user friendly interface. Please, go play Mario Sunshine and smile.

  24. Washu says:

    I think it’s pretty neat even though it does not implament an auto configureation registor.
    It could be useful in allowing one to hook up an LCD or relay box to a legacy free machine esp a macintosh as they have no parallel ports new world ones even lack general serial IO and only have USB and 1394.
    Yes one can use a usb interface box but these do cost $130 a copy and they sometimes only come with a windows only driver and may have poor documentation making it difficult to write a new driver.
    As on the PCI bus specs they have been loose in public for sometime pinouts and bus timings are publicly avilible so ignore pixel’s remarks and have fun.

  25. kva says:

    What so exciting about hacking ? :D

  26. ur;lord pyro -k says:

    This page has been temporarily closed due to too much traffic.
    Please try again later.

    Anyone know of a mirror of this? Or did someone by chance save a copy?

  27. bEN JACKSON says:

    I also homebrewed a PCI card, but in a slightly more practical way.

    http://www.ben.com/minipci/

  28. Soosie says:

    Hey guys,

    very nice ideas. But has anyone have already more information about how to build your own pci, i’m very interested due to a project on school where i need a very fast interface to the pc, and i saw this topic and well if anyone knows how to read and write to a PCI device this would be a very nice solution.
    (Maybe some kind of schemtics or software?) I hope you guys can help me, i also searched very much on the internet but didn’t find anything to help, only some timing schemetics.

    In forward thanks!

  29. Yuhong Bao says:

    “You have to become a member of the pci-sig group in order to legally access all the PCI documentation, and the annual fee is $3000 a year.”
    Or you can order the PCI 3.0 spec as a non-member at $1000:
    http://www.pcisig.com/specifications/order_form

  30. V says:

    torrent a book on it and buy a breadboard. knowlege is free. if your a hacker that is.

  31. some one should make a template kind of thing so that people can expirement with the card and not have to solder any thing together th use it unless the want to. I for one want to make a custom sound card that sounds like the 1981 PC speakers they useed to put in IBMs. good times, good times…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 91,338 other followers