Programming considerations, Syntax – Echelon I/O Model Reference for Smart Transceivers and Neuron Chips User Manual
Page 64
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