ANALOG DEVICES ADSP-BF542, ADSP-BF544, ADSP-BF547, ADSP-BF548, ADSP-BF549 Service Manual

Blackfin
CAN (0-1)
TWI (0-1)
TIMERS(0-10)
KEYPAD
COUNTER
RTC
HOST DMA
JTAG TEST AND
EMULATION
UART (2-3)
EXTERNAL PORT
NOR, DDR, MDDR
SPI (2)
SPORT (0-1)
SD / SDIO
WATCHDOG
TIMER
BOOT
ROM
32
16
PIXEL
COMPOSITOR
VO LTAGE
REGULATOR
EPPI (0-2)
SPORT (2-3)
SPI (0-1)
UART (0-1)
PORTS
PAB
USB
16-BIT DMA
32-BIT DMA
INTERRUPTS
L2
SRAM
L1
INSTR ROML1INSTR SRAML1DATA SRAM
DAB1
DAB0
PORTS
OTP
16 16
DDR/MDDR ASYNC
16
NAND FLASH CONTROLLER
ATAPI
MXVR
DCB 32 EAB 64 DEB 32
B
Embedded Processor
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549

FEATURES

Up to 600 MHz high performance Blackfin processor
Two 16-bit MACs, two 40-bit ALUs, four 8-bit video ALUs RISC-like register and instruction model
Wide range of operating voltages and flexible booting
options Programmable on-chip voltage regulator 400-ball CSP_BGA, RoHS compliant package

MEMORY

Up to 324K bytes of on-chip memory comprised of
instruction SRAM/cache; dedicated instruction SRAM; data
SRAM/cache; dedicated data SRAM; scratchpad SRAM External sync memory controller supporting either DDR
SDRAM or mobile DDR SDRAM External async memory controller supporting 8-/16-bit async
memories and burst flash devices NAND flash controller 4 memory-to-memory DMA pairs, 2 with ext. requests Memory management unit providing memory protection Code security with Lockbox secure technology and 128-bit
AES/ARC4 data encryption One-time-programmable (OTP) memory

PERIPHERALS

High speed USB On-the-Go (OTG) with integrated PHY SD/SDIO controller ATA/ATAPI-6 controller Up to 4 synchronous serial ports (SPORTs) Up to 3 serial peripheral interfaces (SPI-compatible) Up to 4 UARTs, two with automatic H/W flow control Up to 2 CAN (controller area network) 2.0B interfaces Up to 2 TWI (2-wire interface) controllers 8- or 16-bit asynchronous host DMA interface Multiple enhanced parallel peripheral interfaces (EPPIs),
supporting ITU-R BT.656 video formats and 18-/24-bit LCD
connections Media transceiver (MXVR) for connection to a MOST network Pixel compositor for overlays, alpha blending, and color
conversion Up to eleven 32-bit timers/counters with PWM support Real-time clock (RTC) and watchdog timer Up/down counter with support for rotary encoder Up to 152 general-purpose I/O (GPIOs) On-chip PLL capable of frequency multiplication Debug/JTAG interface
Figure 1. ADSP-BF549 Functional Block Diagram
Blackfin and the Blackfin logo are registered trademarks of Analog Devices, Inc.
Rev. D
Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners.
One Technology Way, P.O.Box 9106, Norwood, MA 02062-9106 U.S.A. Tel: 781.329.4700 www.analog.com Fax: 781.461.3113 © 2011 Analog Devices, Inc. All rights reserved.
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549

TABLE OF CONTENTS

General Description ................................................. 3
Low Power Architecture ......................................... 4
System Integration ................................................ 4
Blackfin Processor Peripherals ................................. 4
Blackfin Processor Core .......................................... 4
Memory Architecture ............................................ 6
DMA Controllers .................................................. 9
Real-Time Clock ................................................. 10
Watchdog Timer ................................................ 10
Timers ............................................................. 10
Up/Down Counter and Thumbwheel Interface .......... 11
Serial Ports (SPORTs) .......................................... 11
Serial Peripheral Interface (SPI) Ports ...................... 11
UART Ports (UARTs) .......................................... 11
Controller Area Network (CAN) ............................ 12
TWI Controller Interface ...................................... 12
Ports ................................................................ 12
Pixel Compositor (PIXC) ...................................... 13
Enhanced Parallel Peripheral Interface (EPPI) ........... 13
USB On-the-Go Dual-Role Device Controller ............ 13
ATA/ATAPI-6 Interface ....................................... 14
Keypad Interface ................................................. 14
Secure Digital (SD)/SDIO Controller ....................... 14
Code Security ..................................................... 14
Media Transceiver MAC Layer (MXVR) ................... 14
Dynamic Power Management ................................ 15
Voltage Regulation .............................................. 16
Clock Signals ...................................................... 17
Booting Modes ................................................... 18
Instruction Set Description .................................... 21
Development Tools .............................................. 21
Designing an Emulator-Compatible Processor Board . . . 21
MXVR Board Layout Guidelines ............................. 21
Related Documents .............................................. 22
Related Signal Chains ........................................... 22
Lockbox Secure Technology Disclaimer .................... 22
Pin Descriptions .................................................... 23
Specifications ........................................................ 33
400-Ball CSP_BGA Package ...................................... 92
Outline Dimensions ................................................ 98
Surface-Mount Design .......................................... 98
Automotive Products .............................................. 99
Ordering Guide ..................................................... 99

REVISION HISTORY

5/11—Rev. C to Rev. D
Numerous small corrections and additions to document.
Major changes/additions include:
Added several extended temperature models. For more infor-
mation, see Ordering Guide ...................................... 99
Added new text for pin descriptions in Pin Descriptions .. 23
Added 400 MHz Junction Temperature to Parameter column of
the Operating Conditions table in Specifications ............ 33
Updated Table 15 to include information on extended tempera-
ture grade parts. See System Clock Requirements ........... 34
Data in the Nonautomotive 400 MHz column of Electrical
Characteristics also applies to extended temperature grade as
noted in footnote 1. See Electrical Characteristics .......... 35
Updated Table 23 to reflect RoHS compliant part is optional.
See Package Information ......................................... 40
Updated Table 31 to reflect extended temperature grade part. See DDR SDRAM/Mobile DDR SDRAM Clock and Control
Cycle Timing ........................................................ 47
Added timer clock timing specification table (Table 47) and fig-
ure (Figure 41). See Timer Clock Timing ...................... 66
Updated package diagram to correct JEDEC specification and
outdated coplanarity number. See Outline Dimensions .... 98
To view product/process change notifications (PCNs) related to this data sheet revision, please visit the processor's product page on the www.analog.com website and use the View PCN link.
Rev. D | Page 2 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549

GENERAL DESCRIPTION

The ADSP-BF54x Blackfin® processors are members of the Blackfin family of products, incorporating the Analog Devices/ Intel Micro Signal Architecture (MSA). Blackfin processors combine a dual-MAC state-of-the-art signal processing engine, the advantages of a clean, orthogonal RISC-like microprocessor instruction set, and single-instruction, multiple-data (SIMD) multimedia capabilities into a single instruction-set architecture.
Specific performance, memory configurations, and features of ADSP-BF54x Blackfin processors are shown in Table 1.
Table 1. ADSP-BF54x Processor Features
Processor Features
ADSP-BF549
ADSP-BF548
ADSP-BF547
ADSP-BF544
ADSP-BF542
Lockbox® 1code security
128-bit AES/ ARC4 data encryption 11111
SD/SDIO controller 1 1 1 1
Pixel compositor 1 1 1 1 1
18- or 24-bit EPPI0 with LCD 1 1 1 1
16-bit EPPI1, 8-bit EPPI2 1 1 1 1 1
Host DMA port 1 1 1 1
NAND flash controller 1 1 1 1 1
ATAPI 111–1
High speed USB OTG 1 1 1 1
Keypad interface 1 1 1 1
MXVR 1
CAN ports 2 2 2 1
TWI ports 22221
SPI ports 33322
UART ports 44433
SPORTs 44433
Up/down counter 11111
Timers 11 11 11 11 8
General-purpose I/O pins 152 152 152 152 152
Memory Configura-
tions (K Bytes)
Maximum core instruction rate (MHz) 533 533 600 533 600
1
Lockbox is a registered trademark of Analog Devices, Inc.
2
This ROM is not customer-configurable.
L1 Instruction SRAM/cache 16 16 16 16 16
L1 Instruction SRAM 48 48 48 48 48
L1 Data SRAM/cache 32 32 32 32 32
L1 Data SRAM 32 32 32 32 32
L1 Scratchpad SRAM 44444
2
L1 ROM
L2 128 128 128 64
L3 Boot ROM
2
11111
64 64 64 64 64
44444
Specific peripherals for ADSP-BF54x Blackfin processors are shown in Table 2.
Table 2. Specific Peripherals for ADSP-BF54x Processors
Module
ADSP-BF549
ADSP-BF548
ADSP-BF547
ADSP-BF544
ADSP-BF542
EBIU (async) PPPPP
NAND flash controller PPPPP
ATAPI PPP–P
Host DMA port (HOSTDP) PPPP–
SD/SDIO controller P P P P
EPPI0 PPPP–
EPPI1 PPPPP
EPPI2 PPPPP
SPORT0 PPP––
SPORT1 PPPPP
SPORT2 PPPPP
SPORT3 PPPPP
SPI0 PPPPP
SPI1 PPPPP
SPI2 PPP––
UART0 PPPPP
UART1 PPPPP
UART2 PPP––
UART3 PPPPP
High speed USB OTG PPP–P
CAN0 P P P P
CAN1 P P P
TWI0 PPPPP
TWI1 PPPP–
Timer 07 PPPPP
Timer 810 PPPP–
Up/down counter PPPPP
Keypad interface P P P P
MXVR P––––
GPIOs PPPPP
Rev. D | Page 3 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
The ADSP-BF54x Blackfin processors are completely code- and pin-compatible. They differ only with respect to their perfor­mance, on-chip memory, and selection of I/O peripherals. Specific performance, memory, and feature configurations are shown in Table 1.
By integrating a rich set of industry-leading system peripherals and memory, Blackfin processors are the platform of choice for next-generation applications that require RISC-like program­mability, multimedia support, and leading-edge signal processing in one integrated package.

LOW POWER ARCHITECTURE

Blackfin processors provide world-class power management and performance. Blackfin processors are designed in a low power and low voltage design methodology and feature on-chip dynamic power management, the ability to vary both the voltage and frequency of operation to significantly lower overall power consumption. Reducing both voltage and frequency can result in a substantial reduction in power consumption as compared to reducing only the frequency of operation. This translates into longer battery life for portable appliances.

SYSTEM INTEGRATION

The ADSP-BF54x Blackfin processors are highly integrated system-on-a-chip solutions for the next generation of embed­ded network connected applications. By combining industry­standard interfaces with a high performance signal processing core, users can develop cost-effective solutions quickly without the need for costly external components. The system peripherals include a high speed USB OTG (On-the-Go) controller with integrated PHY, CAN 2.0B controllers, TWI controllers, UART ports, SPI ports, serial ports (SPORTs), ATAPI controller, SD/SDIO controller, a real-time clock, a watchdog timer, LCD controller, and multiple enhanced parallel peripheral interfaces.

BLACKFIN PROCESSOR PERIPHERALS

The ADSP-BF54x processors contain a rich set of peripherals connected to the core via several high bandwidth buses, provid­ing flexibility in system configuration as well as excellent overall system performance (see Figure 1 on Page 1). The general­purpose peripherals include functions such as UARTs, SPI, TWI, timers with pulse width modulation (PWM) and pulse measurement capability, general-purpose I/O pins, a real-time clock, and a watchdog timer. This set of functions satisfies a wide variety of typical system support needs and is augmented by the system expansion capabilities of the part. The ADSP­BF54x processors contain dedicated network communication modules and high speed serial and parallel ports, an interrupt controller for flexible management of interrupts from the on­chip peripherals or external sources, and power management control functions to tailor the performance and power charac­teristics of the processor and system to many application scenarios.
All of the peripherals, except for general-purpose I/O, CAN, TWI, real-time clock, and timers, are supported by a flexible DMA structure. There are also separate memory DMA channels dedicated to data transfers between the processor's various
memory spaces, including external DDR (either standard or mobile, depending on the device) and asynchronous memory. Multiple on-chip buses running at up to 133 MHz provide enough bandwidth to keep the processor core running along with activity on all of the on-chip and external peripherals.
The ADSP-BF54x Blackfin processors include an on-chip volt­age regulator in support of the dynamic power management capability. The voltage regulator provides a range of core volt­age levels when supplied from V be bypassed at the user’s discretion.
. The voltage regulator can
DDEXT

BLACKFIN PROCESSOR CORE

