beautypg.com

Programming considerations, Syntax – Echelon I/O Model Reference for Smart Transceivers and Neuron Chips User Manual

Page 64

background image

54

Parallel I/O Models

Symbol Description

Minimum

Typical

Maximum

t

fin

io_in() call to valid address

26.4 μs —

t

rret

Function return from read

4.2 μs —

t

wret

Function return from write

4.2 μs —

Programming Considerations

For a muxbus output object, the io_out( ) function requires an optional 8-bit
address argument, and an 8-bit data argument. If the address argument is

provided, the Neuron firmware first sets pins IO_0 through IO_7 as outputs, then
places the address value on these pins, and pulses C_ALS from low to high to

low. This latches the address into the address data latch device. If the address is

not provided, this step is skipped. The current value latched in the address latch
remains unchanged.
The Neuron firmware then places the data argument value on pins IO_0 through

IO_7, and pulses C_WS~ from high to low to high.

For muxbus input, the io_in( ) function allows an optional 8-bit address argument

only. If this argument is provided, the address is emitted and latched in the

same manner as for the io_out( ) function.

Finally, the Neuron firmware sets pins IO_0 through IO_7 as inputs. It drops

C_RS~ from high to low, inputs the 8 bits of data from pins IO_0 through IO_7,

and raises ~_RS~ from low to high. The function then returns the 8-bit data
value read.
After a read operation, pins IO_0 to IO_7 are left in the high impedance state.
This could cause excessive power consumption of the 8-bit latch. Using pull-up

resistors, or ensuring that the last I/O operation is a write, can avoid this

situation.

The address argument is optional and can be left off as a performance

enhancement where a bus device can be repeatedly read from or written to

without changing the bus address. The application must keep track of the
current bus address when using this feature.
No events are associated with this I/O model.

Syntax

IO_0 muxbus

io-object-name

;


IO_0

Specifies pin IO_0. Muxbus input/output requires eleven pins and must
specify pin IO_0.

io-object-name