wild I/O interface idea
Regarding the previous ISA/PCI/USB/ethernet etc
conversations on how to get signals out to/from the real world
in a timely manner for steppers and servos.
The problem with ISA is that it is constrained to
operate on an 8MHz cycle. I believe the accesses to the
parallel port and system timers (for RT-Linux) also
must pass over this bus.
Once upon a time I built an analog/digital converter
for an Atari/ST and it did its I/O through the cartridge
game port - essentially memory mapped I/O at memory access speeds.
I am thinking of a card, which to the computer looks like a
SDRAM memory stick, but which actually is not memory,
but otherwise provides three basic functions:
#1 - provides a few 32 and 64 bit timers/counters. These are
set up and read just by memory reads and writes to specific
locations.
#2 - provides latched outputs to the real world (ie computer
writes 32 bits to a memory address, and those are latched)
#3 - provides latched inputs to the computer (ie something
external writes and strobes bits into a latch, and the CPU
can read those bits just by reading a memory address).
#1 would assist RT-Linux in quickly setting up timers (I haven't
quite figured out how to do an interrupt, but perhaps cause a
false memory parity error, which could be trapped and intercepted).
#2 and #3 would give us all the I/O bits we needed.
Most modern (Pentium) computers have 3 or 4 SDRAM memory
sockets. It would be easy to dedicate one socket for this function.
It seems much simpler than designing dedicated PCI cards, writing
drivers etc. Also it would have a very wide variety of applications
for fast data I/O.
Sleeper, or just too crazy?
Doug Fortune
Date Index |
Thread Index |
Back to archive index |
Back to Mailing List Page
Problems or questions? Contact