Rainbow Electronics APR6016 User Manual

APLUS INTEGRATED CIRCUITS INC.
APR6016
Voice Recording & Playback Device
16 Minute Duration
Features
•Multi-level analog storage
•Dual mode storage of analog and/or digital data
-Eliminates the need for separate digital memory
•Advanced, non-volatile Flash memory technology
-No battery backup required
•SPI interface
-Allows any commercial microcontroller to control the device
•Programmable Sampling Clock
-Allows user to choose quality and duration levels
•Single 3V power supply
•Low power consumption
-Playback operating current: 15 mA typical
-Standby current: 1 uA maximum
-Automatic power-down
•Multiple package options available
-CSP, PDIP, Bare Die
•On-board clock prescaler
-Eliminates the need for external clock dividers
•Automatic squelch circuit Reduces background noise during quiet passages
-
General Description
Figure 1 APR6016 Pinout Diagrams
The APR6016 offers non-volatile storage of voice and/or data in advanced Multi-Level Flash memory. Up to 16 minutes of audio recordin imum of 30K bits of di devices can be cascaded for lon
g and playback can be accommodated. A max-
gital data can be stored.
APR6016
ger duration recording or greater digital storage. Device control is accomplished throu
gh an industry standard SPI interface that allows a microcontroller to mana This flexible arran messa
ging options. The APR6016 is ideal for use in cellular and cordless phones, telephone answerin di
gital assistants, personal voice recorders, and voice pag-
ers.
APLUS Integrated
lity
by usin
i mplemented in an advanced non-volatile Flash memory
logy
g a proprietary analog multi-level storage te
process. Each memory cell can typically store 256 volta levels. This allows the si
gnals in their natural form, eliminating the need for en
ding
and compression which can introduce distortion.
2002/5/10 Page 1
ge message recording and playback.
gement allows for the widest variety of
g devices, personal
achieves this high level of storage capabi-
chno
ge
APR6008 voice
to
reproduce audio
co-
/CS
DI
DO
VSSD
NC NC NC
ANAOUT-
ANAOUT+
NC
l -
/RESET
VSSA
AUDOUT
SQLCAP
1 2 3 4 5 6 7 8 9 10 11 12 13 14
28 pin DIP
28 27 26 25 24 23 22 21 20 19 18 17 16 15
SCLK VCCD EXTCLK /INT SAC VSSA NC /BUSY NC NC VCCA ANAIN+ ANAIN­/SQLOUT
Preliminary
g
g
y
y
g
g
g
q
g
g
g
g
g
g
j
g
y
g
g
g
g
q
g
g
g g
g
g
g
g
g
g
g
g
APR6016 Data Sheet
Functional Description
The EXTCLK pin allows the use of an external samplin clock. This input can accept a wide range of frequencies dependin that follows the clock. Alternativel nal oscillator can be used to suppl Mux followin si
nal if a clock is present, otherwise the internal oscillator source is chosen. Detailed information on how to pro divider and internal oscillator can be found in the explanation of the
Command Description
the appropriate sample clock fre
Sampling Rate & Voice Quality
The audio si should be fed into the differential inputs ANAIN-, and ANAIN+. After pre-amplification the si anti-aliasin its response based on the sample rate bein nal anti-aliasin
After passin the sample and hold circuit which works in con the Analo flash memor
on the divider ratio programmed into the divider
, the programmable inter-
the sampling clock. The
both signals automatically selects the EXTCLK
PWRUP
command, which appears in the
section. Guidance on how to choose
uency can be found in the
section.
nal containing the content you wish to record
nal is routed into the
filter. The anti-aliasing filter automatically adapts
used. No exter-
filter is therefore required.
through the anti-alias filter, the signal is fed into
Write Circuit to store each analog sample in a
cell.
OpCode
unction with
ram the
When a read operation is desired the Analog Read Circuit extracts the analo the si
nal to the Internal Low Pass Filter. The low pass filter converts the individual samples into a continuous output. The output si ferential output driver. The differential output driver feeds the ANAOUT+ and ANAOUT- pins. Both differential output pins swin
The s si control si reducin mation, refer to the
After passin
oes to the output amplifier. The output amplifier drives a sin­le ended output on the AUDOUT pin. The single ended out-
put swin
All SPI control and hand shakin Master Control Circuit. This circuit decodes all the SPI si and the status re the APR6016.
nal then goes to the squelch control circuit and dif-
around a 1.23V potential.
uelch control circuit automatically reduces the output
nal by 6 dB during quiet passages. A copy of the squelch
nal is present on the /SQLOUT pin to facilitate
ain in the external amplifier as well. For more infor-
s around a 1.23V potential.
enerates all the internal control signals. It also contains
data from the memory array and feeds
Squelch
through the squelch circuit the output signal
ister used for examining the current status of
section.
signals are routed to the
nals
Figure 2 APR6016 Block Diagram
/RESET
/BUSY
SAC
/INT
DO
DI
/CS
SCLK
EXTCLK
Row Address
Master Control Circuit
3.84 Mcell Memory Array
Row Decoder
Column Address
Programmable Internal
Oscillator
Programmable Divider
Single Analog Memory Cell
Column Decoder
Analog input/output to Memory array
Mux
Low Pass
Write Circuit
Read Circuit
Low Pass
Squelch
Pre-
Amp
Amp
Amp
ANAIN+
ANAIN-
ANAOUT+
ANAOUT-
AUDOUT
SQLCAP /SQLOUT
Page 2 Voice Recording & Playback Device
Revision 1.0
Preliminary
y
y
g
y
)
y
g
g
g
g
y
g
g
y
g
g
g
g
g
(
)
g
g
g
ying
g
g
y
g
g
g
g
g
g
g
y
y
g
APR6016 Data Sheet
Memory Organization
The APR6016 memory array is organized to allow the great­est flexibilit The smallest addressable memor The APR6016 contains 1280 sectors.
in message management and digital storage.
unit is called a “sector”.
Figure 3 Memory Map.
SAC Trigger Point
Sector 0
Sector 1
Sector 1279
Sectors 0 through 1279 can be used for analog storage. Dur­in
audio recording one memory cell is used per sample clock c bit is programed into the memory. This prevents playback of silence when partial sectors are used. Unused memor exists between the EOD bit and the end of the sector can not be used.
Sectors 0 throu stora store data but have not been tested, and are thus not teed to provide 100% error correction or forward check-before-store methods. Once a write c chosen sector is lost.
Mixin not possible.
cle. When recording is stopped an end of data (EOD
e. Other sectors, with the exception of sector 1279, can
audio signals and digital data within the same sector is
Note: There are a total of 15bits reserved for addressing. The APR6016 only requires 11 bits. The additional 4 bits are used for larger device within the APR60XX family.
Can Not be Used for Digital Data
that
h 9 are tested and guaranteed for digital
uaran-
ood bits. This can be managed with
cle is initiated all previously written data in the
SPI Interface
All memory management is handled by an external host pro­cessor. The host processor communicates with the APR6016 throu
h a simple Serial Peripheral Interface (SPI) Port. The SPI port can run on as little as three wires or as man seven dependin section will describe how to mana APR6016's SPI Port and associated OpCode commands. This topic is broken down into the followin
• Sendin
• OpCode Command Description
• Receivin
• Current Device Status
• Reading the Silicon Identification (SID)
•Writin
• Readin
• Recordin
•Pla
• Handshakin
Sending Commands to the Device
This section describes the process of sendin the APR6016. All Opcodes are sent in the same wa exception of the The in the that follow. The minimum SPI confi 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 risin SPI clock. Fi OpCode commands into the device. Figure 5 is a description of the OpCode stream.
You must wait for a command to finish executin in /BUSY pin. You can substitute monitorin inserting a fixed delay between commands. The required dela shows the timin mands. Table 1 describes which
Digital Data
Back Audio Data
DIG_WRITE and DIG_READ
Writing Digital Data
a new command. This is accomplished by monitoring the
is specified as
on the amount of control necessary. This
e memory using the
sections:
Commands to the Device
Device Information
CDS
Digital Data
Audio Data
Signals
OpCodes to
DIG_WRITE
and
ure 4 shows the timing diagram for shiftin
T
next1,Tnext2,Tnext3
diagram for sending consecutive com-
DIG_READ
and
commands
are
Reading Digital Data
uration needed to send
edge of the
before send-
of the busy pin b
or T
next4
specification to use.
T
next
commands
. Figure 6
as
with the
described
sections
.
Voice Recording & Playback Device Page 3 Revision 1.0
Preliminary
APR6016 Data Sheet
Figure 4 Sending SPI Commands
/CS
SCLK
~
~
~
~
T
hiSCLK
T
, T
, T
, T
next1
next2
~
~
~
next3
~
next4
T
fCS
DI
Figure 5 OpCode Format
Op4 Op3 Op1 Op0 A14 A13 A12 A11 A10 A9 A8 A7 A6Op2
Op4
First bit shifted in
Op3
Op2 Op1
T
suDI
T
pSCLK
{
OpCode Command OpCode Parameter
Figure 6 Opcode Stream Timing
A0
A0
T
rCS
~
~
T
loSCLK
~
~
T
A5 A4 A3 A2 A1
A1A2
hDI
Last bit shifted in
{
SCLK
/CS
DI
Page 4 Voice Recording & Playback Device
Current Com mand Next Command
T
next1,Tnext2,Tnext3,Tnext4
Revision 1.0
Preliminary
g
y
y
APR6016 Data Sheet
Table 1 Sequential Command Timing
Current Command Next command Timing Symbol
NOP
Any Command T
SID PWRUP
Any Command T
STOP_PWDN PWRUP
SET_REC
STOP, STOP_PWDN, SET_REC, REC,NOP REC SET_PLAY
STOP, STOP_PWDN, SET_FWD, FWD, SET_PLAY,PLAY, NOP PLAY SET_FWD
SET_FWD, FWD, STOP, STOP_PWDN FWD DIG_WRITE DIG_READ DIG_ERASE STOP
Any Digital Command,
Note: For partial DIG_READ T
rise of /CS, not from the rise of /CS
Any Command T
STOP, STOP_PWDN
is measured from the extra clock low that follows the 8K sampling rate: 376m SEC
next3
OpCode Command Description
Designers have access to a total of 14 OpCodes. These OpCodes are listed in Table 2. The name of the Opcode appears in the left hand column. The followin represent the actual binar
information contained in the 20 bit
data stream. Some commands have limits on which com-
two columns
next1 5u SEC
next2 5m SEC
T
next2 5m SEC
Within SAC Low Time
T
next3
4K sampling rate: 752m SEC
next4 470m SEC
mand can follow them. These limits are shown in the “
able Follow on Commands
” column. The last column
Allow-
summarizes each command.
Combinations of OpCodes can be used to accommodate almost an
memory management scheme.
Table 2 APR6016 Operational Codes
Instruction
Name
NOP
SID
SET_FWD
FWD
PWRUP
STOP
STOP_PWDN
Voice Recording & Playback Device Page 5 Revision 1.0
OpCode
(5 bits) Opcode Parameters (15bits)
[Op4 - Op0]
[00000] [Don’t Care] All Commands No Operation [00001] [Don’t care] All Commands Causes the silicon ID to be read. [00010] Sector Address
[00011] [Don’t care] SET_FWD,
[00100] [A14-A10]: all zeros
[00110] [Don’t care] All Commands Stops the current operation.
[00111] [Don’t care] PWRUP Stops the current operation. Causes the
[Address MSB - Address LSB]
[Address 14 - Address 0]
[A14 - A0]
[A9-A2]: EXTCLK divider ratio
[A1-A0]: Sample Rate Frequency
Allowable Follow
on Commands Summary
SET_FWD,
FWD, STOP,
STOP_PWDN
FWD, STOP,
STOP_PWDN
All Commands Resets the device to initial conditions.
Starts a fast forward operation from the sector address specified.
Starts a fast forward operation from the current sector address.
Sets the sample frequency and divider ratios.
device to enter power down mode.
Preliminary
g
g
g
g
g
g
g
g
g
q
y
g
g
q
y
q
g
y
q
APR6016 Data Sheet
Instruction
Name
SET_REC
REC
DIG_ERASE
DIG_WRITE
DIG_READ
SET_PLAY
PLAY
OpCode
(5 bits) Opcode Parameters (15bits)
[Op4 - Op0]
[01000] Sector Address
[01001] [Don’t care] STOP,
[01010] Sector Address
[01011] [A14 - A0][XXXX][D0 - D3004][XXXX] All Commands This command writes data bits D0 - D3003
[01111] Sector A d dress
[01100] Sector Address
[01101] [Don’t care] STOP,
[Address MSB - Address LSB]
[Address 14 - Address 0]
[A14 - A0]
[A14 - A0]
[A14 - A0]
[A14 - A0]
Allowable Follow
on Commands Summary
STOP,
STOP_PWDN,
SET_REC,
REC,NOP
STOP_PWDN,
SET_REC,
REC,NOP
All Commands Erases all data contained in specified sec-
All Commands This command reads data bits D0 - D3003
STOP,
STOP_PWDN,
SET_FWD, FWD,
SET_PLAY,PLAY,
NOP
STOP_PWDN,
SET_FWD, FWD,
SET_PLAY,PLAY,
NOP
Starts a record operation from the sector address specified.
Starts a record operation from the current sector address.
tor. You must not erase a sector before recording voice signals into it. You must erase a sector before storing digital data in it.
starting at the specified address. All 3004 bits must be written.
starting at the specified address.
Starts a play operation from the sector address specified.
Starts a play operation from the current sector address.
NOP
The most often used when readin more information on readin
Device Status
THE of its silicon ID re
ing the SID
The from the be
command performs no operation in the device. It is
the current device status. For
device status see the
section.
SID
operation instructs the device to return the contents
ister. For more information see the
section.
SET_FWD
command instructs the device to fast forward
inning of the sector specified in the OpCode
Current
Read-
parameter field. The device will fast forward until either an EOD bit, or the end of the sector is reached. If no EOD bit or forthcomin
command has been received when the end of the sector is reached, the device will loop back to the be nin
of the same sector and begin the same process again. If
an EOD bit is found the device will stop and
enerate an interrupt on the /INT pin. The output amplifiers are muted dur­in
this operation.
FWD
The
command instructs the device to fast forward from the start of the current sector to the next EOD marker. If no EOD marker is found within the current sector the device will increment to the next se
Page 6 Voice Recording & Playback Device
uential sector and continue looking.
The device will continue to fast forward in this manner until either an EOD is reached, a new command is sent, or the end of the memor the device will stop and The output amplifiers are muted durin
PWRUP
The mode and set the internal clock fre
array is reached. When an EOD is reached
enerate an interrupt on the /INT pin.
this operation.
command causes the device to enter power up
uency and EXTCLK divider ratio. The PWRUP command must be used to force the device into power up mode before an
commands can be executed. To select an Internal oscillator fre [A1 - A0] bits accordin
in-
A1 A0 Sample rate
to the following binary values:
0 0 6.4 kHz 0 1 4.0 kHz 1 0 8.0 kHz 1 1 5.3 kHz
If
ou are using an external sample clock signal you must
also set the EXTCLK divider ratio. This divider ratio is e
uency set the
ual
Revision 1.0
Preliminary
y
y
q
y)
g
q
g
y
g
g
y
g
g
g
y
y
y
g
y
g
g
g
g
g
g
g
g
g
y
y
g
g
y
q
y
APR6016 Data Sheet
to N:1 where N is an integer between 1 and 256, excluding 2. The N value should be selected to satisf tion as closel
EXTCLK fre
Example:
Suppose that 8.0 KHz samplin the fre
N
Roundin
The Op Code Parameter bit stream, composed of bits [A9 - A2][A1 - A0], therefore becomes binar [00001000][10].
STOP
The operation.
STOP_PWDN
The current command and enter power down mode. Durin down the device consumes si PWRUP command must be used to force the device into power up mode before an
SET_REC
The recordin continue to record until the end of the current sector is reached. If no forthcomin when the end of the sector is reached the device will loop back to the be previousl
SET_REC
mand immediatel that no audio information is lost. For more information see the section entitled
REC
The the current sector. If no new command is received before the device reaches the end of the sector the device will automati­call
increment to the next sequential sector and continue recordin until the memor command is received. For more information see the section entitled
DIG_ERASE
The sector specified. Erase should not be done before recordin voice signals into a sector. Erase must be done before storin digital data in a sector.
DIG_WRITE
The the specified sector. All 3K bits must be written, no partial usa
e of the sector is possible. The memory acts as a FIFO, the first data bit shifted in will be the first data bit shifted out. A sector must be erased usin
BEFORE
tion on storin
Digital Data
as possible:
= (N) * (128) * (selected sampling frequenc
uency of the signal present on EXTCLK = 8MHz.
8000000
---------- ------------- --­128 8000()
up, N = 8
Command causes the device to stop the current
at the sector address specified. The device will
recorded material. If the next command is another
REC
or
7.8125==
command causes the device to stop the
nificantly less power. The
commands can be executed.
command instructs the device to begin
command has been received
inning of the same sector and overwrite the
command the device will execute the com­ following the end of the current sector so
Recording Audio Data
command instructs the device to begin recording in
. The device will continue to record in this manner
is exhausted or a
Recording Audio Data
command erases all data contained in the
command stores 3K bits of digital data in
data can be written to the sector. For more informa-
digital data, see the section entitled
.
.
the
the following equa-
is desired. Assume that
power
.
STOP
DIG_ERASE
STOP_PWDN
or
command
Writing
DIG_READ
The di
ital data that was previously written to the specified sector. The first bit shifted out is the first bit that was written. The last bit shifted out is the last bit that was written. For more infor­mation on readin
command instructs the device to retrieve
digital data see the section entitled
Read-
ing Digital Data.
SET_PLAY
The back at the specified sector. If no forthcomin received, or EOD bit encountered, before the end of the sec­tor is reached the device will loop back to the be same sector and continue pla the audio output. If the next command is another
PLAY
or immediatel
ap in playback is present. For more information see the sec-
tion entitled
PLAY
The the current sector. If no forthcomin EOD bit encountered, before the device reaches the end of the sector the device will automaticall se
uential sector and continue playing. The device will con-
tinue to pla
STOP
a information see the section entitled
or
command instructs the device to begin play-
command is
inning of the
back with no noticeable gap in
SET_PLAY
command the device will execute the command
following the end of the current sector so that no
Playing Back Audio Data.
command instructs the device to begin playback at
in this manner until the memory is exhausted or
STOP_PWDN
command is received. For more
command is received, or
increment to the next
Playing Back Audio Data.
Voice Recording & Playback Device Page 7 Revision 1.0
Loading...
+ 16 hidden pages