This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

PCI interface using uC

Hi,

I need to design a PCI interface card using microcontroller. Is that possible? Or I should go for microprocessor.

Thanks
praveen

  • That depends on exactly what you want to do with this interface, and what you mean by "microcontroller"...

    Even within the 8051 derivatives, there is a huge range of performance capabilities - and, of course, the 8051 is not the only microcontroller; it is not even the only 8-bit microcontroller!

    You need to start by giving some more thought to your actual requirement so that you can come up with some broad performance requirements - then you can consider what chips might be able to provide that performance.

  • I take it that you want to produce a PCI card for putting into the PC?

    If so, what is the card expected to do? That affects how much power the processor on the board needs.

    You will normally not find any microprocessor with any PCI interface for use on a PCI board, so you will need a PCI bus chip.

    On the other hand: There are processors available with the host side of a PCI interface, i.e. intended for use with PCI equipment.

  • Hi,

    Thanks for your reply.

    My actual requirement is data acquisition. The data from the external sensors are digitalised by an external circuit and it has to be stored in the PC memory through PCI Bus for futher manipulation.

    I found many ready-made data acquisition cards in the market. Is it possible to design an PCI bus interface according to my requirements? What are the basic information I have to collect?

    Praveen

  • But you didn't really tell us what your requirements was, i.e. why you think that existing hardware can't be used for your measurements. And you say "[...] it has to be stored in the PC memory through PCI Bus [...]" without qualifying exactly why the PCI bus is a requirement.

    Yes, it is ossible to build a PCI board. But to build one for mass-production costs a bit of money. And to do it for a single board would result in very, very high driver development costs. Another thing: New computers have switched away from PCI to PCI-E so if you expect to sell boards, you would have to either use PCI-E or design two board variants.

    Most people would probably look at a USB-based solution if they need to build a new device.

    You mention C51 as architecture, so I figure that you don't need any extreme bandwidth. You kind of forgot to mention your exact requirements...

    In short: Only look at a PCI board if you have very, very special requirements! I did have to write drivers for a PCI board once, but that was because the problem needed a CT telephony interface and 18 DSP chips for each board, and a need to run with multiple such boards in one machine. The concept tests with off-the-shelf hardware required a huge installation to get a small fraction of the capacity...

  • Hi,

    Thanks again for ur reply.

    The basic idea is PC based instrumentation. I need to collect the data( ie. pulse signals ) from the sensors in the feild to the PC.

    In present system I used a serial port interface. While using the serial port there is a limitation of speed, so I landed in PCI. I need to connect, say 32 channels to the PC and to collect the data.

    What will be the best option for me to interface these sensors to PC?

    What is the advantage of using USB compared to PCI?

  • "[...] so I landed in PCI."

    Still no information why you think PCI is your only (or prefered) choice.

    "What will be the best option for me to interface these sensors to PC?"

    Still no estimate about what bandwidth you need, in which case people are unable to make suggestions about different interfaces (RS232 at a higher baudrate than you have currently tested, USB, FireWire, Ethernet, ...).

    And you haven't mentioned anything about latency requirements.

    "What is the advantage of using USB compared to PCI?"

    I thought that was obvious.

    What is the advantage of being able to upgrade your computer without having to open it?

    What is the advantage of not having to cater for both PCI and PCI-E?

    What is the advantage of being able to use existing USB drivers compared to creating own PCI drivers or buy a DDK with skelleton drivers to rewrite?

    What is the advantage of using an interface that a large number of microcontrollers has built-in?

    What is the advantage of using an interface where your data collector can be several meters away from the computer, allowing the data to be sent in using a nice, cheap, standard data cable?

    What is the advantage of being able to hot-plug the device?

    What is the advantage of being able to support Linux and maybe Mac at a limited cost?

    What is the advantage of being able to plug in one more device (still hot-plug) if you need more inputs than the first device supports, without noticing that there are no more slots left on the motherboard?

    What is the advantage of being able to support a laptop?

    What is the advantage of being able to bring a device in your pocket/bag and connect to a customer's computer?

    Need I go on?

  • PCI, of course, has its own speed limitations!

    You still haven't said - despite being asked at least three times - what your actual throughput requirement is!

    What, exactly, was the limitation you experienced with the serial port?

    Was it a real serial port - ie, with real UARTs, etc?
    If so, what baud rate were you using?

    "What will be the best option for me to interface these sensors to PC?"

    It is still impossible to say - because you have still failed to provide any details!

    "What is the advantage of using USB compared to PCI?"

    It will be orders of magnitude simpler!

    If a single USB (or serial) link can't cope with all your data, then you can easily just use multiple USB links...

    FTDI do some pretty neat cables that go straight from USB to 5V or 3.3V logic on loose wires or pin headers:
    " href= "http://apple.clickandbuild.com/cnb/shop/ftdichip?productID=53&op=catalogue-product_info-null&prodCategoryID=47"> apple.clickandbuild.com/.../ftdichip

    So you can easily convert a microcontroller's standard UART to USB with no design effort and very little cost!

    Or just choose a microcontroller with built-in USB...

  • Another advantage of USB, of course, is that you can use it on any computer - not just one with a free PCI slot.

    eg, a laptop...

  • Is it possible to design an PCI bus interface according to my requirements?

    Possible: obviously yes, as it has been done by others before.

    Does that mean that you are capable of doing it? Well, sorry, but the answer to that is rather clearly: No. Right now it appears you're not even capable of asking the right questions, much less implementing answers to those, should you get them.

    What are the basic information I have to collect?

    Quotations from consultants who can do the job for you. Seriously.

  • Thanks

    Actually I have given a project of 6 channel counter card with PCI Interface.

    The maximum frequency output from the sensor is 20Khz. This my first project in PCI based systems and I want to familiarise with it. Where will I get sufficient information regarding?

    I came across the Quicklogic IC(QL 5130) which can be interfaced with 8051. I think it is a simpler way to do this project.

  • 6 sensors.
    20kHz.
    16 bit data/sample (my assumption, since you refuse to talk about bandwidth).

    That comes to 2Mbit/s actual data volume.

    But the above is assuming 20kHz sampling of a 6-channel 16-bit ADC. If you are using a counter card, I would assume that you actually produce just a fraction of that bandwidth. But let's say we are talking about 6 ADC channels that has to sample a 20kHz sinus signal, so you instead have 44.100kHz sampling rate.

    Now we get a bandwith of 4.2Mbit.

    Ethernet 10baseTX are just on the limit for this bandwidth.
    Ethernet 100baseTX can do it while asleep.
    High-speed USB runs at 480Mbit/s.
    The original FireWire standard has 400Mbit/s.

    So, why do you think that you need the 1Gbps transfer rate of the PCI bus, despite the fact that the PCI solution is way more expensive to develop, produce and to own?

    But back to your original problem - you talked about a counter card, and not about an ADC with 20kHz imput frequency or sample frequency. A counter that ticks at 20kHz don't really need much bandwidth. In the extreme case, you have 6 digital signals ticking at 20kHz for a bandwidth of 120kbit/s which means that you can probably handle your counters with a UART capable of 1Mbaud operation. Hardly any cost at all for a micrpprocessor with six counter/timer modules and a UART with driver chip and a crystal and some connectors...

  • www.techonline.com/.../211800334

    Or look at the very many other such PCI resources available...