
ISD2360 Design Guide
Release Date: Nov 20, 2014
- 14 -
Revision v1.14
5.6
Indirect Reference Registers
Eight 16-bit Indirect Reference Registers (R0-R7) can be used to store the following:
Voice Prompt indexes for the SPI commands PLAY_VP@Rn and PLAY_VP_LP@Rn
Voice Macro index for the SPI command EXE_VM@
Voice Macro index associated with GPIO triggering
shows the address locations of the R0-R7 registers.
Table 5-5 Indirect Reference Registers R0-R7
Access Mode
Value At Reset Nominal Value
R/W
0x00xx
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27
R0[7:0]
R0[15:8]
R1[7:0]
R1[15:8]
R2[7:0]
R2[15:8]
R3[7:0]
R3[15:8]
0x28
0x29
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
R4[7:0]
R4[15:8]
R5[7:0]
R5[15:8]
R6[7:0]
R6[15:8]
R[7:0]
R1[15:8]
Normally when a GPIO pin is configured as a GPIO trigger pin, the entry index of its
associated Voice Macro should be written into the corresponding Indirect Reference Register
in POI Voice Macro, so the associated Voice Macro can be executed once the trigger
happens. The association between a GPIO pin and its Indirect Reference Register is fixed by
hardware, as shown in Table 5-6.
Table 5-6 GPIO Pin and Indirect Reference Register Association
GPIO0 GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7
Associated Indirect
Reference Register
R0
R1
R2
R3
R4
R5
R6
R7
5.7
GPIO4 Configuration for Digital Read/Write
The ISD2360 implements an internal FIFO with 4-byte depth which governs digital read/write
operations flow throughput. For digital read operations, the host controller should only try to
read from the SPI when the FIFO has data
– when RDY/BSYB is high. For digital write
operations, the host controller should only try to write into ISD2360 via SPI when the FIFO
has vacant space
– when RDY/BSYB is high.
The GPIO4 pin can be configured as RDY/BSYB pin to reflect this internal FIFO status.
Although the host controller can always rely on polling the DBUF_RDY bit to achieve the flow
control, utilizing a direct RDY/BSYB pin hardware feature provides a much easier and more
efficient solution. To configure the GPIO4 pin to function as a dedicated RDY/BSYB pin, write
AF1 bit4 as 0 and AF0 bit4 as 1.
Flow control through the RDY/BSYB pin, or through the DBUF_RDY bit using a pure software
solution must be implemented for the following SPI digital operations:
DIG_READ
Read from memory, for example.
DIG_WRITE
Programming the ISD2360, for example.
SPI_PCM_READ
De-compress the memory data, then read the de-compressed 16-bit PCM
data from the SPI interface.
SPI_SND_DEC
Send compressed data to ISD2360, allow the ISD2360 to de-compress
the data and then play it out.