Re: wonderboard
Posted by
D.F.S.
on 2000-02-24 14:43:07 UTC
>You need to keep in mind the fact that is is just an extension
> From: "Harrison, Doug" <dharrison@...>
of how the standard printer "Port" is set up.
The original "Driver" IC is the same one I would use for the the
"Xcvr Chips"
It required you to set the data lines then write data to the the
data bit that runs the "strobe", then rewrite it then write the next
byte of data...
>Yes, and no.
> Your argument has merit.
> Will this in any way slow down the board
When you switch the active port, it will take 3 extra port writes.
Otherwise it will take no extra time or steps at all.
Those port writes are simply an out() command.
I was able to sustain 1/2 million of those a second on a old '386.
The timing is a non-issue as far as I'm concerned. How many updates a
second do we really need?
If 200,000/second is not enough for anyone, maybe we need to look at
it again. Remember, If there is no port change, there is no real
overhead.
Those 3 port writes open up the capability to over 1,000 bits
of I/O, that was not even an option before.
> or make it more difficult to set up?Hardware wise, if you can handle a solodering iron and not hurt yourself,
you could build it.
Software wise, a simple API should do it, and a LOT simpler than the
standard parallel port.
Just go look at the requirements for directly interfacing to the parallel
port. The inverted inputs and outputs can be a real pain in the butt IMHO.
Here's a first pass at the pseudo-code:
Wonderboard_Write(Port_val, Data_val)
{
If (Global_Current_Port != Port_val)
{
/* Set active Port */
Set address bit ON on parallel port;
Set printer port date lines to Port_val;
pulse parallel port Strobe LOW;
Set address bit OFF on parallel port;
}
Set Read-Write bit to Write on parallel port;
Set printer port date lines to Data_val;
pulse parallel port Strobe LOW;
}
Int Wonderboard_Read(Port_val)
{
If (Global_Current_Port != Port_val)
{
/* Set active Port */
Set address bit ON on parallel port;
Set printer port date lines to Port_val;
pulse parallel port Strobe LOW;
Set address bit OFF on parallel port;
}
Set Read-Write bit to Read on parallel port;
Set Data_val to value of printer port date lines;
return(Data_val)
}
> Also, isn't what you describe just a digital I/O board of sorts?That is exactly what we are doing, although it is external,
opto-isilated, open, free, and expandable be design.
Ours won't cost $399.00 though, sorry :-).
> They are already available, though it's possible we wouldThis is just the starting point for an actual product.
> be adding features particular to our needs.
I got the Impression my talk of what COULD be added made you think this was
something much more complicated than it is.
Add a few DACs, some A/D converters, some opto-isolators and a few relays
along with a timer and counter, and you have all the features of the
Servo-To-Go Cards they want !! $900.00 for.
We could do it for 1/10 the money, and THAT is 4 times the costs I add up
at the moment.
They are not that complicated, you do need a standard starting point though.
>Sure, I'll build one this week-end.
> The big problem: The level of design is beyond my abilities at this point.
> I hope to get there but need boards sooner. Do we have a volunteer?
Do was have any system to distribute binaries, like pictures, diagrams,
PCB software board designs?
Marc
Discussion Thread
Patrick Huss
2000-02-24 06:27:32 UTC
Re: wonderboard
Harrison, Doug
2000-02-24 07:12:25 UTC
RE: wonderboard
D.F.S.
2000-02-24 09:18:11 UTC
Re: wonderboard
Harrison, Doug
2000-02-24 10:10:06 UTC
RE: wonderboard
D.F.S.
2000-02-24 11:57:47 UTC
Re: wonderboard
John Guenther
2000-02-24 12:21:12 UTC
Re: wonderboard
Harrison, Doug
2000-02-24 13:04:01 UTC
RE: wonderboard
D.F.S.
2000-02-24 14:43:07 UTC
Re: wonderboard
Bertho Boman
2000-02-24 20:27:57 UTC
Re: wonderboard