Re: New project...PCI based servo control board



> 
> 
> 
> 
> jekasunich-at-worldnet.att.net wrote:
> 
> >Craig wrote:
> >
> >  
> >
> >>>>One closing thought on board #2, I'd like to consider a SIMPLE bus
> >>>>expander be included on it
> >>>>        
> >>>>
> >
> >  
> >
> >>>Excellent idea!  Why waste FPGA gates on simple input and output
> >>>ports. Let the FPGA implement an expandable bus.
> >>>
> Ah HA!  I KNEW it!  You'd eventually reinvent what I already have been 
> doing.
> Except, the PC ALREADY has an expandable, bidirectional, 8-bit data bus!
> The EPP Parallel Port!  its fast, very low CPU load (1 cpu instruction/byte
> transferred) the protocol is totally managed in hardware, etc.


Well, What I don't understand is constant push to put these boards inside the PC.

People Mention "Speed", Speed is relative. 
Honestly What do you need with 32, 64, 128 megabyte per second data rates?

The way I see it sticking high voltage, high current interfaces inside the PC is
Toast or at the very least EMI if not EMP ;-) Waiting to happen.

PCI is a pain to use (Relative to many other possible options).

Any and all possible physical interfaces are a crap shoot on which NEW type
will take over and/or which OLD type will be pulled from the next microsoft
hardware push.

The obvious solution to sticking the driving electronics in the PC is to have
external modules. Since everyone does this anyway. Why push the "Controller" into
the PC. Put it close in a physical and electronic sense to the driving electronics.

All we need to do is define or copy a standard interface protocol.
Make it data based not physical connection based and stick to it.
make all rewrites or new software/hardware interfaces follow the spec.
 
This makes the physical interfaces much more flexible and much easier to isolate.
Serial protocols are simple and easy to isolate using fiber optics.
I'm not talking leading edge here either, we should easily be able to top a megabyte
per sec with simple stereo cables or fishing line. RS-485 drivers are dirt cheap and
good in noisy env. Firewire screams. USB is in EVERYTHING and embedded controllers are
cheap and easy to find. 
The EPP port would be a good place to start, but only for DATA, not bit banging transistors.

A simple uController connected to the parallel port could manage a sync serial connection
between the PC and "Box". The Box could easily have a watchdog type setup to hit an
ESTOP if the connection fails for some reason.

I just seems like we are heading in the direction of "Win-Modems" or "Win-Printers"
Those stupid (and Dumb) devices that only work because the PC CPU is directly managing 
very time sensitive operations and spending WAY too much system time doing it to
run a device the HAD a very well defined interface used for many years. What we got
were devices tied so closely to a specific version of a specific OS they were useless
anyplace else and for little or no advantage.

Far and away the most problems I've seen mention of relate to bit banging stepper motor
drivers and 10-20-30Khz and Jitter or speed issues and RTOS Issues.
Unless I'm missing something the only reason we Need the RTOS is to allow the Bit Banging.

The Problem is not that your 5 Ghz Titanium II PC CPU is too slow, it's all the other crap
it has to manage and get back to toggle your bits at exactly the right time.

A $3.00 dedicated uController will do a MUCH better job.

Offload 20,000 bit banging stepper pulses per second is a good start but moving up one
level and splitting the work at the spline level would save a ton of timing critical problems
and make everyones life easier.

We just need a standard interface at that level IMHO.

Marc.




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact