Re: Homebrew STG card - IEEE 1394 firewire





"Arne Chr. Jorgensen" wrote:

> But here you work back towards some of the initital stages of EMC, - I think.
> You need dedicated controllers again.   To me it seems like this is an endless
> battle -  use a normal PC or add dedicated controllers.
>
> Jon Elson suggested to wire up an expansion to the par-port,  and for a
> "homebrew"  system - this may be the easiest way to go.  You don't need any
> FPGA chip either,  just some simple buffers and logic.

On the hardware side, this would be easy - I've already done most of the
work, as I'm using this in about 5 different systems.

On the Linux software side, it gets really tricky, as it takes 3 or 4 commands
to the external I/O to select and communicate with a single register out on
the ribbon cable.  The problem comes in if more than one program is talking
to things on the adapter.  You either have to have a single (real-time) program
serializing the stream of I/O going both ways, or you need a reserve/release
mechanism to prevent one program from stepping on another's toes.

But, this sort of setup is REALLY appealing, as you could have servo amps
or stepper drivers that just plug in to the bus, and also have auxilliary control;
pendants with touch screens, lighted push-buttons, jog dials and joysticks,
remote position displays, you name it!

The USB might solve some of the serial access concerns, as it has to
serialize access to a serial bus and protocol, anyway.

> The problem is to plan for some sort of an overall architecture.  This creates
> so much trouble - that I guess the best thing would be to just keep things
> stupid simple.  Any homebrew card that would have what STG boards have, will
> not be cheap and simple,  no matter what you do.  (IMO, cheaper Yes, simple No)

Well, if we agree to forcing the RT process to handle serializing access to
the adapter (or adding another RT process to manage the adapter) then
we get pretty much everything we need (and want)!

The biggest advantage is that by essentially breaking up the servo card,
and distributing it along a ribbon cable, you can mix and match things,
and add extra devices as needed.  For instance, someone, somewhere
will say that, no matter how much digital I/O we provide, they need more.
So, just plug in another digital I/O card, and set it to an extra module address,
and you've doubled the number of digital I/O bits.  Somebody needs 11
axes? (!!)  Sure, just plug in however many axis cards are needed.
(And, there's another question, should we have digital I/O for steppers,
and analog output for servos, or should the stepper driver and servo
amp cards just plug into the bus, one axis per card?  There is a noise
question, here.)

Jon




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

Problems or questions? Contact