AMSCO AS3524A

austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Datasheet, Confidential
AS3524
Advanced Audio Processor System
å
1
Description
The AS3524 implements a highly flexible and fully integrated digital
audio processor system combining strong calculating power and
high performance interfaces commonly used within audio player
systems.
Key Features
1.1
Digital Core
Embedded 32-Bit RISC Controller
Using advanced 0.13µm process technology and large on chip
RAM leads to outstanding low power consumption of 0.3 mW/MHz
for the ARM922T microcontroller core and 0.6 mW/MHz for the
overall system measured with a typical MP3 player SW application.
Based on a powerful ARM9TDMI capable of performing up to
200MIPS it is suited to run MP3, AAC, WMA, OGG… decoders and
encoders and, in addition, it can perform extensive user interfaces,
motion graphics support, video playback and much more.
The AS3524 SOC (system-on-a-Chip) features dedicated high
speed interfaces for ATA IDE, USB2.0 HS-OTG and SDRAM
ensuring maximum performance for download, upload, and
playback.
Furthermore interfaces for NAND flashes, MMC/SD cards and
Memory Stick ensure most flexible system design possibilities.
Hardware support for parallel interfaces lower the CPU load serving
complex and/or colour user interfaces.
Additional serial high-speed data and control interfaces guarantee
the connection to other peripherals and or processors in the system.
Two independently programmable PLLs generate the required
frequencies for audio playback/recording, for the processor core
and for the USB interface at the same time.
•
ARM922TDMI RISC CPU
•
2.5Mbit on-chip RAM
•
1Mbit on chip ROM
•
Clock speed max. 250MHz (200MIPS)
•
Standard JTAG interface
USB 2.0 HS & OTG Interface
•
Up to 480Mbit/s transfer speed
•
USB 2.0 HS/FS physical inlcuding OTG support
•
USB 2.0 HS/FS digital core including OTG host
•
Dedicated dual port buffer RAM
•
DMA bus master functionality
IDE Host Controller
•
Supporting Ultra ATA 33/66/100/133 modes
•
Programmable IO and Multi-word DMA capability
•
Dedicated dual port buffer RAM
•
DMA bus master functionality
External Memory Controller
•
Dynamic memory interface
•
Asynchronous static memory
•
DMA bus master functionality
DMA Controller
•
Single Master DMA controller
•
2 DMA channels possible at the same time
•
16 DMA requests supported
Interrupt Controller
•
Support for 32 standard interrupts
•
Support for 16 vectored IRQ interrupts
Audio Subsystem Interface
•
Dedicated 2 wire serial control master
•
I2S input and output with dual port buffer RAM
Nand Flash Interface
•
•
•
8 and 16bit flash support
3, 4 & 5 byte address support
hardware ECC
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
1 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
MMC/SD Interface
•
MMC/SD Card host for multiple card support
•
4 data line support for SD cards
MS / MS Pro Interface
•
Dedicated dual port buffer RAM
Display Interface
2
•
•
•
•
Application
Portable Digital Audio Player and Recorder
Portable Digital Media Player
PDA
Smartphone
•
Serial and parallel controller supported
•
On chip hardware acceleration
Synchronous Serial Interface
•
Master and slave operation
•
8 and 16 bit support
•
Several protocol standards supported
I2S Interface
•
Input multiplexed with audio subsystem
•
selectable SPDIF input conversion
•
Dedicated dual port buffer RAM
2 Wire Serial Control Interface
•
Master and slave operation
•
Standard and fast mode support
General Purpose IO Interface
•
4x 8-bit ports
Multiple Boot Options
•
•
•
Selection of internal ROM or external boot device
Internal boot loader supporting boot from external
NorFlash, NandFlash, IDE, SPI host
Internal USB boot loader with USB promer supporting
initial factory programming and firmware update
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
2 - 124
AS3524 C21 / C22
Data Sheet, Confidential
3
Figure 1
austriamicrosystems
Block Diagram
AS3524 Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
3 - 124
AS3524 C21 / C22
Data Sheet, Confidential
1
austriamicrosystems
DESCRIPTION ........................................................................................................1
KEY FEATURES.............................................................................................................1
1.1
Digital Core....................................................................................................................................................... 1
2
APPLICATION ........................................................................................................2
3
BLOCK DIAGRAM..................................................................................................3
4
ELECTRICAL SPECIFICATIONS...........................................................................8
4.1
Absolute Maximum Ratings ............................................................................................................................ 8
4.2 Operating Conditions....................................................................................................................................... 9
4.2.1
Supply Voltages .................................................................................................................................... 9
4.2.2
Operating Currents .............................................................................................................................. 10
4.2.3
Temperature Range ............................................................................................................................. 10
5
DETAILED FUNCTIONAL DESCRIPTIONS.........................................................11
5.1 ARM922-T Processor Core ........................................................................................................................... 11
5.1.1
General ................................................................................................................................................ 11
5.1.2
Block Diagrams................................................................................................................................... 12
5.1.3
ARM922T Details ............................................................................................................................... 13
5.1.4
ARM V4T Architecture ...................................................................................................................... 13
5.1.5
JTAG Interface.................................................................................................................................... 15
5.1.6
Boot Concept....................................................................................................................................... 16
5.2 AHB Peripheral Blocks.................................................................................................................................. 18
5.2.1
2.5 MBIT RAM Main Memory........................................................................................................... 18
5.2.2
On-Chip ROM..................................................................................................................................... 19
5.2.3
VIC – Vectored Interrupt Controller ................................................................................................... 19
5.2.4
SMDMAC - Single master DMAC ..................................................................................................... 22
5.2.5
Multi Port Memory Controller (MPMC)............................................................................................. 24
5.2.6
IDE Interface....................................................................................................................................... 25
5.2.7
USB 2.0 HS OTG interface................................................................................................................. 28
5.2.8
Memory Stick / Memory Stick Pro Interface ...................................................................................... 33
5.3 APB Peripheral Block .................................................................................................................................... 35
5.3.1
Timers ................................................................................................................................................. 35
5.3.2
Watchdog Unit .................................................................................................................................... 39
5.3.3
SSP – Synchronous Serial Port ........................................................................................................... 42
5.3.4
GPIO - General purpose input/output ports......................................................................................... 44
5.3.5
MCI – SD / MMC Card Interface ....................................................................................................... 46
5.3.6
I2cAudMas - I2C audio master interface ............................................................................................ 47
5.3.7
I2CMSI - I2C master/slave interface................................................................................................... 48
5.3.8
I2SIN - I2S input interface .................................................................................................................. 49
5.3.9
SPDIF interface................................................................................................................................... 55
5.3.10
I2SOUT - I2S output interface ............................................................................................................ 56
5.3.11
NAND Flash Interface ........................................................................................................................ 62
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
4 - 124
AS3524 C21 / C22
Data Sheet, Confidential
5.3.12
5.3.13
5.3.14
5.3.15
austriamicrosystems
DBOP - Data Block Output Port ......................................................................................................... 73
UART – Universal Asynchronous Receiver/Transmitter.................................................................... 83
CGU - Clock generation unit .............................................................................................................. 90
CCU - Chip Control Unit .................................................................................................................. 104
6
PINOUT AND PACKAGING ...............................................................................109
6.1
Package Variants.......................................................................................................................................... 109
6.2 CTBGA180 Package Drawings ................................................................................................................... 109
6.2.1
Marking............................................................................................................................................. 109
6.2.2
CTBGA180 Package Ball-out ........................................................................................................... 110
6.2.3
CTBGA180 Ball List ........................................................................................................................ 110
6.3 Pad Cell Description..................................................................................................................................... 118
6.3.1
Digital Pads ....................................................................................................................................... 118
7
APPENDIX ..........................................................................................................119
7.1
Memory MAP ............................................................................................................................................... 119
7.2 Register definitions....................................................................................................................................... 121
7.2.1
Base Address definitions................................................................................................................... 121
8
ORDERING INFORMATION ...............................................................................122
9
COPYRIGHT .......................................................................................................123
10
DISCLAIMER ......................................................................................................123
11
CONTACT INFORMATION.................................................................................123
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
5 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Document Revisions
Revision
0.1
Chapter
all
Date
9.3.2005
Owner
MMA
first preliminary version
Description
0.2
31.3.2005
MMA
package drawing and pinout added
0.3
14.9.2005
PKM
marking description and top view added
1.0
all
8.5.2006
WSG
first release of document generated
1.1
5.1.6.2, 8
5.3.13.1
5.1.6.2
25.9.2006
WSG
9.11.2006
WSG
added description for modified C22 bootloader
added description for UART Baud rate settings
corrected table headers for boot device selection and USB boot
frequency settings
1.11
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
6 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Related Documents
ARM922T Technical Reference Manual
DDI0184B_922T_TRM.pdf
http://www.arm.com
ARM9TDMI Technical Reference Manual
DDI0180A_9tdmi_trm.pdf
http://www.arm.com
PrimeCell™ MultiPort Memory Controller; PL172 Technical Reference
Manual
AMBA Specification (Rev 2.0)
http://www.arm.com
IHI0011A_AMBA_SPEC.pdf
http://www.arm.com
PrimeCell™ Synchronous Serial Port; PL022 Technical Reference Manual
http://www.arm.com
PrimeCell™ General Purpose Input/Output; PL061 Technical Reference
Manual
http://www.arm.com
PrimeCell™ Single Master DMA Controller; PL081 Technical Reference
Manual
http://www.arm.com
PrimeCell™ Multimedia Card Interface; PL180 Technical Reference Manual
http://www.arm.com
PrimeCell™ Vectored Interrupt Controller; PL190 Technical Reference
Manual
http://www.arm.com
CWda03 - SPDIF-AES/EBU TO I2S CONVERTER
http://www.coreworks.pt
TSMC TPZ013G3 Standard I/O Library Databook
http://www.tsmc.com
DesignWare USB 2.0 HI-SPEED ON-THE-GO Controller Subsystem
http://www.synopsys.com
DesignWare USB 2 PHY Hardmacro
http://www.synopsys.com
SMS2IP mem stick host controller
http://www.sony.com
ICON mem stick host con interface
http://www.sony.com
IDE host controller BK3710S
http://www.palmchip.com
AS352x USB MSC Boot Promer specification document
AS352X_USB_MSC_Boot_P
romer_V07.doc
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
7 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
4
4.1
Electrical Specifications
Absolute Maximum Ratings
Stresses beyond those listed under “Absolute Maximum Ratings“ may cause permanent damage to the device. These are stress ratings only.
Functional operation of the device at these or any other conditions beyond those indicated under “Operating Conditions” is not implied.
Exposure to absolute maximum rating conditions for extended periods may affect device reliability. The device should be operated under
recommended operating conditions.
Table 1
Absolute Maximum Ratings
Symbol
VDD peri
Parameter
Min
-0.5
Max
3.7
Unit
V
Note
digital periphery supply voltage
VDD mem
-0.5
3.7
V
digital IO supply for MPMC PADs
USBVDDA33 T
-0.5
3.7
V
USBVDDA33 C
-0.5
3.7
V
VDD core
-0.5
1.68
V
USB analog supply transmit block
to be connected to UVDD
USB analog supply common block
to be connected to UVDD
digital core supply voltage
VDD coreana
-0.5
1.68
V
core supply for critical blocks (1-TRAM)
VDDA PLL
-0.5
1.68
V
core supply forPLLA, PLLB
V IN_5V
5V pins
-0.5
7.0
V
Applicable for pins VBUS
V IN_VSS
Voltage difference at VSS
terminals
Input Current (latchup
immunity)
Electrostatic Discharge HBM
-0.5
0.5
V
-100
100
mA
Applicable for pins vss_core, vss_peri,
vss_mem, usb_vssa33t, usb_vssa33c
Norm: JEDEC 17
+/-1
kV
Norm: MIL 883 E method 3015
+/-2
kV
1000
mW
Norm: MIL 883 E method 3015
(Pins: usb_dp, usb_dm, usb_vbus)
for CTBGA180 package
125
°C
240
°C
85
%
I scr
ESD
ESD_USB
T strg
Electrostatic Discharge HBM
for USB Pins
Total Power Dissipation (all
supplies and outputs)
Storage Temperature
T lead
Lead Temperature
H
Humidity non-condensing
Pt
-55
5
Norm: IPC/JEDEC J-SDT-020C
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
8 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
4.2
Operating Conditions
4.2.1 Supply Voltages
Following supply voltages for the digital system are generated by internal LDOs.
Table 2
Operating conditions for internal generated supply voltages
Symbol
VDD peri
Parameter
Min
3.0
Max
3.6
Unit
V
VDD mem
1.75
3.4
V
digital IO supply for MPMC PADs
VDD core
1.08
1.25
V
VDD coreana
1.08
1.25
V
digital core supply voltage
see Note (1)
core supply for critical blocks (1-TRAM)
VDDA PLL
1.08
1.25
V
core supply forPLLA, PLLB
USBVDDA33 T
3.15
3.45
V
USBVDDA33 C
3.15
3.45
V
-0.1
0.1
V
USB analog supply transmit block
to be connected to UVDD
USB analog supply common block
to be connected to UVDD
To achieve good performance, the
negative supply terminals should be
connected to low impedance ground
plane.
Difference of Negative
Supplies
vss_peri, vss_core,
vss_core_ana, vss_mem,
vssa_pll, usb_vssa33c,
usb_vssa33t,
Note(s)
Note
digital periphery supply voltage
(1) For the VDD_CORE supply, voltage scaling should be applied to optimize power consumption
and CPU speed performance. For normal operation with fclk (CPU ARM-922T clock) frequencies
below 200 MHz, CVDD (supply of VDD_CORE) can be set to a lower value of 1.10 V. Only for setting
fclk of the CPU to clock frequencies above 200 MHz, the VDD_CORE supply voltage must be set to
1.20 V typical conditions.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
9 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
4.2.2 Operating Currents
Table 3
Supply currents
Symbol
IDD_PERI_OP
Parameter
Peripheral current
Typ
2
Max
20
Unit
mA
IDD_MEM_OP
External memory interface current
IDD_CORE_OP
Digital core current
-
20
mA
(2)
20
145
mA
(1), (2)
IDD_USBA33T_OP USB transmitter current
30
mA
IDD_USBA33C_OP USB common blocks current
30
mA
Notes
Note
(1) Typical condition for playback of MP3 music with 44.1 KHz / 128 kbit with 32Ω headphones. No
external SDRAM connected. USB2.0 in standby.
(2) Maximum condition for ARM running at 250 MHz, AHB/APB bus and memory at 64 MHz, USB 2.0 in HS
operation.
In the case of standby mode or in the case of configuring the device to stopped clock, following current consumption is measured.
Table 4
Leakage currents
Symbol
IDD_PERI_LEAK
Parameter
Typ
Max
4
Unit
mA
Note
Including USBA33T, USBA33C
IDD_MEM_LEAK
800
μA
IDD_CORE_LEAK
3
mA
@ T ambient =25
O
C
1.5
mA
@ T ambient =25
O
C
IDD_LEAK(VDDAPLL+C
OREANA)
4.2.3 Temperature Range
Table 5
Temperature Range
T op
Symbol
Parameter
Operating temperature range
Tj
Junction temperature range
R th
Thermal Resistance
Min
0
Typ
25
0
Max
85
110
29
Unit
°C
Note
°C
°C/W
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
10 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5
Detailed Functional Descriptions
5.1
ARM922-T Processor Core
5.1.1 General
The ARM922T macrocell is a high-performance 32-bit RISC integer processor combining an ARM9TDMI™ processor core with:
•
8KB instruction cache and 8 KB data cache
•
Instruction and data Memory Management Unit (MMU)
•
Write buffer with 16 data words and 4 addresses
•
Advanced Microprocessor Bus Architecture (AMBA™) AHB interface
The ARM922T provides a high-performance processor solution for open systems requiring full virtual memory management and sophisticated
memory protection. The ARM922T processor core is capable of running at 250 MHz. The ARM922T hard macrocell has a very low power
consumption. The integrated cache helps to significantly reduce memory bandwith demands, improving performance and minimizing power
consumption.
At 250 MHz the ARM922T comsumes as little as 65 mW, making it ideal for high-performance battery operated audio or video applications.
The ARM core and associated bus structures are configured for little endian byte order (compatible with Windows CE™ and Symbian™ OS).
Table 6
ARM 922T characteristics
Cache (I/D)
8KB / 8KB
MMU
yes
AHB
yes
Thumb
yes
mW/MHz
0.25 @ 1.2 V
MHz
250
Features
•
•
•
•
•
•
•
•
•
32-bit RISC architecture (ARMv4T)
Harvard architecture with separated instruction (I) and data (D) caches with 8 KB each and 8-word line length
Five stage pipeline (fetch, decode, execute, memory, write back) enabling high master clock speeds
32-bit ARM instruction set for maximum performance and flexibility
16-bit Thumb instruction set for increased code density
Enhanced ARM architecture V4 MMU to provide translation and access permission checks for instruction and data
addresses. With this MMU different operating systems (Windows CE, Symbian …) can be implemented.
Industry standard AMBA bus interface (AHB and APB)
Hard-macro implementation
The processor core clock frequency (FCLK) is programmable up to 250MHz and the ARM922 power consumption is
directly proportional to this clock frequency FCLK
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
11 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.1.2 Block Diagrams
Figure 2 ARM 922T Functional Block Diagram
Figure 3 ARM9TDMI Functional Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
12 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.1.3 ARM922T Details
Control Coprocessor (CP15)
The ARM922T macrocell is based on the ARM9TDMI Harvard
architecture processor core with an efficient five-stage pipeline.
To reduce the effect of memory bandwidth and latency on
performance, the ARM922T macrocell includes separate cachs
and MMUs for both instructions and data. It also has a write
buffer and physical address TAG RAM.
The control coprocessor is provided for configuration of the caches, the
write buffer, and other ARM922T options.
Caches
Two 8KB caches are implemented, one for instructions, the
other for data, both with an 8-word line size. Separate buses
connect each cache to the ARM9TDMI core permitting a 32 bit
instruction to be fetched and fed into the Decode stage of the
pipeline at the same time as a 32 bit data access for the
memory stage of the pipeline.
Cache lock-down is provided to permit critical code sequences
to be locked into the cache to ensure predictability for real-time
code. The cache replacement algorithm can be selected by the
operating system as either pseudo-random or round-robin. Both
caches are 64-way set-associative. Lock-down operates on a
per-way basis.
Write Buffer
The ARM922T macrocell also incorporates a 16-data, 4address write buffer to avoid stalling the processor when writes
to external memory are performed.
PA TAG RAM
The ARM922T macrocell implements a physical address TAG
RAM (PA TAG RAM) to perform write-backs from the data
cache.
Eleven registers are available for program control:
•
•
•
•
•
•
•
Register 1 controls system operation parameters including
endianness, cache, and MMU enable
Register 2 and 3 configure and control MMU functions
Register 5 and 6 provide MMU status information
Register 7 and 9 are used for cache maintenance
operations
Register 8 and 10 are used for MMU maintenance
operations
Register 13 is used for fast context switching
Register 15 is used for test.
Debug Features
The ARM9TDMI processor core incorporates an EmbeddedICE unit and
EmbeddedICE-RT logic permitting both software tasks and external
debug hardware to
•
Set hardware and software breakpoints
•
Perform single-stepping
•
Enable access to registers and memory
This functionality is implemented as a coprocessor and is accessible
from hardware through the JTAG port.
Full-speed, real-time execution of the processor is maintained until a
breakpoint is hit.
At this point control is passed either to a software handler or to JTAG
control.
5.1.4 ARM V4T Architecture
The physical addresses of all the lines held in the data cache
are stored by the PA TAG memory, removing the requirement
for address translation when evicting a line from the cache.
The ARM9TDMI processor core implements the ARMv4T Instruction Set
Architecture (ISA). The ARMv4T ISA is a superset of the ARMv4 ISA
with additional support for the Thumb 16-bit compressed instruction set.
MMU
Performance and Code Density
The ARM922T macrocell implements an enhanced ARMv4
MMU to provide translation and access permission checks for
the instruction and data address ports of the ARM9TDMI core.
The ARM9TDMI core executes two instruction sets
The MMU features are:
•
•
•
•
•
•
•
•
•
Standard ARMv4 MMU mapping sizes, domains,
and access protection scheme
Mapping sizes are 1 MB sections, 64 KB large
pages, 4 KB small pages, and new 1KB tiny pages
Access permissions for sections
Access permissions for large pages and small
pages can be specified separately for each quarter
of the page (subpages)
Access permissions for tiny pages
16 domains implemented in hardware
64-entry instruction Translation-Lookaside-Buffer
(TLB) and 64-entry data TLB
Hardware page table walks
Round-robin replacement algorithm (also called
cyclic)
•
32-bit ARM instruction set
•
16-bit Thumb instruction set
The ARM instruction set is designed so that a program can achieve
maximum performance with the minimum number of instructions. Most
ARM9TDMI instructions are executed in a single cycle.
The simpler Thumb instruction set offers much increased code density
deducing code size and memory requirement.
Code can switch between the ARM and Thumb instruction sets on any
procedure call.
ARM9TDMI Integer Pipeline Stages
The integer pipeline consists of five stages to maximize instruction
throughput in the ARM9TDMI core:
•
•
•
•
•
Fetch
Decode and register read
Execute shift and ALU operation, or address calculate, or
multiply
Memory access and multiply
Write register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
13 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
By using a five-stage pipeline, the ARM922T delivers a
throughput approaching one instruction per cycle.
Registers
The ARM9TDMI processor core consists of a 32-bit datapath
and associated conrol logic. This datapath contains 31 generalpurpose registers, coupled to a full shifter, Arithmetic Logic Unit,
and a multiplier. At any one time 16 registers are visible to the
user. The remainder are mode-specific replacement registers
(banked registers) used to speed up execution processing, and
make nested exceptions possible.
Register 15 is the Program Counter (PC) that can be used in all
instructions to reference data relative to the current instruction.
R14 holds the return address after a subroutine call. R13 is
used (by software convention) as a stack pointer.
Exeption Types/Modes
The ARM9TDMI core supports five types of exception, and a
privileged processing mode for each type. The types of
exceptions are:
•
•
•
Fast interrupt (FIQ)
Normal interrupt (IRQ)
Memory aborts (used to implement memory
protection or virtual memory)
•
Attempted execution of an undefined instruction
•
Software interrupts (SWIs)
All exceptions have banked registers for R14 and R13. After an
exception, R14 holds the return address for exception
processing. This address is used both to return after the
exception is processed and to address the instruction that
caused the exception.
R13 is banked across exception modes to provide each
exception handler with a private stack pointer. The fast interrupt
mode also banks registers 8 to 12 so that interrupt processing
can begin without the need to save or restore these registers.
A seventh processing mode, System mode, uses the User
mode registers. System mode runs tasks that require a
privileged processor mode and enables them to invoke all
classes of exceptions.
Status Registers
All other processor states are held in status registers. The
current operating processor status is in the Current Program
Status Register (CPSR). The CPSR holds:
•
•
Four ALU flags (Negative, Zero, Carry, Overflow)
An interrupt disable bit for each of the IRQ and
FIQ interrupts
•
A bit to indicate ARM or Thumb execution state
•
Five bits to encode the current processor mode
All five exception modes also have a Saved Program Status
Register (SPSR) that holds the CPSR of the task immediately
before the exception occurred.
Conditional Execution
All ARM instructions can be executed conditionally and can
optionally update the four condition code flags (Negative, Zero,
Carry, and Overflow) according to their result. Fifteen conditions
are implemented.
Classes of Instructions
The ARM and Thumb instruction sets can be divided into four broad
classes of instruction:
•
•
•
•
Data processing instructions
Load and store instructions
Branch instructions
Coprocessor instructions
Data Processing Instructions
The data processing instructions operate on data held in generalpurpose registers. Of the two source operands, one is always a register.
The other has two basic forms:
•
An immediate value
•
A register value optionally shifted
If the operand is a shifted register, the shift can be an immediate value
or the value of another register. Four types of shift can be specified.
Most data processing instructions can perform a shift followed by a
logical or arithmetic operation.
There are two classes of multiply instructions:
•
Normal, 32 bit result
•
Long, 64 bi resut variants.
Both types of multiply instruction can optionally perform an accumulate
operation
Load and Store Instructions
There are two main types of laod and store instructions:
•
Load or store the value of a single register
•
Load or store multiple register values
Load and store single register instructions can transfer a 32-bit word, a
16-bit halfword, or an 8-bit byte between memory and a register. Byte
and halfword loads can be automatically zero extended or sign extended
as they are loaded. These instructions have three primary addressing
modes:
•
Offset
•
Pre-indexed
•
Post-indexed
The address is formed by adding an immediate, or register-based,
positive, or negative offset to a base register. Register-based offsets can
also be scaled with shift operations. Pre-indexed and post-indexed
addressing modes update the base registers with the base plus offset
calculation.
As the PC is a general-purpose register, a 32-bit balue can be loaded
directly into the PC to perform a jump to any address in the 4GB
memory space.
Load and store multiple instructions perform a block transfer of any
number of the general purpose registers to, or from, memory. Four
addressing modes are provided:
•
Pre-increment addressing
•
Post-increment addressing
•
Pre-decrement addressing
•
Post-decrement addressing
The base address is specified by a register value (that can be optionally
updated after the transfer). As the subroutine return address and the PC
values are in general-purpose registers, very efficient subroutine calls
can be constructed.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
14 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Branch Instructions
As well as letting data processing or load instructions change
control flow (by writing the PC) a standard branch instruction is
provided with 24-bit signed offset, providing for forward and
backward branches of up to 32 MB.
A branch with link (BL) instruction enables efficient subroutine
calls. BL preserves the address of the instruction after the
branch in R14 (Link register or LR). This lets a move instruction
put the LR in to the PC and return to the instruction after the
branch.
The branch and exchange (BX) instruction switches between ARM and
Thumb instruction sets with the return address optionally preserving the
operating mode of the calling subroutine.
Coprocessor Instructions
There are three types of coprocessor instructions:
•
•
•
Coprocessor data processing instructions
Coprocessor register transfer instructions
Coprocessor data transfer instructions
5.1.5 JTAG Interface
The ARM933T debug interface is based on IEEE Std. 1149.1- 1990, standard test access port. The ARM922T contains hardware extensions for
advanced debugging features. These are intended to ease the development of application software.
The debug extensions allow the core to be stopped by one of the following:
•
A given instruction fetch (breakpoint)
•
A data access (watchpoint)
•
Asynchronously by a debug request
When this happens, the ARM922T is said to be in debug state. At this point, you can examine the internal state of the core and the external state of
the system. When examination is complete, you can restore the core and system state and resume program execution.
Normally, all control for debugging is done by running a debugger software (ARM AXD or ARM Realview Debugger) on a debug host PC.
Connection to the chip is done by an ARM Multi-ICE interface, which connects either to the parallel port or the USB port of the debug host PC.
The connection to the multi-ICE interface is done via a 20 way connector and ribbon cable. Following diagram shows the signals connections to the
ICE connector.
Figure 4 Interface connector to multi-ICE
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
15 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.1.6 Boot Concept
It can be selected if the system should boot either using the internal ROM (internal boot loader) or an external ROM/Flash (connected to the MPMC
interface). XPC[0] is read within global chip reset to do the selection of either internal or external boot.
Table 7
Boot definitions for internal/external boot selection
XPC[0]
1
0
Booting Option
Internal ROM
External ROM/Flash
For the internal bootloader, two chip versions are available: C21 and C22. Version C22 has additional features and is fully backward compatible to
C21.
5.1.6.1
Internal Bootloader Version C21
Within the internal ROM boot loader several options for booting can be selected:
•
SSP IF - SPI master for ST serial flash types
•
SSP IF - SPI slave
•
NandFlash
•
Debug UART diagnostics
All boot loader options of the internal bootloader are configured by XPC[3:1] pins. External pull-up or pull-down resistors should be used to
configure the boot options.
Table 8
Boot definitions Chip version C21
XPC[3:1]
Boot Device
0
1
2
3
4
5
6
7
SPI master ST M25Pxx serial Nor Flash
reserved
SPI slave
NandFlash (SB/BB - autodetect)
NandFlash (SB/BB - autodetect)
UART / Command Line Interface without diagnostics
UART / Command Line Interface without diagnostics
UART / Command Line Interface with diagnostics
000
001
010
011
100
101
110
111
5.1.6.2
Internal Bootloader Version C22
For chip version C22 the boot loader is extended with two additional features
•
IDE boot: direct boot from harddisk
•
USB boot promer. In the case that a USB connection is present and either an update button is pressed or there is no bootable device, the
USB promer is started (see Figure 5 Boot decision between normal boot and USB boot promer” for details). The USB boot promer allows
update of the firmware by using an USB mass storage class device. This update can be used either for initial programming (factory
programming) or as mechanism for an in-field firmware update.
The C22 boot loader is fully compatible to the C21 boot loader except for mode 4, where the previous NAF boot mode is replaced by IDE boot. For
version C22, NAF boot is only available in mode 3. Refer to Table 9
Boot definitions Chip version C22” for details.
The update button is located between xpa[4] and xpa[0]. Within the key scan routine, xpa[4] is driven shortly to each logic level “0” and “1” and the
value of xpa[0] is read back to sense a keypress of the update button.
For the USB promer, it is necessary that frequency settings defining the quarz crystal frequency are defined by the pins xpc[3:1]. For details refer to
“Table 10 USB promer frequency settings”. These settings are read at the beginning in the initialisation routine of the bootloader.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
16 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
Figure 5 Boot decision between normal boot and USB boot promer
Table 9
Boot definitions Chip version C22
XPC[3:1]
Boot Device
0
1
2
3
4
5
6
7
SPI master ST M25Pxx serial Nor Flash
SPI master Atmel AT45DB011B serial Nor Flash
SPI slave
NandFlash
IDE
reserved for developers mode
UART / Command Line Interface without diagnostics
UART / Command Line Interface with diagnostics
000
001
010
011
100
101
110
111
Table 10 USB promer frequency settings
XPA[6:4]
USB promer frequency settings
000
001
010
011
100
others
24 MHz
20 MHz
13 MHz
12 MHz
10 MHz
reserved / defaults to 24 MHz
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
17 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2 AHB Peripheral Blocks
ARM AHB ("advanced high-performance bus") is the new generation of AMBA bus, which is intended to address the requirements of highperformance synthesizable designs. AMBA AHB implements the features required for high performance, high clock frequency systems including:
•
•
•
•
•
•
burst transfers
split transactions
single cycle bus master handover
non-tristate implementation
32 bit bus width
the clock frequency of the AHB can set by software up to 65MHz
5.2.1 2.5 MBIT RAM Main Memory
The memory subsystem consists of a RAM part and a ROM part.
Within the RAM memory subsystem, following functions are included:
•
•
1-TRAM controller with AHB bus slave interface
1-TRAM memory macros
5.2.1.1 1-TRAM Controller
The 1T RAM Controller is a slave interface connected to the AMBA AHB bus.
•
•
•
•
slave AHB interface
supports byte(8 bit), half-word(16 bit) and word(32 bit) read/write accesses
128-bit Line Buffer as temporary storage to reduce the number of memory accesses and optimise power
consumption
controls 5TSMC 1T-RAM instances
5.2.1.2 On-Chip 1T-RAM macro blocks
TSMC Emb1tRAM™ technology is a special kind of DRAM, which is implemented in a logic CMOS process. This innovative concept and design
guarantees lowest power, high density, high performance and high yield advantages.
ECC (Error Correction Code) technique is applied in the macro to dynamically correct errors caused by hard defects or soft errors. No fuses are
needed because the conventional redundancy scheme is replaced with ECC design in the macro.
The macro can be operated at clock rate from 20 MHz up to maximum AHB bus clock frequency in flow through random access mode. In the
product, one idle cycle for refresh is needed in every 32 clock cycles.
Total 5 macros with organisation of 4Kx128 = 64 KByte each are implemented. For the refresh, one master macro is generating the refresh clock
(T1F4Kx128_PIFE) and four macros are connected serially in slave mode to the refresh clock (T1F4Kx128PIFES).
Features
•
20 Mhz to 65 Mhz operation speed
•
Flow through random access
•
Built-in error correction (ECC)
•
128-bit wide data bus
•
Separated data in/out bus
•
SRAM-style interface operation
•
Built-in refresh controller with refresh clock generator
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
18 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2.2 On-Chip ROM
5.2.2.1
ROM Controller
The ROM controller implements the AHB slave interface for accessing the ROM.
The ROM controller generates OK response for all reads and error response for all writes.
Access width is always 32 bits.
5.2.2.2
1MBIT ROM
128 KByte of on-chip mask-programmable ROM are included.
The ROM is metal mask programmable by a single mask change (VIA2).
The ROM contains the following firmware package
•
Boot loader
5.2.2.3
ROM versions and chip versions
There are two versions of the chip with changed Bootloader functionality available
•
Version C21: Bootloader supports basic function for boot from external Nor Flash (ST or ATMEL).
•
Version C22: Bootloader supports extended boot functions
These two chip versions differ only in the ROM content.
5.2.3 VIC – Vectored Interrupt Controller
The ARM PrimeCell™ PL190 “vectored interrupt controller” is included in the AHB system.
5.2.3.1
•
•
•
•
•
•
•
•
•
•
•
•
Features
AMBA specification Rev 2.0 compliant
support for 32 standard interrupts
support for 16 vectored interrupts
hardware interrupt priority
IRQ and FIQ generation
AHB mapped for fast interrupt response
software interrupt generation
test registers
raw interrupt status
interrupt request status
interrupt masking
privileged mode supportBlock Diagram
Figure 6 VIC Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
19 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
20 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.2.3.2
VIC Interrupt Sources
Table 11 VIC Interrupt Sources
IRQ
Source
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Module
Watchdog
Timer 1
Timer 2
USB
DMAC
Nand Flash
IDE
MCI INTR0
MCI INTR1
AUDIO IRQ
SSP
I2C MS
I2C Audio
I2SIN
I2SOUT
UART
IRQ
Source
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Module
GPIO4 (XPD)
CGU
Memory Stick
DBOP
GPIO1 (XPA)
GPIO2 (XPB)
GPIO3 (XPC)
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
21 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2.4 SMDMAC - Single master DMAC
The ARM PrimeCell™ PL081 “SMDMAC single master DMA controller” is included in the AHB system.
•
•
•
•
•
•
•
•
•
AMBA specification Rev 2.0 compliant
two DMA channels. Each channel can support a unidirectional transfer
provides 16 peripheral DMA request lines
single DMA and burst DMA request signals. Each peripheral connected to the PrimeCell™ SMDMAC can assert either a
burst DMA request or a single DMA request. The DMA burst size is set by programming the PrimeCell™ SMDMAC
Memory-to-Memory, memory-to-peripheral, peripheral-to-memory and peripheral-to-peripheral transfers.
Scatter or gather DMA is supported through the use of linked lists. This means that the source and destination areas do not
need to occupy contiguous areas of memory
Hardware DMA channel priority. Each DMA channel has a specific hardware priority. DMA channel 0 has the highest
priority and channel 1 has the lowest priority. If requests from two channels become active at the same time the channel
with the highest priority is serviced first.
AHB slave DMA programming interface. The PrimeCell™ SMDMAC is programmed by writing to the DMA control registers
over the AHB slave interface
One AHB bus master for transferring data. This interface is used to transfer data when a DMA request goes active.
Figure 7 SMDMAC Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
22 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.2.4.1
Table 12
DMAC Registers
DMAC Registers
Register Name
DMAC_IntStatus
DMAC_IntTCStatus
DMAC_IntTCClear
DMAC_IntErrorStatus
DMAC_IntErrorClear
DMAC_RawIntTCStatus
DMAC_RawIntErrorStatus
DMAC_SoftBReq
DMAC_SoftSReq
DMAC_SoftLBReq
DMAC_SoftSBReq
DMAC_Configuration
DMAC_Sync
DMAC_C0SrcAddr
DMAC_C0DestAddr
DMAC_C0LLI
DMAC_C0Control
DMAC_C0Configuration
DMAC_C1SrcAddr
DMAC_C1DestAddr
DMAC_C1LLI
DMAC_C1Control
DMAC_C1Configuration
DMAC_PeripheralId0
DMAC_PeripheralId1
DMAC_PeripheralId2
DMAC_PeripheralId3
DMAC_CellId0
DMAC_CellId1
DMAC_CellId2
DMAC_CellId3
Base Address
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
AS3525_DMAC_BASE
Offset
0x000
0x004
0x008
0x00C
0x010
0x014
0x018
0x020
0x024
0x028
0x02C
0x030
0x034
0x100
0x104
0x108
0x10C
0x110
0x120
0x124
0x128
0x12C
0x130
0xFE0
0xFE4
0xFE8
0xFEC
0xFF0
0xFF4
0xFF8
0xFFC
Note
Interrupt status register
Interrupt terminal count status register
Interrupt terminal count clear register
Interrupt error status register
Interrupt error clear register
Raw interrupt terminal count status register
Raw interrupt error status register
Software burst request register
Software single request register
Software last burst request register
Software last single request register
Configuration register
Synchronisation register
Channel 0 source address
Channel 0 destination address
Channel 0 linked list item register
Channel 0 control register
Channel 0 configuration register
Channel 1 source address
Channel 1 destination address
Channel 1 linked list item register
Channel 1 control register
Channel 1 configuration register
peripheral ID0 register
peripheral ID1 register
peripheral ID2 register
peripheral ID3 register
peripheral cell ID0 register
peripheral cell ID1 register
peripheral cell ID2 register
peripheral cell ID3 register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
23 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2.5 Multi Port Memory Controller (MPMC)
The MPMC block is integrated into the AMBA system through AHB slave port.
The PrimeCell™ MPMC offers:
•
AMBA 32-bit AHB compliance.
•
Dynamic memory interface support including SDRAM and JEDEC low-power SDRAM
•
Asynchronous static memory device support including RAM, ROM, and Flash, with or without asynchronous page
mode.
•
Low transaction latency.
•
Read and write buffers to reduce latency and to improve performance.
•
Single AHB interface for accessing external memory.
•
8-bit and 16-bit wide static memory support.
•
16-bit wide chip select SDRAM memory support.
•
Static memory features include:
•
asynchronous page mode read
•
programmable wait states
•
bus turnaround delay
•
output enable, and write enable delays
•
extended wait
•
Two chip selects for synchronous memory and two chip selects for static memory devices.
•
Software controllable HCLK to MPMCCLKOUT ratio.
•
Power-saving modes dynamically control SDRAM MPMCCKEOUT and MPMCCLKOUT.
•
Dynamic memory self-refresh mode supported by software.
•
Controller supports 2K, 4K, and 8K row address synchronous memory parts. That is typical 512MB, 256MB, 128MB,
and 16Mb parts, with 8, 16 bits per device.
•
Two reset domains enable dynamic memory contents to be preserved over a soft reset.
•
A separate AHB interface to program the MPMC. This enables the PrimeCell™ MPMC registers to be situated in
memory with other system peripheral registers.
•
Locked AHB transactions supported.
•
Support for all AHB burst types.
Figure 8 Multi Port Memory Controller Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
24 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2.6 IDE Interface
The IDE host interface core provides an efficient and easy-to-use interface to IDE and ATAPI devices. The core
implements programmable I/O, Multi-word DMA, and Ultra ATA-33, -66, -100 and -133 modes of operation and supports
up to two devices. The core interface to the system-on-chip provides PIO access and DMA capability to optimise data
transfers to and from the IDE devices. For ease of integration, this interface includes a register set compatible with the
Intel chip set, including a descriptor-based scatter-gather DMA core. This core is compatible with ATA-4 with Ultra ATA33, -66, -100 and -133 extensions. Single-word DMA is not supported.
The licensed SpeedSelectTM technology allows the core to be reconfigured to support any timing mode for PIO, MultiWord DMA, and Ultra ATA transfers (-33, -66, -100 or -133) while running at any clock frequency. Interface to the host
processor is the AMBA AHB bus architecture.
There are two AHB interfaces on the core: an AHB master and an AHB slave.
5.2.6.1
AHB Master Interface
The AHB Master implements a subset of the AHB protocol. The following features are supported:
•
Single transfer, unspecified-length, 4-beat incrementing and optionally 8-beat incrementing bursts (HBURST will be
‘000’, ‘001’, ‘011’, or optionally ‘101’)
•
Accesses that cross a 1kB boundary will be unspecified-length incrementing (HBURST will be ‘001’)
•
16-bit and 32-bit transfers only (HSIZE will only be ‘001’ or ‘010’)
•
BUSY cycles are not issued (HTRANS will not be ‘01’)
•
HPROT is not implemented
•
OKAY, SPLIT and RETRY responses accepted (HRESP may be ‘00’, ‘10’ or ’11’)
•
HLOCK asserted during fixed-length bursts
•
The AHB master may be granted by default
5.2.6.2
AHB Slave Interface
The AHB Slave implements a subset of the AHB protocol. The following features are supported:
•
Non-burst only (HBURST must be ‘000’)
•
8-, 16-, or 32-bit transfers only (HSIZE must be ‘000’, ‘001’ or ‘010’)
•
No advantage is gained by issuing a SEQ cycle over a NONSEQ cycle (HTRANS values of ‘10’ and ‘11’ are
interpreted identically)
•
HPROT is ignored
•
HRESP is ‘00’ (OKAY)
•
HREADY is issued no sooner than 2 clock cycles after a valid SEQ or NONSEQ cycle
•
The AHB slave may be selected by default
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
25 - 124
AS3524 C21 / C22
Data Sheet, Confidential
5.2.6.3
austriamicrosystems
IDE Block diagram
Figure 9 IDE Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
26 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.2.6.4
IDE Interface Registers
Table 13 IDE Interface Registers
Register Name
IdeReg_BMICP
IdeReg_BMISP
IdeReg_BMIDTPP_LO
IdeReg_BMIDTPP_HI
IdeReg_IDETIMP_LO
IdeReg_IDETIMP_HI
IdeReg_IDETIMS_LO
IdeReg_IDETIMS_HI
IdeReg_SIDETIM
IdeReg_SLEWCTL_LO
IdeReg_SLEWCTL_HI
IdeReg_IDESTAT
IdeReg_UDMACTL
IdeReg_UDMATIM_LO
IdeReg_UDMATIM_HI
IdeReg_MISCCTL
IdeReg_REGSTB
IdeReg_REGRCVR
IdeReg_DATSTB
IdeReg_DATRCVR
IdeReg_DMASTB
IdeReg_DMARCVR
IdeReg_UDMASTB
IdeReg_UDMATRP
IdeReg_UDMATENV
IdeReg_IORDYTMP
IdeReg_IORDYTMS
IdeTaskF_DATA
IdeTaskF_ERR_FEAT
IdeTaskF_SECT_CNT
IdeTaskF_SECT_NUM
IdeTaskF_CYL_LO
IdeTaskF_CYL_HI
IdeTaskF_DEV_HEAD
IdeTaskF_STAT_CMD
IdeTaskF_ALT_STAT_DEV_CTRL
IdeTaskF_DEV_ADDR
Base Address
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
AS3525_CF_IDE_BASE
Offset
0x00
0x02
0x04
0x06
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x4A
0x4B
0x50
0x54
0x58
0x5C
0x60
0x64
0x68
0x6C
0x70
0x74
0x78
0x7C
0x1F0
0x1F1
0x1F2
0x1F3
0x1F4
0x1F5
0x1F6
0x1F7
0x3F6
0x3F7
Note
primary channel bus master command
primary channel bus master status
primary channel bus master table pointer
primary channel timing register
secondary channel timing register
slave IDE timing register
slew rate control register
IDE status register
ultra DMA control register
ultra DMA timing register
miscellaneous control register
task file register strobe timing register
task file register recovery timing register
data register PIO strobe timing register
data register PIO recovery timing register
DMA strobe timing register
DMA recovery timing register
ultra DMA strobe timing register
ultra DMA ready-to-stop timing register
ultra DMA timing envelope register
primary IO ready timer configuration reg
secondary IO ready timer configuration reg
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
27 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.2.7 USB 2.0 HS OTG interface
The USB 2.0 on-chip interface includes the USB 2.0 On-The-Go Physical Interface and the HS OTG controller.
Figure 10 USB 2.0 Interface
5.2.7.1
HS OTG controller subsystem
The Synopsys HS OTG subsystem is a configurable design. The HS OTG subsystem is fully compliant with the On-TheGo supplement to the USB 2.0 specification, Revision 1.0a. The subsystem supports high speed (480-Mbps) and fullspeed transfers. It is designed to interface to the AMBA AHB bus, shielding the application from the complexities of the
HS OTG subsystem-native protocols and simplifying the system interface.
The OTG subsystem can be configured using application software as follows:
•
•
•
OTG dual-role device (DRD)
OTG device only
OTG mini host only
•
•
•
USB High-Speed (HS) device
USB HS mini host
USB Full-Speed (FS) device
The HS OTG subsystem has the following interfaces
•
•
•
•
•
the UTMI+, which connect the on-chip PHY to the HS OTG core
the AHB slave interface, which provides the microcontroller with read and write access to the core's control and
status register (CSRs)
the AHB master interface, which enables the core to act as a master on the AHB to transfer data to and from the
core's DMA controller
the descriptor prefetch buffer RAM interface, which connects to an single-port RAM for DMA descriptor prefetch
buffer storage
the data RAM interface, which connects to and dual-port RAM (FIFO memory) for transaction data storage
General features
•
•
•
•
handles all clock synchronisation within the core
uses a descriptor prefetch buffer for optimal AHB use
in host mode
supports adaptive buffering for dynamic FIFO memory
allocation, avoiding gaps in RAM utilisation
SOFs are supported in high/full speed modes
•
•
•
includes built-in DMA
includes hardware transaction scheduling for
enhanced performance
supports memory mapped address space for the
CSRs
USB 2.0 supported features
•
•
•
•
supports up to 15 configurations in Device mode
•
each configuration supports 15 interfaces
•
each interface handles up to 15 alternate settings
supports session request protocol (SRP)
supports session request protocol (SRP)
supports Host Negotiation Protocol (HNP)
recovers clock and data from the USB
•
•
•
supports a generic root hub
includes auto ping/split completion capabilities
complies with UTMI+ level 3 interface
Implemented Controller configurations are:
•
•
configured with 4 host channels and 3 bidirectional- plus 1 in-endpoints in device mode
dynamic alternate configuration selection (for different bandwidths of isochronous endpoints)
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
28 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
Figure 11 USB 2.0 OTG Controller Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
29 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.2.7.2
•
•
•
•
•
•
•
•
USB 2.0 OTG PHY
Complete PHY for USB2.0 On-The-Go
USB 2.0 UTMI+ specification compliant
Supports high speed (480 Mbit/s), full speed (12 Mbit/s) and low speed (1.5 Mbit/s) data transmission
Supports OT supplement features: VBUS state detecting SRP request by “data-line pulsing” method
Low jitter clock from either on-chip PLL (48MHz) or optional additional crystal (12MHz, 24MHz or 48MHz) which is
available with the 224 pin package, only
16 bit parallel datain/out interface
Typical current consumption on vdda33c and vdd33t:
•
12 mA in FS RX mode
•
30 mA in FS TX mode
•
30 mA in HS RX mode
•
40 mA in HS TX mode
•
< 100 uA in suspend mode
Rext = 3.4kOhm (+/- 1%) must be connected between pads “rext” and “vssa33c” to set the bias current.
5.2.7.3
USB 2.0 OTG Interface Registers
Table 14 USB Interface Registers
Register Name
USB_IEP0_CTRL
USB_IEP0_STS
USB_IEP0_TXFSIZE
USB_IEP0_MPS
USB_IEP0_DESC_PTR
USB_IEP0_STS_MASK
USB_IEP1_CTRL
USB_IEP1_STS
USB_IEP1_TXFSIZE
USB_IEP1_MPS
USB_IEP1_DESC_PTR
USB_IEP1_STS_MASK
USB_IEP2_CTRL
USB_IEP2_STS
USB_IEP2_TXFSIZE
USB_IEP2_MPS
USB_IEP2_DESC_PTR
USB_IEP2_STS_MASK
USB_IEP3_CTRL
USB_IEP3_STS
USB_IEP3_TXFSIZE
USB_IEP3_MPS
USB_IEP3_DESC_PTR
USB_IEP3_STS_MASK
USB_OEP0_CTRL
USB_OEP0_STS
USB_OEP0_RXFR
USB_OEP0_MPS
USB_OEP0_SUP_PTR
USB_OEP0_DESC_PTR
USB_OEP0_STS_MASK
USB_OEP1_CTRL
USB_OEP1_STS
USB_OEP1_RXFR
Base Address
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
Offset
0x00000
0x00004
0x00008
0x0000c
0x00014
0x00018
0x00020
0x00024
0x00028
0x0002c
0x00034
0x00038
0x00040
0x00044
0x00048
0x0004c
0x00054
0x00058
0x00060
0x00064
0x00068
0x0006c
0x00074
0x00078
0x00200
0x00204
0x00208
0x0020c
0x00210
0x00214
0x00218
0x00220
0x00224
0x00228
Note
Control Register
Status Register
TxFIFO Size
Maximum Packet Size
Data Descriptor Pointer
Status Mask Register
Control Register
Status Register
TxFIFO Size
Maximum Packet Size
Data Descriptor Pointer
Status Mask Register
Control Register
Status Register
TxFIFO Size
Maximum Packet Size
Data Descriptor Pointer
Status Mask Register
Control Register
Status Register
TxFIFO Size
Maximum Packet Size
Data Descriptor Pointer
Status Mask Register
Control
Status Register
Rx Packet Frame Number Register
RxFIFO Size/Maximum Packet Size
Setup buffer Pointer Register
Data Descriptor Pointer
Status Mask Register
Control Register
Status Register
Rx Packet Frame Number Register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
30 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Register Name
USB_OEP1_MPS
USB_OEP1_SUP_PTR
USB_OEP1_DESC_PTR
USB_OEP1_STS_MASK
USB_OEP2_CTRL
USB_OEP2_STS
USB_OEP2_RXFR
USB_OEP2_MPS
USB_OEP2_SUP_PTR
USB_OEP2_DESC_PTR
USB_OEP2_STS_MASK
USB_OEP3_CTRL
USB_OEP3_STS
USB_OEP3_RXFR
USB_OEP3_MPS
USB_OEP3_SUP_PTR
USB_OEP3_DESC_PTR
USB_OEP3_STS_MASK
USB_DEV_CFG
USB_DEV_CTRL
USB_DEV_STS
USB_DEV_INTR
USB_DEV_INTR_MASK
USB_DEV_EP_INTR
USB_DEV_EP_INTR_MASK
USB_PHY_EP0_INFO
USB_PHY_EP1_INFO
USB_PHY_EP2_INFO
USB_PHY_EP3_INFO
USB_PHY_EP4_INFO
USB_PHY_EP5_INFO
USB_HOST_CH0_SPLT
USB_HOST_CH0_STS
USB_HOST_CH0_TXFSIZE
USB_HOST_CH0_REQ
USB_HOST_CH0_PER_INFO
Base Address
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
Offset
0x0022c
0x00230
0x00234
0x00238
0x00240
0x00244
0x00248
0x0024c
0x00250
0x00254
0x00258
0x00260
0x00264
0x00268
0x0026c
0x00270
0x00274
0x00278
0x00400
0x00404
0x00408
0x0040c
0x00410
0x00414
0x00418
0x00504
0x00508
0x0050c
0x00510
0x00514
0x00518
0x01000
0x01004
0x01008
0x0100c
0x01010
USB_HOST_CH0_DESC_PTR
USB_HOST_CH0_STS_MASK
USB_HOST_CH1_SPLT
USB_HOST_CH1_STS
USB_HOST_CH1_TXFSIZE
USB_HOST_CH1_REQ
USB_HOST_CH1_PER_INFO
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
0x01014
0x01018
0x01020
0x01024
0x01028
0x0102c
0x01030
USB_HOST_CH1_DESC_PTR
USB_HOST_CH1_STS_MASK
USB_HOST_CH2_SPLT
USB_HOST_CH2_STS
USB_HOST_CH2_TXFSIZE
USB_HOST_CH2_REQ
USB_HOST_CH2_PER_INFO
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
0x01034
0x01038
0x01040
0x01044
0x01048
0x0104c
0x01050
Note
RxFIFO Size/Maximum Packet Size
Setup buffer Pointer Register
Data Descriptor Pointer
Status Mask Register
Control Register
Status Register
Rx Packet Frame Number Register
RxFIFO Size/Maximum Packet Size
Setup buffer Pointer Register
Data Descriptor Pointer
Status Mask Register
Control Register
Status Register
Rx Packet Frame Number Register
RxFIFO Size/Maximum Packet Size
Setup buffer Pointer Register
Data Descriptor Pointer
Status Mask Register
Device Configuration Register
Device Control Register
Device Status Register
Device Interrupt Register
Device Interrupt Mask Register
Device Endpoint Interrupt
Device Endpoint Interrupt Mask
Information Register
Information Register
Information Register
Information Register
Information Register
Information Register
Split Information Register
Status Register
TxFIFO Register
Request Register
Periodic/Split Transaction Information
Register
Data Descriptor Pointer
Status Mask Register
Split Information Register
Status Register
TxFIFO Register
Request Register
Periodic/Split Transaction Information
Register
Data Descriptor Pointer
Status Mask Register
Split Information Register
Status Register
TxFIFO Register
Request Register
Periodic/Split Transaction Information
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
31 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Register Name
Base Address
Offset
USB_HOST_CH2_DESC_PTR
USB_HOST_CH2_STS_MASK
USB_HOST_CH3_SPLT
USB_HOST_CH3_STS
USB_HOST_CH3_TXFSIZE
USB_HOST_CH3_REQ
USB_HOST_CH3_PER_INFO
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
0x01054
0x01058
0x01060
0x01064
0x01068
0x0106c
0x01070
USB_HOST_CH3_DESC_PTR
USB_HOST_CH3_STS_MASK
USB_HOST_CFG
USB_HOST_CTRL
USB_HOST_INTR
USB_HOST_INTR_MASK
USB_HOST_CH_INTR
USB_HOST_CH_INTR_MASK
USB_HOST_FRAME_INT
USB_HOST_FRAME_REM
USB_HOST_FRAME_NUM
USB_HOST_PORT0_CTRL_STS
USB_OTG_CSR
USB_I2C_CSR
USB_GPIO_CSR
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
0x01074
0x01078
0x01400
0x01404
0x0140c
0x01410
0x01414
0x01418
0x0141c
0x01420
0x01424
0x01500
0x02000
0x02004
0x02008
USB_SNPSID_CSR
USB_USERID_CSR
USB_USER_CONF1
USB_USER_CONF2
USB_USER_CONF3
USB_USER_CONF4
USB_USER_CONF5
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
AS3525_USB_BASE
0x0200c
0x02010
0x02014
0x02018
0x0201c
0x02020
0x02024
Note
Register
Data Descriptor Pointer
Status Mask Register
Split Information Register
Status Register
TxFIFO Register
Request Register
Periodic/Split Transaction Information
Register
Data Descriptor Pointer
Status Mask Register
Host Configuration Register
Host Control Register
Host Interrupt Register
Host Interrupt Mask Register
Host Channel Interrupt Register
Host Channel Interrupt Mask Register
Host Frame Interval Register
Host Frame Remaining Register
Host Frame Number Register
Host Port and Status Register
OTG Control and Status Register
I2C Access Register
General Purpose Input/Output
Register
Synopsys ID Register
User ID Register
User Config1 Register
User Config2 Register
User Config3 Register
User Config4 Register
User Config5 Register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
32 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2.8 Memory Stick / Memory Stick Pro Interface
The Sony memory stick interface is an AHB bus slave device. This interface conforms to following standards:
•
Memory Stick Standard Format Specifications version 1.4-00
•
Memory Stick PRO Format Specifications version 1.00-01
5.2.8.1
Block Diagram
The memory stick interface contains two main blocks, the ICON and the host controller.
Figure 12 SONY memory stick interface block diagram
5.2.8.2
I-CON
This IP is Memory Stick / Memory Stick PRO Host Controller automatic control IP with a 32-bit CPU interface. This IP automatically controls the
series of TPC-based communication with the Memory Stick in place of the CPU, and aims to reduce the burden on the Host CPU.
The contents of communication with the Memory Stick are designated in this IP by micro codes.
Features
•
•
•
•
•
•
32-bit CPU interface
Inside controller specified by microcodes
Buffer for two-way data transmission loaded (256 byte x 2)
32/16 bit access available
DMA support
General-purpose data transmit/receive FIFO (12 Bytes)
5.2.8.3
Host Controller
Features
•
•
•
•
•
•
Memory Stick and Memory Stick PRO support
FiFo memory (64 bits × 4) for two-way data transmission
Built-in CRC circuit
Memory Stick serial clock (Serial: 20 MHz (max.), Parallel: 40 MHz (max.))
DMA support
16/32/64-bit access possible
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
33 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.2.8.4 Functional description
Communication with the Memory Stick
The communication protocol with the Memory Stick is started by write from the CPU to the command register. When the protocol finishes, the CPU
is notified that the protocol has ended by an interrupt request.
Data transfer request
When the protocol is started and enters the data transfer state, data is requested by issuing a DMA transfer request or an interrupt request to the
CPU. Data can also be requested to an external memory.
Memory Stick communication time out
The RDY time out time when the handshake state (read protocol: BS2, write protocol: BS3) is established in communication with the Memory Stick
can be designated as the number of Memory Stick transfer clocks. When a time out occurs, the CPU is notified that the protocol has ended due to a
time out error by an interrupt request.
CRC off
CRC off can be set as a test mode.
When CRC off is set, CRC is not added to the data transmitted to the Memory Stick.
PAD cells
The connections to the MemoryStick Interface are shared with the General Purpose I/O port-D (GPIO xpd[0:7]).
Figure 13 external memory stick connection
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
34 - 124
AS3524 C21 / C22
Data Sheet, Confidential
5.3
austriamicrosystems
APB Peripheral Block
5.3.1 Timers
The Dual Input Timers module is an APB slave that provides access to two interrupt-generating, programmable 32-bit free-running decrementing
counters (FRCs). The system clock (PCLK) is used to control the programmable registers, and the second clock input is used to drive the counter,
enabling the counters to run from a much slower clock than the system clock. This input clock of the counters (TIMCLK) is connected to a clock
derived (divided by 16) from the main clock (clk_main) signal. That clock clk_main is always running and is coming from the internal or external
oscillator (set by clk_sel pad).
5.3.1.1 Timer modes
•
•
•
Free-running mode: the counter wraps after zero and continues at the maximum value. This is the default mode.
Periodic mode: reload of original value after wrapping past zero.
One-shot mode - interrupt is generated once, counter halts after reaching zero
Figure 14 Timer Block Diagram
Each timer has an identical set of registers shown in table Table 15. The operation of each timer is identical. The timer is loaded by writing to the
load register and, if enabled, counts down to zero. When a counter is already running, writing to the load register will cause the counter to
immediately restart at the new value. Writing to the background load value has no effect on the current count. The counter continues to decrement
to zero, and then recommences from the new load value (if in periodic mode, and one shot mode is not selected).
When zero is reached, an interrupt is generated. The interrupt can be cleared by writing to the clear register. If One Shot Mode is selected, the
counter halts on reaching zero One Shot Mode is deselected, or a new load value is written. Otherwise, after reaching a zero count, if the timer is
operating in free-running mode it continues to decrement from its maximum value. If periodic timer mode is selected, the timer reloads the count
value from the load register and continues to decrement. In this mode the counter effectively generates a periodic interrupt. The mode is selected
by a bit in the timer control register. At any point, the current counter value can be read from the value register. The counter is enabled by a bit in
the control register. At reset, the counter is disabled, the interrupt is cleared, and the load register is set to zero. The mode and prescale values are
set to free-running, and clock divide of 1 respectively.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
35 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
The timer clock enable is generated by a prescale unit. The enable is then used by the counter to create a clock with a timing of one of the
following.
•
•
•
The system clock
The system clock divided by 16, generated by 4 bits of prescale
The system clock divided by 256, generated by a total of 8 bits of prescale
Figure 15 - timer prescaler
5.3.1.2 Interrupt generation
An interrupt is generated when the full 32-bit counter reaches zero, and is only cleared when the TimerXClear location is written to. A register holds
the value until the interrupt is cleared. The most significant carry bit of the counter detects the counter reaching zero.
Interrupts can be masked by writing 0 to the interrupt enable bit in the control register. Both the raw interrupt satus (prior to masking) and the final
interrupt status (after masking) can be read from status registers.
Timer 1 interrupt output is connected to interrupt input line irq1 (VIC input) and Timer 2 interrupt output is connected to interrupt line irq2.
5.3.1.3 Timer Register Descriptions
Table 15 – Timer 1 and 2 registers
Register Name
Timer1Load
Timer1Value
Timer1Control
Timer1IntClr
Timer1RIS
Timer1MIS
Timer1BGLoad
Timer2Load
Timer2Value
Timer2Control
Timer2IntClr
Timer2RIS
Timer2MIS
Timer2BGLoad
Periheral ID register bits 7:0
Periheral ID register bits 15:8
Periheral ID register bits 23:16
Periheral ID register bits 31:24
Primecell ID register bits 7:0
Primecell ID register bits 15:8
Primecell ID register bits 23:16
Primecell ID register bits 31:24
Base Address
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
AS3525_TIMER_BASE
Offset
0x00
0x04
0x08
0x0C
0x10
0x14
0x18
0x20
0x24
0x28
0x2C
0x30
0x34
0x38
0xFE0
0xFE4
0xFE8
0xFEC
0xFF0
0xFF4
0xFF8
0xFFC
Note
load value for Timer 1
current value for Timer 1
Timer 1 control register
Timer 1 interrupt clear
Timer 1 raw interrupt status
Timer 1 masked interrupt status
Timer 1 background load value
load value for Timer 2
current value for Timer 2
Timer 2 control register
Timer 2 interrupt clear
Timer 2 raw interrupt status
Timer 2 masked interrupt status
Timer 2 background load value
Peripheral ID register bits 7:0
Peripheral ID register bits 15:8
Peripheral ID register bits 23:16
Peripheral ID register bits 31:24
Primecell ID register bits 7:0
Primecell ID register bits 15:8
Primecell ID register bits 23:16
Primecell ID register bits 31:24
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
36 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Load register, Timer1Load, Timer2Load
This is a 32-bit register containing the value from which the counter is to decrement. This is the value used to reload the counter when periodic
mode is enabled, and the current count reaches zero.
When this register is written to directly, the current count is immediately reset to the new value at the next rising edge of TIMCLK which is enabled
by TIMCLKEN.
The value in this register is also overwritten if the TimerXBGLoad register is written to, but the current count is not immediately affected.
If values are written to both the timerXLoad and TimerXBGLoad registers before an enabled rising edge on TIMCLK, the following occurs:
•
On the next enabled TIMCLK edge the value written to the TimerXLoad value replaces the current count value
•
Following this, eacht time the counter reaches zero, the current count value is reset to the value written to TimerXBGLoad.
Reading from the TimerXLoad register at any time after the two writes have occurred will retrieve the value written to TimerXBGLoad. That is, the
value read from TimerXLoad is always the value which will take effect for periodic mode after the next time the counter reaches zero.
Current value register, Timer1Value, Timer2Value
This register gives the current value of the decrementing counter.
Timer control register
Table 16 Timer control register
Name
Base
Default
Timer1Control, Timer2Control
AS3525_TIMER_BASE
0x20
Offset: 0x08, 0x28
Timer Control Register
Contains control bits of the PLLA register.
Bit
7
Bit Name
Timer Enable
Default
0
Access
R/W
6
Timer Mode
0
R/W
5
Interrupt Enable
1
R/W
4
3:2
RESERVED
TimerPre
00
R/W
1
Timer Size
0
R/W
0
OneShotCount
0
R/W
Bit Description
Enable bit:
0: timer disabled (default)
1: timer enabled
Mode bit
0: timer is in free-running mode (default)
1: timer is in periodic mode
Interrupt enable bit
0: timer interrupt disabled
1: timer interrupt enabled (default)
Reserved bit, do not modify, and ignore on read
Prescale bits:
00: no prescale, clock is divided by 1 (default)
01: 4 stages of prescale, clock is divided by 16
10: 8 stages of prescale, clock is divided by 256
11: undefined, do not use
Selects 16/32 bit counter operation
0: 16 bit counter (default)
1: 32 bit counter
Selects one-shot or wrapping counter mode
0: wrapping mode (default)
1: one-shot mode
Interrupt clear register, Timer1IntClr, Timer2IntClr
Any write to this register will clear the interrupt output from the counter
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
37 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Raw Interrupt status register, Timer1RIS, Timer2RIS
This register indicates the raw interrupt status from the counter. This value is ANDed with the timer interrupt enable bit from the control register to
create the masked interrupt, which is passed to the interrupt output pin.
Table 17 raw interrupt status register
Name
Base
Timer1RIS, Timer2RIS
AS3525_TIMER_BASE
Offset: 0x10, 0x30
Bit
0
Bit Name
Raw Timer Interrupt
Default
Timer raw interrupt status register
Contains control bits of the PLLA register.
Default
Access
R
Bit Description
Raw interrupt status from the counter
Interrupt status register, TIMERXMIS
This register indicates the masked interrupt status from the counter. This value is the logical AND of the raw interrupt status with the timer interrupt
enable bit from the control register, and is the same value which is passed to the interrupt output pin.
Table 18 interrupt status register
Name
Base
Timer1MIS, Timer2MIS
AS3525_TIMER_BASE
Offset: 0x10, 0x30
Bit
0
Bit Name
Raw Timer Interrupt
Default
Timer raw interrupt status register
Contains control bits of the PLLA register.
Default
Access
R
Bit Description
Raw interrupt status from the counter
Background load register, TimerXBGLoad
This is a 32 bit register containing the value from which the counter is to decrement. This is the value used to reload the counter when periodic
mode is enabled, and the current count reaches zero.
This register privides an alternative method of accessing the TimerXLoad register. The difference is that writes to TimerXBGLoad will not cause the
counter immediately to restart from the new value.
Reading from this register returns the same value returned from TimerXLoad.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
38 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.2 Watchdog Unit
The watchdog unit provides a way of recovering from software crashes. The watchdog clock is used to generate a
regular interrupt (WDOGINT), depending on a programmed value. The watchdog monitors the interrupt and asserts a
reset signal (WDOGRES) if the interrupt remains unserviced for the entire programmed period. You can enable or
disable the watchdog unit as required.
Clock reference for the watchdog is PCLK divided by 256.
Figure 16 watchdog unit
5.3.2.1
Watchdog register descriptions
Table 19 Watchdog Registers
Register Name
WDT_LOAD
WDT_VALUE
WDT_CONTROL
WDT_INTCLR
WDT_RIS
WDT_MIS
WDT_LOCK
WDT_PERIPHID0
WDT_PERIPHID1
WDT_PERIPHID2
WDT_PERIPHID3
WDT_PCELLID0
WDT_PCELLID1
WDT_PCELLID2
WDT_PCELLID3
Base Address
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
AS3525_WDT_BASE
Offset
0x00
0x04
0x08
0x0C
0x10
0x14
0xC00
0xFE0
0xFE4
0xFE8
0xFEC
0xFF0
0xFF4
0xFF8
0xFFC
Note
load register
counter current value
control register
Interrupt clear register
Raw interrupt status register
Masked interrupt status register
Lock register
Watchdog peripheral ID 0 register
Watchdog peripheral ID 1 register
Watchdog peripheral ID 2 register
Watchdog peripheral ID 3 register
Watchdog primecell ID 0 register
Watchdog primecell ID 1 register
Watchdog primecell ID 2 register
Watchdog primecell ID 3 register
Watchdog load register, WdogLoad
This is a 32-bit register containing the value from which the counter is to decrement. When this register is written to, the count is immediately
restarted from the new value. The minimum valid value for WdogLoad is one.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
39 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Watchdog control register, WdogControl
This is a read/write register that enables the software to control the watchdog unit.
Table 20 watchdog control register
Name
Base
Default
WdogControl
AS3525_WDT_BASE
0x04
Watchdog Control Register
Offset: 0x08
Bit
1
Bit Name
RESEN
Default
0
Access
R/W
0
INTEN
0
R/W
Bit Description
Enable Watchdog reset output (WDOGRES). Acts as a mask
for the reset output.
0: disable the reset
1: enable the reset
Enable the interrupt event (WDOGINT).
0: disable the counter and interrupt
1: enable the counter and interrupt
Watchdog clear interrupt register, WdogIntClr
A write of any value to this location clears the watchdog interrupt, and reloads the counter from the value in WdogLoad.
Raw interrupt status register, WdogRIS
This register indicates the raw interrupt status from the counter. This value is ANDed with the inerrupt enable bit from the control register to create
the masked interrupt, which is passed to the interrupt output pin.
Table 21 watchdog raw interrupt status register
Name
Base
WdogRIS
AS3525_WDT_BASE
Watchdog interrupt status register
Offset: 0x10
Bit
0
Bit Name
Watchdog Interrupt
Default
Default
Access
R
Bit Description
Enabled interrupt status from the counter
Interrupt status register, WdogMIS
This register indicates the masked interrupt status from the counter. This value is the logical AND of the raw interrupt status with the INTEN bit from
the control register, and is the same value which is passed to the interrupt output pin.
Name
Base
WdogMIS
AS3525_WDT_BASE
Watchdog raw interrupt status register
Offset: 0x14
Bit
0
Bit Name
Raw Watchdog
Interrupt
Default
Default
Access
R
Bit Description
Raw interrupt status from the counter
Table 22 watchdog interrupt status register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
40 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Watchdog lock register, WdogLock
Use of this register allows write-access to all other registers to be disabled. This is to prenent rogue software from disabling the watchdog
functionality. Writing a value of 0x1ACCE551 will enable write access to all other registers. Writing any other value will disable write accesses. A
read from this register will return only the bottom bit:
•
•
0 indicates that write access is enabled (not locked)
1 indicates that write access is disabled (locked)
Table 23 watchdog lock register
Name
Base
Default
WdogLock
AS3525_WDT_BASE
0x00
Watchdog raw interrupt status register
Offset: 0xC00
Bit
31:0
0
Bit Name
Enable register
writes
Register write
enable status
Default
0
Access
W
R
Bit Description
Enable write access to all other registers by writing
0x1ACCE551. Disable write access by writing any other value.
0: write access to all other registers is enabled (default)
1: write access to all other registers is disabled
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
41 - 124
AS3524 C21 / C22
Data Sheet, Confidential
5.3.3
austriamicrosystems
SSP – Synchronous Serial Port
The SSP is a master or slave interface that enables synchronous serial communication with slave or master peripherals
having one of the following:
•
a Motorola SPI-compatible interface
•
a TI synchronous serial interface
•
a National Semiconductor MicroWire interface
•
In both master and slave configurations the SSP performs
•
parallel-to-serial conversion on data written to an internal 16-bit wide, 8-location deep transmit FIFO
•
serial-to-parallel conversion on received data, buffering it in a similar 16-bit wide, 8 location-deep receive FIFO
Interrupts are generated to:
•
request servicing of the transmit and receive FIFO
•
inform the system that a receive FIFO overrun has occurred
•
inform the system that data is present in the receive FIFO after an idle period has expired
SSP Features:
•
compliant to AMBA Rev 2.0
•
master or slave operation
•
programmable clock bit rate and prescale
•
separate receive and transmit memory buffers each 16 bits wide and 8 bits deep
•
programmable data frame size from 4 to 16 bit
•
independent masking of receive FIFO, transmit FIFO and receive overrun interrupts
•
internal loopback testmode available
•
support for DMA
•
identification register uniquely identifying the PrimeCell™ itself (support for OS)
SPI features:
•
full-duplex, four wire synchronous transfer
•
programmable clock polarity and phase
MicroWire features:
•
half duplex transfer using 8 bit control message
Texas Instruments SSI features:
•
full-duplex, four wire synchronous transfer
•
transmit data PIN tristateable when not transmitting
Programmable parameters:
•
master or slave mode
•
enabling of operation
•
frame format
•
communication baud rate
•
clock phase and polarity
•
data width from 4 to 16 bit
•
interrupt masking
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
42 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Figure 17 Serial Synchronous Port Block Diagram
Table 24 SSP Registers
Register Name
SPI_SSPCR0
SPI_SSPCR1
SPI_SSPRXD
SPI_SSPTXD
SPI_SSPSR
SPI_SSPCPSR
SPI_SSPIMSC
SPI_SSPIRS
SPI_SSPMIS
SPI_SSPICR
SPI_SSPDMACR
Base Address
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
SSP_BASE
Offset
0x00
0x04
0x08
0x08
0x0C
0x10
0x14
0x18
0x1C
0x20
0x24
Note
CR0 control register
CR1 control register
Read Data Register
Write Data register
SSP status register
SSP Pre-scaler register
SSP Interrupt Mask and clear register
SSP Raw interrupt status register
SSP Masked interrupt status register
SSP interrupt clear register
SSP DMA control register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
43 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.4 GPIO - General purpose input/output ports
The ARM PrimeCell™ PL061 “General Purpose Input/Output” is included in the APB system.
•
•
•
•
•
•
compliant to AMBA Rev 2.0
each port has eight individually programmable input/output pins, default to input at reset
four ports A, B, C, D are included
programmable interrupt generation capability, from a transition or level condition, on any number of PINs
hardware control capability of GPIO’s for different system configurations.
bit masking in both read and write operations through address lines
Figure 18 GPIO Block Diagram
Table 25: GPIO Registers
Register Name
GPIO1_DATA
GPIO1_DIR
GPIO1_IS
GPIO1_IBE
GPIO1_IEV
GPIO1_IE
GPIO1_RIS
GPIO1_MIS
GPIO1_IC
GPIO1_AFSEL
GPIO2_DATA
GPIO2_DIR
GPIO2_IS
GPIO2_IBE
GPIO2_IEV
GPIO2_IE
GPIO2_RIS
GPIO2_MIS
GPIO2_IC
GPIO2_AFSEL
Base Address
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO1_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
AS3525_GPIO2_BASE
Offset
0x000
0x400
0x404
0x408
0x40C
0x410
0x414
0x418
0x41C
0x420
0x000
0x400
0x404
0x408
0x40C
0x410
0x414
0x418
0x41C
0x420
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
Note
data register
data direction register
interrupt sense register
interrupt both edges register
interrupt event register
interrupt mask register
raw interrupt status
masked interrupt status
interrupt clear
mode control select
data register
data direction register
interrupt sense register
interrupt both edges register
interrupt event register
interrupt mask register
raw interrupt status
masked interrupt status
interrupt clear
mode control select
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
44 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Register Name
GPIO3_DATA
GPIO3_DIR
GPIO3_IS
GPIO3_IBE
GPIO3_IEV
GPIO3_IE
GPIO3_RIS
GPIO3_MIS
GPIO3_IC
GPIO3_AFSEL
GPIO4_DATA
GPIO4_DIR
GPIO4_IS
GPIO4_IBE
GPIO4_IEV
GPIO4_IE
GPIO4_RIS
GPIO4_MIS
GPIO4_IC
GPIO4_AFSEL
Base Address
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO3_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
AS3525_GPIO4_BASE
Offset
0x000
0x400
0x404
0x408
0x40C
0x410
0x414
0x418
0x41C
0x420
0x000
0x400
0x404
0x408
0x40C
0x410
0x414
0x418
0x41C
0x420
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
GPIO
Note
data register
data direction register
interrupt sense register
interrupt both edges register
interrupt event register
interrupt mask register
raw interrupt status
masked interrupt status
interrupt clear
mode control select
data register
data direction register
interrupt sense register
interrupt both edges register
interrupt event register
interrupt mask register
raw interrupt status
masked interrupt status
interrupt clear
mode control select
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
45 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.3.5 MCI – SD / MMC Card Interface
Features
•
•
•
Conformance to Multimedia Card Specification v2.11
Conformance to Secure Digital Memory Card Physical Layer Specification, v0.96
uses multimedia card bus or SD card bus.
The PrimeCell™ MCI provides an interface between the APB system bus and multimedia and/or secure digital memory cards. It consists of two
parts:
•
•
The PrimeCell™ MCI adapter block includes the clock generation unit, the power management control, command and data
transfer
the APB interface provides access to the MCI adapter registers, and generates interrupt and DMA request signals.
Figure 19 Multimedia Card Interface Block Diagram
The connections to the Multimedia Card Interface are shared with the General Purpose I/O port-D (GPIO xpd[0:7]). Following diagram shows the
external circuit elements for connection to a SD card adapter. Note that a feedback clock must be routed back to xpd[6]/mci_fbclk.
Figure 20 Connecting SD / MC to GPIO-D
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
46 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.6 I2cAudMas - I2C audio master interface
This is the control interface between the digital and the audio-part. The corresponding signal lines are connected inside of the MCM on the BGA
substrate. For test purposes of the audio chip only, the signals are available at dedicated balls.
•
•
•
•
•
•
•
•
•
•
•
The key features of this interface block are:
serial 2-wire I2C bus master
supports standard (100 kbps) and fast speed (400kbps)
7-bit addressing
sub-addressing
programmable clock divider
programmable transfer count
soft reset bit
interrupt generation (on RX Full, TX Empty, RX Overrun, no acknowledge received)
status register
test register
Figure 21 I2C Audio Master Interface Block Diagram
Table 26 I2C Audio Master Registers
Register Name
I2C2_DATA
I2C2_SLAD0
I2C2_CNTRL
I2C2_DACNT
I2C2_CPSR0
I2C2_CPSR1
I2C2_IMR
I2C2_RIS
I2C2_MIS
I2C2_SR
I2C2_INT_CLR
I2C2_SADDR
I2C2_TESTIN
I2C2_TESTOUT1
I2C2_TESTOUT2
Base Address
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
AS3525_I2C_AUDIO_BASE
Offset
0x00
0x04
0x0C
0x10
0x1C
0x20
0x24
0x28
0x2C
0x30
0x40
0x44
0x50
0x54
0x58
Note
transmit/receive FIFO data register
slave ID register
control register
master data count register
clock prescale register 0
clock prescale register 1
interrupt mask register
raw interrupt status register
masked interrupt status register
I2C status register
interrupt clear register
sub-address register
test register (monitors state of SCL and SDA)
test mode register for driving output interrupt
test mode register for driving SCLout,
SCLOEn, SDAOUT and SDAOEN signals
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
47 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.7 I2CMSI - I2C master/slave interface
This is a general control interface for chip-to-chip communication. The corresponding IOs are either used by the general purpose port C (xpc[6:7])
or by this I2C interface.
The features of this interface block are:
•
•
•
•
•
•
•
•
•
•
serial 2-wire I2C bus master
supports standard (100 kbps) and fast speed (400kbps)
supports multi-master system architecture
programmable clock divider
programmable transfer count
programmable slave wait enable (for slave mode of operation, insertion of wait on the bus)
soft reset bit
interrupt generation (on RX Full, TX Empty, RX Overrun, no acknowledge received)
status register
test register
Figure 22: I2C Interface
Table 27 I2C Interface Registers
Register Name
I2C1_DATA
I2C1_SLAD0
I2C1_SLAD1
I2C1_CNTRL
I2C1_DACNT
I2C1_SEAD0
I2C1_SEAD1
I2C1_CPSR0
I2C1_CPSR1
I2C1_IMR
I2C1_RIS
I2C1_MIS
I2C1_SR
I2C1_TXCNT
I2C1_RXCNT
I2C1_TX_FLUSH
I2C1_INT_CLR
I2C1_TESTIN
I2C1_TESTOUT1
I2C1_TESTOUT2
Base Address
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_MS_BASE
Offset
0x00
0x04
0x08
0x0C
0x10
0x14
0x18
0x1C
0x20
0x24
0x28
0x2C
0x30
0x34
0x38
0x3C
0x40
0x50
0x54
0x58
Note
transmit/receive FIFO data register
slave ID register 0
slave ID register 1
control register
master data count register
self ID of slave 0
self ID of slave 1
clock prescale register 0
clock prescale register 1
interrupt mask register
raw interrupt status register
masked interrupt status register
I2C status register
transmit Fifo data count register
receive Fifo data count register
TX Fifo flush register
interrupt clear register
test register (monitors state of SCL and SDA)
test mode register for driving output interrupt
test mode register for driving SCLout, SCLOEn,
SDAOUT and SDAOEN signals
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
48 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.3.8 I2SIN - I2S input interface
The I2S input interface module (called I2SINIF module hereafter) is used to connect an external audio source to the
processor system. The communication is based on the standardized I2S interface. The interface module connects to the
processor system using the AMBA APB bus.
All the input left & right channel data are mapped to either 14 or 24 bit format, selectable within the control register. If the
data word length is less than 24 bit, the unused lower bits are set to zero. To reduce the interrupt frequency for the
processor, a FIFO buffer is provided. The buffer can hold up to 32 words of 48 bit length (left plus right channel).
Generation of interrupt request signal with several maskable interrupt sources (Pop Full, Pop Empty, Pop Error, Push
Error, …etc)
The I2SINIF provides the following features:
•
two independent clock domains: AMBA APB clock PCLK, I2S input clock i2si_sclk
•
FIFO (32 words/48 bit) separating clock domains
•
support of several oversampling rates: 128x, 256x, 512x
•
interrupt support for FIFO data read
•
DMA support for FIFO data transfer
The I2SINIF provides five different modes:
•
input from on-chip audio ADC
•
input from external audio ADC in master mode (SCLK, LRCK generated by external ADC)
•
input from external audio ADC in slave mode (SCLK, LRCK, MCLK generated internally and fed to external ADC)
•
input from SPDIF (SPDIF to I2S converter)
•
feedback mode with input from I2S output interface: used for test purposes
Figure 23 I2S Input Interface
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
49 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.8.1
I2S Input Register Mapping
I2S Input Interface Registers
Table 28
I2S Input Interface Registers
Register Name
Base Address
Offset
Note
I2SIN_CONTROL
AS3525_I2SIN_BASE
0x0000
Control register
I2SIN_MASK
AS3525_I2SIN_BASE
0x0004
Interrupt mask register
I2SIN_RAW_STATUS
AS3525_I2SIN_BASE
0x0008
Raw status register
I2SIN_STATUS
AS3525_I2SIN_BASE
0x000C
Status register
I2SIN_CLEAR
AS3525_I2SIN_BASE
0x0010
Interrupt clear register
I2SIN_DATA
AS3525_I2SIN_BASE
0x0014
Audio data register
I2SIN_SPDIF_STATUS
AS3525_I2SIN_BASE
0x0018
SPDIF status signals register
Table 29 I2S Input Control Register
Name
Base
Default
I2SIN_CONTROL
AS3525_I2SIN_BASE
0x04
Offset: 0x0000
Control register
12 bit wide read/write register containing the control bits of the I2SINIF.
Bit
11
Bit Name
DMA_req_en
Default
0
Access
R/W
10
mclk_invert
0
R/W
9,8
i2s_clk_source
00
R/W
7,6
sdata_source
00
R/W
5
14bit_mode
0
R/W
4
sclk_idle
0
R/W
3
SDATA_valid
0
R/W
2
sclk_edge
1
R/W
1,0
osr
00
R/W
Bit Description
DMA request enable
0: disable
1: enable
Invert MCLK
0: disable (SCLK changes at MCLK’s falling edge)
1: enable (SCLK changes at MCLK’s rising edge)
Define the source of SCLK and LRCK for I2SINIF
00: SCLK and LRCK from I2SOUTIF (used if AFE sends data)
01: SCLK and LRCK from external ADC device (outside AS3525)
10: SCLK and LRCK from SPDIF converter
11: SCLK and LRCK from I2SINIF’s clock controller
Define the source of SDATA for I2SINIF
00: SDATA from AFE
01: SDATA from external ADC device (outside AS3525)
10: SDATA from SPDIF converter
11: loopback SDATA from I2SOUTIF (test purpose)
0: ADC data from FIFO transferred in two 32-bit words to
I2SIN_DATA (first left and then right data as indicated by the
stereo24_status bit)
1: ADC data from FIFO transferred in one 32-bit word to
I2SIN_DATA
Enable/disable SCLK for I2SINIF
0: SCLK enabled
1: SCLK disabled
0: SDATA ignored at first SCLK edge (I2S standard)
1: valid SDATA at first SCLK edge
0: data valid at negative edge of SCLK
1: data valid at positive edge of SCLK
Oversampling rate (needed for generating sclk and lrck)
00: 128x
01: 256x
10: 512x
11: 128x
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
50 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
The following table shows the valid combinations for sdata_source (bit 7 and 6) and i2s_clk_source (bit 9 and 8) of the
I2SIN_CONTROL register.
sdata_source
i2s_clk_source
Description
00
00
default mode (AFE with AS3525)
01
00
external data, external clock
01
11
external data, internal clock
10
10
data and clock from SPDIF converter
11
00
loopback, internal data and clock
Table 30 I2S Input mask register
Bit
7
6
5
4
3
2
1
0
Name
Base
Default
I2SIN_MASK
AS3525_I2SIN_BASE
0x00
Offset: 0x0004
Interrupt mask register
The interrupt mask register determines which status flags generate an interrupt by
setting the corresponding bit to 1.
Bit Name
reserved
I2SIN_MASK_PUER
I2SIN_MASK_POE
I2SIN_MASK_POAE
I2SIN_MASK_POHF
I2SIN_MASK_POAF
I2SIN_MASK_POF
I2SIN_MASK_POER
Default
0
0
0
0
0
0
0
0
Access
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit Description
stereo24_status cannot assert interrupt request
1 enables the FIFO PUSH error interrupt
1 enables the FIFO POP is empty interrupt
1 enables the FIFO POP is almost empty interrupt
1 enables the FIFO POP is half full interrupt
1 enables the FIFO POP is almost full interrupt
1 enables the FIFO POP is full interrupt
1 enables the FIFO POP error interrupt
Table 31 I2S Input raw status register
Name
Base
Default
I2SIN_RAW_STATUS
AS3525_I2SIN_BASE
0x00
Offset: 0x0008
Raw status register
The read-only raw status register contains the actual bit values as reflected by the
FIFO controller status signals. I2SIN_PUER and I2SIN_POER are static bits, since
FIFO controller gives the PUSH/POP error bit only for one clock. This means that
these two bits remain asserted until they are cleared in the I2SIN_CLEAR register.
All other bits change state depending on the underlying logic, i.e. state of FIFO
controller.
Bit
7
Bit Name
stereo24_status
Default
0
Access
R
6
5
4
3
2
1
0
I2SIN_PUER
I2SIN_POE
I2SIN_POAE
I2SIN_POHF
I2SIN_POAF
I2SIN_POF
I2SIN_POER
0
0
0
0
0
0
0
R
R
R
R
R
R
R
Bit Description
Status of write interface for 24 bit stereo mode
0: left audio sample will be transferred next
1: right audio sample will be transferred next
1 if FIFO PUSH error
1 if FIFO POP is empty
1 if FIFO POP is almost empty
1 if FIFO POP is half full
1 if FIFO POP is almost full
1 if FIFO POP is full
1 if FIFO POP error
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
51 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 32 I2S input status register
Name
Base
Default
I2SIN_STATUS
AS3525_I2SIN_BASE
0x00
Offset: 0x000C
Status register
The status register is a read-only register. A read to this register returns the value
of the raw status bits AND’ed with the corresponding mask of enable bits set in the
mask register.
Bit
7
Bit Name
stereo24_status
Default
0
Access
R
6
5
4
3
2
1
0
I2SIN_PUER
I2SIN_POE
I2SIN_POAE
I2SIN_POHF
I2SIN_POAF
I2SIN_POF
I2SIN_POER
0
0
0
0
0
0
0
R
R
R
R
R
R
R
Bit Description
Status of write interface for 24 bit stereo mode
0: left audio sample will be transferred next
1: right audio sample will be transferred next
1 if FIFO PUSH error
1 if FIFO POP is empty
1 if FIFO POP is almost empty
1 if FIFO POP is half full
1 if FIFO POP is almost full
1 if FIFO POP is full
1 if FIFO POP error
Table 33 I2S Input interrupt clear register
Name
Base
Default
I2SIN_CLEAR
AS3525_I2SIN_BASE
0x00
Offset: 0x0010
Bit
7
6
5:1
0
Bit Name
reserved
I2SIN_clear_puer
reserved
I2SIN_clear_poer
Interrupt clear register
The interrupt clear register is a write-only register. The corresponding static status
bit can be cleared by writing a 1 to the corresponding bit in the clear register. All
other interrupt flags are level interrupts depending on the status of the FIFO. The
bits are de-asserted depending on the FIFO controller.
Default
Access
W
W
W
W
Bit Description
Clear PUSH error interrupt flag
Clear POP error interrupt flag
I2SIN_DATA
The I2SINIF provides a single 32 bit wide data register. The register is used to read the audio samples from FIFO. If 14
bit mode is selected, both the left and right data are made available in the same register. Otherwise in the 24 bit mode
the left and right data are provided through the same register alternatively. The stereo24_status bit in the I2SIN_STATUS
register provides information which channel’s data will be provided next. The 14bit_mode bit in the I2SIN_CONTROL
register defines how the values are read from the FIFO.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
52 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.8.2 I2S Input Signals
The following specifications signals are given:
•
Data are valid at rising/falling edge of SCLK (depending on I2SI_CONTROL’s setting).
•
The left and right channels are indicated by the LRCK signal.
The timing diagram of the standard I2S interface signals from the ADC is shown below (Figure 27).
Figure 24 - I2S standard timing diagram
Tperiod(fsaudio) / 2
LRCK
Tperiod(fsaudio) / 2
Left Channel
Right Channel
SCLK
SDATA
24 bit
X
23
2
1
0
X
23
2
1
0
While the I2S standard states that the LRCK line changes one clock cycle before the MSB is transmitted. If the ADC sends the MSB directly after
LRCK line changes, the SDATA_valid bit in the I2SI_CONTROL register must be set.
Figure 25 - I2S standard timing diagram with SDATA valid directly after LRC changes
Tperiod(fsaudio) / 2
LRCK
Tperiod(fsaudio) / 2
Left Channel
Right Channel
SCLK
SDATA
24 bit
23
22
2
1
0
23
22
2
1
0
Assumption: The LRCK toggles every 32 clocks of SCLK.
5.3.8.3 Power Modes
The I2SINIF contains two clock domains. The PCLK domain can be turned off in the clock controller. The SCLK clock domain can be turned off
locally using the SCLK_idle bit in the I2SIN_CONTROL register. Note that the SCLK’s clock gating signal has to be synchronized with the SCLK
clock in order to guarantee correct operation.
If PCLK is turned off, no interrupt must be triggered by the I2SINIF module.
The I2SI_MCLK clock can be turned on/off in the clock generation unit.
5.3.8.4 Loopback Feature
On the AS3525 are two I2S interfaces:
ƒ
I2SOUTIF is responsible to send values to the DAC of the audio chip via I2SO_SDATA
ƒ
I2SINIF is responsible to receive audio values from ADC of the audio chip via I2SI_SDATA
In the AS3525 both SDATA signals are provided as loopback signals (I2SO_FSDATA, I2SI_FSDATA):
ƒ
I2SO_SDATA to I2SINIF: This loopback is mainly for testing the transmit and receive paths of both I2S
interfaces. The loopback signal is called I2SO_FSDATA.
ƒ
I2SI_SDATA to I2SOUTIF: This loopback feature allows the application to echo the input audio samples directly
to a loudspeaker. The signal provided by the I2SINIF is called I2SI_FSDATA.
In normal mode the I2SINIF pushes audio values into the FIFO based on the I2SI_SDATA signal. If the loopback feature is enabled, the
sdata_source bit in the control register must be set to 3. The FIFO content is filled with audio values send by the I2SOUTIF (signal I2SO_FSDATA).
NOTE: This feature will only be available if SCLK is the same for I2S input and output interface. For implementation the I2SO_FSDATA signal is
simply routed through a multiplexer to the I2SI_SDATA interface.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
53 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.8.5 DMA Interface
The I2SINIF supports DMA transfers. The DMA controller supports incrementing and non-incrementing (single address) addressing for source and
destination. For I2SINIF the single-address mode is used. The address of the I2SI_DATA register is used as DMA source address.
5.3.8.6 The 24 bit Stereo DMA Mode
In 24 bit stereo mode, right and left audio samples must be read separately from the FIFO. In single-address DMA-mode both data must be read
from the same address. The I2SINIF is responsible to split up the 48 bit FIFO entries into two 24 bit samples. The 24 bit value can then be
transferred via the 32 bit wide AMBA bus.
The I2SINIF provides the data in a specific order: first the left value is sent, and afterwards the right value is provided. Then a left value follows, and
so on. In the destination memory the words are stored incrementally as shown below.
Address
Value
addr 0
LDATA 0
addr 1
RDATA 0
addr 2
LDATA 1
addr 3
RDATA 1
…
…
addr n*2
LDATA n
addr n*2+1
RDATA n
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
54 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.9 SPDIF interface
As part of the I2SIN module also a SPDIF receiver interface is included. This SPDIF interface works as converter from SPDIF-AES/EBU to I2S.
The SPDIF-AES/EBU standard is a serial audio interface that conveys 2 time-multiplexed audio channels, the left and right channels, as is the case
in audio stereo transmission. The two channels are encoded in a 64-bit frame. Each individual channel is encoded in a sub-frame that consists of a
4-bit preamble, followed by 24 bits of audio data and 4 control bits, in a total of 32 bits per sub-frame. The SPDIF-AES/EBU standard provides for
LSB first, up to 24-bit audio samples, Samples of 20 bits or less may be used, in which case the 4 least significant bits may be used for a 12-bit
monitoring channel, transmitted at 1/3 of the sample rate. Please refer to the SPDIF-AES/EBU, AES3 or IEC958 standard documentation for more
information.
Features
•
•
•
•
•
Feed-forward operation: extracts audio data from the SPDIF-AES/EBU input signal by sampling it with a fast clock
signal which not necessarily related to the sample rate frequency
Purely digital receiver solution, without need of an input PLL for synchronisation.
The audio samples are output serially in I2S format.
PLL interface to filter out the jitter and generate a jitter-free I2S output.
Recognizes all common audio and video related sample frequencies and outputs a nibble code for each.
5.3.9.1 SPDIF register description
Table 34 SPDIF status register
Name
Base
Default
I2SIN_SPDIF_STATUS
AS3525_I2SIN_BASE
0x00
Offset: 0x0018
Bit
4:1
0
Bit Name
spdif_sample_freq
spdif_sync
SPDIF status signals register
This read-only register contains status information of the SPDIF interface. The
spdif_sample_freq and spdif_sync status bits are directly derived from the SPDIF
converter. In order to provide valid status bits, these signals must be synchronized
with pclk, i.e. clk_i2sin.
Default
Access
R
R
Bit Description
Incoming sample frequency
Recognition of sub-frame preamble
0: first sub-frame preamble not recognized
1: successful recognition of the first sub-frame preamble
The following table shows the input sample rate in KHz according to the sample_freq_code (bit 5 to 1) in the I2SIN_SPDIF register.
sample_freq_code
Input Sample Rate (KHz)
0001
22.050
0010
24.000
0011
32.000
0100
44.100
0101
48.000
0110
64.000
0111
88.200
1000
96.000
1001
176.400
1010
192.000
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
55 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.10 I2SOUT - I2S output interface
The I2S output interface module (called I2SOUTIF module hereafter) is used to connect the processor system to an audio DAC. The
communication is based on the standardized I2S interface. The audio samples are transferred from the processor to the I2SOUTIF module using
the AMBA APB bus. A FIFO for 128 dual-channel audio samples is provided as a data buffer. Furthermore, the module provides a set of data,
control and status registers.
The I2SOUTIF provides the following features:
•
•
•
•
•
•
•
two independent clock domains: AMBA APB clock PCLK, I2S output clock i2so_mclk
FIFO (128 words with 36 bit) separating clock domains
support of 16 and 18 bit audio samples
clock generator for I2S clocks (LCLK, I2SO_SCLK)
support of several oversampling rates: 128x, 256x, 512x
interrupt support for FIFO data write
DMA support for FIFO data transfer
For data output, following modes are implemented:
•
•
•
•
two 18 bit audio samples, one for each channel (R,L). The values are written to I2SO_DATA.
two 16 bit audio samples, one for each channel (R,L). Both values are written to the 32-bit wide I2SO_DATA register
at the same time. This mode is highly efficient for 32-bit processor architectures.
one 18 bit mono audio sample; the sample is used for both channels (R and L). The value is written to the
I2SO_DATA.
one 16 bit mono audio sample; the sample is used for both channels (R and L). The value is written to the
I2SO_DATA.
Figure 26 I2SO Block Diagram
5.3.10.1 I2S Output Interface Registers
Table 35
I2S Output Interface Registers
Register Name
Base Address
Offset
Note
I2SOUT_CONTROL
AS3525_I2SOUT_BASE
0x0000
Control register
I2SOUT_MASK
AS3525_I2SOUT_BASE
0x0004
Interrupt mask register
I2SOUT_RAW_STATUS
AS3525_I2SOUT_BASE
0x0008
Raw status register
I2SOUT_STATUS
AS3525_I2SOUT_BASE
0x000C
Status register
I2SOUT_CLEAR
AS3525_I2SOUT_BASE
0x0010
Interrupt clear register
I2SOUT_DATA
AS3525_I2SOUT_BASE
0x0014
Audio data register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
56 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 36 I2SOUT control register
Name
Base
Default
I2SOUT_CONTROL
AS3525_I2SOUT_BASE
0x0C
Offset: 0x0000
Control register
7 bit wide read/write register containing the control bits of the I2SOUTIF.
Bit
6
Bit Name
DMA_req_en
Default
0
Access
R/W
5
sdata_lb
0
R/W
4
mclk_invert
0
R/W
3
stereo_mode
1
R/W
2
18bit_mode
1
R/W
1,0
osr
00
R/W
Bit Description
DMA request enable
0: disable
1: enable
I2SDATA loopback from I2SINIF
0: I2SOUT_SDATA source is I2SOUTIF’s FIFO
1: I2SOUT_SDATA source is loopback value from I2SINIF
(signal I2SIN_FDATA)
Invert MCLK
0: disable (SCLK changes at MCLK’s falling edge)
1: enable (SCLK changes at MCLK’s rising edge)
Audio samples provided by processor
0: mono
1: stereo
Bit width of audio samples provided by processor
0: 16 bit
1: 18 bit
Oversampling rate
00: 128x
01: 256x
10: 512x
11: 128x
CAUTION: The control bit sdata_lb can only be set, if the I2SIN_FSDATA is synchronous to I2SOUT_SCLK. This is the case if AFE is used
together with the AS3525 (in this case the I2SINIF uses also I2SOUT_CLK).
Table 37 I2S Output mask register
Bit
7
6
5
4
3
2
1
0
Name
Base
Default
I2SOUT_MASK
AS3525_I2SOUT_BASE
0x00
Offset: 0x0004
Interrupt mask register
The interrupt mask register determines which status flags generate an interrupt by
setting the corresponding bit to 1.
Bit Name
reserved
I2SOUT_MASK_POER
I2SOUT_MASK_PUE
I2SOUT_MASK_PUAE
I2SOUT_MASK_PUHF
I2SOUT_MASK_PUAF
I2SOUT_MASK_PUF
I2SOUT_MASK_PUER
Default
0
0
0
0
0
0
0
0
Access
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit Description
stereo18_status cannot assert interrupt request
1 enables the FIFO POP error interrupt
1 enables the FIFO PUSH is empty interrupt
1 enables the FIFO PUSH is almost empty interrupt
1 enables the FIFO PUSH is half full interrupt
1 enables the FIFO PUSH is almost full interrupt
1 enables the FIFO PUSH is full interrupt
1 enables the FIFO PUSH error interrupt
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
57 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 38 I2S output raw status register
Name
Base
Default
I2SOUT_RAW_STATUS
AS3525_I2SOUT_BASE
0x00
Offset: 0x0008
Raw status register
The read-only raw status register contains the actual bit values as reflected by the
FIFO controller status signals. I2SOUT_POER and I2SOUT_PUER are static bits,
since FIFO controller gives the PUSH/POP error bit only for one clock. This means
that these two bits remain asserted until they are cleared in the I2SOUT_CLEAR
register. All other bits change state depending on the underlying logic, i.e. state of
FIFO controller.
Bit
7
Bit Name
stereo18_status
Default
0
Access
R
6
5
4
3
2
1
0
I2SOUT_POER
I2SOUT_PUE
I2SOUT_PUAE
I2SOUT_PUHF
I2SOUT_PUAF
I2SOUT_PUF
I2SOUT_PUER
0
0
0
0
0
0
0
R
R
R
R
R
R
R
Bit Description
Status of write interface for 18 bit stereo mode
0: left audio sample is expected next
1: right audio sample is expected next
1 if FIFO POP error
1 if FIFO PUSH is empty
1 if FIFO PUSH is almost empty
1 if FIFO PUSH is half full
1 if FIFO PUSH is almost full
1 if FIFO PUSH is full
1 if FIFO PUSH error
Table 39 I2S output status register
Name
Base
Default
I2SOUT_STATUS
AS3525_I2SOUT_BASE
0x00
Offset: 0x000C
Status register
The status register is a read-only register. A read to this register returns the value
of the raw status bits AND’ed with the corresponding mask of enable bits set in the
mask register.
Bit
7
Bit Name
stereo18_status
Default
0
Access
R
6
5
4
3
2
1
0
I2SOUT_POER
I2SOUT_PUE
I2SOUT_PUAE
I2SOUT_PUHF
I2SOUT_PUAF
I2SOUT_PUF
I2SOUT_PUER
0
0
0
0
0
0
0
R
R
R
R
R
R
R
Bit Description
Status of write interface for 18 bit stereo mode
0: left audio sample is expected next
1: right audio sample is expected next
1 if FIFO POP error
1 if FIFO PUSH is empty
1 if FIFO PUSH is almost empty
1 if FIFO PUSH is half full
1 if FIFO PUSH is almost full
1 if FIFO PUSH is full
1 if FIFO PUSH error
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
58 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 40
I2S output interrupt clear register
Name
Base
Default
I2SOUT_CLEAR
AS3525_I2SOUT_BASE
0x00
Interrupt clear register
The interrupt clear register is a write-only register. The corresponding static status
bit can be cleared by writing a 1 to the corresponding bit in the clear register. All
other interrupt flags are level interrupts depending on the status of the FIFO. The
bits are de-asserted depending on the FIFO controller.
Offset: 0x0010
Bit
7
6
5:1
0
Bit Name
reserved
I2SOUT_clear_poer
reserved
I2SOUT_clear_puer
Default
Access
W
W
W
W
Bit Description
Clear POP error interrupt flag
Clear PUSH error interrupt flag
I2SOUT_DATA
The I2SOUTIF provides two 32 bit wide data registers. The registers are used to store the audio samples before they are written to the FIFO. The
registers can be used in different modes depending on the setting of the I2SOUT_CONTROL register.
Basically, there are four ways to fill the FIFO.
The processor can provide
•
two 18 bit audio samples, one for each channel (R,L). The values are written to I2SOUT_DATA.
•
two 16 bit audio samples, one for each channel (R,L). Both values are written to the 32-bit wide I2SOUT_DATA
register at the same time. This mode is highly efficient for 32-bit processor architectures.
one 18 bit mono audio sample; the sample is used for both channels (R and L). The value is written to the
I2SOUT_DATA.
•
•
one 16 bit mono audio sample; the sample is used for both channels (R and L). The value is written to the
I2SOUT_DATA.
In 18 bit stereo mode the data in I2SOUT_DATA is interpreted either as left or right audio value. The stereo18_status bit in the I2SOUT_STATUS
register provides the information which channel’s audio sample is expected next.
The I2S Output Signals
The following specifications signals are given:
•
Data are valid at the rising edge of I2SO_SCLK.
•
The MSB is left justified to the I2S frame identification (I2SO_LRCK). According to standard I2S definition, a delay of
one clock cycle between transition of I2SO_LRCK and the data MSB is used.
The timing diagram of the I2S interface signals for 18bit and 16bit DAC is shown below.
Tperiod(fsaudio) / 2
Tperiod(fsaudio) / 2
I2SO_MCLK
I2SO_LRCK
Left Channel
Right Channel
I2SO_SCLK
I2SO_SDATA
16 bit
I2SO_SDATA
18 bit
15
2
17
1
0
2
15
1
0
17
2
1
0
2
1
0
Figure 27 - I2S output timing diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
59 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
For the relationship of the clocks following constraints must be met:
•
LRCK must change with the falling edge of MCLK while MCLK is low (constrained should be set to 40 % of the MCLK period, see figure
below).
•
SDATA must change at the falling edge of SCLK. It will be read with the rising edge of SCLK.
Figure 28 Clock constraints
I2SO_MCLK
I2SO_LRCK
Lrck must change with falling edge,
within 40 % of MCLK period
I2SO_SCLK
Sampling of I2S data by Cello IF with rising edge of SCLK
I2SO_SDATA
L15
L14
R15
R14
5.3.10.2 Power Modes
The I2SOUTIF contains two clock domains. Each clock domain can be turned off separately. The I2SO_MCLK must be turned off in the global
clock controller register. This is necessary, as the audio chip requires I2SO_MCLK and I2SO_SCLK not only for I2S output, but also I2S input (see
I2SINIF).
PCLK Idle Mode
If the PCLK is turned off (by the clock controller) the I2SOUT_STATUS register can hold invalid data. However, no interrupt should be triggered if
the I2SOUTIF is in idle mode.
I2SO_MCLK Idle Mode
If I2SO_MCLK is disabled (by the clock controller) no audio samples are read from the FIFO. The output signals remain unchanged until the
I2SO_MCLK is enabled again.
5.3.10.3 Loopback Feature
On the AS3525 are two I2S interfaces:
•
I2SOUTIF is responsible to send values to the DAC of the audio chip via I2SO_SDATA
•
I2SINIF is responsible to receive audio values from ADC of the audio chip via I2SI_SDATA
In the AS3525 both SDATA signals are provided as loopback signals (I2SO_FSDATA, I2SI_FSDATA):
•
•
I2SO_SDATA to I2SINIF: This loopback is mainly for testing the transmission and reception paths of both I2S
interfaces. The loopback signal is called I2SO_FSDATA.
I2SI_SDATA to I2SOUTIF: This loopback feature allows the application to echo the input audio samples directly to a
loudspeaker. The signal provided by the I2SINIF is called I2SI_FSDATA.
In normal mode the I2SOUTIF generates the I2SO_SDATA signal based on the contents of the FIFO. If the loop back feature is enabled, the
SDATA_LB bit in the I2SOUT_CONTROL register must be set.
NOTE: This feature will only be available if SCLK is the same for I2S input and output interface. For implementation the I2SI_FSDATA signal is
simply routed through a multiplexer to the I2SO_SDATA interface.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
60 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.10.4 DMA Interface
The I2SOUTIF supports DMA transfers. The DMA controller supports incrementing and non-incrementing (single address) addressing for source
and destination. For I2SOUTIF the single-address mode is used. The address of the I2SOUT_DATA register is used as DMA destination address.
Stereo 18 bit DMA Mode
In 18 bit stereo mode, right and left audio samples must be transferred separately to the FIFO. In single-address DMA-mode both data must be
written to the same address. The I2SOUTIF is responsible to put the two 18 bit samples together to a 36 bit word. This word is written into the 36 bit
wide FIFO.
The I2SOUTIF requires a specific ordering of the samples written to the I2SOUT_DATA register: first the left value must be written, and afterwards
the DMA controller must write the right value. Then a left value can follow, a.s.o. The status bit stereo18_status shows which audio sample is
expected.
In order to set up a correct DMA transfer the values must be placed in the source memory as follows:
Address
Value
addr 0
LDATA 0
addr 1
RDATA 0
addr 2
LDATA 1
addr 3
RDATA 1
…
…
addr n*2
LDATA n
addr n*2+1
RDATA n
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
61 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.3.11 NAND Flash Interface
The NAND FLASH interface module enables control of NAND flash devices. The design follows the hardware reference implementation described
in SMIL (SmartMediaTM Interface Library), Hardware Edition 1.00, TOSHIBA Corporation, but has extensions to support the latest generation of
NAND flash devices.
Programming and Reading can be done either by direct access to/from data register (normal mode) or by using a FIFO (burst mode). NAF supports
8-bit and 16-bit transfers.
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
interface compliant to AMBA APB bus
generation of interrupt request signal with several maskable interrupt sources (ready, empty, almost_empty…)
hardware error detection (2 detect, 1 correct per 256 bytes block) for up to 8 *256 bytes (up to 24 ECC bytes)
8-bit and 16-bit transfer Mode fore X8/X16 devices
big endian / little endian support
DMA Mode
Normal Mode
Data/Mode/Status Register
write/read on/from data register automatically generates read/write strobes
Burst Transfer
36 x 32 bit FIFO for DMA/burst support
read- & write controller for automatic data resizing (32bit <=> 8/16bit) and read/write control
configurable strobe (low and high time) for higher PCLK clocks / lower speed NAND Flash devices
little endian/ big endian selectable
load interrupts when FIFO is ‘almost_empty’ & ’almost_full’ to ensure continuous data flow
Figure 29 Block Diagram of NAND Flash Interface
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
62 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Figure 30 Connecting a NAND Flash
5.3.11.1 NandFlash Interface Registers
Table 41 NAF registers
Register Name
Base Address
Offset
Note
NAFCONFIG
AS3525_NAND_FLASH_BASE
0x00
Configuration register
NAFCONTROL
AS3525_NAND_FLASH_BASE
0x04
Control register
NAFECC
AS3525_NAND_FLASH_BASE
0x08
Error correction code reg
NAFDATA
AS3525_NAND_FLASH_BASE
0x0C
Data register
NAFMODE
AS3525_NAND_FLASH_BASE
0x10
Mode register
NAFSTATUS
AS3525_NAND_FLASH_BASE
0x14
Status register
NAFMASK
AS3525_NAND_FLASH_BASE
0x18
Interrupt mask register
NAFFIFODATA
AS3525_NAND_FLASH_BASE
0x1C
buffered read/write data register
NAFWORDS
AS3525_NAND_FLASH_BASE
0x20
Words register
NAFCLEAR
AS3525_NAND_FLASH_BASE
0x24
Interrupt clear register
NAFTEST
AS3525_NAND_FLASH_BASE
0x28
Test register
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
63 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 42 NAF configuration register
Name
Base
Default
NAFConfig
AS3525_NAND_FLASH_BASE
0x00
Offset 0x0000
Bit
Bit Name
NAF Configuration Register
The register is used for basic setup. 8 or 16-bit data width, little or big endian can
be selected. DMA and FIFO on/off can be controlled as well as duty cycle and
duration of read & write signals.
Default
Access
0x00
R/W
Bit Description
low time (# of PCLK cycles + 1) of the output ‘naf_we_n’
(e.g. a value of 1 will keep naf_we_n at ‘0’ for 3 PCLK
cycles during write)
19:16
write_strobe_low [3:0]
15:12
write_strobe_high [3:0]
0x00
R/W
high time (# of PCLK cycles + 2) of the output ‘naf_we_n’
(e.g. a value of 0 will keep naf_we_n at ‘1’ for 2 PCLK
cycles during write)
11:8
read_strobe_low [3:0]
0x00
R/W
low time (# of PCLK cycles + 1) of the output ‘naf_re_n’
(e.g. a value of 2 will keep naf_re_n at ‘0’ for 3 PCLK cycles
during read)
7:4
read_strobe_high [3:0]
0x00
R/W
high time (# of PCLK cycles + 2) of the output ‘naf_re_n’
(e.g. a value of 0 will keep naf_re_n at ‘1’ for 2 PCLK cycles
during read)
3
dma_on
0x0
R/W
0: DMA is disabled and all DMA request signals are tied to
1: DMA is enabled
2
fifo_staticreset_n
0x0
R/W
0: FIFO is reset
1: FIFO is enabled
1
big_endian
0x0
R/W
0: little endian (FIFO data word will be processed in the
order word(7:0), word(15:8), word(23:16) and word(31:24)
when x16_device is 0; word(15:0) and word(31:16) when
x16_device is 1
1: big endian (FIFO data word will be processed in the order
word(31:24), word(23:16), word(15:8) and word(7:0) when
x16_device is 0; word(31:16) and word(15:0) when
x16_device is 1
Note: big_endian is only supported for r/w access through
register NAFFifodata
0
x16_device
0x0
R/W
0: X8 Device (for NAND flash with 8-bit data bus)
1: X16 Device (for NAND flash with 16-bit data bus)
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
64 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 43 NAF control register
Name
Base
Default
NAFControl
AS3525_NAND_FLASH_BASE
0x2
Offset 0x0004
Bit
Bit Name
NAFControl Register
The NAFControl register controls read access and FIFO dynamic reset.
Default
Access
Bit Description
1
read_strobe
0x1
W
1: triggers a FIFO reset pulse (when NAFConfig bit
‘fifo_staticreset_n’ is 1) The bit is cleared automatically in the
next PCLK cycle.
0
fifo_reset_strobe
0x1
W
1: triggers one single read cycle on output ‘naf_re_n’. The bit
is cleared automatically in the next PCLK cycle.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
65 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 44 NAF error correction register
Name
Base
Default
NAFEcc
AS3525_NAND_FLASH_BASE
0x2
Offset 0x0008
Bit
32:0
Bit Name
Nafecc [32:0]
NAF Error correction code register
The NAFEcc register offers access to the error correction code registers.
Default
0x0001
Access
R
Bit Description
This register can be accessed up to 8 times and contains the
following data:
1.access => Line Parity Block1
2.access => Column Parity Block1**
3.access => Line Parity Block2
4.access => Column Parity Block2**
5.access => Line Parity Block3
6.access => Column Parity Block3**
7.access => Line Parity Block4
8.access => Column Parity Block4**
(9.access => same as 1.access)
Note: * Before access to NAFEcc registers is possible, NAFMode register has to be set to 0xd4 (after page write operation) or
to 0x54 (after page read operation). NAFEcc register contents will be cleared if NAFMode register bits 6 and 5 are both ‘1’.
** Only bits 11 to 0 are relevant for column parity, other bits are ‘0’;
The content of NAFEcc depends on the device type.
X8 (8-bit data bus) devices:
Line Parity Block1
: will contain the line
Column Parity Block1
: will contain the column
Line Parity Block2
: will contain the line
Column Parity Block2
: will contain the column
Line Parity Block3
: will contain the line
Column Parity Block3
: will contain the column
Line Parity Block4
: will contain the line
Column Parity Block4
: will contain the column
parity of byte 1 to 512 (after 512 r/w cycles)
parity of byte 1 to 512 (after 512 r/w cycles)
parity of byte 513 to 1024 (after 1024 r/w cycles)
parity of byte 513 to 1024 (after 1024 r/w cycles)
parity of byte 1025 to 1536 (after 1536 r/w cycles)
parity of byte 1025 to 1536 (after 1536 r/w cycles)
parity of byte 1537 to 2048 (after 2048 r/w cycles)
parity of byte 1537 to 2048 (after 2048 r/w cycles)
X16 (16-bit data bus) devices:
Line Parity Block1
: will contain the line
Column Parity Block1
: will contain the column
Line Parity Block2
: will contain the line
Column Parity Block2
: will contain the column
Line Parity Block3
: will contain the line
Column Parity Block3
: will contain the column
Line Parity Block4
: will contain the line
Column Parity Block4
: will contain the column
parity of halfword(7:0) 1 to 512 (after 512 r/w cycles)
parity of halfword(7:0) 1 to 512 (after 512 r/w cycles)
parity of halfword(15:8) 1 to 512 (after 512 r/w cycles)
parity of halfword(15:8) 1 to 512 (after 512 r/w cycles)
parity of halfword(7:0) 513 to 1024 (after 1024 r/w cycles)
parity of halfword(7:0) 513 to 1024 (after 1024 r/w cycles)
parity of halfword(15:8) 513 to 1024 (after 1024 r/w cycles)
parity of halfword(15:8) 513 to 1024 (after 1024 r/w cycles)
Note: Read ECC is not performed in unbuffered READ mode (this means when CPU accesses the Nand Flash
through the NAF_DATA registers)
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
66 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 45 NAF data register
Name
Base
Default
NAFData
AS3525_NAND_FLASH_BASE
0x0000
Offset 0x000C
Bit
15:0
Bit Name
NAFData
Data Register
The NAFData register offers unbuffered access to the data bus of the NAND flash
device.
Default
Access
0x01
R/W
Bit Description
For X8 devices (8-bit data bus) only bits 7:0 are relevant, other
bits are ignored
For X16 devices (16-bit data bus) all are relevant
Table 46 NAF mode register
Name
Base
Default
NAFMode
AS3525_NAND_FLASH_BASE
0x00
Offset 0x0010
Bit
Bit Name
Mode register
The NAFMode register controls NAND flash read/write/erase procedures.
Default
Access
Bit Description
7
write protection
0x0
R/W
Used to control ‘command latch enable’
0: output ‘naf_cle’ is set to ‘0’
1: output ‘naf_cle’ is set to ‘1’ (Command Latch Cycle)
6:5
Ecc [1:0]
0x0
R/W
controls ‘address latch enable’
0: output ‘naf_ale’ is set to ‘0’
1: output ‘naf_ale’ is set to ‘1’ (Address Latch Cycle)
4
ce
0x0
R/W
0: power off (all output enable signals are turned off)
1: power on
3
-
0x0
R/W
always ‘0’
2
power_on
0x0
R/W
0: power off (all output enable signals are turned off)
1: power on
1
ale
0x0
R/W
controls ‘address latch enable’
0: output ‘naf_ale’ is set to ‘0’
1: output ‘naf_ale’ is set to ‘1’ (Address Latch Cycle)
0
Cle
0x0
R/W
controls ‘command latch enable’
0: output ‘naf_cle’ is set to ‘0’
1: output ‘naf_cle’ is set to ‘1’ (Command Latch Cycle)
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
67 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 47 NAF status register
Name
Base
Default
NAFStatus
AS3525_NAND_FLASH_BASE
-
Offset 0x0014
Bit
Bit Name
Status Register
The NAFStatus register contains information on the internal status.
Defau
lt
Access
Bit Description
13
fifo_error
0x0
R
FIFO error signal
0: if FIFO is reset
1: if FIFO contains 36 words and FIFO push(write) has
occurred or when FIFO contains 0 words and a FIFO pop(read)
has occurred. The FIFO error will lock the FIFO and has to be
reset by a reset of the FIFO (by setting NAFControl register bit
1 to ‘1’)
12
fifo_full
0x0
R
FIFO full signal
0: if FIFO contains less than 36 words
1: if FIFO contains 36 words
11
fifo_almost_full
0x0
R
FIFO almost_full signal
0: if FIFO contains less than 32 words
1: if FIFO contains more than or equal 32 words
10
fifo_almost_empty
0x0
R
FIFO almost_empty signal
0: if FIFO contains more than 4 words
1: if FIFO contains less than or equal 4 words
9
fifo_empty
0x0
R
FIFO empty signal
0: if FIFO contains more than 0 words
1: = when FIFO contains 0 words
8
strobe_ready
0x0
R
read/write strobe ready signal
0: if read/write strobe ‘0’ (strobe active)
1: if read/write strobe ‘1’ (strobe inactive)
7
flash_ready
0x0
R
synchronised NAND flash ready signal
0: if synchronised input ‘naf_busy_in_n’ is ‘0’ (busy)
1: if synchronised input ‘naf_busy_in_n’ is ‘1’ (ready)
6
got_fifo_error
0x0
R
FIFO error indication (edge triggered)
0: if bit 6 of NAFClear register is set to ‘1’
1: if FIFO contains 36 words and FIFO push(write) occurs or
when FIFO contains 0 words and a FIFO pop(read) occurs.
5
got_fifo_full
0x0
R
FIFO full indication (edge triggered)
0: if bit 5 of NAFClear register is set to ‘1’
1: if FIFO contains 36.
4
got_fifo_high
0x0
R
3
got_fifo_low
0x0
R
FIFO high indication (edge triggered)
0: if bit 4 of NAFClear register is set to ‘1’
1: if FIFO gets full (36 words) or changes from 31 to 32 words
(and when the NAFWords register is greater than 32).
Note: When this bit gets ‘1’ during ‘Page Read’ mode, a new
FIFO burst read of up to 32 words is possible.
FIFO low indication (edge triggered)
0: if bit 3 of NAFClear register is set to ‘1’
1: if FIFO gets empty or changes from 5 to 4 words (and when
the NAND Flash requires more than 32 bytes/halfwords).
Note: When this bit gets ‘1’ during ‘Page Programming’ mode,
a new FIFO burst write of up to 32 words is possible
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
68 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Name
Base
Default
NAFStatus
AS3525_NAND_FLASH_BASE
-
Offset 0x0014
Bit
Bit Name
Status Register
The NAFStatus register contains information on the internal status.
Defau
lt
Access
2
got_empty_and_rdy
0x0
R
1
got_strobe_ready
0x0
R
0
got_flash_ready
0x0
R
Bit Description
NAFWords empty and Controller ready indication (edge
triggered)
0: when bit 2 of NAFClear register is set to ‘1’
1: when read/write strobe changes from ‘0’ to ‘1’ (end of
strobe) and NAFWords register has become empty.
Note: This bit is used to detect the end of a multiple read/write
burst transaction
Read/write strobe ready indication (edge triggered)
0: when bit 1 of NAFClear register is set to ‘1’
1: when read/write strobe changes from ‘0’ to ‘1’ (end of
strobe)
Note: read/write strobes can last from 3 to 33 PCLK cycles
depending on NAFConfig settings.
NAFWords empty and Controller ready indication (edge
triggered)
0: when bit 2 of NAFClear register is set to ‘1’
1: when read/write strobe changes from ‘0’ to ‘1’ (end of
strobe) and NAFWords register has become empty.
Note: This bit is used to detect the end of a multiple read/write
burst transaction
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
69 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 48 NAF interrupt mask register
Name
Base
Default
NAFMask
AS3525_NAND_FLASH_BASE
0x0018
Offset 0x0018
Bit
Bit Name
Interrupt Mask Register
The NAFMask register is used to mask/enable the internal interrupt requests.
Default
Access
Bit Description
6
mask6
0x1
R/W
Mask ‘FIFO error indication’ interrupt request
0: enable
1: masked
5
mask5
0x1
R/W
Mask ‘FIFO full indication’ interrupt request
0: enable
1: masked
4
mask4
0x1
R/W
Mask ‘FIFO high indication’ interrupt request
0: enable
1: masked
3
mask3
0x1
R/W
Mask ‘FIFO low indication’ interrupt request
0: enable
1: masked
2
mask2
0x1
R/W
Mask ‘NAFWords empty and Controller ready indication’
interrupt request
0: enable
1: masked
1
mask1
0x1
R/W
Mask ‘Read/write strobe ready indication’ interrupt request
0: enable
1: masked
0
mask0
0x1
R/W
Mask ‘NAND flash ready indication’ interrupt request
0: enable
1: masked
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
70 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 49 NAF FiFo Data register
Name
Base
Default
NAFFifodata
AS3525_NAND_FLASH_BASE
0x0000
Offset 0x001c
Bit
32:0
FIFO Data Register
The NAFFifodata register offers access to the internal FIFO.
Bit Name
Fifodata [32:0]
Default
-
Access
R/W
Bit Description
Writing this register will push a word on the FIFO and the write
address will be incremented by 1. When the FIFO is full (36
words) then a write access on the register is ignored and the
FIFO ERROR status bit is set.
Reading on this register will pop a word from the FIFO and the
read address will be incremented by 1. When the FIFO is
empty then a read access on the register is ignored and the
FIFO ERROR status bit is set.
Table 50 NAF interrupt mask register
Name
Base
Default
NAFWords
AS3525_NAND_FLASH_BASE
0x0000
Offset 0x0020
Bit
32:0
Bit Name
Words [32:0]
Interrupt Mask Register
The NAFWords register informs the controller about the maximum words to be
transferred and controls the FIFO transfer both in interrupt and DMA mode.
Default
Access
0x0000
R/W
Bit Description
0: FIFO based data transfer is disabled
not 0: FIFO transfer is in progress
Note: For page transfers (program or read) the initial number of words depends on the NAND flash device. For a page size of 512 bytes, an initial
word value of 512/4 = 128 has to be written. For a page size of 2k bytes, an initial word value of 512 has to be used.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
71 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 51 NAF interrupt clear register
Name
Base
Default
NAFClear
AS3525_NAND_FLASH_BASE
0x0018
Offset 0x0024
Bit
Bit Name
Clear Register
The NAFClear register clears interrupt status information and re-enables interrupt
detection.
Default
Access
6
clear6
-
W
5
clear5
-
W
4
clear4
-
W
3
clear3
-
W
2
clear2
-
W
1
clear1
-
W
0
clear0
-
W
Table 52
NAF test register
Name
Base
Default
NAFTest
AS3525_NAND_FLASH_BASE
0x0000
Offset 0x0028
Bit
Bit Description
Reset of ‘FIFO error indication’ status bit
0: no action
1: bit 6 of NAFStatus is reset and interrupt 6 detection is
enabled
Reset of ‘FIFO full indication’ status bit
0: no action
1: bit 5 of NAFStatus is reset and interrupt 5 detection is
enabled
Reset of ‘FIFO high indication’ status bit
0: no action
1: bit 4 of NAFStatus is reset and interrupt 4 detection is
enabled
Reset of ‘FIFO low indication’ status bit
0:no action
1:bit 3 of NAFStatus is reset and interrupt 3 detection is
enabled
Reset of ‘NAFWords empty and Controller ready indication’
status bit
0:no action
1:bit 2 of NAFStatus is reset and interrupt 2 detection is
enabled
Reset of ‘Read/write strobe ready indication’ status bit
0: no action
1: bit 1 of NAFStatus is reset and interrupt 1 detection is
enabled
Reset of ‘Read/write strobe ready indication’ status bit
0:no action
1: bit 0 of NAFStatus is reset and interrupt 0 detection is
enabled
Bit Name
1
datainvert
0
fifotest
Test Register
The NAFTest register is used for functional tests of the FIFO.
Default
-
Access
Bit Description
W
0: default mode
1: disables FIFO access by the internal controller => FIFO is
accessed by APB interface only
W
0: default mode
1: data word both on FIFO input and output is inverted
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
72 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.12 DBOP - Data Block Output Port
Purpose of this ARM APB peripheral module is a high-speed data output port that can support data transfer to various display controllers based on
synchronous control interfaces. Programmability of polarity and timing of the generated control signals makes it possible to support various kinds of
displays. Example of a supported display controller is the Hitachi HD77766R LCDE controller.
From the programmers point of view the DBOP module can be serviced by DMA accesses. With the large size of the data FIFO and the
programmable interrupt request conditions the overhead for SW is minimised. Simple read instructions to read for example a status register of the
LCD controller are also supported.
The usage of this cell results in a great performance boost compared to the standard ARM GPIO PrimeCell™ architecture.
Features
•
•
•
•
•
•
•
•
•
•
•
APB bus interface
support for direct memory access (DMA)
data output FIFO with 128 words (32 bit wide)
8 or 16 bit parallel data output (configurable)
4 control outputs - flexible programming of the signal waveforms with respect to polarity and timing
programmable even/odd control output generation
8 or 16 bit parallel data input register with programmable read strobe
programmable conditions for interrupt generation based on FIFO flags
usage of FIFO for simple division of APB clock domain and output clock domain
programmable data output rate in range of 0.05 to 4 MHz
APB Clock & DBOP Clocks are synchronous.
Figure 31 DBOP Block Diagram
DBOP
FiFo 128x32
Dual ported
RAM 128x32
PRESETn
PSEL
32
PENABLE
PWRITE
PADDR[11:2]
PWDATA[31:0]
Amba
APB
Interface
PRDATA[7:0]
PCLK
32
dbop_d[7:0] / xpc[7:0]
dbop_d[11:8] / xpb[7:4]
push
FiFo
push
status
Dout
register
pop
symetric FiFo
Controller
lb_select,
hb_select
FiFo
pop
status
dbop_d[15:12]
c0 / xpb[0]
Control
Signal
Generator
c1 / xpb[1]
c2 / xpb[2]
c3 / xpb[3]
Register
Block
dinStrobe
dataValid
8
Din register
din[7:0]
DBOPDMASREQ
DBOPDMABREQ
DBOPDMACLR
DMA
Interface
Interrupt
Generator
DBOPIRQ
dbop_clk
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
73 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.12.1 DBOP register definitions
Table 53 DBOP Registers
Register Name
DBOP_TIMPOL_01
DBOP_TIMPOL_23
DBOP_CTRL_REG
DBOP_STAT_REG
DBOP_DOUT_REG
DBOP_DIN_REG
Base Address
AS3525_DBOP_BASE
AS3525_DBOP_BASE
AS3525_DBOP_BASE
AS3525_DBOP_BASE
AS3525_DBOP_BASE
AS3525_DBOP_BASE
Offset
0x00
0x04
0x08
0x0C
0x10
0x14
Note
Timing and polarity for control 0 and 1
Timing and polarity for control 1 and 2
Control Register
Status Register
Data output register
Data input register
Timing & Polarity Control register TPC01
This register contains all information necessary for definition of control signals C0 and C1.
Table 54 DBOP control registers C0 and C1
Register
bits
31
30
29
28:24
23:19
18
17
16
15
14
13
12:8
7:3
2
1
0
Name
c1_p0
c1_p1
c1_p2
c1_t1
c1_t2
c1_ev
c1_od
c1_qs
c0_p0
c0_p1
c0_p2
c0_t1
c0_t2
c0_ev
c0_od
c0_qs
type
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
function
polarity 1
polarity 2
polarity 3
Time 1
Time 2
even enable
odd enable
quiescent state
polarity 1
polarity 2
polarity 3
Time 1
Time 2
even enable
odd enable
quiescent state
default
value
0
1
0
0xA
0x14
1
1
0
0
1
0
0xA
0x14
1
1
0
Timing & Polarity Control register TPC23
This register contains all information necessary for definition of control signals C2 and C3.
Table 55 DBOP control registers C2 and C3
Register
bits
31
30
29
28:24
23:19
18
17
16
15
14
13
12:8
7:3
2
1
0
Name
c3_p0
c3_p1
c3_p2
c3_t1
c3_t2
c3_ev
c3_od
c3_qs
c2_p0
c2_p1
c2_p2
c2_t1
c2_t2
c2_ev
c2_od
c2_qs
type
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
r/w
function
polarity 1
polarity 2
polarity 3
Time 1
Time 2
even enable
odd enable
quiescent state
polarity 1
polarity 2
polarity 3
Time 1
Time 2
even enable
odd enable
quiescent state
default
value
0
1
0
0xA
0x14
1
1
0
0
1
0
0xA
0x14
1
1
0
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
74 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 56 DBOP control register
Register
bits
31:22
21
Name
type
clr_pop_err
W
20
clr_push_err
W
19
en_data
r/w
18
17
16
sdc
res_even
enw
15
14:13
function
reserved
Interrupt clear signal for
pop error interrupt
Interrupt clear signal for
push error interrupt
default
value
0
0
0
r/w
r/w
r/w
Tri-state enable for dout
bus
short count bit
reset to even cycle
enable write
strd
osm
r/w
r/w
start read
output serial mode
0
0
12
ow
r/w
output data width
0
11
ir_enable
r/w
IR enable
10
9
8
ir_po_err
ir_pu_err
ir_e_en
r/w
r/w
r/w
7
ir_ae_en
r/w
6
ir_af_en
r/w
5
4:0
ir_f_en
rs_t
r/w
r/w
IR enable on pop error
IR enable on push error
IR enable set on push
empty
IR enable set on push
almost empty
IR enabbe set on push
almost full
IR enable set on push full
read strobe time
0
0
0
Writing 1 to this bit will clear the pop
error interrupt. Writing 0 has no effect.
Writing 1 to this bit will clear the push
error interrupt. Writing 0 has no effect
.
When set, dout bus is tri-stated when
there is no active write on the bus.
when set, next output cycle is even
0: write disabled
1: write enabled
0:
1:
2:
0:
1:
0:
1:
single word out
2 serial words out
4 serial words out
8 bit data width
16 bit data width
all IR disabled
IR enabled
0
0
0
0
0
0
0x1F
Notes:
If the start read bit is issued by setting the strd bit to 1, a single read cycle is generated. After this read cycle the strd
bit is set to 0 again by HW.
If write is enabled by setting enw=1, no read is possible (strd does not cause any action).
res_even is a reset bit that defines the start of even/odd generated signals. With res_even bit set, the next output
cycle is a even cycle. Within this first even output cycle the res_even bit is set to 0 by the SW.
sdc selects the counter length for the timing generator. Default is end value of 31. With sdc set to 1, the count end
value is 15.
en_data is used as a tri-state enable for the dout bus . When set as 1, dout is tri-stated if there is no active write on
the bus . When this bit is set as 0, dout is bus is tri-stated only during the read cycle.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
75 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 57: DBOP status register
Register
bits
31:17
16
15:12
11
10
9
8
7
6
5
4
3
2
1
0
Name
rd_d_valid
Reserved
fi_pu_err
fi_pu_e
fi_pu_ae
fi_pu_hf
fi_pu_af
fi_pu_f
fi_po_err
fi_po_e
fi_po_ae
fi_po_hf
fi_po_af
fi_po_f
type
function
r
reserved
read data valid
f
r
r
r
r
r
r
r
r
r
r
r
push error
push fifo empty
push fifo almost empty
push fifo half full
push fifo almost full
push fifo full
pop error
pop fifo empty
pop fifo almost empty
pop fifo half full
pop fifo almost full
pop fifo full
default
value
The read data valid flag is cleared with every start read and set after read data strobe is issued (at read data valid 1 the
data can be readout by SW).
Data Output Register
32 bit register for data output - the data written to this register are directly written to the FiFo. Depending on the serial
output mode and the output data width, the effective register width of this register is 8, 16 or 32 bits.
Following table shows the effective data width for this register:
odw = 0
odw = 1
osm=0
8 (byte0)
16 (HW0)
osm=1
16 (byte0, byte1)
32 (HW0, HW1)
osm=2
32 (byte0, byte1, byte2, byte3)
32 (HW0, HW1)
Depending on odw,
•
either one, two or four bytes are transmitted serially for odw=0
•
or one or two half words (HW = 16 bits) are transmitted serially for odw=1.
Note that for the 8 or 16 bit width only a part of the FiFo memory is used (to keep HW design simple).
Data Input Register
16 bit data input register that holds the value of the last read cycle. It is only valid if the data valid flag is set in the status
register. No interrupt support is given, for data input the read data valid flag must be polled.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
76 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Dbop Integration Test Registers
The Dbop module is programmed to integration test mode using test control register. The integration test mode enables the user to access all the
input/output pins through the APB bus interface.
Name
DBOPITC
DBOPITIP1
DBOPITOP1
Offset
0x18
0x1C
0x20
R/W
R/W
R/W
R
Reset Value
0x00000000
0x00
0x0
Description
DBOP integration test control register
DBOP integration test input register
DBOP integration test output register
Table 58 DBOPITC test register
Register
bits
31:1
0
Name
type
iten
r/w
function
default
value
reserved
Integration test enable
1 will enable the integration test
mode
Table 59 DBOPITIP1 test register
Register
bits
31:5
4
Name
type
function
default
value
Testctrloen
r/w
3
Testdataoen
r/w
2
Testdmasreq
r/w
reserved
Test value for
out_enControl_n
Test value for
out_enData_n
Test value for DMASREQ
1
Testdmabreq
r/w
Test value for DMABREQ
0
0
testirq
r/w
Test value for interrupt
0
0
The value on this bit will be
reflected in out_enControl_n
The value on this bit will be
reflected in out_enData_n
The value on this bit will be
reflected in
DBOPDMACSREQ
The value on this bit will be
reflected in
DBOPDMACBREQ
The value on this bit will be
reflected in DBOPIRQ
0
0
Table 60 DBOPITOP1 test register
Register
bits
31:1
0
Name
Testdmaclr
type
r
function
reserved
DBOPDMACCLR test
register.
default
value
0
Read of this register will return the
value on the
DBOPDMACCLR input.
5.3.12.2 DBOP DMA Interface
This block generates all necessary interface signals with the DMAC primecell for DMA transfer. Following table gives a description of these signals.
DBOPDMASREQ
DBOPDMABREQ
DBOPDMACLR
single word request, asserted by DBOP. This signal is asserted when there is at least one
empty location in the FiFo
burst DMA transfer request, asserted by DBOP. This signal is asserted when there are at
least four empty locations in the FiFo
DMA request clear, asserted by DMA controller to clear the DMA request signals. If DMA
burst transfer is requested, the clear signal is asserted during the transfer of the last data
in the burst
Symmetric FiFo
The FiFo buffer has two main purposes:
•
data buffering: the FiFo contains 128 locations with 32 bits for data storage: with according DMA transfer, the data can be transferred in short
time without need for any SW control
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
77 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
•
clock domain crossing: the FiFo is at the boarder of clock domain PCLK and DBOPCLK. All necessary synchronisation is done internally. All
flags are available as push flags (synchronised to the push clock PCLK) and pop flags (synchronised to the POP clk, which is synchronous to
DBOPCLK.
The FiFo controller gives empty, almost empty, half full, almost full and full flags which are available in two fashions: synchronous to the push or the
pop side (pop_empty, push_empty, …).
5.3.12.3 Control Signal Generator
Four independent control signals can be generated: typical application for such signals is a 80xx interface with RS, RD*, WR* and E or a 68xx
interface with RS, E, RWN. The idea of this control signal generator is a general-purpose block, which generates any signal timing/waveform that is
necessary to transfer the data to any specific display.
Polarity Parameters
For each of the control signals c0 - c3 following polarity parameters are defined:
•
•
•
p0 … polarity 0 at start of cycle
p1 … polarity 1 following polarity 0
p2 … polarity 2 following polarity 1
Following figure shows an example for timing waveforms defined with these control parameters.
Figure 32 DBOP timing waveform
Tperiod
T1
T2
D1
T1
T2
D2
P0, P1, P2 = 000
Static 0
P0, P1, P2 = 001
NRZ 1
P0, P1, P2 = 010
RZ 1
P0, P1, P2 = 011
NRZ 1
P0, P1, P2 = 100
RZ 1
P0, P1, P2 = 101
RO 1
P0, P1, P2 = 110
RZ 1
P0, P1, P2 = 111
Static 1
Quiescent State
The control signals are only generated with each data output cycle (data output cycles are generated as long as the FiFo is not empty). With FiFo
empty and in the absence of a read cycle, all control signals are set to a quiescent state. For each control signal, this quiescent state can be
programmed either to 1 or 0.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
78 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Timing Parameters
Also the time points for change from p0-p1 (t1) and p1-p2 (t2) can be programmed. For these programmable timing parameters each data output
cycle is divided into 32 steps. Both T1 and T2 can be in the range of 0 to 31. For short count bit set (sdc bit in control register), T1 and T2 must be
in the range of 0 to 15.
Figure 33 DBOP timing parameters
dout
D0
Tperiod
0
10
20
30
P0, P1, P2 = 0,1,0; T1=6, T2=10
P0, P1, P2 = 1,0,1; T1=14, T2=28
P0, P1, P2 = 0,0,1; T1<21, T2=21
dinStrobe; TS = 24
Even/odd generated signals
In addition to these timing parameters, signals can also be programmed to go active only during the even (0, 2, 4, …) or the odd cycles (1, 3, 5, …).
For example the indication of even/odd bytes for the case that two bytes in serial are transmitted can be used.
Two control bits are used to set this signal behaviour:
evenEnable, oddEnable. For default, both are set to 1 and both cycles will appear. For cases where even or odd should be omitted, set according
evenEnable/oddEnable to 0. With both set to 0, no cycles will appear at the output!
Following example illustrates a typical waveform for an output interface where the evenEnable=0 and oddEnable=1 for control signal C2. In this
example, C2 is an active high indication of the high byte (D1, D3, D5, …).
Figure 34 DBOP even/odd generated signals waveforms
quiescent state
dout
xx
quiescent state
even
odd
even
D0
D1
D2
odd
D3
even
D4
odd
D5
C0 = write
C1 = enable
C2 = high byte
C3 = chip select
Normally the even/odd cycles are toggling all the time, also if there are quiescent states in between. To have the possibility of defining a new start,
reset of this even/odd counter can be done via the res_even bit inside of the control register. With res_even set, the counter starts with an even
cycle. Res_even is then set to 0 again by SW at the new start.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
79 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Input strobe generation
In addition to the generation of the control signals, also an input strobe signal dinStrobe is generated within the control signal generator. With active
dinStrobe, the input data are strobed with rising clock edge (see DIN register).
5.3.12.4 Data Output Register
The data output register handles different output widths and serial output mode (selected by parameters osm and odw). Following diagram
illustrates the function of the data output register.
Table 61 DBOP data output register
high byte select
Dout[15:7]
data output register
dout_reg[31:0]
D3
D2
D1
D0
Dout[7:0]
low byte select
The control part generates the according signals for low byte select and high byte select.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
80 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.12.5 DIN register
With the dinStrobe, data are written to the DIN register. This gives a simple mechanism, in which for example the status data can be read from a
LCD display interface.
To do a data read, first the START READ (strd) bit is programmed into the control register. With START READ, the control signal generator starts
to generate one cycle with the according control signals. Data are strobed by the programmed strobe time into the din register. After the cycle is
completed the HW resets the strd bit to 0. With set of the strd bit, the rd_data_valid bit is also reseted.
The SW just has to poll the rd_data_valid bit, when the bit gets set the input data can be read from the din register. After read cycle, the control
signal generator returns to the quiescent state.
Following timing diagram shows an example of three read cycles.
Figure 35 DBOP read cycle example
Read cycle 0
Read cycle 1
Read cycle 2
C0 (= read_n)
Data input
xx
D0
D1
D2
Read strobe
DIN register
D0
D1
D2
strd
rd_data_valid
Note: Be aware that the read cycle should only be activated when there is no active write cycle (FiFo is empty). Otherwise the results of such action
get unpredictable.
For any read cycle, the write enable bit must be set to 0 (write disabled).
start read
(strd)
0
0
0
0
1
1
1
1
write enable
(wen)
0
0
1
1
0
0
1
1
FiFo empty
Status
0
1
0
1
0
1
0
1
DBOP function
quiescent
quiescent
valid write
quiescent
valid read
valid read
valid write
quiescent
5.3.12.6 Interrupt Generator
Depending on the FiFo Status, an interrupt request can be generated. The conditions that cause an interrupt are set within the control register.
The interrupt output DBOPIRQ is active high.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
81 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.12.7 Clock frequencies
The input clock is directly taken from the PCLK clock. A programmable prescaler is implemented within the CGU. Input clock for the prescaler is in
the range of 20 - 60 MHz.
Programmable division factors for the prescaler in the range of 1 to 8. Input clock to the module is in the range of 2.5 to 60 MHz.
Within the module the control signal generator is doing a division by 16 or 32 (selectable). So the effective output data rates are in the range of 1.25
to 4 MHz for maximum performance and can be scaled down in the range of 0.07 to 0.25 MHz.
Figure 36 DBOP data rate
C0
PCLK
(APB clock)
Clock
prescaler
(inside
CGU)
clk_dbop
predivider 1 to 8
c1
Control
signal
generator
c2
c3
Divider /16 or /32
Output data rate
4.06 MHz
65 MHz
...
20 MHz
65 MHz
8.125 MHz
0.25 MHz
20 MHz
2.5 MHz
1.25 MHz
0.07 MHz
Time constraining for the module should be done with 65 MHz, if there is a demand the time constraints for the output pads can be reduced.
5.3.12.8
Interface with GPIO PINs / additional PINs
For the SW, the usage of either ARM primecell GPIO ports or DBOP port can be configured with the GPIOAFSEL registers.
Following IO ports are used for the basic 8 bit interface
xpc[7:0]
xpb[3:0]
for dout[7:0] and din[7:0]
for {C3, C2, C1, C0}
Following IO ports are used for the optional 16 bit interface
xpb[7:4]
dbop_d[15:12]
for dout[11:8] and din[11:8]
for dout[15:12] and din[15:12]
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
82 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.3.13 UART – Universal Asynchronous Receiver/Transmitter
The UART is a Universal Asynchronous Receiver Transmitter compatible to industry standard 16550 with APB slave interface. This UART provides
FIFO based transmitter-receiver pair with programmable Baud-rate, character widths and parity encoding. Status and error information is also
provided by the design. Maximum baud rate supported by this UART is 1Mbps for input clock of 16MHz.
Features
•
•
•
•
•
•
•
•
•
Compliance to Industry Standard 16550 UART.
APB slave interface.
Separate 16x8 Transmit and 16x11 Receive FIFOs.
Programmable FIFO disabling for 1-byte depth.
Programmable Baud rate Generator.
Independent masking for transmit, receive and Error interrupts.
False Start bit detection.
Line Break generation and detection.
Fully programmable serial interface characteristics:
Supports 5,6,7 and 8 bits.
even, odd, stick and no parity generation and detection.
1, 11/2 and 2 stop bits.
Figure 37 UART Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
83 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.13.1 UART Baud Generator and Clock Divider Settings
The internal baud generator module generates the required baud clock using the divisor register value. To achieve correct synchronizationincoming
bits are over sampled by a factor of 16x. Software should program the divisor value by which the system clock has to be divided to achieve the
required baud clock frequency.
The equation to calculate baud divisor is
Baud Divisor = (input frequency) ÷ (baud rate x 16)
Important: the internal clock divider must be set to a value of 2 or higher. Setting the value to 1 (no division) is not allowed!
For example, for 16 MHz PCLK clock following table gives the list of settings for different BAUD rates.
Baud Rate
50
Required Baud
clock frequency
800
Decimal
divisor value
20000
75
1200
13333
110
1760
9091
134.5
2152
7435
150
2400
6667
300
4800
3333
600
9600
1667
1200
19200
833
1800
28800
556
2000
32000
500
4800
76800
208
7200
115200
139
9600
153600
104
19200
307200
52
38400
614400
26
56000
896000
18
128000
204800
8
250000
4000000
4
300000
4800000
3
500000
8000000
2
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
84 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.13.2 UART Register Descriptions
All registers are 8 bits wide. Registers are selected based on the address and the value of Divisor Latch Select (DLS) bit in the line control register
(UART_LNCTR_REG).
Table 62 UART registers
Register Name
UART_DATA_REG
UART_DLO_REG
UART_DHI_REG
UART_INTEN_REG
UART_INTSTATUS_REG
UART_FCTL_REG
UART_LNCTL_REG
UART_LNSTATUS_REG
Base Address
AS3525_UART_BASE
AS3525_UART_BASE
AS3525_UART_BASE
AS3525_UART_BASE
AS3525_UART_BASE
AS3525_UART_BASE
AS3525_UART_BASE
AS3525_UART_BASE
Offset
0x00
0x00
0x04
0x04
0x08
0x0C
0x10
0x14
DLS
0
1
1
0
Note
Data register (Rx / Tx)
Clock divider lower byte register
Clock divider higher byte register
Interrupt enable register
Interrupt status register
FIFO control register
Line control register
Line status register
Table 63 UART Data Register
Name
Base
Default
UART_DATA_REG
AS3525_UART_BASE
0xC8110000
Data register
Holds the data byte received or the data byte to be transmitted respectively.
RX:
Offset: 0x00
DLS bit set to 0
This register holds the received data byte.
In FIFO mode, this byte will be the top byte of the 16-byte FIFO.
If FIFO mode is disabled, it will be the content of the receive shift register after a byte has been
shifted in.
A read to the address value 3b000 with Divisor Latch Select (DLS) bit 1’b0 will give the content of
this register.
If a character less than 8 bits is received, extra zero bits will be padded to this register.
TX:
This register contains the data to be transmitted. This register will be written by the processor.
In FIFO mode, a write to this address will write data into the FIFO.
In FIFO mode, top byte of txFIFO is passed on to transmitter shift register.
If FIFO is disabled, a write to the address 3’b000 with DLS bit 1’b0 will write into this register.
If FIFO is disabled, this register will be overwritten with new data.
If FIFO is disabled, data in this register will be passed on to transmitter shift register.
Bit
7:0
Bit Name
UART_DATA_REG
Default
00000000
Access
RW
Bit Description
Holds the data byte received or the data byte to be transmitted
respectively.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
85 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 64 UART Clock divider lower byte register
Bit
7:0
Name
Base
Default
UART_DLO_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x00
DLS set to 1
Clock divider lower byte register
This register holds the clock divider value (decimal) which is used to derive the baud
clock. To achieve a desired baud rate, the baud clock should be 16-times higher then
the baud rate. To derive this clock the ratio of the system clock and the required baud
clock should be calculated and the value should be programmed into the clock divider
lower byte and higher byte registers (UART_DLO_REG and UART_DHI_REG).
Clock divider value = (input frequency) / (baud rate x 16)
Bit Name
UART_DLO_REG
Default
00000000
Access
W
Bit Description
This register holds the lower byte of the decimal divisor value
to calculate baud clock.
Table 65 UART Clock divider higher byte register
Bit
7:0
Name
Base
Default
UART_DHI_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x04
DLS set to 1
Clock divider higher byte register
This register holds the higher byte of the decimal divisor value to calculate baud clock.
Bit Name
UART_DHI_REG
Default
00000000
Access
W
Bit Description
This register holds the higher byte of the decimal divisor value
to calculate baud clock.
Table 66 UART Interrupt enable register
Bit
7:3
2
1
0
Name
Base
Default
UART_INTEN_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x04
DLS set to 0
Interrupt enable register
This register will enable the three types of interrupts. Setting the bits of this register to
logic 1 enables the selected interrupt.
Bit Name
Reserved
lnStatusEn
txDataEmptyEn
rxDataRdyEn
Default
00000
0
0
0
Access
W
W
W
Bit Description
These bits are reserved for future use.
This bit enables the “rxLineStatus” interrupt.
This bit enables the “txDataEmpty” interrupt.
This bit enables the “rxDataRdy” interrupt.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
86 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 67 UART Interrupt status register
Name
Base
Default
UART_INTSTATUS_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x08
Interrupt status register
This register will give the status of the interrupt. Depending on the enabled interrupt
bits in the interrupt enable register (UART_INTEN_REG) different interrupts will be
generated and the status will be updated in this register. On sensing an interrupt the
software should read this register to get the status of the interrupt.
Bit
7:3
2
Bit Name
Reserved
rxLineStatus
Default
00000
0
RU
1
txDataEmpty
0
RU
0
rxDataRdy
0
RU
Access
Bit Description
These bits are reserved for future use.
This interrupt is set on any error condition on the receive line.
There are four types of error possibilities. These error
conditions are set in bits 4:1 of the line status register
(UART_LNSTATUS_REG).
This bit is reset on a read of the line status register
(UART_LNSTATUS_REG).
In FIFO mode this bit is set when txFIFO is empty.
If FIFO mode is disabled this interrupt is set if the data register
(UART_DATA_REG (Tx)) is empty.
This bit will be reset on write to the data register
(UART_DATA_REG (Tx)).
This is the data ready interrupt.
In FIFO mode this bit is set when the number of bytes in the
FIFO reaches the trigger level. This bit is also set in FIFO
mode when a timeout occurs in the reception, i.e. Rx line idle
for more than 4 char times and there is data in the FIFO.
If FIFO mode is disabled this bit is set when one full byte is
received.
This bit is cleared when the FIFO is empty or the data register
(UART_DATA_REG (Rx)) is read.
Table 68 UART FIFO control register
Name
Base
Default
UART_FCTL_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x0C
FIFO control register
This register holds the control parameters to control receive (rx) and transmit (tx) FIFO.
The parameters will enable the FIFOs, set the receiver trigger level, etc.
Bit
7:5
4:3
Bit Name
Reserved
trigLevel
Default
000
00
W
2
rxFIFORst
0
W
1
txFIFORst
0
W
0
FIFOModeEn
0
W
Access
Bit Description
These bits are reserved for future use.
These two bits will select the trigger level for the rxFIFO. Once
the FIFO pointer reaches this level rxDataRdy interrupt is
asserted.
00: 01 byte
01: 04 bytes
10: 08 bytes
11: 14 bytes
This bit will reset rxFIFO pointers and clear all the bytes in the
rxFIFO.
This bit is self clearing, i.e. after resetting FIFO this bit will
become zero.
This bit will reset txFIFO pointers and clear all the bytes in the
txFIFO.
This bit is self clearing, i.e. after resetting FIFO this bit will
become zero.
This bit will enable the FIFO mode. By default this will be
reset.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
87 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 69 UART Line control register
Name
Base
Default
UART_LNCTL_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x10
Line control register
This register controls the asynchronous data. Parameters in this register set the
transmit and receive character format, the data length, parity bit, stop bit length, etc.
Bit
7
DLS
Bit Name
0
Default
Access
RW
6
breakCntl
0
RW
5
stickParity
0
RW
4
evenParity
0
RW
3
parityEn
0
RW
2
stopBits
0
RW
1:0
wordLenSel
00
RW
Bit Description
Divisor Latch Select Bit. This bit is used to select Divisor Latch
registers.
1: Divisor Latch registers can be accessed. To access other
registers this bit should be zero.
1: Will cause a break condition to be transmitted, i.e. TX line is
pulled low. Normal transmission can be recovered once this bit
is cleared. Transmitter logic can be used as break timer.
1: If this bit is set, along with parityEn a fixed parity bit will be
transmitted and expected. This fixed parity bit will be the
complement of the bit 4.
0: Data byte along with parity bit will be sent and expected to
be odd parity.
1: Data byte along with the parity bit will be even parity.
Enable parity bit.
0: Data byte will be transmitted and received without parity bit.
1: Will enable the parity bit at the end of the data byte.
This bit decides how many stop bits should be sent along with
a data byte.
0: 1 stop bit transmitted
1: 2 stop bits transmitted if 6, 7 or 8 bit wordLenSel
1: 1.5 stop bits transmitted if 5 bit wordLenSel
Receiver will always check for one stop bit.
These bits will select the number of data bits to be transmitted
and received.
00: 5 bits
01: 6 bits
10: 7 bits
11: 8 bits
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
88 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 70 UART Line status register
Name
Base
Default
UART_LNSTATUS_REG
AS3525_UART_BASE
0xC8110000
Offset: 0x14
Line status register
This register holds the status information of the data transfer. It gives information about
the received data.
Bit
7
Bit Name
FIFODataError
0
Default
Access
RU
6
5
Reserved
txHoldRegEmpty
0
0
RU
4
breakDetect
0
RU
3
framingError
0
RU
2
parityError
0
RU
1
overrunError
0
RU
0
dataReady
0
RU
Bit Description
1: This bit is set when any data character in the FIFO has
parity or framing error or break condition.
0: This bit is reset once the line status register
(LINE_STATUS_REG) is read.
This bit is reserved for future use.
This bit is associated with the txDataEmpty interrupt.
1: Indicates that there is no data in txFIFO or the data register
(UART_DATA_REG (Tx)). This bit is set once the data is
shifted out.
0: This bit is reset once data is written into the data register
(UART_DATA_REG (Tx)).
This bit is associated with the rxLineStatus interrupt.
1: This bit is set if a break condition is detected, i.e. if a zero
is detected on receive line for one full character duration. This
condition will always cause framingError condition.
This bit is associated with the rxLineStatus interrupt.
1: Indicates that the first stop bit of the received data byte is
not valid, i.e. a zero is received in place of a one.
This error condition causes the receiver to re-synchronize.
This bit is associated with rxLineStatus interrupt.
1: Indicates that parity of the received data byte is different
from the expected parity as set in the line control register
(UART_LNCTL_REG).
This bit is associated with the rxLineStatus interrupt.
1: Indicates an error condition which occurs when one
character is fully assembled by the receiver but there is no
space to write that byte.
In FIFO mode, the content of the FIFO remains unaffected.
If FIFO is disabled, the data register (UART_DATA_REG (Rx))
will be overwritten with the new data.
0: There is no data available.
1: There are one or more data bytes ready to be read by the
processor.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
89 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.3.14 CGU - Clock generation unit
The clock generation unit generates all clocks for all modules on the chip.
•
•
•
•
•
•
•
•
•
Hardware programmable selection of clock input either from internal oscillator or external clock input
Two on-chip PLL circuits for generation of internal clocks
Programmable divider for generation of ARM922T clock (fclk)
Programmable divider for generation of AMBA bus clock (pclk)
Support of ARM922T fastbus, synchronous and asynchronous mode
Included clock gating registersto optimise power consumption
Three clock busses at input of all dividers (clk_main, clk_a, clk_b) for utmost flexibility
Spike-free switches between divider clock inputs (clk_main, clk_a, clk_b)
Independent clock dividers for peripheral modules
System startup
At startup, the system is configured in a way to run without the need of PLLs. PLLs are disabled and clk_main is used for generation of the clock for
the ARM controller (fclk) and ARM AMBA bus (pclk). Within the clock gating register, only the clocks that are really necessary for initial boot are
enabled: clock for ARM, for the internal 1-TRAM memory, for the internal ROM and for the external memory. So the boot loader can start either
from internal ROM or from the external MPMC.
Clock switching
The system can be reconfigured to run from PLLA or PLLB. Because the 1-TRAM is a dynamic memory that must always get the clock for the
internal memory refresh, this switching must be implemented in a way that the PCLK clock is never stopped. The easiest solution to fulfil this
requirement is always switching back to clk_main for reconfiguring the PLLs. After reprogramming of the PLLs it must be checked that the PLLs are
locked before the system is switched onto the PLL output frequency.
ARM922T and AMBA bus clock
The ARM processor can run in different modes. These modes can be set within the iA, nF bits of the ARM922T CP15 (coprocessor) register 1.
Fastbus mode
This is the default mode after startup. The ARM922T input clock frequency is the same as the AHB/APB bus frequency.
Synchronous mode
Within the synchronous mode, the ARM922T frequency must be higher than the AHB/APB bus frequency and it must be an integer multiple of the
AHB/APB bus frequency. Advantage of the synchronous mode is a higher performance because of less synchronisation effort between the
ARM922T and the AHB bus.
Asynchronous mode
Within asynchronous mode, the ARM922T frequency must be higher than the AHB bus frequency, but it can be completely asynchronous.
Disatvantage is a slightly reduced performance of the system because of the higher effort for synchronisation between the ARM922T and AHB
clock domains.
Block Diagram
The block diagram on the following page gives a detailed view of the structure of the CGU.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
90 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
Figure 38 Clock generation unit block diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
91 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.14.1 Input clock selection
Input clock is either coming directly from the clk_ext pin or from the internal 24MHz crystal oscillator. Usage of external pin or internal oscillator is
selected by the dedicated pin clk_sel.
Table 71 Clock Selection
Clk_sel
Description
0
clk_main = clk_int
1
clk_main = clk_ext
Three main internal clocks are generated as source for all clock dividers for all modules.
•
•
clk_a, clk_b: the outputs of two independently configurable PLLs.
clk_main: this clock is always available without the need of configuring any internal PLL
An important constraint of the system is the memory type of the RAM: the internal 1-TRAM needs refresh cycles, with the following important
restrictions:
•
the free running AHB/APB clock (PCLK) for the 1-TRAM must always be present: also for changing frequency
settings, this must be taken into account (e.g. switch from clk_main to PLL output only after PLL is settled (start-up
time).
•
the minimum frequency for the free running AHB/APB clock of the 1-TRAM is 20 MHz.
Important note: Switching between the different frequencies must be done in a pre-defined order using the CGU-driver software.
5.3.14.2 Clock Gating
For all peripheral clock domains clock gating is possible. Clock gating can be enabled/disabled by the corresponding bits within the clock control
register CGU_PERI. After start-up, only the modules, which are necessary for booting the device, are enabled. These enabled peripherals are
•
•
•
•
1-TRAM controller and 1-TRAM macros
external memory interface MPMC
internal ROM
vectored IR controller (VIC)
5.3.14.3 Interrupt generation
An interrupt can be generated after the PLL is locked.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
92 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
5.3.14.4 PLL description
•
•
•
•
•
runs on single power supply at 1.2 V (special power PADs are used within the chip layout to guarantee lowest jitter:
vddapll, vssapll which are connected to vdd_core, vss_core within the BGA substrate)
fully integrated with internal loop filter
VCO operating frequency from 200 - 400 MHz
phase comparator input frequency from 2 - 8 MHz
low power dissipation of typical 2.5 mW
Figure 39 PLL block diagram
Programming and calculation of the PLL output frequency
The output frequency is controlled by three programmable dividers within the PLL. These dividers are: the input divider NR, the feedback divider NF
and the output divider NO. The divider settings are programmed by bits within CGU_PLLA, CGU_PLLB registers. The table on the following page
gives the detailed formulas for setting the PLL output frequency.
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
93 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 72 Setting the PLL output frequency
Input divider NR.
NR = 16 * R4 + 8*R3 + 4*R2 + 2*R1 + R0
Feedback divider NF:
NF = 2 * (128*F7 + 64*F6 + 32*F5 + 16*F4 + 8*F3 + 4*F2 + 2*F1 + F0
Output divider NO:
Output divider setting
OD0=0, OD1=0
OD0=1, OD1=0
OD0=0, OD1=1
OD0=1, OD1=1
NO (output divider value)
Not allowed
1
2
4
The PLL output frequency is calculated with following formula
Output frequency
fout =
NF
⋅ fin
NR ⋅ NO
Comparison frequency
fref =
fin
NR
VCO frequency
fvco =
NF
⋅ fin
NR
Following constraints must be followed for the comparison and output frequency:
2 MHz ≤ fref ≤ 8 MHz
200 MHz ≤ fVCO ≤ 400 MHz
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
94 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Clock Constraining
Different clocks are constraint to different maximum clock speeds. As the clock frequencies can be set by software, care must be taken not to
exceed these maximum clock frequencies.
Table 739 Clock Constraining
Clock Domain
Max. Freq. [MHz]
Description
FCLK
250
Processor Clock
PCLK
65
AHB/APB bus clock
MPMC_CLK
90
MPMC (external memory interface) clock
I2SI MCLK
65
I2S input interface master clock
I2SO MCLK
30
I2S output interface master clock
USB CLK
48
USB interface clock
IDE CLK
90
IDE interface clock
MS CLK
40
Memory Stick Interface clock
Figure 40 Clock Generation Unit Block Diagram
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
95 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.14.5 Clock Generation Unit Registers
Table 20 CGU Registers
Register Name
Base Address
Offset
Note
CGU_PLLA
AS3525_CGU_BASE
0x00
PLLA configuration register
CGU_PLLB
AS3525_CGU_BASE
0x04
PLLB configuration register
CGU_PLLASUP
AS3525_CGU_BASE
0x08
PLLA supervisor register
CGU_PLLBSUP
AS3525_CGU_BASE
0x0C
PLLB supervisor register
CGU_PROC
AS3525_CGU_BASE
0x10
processor clock control register
CGU_PERI
AS3525_CGU_BASE
0x14
peripheral clock control register
CGU_AUDIO
AS3525_CGU_BASE
0x18
audio clock control register
CGU_USB
AS3525_CGU_BASE
0x1C
USB clock control register
CGU_INTCTRL
AS3525_CGU_BASE
0x20
CGU interrupt mask and enable register
CGU_IRQ
AS3525_CGU_BASE
0x24
interrupt clear and lock status register
CGU_COUNTA
AS3525_CGU_BASE
0x28
PLLA lock counter register
CGU_COUNTB
AS3525_CGU_BASE
0x2C
PLLB lock counter register
CGU_IDE
AS3525_CGU_BASE
0x30
IDE clock control register
CGU_MS
AS3525_CGU_BASE
0x34
Memory Stick clock control register
CGU_DBOP
AS3525_CGU_BASE
0x38
DBOP clock controller register
Table 21 CGU_PLLA Register
Name
Base
Default
CGU_PLLA
AS3525_CGU_BASE
0x00
Offset0x00
Bit
Bit Name
PLLA Configuration Register
The CGU_PLLA register is used to configure the PLL A
Default
Access
Bit Description
14:13
PLLA_OD [1:0]
0x00
R/W
PLLA output divider control, 2 bit
12:8
PLLA_R [4:0]
0x00
R/W
PLLA input divider control, 5-bit
7:0
PLLA_F [7:0]
0x00
R/W
PLLA feedback divider control, 8 bit
Table 22 CGU_PLLB Register
Name
Base
Default
CGU_PLLB
AS3525_CGU_BASE
0x00
Offset0x04
Bit
Bit Name
PLLB Configuration Register
The CGU_PLLB register is used to configure the PLL B
Default
Access
Bit Description
14:13
PLLB_OD [1:0]
0x00
R/W
PLLB output divider control, 2 bit
12:8
PLLB_R [4:0]
0x00
R/W
PLLB input divider control, 5-bit
7:0
PLLB_F [7:0]
0x00
R/W
PLLB feedback divider control, 8 bit
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
96 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 23 PLLA Supervisor Register
Name
Base
Default
CGU_PLLASUP
AS3525_CGU_BASE
0x08
Offset0x08
Bit
PLLA Supervisor Register
This register contains control bits of the PLLA which are used very rarely, but have
major impact on the functionality of the system.
Bit Name
Default
Access
Bit Description
3
PLLA_PD
0x00
R/W
PLLA power down if SET
2
PLLA_OEB
0x00
R/W
PLLA output enable, active low
1
PLLA_BP
0x00
R/W
PLLA bypass if SET
0
PLLA_FIN_SEL
0x00
R/W
PLLA clock source select
0: clk_int [PAD]
1: clk_ext [PAD]
Table 24 PLBB Supervisor Register
Name
Base
Default
CGU_PLLBSUP
AS3525_CGU_BASE
0x08
Offset0x0c
Bit
PLLB Supervisor Register
This register contains control bits of the PLLB which are used very rarely, but have
major impact on the functionality of the system.
Bit Name
Default
Access
Bit Description
3
PLLB_PD
0x00
R/W
PLLB power down if SET
2
PLLB_OEB
0x00
R/W
PLLB output enable, active low
1
PLLB_BP
0x00
R/W
PLLB bypass if SET
0
PLLB_FIN_SEL
0x00
R/W
PLLB clock source select
0: clk_int [PAD]
1: clk_ext [PAD]
Table 25 Processor Clock Controller Register
Name
Base
Default
CGU_PROC
AS3525_CGU_BASE
0x00
Offset0x10
Bit
7:4
Bit Name
FCLK_POSTDIV_SEL
[3:0]
Processor Clock Controller Register
This register contains control bits for ARM processor clock generation => FCLK.
Default
0x00
Access
R/W
3:2
FCLK_PREDIV_SEL
[1:0]
0x00
R/W
1:0
FCLK_SEL[1:0]
0x00
R/W
Bit Description
post divider division ratio => post_div =
1/(fclk_postdiv_sel + 1)
pre divider (fractional) division ratio
00: pre_div = 1/1
01: pre_div = 7/8
10: pre_div = 6/8
11: pre_div = 5/8
clkin select
00: clk_main
01: plla_fout
10: pllb_fout
11: reserved (clk_main)
NOTE: f(fclk) := f(clkin) * pred_div * post_div;
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
97 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 26 Peripheral Clock Controller Register
Name
Base
Default
CGU_PERI
AS3525_CGU_BASE
0x0F800000
Offset0x14
Bit
Peripheral clock controller register
This register allows setting the peripheral clocks.
Bit Name
Default
Access
Bit Description
28
MBIST_EN
0
R/W
memory bist manager clock enable
27
EXTMEM_EN
1
R/W
external memory clock enable
26
EXTMEMIF_EN
1
R/W
external memory AHB IF clock enable
25
1TRAM_EN
1
R/W
1TRAM controller AHB IF clock enable
24
ROM_EN
1
R/W
ROM AHB IF clock enable
23
VIC_EN
1
R/W
vectored interrupt controller AHB IF clock enable
22
DMAC_EN
0
R/W
DMA controller AHB IF clock enable
21
USB_EN
0
R/W
USB controller AHB IF clock enable
20
I2SO_APB_EN
0
R/W
I2Sout APB IF clock enable
19
I2SI_APB_EN
0
R/W
I2Sin APB IF clock enable
18
I2C_EN
0
R/W
I2C master/slave APB IF clock enable
17
I2C_AUDIO_EN
0
R/W
I2C audio APB IF clock enable
16
GPIO_EN
0
R/W
general purpose IO APB IF clock enable
15
SDMCI_EN
0
R/W
secure digital/multimedia APB IF clock enable
14
NANDFLASH_EN
0
R/W
NAND flash/Smart Media APB IF clock enable
13
UART_EN
0
R/W
UART APB IF clock enable
12
WDOCNT_EN
0
R/W
watchdog counter clock enable
11
WDOIF_EN
0
R/W
watchdog timer module APB IF clock enable
10
SSP_EN
0
R/W
synchronous serial port APB IF clock enable
9
TIMER1_EN
0
R/W
timer module timer1 clock enable
8
TIMER2_EN
0
R/W
timer module timer2 clock enable
7
TIMERIF_EN
0
R/W
timer module APB IF clock enable
division ratio div1 (AHB/APB clock) => div1 = 1/(pclk_div1_sel
+ 1)
PCLK_DIV0_SEL
division ratio div0 (ext. memory clock) => div0 =
5:2
0x0
R/W
[3:0]
1/(pclk_div0_sel + 1)
clkin select
b’00: clk_main
1:0
PCLK_SEL[1:0]
0x0
R/W
b’01: plla_fout
b’10: pllb_fout
b’11: fclk
C AUTION : Clock gating takes effect immediately! Software must assure that all transactions to/from the module are finished
before the clock is disabled.
6
PCLK_DIV1_SEL
0
R/W
C AUTION : The peripheral clock must not exceed 65 MHz. The software must assure that requirement.
Note:
f(clk_extmem) := f(clkin) * div0;
f(pclk) := f(clkin) * div0 * div1;
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
98 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 27 Audio Clock Controller Register
Name
Base
Default
CGU_AUDIO
AS3525_CGU_BASE
0x00
Offset0x18
Bit
Bit Name
Audio Clock Controller Register
This register allows setting the audio clock to I2S input and output interface.
Default
Access
Bit Description
I2S audio input clock (I2SI_MCLK) to PAD connection
enable
24
I2SI_MCLK2PAD_EN
0
R/W
23
I2SI_MCLK_EN
I2SI_MCLK_DIV_SEL
[8:0]
0
R/W
I2S audio input clock (I2SI_MCLK) enable
R/W
I2Sin audio
IF clock
1/(i2si_mclk_div_sel + 1)
0x0
R/W
I2SI_MCLK clkin select
00: clk_main
01: plla_fout
10: pllb_fout
11: reserved (clk_main)
0
R/W
I2S audio output clock (I2SO_MCLK) enable
0x0
R/W
I2Sout audio IF clock
1/(i2so_mclk_div_sel + 1)
R/W
I2SO_MCLK clkin select
00: clk_main
01: plla_fout
10: pllb_fout
11: reserved (clk_main)
22:14
13:12
ISI_MCLK_SEL[1:0]
11
I2SO_MCLK_EN
10:2
I2SO_MCLK_DIV_SEL
[8:0]
1:0
ISO_MCLK_SEL[1:0]
0x0
0x0
division
division
ratio
ratio
=>
=>
div_i
=
div_o
=
Note:
The clock gating bits in this register apply only to the audio clocks. To enable/disable the APB parts of the corresponding I2S IF
CGU_PERI has to be configured.
f(i2si_mclk) := f(I2SI_mclk clkin) * div_i;
f(i2so_mclk) := f(I2SO_mclk clkin) * div_o;
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
99 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 28 Processor USB Clock Controller Register
Name
Base
Default
CGU_USB
AS3525_CGU_BASE
0x00
USB Clock ControllerRegister
Offset0x1c
This register allows setting the USB PHY interface clock.
Bit
Bit Name
Default
Access
5
USB_CLK_EN
0x00
R/W
4:2
USB_DIV_SEL [2:0]
0x00
R/W
1:0
USB_SEL[1:0]
0x00
R/W
Bit Description
USB PHY clock enable => clk_usb
division ratio
0: div = 1/1
> 0: div = 1/(2*n); (even division factors only)
clkin select
00: clk_main
01: plla_fout
10: pllb_fout
11: reserved (clk_main)
Note:
The clock gating bit applies only to the USB PHY clock. To enable/disable the clock to the AHB part (USB CORE) CGU_PERI
has to be configured.
f(clk_usb) = f(clk_core_48m) = f(clkin) * div;
Table 29 Interrupt Mask and PLL Lock Status Register
Name
Base
Default
CGU_INTCTRL
AS3525_CGU_BASE
0x00
Interrupt Mask and PLL Lock Status Register
Offset: 0x20
Bit
Bit Name
Default
Access
Bit Description
3
INT_EN_PLLB_LOCK
0x00
R/W
interrupt on PLLB lock enable (R/W)
2
INT_EN_PLLA_LOCK
0x00
R/W
interrupt on PLLA lock enable (R/W)
1
PLLB_LOCK
0x00
R
PLLB lock status, locked if SET (not cleared on read)
0
PLLA_LOCK
R
PLLA lock status, locked if SET (not cleared on read)
Table 30 Interrupt Clear Register
Name
Base
Default
CGU_IRQ
AS3525_CGU_BASE
0x00
Interrupt Clear Register
Offset: 0x24
Bit
Bit Name
Default
Access
Bit Description
1
PLLB_LOCK
0x00
R
PLLB lock status, locked if SET (not cleared on read)
0
PLLA_LOCK
0x00
R
PLLA lock status, locked if SET (not cleared on read)
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
100 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 31 PLL A Lock Counter Register
Name
Base
Default
CGU_COUNTA
AS3525_CGU_BASE
0x20
PLL A Lock Counter Register
Offset: 0x28
Bit
7:0
Bit Name
COUNTA[7:0]
Default
0x00
Access
R/W
Bit Description
number of PLL A’s fout-clock cycles until the LOCKA
bit is set
Table 32 PLL B Lock Counter Register
Name
Base
Default
CGU_COUNTB
AS3525_CGU_BASE
0x20
PLL B Lock Counter Register
Offset: 0x2c
Bit
7:0
Bit Name
COUNTB[7:0]
Default
0x00
Access
R/W
Bit Description
number of PLL B’s fout-clock cycles until the LOCKB
bit is set
Table 33 IDE Clock Controller Register
Name
Base
Default
CGU_IDE
AS3525_CGU_BASE
0x20
Offset: 0x30
Bit
IDE Clock Controller Register
This register allows setting the IDE interface clocks.
Bit Name
Default
Access
Bit Description
7
IDEIF_CLK_EN
0
R/W
IDE AHB IF clock enable
6
IDE_CLK_EN
0
R/W
IDE IF clock enable (90MHz domain) => clk_ide
5:2
IDE_DIV_SEL [2:0]
0x0
R/W
division ratio => div = 1/(ide_div_sel + 1)
R/W
clkin select (clk_ide)
00: clk_main
01: plla_fout
10: pllb_fout
11: reserved (clk_main)
1:0
IDE_SEL[1:0]
0x0
Note: f(clk_ide) := f(clkin) * div;
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
101 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 34 Memory Stick (MS) Clock Controller Register
Name
Base
Default
CGU_MS
AS3525_CGU_BASE
0x00
Offset: 0x34
Bit
MS Clock Controller Register
This register allows setting the MS interface clocks.
Bit Name
Default
Access
Bit Description
8
MSIF_CLK_EN
0
R/W
MS APB IF clock enable
7
MS_CLK_EN
0
R/W
MS IF clock enable (20/40MHz domain) => clk_ms
6:2
MS_DIV_SEL [2:0]
0x0
R/W
division ratio => div = 1/(ms_div_sel + 1)
R/W
clkin select (clk_ms)
00: clk_main
01: plla_fout
10: pllb_fout
11: reserved (clk_main)
1:0
MS_SEL[1:0]
0x0
Note: f(clk_ms) = f(clkin) * div;
Table 35 Data Block Output Port (DBOP) Clock Controller Register
Name
Base
Default
CGU_DBOP
AS3525_CGU_BASE
0x00
Offset: 0x38
Bit
DBOP Clock Controller Register
This register allows setting the DBOP interface clocks.
Bit Name
Default
Access
Bit Description
3
DBOP_EN
0
R/W
DBOP APB IF clock enable
2:0
DBOP_PREDIV_SEL
[2:0]
0x0
R/W
division ratio => div = 1/(dbop_prediv_sel + 1)
Note:
Setting DBOP_EN will enable both clocks (push/APB and pop) immediately.
clk_dbop clock (pop clock) generation uses DBOP APB IF clock as input clock.
f(clk_dbop) = f(PCLKDBOP) * div;
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
102 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Figure 41 Table with verified CGU frequency settings for Audio and USB applications with 24MHz crystal
Fref
nf
nr
no
[MHz]
fvco
[MHz]
plla_fout
[MHz]
fclk_
pre
fclk_
post
fclk
[MHz]
pclk_
div0
pclk_
div1
pclk
[MHz]
mclk_
div
mclk
[Hz]
fsaudio
[Hz]
faudio
error
[%]
usb_
div
fusbphy
[Hz]
fusb
error
[%]
fsaudio
target
[Hz]
CPU
clock
mode
Target: 48.000 Hz
48
6
1
4,000
384,000
384,000
0,00
5,00
64,000
0
0
64,000
61
6.193.548
48.387
0,806
3
48.000.000
0,000
48000
Fastbus
24
3
3
8,000
384,000
96,000
0,00
1,00
48,000
0
0
48,000
15
6.000.000
46.875
-2,344
1
48.000.000
0,000
48000
Fastbus
41
8
2
3,000
246,000
123,000
0,00
1,00
61,500
0
0
61,500
19
6.150.000
48.047
0,098
48000
fastbus
23
5
3
4,800
220,800
55,200
0,00
0,00
55,200
0
0
55,200
8
6.133.333
47.917
-0,174
48000
fastbus
Target: 44.100 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
67
5.647.059
44.118
0,040
3
48.000.000
0,000
44100
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
16
5.647.059
44.118
0,040
1
48.000.000
0,000
44100
fastbus
47
10
2
2,400
225,600
112,800
0
1
56,400
0
0
56,400
19
5.640.000
44.063
-0,085
44100
fastbus
79
12
3
2,000
316,000
79,000
0
1
39,500
0
0
39,500
13
5.642.857
44.085
-0,034
44100
fastbus
47
10
3
2,400
225,600
56,400
0
1
28,200
0
0
28,200
9
5.640.000
44.063
-0,085
44100
fastbus
Target: 32.000 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
93
4.085.106
31.915
-0,266
3
48.000.000
0,000
32000
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
22
4.173.913
32.609
1,902
1
48.000.000
0,000
32000
fastbus
41
6
3
4,000
328,000
82,000
0
1
41,000
0
0
41,000
19
4.100.000
32.031
0,098
32000
fastbus
31
7
3
3,429
212,571
53,143
0
1
26,571
0
0
26,571
12
4.087.912
31.937
-0,197
32000
fastbus
Target: 24.000 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
124
3.072.000
24.000
0,000
3
48.000.000
0,000
24000
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
30
3.096.774
24.194
0,806
1
48.000.000
0,000
24000
fastbus
41
8
2
3,000
246,000
123,000
0
1
61,500
0
0
61,500
39
3.075.000
24.023
0,098
24000
fastbus
Target: 22.050 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
135
2.823.529
22.059
0,040
3
48.000.000
0,000
22050
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
33
2.823.529
22.059
0,040
1
48.000.000
0,000
22050
fastbus
47
10
2
2,400
225,600
112,800
0
1
56,400
0
0
56,400
39
2.820.000
22.031
-0,085
22050
fastbus
Target: 16.000 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
187
2.042.553
15.957
-0,266
3
48.000.000
0,000
16000
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
46
2.042.553
15.957
-0,266
1
48.000.000
0,000
16000
fastbus
41
6
3
4,000
328,000
82,000
0
1
41,000
0
0
41,000
39
2.050.000
16.016
0,098
16000
fastbus
Target: 12.000 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
249
1.536.000
12.000
0,000
3
48.000.000
0,000
12000
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
62
1.523.810
11.905
-0,794
1
48.000.000
0,000
12000
fastbus
41
6
3
4,000
328,000
82,000
0
1
41,000
0
0
41,000
52
1.547.170
12.087
0,727
12000
fastbus
Target: 11.025 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
271
1.411.765
11.029
0,040
3
48.000.000
0,000
11025
fastbus
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
67
1.411.765
11.029
0,040
1
48.000.000
0,000
11025
fastbus
41
6
3
4,000
328,000
82,000
0
1
41,000
0
0
41,000
57
1.413.793
11.045
0,184
11025
fastbus
8.000
0,000
3
48.000.000
0,000
8000
fastbus
1
48.000.000
0,000
8000
fastbus
8000
fastbus
Target: 8.000 Hz
48
6
1
4,000
384,000
384,000
0
5
64,000
0
0
64,000
374
1.024.000
24
3
3
8,000
384,000
96,000
0
1
48,000
0
0
48,000
93
1.021.277
7.979
-0,266
41
6
3
4,000
328,000
82,000
0
1
41,000
0
0
41,000
79
1.025.000
8.008
0,098
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
103 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.15 CCU - Chip Control Unit
Following chapters describe the functions of the CCU.
Table 74 CCU Registers
Register Name
Base Address
Offset
Note
CCU_SRC
AS3525_CCU_BASE
0x0000
Software reset control register
CCU_SRL
AS3525_CCU_BASE
0x0004
Software reset lock register
CCU_MEMMAP
AS3525_CCU_BASE
0x0008
Memory map register
CCU_IO
AS3525_CCU_BASE
0x000C
IO configuration register
CCU_SCON
AS3525_CCU_BASE
0x0010
System configuration register
CCU_VERS
AS3525_CCU_BASE
0x0014
Chip version register
CCU_SPARE1
AS3525_CCU_BASE
0x0018
spare register 1 (for future use)
CCU_SPARE2
AS3525_CCU_BASE
0x001C
spare register 2 (for future use)
5.3.15.1 Reset Controller
•
Generation of the internal reset: the external reset pin XRES is used to generate the internal global reset. This internal reset is synchronised
to clk_main and the active reset time is enlarged. This is necessary to wait for the startup of the DC/DC converter and LDO's that are
generating the supplies of the digital chip. The time assumed for this startup is 10 ms, therefore 2^18 cycles of clk_main are counted before
the internal reset is released. This mechanism is also used for the WATCHDOG reset.
•
Softreset: for each module, the reset can also be generated by SW control. For this purpose, the SW can write to the software reset control
register (CCU_SRC). To avoid unintended SW resets, the access to this control register is locked by the SW reset lock register (CCU_SRL).
So the correct usage is:
•
write CCU_SRC
•
write CCU_SRL (magic number 0x1A720212) to CCU_LOCK to activate resets
•
write CCU_SRL (0x00000000) to deactivate resets
Table 75 Software Reset Control Register
Name
Base
Default
CCU_SRC
AS3525_CCU_BASE
0x00
Offset: 0x0000h
Software Reset Control Register
Writing a logic 1 to the single bits in the read/write register enables resets to each
module.
Bit
24
Bit Name
DBOP_EN
Default
0
Access
R/W
23
MBIST_EN
0
R/W
22
SPDIF_EN
0
R/W
21
TIMER_EN
0
R/W
20
SSP_EN
0
R/W
19
WDO_EN
0
R/W
18
IDE_EN
0
R/W
17
IDE_AHB_EN
0
R/W
Bit Description
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
enable DBOP reset
disable DBOP reset
enable MBIST manager reset
disable MBIST manager reset
enable SPDIF reset
disable SPDIF reset
enable timer module reset
disable timer module reset
enable synchronous serial port reset
disable synchronous serial port reset
enable watchdog timer module reset
disable watchdog timer module reset
enable compact flash/IDE reset (except AHB part)
disable compact flash/IDE reset (except AHB part)
enable compact flash/IDE’s AHB interface reset
disable compact flash/IDE’s AHB interface reset
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
104 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Name
Base
Default
CCU_SRC
AS3525_CCU_BASE
0x00
Offset: 0x0000h
Software Reset Control Register
Writing a logic 1 to the single bits in the read/write register enables resets to each
module.
Bit
16
Bit Name
UART_EN
0
Default
Access
R/W
15
NAF_EN
0
R/W
14
SDMCI_EN
0
R/W
13
GPIO_EN
0
R/W
12
I2C_AUDIO_EN
0
R/W
11
I2C_EN
0
R/W
10
MMS_EN
0
R/W
9
I2SI_APB_EN
0
R/W
8
I2SO_APB_EN
0
R/W
7
USB_AHB_EN
0
R/W
6
USB_PHY_EN
0
R/W
5
DMAC_EN
0
R/W
4
VIC_EN
0
R/W
3
RAMC_EN
0
R/W
2
1TRAM_EN
0
R/W
1
MPMC_EN
0
R/W
0
BRIDGE_EN
0
R/W
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
1:
0:
Bit Description
enable UART interface reset
disable UART interface reset
enable NAND flash/Smart Media interface reset
disable NAND flash/Smart Media interface reset
enable secure digital/multimedia interface reset
disable secure digital/multimedia interface reset
enable general purpose IO reset
disable general purpose IO reset
enable audio I2C interface reset
disable audio I2C interface reset
enable master/slave I2C interface reset
disable master/slave I2C interface reset
enable memory stick interface reset
disable memory stick interface reset
enable I2S input interface reset for APB part
disable I2S input interface reset for APB part
enable I2S output interface reset for APB part
disable I2S output interface reset for APB part
enable USB AHB reset
disable USB AHB reset
enable USB PHY reset
disable USB PHY reset
enable DMA controller reset
disable DMA controller reset
enable vectored interrupt cell reset
disable vectored interrupt cell reset
enable RAMC reset
disable RAMC reset
enable 1TRAM reset
disable 1TRAM reset
enable external memory AHB reset
disable external memory AHB reset
enable bridge reset
disable bridge reset
Table 76 Software Reset Lock Register
Name
Base
Default
CCU_SRL
AS3525_CCU_BASE
0x00
Offset: 0x0004h
Bit
0:31
Bit Name
software_reset_lock
Software Reset Lock Register
Use of this register enables the software reset selected with Software Reset Control
Register. Writing a value of 0x1A720212 will enable the selected reset; writing any
other value will not enable software reset.
Default
0
Access
R/W
Bit Description
0x1A720212: enables selected reset
Other values: no effect
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
105 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.15.2 IO_PADRING functions
Within the IO_PADRING module all multiplexing for selecting alternative functions is implemented. The selection of active functions is chosen within
the IO_configuration_register. Following table gives a description of the IO configurations:
Table 77 IO_PADRING Configurations
Name
Base
Default
CCU_IO
AS3525_CCU_BASE
0x00
IO Configuration Registers
With this read/write registers the functionality of IOs are controlled which provides
several different functions
Offset: 0x000Ch
Bit
8:7
Bit Name
naf_ce_sel[1:0]
Default
0
Access
R/W
6
pll_probe_en
0
R/W
5
4
ide_sel
spi_flash_mode
0
0
R/W
R/W
3:2
xpd_func_sel(1:0)
0
R/W
1
0
i2c_ms_sel
uart_sel
0
0
R/W
R/W
Bit Description
these bits select which output is used for NAF ce_n.
0: naf_ce0_n
1: naf_ce1_n
2: naf_ce2_n
3: naf_ce3_n
test mode:
1: pll output clock is available at a GPIO Pin
1: the IDE input/output configuration is set
SPI used in master mode:
1: pin SSP_FSSOUT always 0
0: pin SSP_FSSOUT generated by SSP hardware block
SPI used in slave mode:
spi_flash_mode hast to be switched to 0
00: XPD works as general purpose IO
01: SD-MCI interface
10: the XPD[5:0] are configured to support MS, XPD[7:6} are
general IO pins
11: reserved (XPD works as general IO)
1: the I2C master/slave IO configuration is set
1: the uart IO configuration is set
5.3.15.3 Other CCU functions
With the CCU_MEMMAP register, the remap(r/w) and int_boot_sel (read only) bits are accessible.
Table 78 Memory Map Register
Name
Base
Default
CCU_MEMMAP
AS3525_CCU_BASE
N/A
Memory Map Register
With the register the remap(r/w) and int_boot_sel (r only) bits are accessible.
Offset: 0x0008h
1
Bit
Bit Name
INT_BOOT_SEL
0
REMAP
Default
external
pin
XPC[0]
0
Access
R
R/W
Bit Description
Boot selection
1: internal ROM
0: external memory interface
Defines memory mapping
1: RAM
0: ROM
If the INIT_BOOT_SEL is 0 (boot from external memory interface), following pins will be latched at startup to define the MPMC interface settings:
•
mpmc_stcs1mw[0]
•
mpmc_stcs1pb
•
mpmc_stcs1pol
•
mpmc_rel1config
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
106 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
5.3.15.4 Additional Chip Control Unit Registers
Table 79 System Configuration Register
Name
Base
Default
CCU_SCON
AS3525_CCU_BASE
0x00
Offset: 0x0010h
Bit
0
Bit Name
priority_config
System Configuration Register
This read/write register controls system parameters.
Default
0
Access
R/W
Bit Description
AHB master’s priority configuration:
0: Configuration A (default)
Highest priority: TIC (Test Interface Controller) – for
production test only
2 nd highest priority: ARM922T
3 rd highest priority: DMA
4 th highest priority: USB
lowest priority: IDE
1: Configuration B
Highest priority: TIC (Test Interface Controller) – for
production test only
2 nd highest priority: DMA
3 rd highest priority: USB
4 th highest priority: IDE
lowest priority: ARM922T
Table 80 Chip Version Register
Name
Base
Default
CCU_VERS
AS3525_CCU_BASE
0x09
Offset: 0x0014h
Bit
31:12
11:0
Bit Name
main_version_id(19
:0)
sub_version_id(11:
0)
Chip Version Register
Version information can be read from this register.
Default
0x2
Access
R
main version ID
Bit Description
0x1
R
sub version ID
Table 81 Spare Register 1
Name
Base
Default
CCU_SPARE1
AS3525_CCU_BASE
0x00
Offset: 0x0018h
Bit
31:9
8
7
6
5
4
3:2
1:0
Bit Name
spare
dma_sreq_SSPRX_off
dma_sreq_SSPTX_off
dma_sreq_DBOP_off
dma_sreq_I2Sin_off
dma_sreq_I2Sout_off
spare
mpmc_clk_inv
Metal ECO Spare Register
This register implements 32bit spare FF’s. Use for metal ECO redesign.
Defau
lt
0x00
0x00
0x00
0x00
0x00
0x00
0x00
0x00
Access
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Bit Description
spare bits to be used for metal ECO redesign if SET
disableDMA single request of SSPRX module if SET
disable DMA single request of SSPTX module if SET
disable DMA single request of DBOP module if SET
disable DMA single request of I2Sin module if SET
disable DMA single request of I2Sout module if SET
spare bits to be used for metal ECO redesign if SET
spare bits used to invert output clocks mpmc_clk(1:0) if SET
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
107 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Table 82 Spare Register 2
Name
Base
Default
CCU_SPARE2
AS3525_CCU_BASE
0x00
Offset: 0x001Ch
Bit
31:3
2:0
Bit Name
spare
bist_idle_cycle_ctrl
Metal ECO Spare Register
This register implements 32bit spare FF’s. Use for metal ECO redesign.
Defau
lt
0x00
0x00
Access
R/W
R/W
Bit Description
spare bits to be used for metal ECO redesign if SET
internal RAM refresh cycle control bits of BIST_MGR module
000: idle every 32nd cycle (default)
100: idle every 16th cycle
110: idle every 8th cycle
111: idle every 4th cycle
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
108 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
6
Pinout and Packaging
6.1
Package Variants
CTBGA (Thin ChipArray BGA) package technology is used for multi-chip-module (MCM) packaging.
6.2
CTBGA180 Package Drawings
6.2.1 Marking
Figure 42 CTBGA180 TOP View and Package Marking
Package Code AYYWWZZZ
A
Y
WW
ZZZ
A … for PB free
Year
working week assembly/packaging
Free choice
Figure 43 CTBGA224 Package Drawing Bottom/Side View
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
109 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
6.2.2
CTBGA180 Package Ball-out
Figure 44 CTBGA180 Package Ball--out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
A
mpmc_
addr_0
mpmc_
addr_2
mpmc_
addr_4
mpmc_
addr_6
mpmc_
addr_10
mpmc_
addr_14
mpmc_
addr_18
vdd_me
m
mpmc_
clk_0
mpmc_
clk_1
vdd_me
m
mpmc_
data_2
mpmc_
data_4
mpmc_
data_6
mpmc_
data_8
mpmc_
data_10
mpmc_
data_12
mpmc_
data_14
B
dbop_
d13
C
dbop_
d12
mpmc_
addr_1
D
vdd_peri
_L
vss_peri
_L
E
xpc_7
xpc_4
mpmc_
addr_3
F
xpc_6
xpc_3
xpc_1
G
xpc_5
xpc_2
xpc_0
mpmc_
addr_11
H
vdd_
core
vss_
core
xpa_0
mpmc_
addr_9
J
clk_ext
i2si_sdat
a_in
xpa_1
mpmc_
addr_7
K
clk_int
i2si_sclk
_out
xpa_2
xpa_3
L
usb_vdd
a33t
i2so_sclk
i2si_mclk
xpa_4
M
usb_vssa
33t
i2so_mcl
k
i2si_sdat
a
xpa_5
N
usb_dp
resetext_
n
i2so_sda
ta
P
usb_dm
id_dig
R
usb_vssa
33t
usb_rext
T
usb_vdd
a33t
vssapll
U
usb_vdd
a33c
V
VBUS
dbop_
d14
mpmc_
addr_8
mpmc_
addr_12
mpmc_
addr_16
mpmc_
addr_5
mpmc_
mpmc_
vss_mem
addr_20
fbclkin0
mpmc_
addr_13
i2c_audi i2c_audi i2si_lrck_
out
o_sda
o_sck
vss_core
usb_xo
_ana
intrq
i2so_lrck
mpmc_
addr_17
mpmc_
addr_15
xpa_6
xpa_7
mpmc_
data_15
dbop_
d15
vss_peri
_R
vdd_peri
_R
ssp_
fssout
ssp_rxd
ide_
ha_0
ssp_
clkout
ssp_txd
ide_
ha_1
mpmc_
data_3
naf_d_7
ide_
reset_n
ide_
ha_2
mpmc_
data_5
naf_d_6
vss_
core
vdd_
core
mpmc_ mpmc_
dycs_n_0 dycs_n_1
naf_d_3
naf_d_2
naf_d_5
naf_d_4
mpmc_ mpmc_
stcs_n_0 stcs_n_1
naf_d_8
naf_d_9
naf_d_1
naf_d_0
naf_d_12
naf_d_13
naf_d_10
naf_d_11
naf_cle
naf_d_14
naf_d_15
naf_ale
vss_peri
_R
vdd_peri
_R
xpd_1
xpd_2
xpd_3
xpd_4
xpd_5
vss_core
_ana
xpd_6
mpmc_
dqm_0
mpmc_
addr_19
mpmc_
cke_0
mpmc_
mpmc_
vss_mem
cas_n
data_0
mpmc_
dqm_1
mpmc_
ras_n
mpmc_
bls_n_0
mpmc_
bls_n_1
mpmc_
data_1
mpmc_
data_9
mpmc_
data_7
mpmc_ naf_ce0_ naf_wp_
cke_1
n
n
mpmc_w mpmc_o naf_ce1_
naf_we_n
e_n
e_n
n
jtag_trst_
naf_ce2_
jtag_tms jtag_tdo
naf_re_n
n
n
xpd_0
xpb_0
mpmc_
data_11
xpb_1
mpmc_
data_13
xpb_2
xpd_7
usb_vssa
vdd_core
vddapll
33c
_ana
usb_xi
analog_t
est
tmsel
clk_sel
jtag_tck
jtag_tdi
naf_ce3_ naf_bsy_
n
n
xpb_3
xpb_4
xpb_5
vdd_core
_ana
xpb_6
6.2.3 CTBGA180 Ball List
Table 83 CTBGA180 Ball List
Ball Nr.
BGA180
Ball Name
PAD Type
I/O
Ball Description
N3
resetext_n
D IN ST
I
reset input (active low)
K1
J1
clk_int
clk_ext
D IN ST
D IN ST PD
I
I
clock input (10-26MHz)
I
V8
clk_sel
D IN ST PD
V7
tmsel
D IN ST PD
I
clock input (10-26MHz)
clock select
0 (low): clock from clk_int is used for internal clk_main
1 (high): clock from pad clk_ext is used for internal clk_main
test mode select
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
110 - 124
xpb_7
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
I/O
Ball Description
For testing purpose only, has to be set to “0”.
P3
id_dig
D IN ST (PU)
I
USB mini receptacle identifier
Has to be connected to USB jack ID pin.
Port A
H5
xpa[0]
D IO ST PD LSR
IO
GPIO IO, Port A
J5
xpa[1]
D IO ST PD LSR
IO
GPIO IO, Port A
K5
xpa[2]
D IO ST PD LSR
IO
GPIO IO, Port A
K7
xpa[3]
D IO ST PD LSR
IO
GPIO IO, Port A
L7
xpa[4]
D IO ST PD LSR
IO
GPIO IO, Port A
M7
xpa[5]
D IO ST PD LSR
IO
GPIO IO, Port A
M8
xpa[6]
D IO ST PD LSR
IO
GPIO IO, Port A
P8
xpa[7]
D IO ST PD LSR
IO
GPIO IO, Port A
IO
GPIO IO, Port B
I
Port B / DISPLAY / UART
xpb[0]
T13
T14
T15
V13
dbop_c0
O
static memory chip memory width setting for boot loader
0: 8 bit data bus
1: 16 bit data bus
The value is latched at reset.
DISPLAY control output
xpb[1]
IO
GPIO IO, Port B
I
mpmc_stcs1mw[0
D IO ST PD LSR
]*
dbop_c1
O
static memory chip select polarity setting for boot loader
0: active LOW chip select
1: active high chip select
The value is latched at reset.
DISPLAY control output
xpb[2]
IO
GPIO IO, Port B
I
mpmc_stcs1pol*
D IO ST PD LSR
dbop_c2
O
static memory byte lane polarity setting for boot loader
0: HIGH for reads, LOW for writes, used for we_n access
1: LOW for reads, LOW for writes, used for upper and lower
byte access
The value is latched at reset.
DISPLAY control output
xpb[3]
IO
GPIO IO, Port B
I
test mode configuration (for testing purpose only !!!)
The value is latched at reset.
DISPLAY control output
mpmc_stcs1pb*
D IO ST PD LSR
mpmc_rel1config* D IO ST PD LSR
O
dbop_c3
V14
V15
xpb[4]
dbop_d[8]
xpb[5]
dbop_d[9]
D IO ST PD LSR
D IO ST PD LSR
xpb[6]
V17
uart_rxd
D IO ST PU LSR
dbop_d[10]
xpb[7]
V18
uart_txd
D IO ST PU LSR
dbop_d[11]
IO
GPIO IO, Port B
IO
DISPLAY data input/output (high byte)
IO
GPIO IO, Port B
IO
DISPLAY data input/output (high byte)
IO
GPIO IO, Port B
I
UART receive line
IO
DISPLAY data input/output (high byte)
IO
GPIO IO, Port B
O
UART transmit line
IO
DISPLAY data input/output (high byte)
IO
GPIO IO, Port C
Port C / DISPLAY / 2-WIRE SERIAL
G5
xpc[0]
D IO ST PD LSR
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
111 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
I/O
I
dbop_d[0]
IO
BOOT LOADER source select input
1: internal ROM
0: external ROM/Flash
DISPLAY data input/output (low byte)
xpc[1]
IO
GPIO IO, Port C
I
BOOT LOADER type select input
IO
DISPLAY data input/output (low byte)
IntBootSel*
F5
boot_sel[0]
D IO ST PD LSR
dbop_d[1]
xpc[2]
G3
F3
E3
G1
IO
GPIO IO, Port C
I
BOOT LOADER type select input
dbop_d[2]
IO
DISPLAY data input/output (low byte)
xpc[3]
IO
GPIO IO, Port C
boot_sel[1]
boot_sel[2]
D IO ST PD LSR
I
BOOT LOADER type select input
dbop_d[3]
IO
DISPLAY data input/output (low byte)
xpc[4]
IO
GPIO IO, Port C
dbop_d[4]
xpc[5]
dbop_d[5]
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
xpc[6]
F1
cmd_ms_sck
D IO ST PU LSR
dbop_d[6]
xpc[7]
E1
Ball Description
cmd_ms_sda
D IO ST PU LSR
dbop_d[7]
IO
DISPLAY data input/output (low byte)
IO
GPIO IO, Port C
IO
DISPLAY data input/output (low byte)
IO
GPIO IO, Port C
IO
2-WIRE SERIAL master/slave clock line
IO
DISPLAY data input/output (low byte)
IO
GPIO IO, Port C
IO
2-WIRE SERIAL master/slave data line
IO
DISPLAY data input/output (low byte)
IO
GPIO IO, Port D
IO
MMC/SD data line
IO
MEMORY STICK data line
Port D / SD Card / Memory Stick
xpd[0]
P13
mci_dat[0]
D IO ST LSR
ms_sdio[0]
xpd[1]
P14
P16
P18
mci_dat[1]
D IO ST LSR
IO
IO
GPIO IO, Port D
mci_dat[2]
IO
MMC/SD data line
ms_sdio[2]
IO
MEMORY STICK data line
xpd[3]
IO
GPIO IO, Port D
IO
MMC/SD data line
IO
MEMORY STICK data line
IO
GPIO IO, Port D
O
MMC/SD command line
mci_dat[3]
D IO ST LSR
D IO ST LSR
mci_cmd
D IO ST LSR
ms_sclk
O
MEMORY STICK clock line
xpd[5]
IO
GPIO IO, Port D
mci_clk
D IO ST LSR
ms_bs
xpd[6]
T18
mci_fbclk
D IO ST LSR
ms_fbclk
U18
MEMORY STICK data line
ms_sdio[1]
xpd[4]
R18
GPIO IO, Port D
MMC/SD data line
xpd[2]
ms_sdio[3]
R16
IO
IO
xpd[7]
mci_rod
D IO ST LSR
O
MMC/SD clock line
O
MEMORY STICK bus state
IO
GPIO IO, Port D
I
MMC/SD feedback clock
I
MEMORY STICK feedback clock
IO
GPIO IO, Port D
O
MMC/SD resistor open drain control
2-wire serial Audio Master
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
112 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
P6
i2c_audio_sck
D IO ST PU LSR
P5
i2c_audio_sda
D IO ST PU LSR
I/O
O
O
Ball Description
2-wire serial audio master clock line
used for controlling the audio/PMU sub system
2-wire serial audio master data line
used for controlling the audio/PMU sub system
Serial Synchronous Port
E14
F14
ssp_fssout
ssp_fssin
ssp_clkout
ssp_clkin
E16
ssp_rxd
F16
ssp_txd
O
SSP master, frame or slave select
I
SSP slave, frame select
O
SSP master, clock line
I
SSP slave, clock line
D IO ST PU LSR
I
SSP receive data input
D IO ST PU LSR
O
SSP transmit data output
D IO ST PU LSR
D IO ST PU LSR
NandFlash / IDE
K18
K16
J14
J12
J18
J16
H14
G14
K12
K14
L16
L18
L12
L14
M16
M18
naf_d[0]
ide_hd[0]
naf_d[1]
ide_hd[1]
naf_d[2]
ide_hd[2]
naf_d[3]
ide_hd[3]
naf_d[4]
ide_hd[4]
naf_d[5]
ide_hd[5]
naf_d[6]
ide_hd[6]
naf_d[7]
ide_hd[7]
naf_d[8]
ide_hd[8]
naf_d[9]
ide_hd[9]
naf_d[10]
ide_hd[10]
naf_d[11]
ide_hd[11]
naf_d[12]
ide_hd[12]
naf_d[13]
ide_hd[13]
naf_d[14]
ide_hd[14]
naf_d[15]
ide_hd[15]
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
D IO ST PD LSR
naf_cle
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (low byte)
IO
IDE data line (low byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
IO
NAND FLASH data line (high byte)
IO
IDE data line (high byte)
O
NAND FLASH command latch enable
M14
ide_dmarq
D IO ST LSR
I
N14
naf_ale
D IO ST LSR
O
IDE DMA request
used for DMA data transfers between host and device
NAND FLASH address latch enable
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
113 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
ide_iordy
I
naf_wp_n
M12
ide_intrq
O
D IO ST PD LSR
naf_ce0_n
M11
ide_cs0_n
T11
V11
ide_cs1_n
naf_ce2_n
ide_hiown
naf_ce3_n
ide_hiorn
D IO ST LSR
T12
V12
ide_dackn
naf_re_n
ide_npcblid
naf_bsy_n
ide_nscblid
O
O
D IO ST LSR
D IO ST LSR
D IO ST LSR
naf_we_n
P12
I
O
naf_ce1_n
P11
I/O
D IO ST LSR
D IO ST LSR
D IO ST LSR
O
Ball Description
IDE IO ready signal
used by device to extend host data transfer cycles
NAND FLASH write protect not
IDE interrupt request
used by device to interrupt the host controller
NAND FLASH chip enable
IDE chip select 0
used by the host to select command block registers in the
device
NAND FLASH chip enable
O
IDE chip select 1
used by the host to select control block registers in the
device
NAND FLASH chip enable
O
IDE host IO write strobe
O
NAND FLASH chip enable
O
IDE host IO read strobe
O
NAND FLASH write enable not
O
O
IDE DMA acknowledge
used by the host to initiate DMA data transfers
NAND FLASH read enable not
I
IDE primary channel cable ID detect
I
NAND FLASH ready / busy not
I
IDE secondary channel cable ID select
E18
ide_ha[0]
D OUT LSR
O
IDE host address
F18
ide_ha[1]
D OUT LSR
O
IDE host address
G18
ide_ha[2]
D OUT LSR
O
IDE host address
O
IDE reset not,
used by the host to reset the device
IS2 data output, data output from digital core to audio sub
system
I2S serial clock, clock output from digital core to audio sub
system
I2S left/right clock, clock output from digital core to audio
sub system
I2S master clock, clock output from digital core to audio sub
system
G16
ide_reset_n
D OUT LSR
I2S Output
i2so_sdata
D OUT LSR
O
L3
i2so_sclk
D OUT LSR
O
T7
i2so_lrck
D OUT LSR
O
M3
i2so_mclk
D OUT LSR
O
D IN ST
I
N5
I2S Input
M5
i2si_sdata
O
i2si_sclk_out
K3
D IO ST LSR
i2si_sclk_in
I
O
i2si_lrck_out
P7
D IO ST LSR
I
i2si_lrck_in
L5
i2si_mclk
D OUT LSR
J3
i2si_sdata_in
D IN ST PD
O
I
I2S data input, data output from audio sub system to digital
core
I2S master serial clock
serial clock output for external ADC if AS3525 is I2S master
I2S slave serial clock
serial clock input for external ADC if AS3525 is I2S slave
I2S master, left/right clock
left/right clock output for external ADC if AS3525 is I2S
master
I2S slave, left/right clock
left/right clock input for external ADC if AS3525 is I2S master
I2S master, master clock
I2S data input
data input from external audio ADC
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
114 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
I/O
I
spdif_data_in
Ball Description
SPDIF data input
data input for SPDIF to I2S conversion
Audio Subsystem IRQ
T6
INTRQ
D IN ST
I
interrupt input
JTAG Debugging IF
T8
jtag_trst_n
D IN ST PD
I
JTAG reset not
T9
jtag_tms
D IN ST PU
I
JTAG mode select
V9
jtag_tck
D IN ST PU
I
JTAG clock
V10
jtag_tdi
D IN ST PU
I
JTAG data input
T10
jtag_tdo
D IO ST PU LSR
O
JTAG data output
External Memory IF
A1
mpmc_addr[0]
D OUT LSR LV
O
EXT. MEMORY address line
C3
mpmc_addr[1]
D OUT LSR LV
O
EXT. MEMORY address line
A2
mpmc_addr[2]
D OUT LSR LV
O
EXT. MEMORY address line
E5
mpmc_addr[3]
D OUT LSR LV
O
EXT. MEMORY address line
A3
mpmc_addr[4]
D OUT LSR LV
O
EXT. MEMORY address line
E6
mpmc_addr[5]
D OUT LSR LV
O
EXT. MEMORY address line
A4
mpmc_addr[6]
D OUT LSR LV
O
EXT. MEMORY address line
J7
mpmc_addr[7]
D OUT LSR LV
O
EXT. MEMORY address line
C4
mpmc_addr[8]
D OUT LSR LV
O
EXT. MEMORY address line
H7
mpmc_addr[9]
D OUT LSR LV
O
EXT. MEMORY address line
A5
mpmc_addr[10]
D OUT LSR LV
O
EXT. MEMORY address line
G7
mpmc_addr[11]
D OUT LSR LV
O
EXT. MEMORY address line
C5
mpmc_addr[12]
D OUT LSR LV
O
EXT. MEMORY address line
E7
mpmc_addr[13]
D OUT LSR LV
O
EXT. MEMORY address line
A6
mpmc_addr[14]
D OUT LSR LV
O
EXT. MEMORY address line
G8
mpmc_addr[15]
D OUT LSR LV
O
EXT. MEMORY address line
C6
mpmc_addr[16]
D OUT LSR LV
O
EXT. MEMORY address line
E8
mpmc_addr[17]
D OUT LSR LV
O
EXT. MEMORY address line
A7
mpmc_addr[18]
D OUT LSR LV
O
EXT. MEMORY address line
G9
mpmc_addr[19]
D OUT LSR LV
O
EXT. MEMORY address line
C7
mpmc_addr[20]
D OUT LSR LV
O
EXT. MEMORY address line
O
EXT. MEMORY clock enable0
used for SDRAM devices only
EXT. MEMORY clock enable 1
used for SDRAM devices only
EXT. MEMORY clock 0
used for SDRAM devices only
EXT. MEMORY clock 1
used for SDRAM devices only
EXT. MEMORY feedback clock
used for SDRAM devices only
EXT. MEMORY data mask 0
used for SDRAM devices and static memories
EXT. MEMORY data mask 1
used for SDRAM devices and static memories
EXT. MEMORY column address strobe not
used for SDRAM devices only
EXT. MEMORY dynamic memory chip select 0 not
used for SDRAM devices only
M9
mpmc_cke[0]
D OUT LSR LV
M10
mpmc_cke[1]
D OUT LSR LV
A9
mpmc_clk[0]
D OUT LSR LV
A10
mpmc_clk[1]
D OUT LSR LV
C9
mpmc_fbclkin
D IO ST PD LSR LV
E9
mpmc_dqm[0]
D OUT LSR LV
E10
mpmc_dqm[1]
D OUT LSR LV
C10
mpmc_cas_n
D OUT LSR LV
J9
mpmc_dycs_n[0] D OUT LSR LV
O
O
O
O
O
O
O
O
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
115 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
I/O
J10
mpmc_dycs_n[1] D OUT LSR LV
G10
mpmc_ras_n
D OUT LSR LV
P9
mpmc_we_n
D OUT LSR LV
K9
mpmc_stcs_n[0]
D OUT LSR LV
K10
mpmc_stcs_n[1]
D OUT LSR LV
mpmc_bls_n[0]
D OUT LSR LV
mpmc_bls_n[1]
D OUT LSR LV
mpmc_oe_n
D OUT LSR LV
C12
mpmc_data[0]
D IO ST PD LSR LV
IO
EXT. MEMORY dynamic memory chip select 1 not
used for SDRAM devices only
EXT. MEMORY row address strobe not
used for SDRAM devices only
EXT. MEMORY write enable not
used for SDRAM devices and static memories
EXT. MEMORY static memory chip select 0 not
used for static memory devices only
EXT. MEMORY static memory chip select 0 not
used for static memory devices only
EXT. MEMORY byte lane select 0 not
used for static memory devices only
EXT. MEMORY byte lane select 1 not
used for static memory devices only
EXT. MEMORY output enable not
used for static memory devices only
EXT. MEMORY data line
E12
mpmc_data[1]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
A12
mpmc_data[2]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
G12
mpmc_data[3]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
E11
G11
P10
O
Ball Description
O
O
O
O
O
O
O
A13
mpmc_data[4]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
H12
mpmc_data[5]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
A14
mpmc_data[6]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
E13
mpmc_data[7]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
A15
mpmc_data[8]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
C13
mpmc_data[9]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
A16
mpmc_data[10]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
C14
mpmc_data[11]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
A17
mpmc_data[12]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
C15
mpmc_data[13]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
A18
mpmc_data[14]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
C16
mpmc_data[15]
D IO ST PD LSR LV
IO
EXT. MEMORY data line
DBOP
C1
dbop_d[12]
D IO ST PD LSR
IO
DISPLAY data input/output (high byte)
B1
dbop_d[13]
D IO ST PD LSR
IO
DISPLAY data input/output (high byte)
B18
dbop_d[14]
D IO ST PD LSR
IO
DISPLAY data input/output (high byte)
C18
dbop_d[15]
D IO ST PD LSR
IO
DISPLAY data input/output (high byte)
USB 2.0 OTG
T1
usb_vdda33t
PWP_VD_RDO_3V
P
USB 3.3V analog power supply for OTG transceiver block
L1
usb_vdda33t
PWP_VD_RDO_3V
P
USB 3.3V analog power supply for OTG transceiver block
M1
usb_vssa33t
PWP_VS_RDO_3V
P
USB 3.3V analog ground supply for OTG transceiver block
R1
usb_vssa33t
PWP_VS_RDO_3V
P
USB 3.3V analog ground supply for OTG transceiver block
N1
usb_dp
USB_ESD_5VT
A
USB D+ signal from USB cable
P1
usb_dm
USB_ESD_5VT
A
USB D- signal from USB cable
V5
usb_xi
ANA_BI_DNR_3V
A
USB crystal oscillator xi pin
used for using external crystal for USB
for testing purpose only, can be tied to
USB crystal oscillator xo pin
used for using external crystal for USB
for testing purpose only, can be tied to
USB external resistor connect
T5
R3
usb_xo
usb_rext
ANA_BI_DNR_3V
ANA_BI_RXT_3V
A
A
clock generation
ground or left floating
clock generation
ground or left floating
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
116 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
Ball Nr.
BGA180
Ball Name
PAD Type
I/O
Ball Description
U1
vdda33c
PWP_VD_ANA_3V
P
analog signal to the external resistor for setting the bias
current of the USB 2.0 OTG PHY, voltage level is 1.1-1.3V
USB 3.3V analog power supply for common block
V2
usb_vssa33c
PWP_VS_RDO_3V
P
USB 3.3V analog ground supply for common block
V6
analog_test
ANA_BI_DNR_3V
A
V1
VBUS
USB analog test input/output
for testing purpose only, has to be left open
USB20_VBUS_5VT_O AIO USB VBUS analog input
TG
Supply Balls
D1
vdd_peri_l
P
P
3.3V peripheral power supply
D18
vdd_peri_r
P
P
3.3V peripheral power supply
N18
vdd_peri_r
P
P
3.3V peripheral power supply
A8
vdd_mem
P
P
3.3V/2.5V/1.8V external memory power supply
A11
vdd_mem
P
P
3.3V/2.5V/1.8V external memory power supply
D3
vss_peri_l
P
P
3.3V peripheral ground supply
D16
vss_peri_r
P
P
3.3V peripheral ground supply
N16
vss_peri_r
P
P
3.3V peripheral ground supply
C8
vss_mem
P
P
3.3V (2.5V) external memory ground supply
C11
vss_mem
P
P
3.3V (2.5V) external memory ground supply
H1
vdd_core
P
P
1.2V core power supply
H18
vdd_core
P
P
1.2V core power supply
V4
vdd_core_ana
P
P
1.2V core power supply (analog blocks)
V16
vdd_core_ana
P
P
1.2V core power supply (analog blocks)
V3
vddapll
P
P
1.2V PLL power supply
H3
vss_core
P
P
1.2V core ground supply
H16
vss_core
P
P
1.2V core ground supply
T4
vss_core_ana
P
P
1.2V core ground supply (analog blocks)
T16
vss_core_ana
P
P
1.2V core ground supply (analog blocks)
T3
vssapll
P
P
1.2V PLL ground suppl
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
117 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
6.3
Pad Cell Description
6.3.1 Digital Pads
6.3.1.1
D IN ST
6.3.1.2
D IN PD ST
Figure 46 Digital Input with Schmitt Trigger and Pull-Down
Figure 45 Digital Input with Schmitt Trigger
Schmitt
PAD
6.3.1.3
Schmitt
C
D IN PU ST
PAD
C
6.3.1.4
Figure 47 Digital Input with Schmitt Trigger and Pull-Up
D IN (PU)
Figure 48 Digital Input with enable controlled Pull-Up
Schmitt
PAD
C
REN
PAD
6.3.1.5
D OUT LSR
6.3.1.6
Figure 49 Digital Output with Limited Slew Rate
I
C
D IO ST LSR
Figure 50 Digital Schmitt Trigger Input and Limited Slew Rate
Output
PAD
Schmitt
C
I
PAD
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
118 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
6.3.1.7
D IO ST PU LSR
6.3.1.8
Figure 51 Digital Schmitt Trigger Input with Pull-Up and Limited
Slew Rate Output
D IO ST PD LSR
Figure 52 Digital Schmitt Trigger Input with Pull-Down and Limited
Slew Rate Output
Schmitt
Schmitt
C
C
I
I
PAD
6.3.1.9
D OUT LSR LV
6.3.1.10 D IO ST PD LSR LV
Figure 53 Digital Output with Limited Slew Rate (low voltage)
I
PAD
Figure 54 Digital Schmitt Trigger Input with Pull-Down and Limited
Slew Rate Output (low voltage)
PAD
Schmitt
C
I
7
Appendix
7.1
Memory MAP
PAD
ARM922T provides 32-bit address to access the peripherals and memory. With this 32-bit address ARM922T can access up to 4 Giga
Bytes of memory. Cocoa does not use the complete 4 GB address space.
Address 0x0000_0000 is mapped to internal ROM or External Memory interface based on the boot ROM selection by the external input
pin (Port C, xpc[0] = intBootSel) Pin intBootSel=1 at startup selects the internal ROM, intBootSel = 0 selects the external memory.
The address range starting at 0x0000_0000 is also mapped to internal RAM upon setting of the remap bit. This remap allows the user to
select either RAM or ROM at 0x0000_0000.
Table 84 Address Map
S.No
.
Start (Base)
Address
End Address
Actual
Block Size
Peripheral
Comment
AHB Blocks
0x0000_0000
0x0001_FFFF
128 KByte
Internal ROM
0x0000_0000
0x003F_FFFF
4 MB
0x0000_0000
0x0100_0000
0x1000_0000
0x0004_FFFF
0x0FFF_FFFF
0x103F_FFFF
320 KByte
External Memory IF
(MPMC Bank1 – Ext
Flash or Ext ROM)
Embedded 1T-RAM
Reserved
External Memory IF
4 MB
Remap = 0 and
IntBootSel = 1
Remap = 0 and
IntBootSel = 0
Remap = 1
Aliased
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
119 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
S.No
.
Start (Base)
Address
End Address
Actual
Block Size
0x1100_0000
0x2000_0000
0x1FFF_FFFF
0x203F_FFFF
4 MB
0x2100_0000
0x3000_0000
0x2FFF_FFFF
0x3FFF_FFFF
256 MB
0x4000_0000
0x4FFF_FFFF
256 MB
0x5000_0000
0x8000_0000
0x8002_0000
0x8100_0000
0x8105_0000
0xC000_0000
0xC002_0000
0xC100_0000
0xC105_0000
0xC600_0000
0xC601_0000
0xC602_0000
0xC603_0000
0xC604_0000
0xC605_0000
0x7FFF_FFFF
0x8001_FFFF
0x80FF_FFFF
0x8104_FFFF
0xBFFF_FFFF
0xC001_FFFF
0xC0FF_FFFF
0xC104_FFFF
0xC5FF_FFFF
0xC600_FFFF
0xC601_FFFF
0xC602_FFFF
0xC603_FFFF
0xC604_FFFF
0xC605_FFFF
0xC606_0000
0xC607_0000
0xC606_FFFF
0xC7FF_FFFF
128 KByte
320 KByte
128 KByte
320 KByte
Few
Few
Few
Few
Few
Few
4 KByte
Peripheral
(MPMC Bank1 – Ext
Flash or Ext ROM)
Reserved
External Memory IF
(MPMC Bank2 –
External LCD Controller)
Reserved
External Memory IF
(MPMC Bank 4 –
SDRAM)
External Memory If
(MPMC Bank5 –
SDRAM)
Reserved
Internal ROM
Reserved
Embedded 1T-RAM
Reserved
Internal ROM
Reserved
Embedded 1T-RAM
Reserved
USB2.0 Slave
VIC
DMAC Slave
ExtMemIFSlave
MemoryStick Slave
CompactFlash/IDE
Slave
ARM922T Slave
Reserved
Comment
Aliased
Aliased
Aliased
Aliased
APB blocks
0xC800_0000
0xC800_FFFF
Few
0xC801_0000
0xC802_0000
0xC803_0000
0xC804_0000
0xC805_0000
0xC806_0000
0xC807_0000
0xC808_0000
0xC809_0000
0xC80A_0000
0xC80B_0000
0xC80C_0000
0xC80D_0000
0xC80E_0000
0xC80F_0000
0xC810_0000
0xC811_0000
0xC812_0000
0xC813_0000
0xC801_FFFF
0xC802_FFFF
0xC803_FFFF
0xC804_FFFF
0xC805_FFFF
0xC806_FFFF
0xC807_FFFF
0xC808_FFFF
0xC809_FFFF
0xC80A_FFFF
0xC80B_FFFF
0xC80C_FFFF
0xC80D_FFFF
0xC80E_FFFF
0xC80F_FFFF
0xC810_FFFF
0xC811_FFFF
0xC812_FFFF
0xC813_FFFF
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Few
Nand Flash / Smart
Media Interface
BistManager
SD-MCI
Reserved
Timer
Watchdog Timer
I2C Master/Slave
I2C Audio Master
SSP
I2S IN Interface
I2S OUT Interface
GPIO A
GPIO B
GPIO C
GPIO D
Clock Generation Unit
Chip Control Unit
Debug UART
DBOP
reserved
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
120 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
7.2
Register definitions
This section gives a short overview of all module registers.
7.2.1 Base Address definitions
Each module register block starts at a specific base address.
Table 85 Base Addresses
REGISTER Name
AS3525_RAM_BASE
AS3525_USB_BASE
AS3525_VIC_BASE
AS3525_DMAC_BASE
AS3525_EXTMEM_ITF_BASE
AS3525_MEMSTICK_BASE
AS3525_CF_IDE_BASE
AS3525_NAND_FLASH_BASE
AS3525_BIST_MANAGER_BASE
AS3525_SD_MCI_BASE
AS3525_TIMER_BASE
AS3525_WDT_BASE
AS3525_I2C_MS_BASE
AS3525_I2C_AUDIO_BASE
AS3525_SSP_BASE
AS3525_I2SIN_BASE
AS3525_I2SOUT_BASE
AS3525_GPIO1_BASE
AS3525_GPIO2_BASE
AS3525_GPIO3_BASE
AS3525_GPIO4_BASE
AS3525_CGU_BASE
AS3525_CCU_BASE
AS3525_UART_BASE
AS3525_DBOP_BASE
Register Address
0x00000000
0xC6000000
0xC6010000
0xC6020000
0xC6030000
0xC6040000
0xC6050000
0xC8000000
0xC8010000
0xC8020000
0xC8040000
0xC8050000
0xC8060000
0xC8070000
0xC8080000
0xC8090000
0xC80A0000
0xC80B0000
0xC80C0000
0xC80D0000
0xC80E0000
0xC80F0000
0xC8100000
0xC8110000
0xC8120000
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
121 - 124
austriamicrosystems
AS3524 C21 / C22
Data Sheet, Confidential
8 Ordering Information
Table 86 ordering information
Device ID
Number
AS3524P[-Z] V D
AS3524A-Z
AS3524A-Z
AS3524A-Z
AS3524A-Z
C21
C21
C22
C22
TRA
T&R
TRA
T&A
Package Type
Delivery Form
Description
CTBGA 180
Tray
Tape and Reel
Tray
Tape and Reel
Pb-free
Where
V = Version
C21:
Version with initial Bootloader Version 1
C22:
Version with ROM mask update and changed Bootloader Version 2
see chapter
P = Package Type:
A: CTBGA 180, Thin ChipArray Ball Grid Array, 10x10mm package size, 0.5mm ball pitch
D = Delivery Form:
TRA = Tray
T&R = Tape and Reel
Z = Pb-free Status:
Z = Pb-free/ RoHS package type
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
122 - 124
AS3524 C21 / C22
Data Sheet, Confidential
9
austriamicrosystems
Copyright
Copyright © 1997-2006, austriamicrosystems AG, Schloss Premstaetten, 8141 Unterpremstaetten, Austria-Europe. Trademarks
Registered ®. All rights reserved. The material herein may not be reproduced, adapted, merged, translated, stored, or used without the
prior written consent of the copyright owner.
All products and companies mentioned are trademarks of their respective companies.
10
Disclaimer
Devices sold by austriamicrosystems AG are covered by the warranty and patent identification provisions appearing in its Term of Sale.
austriamicrosystems AG makes no warranty, express, statutory, implied, or by description regarding the information set forth herein or
regarding the freedom of the described devices from patent infringement. austriamicrosystems AG reserves the right to change
specifications and prices at any time and without notice. Therefore, prior to designing this product into a system, it is necessary to check
with austriamicrosystems AG for current information. This product is intended for use in normal commercial applications. Applications
requiring extended temperature range, unusual environmental requirements, or high reliability applications, such as military, medical lifesupport or life-sustaining equipment are specifically not recommended without additional processing by austriamicrosystems AG for each
application.
The information furnished here by austriamicrosystems AG is believed to be correct and accurate. However, austriamicrosystems AG
shall not be liable to recipient or any third party for any damages, including but not limited to personal injury, property damage, loss of
profits, loss of use, interruption of business or indirect, special, incidental or consequential damages, of any kind, in connection with or
arising out of the furnishing, performance or use of the technical data herein. No obligation or liability to recipient or any third party shall
arise or flow out of austriamicrosystems AG rendering of technical or other services.
11
Contact Information
austriamicrosystems AG
Business Unit Communications
A 8141 Schloss Premstätten, Austria
T. +43 (0) 3136 500 0
F. +43 (0) 3136 5692
[email protected]
For Sales Offices, Distributors and Representatives, please visit:
http://www.austriamicrosystems.com
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
123 - 124
AS3524 C21 / C22
Data Sheet, Confidential
austriamicrosystems
© 2003-2006, austriamicrosystems AG, 8141 Unterpremstaetten, Austria-Europe. All Rights Reserved.
www.austriamicrosystems.com
Revision 1.11
124 - 124