programmable digital I/O.. what should I buy?

Hi Everyone,

I want to make a programmable digital I/O device to coordinate some experiments I'm performing. I'm not sure what to buy, please help me out.

Here's what I need: at least 8 channels of digital I/O timing resolution of 10 microseconds or better on-the-fly digital output changes based on digital input (easily re-programmable via computer)

For example, when channel 2 goes high, less than 10 microseconds later, five 100 microsecond long pulses at 100 Hz are generated on channel 4.

Since my timing requirements are so tight, I can't run it off of windows to change the outputs based on the inputs. I've been told that an RTOS (real-time operating system) running on a microcontroller is overkill. I only want to make one of these, but I'll use it a lot. I can program in C++ just fine and would like a device that comes with some software to make it easy to program. Ideally, this would be a USB-attached device, but I'd be interested in PCI board solutions as well.

So what should I buy?

Thanks in advance,

-james

Reply to
J. Franchino
Loading thread data ...

I will assume that you want a PCI board for the Windows environment.

Lets see what you need.

Windows (any flavor) is not real time. When the OS goes away, it will come back when its ready.

So a PCI board with a FIFO on the digital side would be required

TImers are good for this type of thing. So you need a PCI board with a bunch of programmable timers.

Most RTOSs are 1 to 10 milli-second timing. Micro-seconds they can not do.

This sound like a custom design. I doubt you will find something off the shelf.

A PCI board with an FPGA on it may do what you want. ( those are cheap $200-$500)

Then you would have to learn FPGA programming or pay for programming services.

Good Luck, keep us informed.

Dolnald

Reply to
Donald

That turn-around time means either a local Microcontroller, or a CPLD. Times are just slow enough to be OK on a nimble Micro, so you can avoid CPLD/FPGA solutions.

Look at something like C8051F064EK

formatting link

That has Two USB links, 128K RAM, and 8 IO pins on a header, with a

25MHz core - ie 10us to that is 250 machine cycles, or 100-150 opcodes. Price is just $25, so you could use more than one if multichannel/event SW gets too complex.

-jg

Reply to
Jim Granville

They're not directly programmable in C++ but I use the Plug-A-Pod and MiniPod from New Micros

formatting link
They're inexpensive and have a built-in RTOS.

Noel

--
Noel Henson
www.noels-lab.com       Chips, firmware and embedded solutions
www.vimoutliner.org     Work fast. Think well.
Reply to
Noel Henson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.