As shown in Figure 2 on Page 5, the Blackfin processor core contains two 16-bit multipliers, two 40-bit accumulators, two 40-bit ALUs, four video ALUs, and a 40-bit shifter. The compu­tation units process 8-, 16-, or 32-bit data from the register file.
The compute register file contains eight 32-bit registers. When performing compute operations on 16-bit operand data, the register file operates as 16 independent 16-bit registers. All operands for compute operations come from the multiported register file and instruction constant fields.
Each MAC can perform a 16-bit by 16-bit multiply in each cycle, accumulating the results into the 40-bit accumulators. Signed and unsigned formats, rounding, and saturation are supported.
The ALUs perform a traditional set of arithmetic and logical operations on 16- or 32-bit data. In addition, many special instructions are included to accelerate various signal processing tasks. These include bit operations such as field extract and pop­ulation count, modulo 2 and rounding, and sign/exponent detection. The set of video instructions include byte alignment and packing operations, 16-bit and 8-bit adds with clipping, 8-bit average operations, and 8-bit subtract/absolute value/accumulate (SAA) operations. Also provided are the compare/select and vector search instructions.
For certain instructions, two 16-bit ALU operations can be per­formed simultaneously on register pairs (a 16-bit high half and 16-bit low half of a compute register). By also using the second ALU, quad 16-bit operations are possible.
The 40-bit shifter can perform shifts and rotates and is used to support normalization, field extract, and field deposit instructions.
The program sequencer controls the flow of instruction execu­tion, including instruction alignment and decoding. For program flow control, the sequencer supports PC relative and indirect conditional jumps (with static branch prediction), and subroutine calls. Hardware is provided to support zero-over­head looping. The architecture is fully interlocked, meaning that the programmer need not manage the pipeline when executing instructions with data dependencies.
The address arithmetic unit provides two addresses for simulta­neous dual fetches from memory. It contains a multiported register file consisting of four sets of 32-bit index, modify,
32
multiply, divide primitives, saturation
Rev. D | Page 4 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
SEQUENCER
ALIGN
DECODE
LOOP BUFFER
16
16
8888
40 40
A0 A1
BARREL SHIFTER
DATA ARITHMETIC UNIT
CONTROL
UNIT
R7.H R6.H
R5.H
R4.H
R3.H
R2.H
R1.H
R0.H
R7.L R6.L
R5.L
R4.L
R3.L
R2.L
R1.L
R0.L
ASTAT
40 40
32
32
32
32
32 32 32LD0
LD1
SD
DAG0
DAG1
ADDRESS ARITHMETIC UNIT
I3
I2
I1
I0
L3
L2
L1
L0
B3
B2
B1
B0
M3
M2
M1
M0
SP FP
P5
P4 P3
P2
P1
P0
DA1
DA0
32
32
32
PREG
RAB
32
TO MEMORY
length, and base registers (for circular buffering), and eight additional 32-bit pointer registers (for C-style indexed stack manipulation).
Blackfin processors support a modified Harvard architecture in combination with a hierarchical memory structure. Level 1 (L1) memories are those that typically operate at the full processor speed with little or no latency. At the L1 level, the instruction memory holds instructions only. The two data memories hold data, and a dedicated scratchpad data memory stores stack and local variable information.
In addition, multiple L1 memory blocks are provided, offering a configurable mix of SRAM and cache. The memory manage­ment unit (MMU) provides memory protection for individual tasks that may be operating on the core and can protect system registers from unintended access.
The architecture provides three modes of operation: user mode, supervisor mode, and emulation mode. User mode has restricted access to certain system resources, thus providing a protected software environment, while supervisor mode has unrestricted access to the system and core resources.
The Blackfin processor instruction set has been optimized so that 16-bit opcodes represent the most frequently used instruc­tions, resulting in excellent compiled code density. Complex DSP instructions are encoded into 32-bit opcodes, representing fully featured multifunction instructions. Blackfin processors support a limited multi-issue capability, where a 32-bit instruc­tion can be issued in parallel with two 16-bit instructions, allowing the programmer to use many of the core resources in a single instruction cycle.
The Blackfin processor assembly language uses an algebraic syn­tax for ease of coding and readability. The architecture has been optimized for use in conjunction with the C/C++ compiler, resulting in fast and efficient software implementations.
Figure 2. Blackfin Processor Core
Rev. D | Page 5 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
RESERVED
CORE MMR REGISTERS (2M BYTES)
RESERVED
SCRATCHPAD SRAM (4K BYTES)
INSTRUCTION BANK B SRAM (16K BYTES)
SYSTEM MMR REGISTERS (2M BYTES)
RESERVED
RESERVED
DATA BANK B SRAM / CACHE (16K BYTES)
DATA BANK B SRAM (16K BYTES)
DATA BANK A SRAM / CACHE (16K BYTES)
ASYNC MEMORY BANK 3 (64M BYTES)
ASYNC MEMORY BANK 2 (64M BYTES)
ASYNC MEMORY BANK 1 (64M BYTES)
ASYNC MEMORY BANK 0 (64M BYTES)
DDR MEM BANK 0 (8M BYTES to 256M BYTES)
INSTRUCTION SRAM / CACHE (16K BYTES)
INTERNAL MEMORY MAPEXTERNAL MEMORY MAP
FFFF FFFF
FEB0 0000
FFB0 0000
FFA2 4000
FFA1 0000
FF90 8000
FF90 4000
FF80 8000
FF80 4000
3000 0000
2C00 0000
2800 0000
2400 0000
2000 0000
EF00 0000
0000 0000
FFC0 0000
FFB0 1000
FFA0 0000
DATA BANK A SRAM (16K BYTES)
FF90 0000
FF80 0000
RESERVED
RESERVED
C000
FFA0 8000
INSTRUCTION BANK A SRAM (32K BYTES)
RESERVED
BOOT ROM (4K BYTES)
EF00 1000
FFE0 0000
FEB2 0000
FFA1 4000
L1 ROM (64K BYTE)
L2 SRAM (128K BYTES)
DDR MEM BANK 1 (8M BYTES to 256M BYTES)
RESERVED
TOP OF LAST
DDR PAGE
RESERVED
FFA0
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x
0
x
0x
0x
0x
0x
0x
0x
0x
0x

MEMORY ARCHITECTURE

The ADSP-BF54x processors view memory as a single unified 4G byte address space, using 32-bit addresses. All resources, including internal memory, external memory, and I/O control registers, occupy separate sections of this common address space. The memory portions of this address space are arranged in a hierarchical structure to provide a good cost/performance balance of some very fast, low-latency on-chip memory as cache or SRAM, and larger, lower-cost and performance off-chip memory systems. See Figure 3 on Page 6.
The on-chip L1 memory system is the highest-performance memory available to the Blackfin processor. The off-chip mem­ory system, accessed through the external bus interface unit (EBIU), provides expansion with flash memory, SRAM, and double-rate SDRAM (standard or mobile DDR), optionally accessing up to 768M bytes of physical memory.
Most of the ADSP-BF54x Blackfin processors also include an L2 SRAM memory array which provides up to 128K bytes of high speed SRAM, operating at one half the frequency of the core and with slightly longer latency than the L1 memory banks (for information on L2 memory in each processor, see Table 1). The L2 memory is a unified instruction and data memory and can hold any mixture of code and data required by the system design. The Blackfin cores share a dedicated low latency 64-bit data path port into the L2 SRAM memory.
The memory DMA controllers (DMAC1 and DMAC0) provide high-bandwidth data-movement capability. They can perform block transfers of code or data between the internal memory and the external memory spaces.

Internal (On-Chip) Memory

The ADSP-BF54x processors have several blocks of on-chip memory providing high bandwidth access to the core.
The first block is the L1 instruction memory, consisting of 64K bytes of SRAM, of which 16K bytes can be configured as a four-way set-associative cache or as SRAM. This memory is accessed at full processor speed.
The second on-chip memory block is the L1 data memory, con­sisting of 64K bytes of SRAM, of which 32K bytes can be configured as a two-way set-associative cache or as SRAM. This memory block is accessed at full processor speed.
The third memory block is a 4K byte scratchpad SRAM, which runs at the same speed as the L1 memories. It is only accessible as data SRAM and cannot be configured as cache memory.
The fourth memory block is the factory programmed L1 instruction ROM, operating at full processor speed. This ROM is not customer-configurable.
The fifth memory block is the L2 SRAM, providing up to 128K bytes of unified instruction and data memory, operating at one half the frequency of the core.
Finally, there is a 4K byte boot ROM connected as L3 memory. It operates at full SCLK rate.
1
For ADSP-BF544 processors, L2 SRAM is 64K Bytes
(0xFEB0000–0xFEB0FFFF). For ADSP-BF542 processors, there is no L2 SRAM.

External (Off-Chip) Memory

Through the external bus interface unit (EBIU), the ADSP-BF54x Blackfin processors provide glueless connectivity to external 16-bit wide memories, such as DDR and mobile DDR SDRAM, SRAM, NOR flash, NAND flash, and FIFO devices. To provide the best performance, the bus system of the DDR and mobile DDR interface is completely separate from the other parallel interfaces. Furthermore, the DDR controller sup­ports either standard DDR memory or mobile DDR memory. See the Ordering Guide on Page 99 for details. Throughout this document, references to “DDR” are intended to cover both the standard and mobile DDR standards.
Rev. D | Page 6 of 100 | May 2011
Figure 3. ADSP-BF547/ADSP-BF548/ADSP-BF549
Internal/External Memory Map
1
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
The DDR memory controller can gluelessly manage up to two banks of double-rate synchronous dynamic memory (DDR and mobile DDR SDRAM). The 16-bit interface operates at the SCLK frequency, enabling a maximum throughput of 532M bytes/s. The DDR and mobile DDR controller is augmented with a queuing mechanism that performs efficient bursts into the DDR and mobile DDR. The controller is an industry stan­dard DDR and mobile DDR SDRAM controller with each bank supporting from 64M bit to 512M bit device sizes and 4-, 8-, or 16-bit widths. The controller supports up to 256M bytes per external bank. With 2 external banks, the controller supports up to 512M bytes total. Each bank is independently programmable and is contiguous with adjacent banks regardless of the sizes of the different banks or their placement.
Traditional 16-bit asynchronous memories, such as SRAM, EPROM, and flash devices, can be connected to one of the four 64M byte asynchronous memory banks, represented by four memory select strobes. Alternatively, these strobes can function as bank-specific read or write strobes preventing further glue logic when connecting to asynchronous FIFO devices. See the
Ordering Guide on Page 99 for a list of specific products that
provide support for DDR memory.
In addition, the external bus can connect to advanced flash device technologies, such as:
• Page-mode NOR flash devices
• Synchronous burst-mode NOR flash devices
•NAND flash devices
Customers should consult the Ordering Guide when selecting a specific ADSP-BF54x component for the intended application. Products that provide support for mobile DDR memory are noted in the ordering guide footnotes.
NAND Flash Controller (NFC)
The ADSP-BF54x Blackfin processors provide a NAND Flash Controller (NFC) as part of the external bus interface. NAND flash devices provide high-density, low-cost memory. However, NAND flash devices also have long random access times, invalid blocks, and lower reliability over device lifetimes. Because of this, NAND flash is often used for read-only code storage. In this case, all DSP code can be stored in NAND flash and then transferred to a faster memory (such as DDR or SRAM) before execution. Another common use of NAND flash is for storage of multimedia files or other large data segments. In this case, a software file system may be used to manage reading and writing of the NAND flash device. The file system selects memory seg­ments for storage with the goal of avoiding bad blocks and equally distributing memory accesses across all address loca­tions. Hardware features of the NFC include:
• Support for page program, page read, and block erase of NAND flash devices, with accesses aligned to page boundaries.
• Error checking and correction (ECC) hardware that facili­tates error detection and correction.
• A single 8-bit or 16-bit external bus interface for com­mands, addresses, and data.
• Support for SLC (single level cell) NAND flash devices unlimited in size, with page sizes of 256 bytes and 512 bytes. Larger page sizes can be supported in software.
• The ability to release external bus interface pins during long accesses.
• Support for internal bus requests of 16 bits or 32 bits.
• A DMA engine to transfer data between internal memory and a NAND flash device.

One-Time-Programmable Memory

The ADSP-BF54x Blackfin processors have 64K bits of one­time-programmable (OTP) non-volatile memory that can be programmed by the developer only one time. It includes the array and logic to support read access and programming. Addi­tionally, its pages can be write protected.
OTP enables developers to store both public and private data on-chip. In addition to storing public and private key data for applications requiring security, it also allows developers to store completely user-definable data such as a customer ID, product ID, or a MAC address. By using this feature, generic parts can be shipped, which are then programmed and protected by the developer within this non-volatile memory. The OTP memory can be accessed through an API provided by the on-chip ROM.

I/O Memory Space

The ADSP-BF54x Blackfin processors do not define a separate I/O space. All resources are mapped through the flat 32-bit address space. On-chip I/O devices have their control registers mapped into memory-mapped registers (MMRs) at addresses near the top of the 4G byte address space. These are separated into two smaller blocks, one containing the control MMRs for all core functions and the other containing the registers needed for setup and control of the on-chip peripherals outside of the core. The MMRs are accessible only in supervisor mode and appear as reserved space to on-chip peripherals.

Booting

The ADSP-BF54x Blackfin processors contain a small on-chip boot kernel, which configures the appropriate peripheral for booting. If the ADSP-BF54x Blackfin processors are configured to boot from boot ROM memory space, the processor starts exe­cuting from the on-chip boot ROM. For more information, see
Booting Modes on Page 18.

Event Handling

The event controller on the ADSP-BF54x Blackfin processors handles all asynchronous and synchronous events to the proces­sors. The ADSP-BF54x Blackfin processors provide event handling that supports both nesting and prioritization. Nesting allows multiple event service routines to be active simultane­ously. Prioritization ensures that servicing of a higher-priority event takes precedence over servicing of a lower-priority event.
Rev. D | Page 7 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
The controller provides support for five different types of events:
• Emulation. An emulation event causes the processor to enter emulation mode, allowing command and control of the processor via the JTAG interface.
• Reset. This event resets the processor.
• Non-maskable interrupt (NMI). The NMI event can be generated by the software watchdog timer or by the NMI input signal to the processor. The NMI event is frequently used as a power-down indicator to initiate an orderly shut­down of the system.
• Exceptions. Events that occur synchronously to program flow (that is, the exception is taken before the instruction is allowed to complete). Conditions such as data alignment violations and undefined instructions cause exceptions.
• Interrupts. Events that occur asynchronously to program flow. They are caused by input pins, timers, and other peripherals, as well as by an explicit software instruction.
Each event type has an associated register to hold the return address and an associated return-from-event instruction. When an event is triggered, the state of the processor is saved on the supervisor stack.
The ADSP-BF54x Blackfin processor event controller consists of two stages, the core event controller (CEC) and the system interrupt controller (SIC). The core event controller works with the system interrupt controller to prioritize and control all sys­tem events. Conceptually, interrupts from the peripherals enter into the SIC and are then routed directly into the general-pur­pose interrupts of the CEC.

Core Event Controller (CEC)

The CEC supports nine general-purpose interrupts (IVG15– 7), in addition to the dedicated interrupt and exception events. Of these general-purpose interrupts, the two lowest-priority inter­rupts (IVG15– 14) are recommended to be reserved for software interrupt handlers, leaving seven prioritized interrupt inputs to support the peripherals of the ADSP-BF54x Blackfin processors.
Table 3 describes the inputs to the CEC, identifies their names
in the event vector table (EVT), and lists their priorities.

System Interrupt Controller (SIC)

The system interrupt controller provides the mapping and rout­ing of events from the many peripheral interrupt sources to the prioritized general-purpose interrupt inputs of the CEC. Although the ADSP-BF54x Blackfin processors provide a default mapping, the user can alter the mappings and priorities of interrupt events by writing the appropriate values into the interrupt assignment registers (SIC_IARx). The ADSP-BF54x Hardware Reference Manual, “System Interrupts” chapter describes the inputs into the SIC and the default mappings into the CEC.
Table 3. Core Event Controller (CEC)
Priority (0 is Highest) Event Class EVT Entry
0Emulation/Test ControlEMU 1 Reset RST 2 Nonmaskable Interrupt NMI 3ExceptionEVX 4 Reserved — 5 Hardware Error IVHW 6 Core Timer IVTMR 7 General Interrupt 7 IVG7 8 General Interrupt 8 IVG8 9 General Interrupt 9 IVG9 10 General Interrupt 10 IVG10 11 General Interrupt 11 IVG11 12 General Interrupt 12 IVG12 13 General Interrupt 13 IVG13 14 General Interrupt 14 IVG14 15 General Interrupt 15 IVG15

Event Control

