
Voice Recording & Playback Device
Revision 2.1
Page 3
Memory Organization
The APR6008 memory array is organized to allow the great-
est flexibility in message management and digital storage.
The smallest addressable memory unit is called a “sector”.
The APR6008 contains 640 sectors.
Figure 3 Memory Map.
Sectors 0 through 639 can be used for analog storage. Du -
ringaudio recording one memory cell is used per sample
clock cycle. When recording is stopped an end of data (EOD)
bit is programed into the memory. This prevents playback of
silence when partial sectors are used. Unused memory that
exists between the EOD bit and the end of the sector can not
be used.
Sectors 0 through 9 are tested and guaranteed for digital
storage. Other sectors, with the exception of sector 639, can
store data but have not been tested, and are thus not guaran-
teed to provide 100% good bits. This can be managed with
error correction or forward check-before-store methods.
Once a write cycle is initiated all previously written data in the
chosen sector is lost.
Mixing audio signals and digital data within the same sector is
not possible.
Note: There are a total of 15bits reserved for addressing. The
APR6008 only
requires 10 bits. The additional 5 bits are used
for larger devices within the APR6008
family.
SPI Interface
All memory management is handled by an external host pro-
cessor. The host processor communicates with the APR6008
through a simple Serial Peripheral Interface (SPI) Port. The
SPI port can run on as little as three wires or as many as
seven depending on the amount of control necessary. This
section will describe how to manage memory using the
APR6008 SPI Port and associated OpCode commands.
This topic is broken down into the following sections:
Sending Commands to the Device
OpCode Command Description
Receiving Device Information
Current Device Status (CDS)
Reading the Silicon Identification (SID)
Writing Digital Data
Reading Digital Data
Recording Audio Data
Playing Back Audio Data
Handshaking Signals
Sending Commands to the Device
This section describes the process of sending OpCodes to
the APR6008 All Opcodes are sent in the same way with the
exception of the
DIG_WRITE
and
DIG_READ
commands
.
The
DIG_WRITE and DIG_READ
commands
are
described
in the
Writing Digital Data
and
Reading Digital Data
sections
that follow. The minimum SPI configuration needed to send
commands uses the DI, /CS, and SCLK pins. The device will
accept inputs on the DI pin whenever the /CS pin is low.
OpCode commands are clocked in on the rising edge of the
SPI clock. Figure 4 shows the timing diagram for shifting
OpCode commands into the device. Figure 5 is a description
of the OpCode stream.
You must wait for a command to finish executing before send-
ing a new command. This is accomplished by monitoring the /
BUSY pin. You can substitute monitoring of the busy pin by
inserting a fixed delay between commands. The required
delay is specified as
T
next1
,T
next2
,T
next3
or T
next4
. Figure 6
shows the timing diagram for sending consecutive com-
mands. Table 1 describes which
T
next
specification to use.
Sector 0
Sector 1
Sector 639
Can Not be Used for Digital Data
SAC Trigger Point
APR6008