INTEGRATED CIRCUITS INC.--APR6016 16 min. -- Recording & Playback Voice IC Features : Multi-level analog storage - High quality audio recording and playback 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 micro-controller to ] control the device Programmable Sampling Clock - Allows user to choose quality and duration leve Single 3V power supply Low power consumption - Playback operating current: 15mA typical - Standby current: 1uA maximum - Automatic power-down Multiple package options available - CSP, TSOP, 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 : The APR6016 offers non-volatile storage of voice and/or data in advanced Multi-Level Flash memory. Up to 16 minutes of audio recording and playback can be accommodated. A maximum of Figure 1 APR6016 Pinout Diagrams 30K bits of digital data can be stored. APR6016 devices can be cascaded for longer duration recording or greater digital storage. Device control is accomplished through an industry standard SPI interface that allows a microcontroller to manage message recording and playback. This flexible arrangement allows for the widest variety of messaging options. The APR6016 is ideal for use in cellular and cordless phones, telephone answering devices, personal digital assistants, personal voice ecorders,and voice pagers. APLUS achieves this high level of storage capability By using a proprietary analog multi-level storage technology implemented in an advanced on-volatile Flash memory process. Each memory cell can Typically store 256 voltage levels. This allows the APR6016 device to reproduce audio signals in their natural form,eliminating the need for encoding and compression,which can introduce distortion. http://www.aplusinc.com.tw 1 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Functional Description : The EXTCLK pin allows the use of an external sampling clock. This input can accept a wide range of frequencies depending on the divider ratio programmed into the divider that follows the clock. Alternatively, the programmable internal oscillator can be used to supply the sampling clock. The MUX following both signals automatically selects the EXTCLK signal if a clock is present, otherwise the internal oscillator source is chosen. Detailed information on how to program the divider and internal oscillator can be found in the explanation of the PWRUP command, which appears in the OpCode Command Description section. Guidance on how to choose the appropriate sample clock frequency can be found in the Sampling Rate & Voice Quality section. The audio signal containing the content you wish to record should be fed into the differential inputs ANAIN-,and ANAIN+. After pre-amplification the signal is routed into the anti-aliasing filter. The anti-aliasing filter automatically adapts its response based on the sample rate being used. No external anti-aliasing filter is therefore required. After passing through the anti-alias filter, the signal is fed into the sample and hold circuit which works in conjunction with the Analog Write Circuit to store each analog sample in a flash memory cell. When a read operation is desired the Analog Read Circuit extracts the analog data from the memory array and feeds the signal to the Internal Low Pass Filter. The low pass filter converts the individual samples into a continuous output. The output signal then goes to the squelch control circuit and differential output driver. The differential output driver feeds the ANAOUT+ and ANAOUT- pins. Both differential output pins swing around a 1.23V potential.The squelch control circuit automatically reduces the output signal by 6 dB during quiet passages. A copy of the squelch control signal is present on the SQLOUT pin to facilitate reducing gain in the external amplifier as well. For more information, refer to the Squelch section. After passing through the squelch circuit the output signal goes to the output amplifier. The output amplifier drives a single ended output on the AUDOUT pin. The single ended output swings around a 1.23V potential.All SPI control and hand shaking signals are routed to the Master Control Circuit. This circuit decodes all the SPI signals and generates all the internal control signals. It also contains the status register used for examining the current status of the APR6016. Figure 2 APR6016 Block Diagram : http://www.aplusinc.com.tw 2 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Memory Organization : SPI Interface : All memory management is handled by an external host processor. The host processor communicates with the APR6016 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 APR6016 SPI Port and associated OpCode commands. This topic is broken down into the following sections: The APR6016 memory array is organized to allow the greatest flexibility in message management and digital storage. The smallest addressable memory unit is called a "sector". The APR6016 contains 1280 sectors. Figure 3 Memory Map. 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 Sectors 0 through 1279 can be used for analog storage.During audio recording one memory cell is used per sample clock cycle. When recording is stopped an end of data (EOD) bit is programmed 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 cannot be used.Sectors 0 through 9 are tested and guaranteed for digital storage. Other sectors, with the exception of sector 1279, can store data but have not been tested, and are thus not guaranteed 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 APR6016 only requires 11 bits. The additional 5 bits are used for larger devices within the later APRXXfamily. http://www.aplusinc.com.tw This section describes the process of sending OpCodes to the APR6016. 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 sending 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 Tnext1,Tnext2, Tnext3 or Tnext4. Figure 6 shows the timing diagram for sending consecutive commands. Table 1 describes which Tnext specification to use. 3 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 http://www.aplusinc.com.tw 4 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Table 1 Sequential Command Timing Command Next command NOP SID PWRUP STOP_PWDN SET_REC REC SET_PLAY PLAY SET_FWD FWD DIG_WRITE DIG_READ DIG_ERASE STOP Timing Symbol Any Command Tnext1 Any Command PWRUP Tnext2 Tnext2 STOP, STOP_PWDN, SET_REC, REC, NOP Within SAC Low Time STOP, STOP_PWDN, SET_FWD, FWD, SET_PLAY, PLAY, NOP SET_FWD, FWD, STOP, STOP_PWDN Any Digital Command, STOP, STOP_PWDN Note: For partial DIG_READ Tnext2 is measured from the extra clock low that follows the rise of /CS, not from the rise of /CS Tnext3 Any Command Tnext4 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 following two columns represent the actual binary information contained in the 20 bit data stream. Some commands have limits on which command can follow them. These limits are shown in the "Allowable Follow on Commands” column. The last column summarizes each command. Combinations of OpCodes can be used to accommodate almost any memory management scheme. Table 2 APR6016 Operational Codes Instruction OpCode Name (5bit) Opcode Parameters (15bit) Allowable Follow on Commands Summary [op4-op0] [Address MSB - Address LSB] [Address 14 - Address 0] NOP [00000] [Don't care] All Commands No Operation SID [00001] [Don't care] Causes the silicon ID to be read. SET_FWD [00010] Sector Address [A14 - A0] FWD [00011] All Commands SET_FWD, FWD, STOP, STOP_PWDN SET_FWD, FWD [Don't care] STOP,STOP_PWDN [A14-A10]: all zeros PWPUP STOP Starts a fast forward operation from the sector address specified. Starts a fast forward operation from the current sector address. [A9-A2]:EXTCLK divider ratio [00100] [Al-A0]: Sample Rate Frequency All Commands Resets the device to initial conditions. Sets the sample frequency and divider ratios. [00110] [Don't care] All Commands Stops the current operation. [Don't care] PWRUP Stops the current operation. Causes the device to enter power down mode. STOP_PWDN [00111] http://www.aplusinc.com.tw 5 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Instruction OpCode Name (5bit) Opcode Parameters (15bit) SET_REC [01000] Sector Address [A14 - A0] REC [01001] [Don't care] DIG_ERASE [01010] DIG_ WRITE [01011] DIG_READ [01111] SET PLAY [01100] PLAY [01101] Sector Address [A14 - A0] [A14 - A0][XXXX] [D0 - D3004][XXXX] Allowable Follow on Commands STOP, STOP_PWDN SET_REC, REC, NOP STOP, STOP_PWDN, SET_REC, REC, NOP All Commands All Commands Sector Address [A14 – A0] All Commands Sector Address [A14 – A0 ] [Don't care] The NOP command performs no operation in the device.It is most often used when reading the current Device status. For more information on reading device Status see the Current Device Status section. THE SID operation instructs the device to return the contents of its silicon ID register. For more Information see the Reading the SlD section. The SET_FWD command instructs the device to fast forward from the beginning of the sector specified in the OpCode 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 forthcoming command has been received when the end of the sector is reached,the device will loop back to the beginning of the same sector and begin the same process again. If an EOD bit is found the device will stop and generate an interrupt on the /INT pin. The output amplifiers are muted during this operation. http://www.aplusinc.com.tw Summary Starts a record operation from the sector address specified. Starts a record operation from the current sector address. Erases all data contained in specified sector. You must not erase a sector before recording voice signals into it. You must erase a sector before storing digital data in it. This command writes data bits D0 -D3003 starting at the specified address. All 3004 bits must be written. This command reads data bits D0 D3003 starting at the specified address STOP, STOP_PWDN, Starts a play operation from the SET_FWD, FWD, current sector address specified.. SET_PLAY, PLAY, NOP STOP, STOP_PWDN, Starts a play operation from the SET_FWD, FWD, current sector address. SET_PLAY, PLAY, NOP The FWD 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 sequential 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 memory array is reached. When an EOD is reached the device will stop and generate an interrupt on the /INT pin. The output amplifiers are muted during this operation. The PWRUP command causes the device to enter power up mode and set the internal clock frequency and EXTCLK divider ratio. To select an Internal oscillator frequency set the [A1 – A0] bits according to the following binary values: A1 A0 Sample rate 0 0 6.4 KHz 0 1 4.0 KHz 1 0 8.0 KHz 1 1 5.3 KHz 6 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 If you are using an external sample clock signal you must also set the EXTCLK divider ratio. This divider ratio is equal to N:1 where N is an integer between 1 and 256, excluding 2.The N value should be selected to satisfy the following equation as closely as possible: EXTCLK freq =(N)*(128)*(selected sampling frequency) Example: Suppose that 8.0 KHz sampling is desired. Assume that the frequency of the signal present on EXTCLK = 8MHz. Rounding up, N = 8 The Op Code Parameter bit stream, composed of Bits [A9 - A2][A1 - A0], therefore becomes binary [00001000][10]. The STOP Command causes the device to stop the current operation. The STOP_PWDN command causes the device to Stop the current command and enter power down mode.During power down the device consumes significantly less power. The PWRUP command must be used to force the device into power up mode before any commands can be executed. The SET_REC command instructs the device to Begin recording at the sector address specified. The device will continue to record until the end of the current sector is reached. If no forthcoming command has been received when the end of the sector is reached the device will loop back to the beginning of the same sector and overwrite the previously recorded material. If the next command is another SET_REC or REC command the device will execute the command immediately following the end of the current sector so that no audio information is lost. For more information see the section entitled Recording Audio Data. The REC command instructs the device to begin recording in the current sector. If no new command is received before the device reaches the end of the sector the device will automatically increment to the next sequential sector and continue recording. The device will continue to record in this manner until the memory is exhausted or a STOP or STOP_PWDN command is received. For more information see the section entitled Recording Audio Data. http://www.aplusinc.com.tw The DIG_ERASE command erases all data Contained in the sector specified. Erase should not be done before recording voice signals into a sector. Erase must be done before storing digital data in a sector. The DIG_WRITE command stores 3K bits of digital Data in the specified sector. All 3K bits must be written; no partial usage 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 using the DIG_ERASE command EFORE data can be written to the sector. For more information on storing digital data,see the section entitled Writing Digital Data. The DIG_READ command instructs the device to retrieve digital 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 information on reading digital data see the section entitled Reading Digital Data. The SET_PLAY command instructs the device to Begin playback at the specified sector. If no Forthcoming command is received, or EOD bit encountered, before the end of the sector is reached the device will loop back to the beginning of the same sector and continue playback with no noticeable gap in the audio output. If the next command is another SET_PLAY or PLAYcommand the device will execute the commandimmediately following the end of the current sector sothat no gap in playback is present. For more information see the section entitled Playing Back Audio Data. The PLAY command instructs the device to begin playback at the current sector. If no forthcoming command is received, or EOD bit encountered, before the device reaches the end of the sector the device will automatically increment to the next sequential sector and continue playing. The device will continue to play in this manner until the memory is exhausted or a STOP or STOP_PWDN command is received. For more information see the section entitled Playing Back Audio Data. 7 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Receiving Device Information The device communicates data to the user by Shifting out data on the DO pin. The device will shift out data according to the timing parameters given in Figure 7.The device can shift out three different types of data streams: Device status, Silicon ID and user stored data.Device status and silicon ID are described in the next two sections. Retrieval of user data is described in the Reading Digital Data section Current Device Status (CDS) As described in the previous section, three different types of data streams are shifted out on the DO pin as data is shifted in on the DI pin. One of these steams is the current device status. The CDS will be shifted out unless the previous command is SID command. Figure 8 shows the format of the CDS bit stream. The first bit shifted out, DO, is the Overflow flag. The Overflow flag is set to a binary 1 if an attempt was made to record beyond the available memory. The Overflow flag is set to a 0 if an overflow has not occurred. This flag is cleared http://www.aplusinc.com.tw after it has been read. The D1 bit is the End of Data flag. The EOD flag is set when the device stops playing, or fast forwarding as a result of an EOD bit in memory. The EOD flag is cleared after it has been read.The D2 bit is the Illegal Address flag. The Illegal Address flag is set whenever an illegal address is sent to the device. The D3 bit is the low battery (Lbat) flag. Thisflag is set when the device senses a supply voltage below specification. The D4 bit is not used and should be ignored. The last fifteen bits represent the address of the current or last active sector. 8 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Reading the SID Each device in the APRXX series family contains an embedded Silicon Identification (SID). The SID can be read by the host processor to identify which family/family member is being used. Reading the device SID requires issuing two OpCode commands; a SID command followed by any other The SID information follows the format given in Figure 10. The first bit shifted out DO is the Overflow bit. The Overflow bit is set to a binary 1 if an attempt was made to record beyond the available memory. The Overflow bit is set to 0 if an overflow has not occurred. This bit is cleared after it has been read. The Dl bit is the End Of Data (EOD) bit. The EOD bit is set when the device stops playing or fast-forwarding as a result of EOD bit in memory. The EOD bit cleared after it has been read. The D2 bit is the Illegal Address bit. The Illegal Address Bit http://www.aplusinc.com.tw command,usually a NOP command. The device will clock the SID data out on the DO pin as the command that follows the SID command is clocked in. Figure 9 is a diagram that describes the process necessary for reading SID information. is set whenever an illegal address is sent to the device. The D3 bit is the LBAT bit. This bit is set when the device senses a supply voltage below specification. The following five bits represent the product family. The APRXX product family code is binary 01000 as shown in Figure 10. The next four bits represent the device code. The APR6016 device code is binary 0010 as shown in Figure 10. The last seven bits are random data and should be ignored. 9 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Writing Digital Data Digital data is written into the device using the DIG_WRITE command. No mixing of analog data and digital data within a sector is possible. Sectors 0 through 9 are tested and guaranteed for digital storage.Other sectors, with the exception of sector 1279, can store data but have not been tested and are thus not guaranteed to provide 100% good bits. This can be managed with error correction or forward check-before-store methods. Issuing a DIG_ERASE command on sector 1279 will cause data throughout all sectors to be lost. A sector must be erased, using the DIG_ERASE command, before digital data can be written to it. This requirement is necessary whether analog data or digital data was previously stored in the sector. A sector should not be erased more than once between analog and digital write operations. Executing multiple erase operations on a sector will permanently damage the sector. A sector can be reallocated to either analog storage or digital storage at any time. The process of storing digital data begins by sending a DIG_WRITE command. The DIG_WRITE command is followed immediately by four buffer bits. These bits will not be stored in the array and must be considered don't care bits. http://www.aplusinc.com.tw Immediately following the four buffer bits should be the data that you wish to store. All 3004 bits must be stored.Four additional buffer bits must be clocked into the device following the stored data. These bits will not be stored in the array and must be considered don't care bits.Ending a digital write command early will permanently damage the sector. The DO pin will clock out the normal 20 bit CDS followed by five don't care bits, a copy of the 3004 data bits, and finally three don't care bits. Figure 11 shows a timing diagram, which describes the digital storage process. All timing with the exception of TpSCLK should adhere to the specifications given in Figure 4 and Figure 7. The TpSCLK specification is replaced by the DTpSCLK when storing digital data. Note: The DIG_ERASE command should not be used before storing analog data. The device will perform its own internal erase before analog storage. Figure 11 does not show the DIG_ERASE command,which must be executed on a sector before digital data can be stored. 10 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Reading Digital Data Digital data is read from the device using the DIG_READ command. To read data you must send An incomplete read of the sector is allowed. An incomplete read is defined as a read with less a DIG_READ command immediately followed by 3012 don't care bits during the same /CS cycle. The data previously stored in the specified sector will begin to appear on the DO pin after the current device status than 3032 clock cycles. All incomplete read cycles or SID and four buffer bits. The next 3004 bits are the previously stored data. The first bit shifted out is the first bit that was written. The last bit shifted out is the last bit that was written. There are four random don't care bits following the 3004 bits of read. All timing with the exception of TpSCLK should adhere to the specifications given in require one extra SCLK cycle after the /CS signal returns high. Figure 12 shows a timing diagram, which describes the entire process for a complete sector Figure 4 and Figure 7. The TpSCLK specification is replaced by the DT pSCLK when reading digital data. user data. http://www.aplusinc.com.tw 11 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Recording Audio Data When a SET_REC or REC command is issued the device will begin sampling and storing the data present on ANAIN+ and ANAIN- to the specified sector. After half the sector is used the SAC pin will drop low to indicate that a new command can be accepted. The device will accept commands as long as the SAC pin remains low. Any command received after the SAC return high will be queued up and executed during the ext SAC cycle. Figure 13 shows a typical timing diagram and OpCode sequence for a recording operation. In this example the SET_REC command begins recording at the specified memory location after Tarac time has passed. http://www.aplusinc.com.tw Some time later the low going edge on the SAC pin alerts the host processor that the first sector is nearly full. The host processor responds by issuing a REC command before the SAC pin returns high. The REC command instructs the APR6016 to continue recording in the sector immediately following the current sector. When the first sector is full the device automatically jumps to the next sector and returns the SAC signal to a high state to indicate that the second sector is now being used. At this point the host processor decides to issue a STOP command during the next SAC cycle. The device follows the STOP command and terminates recording after TSarec. The /BUSY pin indicates when actual recording is taking place. 12 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Playing Back Audio Data When a SET_PLAY or PLAY command is issued the device will begin sampling the data in the specified sector and produce a resultant output on the AUDOUT,ANAOUT-, and ANAOUT+ pins. After half the sector is used the SAC pin will drop low to indicate that a new command can be accepted. The device will accept commands as long as the SAC pin remains low. Any command received after the SAC returns high will be queued up and executed during the next SAC cycle. Figure 14 shows a typical timing diagram and OpCode sequence for a playback operation. The SET_PLAY command begins playback at the specified memory location after Taplay time has passed. Some time later the low going edge on the SAC pin alerts the host processor that half of the first sector has been played back. The host processor responds by issuing a PLAY command during the SAC low time. The PLAY command instructs the APR6016 to continue playback of the sector immediately following the current sector. When the first sector has been played back the device jumps to the next sector and returns the SAC signal to a high state to indicate that the second sector is now being played. At this point the host processor decides to issue a STOP command during the next available SAC low time. The device follows the STOP command and terminates playback after TSaplay The /BUSY pin indicates when actual playback is taking place. Handshaking signals Several signals are included in the device that allow for handshaking. These signals can simplify message management significantly depending on the message management scheme used.The /INT signal can be used to generate interrupts to the processor when attention is required by the APR6016 This pin is normally high and goes low when an interrupt is requested. An interrupt is generated http://www.aplusinc.com.tw whenever an EOD or Overflow occurs. An interrupt is also generated after a PWRUP command if a low battery VCC is sensed. The SAC signal is used to determine when the device is nearing the end of the current memory segment during a record, play or forward operation. The SAC signal is in a normally high state. The signal goes low after half the currently active segment has been played or recorded. 13 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 The signal returns to a high state after the entire segment has been played or recorded. The microprocessor should sense the low edge of the SAC signal as an indicator that the next segment needs to be selected, and do so before the SAC signal returns high. Failing to specify the next command before the current segment is exhausted (either during recording or playback) will result in a noticeable gap during playback. The /BUSY pin indicates when the device is performing either a play, record or fast-forward function. The host microprocessor can monitor the busy pin to confirm the status of these commands. The Busy pin is normally high and goes low while the device is busy. The low time is governed by the length of recording or playback specified by the user. Sampling Rate and Voice Quality The Nyquist Sampling Theorem requires that the highest frequency component a sampling system can accommodate without the introduction of aliasing errors is equal to half the sampling frequency. The APR6016 automatically filters its input, based on the selected sampling frequency, to meet this requirement. Higher sampling rates increase recording bandwidth,and hence voice quality, but also use more memory cells for the same amount of recording time.The APR6016 accommodates sampling rates as high as 8kHz.Lower sampling rates use less memory cells and effectively increase the duration capabilities of the device, but also reduce recording bandwidth.The APR6016 allows sampling rates as low as 4kHz. Designers can thus control the quality/duration trade-off by controlling the sampling frequency. Sampling frequency can be controlled by the use of the PWRUP command. This command can change sampling frequency regardless of whether the internal oscillator is used or an external clock is used. The APR6016 derives its sampling clock from one of two sources: internal or external. If a clocking signal is present on the EXTCLK input the device would automatically use this signal as the sampling clock source. If no input is present on the EXTCLK input the device automatically defaults to the internal clock source. When the EXTCLK pin is not used it should be tied to GND. http://www.aplusinc.com.tw An internal clock divider is provided so that external clock signals can be divided down to a desired sampling rate. This allows high frequency signals of up to 10 MHz to be fed into the EXTCLK pin. Using this feature simplifies designs by allowing use of a clock already present in the system, as opposed to having to generate or externally divide down a custom clock. Details for programming the clock divider are described in the SPI interface section under the PWRUP paragraph. The default power up condition for the APR6016 is to use the internal oscillator at sampling frequency of 6.4kHz. Storage Technology The APR6016 stores voice signals by sampling incoming voice data and storing the sampled signals directly into FLASH memory cells. Each FLASH cell can support voltage ranges from 1 to 256 levels. These 256 discrete voltage levels are the equivalent of eight (28=256) bit binary encoded values. During playback the stored signals are retrieved from memory, smoothed to form a continuous signal and finally amplified before being fed to an external speaker amplifier. Squelch The APR6016 is equipped with an internal squelch feature. The Squelch circuit automatically attenuates the output signal by 6dB during quiet passages in the playback material. Muting the output signal during quiet passages help to eliminate background noise.Background noise may enter the system in a number of ways including: present in the original signal, natural noise present in some power amplifier designs, or induced through a poorly filtered power supply.The response time of the squelch circuit is controlled by the time constant of the capacitor connected to the SQLCAP pin. The recommended value of this capacitor is 1.0 μF. The squelch feature can be disabled by the connection of the SQLCAP pin to VCC.The active low output /SQL goes low whenever the internal squelch activates. This signal can be used to squelch the output power amplifier. Squelching the output amplifier results in further reduction of noise;especially when the power amplifier is run at high gain & loud volumes. 14 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Sample Application Figure 15 shows a sample application utilizing a generic microcontroller and SPI interface for message management. The microcontroller uses three general-purpose inputs for the play, record and skip buttons. Five general purpose I/O signals are utilized in the SPI interface. The /RESET and /BUSY signal are not used in this design. The output signal must be amplified in order to drive a Speaker. Several vendors supply integrated speaker amplifiers that can be used for this purpose. A microphone amplifier and AGC are recommended. Both blocks are optional. Several vendors supply integrated microphone/AGC amplifiers that can be used for this purpose. Note that the AGC circuit can be simplified by using the SQLCAP signal as a peak detector Signal. Figure 15 Sample Schematic using PDIP package http://www.aplusinc.com.tw 15 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Pin Descriptions Table three shows pin descriptions for the APR6016 device. All pins are listed in numerical order with the exception of VCC, VSS and NC pins, which are listed at the end of the Table. Table 3 APR6016 28 Pin Number & Description Pin No. Pin Pad No. 28 pin Functionality Name (Die) DIP Sector Address Control Output: This active low output indicates when the 24 26 SAC device is nearing the end of the current segment. Interrupt Output: This active low open drain output goes low whenever the device reaches the end of a message or the device overflows.When 25 29 /INT connected to the interrupt input of the host microcontroller this output can be used to implement powerful message management options. External Clock Input: This input can be used to feed the device an external 26 30 EXTCLK sample clock instead of using the internal sampling clock. This pin should be connected to VSSA when not in use. SPI Clock Input: Data is clocked into the device through the DI pin upon the 28 34 SCLK rising edge of this clock. Data is clocked out of the part through the DO pin on the falling edge Chip Select Input: This active low input selects the device as the currently 1 1 /CS active slave on the SPI interface. When this pin is high the device tri-states the DO pin and ignores data on the DI pin. Data Input: The DI input pin receives the digital data input from the SPI bus. 2 2 DI Data is clocked on the rising edge of the SCLK input. 3 3 DO Data Output: Data is available after the falling edge of the SCLK input. Negative Audio Output: This is the negative audio output for playback of prerecorded messages. This output is usually fed to the negative input of a 8 8 ANAOUTdifferential input power amplifier. The power amplifier drives an external speaker. Positive Audio Output: This is the positive audio output for playback of prerecorded messages. This output is usually fed to the positive input of a 9 9 ANAOUT+ differential input power amplifier. The power amplifier drives an external speaker. Reset Input: This active low input clears all internal address registers and 11 10 /RESET restores the device to its power up defaults. Single Ended Audio Output: This is the audio output for playback of 13 14 AUDOUT pre-recorded messages. This output is usually fed to the input of a power amplifier for driving an external speaker. Squelch Capacitor I/O: This pin controls the attack time of the squelch circuitry. Connect his pin to GND through a 1.0 μF capacitor to enable the 14 15 SQLCAP squelch feature. The capacitor's time constant will affect how quickly the squelch circuitry reacts. Connect this pin to VCCA to disable the squelch feature. Squelch Output: This active low output indicates when the internal squelch circuitry has activated. This signal can be used to automatically squelch the 15 16 /SQLOUT external power amplifier. Squelching the external power amplifier can result in an even greater reduction of background noise. Inverting Analog Input: This input is the inverting input for the analog signal that the user wishes to record. When the device is used in a differential input configuration this pin should receive a 16 mV peak-to-peak input coupled 16 17 ANAINthrough a 0.1 μF capacitor. When the device is used in a single ended input onfiguration this input should be tied to VSSA through a 0.1 μF capacitor Non-Inverting Analog Input: This input is the non-inverting input for the analog signal that the user wishes to record. When the device is used in a differential input configuration this pin should receive a 16 mV peak-to-peak 17 18 ANAIN+ input coupled through a 0.1 uF capacitor. When the device is used in a single ended input configuration this pin should receive a 32 mV peak-to-peak input coupled through a 0.1uF capacitor. http://www.aplusinc.com.tw 16 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Pin Name Pin No. 28 pin DIP /BUSY 21 VCCD 27 VCCA 18 VSSA 12,23 VSSD 4 NC 5,6,7, 10,19, 20,22 Pad No. (Die) Functionality Busy Output: This active low output is low during either a record playback or fast forward operation. The pin is tri-stated otherwise. This pin can be 22 connected to an LED to indicate playback/record operation to the user. This pin can also be connected to an external microcontroller as an indication of the status of playback record forward or digital operation. Digital Power Supply: This connection supplies power for all on chip digital circuitry. This pin should be connected to the 3.0 V power plane through a via. 31,32,33 This pin should also be connected to a 0.1 μF bypass cap as close to the pin as possible. Analog Power Supply: This connection supplies power for all on-chip analog circuitry. This pin should be connected to the 3.0 V power plane through a via. 19,20 This pin should also be connected to a 0.1 uF bypass cap as close to the pin as possible 11,12,13, Analog Ground: These pins should be connected to the ground plane through 23 24,25 a via. The connection should be made as close to the pin as possible. Digital Ground: This pin should be connected to the ground plane through a 4,5 via. The connection should be made as close to the pin as possible. No Connect: These pins should not be connected to anything on the board. 6,7,21, Connection of these pins to any signal GND or VCC may result in incorrect 27,28 device behavior or cause damage to the device. Electrical Characteristics The following tables list Absolute Maximum Ratings,recommended DC Characteristics, and recommend AC Characteristics for the APR6016 device. Operation of the device at these or any other conditions above those specified in the recommended DC Characteristics or recommended AC Characteristics of this specification is not implied. Maximum condition for extended periods may affect reliability. Absolute Maximum Ratings Stresses greater than those listed in Table 4 may cause permanent damage to the device. These specifications represent a stress rating only. Table 4 Absolute Maximum Ratings. Item Symbol Condition Min Max Unit Power Supply voltage VCC TA = 25°C - 0.3 7.0 V Input Voltage VIN - 0.3 5.5 V Storage Temperature TSTG -- - 65 150 °C Temperature Under Bias TBS -- - 65 125 °C Lead Temperature TLD < 10s 300 °C TA = 25°C Device VCC = 3.0 V http://www.aplusinc.com.tw 17 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Table 5 DC Characteristics Item Symbol Operating Voltage Operating Temperature Input High Voltage Input Low Voltage Min Typ Max Unit VCCA, VCCD 2.7 3.0 3.3 V TA 0 +70 °C 5.5 0.4 V V Output High Voltage VOH Output Low Voltage VOL Input Leakage Current Input Leakage Current VIH VIL VCC = 2.7V VCC = 3.3V VCC = 2.7V IOH=-1.6mA VCC = 2.7V IOL=1.0mA VCC = 3.3V VIH=VCC VCC = 3.3V VIL= VSS VCC = 3.3V VOUT=VCC or VOUT=VSS VCC = 3.3V Recording Playback Idle VCC = 3.3V After 20 sec IIH IIL Output Tri-state Leakage Current IOZ Operating Current Consumption ICC Standby Current Consumption ICCS Condition 2.4 VSS - 0.3V 3 0 V VCCD - 0.5V 0.4 V 0.3 1 μA 0 -1 μA ± 1 μA 25 15 2.5 mA mA mA μA 1 Table 6 AC Characteristics Item Symbol Condition Min Typ Max Unit ANAIN+ or ANAINinput voltage ANAIN+ input resistance ANAIN+/ANAIN- Gain ANAOUT output voltage Total Harmonic Distortion VMI 45 50 mVP-P RANAIN GANAIN VANAOUT THD 3 22 560 0.5 23 700 1 K DB mVp-p % VCC ready to fall /CS Tpwrup /RESET low time Rise /RESET to fall /CS /CS fall to clock edge SPI Data set-up time Period SPI clock SPI data hold time SPI dock low time SPI clock high time Clock to rising edge of /CS Fall of /CS to DO output Fall of SCLK to data out valid Rise of /CS to DO high Z TloRST TRdone TfCS TsuDI TpSCLK ThDI TloSCLK ThiSCLK TrCS Tf SCLK TfSCLK ThzDO Period SPI clock for Digital read write DTpSCLK First SET_REC command To start recording Tarec http://www.aplusinc.com.tw @ 1kHz & 45mVP-P. input 90% of VCC min. specification 10 ms 1 1 500 200 1000 200 400 400 200 ms ms ns ns ns ns ns ns ns ns ns ns μs μs s ms ms s 200 1000 500 @4kHz Internal sample clock 500 @8kHz Internal sample clock 250 External sample clock equation1 @4kHz Internal sample clock 376 @8kHz Internal sample clock 188 equation2 External sample clock 18 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 Item Symbol Rise of SAC after STOP Command to end Of recording TSarec First SET_PLAY command To audio output Taplay STOP after SET_PLAY or PLAY to end of audio output TSaplay SAC period TpSAC SAC low time TloSAC Condition Min @4kHz Internal sample clock @8kHz Internal sample clock External sample clock @4kHz Internal sample clock @8kHz Internal sample clock External sample clock @4kHz Internal sample clock @8kHz Internal sample clock External sample clock REC, PLAY @4kHz REC, PLAY @8kHz REC, PLAY @EXTCLK FWD @4kHz FWD @8kHz FWD @EXTCLK REC, PLAY @4kHz REC, PLAY @8kHz REC, PLAY @EXTCLK FWD @4kHz FWD @8kHz FWD @EXTCLK 658 329 equation2 658 329 equation2 376 188 equation2 752 376 equation3 2 1 equation4 94 47 equation5 0.25 0.125 Typ Max Unit equation 6 ms ms s ms ms s ms ms s ms ms s ms ms s ms ms s ms ms s See Figure 6 and Table 1 Tnext1 5 μs See Figure 6 and Table 1 Tnext2 5 Ms See Figure 6 and Table 1 Tnext3 See Figure 6 and Table 1 Tnext4 http://www.aplusinc.com.tw @4kHz Internal sample clock @8kHz Internal sample clock External sample clock Previous command = SET_REC, REC, SET_PLAY, PLAY @4kHz Internal sample clock @8kHz Internal sample clock External sample clock 752 376 equation3 ms ms s 470 235 ms ms s 方程式7 Previous command = SET_FWD, FWD @4kHz Internal sample clock @8kHz Internal sample clock External sample clock 方程式8 Previous command = All Others @4kHz Internal sample clock @8kHz Internal sample clock External sample clock 5 5 5 19 / 24 1.25 0.625 TEL : 886-2-2782-9266 ms ms s μs μs μs ver1.4 INTEGRATED CIRCUITS INC.--APR6016 http://www.aplusinc.com.tw 20 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 http://www.aplusinc.com.tw 21 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 http://www.aplusinc.com.tw 22 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 PACKAGE : SOP-28 http://www.aplusinc.com.tw 23 / 24 TEL : 886-2-2782-9266 ver1.4 INTEGRATED CIRCUITS INC.--APR6016 REVISION HISTORY : Date Revision # Description MAY. 30.2008 1.2 Figure-8 Format for CDS bit stream,the LSB change to MSB, the MSB change to LSB 8 NOV. 19.2009 1.3 Add the package SOP-28 outline 23 http://www.aplusinc.com.tw 24 / 24 TEL : 886-2-2782-9266 Page ver1.4