The ADSP-BF54x Blackfin processors provide the user with a very flexible mechanism to control the processing of events. In the CEC, three registers are used to coordinate and control events. Each register is 16 bits wide:
• CEC interrupt latch register (ILAT). The ILAT register indicates when events have been latched. The appropriate bit is set when the processor has latched the event and cleared when the event has been accepted into the system. This register is updated automatically by the controller, but it may be written only when its corresponding IMASK bit is cleared.
• CEC interrupt mask register (IMASK). The IMASK regis­ter controls the masking and unmasking of individual events. When a bit is set in the IMASK register, that event is unmasked and is processed by the CEC when asserted. A cleared bit in the IMASK register masks the event, prevent­ing the processor from servicing the event even though the event may be latched in the ILAT register. This register may be read or written while in supervisor mode. Note that general-purpose interrupts can be globally enabled and dis­abled with the STI and CLI instructions, respectively.
• CEC interrupt pending register (IPEND). The IPEND reg­ister keeps track of all nested events. A set bit in the IPEND register indicates that the event is currently active or nested at some level. This register is updated automatically by the controller but may be read while in supervisor mode.
The SIC allows further control of event processing by providing three 32-bit interrupt control and status registers. Each register contains a bit corresponding to each of the peripheral interrupt events shown in the ADSP-BF54x Hardware Reference Manual, “System Interrupts” chapter.
Rev. D | Page 8 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
• SIC interrupt mask registers (SIC_IMASKx). These regis­ters control the masking and unmasking of each peripheral interrupt event. When a bit is set in a register, that periph­eral event is unmasked and is processed by the system when asserted. A cleared bit in the register masks the peripheral event, preventing the processor from servicing the event.
• SIC interrupt status registers (SIC_ISRx). As multiple peripherals can be mapped to a single event, these registers allow the software to determine which peripheral event source triggered the interrupt. A set bit indicates the peripheral is asserting the interrupt, and a cleared bit indi­cates the peripheral is not asserting the event.
• SIC interrupt wakeup enable registers (SIC_IWRx). By enabling the corresponding bit in this register, a peripheral can be configured to wake up the processor, should the core be idled or in Sleep mode when the event is generated. (For more information, see Dynamic Power Management
on Page 15.)
Because multiple interrupt sources can map to a single general­purpose interrupt, multiple pulse assertions can occur simulta­neously, before or during interrupt processing for an interrupt event already detected on this interrupt input. The IPEND reg­ister contents are monitored by the SIC as the interrupt acknowledgement.
The appropriate ILAT register bit is set when an interrupt rising edge is detected. (Detection requires two core clock cycles.) The bit is cleared when the respective IPEND register bit is set. The IPEND bit indicates that the event has entered into the proces­sor pipeline. At this point the CEC recognizes and queues the next rising edge event on the corresponding event input. The minimum latency from the rising edge transition of the general­purpose interrupt to the IPEND output asserted is three core clock cycles; however, the latency can be much higher, depend­ing on the activity within and the state of the processor.

DMA CONTROLLERS

ADSP-BF54x Blackfin processors have multiple, independent DMA channels that support automated data transfers with min­imal overhead for the processor core. DMA transfers can occur between the ADSP-BF54x processors’ internal memories and any of the DMA-capable peripherals. Additionally, DMA trans­fers can be accomplished between any of the DMA-capable peripherals and external devices connected to the external memory interfaces, including DDR and asynchronous memory controllers.
While the USB controller and MXVR have their own dedicated DMA controllers, the other on-chip peripherals are managed by two centralized DMA controllers, called DMAC1 (32-bit) and DMAC0 (16-bit). Both operate in the SC LK domain. Ea ch DMA controller manages 12 independent peripheral DMA channels, as well as two independent memory DMA streams. The DMAC1 controller masters high-bandwidth peripherals over a dedicated 32-bit DMA access bus (DAB32). Similarly, the DMAC0 controller masters most serial interfaces over the 16-bit
DAB16 bus. Individual DMA channels have fixed access prior­ity on the DAB buses. DMA priority of peripherals is managed by a flexible peripheral-to-DMA channel assignment scheme.
All four DMA controllers use the same 32-bit DCB bus to exchange data with L1 memory. This includes L1 ROM, but excludes scratchpad memory. Fine granulation of L1 memory and special DMA buffers minimize potential memory conflicts when the L1 memory is accessed simultaneously by the core. Similarly, there are dedicated DMA buses between the external bus interface unit (EBIU) and the three DMA controllers (DMAC1, DMAC0, and USB) that arbitrate DMA accesses to external memories and the boot ROM.
The ADSP-BF54x Blackfin processors’ DMA controllers sup­port both 1-dimensional (1D) and 2-dimensional (2D) DMA transfers. DMA transfer initialization can be implemented from registers or from sets of parameters called descriptor blocks.
The 2D DMA capability supports arbitrary row and column sizes up to 64K elements by 64K elements, and arbitrary row and column step sizes up to ±32K elements. Furthermore, the column step size can be less than the row step size, allowing implementation of interleaved data streams. This feature is especially useful in video applications where data can be de­interleaved on the fly.
Examples of DMA types supported by the ADSP-BF54x Black­fin processors’ DMA controllers include:
• A single, linear buffer that stops upon completion
• A circular, auto-refreshing buffer that interrupts on each full or fractionally full buffer
• 1D or 2D DMA using a linked list of descriptors
• 2D DMA using an array of descriptors, specifying only the base DMA address within a common page
In addition to the dedicated peripheral DMA channels, the DMAC1 and DMAC0 controllers each feature two memory DMA channel pairs for transfers between the various memories of the ADSP-BF54x Blackfin processors. This enables transfers of blocks of data between any of the memories—including external DDR, ROM, SRAM, and flash memory—with minimal processor intervention. Like peripheral DMAs, memory DMA transfers can be controlled by a very flexible descriptor-based methodology or by a standard register-based autobuffer mechanism.
The memory DMA channels of the DMAC1 controller (MDMA2 and MDMA3) can be controlled optionally by the external DMA request input pins. When used in conjunction with the External Bus Interface Unit (EBIU), this handshaked memory DMA (HMDMA) scheme can be used to efficiently exchange data with block-buffered or FIFO-style devices con­nected externally. Users can select whether the DMA request pins control the source or the destination side of the memory DMA. It allows control of the number of data transfers for memory DMA. The number of transfers per edge is program­mable. This feature can be programmed to allow memory DMA to have an increased priority on the external bus relative to the core.
Rev. D | Page 9 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
RTXO
C1 C2
X1
SUGGESTED COMP ONENTS: ECLIPTEK EC38J (THROUGH-HOLE PACKAGE ) EPSON MC405 12 pF LOAD (SURFACE-MOUNT PACKAGE) C1 = 22 pF C2 = 22 pF R1 = 10 MΩ
NOTE: C1 AND C2 ARE SPECIFIC TO CRYSTAL SPECIFIED FOR X1. CONTACT CRYSTAL MANUFACTURER FOR DETAI LS. C1 AND C2 SPECIFICATIONS ASSUME BOARD TRACE C APACITANCE OF 3 pF.
RTXI
R1

Host DMA Port Interface

The host DMA port (HOSTDP) facilitates a host device external to the ADSP-BF54x Blackfin processors to be a DMA master and transfer data back and forth. The host device always masters the transactions, and the processor is always a DMA slave device.
The HOSTDP is enabled through the peripheral access bus. Once the port has been enabled, the transactions are controlled by the external host. The external host programs standard DMA configuration words in order to send/receive data to any valid internal or external memory location. The host DMA port con­troller includes the following features:
• Allows an external master to configure DMA read/write data transfers and read port status
• Uses a flexible asynchronous memory protocol for its external interface
• Allows an 8- or 16-bit external data interface to the host device
• Supports half-duplex operation
• Supports little/big endian data transfers
• Acknowledge mode allows flow control on host transactions
• Interrupt mode guarantees a burst of FIFO depth host transactions

REAL-TIME CLOCK

The ADSP-BF54x Blackfin processors’ real-time clock (RTC) provides a robust set of digital watch features, including current time, stopwatch, and alarm. The RTC is clocked by a 32.768 kHz crystal external to the ADSP-BF54x Blackfin processors. The RTC peripheral has dedicated power supply pins so that it can remain powered up and clocked even when the rest of the pro­cessor is in a low-power state. The RTC provides several programmable interrupt options, including interrupt per sec­ond, minute, hour, or day clock ticks, interrupt on programmable stopwatch countdown, or interrupt at a pro­grammed alarm time.
The 32.768 kHz input clock frequency is divided down to a 1 Hz signal by a prescaler. The counter function of the timer consists of four counters: a 60-second counter, a 60-minute counter, a 24-hour counter, and a 32,768-day counter.
When enabled, the alarm function generates an interrupt when the output of the timer matches the programmed value in the alarm control register. There are two alarms. The first alarm is for a time of day. The second alarm is for a day and time of that day.
The stopwatch function counts down from a programmed value with one-second resolution. When the stopwatch is enabled and the counter underflows, an interrupt is generated.
Like the other peripherals, the RTC can wake up the ADSP-BF54x processor from sleep mode upon generation of any RTC wakeup event. Additionally, an RTC wakeup event can
wake up the ADSP-BF54x processors from deep sleep mode, and it can wake up the on-chip internal voltage regulator from the hibernate state.
Connect RTC pins RTXI and RTXO with external components as shown in Figure 4.

WATCHDOG TIMER

The ADSP-BF54x processors include a 32-bit timer that can be used to implement a software watchdog function. A software watchdog can improve system reliability by forcing the proces­sor to a known state through generation of a hardware reset, non-maskable interrupt (NMI), or general-purpose interrupt if the timer expires before being reset by software. The program­mer initializes the count value of the timer, enables the appropriate interrupt, and then enables the timer. Thereafter, the software must reload the counter before it counts to zero from the programmed value. This protects the system from remaining in an unknown state where software, which would normally reset the timer, has stopped running due to an external noise condition or software error.
If configured to generate a hardware reset, the watchdog timer resets both the core and the ADSP-BF54x processors’ peripher­als. After a reset, software can determine if the watchdog was the source of the hardware reset by interrogating a status bit in the watchdog timer control register.
The timer is clocked by the system clock (SCLK) at a maximum frequency of f

TIMERS

There are up to two timer units in the ADSP-BF54x Blackfin processors. One unit provides eight general-purpose program­mable timers, and the other unit provides three. Each timer has an external pin that can be configured either as a pulse width modulator (PWM) or timer output, as an input to clock the timer, or as a mechanism for measuring pulse widths and peri­ods of external events. These timers can be synchronized to an external clock input on the TMRx pins, an external clock TMRCLK input pin, or to the internal SCLK.
Rev. D | Page 10 of 100 | May 2011
Figure 4. External Components for RTC
.
SCLK
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
SPI Clock Rate
f
SCLK
2 SPI_BAUD×
----------------------------------- -
=
The timer units can be used in conjunction with the four UARTs and the CAN controllers to measure the width of the pulses in the data stream to provide a software auto-baud detect function for the respective serial channels.
The timers can generate interrupts to the processor core, pro­viding periodic events for synchronization to either the system clock or to a count of external signals.
In addition to the general-purpose programmable timers, another timer is also provided by the processor core. This extra timer is clocked by the internal processor clock and is typically used as a system tick clock for generation of periodic operating system interrupts.

UP/DOWN COUNTER AND THUMBWHEEL INTERFACE

A 32-bit up/down counter is provided that can sense the 2-bit quadrature or binary codes typically emitted by industrial drives or manual thumb wheels. The counter can also operate in general-purpose up/down count modes. Then count direction is either controlled by a level-sensitive input pin or by two edge detectors.
A third input can provide flexible zero marker support and can alternatively be used to input the push-button signal of thumb wheels. All three pins have a programmable debouncing circuit.
An internal signal forwarded to the timer unit enables one timer to measure the intervals between count events. Boundary regis­ters enable auto-zero operation or simple system warning by interrupts when programmable count values are exceeded.

SERIAL PORTS (SPORTS)

The ADSP-BF54x Blackfin processors incorporate up to four dual-channel synchronous serial ports (SPORT0, SPORT1, SPORT2, and SPORT3) for serial and multiprocessor commu­nications. The SPORTs support the following features:
2
S capable operation.
•I
• Bidirectional operation. Each SPORT has two sets of inde­pendent transmit and receive pins, enabling up to eight channels of I
• Buffered (8-deep) transmit and receive ports. Each port has a data register for transferring data words to and from other processor components and shift registers for shifting data in and out of the data registers.
• Clocking. Each transmit and receive port can either use an external serial clock or generate its own, in frequencies ranging from (f
• Word length. Each SPORT supports serial data words from 3 to 32 bits in length, transferred most-significant-bit first or least-significant-bit first.
• Framing. Each transmit and receive port can run with or without frame sync signals for each data word. Frame sync signals can be generated internally or externally, active high or low, and with either of two pulse widths and early or late frame sync.
2
S stereo audio.
/131,070) Hz to (f
SCLK
SCLK
/2) Hz.
• Companding in hardware. Each SPORT can perform A-law or µ-law companding according to ITU recommen­dation G.711. Companding can be selected on the transmit and/or receive channel of the SPORT without additional latencies.
•DMA operations with single-cycle overhead. Each SPORT can receive and transmit multiple buffers of memory data automatically. The processor can link or chain sequences of DMA transfers between a SPORT and memory.
• Interrupts. Each transmit and receive port generates an interrupt upon completing the transfer of a data word or after transferring an entire data buffer or buffers through DMA.
• Multichannel capability. Each SPORT supports 128 chan­nels out of a 1024-channel window and is compatible with the H.100, H.110, MVIP-90, and HMVIP standards.

SERIAL PERIPHERAL INTERFACE (SPI) PORTS

The ADSP-BF54x Blackfin processors have up to three SPI­compatible ports that allow the processor to communicate with multiple SPI-compatible devices.
Each SPI port uses three pins for transferring data: two data pins (master output slave input, SPIxMOSI, and master input-slave output, SPIxMISO) and a clock pin (serial clock, SPIxSCK). An SPI chip select input pin (SPIxSS the processor, and three SPI chip select output pins per SPI port SPIxSELy select pins are reconfigured general-purpose I/O pins. Using these pins, the SPI ports provide a full-duplex, synchronous serial interface, which supports both master/slave modes and multimaster environments.
The SPI port’s baud rate and clock phase/polarities are pro­grammable, and it has an integrated DMA controller, configurable to support transmit or receive data streams. The SPI’s DMA controller can only service unidirectional accesses at any given time.
The SPI port’s clock rate is calculated as
Where the 16-bit SPI_BAUD register contains a value of 2 to 65,535.
During transfers, the SPI port transmits and receives simultane­ously by serially shifting data in and out on its two serial data lines. The serial clock line synchronizes the shifting and sam­pling of data on the two serial data lines.
let the processor select other SPI devices. The SPI
) lets other SPI devices select

