hi-3210 Holt Integrated Circuits, Inc., hi-3210 Datasheet - Page 34

no-image

hi-3210

Manufacturer Part Number
hi-3210
Description
Arinc 429 Data Management Engine / Octal Receiver / Quad Transmitter
Manufacturer
Holt Integrated Circuits, Inc.
Datasheet
HI-3210 SPI COMMANDS
For the HI-3210, each SPI read or write operation begins
with an 8-bit command byte transferred from the host to the
device after assertion of
reception is half-duplex, the host discards the dummy byte
it receives while serially transmitting the command byte.
Fast Access Commands for Registers 0-15
The SPI command set includes directly-addressed read
and write commands for registers 0 through 15 (Memory
Address 0x8000 to 0x800F). The 8-bit pattern for these
commands has the general form
where RRRR is the 4-bit register number, and W signifies
Write when 1, or Read when 0.
Figures 2 and 3 show read and write timing as it appears
for fast-access register operations. The command byte is
immediately followed by a data byte comprising the 8-bit
data word read or written. For a single register read or
write,
Multiple register read or write cycles may be performed by
transferring more than one byte before
Multiple register access occur in address order starting
with the register specified in the SPI instruction.
Note: Register locations not shown in table 1 are
“reserved” and cannot be written using any SPI command.
Further, these register addresses will not provide
meaningful data in response to read commands.
RAM and Register Indirect Addressing
Refer to the HI-3210 SPI command set shown in Table 1.
SPI commands other than fast-access use an address
pointer to indicate the address for read or write
transactions. This sixteen-bit memory address pointer
(MAP) must be initialized before any non-fast-access read
or write operation. Two dedicated SPI instructions are
used to write and read the MAP. SPI Instruction 0x8C
followed by two data bytes is used to write MAP. SPI
instruction 0x88 reads two data bytes from MAP. The first
byte is the most significant eight bytes of the address. For
example, SPI sequence 0x8C, 0x12, 0x34 write the value
0x1234 into the MAP.
Two SPI instructions read and write data bytes to memory
or registers using the MAP as an address pointer. Single or
multi-byte reads and writes may be performed. MAP is
incremented after each byte access.
negated after the command, then reasserted for the
following Read or Write command.
Two command bytes cannot be “chained”
CS
is negated after the data byte is transferred.
0-W-R-R-R-R-0-0
CS
. Since HI-3210 command byte
CS
HOLT INTEGRATED CIRCUITS
;
is negated.
CS
must be
HI-3210
34
Note: When the primary or fast-access address pointer is
used for auto-incrementing multi-word read/write and
reaches the top of the memory address range (0x7FFF), or
the top of the register address range (0xFFFF) attempts to
read further bytes will result the terminal address (0x7FFF
or 0xFFFF) being output again. The host should avoid this
situation.
Two single-byte SPI commands use the current address
pointer value in MAP without first loading or otherwise
modifying it:
Command
Command
Either of these commands can be used to read or write a
single location, or may be used when starting a multi-byte
read or write by using the pointer’s auto-increment feature.
Several other HI-3210 SPI commands load or otherwise
modify the memory address pointer before initiating a read
or write process. These commands are designed to allow
speedy access to messages received on the ARINC 429
buses.
Using a single-byte SPI command, the address pointer can
be directly loaded with the memory address for the last
received ARINC 429 message which triggered an
interrupt.
Op Code 110RRR00
The HI-3210 will retrieve the current ARINC Receive
Interrupt Vector for a given channel (RRR), calculate the
memory address for the first word of the corresponding
receive memory data block and write it to the Memory
Address pointer (MAP). Read the location addressed by
the new pointer value.
This command can be used to read just the most recent
ARINC 429 Receive Status Byte, or may be used to start a
four-byte read because memory pointer auto-increment
occurs after the Status Byte is read.
Op Code 111RRR00
The HI-3210 will retrieve the current ARINC Receive
Interrupt Vector for a given channel (RRR), calculate the
memory address for the first word of the corresponding
receive memory data block and write it to the Memory
Address Pointer (MAP). Output the value of the Receive
Interrupt Vector (ARINC 429 label byte).
This command can be used to read just the most recent
ARINC 429 label value received, or may be used to start a
four-byte read to output the entire four-byte ARINC
Special Purpose Commands
0x80
0x84
Read Operation
Write Operation
read location addressed by pointer value
write location addressed by pointer value

Related parts for hi-3210