ISD3900
Publication Release Date: Dec 10, 2013
- 38 -
Revision 1.5
new audio command until this bit returns low.
CBUF_FUL
– indicates that the command buffer is full. No more commands can be queued
for execution until this bit returns low.
CMD_BSY
– indicates the device is processing a command. Device will not respond to a new
command until this bit returns low. If CMD_BSY=1 and CBUF_FUL=0 and VM_BSY=0, a new
command will go into the command buffer and execute when the current command finishes. If
CMD_BSY=1 and CBUF_FUL=1 or VM_BSY=1 any new audio command will be ignored and
generate a command error. For erasing commands like ERASE_MSG@, ERASE_MEM and
CHIP_ERASE, the user has to poll this bit to see if the erasing is done.
Whenever the ISD3900 generates an interrupt the Interrupt Status register holds flags that indicate
what type of interrupt was generated. These flags will remain set until a READ_INT command clears
them and the interrupt pin.
Table 12-7 Interrupt Status Register Description
Interrupt Status Byte
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
PK_INT
MPT_ERR
WR_FIN
CMD_ERR
OVF_ERR
CMD_FIN
ADDR_ERR
FULL_ERR
The individual bits of the status register refer to the following conditions:
INT
– an interrupt has been generated. The interrupt is cleared by the READ_INT command.
PK_INT
– Indicates a peak detection interrupt has occurred. Input peak detector can be
configured to generate an interrupt when signal level exceeds a certain threshold.
MPT_ERR
– Indicates a memory protection error. Digital access attempted for protected
memory.
WR_FIN
– indicates a digital write command has finished writing to the flash memory.
CMD_ERR
– an invalid command was sent to the device. Command was ignored because the
command buffer was full, a voice macro was active or the device was not ready to respond to
an erase command.
OVF_ERR
– This error is generated if host illegally tries to read or write data while RDY/BSYB
pin is low. It is also generated if a digital read or write attempts to read or write past the end of
memory.
CMD_FIN
– This bit indicates an interrupt was generated because a command finished
executing. A CMD_FIN interrupt will be generated each time an audio play, record or voice
macro finishes.
ADDR_ERR
– Indicates an address error. This bit will be set to one if a PLAY_MSG@
command is sent at a non-valid header, a REC_MSG@ is sent at a non-blank memory
location or an ERASE_MSG command is sent to a sector that is not the beginning of
message.
FULL_ERR
– Record Block is full. This bit will be set and an interrupt generated if a record
command fills the memory.