UART PORTS (UARTS)

The ADSP-BF54x Blackfin processors provide up to four full­duplex universal asynchronous receiver/transmitter (UART) ports. Each UART port provides a simplified UART interface to other peripherals or hosts, supporting full-duplex, DMA-sup­ported, asynchronous transfers of serial data. A UART port
Rev. D | Page 11 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
UART Clock Rate
f
SCLK
16
1EDBO()
UART_Divisor×
----------------------------------------------------------------------------- -
=
includes support for five to eight data bits, one or two stop bits, and none, even, or odd parity. Each UART port supports two modes of operation:
• PIO (programmed I/O). The processor sends or receives data by writing or reading I/O-mapped UART registers. The data is double-buffered on both transmit and receive.
• DMA (direct memory access). The DMA controller trans­fers both transmit and receive data. This reduces the number and frequency of interrupts required to transfer data to and from memory. Each UART has two dedicated DMA channels, one for transmit and one for receive. These DMA channels have lower default priority than most DMA channels because of their relatively low service rates. Flexi­ble interrupt timing options are available on the transmit side.
Each UART port’s baud rate, serial data format, error code gen­eration and status, and interrupts are programmable:
• Supporting bit rates ranging from (f (f
) bits per second.
SCLK
• Supporting data formats from seven to 12 bits per frame.
• Both transmit and receive operations can be configured to generate maskable interrupts to the processor.
The UART port’s clock rate is calculated as
/1,048,576) to
SCLK
The ADSP-BF54x Blackfin processors’ CAN controllers offer the following features:
• 32 mailboxes (8 receive only, 8 transmit only, 16 configu­rable for receive or transmit).
• Dedicated acceptance masks for each mailbox.
• Additional data filtering on first two bytes.
• Support for both the standard (11-bit) and extended (29­bit) identifier (ID) message formats.
• Support for remote frames.
• Active or passive network support.
• CAN wakeup from hibernation mode (lowest static power consumption mode).
•Interrupts, including: TX complete, RX complete, error and global.
The electrical characteristics of each network connection are very demanding, so the CAN interface is typically divided into two parts: a controller and a transceiver. This allows a single controller to support different drivers and CAN networks. The ADSP-BF54x Blackfin processors’ CAN module represents only the controller part of the interface. The controller interface sup­ports connection to 3.3 V high speed, fault-tolerant, single-wire transceivers.
An additional crystal is not required to supply the CAN clock, as the CAN clock is derived from the processor system clock (SCLK) through a programmable divider.
Where the 16-bit UART divisor comes from the UARTx_DLH register (most significant 8 bits) and UARTx_DLL register (least significant eight bits), and the EDBO is a bit in the UARTx_GCTL register.
In conjunction with the general-purpose timer functions, auto­baud detection is supported.
UART1 and UART3 feature a pair of UARTxRTS send) and UARTxCTS purposes. The transmitter hardware is automatically prevented from sending further data when the UARTxCTS asserted. The receiver can automatically de-assert its UARTxRTS certain high-water level. The capabilities of the UARTs are fur­ther extended with support for the Infrared Data Association (IrDA®) Serial Infrared Physical Layer Link Specification (SIR) protocol.
output when the enhanced receive FIFO exceeds a
(clear to send) signals for hardware flow
(request to
input is de-

CONTROLLER AREA NETWORK (CAN)

The ADSP-BF54x Blackfin processors offer up to two CAN con­trollers that are communication controllers that implement the controller area network (CAN) 2.0B (active) protocol. This pro­tocol is an asynchronous communications protocol used in both industrial and automotive control systems. The CAN protocol is well suited for control applications due to its capability to com­municate reliably over a network since the protocol incorporates CRC checking, message error tracking, and fault node confinement.

TWI CONTROLLER INTERFACE

The ADSP-BF54x Blackfin processors include up to two 2-wire interface (TWI) modules for providing a simple exchange method of control data between multiple devices. The modules are compatible with the widely used I modules offer the capabilities of simultaneous master and slave operation and support for both 7-bit addressing and multime­dia data arbitration. Each TWI interface uses two pins for transferring clock (SCLx) and data (SDAx), and supports the protocol at speeds up to 400K bits/sec. The TWI interface pins are compatible with 5 V logic levels.
Additionally, the ADSP-BF54x Blackfin processors’ TWI mod­ules are fully compatible with serial camera control bus (SCCB) functionality for easier control of various CMOS camera sensor devices.
2
C bus standard. The TWI

PORTS

Because of their rich set of peripherals, the ADSP-BF54x Blackfin processors group the many peripheral signals to ten ports—referred to as Port A to Port J. Most ports contain 16 pins, though some have fewer. Many of the associated pins are shared by multiple signals. The ports function as multiplexer controls. Every port has its own set of memory-mapped regis­ters to control port muxing and GPIO functionality.
Rev. D | Page 12 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549

General-Purpose I/O (GPIO)

Every pin in Port A to Port J can function as a GPIO pin, result­ing in a GPIO pin count up to 154. While it is unlikely that all GPIO pins will be used in an application, as all pins have multi­ple functions, the richness of GPIO functionality guarantees unrestrictive pin usage. Every pin that is not used by any func­tion can be configured in GPIO mode on an individual basis.
After reset, all pins are in GPIO mode by default. Since neither GPIO output nor input drivers are active by default, unused pins can be left unconnected. GPIO data and direction control registers provide flexible write-one-to-set and write-one-to­clear mechanisms so that independent software threads do not need to protect against each other because of expensive read­modify-write operations when accessing the same port.

Pin Interrupts

Every port pin on ADSP-BF54x Blackfin processors can request interrupts in either an edge-sensitive or a level-sensitive manner with programmable polarity. Interrupt functionality is decou­pled from GPIO operation. Four system-level interrupt channels (PINT0, PINT1, PINT2 and PINT3) are reserved for this purpose. Each of these interrupt channels can manage up to 32 interrupt pins. The assignment from pin to interrupt is not performed on a pin-by-pin basis. Rather, groups of eight pins (half ports) can be flexibly assigned to interrupt channels.
Every pin interrupt channel features a special set of 32-bit mem­ory-mapped registers that enables half-port assignment and interrupt management. This not only includes masking, identi­fication, and clearing of requests, it also enables access to the respective pin states and use of the interrupt latches regardless of whether the interrupt is masked or not. Most control registers feature multiple MMR address entries to write-one-to-set or write-one-to-clear them individually.

PIXEL COMPOSITOR (PIXC)

The pixel compositor (PIXC) provides image overlays with transparent-color support, alpha blending, and color space con­version capabilities for output to TFT LCDs and NTSC/PAL video encoders. It provides all of the control to allow two data streams from two separate data buffers to be combined, blended, and converted into appropriate forms for both LCD panels and digital video outputs. The main image buffer pro­vides the basic background image, which is presented in the data stream. The overlay image buffer allows the user to add multiple foreground text, graphics, or video objects on top of the main image or video data stream.

ENHANCED PARALLEL PERIPHERAL INTERFACE (EPPI)

The ADSP-BF54x Blackfin processors provide up to three enhanced parallel peripheral interfaces (EPPIs), supporting data widths up to 24 bits. The EPPI supports direct connection to TFT LCD panels, parallel analog-to-digital and digital-to-ana­log converters, video encoders and decoders, image sensor modules and other general-purpose peripherals.
The following features are supported in the EPPI module:
• Programmable data length: 8 bits, 10 bits, 12 bits, 14 bits, 16 bits, 18 bits, and 24 bits per clock.
• Bidirectional and half-duplex port.
• Clock can be provided externally or can be generated internally.
• Various framed and non-framed operating modes. Frame syncs can be generated internally or can be supplied by an external device.
•Various general-purpose modes with zero to three frame syncs for both receive and transmit directions.
• ITU-656 status word error detection and correction for ITU-656 receive modes.
• ITU-656 preamble and status word decode.
• Three different modes for ITU-656 receive modes: active video only, vertical blanking only, and entire field mode.
• Horizontal and vertical windowing for GP 2 and 3 frame sync modes.
• Optional packing and unpacking of data to/from 32 bits from/to 8, 16 and 24 bits. If packing/unpacking is enabled, endianness can be changed to change the order of pack­ing/unpacking of bytes/words.
• Optional sign extension or zero fill for receive modes.
• During receive modes, alternate even or odd data samples can be filtered out.
• Programmable clipping of data values for 8-bit transmit modes.
• RGB888 can be converted to RGB666 or RGB565 for trans­mit modes.
• Various de-interleaving/interleaving modes for receiv­ing/transmitting 4:2:2 YCrCb data.
• FIFO watermarks and urgent DMA features.
• Clock gating by an external device asserting the clock gat­ing control signal.
•Configurable LCD data enable (DEN) output available on Frame Sync 3.

USB ON-THE-GO DUAL-ROLE DEVICE CONTROLLER

The USB OTG dual-role device controller (USBDRC) provides a low-cost connectivity solution for consumer mobile devices such as cell phones, digital still cameras, and MP3 players, allowing these devices to transfer data using a point-to-point USB connection without the need for a PC host. The USBDRC module can operate in a traditional USB peripheral-only mode as well as the host mode presented in the On-the-Go (OTG) supplement to the USB 2.0 specification. In host mode, the USB module supports transfers at high speed (480 Mbps), full speed (12 Mbps), and low speed (1.5 Mbps) rates. Peripheral-only mode supports the high and full speed transfer rates.
Rev. D | Page 13 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
The USB clock (USB_XI) is provided through a dedicated exter­nal crystal or crystal oscillator. See Table 62 for related timing requirements. If using a fundamental mode crystal to provide the USB clock, connect the crystal between USB_XI and USB_XO with a circuit similar to that shown in Figure 7. Use a parallel-resonant, fundamental mode, microprocessor-grade crystal. If a third-overtone crystal is used, follow the circuit guidelines outlined in Clock Signals on Page 17 for third-over­tone crystals.
The USB On-the-Go dual-role device controller includes a Phase Locked Loop with programmable multipliers to generate the necessary internal clocking frequency for USB. The multi­plier value should be programmed based on the USB_XI clock frequency to achieve the necessary 480 MHz internal clock for USB high speed operation. For example, for a USB_XI crystal frequency of 24 MHz, the USB_PLLOSC_CTRL register should be programmed with a multiplier value of 20 to generate a 480 MHz internal clock.

ATA/ATAPI-6 INTERFACE

The ATAPI interface connects to CD/DVD and HDD drives and is ATAPI-6 compliant. The controller implements the peripheral I/O mode, the multi-DMA mode, and the Ultra DMA mode. The DMA modes enable faster data transfer and reduced host management. The ATAPI controller supports PIO, multi-DMA, and ultra DMA ATAPI accesses. Key features include:
• Supports PIO modes 0, 1, 2, 3, 4
• Supports multiword DMA modes 0, 1, 2
• Supports ultra DMA modes 0, 1, 2, 3, 4, 5 (up to UDMA
100)
• Programmable timing for ATA interface unit
• Supports CompactFlash cards using true IDE mode
By default, the ATAPI_A0-2 address signals and the ATAPI_D0-15 data signals are shared on the asynchronous memory interface with the asynchronous memory and NAND flash controllers. The data and address signals can be remapped to GPIO ports F and G, respectively, by setting PORTF_MUX[1:0] to b#01.

KEYPAD INTERFACE

The keypad interface is a 16-pin interface module that is used to detect the key pressed in a 8 × 8 (maximum) keypad matrix. The size of the input keypad matrix is programmable. The interface is capable of filtering the bounce on the input pins, which is common in keypad applications. The width of the filtered bounce is programmable. The module is capable of generating an interrupt request to the core once it identifies that any key has been pressed.
The interface supports a press-release-press mode and infra­structure for a press-hold mode. The former mode identifies a press, release and press of a key as two consecutive presses of the same key, whereas the latter mode checks the input key’s state in periodic intervals to determine the number of times the same
key is meant to be pressed. It is possible to detect when multiple keys are pressed simultaneously and to provide limited key reso­lution capability when this happens.

SECURE DIGITAL (SD)/SDIO CONTROLLER

The SD/SDIO controller is a serial interface that stores data at a data rate of up to 10M bytes per second using a 4-bit data line.
The SD/SDIO controller supports the SD memory mode only. The interface supports all the power modes and performs error checking by CRC.

CODE SECURITY

An OTP/security system, consisting of a blend of hardware and software, provides customers with a flexible and rich set of code security features with Lockbox include:
• OTP memory
• Unique chip ID
• Code authentication
• Secure mode of operation
The security scheme is based upon the concept of authentica­tion of digital signatures using standards-based algorithms and provides a secure processing environment in which to execute code and protect assets. See Lockbox Secure Technology Dis-
claimer on Page 22.
®
secure technology. Key features

MEDIA TRANSCEIVER MAC LAYER (MXVR)

The ADSP-BF549 Blackfin processors provide a media trans­ceiver (MXVR) MAC layer, allowing the processor to be connected directly to a MOST
Figure 5 on Page 15 for an example of a MXVR MOST
connection.
The MXVR is fully compatible with industry-standard stand­alone MOST controller devices, supporting 22.579 Mbps or
24.576 Mbps data transfer. It offers faster lock times, greater jit­ter immunity, and a sophisticated DMA scheme for data transfers. The high speed internal interface to the core and L1 memory allows the full bandwidth of the network to be utilized. The MXVR can operate as either the network master or as a net­work slave.
The MXVR supports synchronous data, asynchronous packets, and control messages using dedicated DMA channels that oper­ate autonomously from the processor core moving data to and from L1 and/or L2 memory. Synchronous data is transferred to or from the synchronous data physical channels on the MOST bus through eight programmable DMA channels. The synchro­nous data DMA channels can operate in various modes including modes that trigger DMA operation when data pat­terns are detected in the receive data stream. Furthermore, two DMA channels support asynchronous traffic, and two others support control message traffic.
1
MOST is a registered trademark of Standard Microsystems, Corp.
®
1 network through an FOT. See
Rev. D | Page 14 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Interrupts are generated when a user-defined amount of syn­chronous data has been sent or received by the processor or when asynchronous packets or control messages have been sent or received.
The MXVR peripheral can wake up the ADSP-BF549 Blackfin processor from sleep mode when a wakeup preamble is received over the network or based on any other MXVR interrupt event. Additionally, detection of network activity by the MXVR can be used to wake up the ADSP-BF549 Blackfin processor from the hibernate state. These features allow the ADSP-BF549 processor
1.25V
R1 330 6
C1
0.047 2% PPS
600Z
0.01
1%
MF
MF
C2 330pF 2% PPS
0.1 MF
24.576MHz
VDDINT
GND
VDDMP
GNDMP
MXO
MXI
MLF_P
MLF_M
ADSP-BF549
PG11/MTXON
PH5/MTX
PH6/MRX
PH7/MRXON
PC4/RFS0
MFS
PC1/MMCLK
PC5/MBCLK
PC3/TSCLK0
PC7/RSCLK0
PC2/DT0PRI
10k 6
33
336
33 6
27 6
to operate in a low-power state when there is no network activ­ity or when data is not currently being received or transmitted by the MXVR.
The MXVR clock is provided through a dedicated external crys­tal or crystal oscillator. The frequency of the external crystal or crystal oscillator can be 256 Fs, 384 Fs, 512 Fs, or 1024 Fs for Fs = 38 kHz, 44.1 kHz, or 48 kHz. If using a crystal to provide the MXVR clock, use a parallel-resonant, fundamental mode, microprocessor-grade crystal.
5.0V
XN4114
6
600Z
600Z
MOST FOT
RXVCC
RXGND
MOST
TXVCC
TXGND
TX_DATA
0 6
RX_DATA
STATUS
AUDIO DAC
L/RCLK
MCLK
BCLK
SD ATA
NETWORK
AUDIO CHANNELS
Figure 5. MXVR MOST Connection

DYNAMIC POWER MANAGEMENT

The ADSP-BF54x Blackfin processors provide five operating modes, each with a different performance/power profile. In addition, dynamic power management provides the control functions to dynamically alter the processor core supply voltage, further reducing power dissipation. Control of clocking to each of the ADSP-BF54x Blackfin processors’ peripherals also reduces power consumption. See Table 4 for a summary of the power settings for each mode.

Full-On Operating Mode—Maximum Performance

In the full-on mode, the PLL is enabled and is not bypassed, providing the capability to run at the maximum operational fre­quency. This is the power-up default execution state in which maximum performance can be achieved. The processor core and all enabled peripherals run at full speed.

Active Operating Mode—Moderate Power Savings

In the active mode, the PLL is enabled but bypassed. Because the PLL is bypassed, the processor’s core clock (CCLK) and system clock (SCLK) run at the input clock (CLKIN) frequency. DMA access is available to appropriately configured L1 memories.
In the active mode, it is possible to disable the control input to the PLL by setting the PLL_OFF bit in the PLL control register. This register can be accessed with a user-callable routine in the on-chip ROM called bfrom_SysControl(). For more informa­tion, see the “Dynamic Power Management” chapter in the ADSP-BF54x Blackfin Processor Hardware Reference. If dis­abled, the PLL must be re-enabled before transitioning to the full-on or sleep modes.
Table 4. Power Settings
Mode/State
PLL
PLL
Bypassed
Core
Clock
(CCLK)
System
Clock
(SCLK)
Core
Full On Enabled No Enabled Enabled On Active Enabled/
Ye s E na bl ed E na bl e d O n
Disabled Sleep Enabled - Disabled Enabled On Deep Sleep Disabled - Disabled Disabled On Hibernate Disabled - Disabled Disabled Off
Power
Rev. D | Page 15 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549

Sleep Operating Mode—High Dynamic Power Savings

The sleep mode reduces dynamic power dissipation by disabling the clock to the processor core (CCLK). The PLL and system clock (SCLK), however, continue to operate in this mode. Typi­cally an external event or RTC activity will wake up the processor. In the sleep mode, assertion of a wakeup event enabled in the SIC_IWRx register causes the processor to sense the value of the BYPASS bit in the PLL control register (PLL_CTL). If BYPASS is disabled, the processor transitions to the full on mode. If BYPASS is enabled, the processor transi­tions to the active mode.
In the sleep mode, system DMA access to L1 memory is not supported.

Deep Sleep Operating Mode—Maximum Dynamic Power Savings

The deep sleep mode maximizes dynamic power savings by dis­abling the clocks to the processor core (CCLK) and to all synchronous peripherals (SCLK). Asynchronous peripherals, such as the RTC, may still be running but will not be able to access internal resources or external memory. This powered-down mode can only be exited by assertion of the reset interrupt (RESET
) or by an asynchronous interrupt generated by the RTC. In deep sleep mode, an asynchronous RTC inter­rupt causes the processor to transition to the active mode. Assertion of RESET
while in deep sleep mode causes the proces-
sor to transition to the full on mode.

Hibernate State—Maximum Static Power Savings

The hibernate state maximizes static power savings by disabling the voltage and clocks to the processor core (CCLK) and to all the synchronous peripherals (SCLK). The internal voltage regu­lator for the processor can be shut off by using the bfrom_SysControl() function in the on-chip ROM. This sets the internal power supply voltage (V
) to 0 V to provide the
DDINT
greatest power savings mode. Any critical information stored internally (memory contents, register contents, and so on) must be written to a non-volatile storage device prior to removing power if the processor state is to be preserved.
Since V
is still supplied in this mode, all of the external
DDEXT
pins three-state, unless otherwise specified. This allows other devices that may be connected to the processor to have power still applied without drawing unwanted current.
The internal supply regulator can be woken up by CAN, by the MXVR, by the keypad, by the up/down counter, by the USB, and by some GPIO pins. It can also be woken up by a real-time clock wakeup event or by asserting the RESET
pin. Waking up
from hibernate state initiates the hardware reset sequence.
With the exception of the VR_CTL and the RTC registers, all internal registers and memories lose their content in hibernate state. State variables may be held in external SRAM or DDR memory.

Power Domains

As shown in Table 5, the ADSP-BF54x Blackfin processors sup­port different power domains. The use of multiple power domains maximizes flexibility while maintaining compliance with industry standards and conventions. By isolating the inter­nal logic of the ADSP-BF54x Blackfin processors into its own power domain separate from the RTC and other I/O, the pro­cessors can take advantage of dynamic power management without affecting the RTC or other I/O devices. There are no sequencing requirements for the various power domains.
Table 5. Power Domains
Power Domain VDD Range
All internal logic, except RTC, DDR, and USB V RTC internal logic and crystal I/O V DDR external memory supply V USB internal logic and crystal I/O V Internal voltage regulator V MXVR PLL and logic V All other I/O V
DDINT
DDRTC
DDDDR
DDUSB
DDVR
DDMP
DDEXT

VOLTAGE REGULATION

The ADSP-BF54x Blackfin processors provide an on-chip volt­age regulator that can generate processor core voltage levels from an external supply (see specifications in Operating Condi-
tions on Page 33). Figure 6 on Page 17 shows the typical
external components required to complete the power manage­ment system. The regulator controls the internal logic voltage levels and is programmable with the voltage regulator control register (VR_CTL) in increments of 50 mV. This register can be accessed using the bfrom_SysControl() function in the on-chip ROM. To reduce standby power consumption, the internal volt­age regulator can be programmed to remove power to the processor core while keeping I/O power supplied. While in hibernate state, V still be applied, eliminating the need for external buffers. The voltage regulator can be activated from this power-down state by assertion of the RESET sequence. The regulator can also be disabled and bypassed at the user’s discretion. For all 600 MHz speed grade models and all automotive grade models, the internal voltage regulator must not be used and V information regarding design of the voltage regulator circuit, see Switching Regulator Design Considerations for the ADSP- BF533 Blackfin Processors (EE-228).
, V
DDEXT
DDRTC
pin, which then initiates a boot
must be tied to V
DDVR
, V
DDDDR
, V
DDUSB
. For additional
DDEXT
, and V
DDVR
can
Rev. D | Page 16 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
V
DDVR
(LOW-INDUCTANCE)
V
DDINT
VR
OUT
100μF
VR
OUT
GND
SHORT AND LOW-
INDUCTANCE WIRE
V
DDVR
+
+
100μF
10μF
LOW ESR
100nF
SETOFDECOUPLING
CAPACITORS
FDS9431A
ZHCS1000
2.7V TO 3.6V INPUT VOLTAGE RANGE
NOTE: DESIGNER SHOULD MINIMIZE TRACE LENGTH TO FDS9431A.
10μH
CLKIN
CLKOUT
XTAL
EN
CLKBUF
TO PLL CIRC UITRY
FROVERTONE OPERAOTION ONLY
NOTE: VALUES MARKED WITH * MUST BE CUSTOMIZED DEPENDING ON THE CRYSTAL AND LAYOUT. PLEASE ANALYZE CAREFULLY.
18 pF*
EN
18 pF*
7000
BLACKFIN
0
*
V
DDEXT
1M
PLL
0.5x - 64x
1:15
1, 2, 4, 8
VCO
CLKIN
DYNAMIC MODIFICATION
REQUIRES PLL SEQUENCING
DYNAMIC MODIFICATION
ON-THE-FLY
CCLK
SCLK
Figure 7. External Crystal Connections
Figure 6. Voltage Regulator Circuit

CLOCK SIGNALS

The ADSP-BF54x Blackfin processors can be clocked by an external crystal, a sine wave input, or a buffered, shaped clock derived from an external clock oscillator.
If an external clock is used, it should be a TTL-compatible signal and must not be halted, changed, or operated below the speci­fied frequency during normal operation. This signal is connected to the processor’s CLKIN pin. When an external clock is used, the XTAL pin must be left unconnected.
Alternatively, because the ADSP-BF54x Blackfin processors include an on-chip oscillator circuit, an external crystal may be used. For fundamental frequency operation, use the circuit shown in Figure 7. A parallel-resonant, fundamental frequency, microprocessor-grade crystal is connected across the CLKIN and XTAL pins. The on-chip resistance between CLKIN and the XTAL pin is in the 500 k range. Typically, further parallel resistors are not recommended. The two capacitors and the series resistor shown in Figure 7 fine-tune phase and amplitude of the sine frequency. The 1MOhm pull-up resistor on the XTAL pin guarantees that the clock circuit is properly held inac­tive when the processor is in the hibernate state.
The capacitor and resistor values shown in Figure 7 are typical values only. The capacitor values are dependent upon the crystal manufacturers’ load capacitance recommendations and the PCB physical layout. The resistor value depends on the drive level specified by the crystal manufacturer. System designs should verify the customized values based on careful investigations on multiple devices over temperature range.
A third-overtone crystal can be used at frequencies above 25 MHz. The circuit is then modified to ensure crystal operation only at the third overtone by adding a tuned inductor circuit as shown in Figure 7. A design procedure for third-overtone oper­ation is discussed in detail in an Application Note, Using Third Overtone Crystals (EE-168).
The Blackfin core runs at a different clock rate than the on-chip peripherals. As shown in Figure 8 on Page 17, the core clock (CCLK) and system peripheral clock (SCLK) are derived from
Rev. D | Page 17 of 100 | May 2011
the input clock (CLKIN) signal. An on-chip PLL is capable of multiplying the CLKIN signal by a programmable 0.5× to 64× multiplication factor (bounded by specified minimum and max­imum VCO frequencies). The default multiplier is 8×, but it can be modified by a software instruction sequence. This sequence is managed by the bfrom_SysControl() function in the on-chip ROM.
On-the-fly CCLK and SCLK frequency changes can be applied by using the bfrom_SysControl() function in the on-chip ROM. Whereas the maximum allowed CCLK and SCLK rates depend on the applied voltages V
DDINT
and V
, the VCO is always
DDEXT
permitted to run up to the frequency specified by the part’s speed grade.
The CLKOUT pin reflects the SCLK frequency to the off-chip world. It functions as a reference for many timing specifications. While inactive by default, it can be enabled using the EBIU_AMGCTL register.
Note: For CCLK and SCLK specifications, see Tab le 1 5.
Figure 8. Frequency Modification Methods
All on-chip peripherals are clocked by the system clock (SCLK). The system clock frequency is programmable by means of the SSEL3–0 bits of the PLL_DIV register. The values programmed into the SSEL fields define a divide ratio between the PLL output (VCO) and the system clock. SCLK divider values are 1 through
15. Table 6 illustrates typical system clock ratios. The default ratio is 4.
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 6. Example System Clock Ratios
Example Frequency Ratios
Signal Name SSEL3–0
0010 2:1 200 100 0110 6:1 300 50 1010 10:1 500 50
Divider Ratio VCO/SCLK
VCO SCLK
(MHz)
Note that the divisor ratio must be chosen to limit the system clock frequency to its maximum of f
. The SSEL value can be
SCLK
dynamically changed without any PLL lock latencies by writing the appropriate values to the PLL divisor register (PLL_DIV) using the bfrom_SysControl() function in the on-chip ROM.
The core clock (CCLK) frequency can also be dynamically changed by means of the CSEL1–0 bits of the PLL_DIV register. Supported CCLK divider ratios are 1, 2, 4, and 8, as shown in
Table 7. The default ratio is 1. This programmable core clock
capability is useful for fast core frequency modifications.
The maximum CCLK frequency not only depends on the part’s speed grade, it also depends on the applied V
voltage. See
DDINT
Table 12 on Page 34 for details.
Table 7. Core Clock Ratios
Example Frequency Ratios
Signal Name CSEL1–0
00 1:1 300 300 01 2:1 300 150 10 4:1 500 125 11 8:1 200 25
Divider Ratio VCO/CCLK
VCO CCLK
(MHz)

BOOTING MODES

The ADSP-BF54x Blackfin processors have many mechanisms (listed in Table 8) for automatically loading internal and exter­nal memory after a reset. The boot mode is specified by four BMODE input pins dedicated to this purpose. There are two categories of boot modes: master and slave. In master boot modes, the processor actively loads data from parallel or serial memories. In slave boot modes, the processor receives data from an external host device.
Table 8. Booting Modes
BMODE3–0 Description
0000 Idle-no boot 0001 Boot from 8- or 16-bit external flash memory 0010 Boot from 16-bit asynchronous FIFO 0011 Boot from serial SPI memory (EEPROM or flash) 0100 Boot from SPI host device 0101 Boot from serial TWI memory (EEPROM or flash) 0110 Boot from TWI host 0111 Boot from UART host
Table 8. Booting Modes (Continued)
BMODE3–0 Description
1000 Reserved 1001 Reserved 1010 Boot from DDR SDRAM/Mobile DDR SDRAM 1011 Boot from OTP memory 1100 Reserved 1101 Boot from 8- or 16-bit NAND flash memory via NFC 1110 Boot from 16-bit host DMA 1111 Boot from 8-bit host DMA
The boot modes listed in Table 8 provide a number of mecha­nisms for automatically loading the processor’s internal and external memories after a reset. By default, all boot modes use the slowest allowed configuration settings. Default settings can be altered via the initialization code feature at boot time or by proper OTP programming at pre-boot time. Some boot modes require a boot host wait (HWAIT) signal, which is a GPIO out­put signal that is driven and toggled by the boot kernel at boot time. If pulled high through an external pull-up resistor, the HWAIT signal behaves active high and will be driven low when the processor is ready for data. Conversely, when pulled low, HWAIT is driven high when the processor is ready for data. When the boot sequence completes, the HWAIT pin can be used for other purposes. By default, HWAIT functionality is on GPIO port B (PB11). However, if PB11 is otherwise utilized in the system, an alternate boot host wait (HWAITA) signal can be enabled on GPIO port H (PH7) by programming the OTP_ALTERNATE_HWAIT bit in the PBS00L OTP memory page.
The BMODE pins of the reset configuration register, sampled during power-on resets and software-initiated resets, imple­ment the following modes:
• Idle-no boot mode (BMODE = 0x0)—In this mode, the processor goes into the idle state. The idle boot mode helps to recover from illegal operating modes, in case the OTP memory is misconfigured.
• Boot from 8- or 16-bit external flash memory— (BMODE = 0x1)—In this mode, the boot kernel loads the first block header from address 0x2000 0000 and, depend­ing on instructions contained in the header, the boot kernel performs an 8- or 16-bit boot or starts program execution at the address provided by the header. By default, all con­figuration settings are set for the slowest device possible (3­cycle hold time; 15-cycle R/W access times; 4-cycle setup).
The ARDY pin is not enabled by default. It can, however, be enabled by OTP programming. Similarly, all interface behavior and timings can be customized through OTP pro­gramming. This includes activation of burst-mode or page­mode operation. In this mode, all asynchronous interface signals are enabled at the port muxing level.
Rev. D | Page 18 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
• Boot from 16-bit asynchronous FIFO (BMODE = 0x2)—In this mode, the boot kernel starts booting from address 0x2030 0000. Every 16-bit word that the boot kernel has to read from the FIFO must be requested by a low pulse on the DMAR1 pin.
• Boot from serial SPI memory, EEPROM or flash (BMODE = 0x3)—8-, 16-, 24- or 32-bit addressable devices are supported. The processor uses the PE4 GPIO pin to select a single SPI EEPROM or flash device and uses SPI0 to submit a read command and successive address bytes (0x00) until a valid 8-, 16-, 24-, or 32-bit addressable device is detected. Pull-up resistors are required on the SPI0SEL1 and SPI0MISO pins. By default, a value of 0x85 is written to the SPI0_BAUD register.
• Boot from SPI host device (BMODE = 0x4)—The proces­sor operates in SPI slave mode (using SPI0) and is configured to receive the bytes of the .LDR file from an SPI host (master) agent. The HWAIT signal must be interro­gated by the host before every transmitted byte. A pull-up resistor is required on the SPI0SS
input. A pull-down resis­tor on the serial clock (SPI0SCK) may improve signal quality and booting robustness.
• Boot from serial TWI memory, EEPROM or flash (BMODE = 0x5)—The processor operates in master mode (using TWI0) and selects the TWI slave with the unique ID 0xA0. The processor submits successive read commands to the memory device starting at two-byte internal address 0x0000 and begins clocking data into the processor. The TWI memory device should comply with Philips I
2
C Bus Specification version 2.1 and have the capability to auto­increment its internal address counter such that the con­tents of the memory device can be read sequentially. By default, a prescale value of 0xA and CLKDIV value of 0x0811 is used. Unless altered by OTP settings, an I
2
C memory that takes two address bytes is assumed. Develop­ment tools ensure that data that is booted to memories that cannot be accessed by the Blackfin core is written to an intermediate storage place and then copied to the final des­tination via memory DMA.
• Boot from TWI host (BMODE = 0x6)—The TWI host agent selects the slave with the unique ID 0x5F. The proces­sor (using TWI0) replies with an acknowledgement, and the host can then download the boot stream. The TWI host agent should comply with Philips I sion 2.1. An I
2
C multiplexer can be used to select one
2
C Bus Specification ver-
processor at a time when booting multiple processors from a single TWI.
• Boot from UART host (BMODE = 0x7)—In this mode, the processor uses UART1 as the booting source. Using an autobaud handshake sequence, a boot-stream-formatted program is downloaded by the host. The host agent selects a bit rate within the UART’s clocking capabilities.
When performing the autobaud, the UART expects an “@” (0x40) character (eight data bits, one start bit, one stop bit, no parity bit) on the UART1RX pin to determine the bit rate. It then replies with an acknowledgement, which is
composed of four bytes (0xBF, the value of UART1_DLL, the value of UART1_DLH, and finally 0x00). The host can then download the boot stream. The processor deasserts the UART1RTS
output to hold off the host; UART1CTS
functionality is not enabled at boot time.
• Boot from (DDR) SDRAM (BMODE = 0xA)—In this mode, the boot kernel starts booting from address 0x0000 0010. This is a warm boot scenario only. The SDRAM is expected to contain a valid boot stream and the SDRAM controller must have been configured by the OTP settings.
• Boot from 8-bit and 16-bit external NAND flash memory (BMODE = 0xD)—In this mode, auto detection of the NAND flash device is performed. The processor configures PORTJ GPIO pins PJ1 and PJ2 to enable the ND_CE ND_RB
signals, respectively. For correct device operation, pull-up resistors are required on both ND_CE ND_RB
(PJ2) signals. By default, a value of 0x0033 is writ-
and
(PJ1) and
ten to the NFC_CTL register. The booting procedure always starts by booting from byte 0 of block 0 of the NAND flash device. In this boot mode, the HWAIT signal does not toggle. The respective GPIO pin remains in the high-impedance state.
NAND flash boot supports the following features:
• Device auto detection
• Error detection and correction for maximum reliability
• No boot stream size limitation
• Peripheral DMA via channel 22, providing efficient transfer of all data (excluding the ECC parity data)
• Software-configurable boot mode for booting from boot streams expanding multiple blocks, including bad blocks
• Software-configurable boot mode for booting from multiple copies of the boot stream allowing for han­dling of bad blocks and uncorrectable errors
• Configurable timing via OTP memory
Small page NAND flash devices must have a 512-byte page size, 32 pages per block, a 16-byte spare area size and a bus configuration of eight bits. By default, all read requests from the NAND flash are followed by four address cycles. If the NAND flash device requires only three address cycles, then the device must be capable of ignoring the additional address cycle.
The small page NAND flash device must comply with the following command set:
Reset: 0xFF Read lower half of page: 0x00 Read upper half of page: 0x01 Read spare area: 0x50
Rev. D | Page 19 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
For large page NAND flash devices, the 4-byte electronic signature is read in order to configure the kernel for boot­ing. This allows support for multiple large page devices. The fourth byte of the electronic signature must comply with the specifications in Table 9.
Any configuration from Table 9 that also complies with the command set listed below is directly supported by the boot kernel. There are no restrictions on the page size or block size as imposed by the small-page boot kernel.
Table 9. Byte 4 Electronic Signature Specification
Page Size (excluding spare area)
Spare Area Size D2 0 8 bytes/512 bytes
Block Size (excluding spare area)
Bus Width D6 0 x8
Not Used for Configuration
D1:D0 00 1K bytes
01 2K bytes
10 4K bytes
11 8K bytes
1 16 bytes/512 bytes
D5:4 00 64K bytes
01 128K bytes
10 256K bytes
11 512K bytes
1x16
D3, D7
Large page devices must support the following command set:
Reset: 0xFF Read Electronic Signature: 0x90 Read: 0x00, 0x30 (confirm command)
Large page devices must not support or react to NAND flash command 0x50. This is a small page NAND flash command used for device auto detection.
By default, the boot kernel will always issue five address cycles; therefore, if a large page device requires only four cycles, the device must be capable of ignoring the additional address cycle.
16-bit NAND flash memory devices must only support the issu­ing of command and address cycles via the lower eight bits of the data bus. Devices that use the full 16-bit bus for command and address cycles are not supported.
• Boot from OTP memory (BMODE = 0xB)—This provides a standalone booting method. The boot stream is loaded from on-chip OTP memory. By default, the boot stream is expected to start from OTP page 0x40 and can occupy all
public OTP memory up to page 0xDF (2560 bytes). Since the start page is programmable, the maximum size of the boot stream can be extended to 3072 bytes.
• Boot from 16-bit host DMA (BMODE = 0xE)—In this mode, the host DMA port is configured in 16-bit acknowl­edge mode with little endian data format. Unlike other modes, the host is responsible for interpreting the boot stream. It writes data blocks individually into the host DMA port. Before configuring the DMA settings for each block, the host may either poll the ALLOW_CONFIG bit in HOST_STATUS or wait to be interrupted by the HWAIT signal. When using HWAIT, the host must still check ALLOW_CONFIG at least once before beginning to con­figure the host DMA port. After completing the configuration, the host is required to poll the READY bit in HOST_STATUS before beginning to transfer data. When the host sends an HIRQ control command, the boot kernel issues a CALL instruction to address 0xFFA0 0000. It is the host’s responsibility to ensure valid code has been placed at this address. The routine at address 0xFFA0 0000 can be a simple initialization routine to configure internal resources, such as the SDRAM controller, which then returns using an RTS instruction. The routine may also be the final application, which will never return to the boot kernel.
• Boot from 8-bit host DMA (BMODE = 0xF)—In this mode, the host DMA port is configured in 8-bit interrupt mode with little endian data format. Unlike other modes, the host is responsible for interpreting the boot stream. It writes data blocks individually to the host DMA port. Before configuring the DMA settings for each block, the host may either poll the ALLOW_CONFIG bit in HOST_STATUS or wait to be interrupted by the HWAIT signal. When using HWAIT, the host must still check ALLOW_CONFIG at least once before beginning to con­figure the host DMA port. The host will receive an interrupt from the HOST_ACK signal every time it is allowed to send the next FIFO depth’s worth (sixteen 32-bit words) of information. When the host sends an HIRQ con­trol command, the boot kernel issues a CALL instruction to address 0xFFA0 0000. It is the host's responsibility to ensure valid code has been placed at this address. The rou­tine at address 0xFFA0 0000 can be a simple initialization routine to configure internal resources, such as the SDRAM controller, which then returns using an RTS instruction. The routine may also be the final application, which will never return to the boot kernel.
For each of the boot modes, a 16-byte header is first read from an external memory device. The header specifies the number of bytes to be transferred and the memory destination address. Multiple memory blocks may be loaded by any boot sequence. Once all blocks are loaded, program execution commences from the address stored in the EVT1 register.
Prior to booting, the pre-boot routine interrogates the OTP memory. Individual boot modes can be customized or disabled based on OTP programming. External hardware, especially booting hosts, may monitor the HWAIT signal to determine
Rev. D | Page 20 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
when the pre-boot has finished and the boot kernel starts the boot process. However, the HWAIT signal does not toggle in NAND boot mode. By programming OTP memory, the user can instruct the preboot routine to also customize the PLL, volt­age regulator, DDR controller, and/or asynchronous memory interface controller.
The boot kernel differentiates between a regular hardware reset and a wakeup-from-hibernate event to speed up booting in the later case. Bits 6-4 in the system reset configuration (SYSCR) register can be used to bypass the pre-boot routine and/or boot kernel in case of a software reset. They can also be used to simu­late a wakeup-from-hibernate boot in the software reset case.
The boot process can be further customized by “initialization code.” This is a piece of code that is loaded and executed prior to the regular application boot. Typically, this is used to configure the DDR controller or to speed up booting by managing PLL, clock frequencies, wait states, and/or serial bit rates.
The boot ROM also features C-callable function entries that can be called by the user application at run time. This enables sec­ond-stage boot or booting management schemes to be implemented with ease.

INSTRUCTION SET DESCRIPTION

The Blackfin processor family assembly language instruction set employs an algebraic syntax designed for ease of coding and readability. The instructions have been specifically tuned to pro­vide a flexible, densely encoded instruction set that compiles to a very small final memory size. The instruction set also provides fully featured multifunction instructions that allow the pro­grammer to use many of the processor core resources in a single instruction. Coupled with many features more often seen on microcontrollers, this instruction set is very efficient when com­piling C and C++ source code. In addition, the architecture supports both user (algorithm/application code) and supervisor (O/S kernel, device drivers, debuggers, ISRs) modes of opera­tion, allowing multiple levels of access to core processor resources.
The assembly language, which takes advantage of the proces­sor’s unique architecture, offers the following advantages:
• Seamlessly integrated DSP/MCU features are optimized for both 8-bit and 16-bit operations.
• A multi-issue load/store modified-Harvard architecture, which supports two 16-bit MAC or four 8-bit ALU + two load/store + two pointer updates per cycle.
• All registers, I/O, and memory are mapped into a unified 4G byte memory space, providing a simplified program­ming model.
• Microcontroller features, such as arbitrary bit and bit-field manipulation, insertion, and extraction; integer operations on 8-, 16-, and 32-bit data-types; and separate user and supervisor stack pointers.
• Code density enhancements, which include intermixing of 16- and 32-bit instructions (no mode switching, no code segregation). Frequently used instructions are encoded in 16 bits.

DEVELOPMENT TOOLS

The ADSP-BF54x Blackfin processors are supported with a complete set of CROSSCORE® software and hardware develop­ment tools, including Analog Devices emulators and VisualDSP++® development environment. The same emulator hardware that supports other Blackfin processors also fully emulates the ADSP-BF54x Blackfin processors.

EZ-KIT Lite Evaluation Board

For evaluation of ADSP-BF54x Blackfin processors, use the ADSP-BF548 EZ-KIT Lite Devices. Order part number ADZS-BF548-EZLITE. The board comes with on-chip emulation capabilities and is equipped to enable software development. Multiple daughter cards are available.
®
board available from Analog

DESIGNING AN EMULATOR-COMPATIBLE PROCESSOR BOARD

The Analog Devices family of emulators are tools that every sys­tem developer needs to test and debug hardware and software systems. Analog Devices has supplied an IEEE 1149.1 JTAG test access port (TAP) on each JTAG processor. The emulator uses the TAP to access the internal features of the processor, allow­ing the developer to load code, set breakpoints, observe variables, observe memory, and examine registers. The proces­sor must be halted to send data and commands, but once an operation has been completed by the emulator, the processor is set running at full speed with no impact on system timing.
To use these emulators, the target board must include a header that connects the processor’s JTAG port to the emulator.
For details on target board design issues including mechanical layout, single processor connections, multiprocessor scan chains, signal buffering, signal termination, and emulator pod logic, see Analog Devices JTAG Emulation Technical Reference (EE-68) on the Analog Devices web site under
www.analog.com/ee-notes. This document is updated regularly
to keep pace with improvements to emulator support.

MXVR BOARD LAYOUT GUIDELINES

The MXVR Loop Filter RC network is connected between the MLF_P and MLF_M pins in the following manner:
Capacitors:
• C1: 0.047 F (PPS type, 2% tolerance recommended)
• C2: 330 pF (PPS type, 2% tolerance recommended)
Resistor:
• R1: 330  (1% tolerance)
The RC network should be located physically close to the MLF_P and MLF_M pins on the board.
The RC network should be shielded using GND
Avoid routing other switching signals near the RC network to avoid crosstalk.
traces.
MP
Rev. D | Page 21 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
MXI driven with external clock oscillator IC:
• MXI should be driven with the clock output of a clock oscillator IC running at a frequency of 49.152 MHz or
45.1584 MHz.
• MXO should be left unconnected.
• Avoid routing other switching signals near the oscillator and clock output trace to avoid crosstalk. When not possi­ble, shield traces with ground.
MXI/MXO with external crystal:
• The crystal must be a fundamental mode crystal running at a frequency of 49.152 MHz or 45.1584 MHz.
• The crystal and load capacitors should be placed physically close to the MXI and MXO pins on the board.
• Board trace capacitance on each lead should not be more than 3 pF.
• Trace capacitance plus load capacitance should equal the load capacitance specification for the crystal.
• Avoid routing other switching signals near the crystal and components to avoid crosstalk. When not possible, shield traces and components with ground.
/GNDMP—MXVR PLL power domain:
V
DDMP
•Route V
and GNDMP with wide traces or as isolated
DDMP
power planes.
•Drive V
• Place a ferrite bead between the V V
DDMP
• Locally bypass V capacitors to GND
• Avoid routing switching signals near to V
to same level as V
DDMP
pin for noise isolation.
with 0.1 F and 0.01 F decoupling
DDMP
.
MP
.
DDINT
power plane and the
DDINT
DDMP
and GNDMP
traces to avoid crosstalk.
Fiber optic transceiver (FOT) connections:
• Keep the traces between the ADSP-BF549 processor and the FOT as short as possible.
• The receive data trace connecting the FOT receive data output pin to the ADSP-BF549 PH6/MRX input pin should have a 0  series termination resistor placed close to the FOT receive data output pin. Typically, the edge rate of the FOT receive data signal driven by the FOT is very slow, and further degradation of the edge rate is not desirable.
• The transmit data trace connecting the ADSP-BF549 PH5/MTX output pin to the FOT transmit data input pin should have a 27  series termination resistor placed close to the ADSP-BF549 PH5/MTX pin.
• The receive data trace and the transmit data trace between the ADSP-BF549 processor and the FOT should not be routed close to each other in parallel over long distances to avoid crosstalk.

RELATED DOCUMENTS

The following publications that describe the ADSP-BF54x Blackfin processors (and related processors) can be ordered from any Analog Devices sales office or accessed electronically on www.analog.com:
ADSP-BF54x Blackfin Processor Hardware Reference, Vol-
ume 1 and Volume 2
Blackfin Processor Programming Reference
ADSP-BF542/BF544/BF547/BF548/BF549
Blackfin Anomaly List

RELATED SIGNAL CHAINS

A signal chain is a series of signal-conditioning electronic com­ponents that receive input (data acquired from sampling either real-time phenomena or from stored data) in tandem, with the output of one portion of the chain supplying input to the next. Signal chains are often used in signal processing applications to gather and process data or to apply system controls based on analysis of real-time phenomena. For more information about this term and related topics, see the "signal chain" entry in
Wikipedia or the Glossary of EE Terms on the Analog Devices
website.
Analog Devices eases signal processing system development by providing signal processing components that are designed to work together well. A tool for viewing relationships between specific applications and related components is available on the
www.analog.com website.
The Application Signal Chains page in the Circuits from the
TM
site (http://www.analog.com/circuits) provides:
Lab
• Graphical circuit block diagram presentation of signal chains for a variety of circuit types and applications
• Drill down links for components in each chain to selection guides and application information
• Reference designs applying best practice design techniques

LOCKBOX SECURE TECHNOLOGY DISCLAIMER

Analog Devices products containing Lockbox Secure Technol­ogy are warranted by Analog Devices as detailed in the Analog Devices Standard Terms and Conditions of Sale. To our knowl­edge, the Lockbox secure technology, when used in accordance with the data sheet and hardware reference manual specifica­tions, provides a secure method of implementing code and data safeguards. However, Analog Devices does not guarantee that this technology provides absolute security. ACCORDINGLY, ANALOG DEVICES HEREBY DISCLAIMS ANY AND ALL EXPRESS AND IMPLIED WARRANTIES THAT THE LOCK­BOX SECURE TECHNOLOGY CANNOT BE BREACHED, COMPROMISED, OR OTHERWISE CIRCUMVENTED AND IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY LOSS, DAMAGE, DESTRUCTION, OR RELEASE OF DATA, INFORMATION, PHYSICAL PROPERTY, OR INTEL­LECTUAL PROPERTY.
Rev. D | Page 22 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549

PIN DESCRIPTIONS

The ADSP-BF54x processor pin multiplexing scheme is shown in Table 10.
Table 10. Pin Multiplexing
Primary Pin Func tion (Number of
1, 2
Pins)
Port A
GPIO (16 pins) SPORT2 (8 pins) TMR4 (1 pin) TACI7 (1 pin)
Port B
GPIO (15 pins) TWI1 (2 pins)
Port C
GPIO (16 pins) SPORT0 (8 pins) MXVR MMCLK, MBCLK
Port D
GPIO (16 pins) PPI1 D0–15 (16 pins) Host D0–15 (16 pins) SPORT1 (8 pins) PPI0 D18– 23 (6 pins) Interrupts (8 pins)
First Peripheral Func tion
SPORT3 (8 pins) TMR6 (1 pin)
UART2 or 3 CTL (2 pins) UART2 (2 pins) UART3 (2 pins)
SPI2 SEL1-3 SPI2 (3 pins) TMR3 (1 pin) HWAIT (1 pin)
SDH (6 pins) Interrupts (8 pins)
(3 pins) TMR0–2 (3 pins)
Second Peripheral Func tion
TMR5 (1 pin)
TMR7 (1 pin)
(2 pins)
Third Peripheral Func tion
TACLK7–0 (8 pins)
TACI2-3 (2 pins) Interrupts (15 pins)
Fourth Peripheral Function Interrupt Capability
Interrupts (16 pins)
Interrupts (8 pins)
3
PPI2 D0–7 (8 pins) Keypad
Row 0–3 Col 0–3 (8 pins)
Port E
GPIO (16 pins) SPI0 (7 pins) Keypad
Row 4–6
Col 4–7 (7 pins) UART0 TX (1 pin) Keypad R7 (1 pin) UART0 RX (1 pin)
UART0 or 1 CTL (2 pins) PPI1 CLK,FS (3 pins) TWI0 (2 pins)
Port F
GPIO (16 pins) PPI0 D0–15 (16 pins) ATAPI D0-15A Interrupts (8 pins)
Port G
GPIO (16 pins) PPI0 CLK,FS (3 pins)
DATA 16–17 (2 pins)
SPI1 SEL1–3 SPI1 (4 pins) MXVR MTXON CAN0 (2 pins) CAN1 (2 pins)
(3 pins) Host CTL (3 pins) PPI2 CLK,FS (3 pins) CZM (1 pin)
TMRCLK (1 pin) Interrupts (8 pins)
ATAPI A0-2A
(1 pin) TACI4-5 (2 pins) Interrupts (8 pins)
TACI0 (1 pin) Interrupts (8 pins)
Interrupts (8 pins)
Interrupts (8 pins)
Interrupts (8 pins)
Rev. D | Page 23 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 10. Pin Multiplexing (Continued)
Primary Pin Func tion (Number of
1, 2
Pins)
First Peripheral Func tion
Port H
GPIO (14 pins) UART1 (2 pins) PPI0-1_FS3 (2 pins) TACI1 (1 pin) Interrupts (8 pins)
ATAP I _R ES ET
(1 pin) TMR8 (1 pin) PPI2_FS3 (1 pin)
HOST_ADDR (1 pin) TMR9 (1 pin) Counter Down/Gate
HOST_ACK (1 pin) TMR10 (1 pin) Counter Up/Dir
MXVR MRX, MTX, MRXON/GPW
4
(3 pins)
Port I
GPIO (16 pins) Async Addr10–25
(16 pins)
Port J
GPIO (14 pins) Async CTL and MISC Interrupts (8 pins)
1
Port connections may be inputs or outputs after power up depending on the model and boot mode chosen.
2
All port connections always power up as inputs for some period of time and require resistive termination to a safe condition if used as outputs in the system.
3
A total of 32 interrupts at once are available from ports C through J, configurable in byte-wide blocks.
4
GPW functionality available when MXVR is not present or unused.
Second Peripheral Func tion
Third Peripheral Func tion
Fourth Peripheral Function Interrupt Capability
(1 pin)
(1 pin) DMAR 0–1 (2 pins) TACI8–10 (3 pins)
TACLK8–10 (3 pins) HWAITA
AMC Addr 4-9 (6 pins) Interrupts (6 pins)
Interrupts (8 pins)
Interrupts (8 pins)
Interrupts (6 pins)
Pin definitions for the ADSP-BF54x processors are listed in
Table 11. In order to maintain maximum function and reduce
package size and ball count, some balls have dual, multiplexed functions. In cases where ball function is reconfigurable, the default state is shown in plain text, while the alternate function is shown in italics.
All pins are three-stated during and immediately after reset, with the exception of the external memory interface, asynchro­nous and synchronous memory control, and the buffered XTAL output pin (CLKBUF). On the external memory interface, the control and address lines are driven high, with the exception of CLKOUT, which toggles at the system clock rate. During hiber­nate, all outputs are three-stated unless otherwise noted in
Table 11.
All I/O pins have their input buffers disabled with the exception of the pins that need pull-ups or pull-downs, as noted in
Table 11.
It is strongly advised to use the available IBIS models to ensure that a given board design meets overshoot/undershoot and sig­nal integrity requirements.
Additionally, adding a parallel termination to CLKOUT may prove useful in further enhancing signal integrity. Be sure to verify overshoot/undershoot and signal integrity specifications on actual hardware.
Rev. D | Page 24 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 11. Pin Descriptions
Driver
Pin Name I/O1Function (First/ Second/Third/Fourth)
Port A: GPIO/SPORT2–3/TMR4–7
PA 0/ TFS2 I/O GPIO / SPORT2 Transmit Frame Sync C
PA 1/ DT 2SEC /TMR4 I/O GPIO / SPORT2 Transmit Data Secondary/Timer 4 C
PA 2/ DT 2PRI I/O GPIO / SPORT2 Transmit Data Primary C
PA 3/ TSCLK2 I/O GPIO / SPORT2 Transmit Serial Clock A
PA 4/ RFS2 I/O GPIO/SPORT2 Receive Frame Sync C
PA 5/ DR2SEC/TMR5 I/O GPIO / SPORT2 Receive Data Secondary/ Timer 5 C
PA 6/ DR2PRI I/O GPIO / SPORT2 Receive Data Primary C
PA 7/ RSCLK2 /TACLK0 I/O GPIO / SPORT2 Receive Serial Clock/Alternate Input Clock 0 A
PA 8/ TFS3 /TA CL K1 I/O GPIO / SPORT3 Transmit Frame Sync/Alternate Input Clock 1 C
PA 9/ DT 3SEC /TMR6 I/O GPIO / SPORT3 Transmit Data Secondary/Timer 6 C
PA 10 / DT3 PRI /TACLK2 I/O GPIO / SPORT3 Transmit Data Primary/Alternate Input Clock 2 C
PA 11 / TSCLK3/TAC LK 3 I/O GPIO/ SPORT3 Transmit Serial Clock /Alternate Input Clock 3 A
PA 12 / RFS3/TA CLK 4 I/O GPIO/SPORT3 Receive Frame Sync/Alternate Input Clock 4 C
PA 13 /
DR3SEC/TMR7/TACLK5 I/O GPIO/SPORT3 Receive Data Secondary/Timer 7 /Alternate Input Clock 5 C
PA 14 / DR3PRI /TAC LK 6 I/O GPIO / SPORT3 Receive Data Primary/ Alternate Input Clock 6 C
PA 15 / RSCLK3/TACLK7 and TACI7 I/O GPIO/SPORT3 Receive Serial Clock/Alt Input Clock 7 and Alt Capture Input 7 A
Port B: GPIO/TWI1/UART2–3/SPI2/TMR0–3
PB0/SCL1 I/O GPIO / TWI1 Serial Clock (Open-drain output: requires a pull-up resistor.) E
PB1/SDA1 I/O GPIO/TWI1 Serial Data (Open-drain output: requires a pull-up resistor.) E
PB2/UART3RTS
PB3/UART3CTS I/O GPIO/UART3 Clear to Send A
PB4/UART2TX I/O GPIO / UART2 Transmit A
PB5/UART2RX /TA CI2 I/O GPIO / UART2 Receive /Alternate Capture Input 2 A
PB6/UART3TX I/O GPIO / UART3 Transmit A
PB7/UART3RX /TA CI3 I/O GPIO / UART3 Receive /Alternate Capture Input 3 A
PB8/SPI2SS
PB9/SPI2SEL1
PB10 SPI2SEL2
PB11/SPI2SEL3
PB12/SPI2SCK I/O GPIO / SPI2 Clock A
PB13/SPI2MOSI I/O GPIO/SPI2 Master Out Slave In C
PB14/SPI2MISO I/O GPIO/SPI2 Master In Slave Out C
/TMR0 I/O GPIO / SPI2 Slave Select Input/ Timer 0 A
/TMR1 I/O GPIO /SPI2 Slave Select Enable 1/Timer 1 A
/TMR2 I/O GPIO / SPI2 Slave Select Enable 2/ Timer 2 A
/TMR3/ HWAIT I/O GPIO / SPI2 Slave Select Enable 3/Timer 3/Boot Host Wait A
I/O GPIO / UART3 Request to Send C
Typ e
2
Rev. D | Page 25 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 11. Pin Descriptions (Continued)
Pin Name I/O1Function (First/ Second/Third/Fourth)
Port C: GPIO/ SPORT0/SD Controller/MXVR (MOST)
PC0/TFS0 I/O GPIO/ SPORT0 Transmit Frame Sync C
PC1/DT0 SEC /MMCLK I/O GPIO/SPORT0 Transmit Data Secondary/MXVR Master Clock C
PC2/DT0 PRI I/O GPIO / SPORT0 Transmit Data Primary C
PC3/TSCLK0 I/O GPIO / SPORT0 Transmit Serial Clock A
PC4/RFS0 I/O GPIO / SPORT0 Receive Frame Sync C
PC5/DR0SEC/MBCLK I/O GPIO/SPORT0 Receive Data Secondary /MXVR Bit Clock C
PC6/DR0PRI I/O GPIO /SPORT0 Receive Data Primary C
PC7/RSCLK0 I/O GPIO/SPORT0 Receive Serial Clock C
PC8/SD_D0 I/O GPIO /SD Data Bus A
PC9/SD_D1 I/O GPIO /SD Data Bus A
PC10/SD_D2 I/O GPIO / SD Data Bus A
PC11/SD_D3 I/O GPIO / SD Data Bus A
PC12/SD_CLK I/O GPIO / SD Clock Output A
PC13/SD_CMD I/O GPIO / SD Command A
Port D: GPIO /PPI0–2/SPORT 1/Keypad/Host DMA
PD0/PPI1_D0/HOST_D8 / TFS1 /PPI0_D18
PD1/PPI1_D1/HOST_D9 / DT1SEC /PPI0_D19 I/O GPIO / PPI1 Data/Host DMA /SPORT1 Transmit Data Secondary/ PPI0 Data C
PD2/PPI1_D2/HOST_D10 / DT1PRI /PPI0_D20 I/O GPIO / PPI1 Data/Host DMA/SPORT1 Transmit Data Primary/PPI0 Data C
PD3/PPI1_D3/HOST_D11 / TSCLK1/PPI0_D21 I/O GPIO / PPI1 Data/Host DMA/SPORT1 Transmit Serial Clock/ PPI0 Data A
PD4/PPI1_D4/HOST_D12 /RFS1 /PPI0_D22 I/O GPIO / PPI1 Data/Host DMA/SPORT1 Receive Frame Sync/PPI0 Data C
PD5/PPI1_D5/HOST_D13/DR1SEC /PPI0_D23 I/O GPIO /PPI1 Data /Host DMA /SPORT1 Receive Data Secondary/PPI0 Data C
PD6/PPI1_D6/HOST_D14 /DR1PRI I/O GPIO /
PD7/PPI1_D7/HOST_D15 /RSCLK1 I/O GPIO/PPI1 Data /Host DMA /SPORT1 Receive Serial Clock A
PD8/PPI1_D8/HOST_D0 / PPI2_D0/KEY_ROW0 I/O GPIO/PPI1 Data /Host DMA/PPI2 Data/Keypad Row Input A
PD9/PPI1_D9/HOST_D1 /PPI2_D1 /KEY_ROW1 I/O GPIO/ PPI1 Data/ Host DMA /PPI2 Data /Keypad Row Input A
PD10/PPI1_D10/HOST_D2 /PPI2_D2/KEY_ROW2 I/O GPIO /PPI1 Data/Host DMA /PPI2 Data/Keypad Row Input A
PD11/PPI1_D11/HOST_D3 /PPI2_D3/KEY_ROW3 I/O GPIO /PPI1 Data/Host DMA /PPI2 Data/Keypad Row Input A
PD12/PPI1_D12/HOST_D4 /PPI2_D4/KEY_COL0 I/O GPIO/ PPI1 Data /Host DMA/ PPI2 Data
PD13/PPI1_D13/HOST_D5 /PPI2_D5/KEY_COL1 I/O GPIO/ PPI1 Data /Host DMA/ PPI2 Data/Keypad Column Output A
PD14/PPI1_D14/HOST_D6 /PPI2_D6/KEY_COL2 I/O GPIO/ PPI1 Data /Host DMA /PPI2 Data /Keypad Column Output A
PD15/PPI1_D15/HOST_D7 /PPI2_D7/KEY_COL3 I/O GPIO/ PPI1 Data /Host DMA /PPI2 Data /Keypad Column Output A
I/O GPIO / PPI1 Data/Host DMA/SPORT1 Transmit Frame Sync /PPI0 Data C
PPI1 Data/Host DMA/SPORT1 Receive Data Primary C
/Keypad Column Output A
Driver Typ e
2
Rev. D | Page 26 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 11. Pin Descriptions (Continued)
Pin Name I/O1Function (First/ Second/Third/Fourth)
Port E: GPIO/SPI0/UART0-1/PPI1/TWI0/Keypad
PE0/SPI0SCK /KEY_COL7
PE1/SPI0MISO /KEY_ROW6
PE2/SPI0MOSI /KEY_COL6 I/O GPIO / SPI0 Master Out Slave In/ Keypad Column Output C
PE3/SPI0SS
/KEY_ROW5 I/O GPIO/ SPI0 Slave Select Input/Keypad Row Input A
PE4/SPI0SEL1 /KEY_COL
PE5/SPI0SEL2 /KEY_ROW4 I/O GPIO /SPI0 Slave Select Enable 2/Keypad Row Input A
PE6/SPI0SEL3
/KEY_COL4 I/O GPIO/SPI0 Slave Select Enable 3/Keypad Column Output A
PE7/UART0TX /KEY_ROW7 I/O GPIO / UART0 Transmit /Keypad Row Input A
PE8/UART0RX /TA CI 0 I/O GPIO /UART0 Receive /Alternate Capture Input 0 A
PE9/UART1RTS
PE10/UART1CTS I/O GPIO / UART1 Clear to Send A
PE11/PPI1_CLK I/O GPIO / PPI1 Clock A
PE12/PPI1_FS1 I/O GPIO/PPI1 Frame Sync 1 A
PE13/PPI1_FS2 I/O GPIO/PPI1 Frame Sync 2 A
PE14/SCL0 I/O GPIO / TWI0 Serial Clock (Open-drain output: requires a pull-up resistor.) E
PE15/SDA0 I/O GPIO/TWI0 Serial Data (Open-drain output: requires a pull-up resistor.) E
Port F: GPIO/PPI0/Alternate ATAPI Data
PF0/PPI0_D0/ATAPI_D0A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF1/PPI0_D1/ATAPI_D1A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF2/PPI0_D2/ATAPI_D2A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF3/PPI0_D3/ATAPI_D3A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF4/PPI0_D4/ATAPI_D4A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF5/PPI0_D5/ATAPI_D5A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF6/PPI0_D6/ATAPI_D6A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF7/PPI0_D7/ATAPI_D7A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF8/PPI0_D8/ATAPI_D8A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF9/PPI0_D9/ATAPI_D9A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF10/PPI0_D10/ATAPI_D10A I/O GPIO /
PF11/PPI0_D11/ATAPI_D11A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF12/PPI0_D12/ATAPI_D12A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF13/PPI0_D13/ATAPI_D13A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF14/PPI0_D14/ATAPI_D14A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
PF15/PPI0_D15/ATAPI_D15A I/O GPIO /PPI0 Data/Alternate ATAPI Data A
3
3
3
I/O GPIO / SPI0 Clock/Keypad Column Output A
I/O GPIO / SPI0 Master In Slave Out/ Keypad Row Input C
I/O GPIO / SPI0 Slave Select Enable 1/ Keypad Column Output A
I/O GPIO / UART1 Request to Send A
PPI0 Data/Alternate ATAPI Data A
Driver Typ e
2
Rev. D | Page 27 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 11. Pin Descriptions (Continued)
Driver
Pin Name I/O1Function (First/ Second/Third/Fourth)
Port G: GPIO /PPI0/SPI1/PPI2/Up-Down
Counter/CAN0–1/Host DMA/MXVR (MOST)/ATAPI
PG0/PPI0_CLK/TMRCLK I/O GPIO / PPI0 Clock/External Timer Reference A
PG1/PPI0_FS1 I/O GPIO / PPI0 Frame Sync 1 A
PG2/PPI0_FS2/ATA PI _A0 A I/O GPIO /PPI0 Frame Sync 2/Alternate ATAPI Address A
PG3/PPI0_D16/ATAPI_A1A I/O GPIO /PPI0 Data/Alternate ATAPI Address A
PG4/PPI0_D17/ATAPI_A2A I/O GPIO /PPI0 Data/Alternate ATAPI Address A
PG5/SPI1SEL1
/HOST_CE /PPI2_FS2 /CZM I/O GPIO / SPI1 Slave Select/Host DMA Chip Enable / PPI2 Frame Sync 2 /Counter
Zero Marker
PG6/SPI1SEL2
PG7/SPI1SEL3
/HOST_RD /PPI2_FS1 I/O GPIO/SPI1 Slave Select/ Host DMA Read/ PPI2 Frame Sync 1A
/HOST_WR /PPI2_CLK I/O GPIO/SPI1 Slave Select/Host DMA Write/PPI2 Clock A
PG8/SPI1SCK I/O GPIO/SPI1 Clock C
PG9/SPI1MISO I/O GPIO / SPI1 Master In Slave Out C
PG10/SPI1MOSI I/O GPIO / SPI1 Master Out Slave In C
PG11/SPI1SS
/MTXON I/O GPIO / SPI1 Slave Select Input/ MXVR Transmit Phy On A
PG12/CAN0TX I/O GPIO /CAN0 Transmit A
PG13/CAN0RX /TA CI4 I/O GPIO /CAN0 Receive/ Alternate Capture Input 4 A
PG14/CAN1TX I/O GPIO /CAN1 Transmit A
PG15/CAN1RX /TA CI5 I/O GPIO /CAN1 Receive/ Alternate Capture Input 5 A
Port H:
GPIO/AMC /EXTDMA/ UART1 /PPI0–2/ATA PI/Up- Down Counter/TMR8-10/ Host DMA/MXVR (MOST)
PH0/UART1TX /PPI1_FS3_DEN I/O GPIO/UART1 Transmit /PPI1 Frame Sync 3A
PH1/UART1RX /PPI0_FS3_DEN /TA CI1 I/O GPIO/UART 1 Receive/ PPI0 Frame Sync 3/Alternate Capture Input 1 A
PH2/ATA PI _RE SE T
/TMR8/PPI2_FS3_DEN I/O GPIO/ATAPI Interface Hard Reset Signal/Timer 8 /PPI2 Frame Sync 3A
PH3/HOST_ADDR /TMR9 /CDG I/O GPIO /HOST Address/ Timer 9/Count Down and Gate A
PH4/HOST_ACK /TMR10 /CUD I/O GPIO / HOST Acknowledge/Timer 10 /Count Up and Direction A
PH5/MTX /DMAR0 /TACI8 and TACLK8 I/O GPIO/MXVR Transmit Data/Ext. DMA Request /Alt Capt. In. 8 /Alt In. Clk 8 C
PH6/MRX /DMAR1 /TACI9 and TACLK9 I/O GPIO / MXVR Receive Data/Ext. DMA Request /Alt Capt. In. 9 /Alt In. Clk 9 A
PH7/MRXON
/GPW/TACI10 and TACLK10/HWAITA
4,5
I/O GPIO / MXVR Receive Phy On /Alt Capt. In. 10 /Alt In. Clk 10/Alternate Boot
Host Wait
6
PH8/A4
PH9/A5
PH10/A6
PH11/A7
PH12/A8
PH13/A9
6
6
6
6
6
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
Typ e
A
A
2
Rev. D | Page 28 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 11. Pin Descriptions (Continued)
Pin Name I/O1Function (First/ Second/Third/Fourth)
Port I: GPIO/AMC
PI0/A10
PI1/A11
PI2/A12
PI3/A13
PI4/A14
PI5/A15
PI6/A16
PI7/A17
PI8/A18
PI9/A19
PI10/A20
PI11/A21
PI12/A22
PI13/A23
PI14/A24
PI15/A25/NR_CLK
Port J: GPIO/AMC/ATAP I
PJ 0 / ARDY/ WA IT I/O GPIO/ Async Ready/NOR Wait A
PJ 1 / ND_CE
PJ 2 / ND_RB I/O GPIO / NAND Ready Busy A
PJ 3 / ATAP I_ DI OR I/O GPIO/ATAPI Rea d A
PJ 4 / ATAP I_ DI OW
PJ 5 / ATAP I_ CS 0
PJ 6 / ATAP I_ CS 1
PJ 7 / ATAP I_ DM ACK
PJ 8 / ATAP I_ DM AR Q
PJ 9 / ATAPI_INTRQ I/O GPIO / Interrupt Request from the Device A
PJ 10 / ATA PI _I OR DY
PJ 11 / BR
PJ 12 / BG
PJ 13 / BGH
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access A
I/O GPIO / Address Bus for Async Access/ NOR clock A
I/O GPIO / NAND Chip Enable A
I/O GPIO / ATAPI Wri te A
I/O GPIO / ATAPI Chip Select/Command Block A
I/O GPIO / ATAPI Chip Select A
I/O GPIO / ATAPI DMA Acknowledge A
I/O GPIO / ATAPI DMA Request A
I/O GPIO / ATAPI Ready Handshake A
8
6
6
I/O GPIO / Bus Request A
I/O GPIO / Bus Grant A
I/O GPIO / Bus Grant Hang A
Driver Typ e
2
Rev. D | Page 29 of 100 | May 2011
ADSP-BF542/ADSP-BF544/ADSP-BF547/ADSP-BF548/ADSP-BF549
Table 11. Pin Descriptions (Continued)
Driver
Pin Name I/O1Function (First/ Second/Third/Fourth)
DDR Memory Interface
DA0–12 O DDR Address Bus D
DBA0–1 O DDR Bank Active Strobe D
DQ0–15 I/O DDR Data Bus D
DQS0–1 I/O DDR Data Strobe D
DQM0–1 O DDR Data Mask for Reads and Writes D
DCLK0–1 O DDR Output Clock D
DCLK0–1
O DDR Complementary Output Clock D
DCS0–1 ODDR Chip Selects D
9
DCLKE
O DDR Clock Enable (Requires a pull-down if hibernate with DDR self-
refresh is used.)
DRAS O DDR Row Address Strobe D
DCAS
O DDR Column Address Strobe D
DWE ODDR Write Enable D
DDR_VREF I DDR Voltage Reference
DDR_VSSR I DDR Voltage Reference Shield (Must be connected to GND.)
Asynchronous Memory Interface
A1-3 O Address Bus for Async and ATAPI Addresses A
D0-15/ND_D0-15/ATAPI_D0-15 I/O Data Bus for Async, NAND and ATAPI Accesses A
AMS0–3
O Bank Selects (Pull high with a resistor when used as chip select. Require
pull-ups if hibernate is used.)
ABE0 /ND_CLE O Byte Enables: Data Masks for Asynchronous Access/NAND Command
Latch Enable
ABE1/ND_ALE O Byte Enables: Data Masks for Asynchronous Access/ NAND Address Latch
Enable
/NR_ADV O Output Enable /NOR Address Data Valid A
AOE
ARE
AWE
ORead Enable/NOR Output Enable A
OWrite Enable A
ATAPI Controller Pins
ATAPI_PDIAG I Determines if an 80-pin cable is connected to the host. (Pull high or low
when unused.)
High Speed USB OTG Pins
USB_DP I/O USB D+ Pin (Pull low when unused.)
USB_DM I/O USB D- Pin (Pull low when unused.)
USB_XI C Clock XTAL Input (Pull high or low when unused.)
USB_XO C Clock XTAL Output (Leave unconnected when unused.)
10
USB_ID
I USB OTG ID Pin (Pull high when unused.)
Typ e
D
A
A
A
2
Rev. D | Page 30 of 100 | May 2011
Loading...
+ 70 hidden pages