Network

rbaltiss_at_worldaccess.nl
Date: 1998-04-15 21:10:31

Hallo Andre,


About the 65816: yes, I did use a board to connect the 65816 to the 8032
but I had to rewire it a little bit. In fact it is the card I used for the
VIC20. I'll give you the details later.

--------------------------------------------------------------------------

I want to react on your "Network page":

> The asynchrounous communication will be derived from the RS232
> specification, in that normal UART 16550 or ACIA 6551 chips can be used.

Very nice. (I always used the 8250 and 16450 with 65xx-systems)

> The physical layer could be derived from the RS485 specifications.
> The original RS485 specification uses a terminated bus, and allows
> one master to send at any time only. Otherwise drivers could be damaged.

Can you give me in a few lines some more specifications, please? How many
lines does it use? Why can the drivers be damaged? What ICs does it use?

> With tokens, the bus itself has a kind of global "state", which is
> represented by the token.

What exactly is a token in this case, a byte to be sent around, a level of
the line(s)? 

> The logical layer still has to be thought of. But in general I want
> a dynamic protocol, that allows switching on/off of single devices at
> any time (when they are not taking part in the communications).

You mean "power off"? Can be coverd by simply using the right hardware.

> Collision detection can be done in several ways:
>
> Have a hardware that compares the signal level from the receiver
> with the one as it should be from the sender. 

Could be done by EXORing the signal before and after the linebuffer. Maybe
you have to include a small filter to get rid of spikes caused by internal
delays.

> Receive the bytes just sent be the sender and compare them to the
> bytes sent. If they differ, abort.

My idea is to use a two line network (ie. COAX). Connect both TxD and RxD
by means of a buffer to this network. If nobody else is transmitting, RxD
receives the byte sent by TxD. The only thing I do not know is how the UART
will behave receiving a cripled byte (= flanks at unexpected moments).

The only thing is I have no idea of is which hardware-driver to use to drive
the bus. That's why I asked more info about the RS485. My idea is to use
something like the 7406 but capable of driving a long bus (> 100m?) and at
higher frequencies. I never had a good look at a networkcard but if someone
can figure out what it uses to drive the bus, we have our solution.

> Addressing is done dynamically. On startup of the network services
> each node sends a kind of request message which all active nodes answer
> in return. The requesting node then selects a free node number.
> Probably that doesn't work that simple, but it shouldn't be to difficult
> to figure something like that out.

In this way you still don't know which node is which computer. This only
can be known if the computer identifies himself in one or another way. So
why not use the identification itself? This is the reason networkcards
heave a unique built-in address. But this involves extra hardware. Why not
pass the node-address as a parameter to the PRG taking care of the
communication? In this way you even can take care of the fact that each
USER using the computer can have its own identification.


Groetjes, Ruud


Archive generated by hypermail 2.1.1.