Bitshift input/output, Hardware considerations – Echelon I/O Model Reference for Smart Transceivers and Neuron Chips User Manual
Page 86
76
Serial I/O Models
Bitshift Input/Output
The bitshift I/O model is used to shift a data word of up to 16 bits into or out of
the Neuron Chip or Smart Transceiver. Data is clocked in and out by an
internally generated clock. This model is useful for transferring data to external
logic that uses shift registers.
This model applies to Series 3100 Neuron Chips and Smart Transceivers, and to
Series 5000 Neuron Processors and Smart Transceivers.
Hardware Considerations
Pairs of adjacent pins can be configured as serial input or output lines. The first
pin of the pair can be IO0-IO6, IO8, or IO9, and is used for the clock (driven by
the Smart Transceiver). The adjacent higher-numbered I/O pin is then used for
up to 16 bits of serial data. The bit rate can be configured as 1 kbps, 10 kbps, or
15 kbps for a Series 3100 device with a 10 MHz input clock; the bit rate can be
configured as 16 kbps, 160 kbps, or 240 kbps for a Series 5000 device with an 80
MHz input clock. The bit rate scales proportionally to the input clock rate. The
active clock edge can be specified as either rising or falling. This function
suspends application processing until the operation is complete.
For bitshift input, the clock output is deasserted (to the inactive level) at the
same time as the start of the first bit of data. For bitshift output, the clock
output is initially inactive prior to the first bit of data (unless overridden by a bit
output overlay).
Figure 26 on page 77 and Figure 27 on page 78 show the bitshift input and
output latency times, respectively. These are the times from the call to the
io_in() or io_out() function, until a value is returned. The direction of bit ports
can be changed between input and output dynamically by using the
io_set_direction() function.
BITSHIFT OUTPUT
IO10
IO9
IO8
IO0
IO1
IO2
IO3
IO4
IO5
IO6
IO7
Clk
Data
Clk
Clk
Data
Clk
Data
Data
Clk
Data
BITSHIFT INPUT
IO10
IO9
IO8
IO0
IO1
IO2
IO3
IO4
IO5
IO6
IO7
Clk
Data
Clk
Clk
Data
Clk
Data
Data
Clk
Data
IO11
IO11
Figure 25. Bitshift I/O Examples