Two 16-bit MACs, two 40-bit ALUs, four 8-bit video ALUs
RISC-like register and instruction model
Wide range of operating voltages. See Operating Conditions
on Page 34.
Programmable on-chip voltage regulator
400-ball lead-free CSP_BGA package option
MEMORY
Up to 324K bytes of on-chip memory comprised of
instruction SRAM/cache; instruction SRAM; data
SRAM/cache; additional dedicated data SRAM; scratchpad
SRAM (see Table 1 on Page 3)
External sync memory controller supporting DDR1
External async memory controller supporting 8-/16-bit async
memories and burst flash devices
NAND flash controller
Four memory-to-memory DMA pairs, two with ext. requests
Memory management unit providing memory protection
Flexible booting options
Code security with Lockbox Secure Technology
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 four synchronous serial ports (SPORTs)
Up to three serial peripheral interfaces (SPI-compatible)
Up to four UARTs, two with automatic H/W flow control
Up to two CAN (controller area network) 2.0B interfaces
Up to two 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 0.5× to 64× 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. A
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.
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 and memory configurations for
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
SD/SDIO Controller111–1
Pixel Compositor11111
18- or 24-bit EPPI0 with LCD1111–
16-bit EPPI1, 8-bit EPPI211111
Host DMA Port1111–
NAND Flash Controller11111
ATAPI111–1
High Speed USB OTG111–1
Keypad Interface111–1
MXVR1––––
CAN ports22–21
TWI ports22221
SPI ports33322
UART ports44433
SPORTs44433
Up/Down Counter11111
Timers111111118
General-Purpose I/O pins152 152 152 152 152
Memory
Configura-
tions
(K Bytes)
Maximum Core Instruction Rate (MHz)533 533 533 533 533
1
Lockbox is a trademark of Analog Devices, Inc.
2
This ROM is not customer-configurable.
L1 Instruction SRAM/Cache 1616161616
L1 Instruction SRAM4848484848
L1 Data SRAM/Cache3232323232
L1 Data SRAM3232323232
L1 Scratchpad SRAM44444
2
L1 ROM
L2128 128 128 64–
L3 Boot ROM
2
11111
6464646464
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)33333
NAND Flash Controller33333
ATA PI333 –3
Host DMA Port (HOSTDP)3333 –
The ADSP-BF54x Blackfin processors are completely code- and
pin-compatible. They differ only with respect to their performance, 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 programmability, 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 embedded network connected applications. By combining industrystandard 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, providing flexibility in system configuration as well as excellent overall
system performance (see Figure 1 on Page 1). The generalpurpose 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 ADSPBF54x processors contain dedicated network communication
modules and high speed serial and parallel ports, an interrupt
controller for flexible management of interrupts from the onchip peripherals or external sources, and power management
control functions to tailor the performance and power characteristics 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 DDR1 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 voltage regulator in support of the dynamic power management
capability. The voltage regulator provides a range of core voltage 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 computation 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 population 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 performed 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 execution, 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-overhead 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 simultaneous dual fetches from memory. It contains a multiported
register file consisting of four sets of 32-bit index, modify,
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 management 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 instructions, 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 instruction 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 syntax 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.
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 memory system, accessed through the external bus interface unit
(EBIU), provides expansion with flash memory, SRAM, and
double-rate SDRAM (DDR1), 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, consisting 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.
Rev. A | Page 6 of 88 | October 2008
Figure 3. ADSP-BF547/ADSP-BF548/ADSP-BF549
Internal/External Memory Map
1
For ADSP-BF544 processors, L2 SRAM is 64K Bytes (0xFEB0000 - 0xFEB0FFFF).
For ADSP-BF542 processors, there is no L2 SRAM.
1
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 DDR1 SDRAM,
SRAM, NOR flash, NAND flash, and FIFO devices. To provide
the best performance, the bus system of the DDR1 interface is
completely separate from the other parallel interfaces.
The DDR1 memory controller can gluelessly manage up to two
banks of double-rate synchronous dynamic memory (DDR1
SDRAM). The 16-bit interface operates at the SCLK frequency,
enabling a maximum throughput of 532M byte/s. The DDR1
controller is augmented with a queuing mechanism that performs efficient bursts into the DDR1. The controller is an
industry standard DDR1 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 87 for a list of specific products that
provide support for DDR1 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
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 DDR1 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 segments for storage with the goal of avoiding bad blocks and
equally distributing memory accesses across all address locations. 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 facilitates error detection and correction.
• A single 8-bit or 16-bit external bus interface for commands, 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. Additionally, 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 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 executing from the on-chip boot ROM. For more information, see
Booting Modes on Page 19.
Event Handling
The event controller on the ADSP-BF54x Blackfin processors
handle all asynchronous and synchronous events to the processors. The ADSP-BF54x Blackfin processors provide event
handling that supports both nesting and prioritization. Nesting
allows multiple event service routines to be active simultaneously. Prioritization ensures that servicing of a higherpriority event takes precedence over servicing of a lower-priority event. 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 shutdown 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 processors’ 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 system events. Conceptually, interrupts from the peripherals enter
into the SIC and are then routed directly into the general-purpose 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 interrupts (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.
The system interrupt controller provides the mapping and routing 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). Table 4 describes
the inputs into the SIC and the default mappings into the CEC.
Table 4. System Interrupt Controller (SIC) (Continued)
Peripheral IRQ
Source
DMA20 IRQ (SPORT3 RX)35IVG92
DMA21 IRQ (SPORT3 TX)36IVG92
DMA13 IRQ (EPPI1)37IVG92
DMA14 IRQ (EPPI2, Host DMA)38IVG92
DMA5 IRQ (SPI1) 39IVG103
DMA23 IRQ (SPI2)40IVG103
DMA8 IRQ (UART1 RX)41IVG103
DMA9 IRQ (UART1 TX)42IVG103
DMA10 IRQ (ATAPI RX) 43IVG103
DMA11 IRQ (ATAPI TX)44IVG103
TWI0 IRQ45IVG114
TWI1 IRQ46IVG114
CAN0 Receive IRQ47IVG114
CAN0 Transmit IRQ48IVG114
MDMA Stream 2 IRQ49IVG136
MDMA Stream 3 IRQ50IVG136
MXVR Status IRQ51IVG114
MXVR Control Message IRQ52IVG114
MXVR Asynchronous Packet IRQ53IVG114
EPPI1 Error IRQ54IVG70
EPPI2 Error IRQ55IVG70
UART3 Status IRQ56IVG70
Host DMA Status57IVG70
Reserved 58IVG70
Pixel Compositor (PIXC) Status IRQ59IVG70
NFC Status IRQ60IVG70
ATAPI Status IRQ61IVG70
CAN1 Status IRQ62IVG70
DMAR0 Block IRQ63IVG70
DMAR1 Block IRQ63IVG70
DMAR0 Overflow Error IRQ63IVG70
DMAR1 Overflow Error IRQ63IVG70
DMA15 IRQ (PIXC IN0)64IVG81
DMA16 IRQ (PIXC IN1)65IVG81
DMA17 IRQ (PIXC OUT)66IVG81
DMA22 IRQ (SDH/NFC)67IVG81
Counter (CNT) IRQ68IVG81
Keypad (KEY) IRQ69IVG81
CAN1 RX IRQ70IVG114
IRQIDGP IRQ
(at Reset)
Core
IRQ ID
Table 4. System Interrupt Controller (SIC) (Continued)
Peripheral IRQ
Source
CAN1 TX IRQ71IVG114
SDH Mask 0 IRQ72IVG114
SDH Mask 1 IRQ73IVG114
Reserved74IVG114
USB_INT0 IRQ75IVG114
USB_INT1 IRQ76IVG114
USB_INT2 IRQ77IVG114
USB_DMAINT IRQ78IVG114
OTPSEC IRQ79IVG114
Reserved80IVG114
Reserved81IVG114
Reserved82IVG114
Reserved83IVG114
Reserved84IVG114
Reserved85IVG114
Timer 0 IRQ86IVG114
Timer 1 IRQ87IVG114
Timer 2 IRQ88IVG114
Timer 3 IRQ89IVG114
Timer 4 IRQ90IVG114
Timer 5 IRQ91IVG114
Timer 6 IRQ92IVG114
Timer 7 IRQ93IVG114
Pin IRQ 2 (PINT2)94IVG125
Pin IRQ 3 (PINT3)95IVG125
IRQIDGP IRQ
(at Reset)
Core
IRQ ID
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 register 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, preventing 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 disabled with the STI and CLI instructions, respectively.
• CEC interrupt pending register (IPEND). The IPEND register keeps track of all nested events. A set bit in the IPEND
register indicates 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 Table 4 on Page 8.
• SIC interrupt mask register (SIC_IMASKx). This register
controls the masking and unmasking of each peripheral
interrupt event. When a bit is set in the register, that
peripheral 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 register (SIC_ISRx). As multiple
peripherals can be mapped to a single event, this register
allows 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 indicates the peripheral is not asserting the event.
• SIC interrupt wakeup enable register (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 16.)
Because multiple interrupt sources can map to a single generalpurpose interrupt, multiple pulse assertions can occur simultaneously, before or during interrupt processing for an interrupt
event already detected on this interrupt input. The IPEND register 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 processor 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 generalpurpose interrupt to the IPEND output asserted is three core
clock cycles; however, the latency can be much higher, depending 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 minimal overhead for the processor core. DMA transfers can occur
between the ADSP-BF54x processors’ internal memories and
any of its DMA-capable peripherals. Additionally, DMA transfers can be accomplished between any of the DMA-capable
peripherals and external devices connected to the external
memory interfaces, including DDR1 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 SCLK domain. Each 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 priority 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 support 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 deinterleaved on the fly.
Examples of DMA types supported by the ADSP-BF54x Blackfin 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 systems. This enables
transfers of blocks of data between any of the memories—
including external DDR1, 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.
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
www.BDTIC.com/ADI
The memory DMA channels of the DMAC1 controller
(MDMA2 and MDMA3) can be optionally controlled 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 connected 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 programmable. This feature can be programmed to allow memory DMA
to have an increased priority on the external bus relative to the
core.
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 controller 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 processor is in a low-power state. The RTC provides several
programmable interrupt options, including interrupt per second, minute, hour, or day clock ticks, interrupt on
programmable stopwatch countdown, or interrupt at a programmed 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.
Rev. A | Page 11 of 88 | October 2008
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 processors 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.
Figure 4. External Components for RTC
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 processor 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 programmer initializes the count value of the timer, enables the
appropriate interrupt, 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’ peripherals. 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
SCLK
.
TIMERS
There are up to two timer units in the ADSP-BF54x Blackfin
processors. One unit provides eight general-purpose programmable 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 periods 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.
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, providing 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 registers 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, SPORT3) for serial and multiprocessor communications. The SPORTs support the following features:
2
•I
S capable operation.
• Bidirectional operation. Each SPORT has two sets of independent 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.
2
S stereo audio.
• 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 pulsewidths and early or late
frame sync.
• Companding in hardware. Each SPORT can perform
A-law or μ-law companding according to ITU recommendation 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 automatically receive and transmit multiple buffers of
memory data. 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 channels out of a 1024-channel window and is compatible with
the H.100, H.110, MVIP-90, and HMVIP standards.
/131,070) Hz to (f
SCLK
SCLK
/2) Hz.
SERIAL PERIPHERAL INTERFACE (SPI) PORTS
The ADSP-BF54x Blackfin processors have up to three SPIcompatible 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 programmable, 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.
let the processor select other SPI devices. The SPI
During transfers, the SPI port simultaneously transmits and
receives by serially shifting data in and out on its two serial data
lines. The serial clock line synchronizes the shifting and sampling of data on the two serial data lines.
UART PORTS (UARTS)
The ADSP-BF54x Blackfin processors provide up to four fullduplex universal asynchronous receiver/transmitter (UART)
ports. Each UART port provides a simplified UART interface to
other peripherals or hosts, supporting full-duplex, DMA-supported, asynchronous transfers of serial data. A UART port
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 transfers 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. Flexible interrupt timing options are available on the transmit
side.
Each UART port's baud rate, serial data format, error code generation 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
CONTROLLER AREA NETWORK (CAN)
The ADSP-BF54x Blackfin processors offer up to two CAN controllers that are communication controllers that implement the
controller area network (CAN) 2.0B (active) protocol. This protocol 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 communicate reliably over a network since the protocol
incorporates CRC checking, message error tracking, and fault
node confinement.
The ADSP-BF54x Blackfin processors’ CAN controllers offer
the following features:
• 32 mailboxes (8 receive only, 8 transmit only, 16 configurable 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 (29bit) 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 supports 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 EDBO is a bit in the UARTx_GCTL
register.
In conjunction with the general-purpose timer functions, autobaud 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 further 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-
Rev. A | Page 13 of 88 | October 2008
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 multimedia 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 modules are fully compatible with serial camera control bus (SCCB)
functionality for easier control of various CMOS camera sensor
devices.
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 less. 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 registers to control port muxing and GPIO functionality.
General-Purpose I/O (GPIO)
Every pin in Port A to Port J can function as a GPIO pin, resulting in a GPIO pin count of 154. While it is unlikely that all
GPIOs will be used in an application, as all pins have multiple
functions, the richness of GPIO functionality guarantees unrestrictive pin usage. Every pin that is not used by any function
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-toclear mechanisms so that independent software threads do not
need to protect against each other because of expensive readmodify-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 decoupled 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 memory-mapped registers that enables half-port assignment and
interrupt management. This not only includes masking, identification, 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 conversion 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 provides 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-analog 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 packing/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 transmit modes.
•Various de-interleaving/interleaving modes for receiving/transmitting 4:2:2 YCrCb data.
• FIFO watermarks and urgent DMA features.
• Clock gating by an external device asserting the clock gating 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.
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 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 infrastructure 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 resolution 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 secure technology. Key features
include:
• OTP memory
• Unique chip ID
• Code authentication
• Secure mode of operation
The security scheme is based upon the concept of authentication 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 24.
MEDIA TRANSCEIVER MAC LAYER (MXVR)
The ADSP-BF549 Blackfin processors provide a media transceiver (MXVR) MAC layer, allowing the processor to be
connected directly to a MOST
Figure 5 on Page 16 for an example of a MXVR MOST
connection.
The MXVR is fully compatible with industry standard standalone MOST controller devices, supporting 22.579 Mbps or
24.576 Mbps data transfer. It offers faster lock times, greater jitter 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 network slave.
The MXVR supports synchronous data, asynchronous packets,
and control messages using dedicated DMA channels that operate 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 synchronous data DMA channels can operate in various modes
including modes that trigger DMA operation when data patterns are detected in the receive data stream. Furthermore, two
DMA channels support asynchronous traffic, and two others
support control message traffic.
Interrupts are generated when a user-defined amount of synchronous data has been sent or received by the processor or
when asynchronous packets or control messages have been sent
or received.
®
1 network through an FOT. See
Rev. A | Page 15 of 88 | October 2008
1
MOST is a registered trademark of Standard Microsystems, Corp.
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 to operate in a low-power state when there is no network activity or
when data is not currently being received or transmitted by
the MXVR.
1.25V
R1
330 6
C1
0.047
2% PPS
600Z
MF
0.01
1%
MF
24.576MHz
C2
330pF
2% PPS
0.1MF
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
10k6
33
336
336
276
The MXVR clock is provided through a dedicated external crystal 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 5 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 frequency. 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 information, see the “Dynamic Power Management” chapter in the
ADSP-BF54x Blackfin Processor Hardware Reference. If disabled, the PLL must be re-enabled before transitioning to the
full-on or sleep modes.
Table 5. Power Settings
Mode/State
PLL
PLL
Bypassed
Core
Clock
(CCLK)
System
Clock
(SCLK)
Core
Full OnEnabledNoEnabledEnabledOn
ActiveEnabled/
Ye sE na bl edE n ab le dO n
Disabled
SleepEnabled
Deep SleepDisabled
HibernateDisabled
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. Typically an external event or RTC activity will wake up the
processor. When in the sleep mode, assertion of a wakeup event
enabled in the SIC_IWRx register will cause the processor to
sense the value of the BYPASS bit in the PLL control register
(PLL_CTL). If BYPASS is disabled, the processor will transition
to the full on mode. If BYPASS is enabled, the processor will
transition to the active mode.
When 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 disabling 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 powereddown mode can only be exited by assertion of the reset interrupt
(RESET
) or by an asynchronous interrupt generated by the
RTC. When in deep sleep mode, an asynchronous RTC interrupt 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 regulator 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, etc.) 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 tri-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 DDR1
memory.
Power Domains
As shown in Table 6, the ADSP-BF54x Blackfin processors support different power domains. The use of multiple power
domains maximizes flexibility while maintaining compliance
with industry standards and conventions. By isolating the internal logic of the ADSP-BF54x Blackfin processors into its own
power domain separate from the RTC and other I/O, the processors 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 6. Power Domains
Power DomainVDD Range
All internal logic, except RTC, DDR1, and USBV
RTC internal logic and crystal I/OV
DDR1 external memory supplyV
USB internal logic and crystal I/OV
Internal voltage regulatorV
MXVR PLL and logicV
All other I/OV
DDINT
DDRTC
DDDDR
DDUSB
DDVR
DDMP
DDEXT
VOLTAGE REGULATION
The ADSP-BF54x Blackfin processors provide an on-chip voltage regulator that can generate processor core voltage levels
from an external supply (see specifications in Operating Condi-
tions on Page 34). Figure 6 on Page 18 shows the typical
external components required to complete the power management 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 voltage 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 automotive grade models, the internal
voltage regulator must not be used and V
V
. For additional information regarding design of the volt-
DDEXT
age regulator circuit, see Switching Regulator Design
Considerations for the ASDP-BF533 Blackfin Processors (EE-
NOTE: DESIGNER SHOULD MINIMIZE
TRACE LENGTH TO FDS9431A.
10μH
CLKIN
CLKOUT
XTAL
EN
CLKBUF
TO PLL CI RCUITRY
FOR OVERTONE
OPERATION ONLY:
NOTE: VALUES MARKED WITH * MUST BE CU STOMIZED
DEPENDING ON THE CRYSTAL AND LAYOUT. PLEASE
ANALYZE CAREFULLY.
18 pF*
EN
18 pF*
3306*
BLACKFIN
www.BDTIC.com/ADI
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 specified 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. Further parallel resistors are
typically not recommended. The two capacitors and the series
resistor shown in Figure 7 fine tune phase and amplitude of the
sine frequency.
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.
Rev. A | Page 18 of 88 | October 2008
Figure 7. External Crystal Connections
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 operation 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 19, the core clock
(CCLK) and system peripheral clock (SCLK) are derived from
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 maximum 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.
The maximum CCLK frequency not only depends on the part’s
speed grade, it also depends on the applied V
Table 13 for details.
Table 8. Core Clock Ratios
voltage. See
DDINT
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 7 illustrates typical system clock ratios. The default
ratio is 4.
Table 7. Example System Clock Ratios
Signal Name
SSEL3–0
00102:1200100
01106:130050
101010:150050
Note that the divisor ratio must be chosen to limit the system
clock frequency to its maximum of f
changed dynamically 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 8. The default ratio is 1. This programmable core clock
capability is useful for fast core frequency modifications.
Figure 8. Frequency Modification Methods
Example Frequency Ratios
Divider Ratio
VCO/SCLK
(MHz)
VCOSCLK
SCLK
. The SSEL value can be
Signal Name
CSEL1–0
Divider Ratio
VCO/CCLK
Example Frequency Ratios
(MHz)
VCOCCLK
001:1300300
012:1300150
104:1500125
118:120025
BOOTING MODES
The ADSP-BF54x Blackfin processors have many mechanisms
(listed in Table 9) for automatically loading internal and external memory after a reset. The boot mode is defined 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 9. Booting Modes
BMODE3–0 Description
0000Idle
0001Boot from 8- or 16-bit external flash memory
0010Boot from 16-bit asynchronous FIFO
0011Boot from serial SPI memory (EEPROM or flash)
0100Boot from SPI host device
0101Boot from serial TWI memory (EEPROM or flash)
0110Boot from TWI host
0111Boot from UART host
1000Reserved
1001Reserved
1010Boot from DDR1 SDRAM
1011Boot from OTP memory
1100Reserved
1101Boot from 8- or 16-bit NAND flash memory via NFC
1110Boot from 16-bit host DMA
1111Boot from 8-bit host DMA
The boot modes listed in Table 9 provide a number of mechanisms 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 output signal that is driven and toggled by the boot kernel at boot
time. If pulled high through an external pull-up, the HWAIT
signal behaves active high and will be driven low when the pro-
cessor 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, implement the following modes:
•Idle
−no boot mode (BMODE=0x0)—In this mode, the
processor goes into idle. 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, depending 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 configuration settings are set for the slowest device possible (3cycle hold time; 15-cycle R/W access times; 4-cycle setup).
The ARDY is not enabled by default. It can, however, be
enabled by OTP programming. Similarly, all interface
behavior and timings can be customized through OTP programming. This includes activation of burst-mode or pagemode operation. In this mode, all asynchronous interface
signals are enabled at the port muxing level.
• 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 processor
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 interrogated by the
host before every transmitted byte. A pull-up resistor is
required on the SPI0SS
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
input. A pull-down on the serial
the memory device starting at 2-byte internal address
0x0000 and begins clocking data into the processor. The
TWI memory device should comply with Philips I
Specification version 2.1 and have the capability to autoincrement its internal address counter such that the contents 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
memory that takes two address bytes is assumed. Development 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 destination via Memory DMA.
• Boot from TWI host (BMODE=0x6)—The TWI host agent
selects the slave with the unique ID 0x5F. The processor
(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
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 a “@”
(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 4 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
tionality is not enabled at boot time.
• Boot from (DDR1) 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
pull-up resistors are required on both ND_CE
ND_RB
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.
2
C multiplexer can be used to select one
output to hold off the host; UART1CTS func-
signals, respectively. For correct device operation,
(PJ2) signals. By default, a value of 0x0033 is writ-
• Error detection & 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 handling 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 8 bits. By default, all read requests from
the NAND flash are followed by 4 address cycles. If the
NAND flash device requires only 3 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
For large page NAND flash devices, the 4-byte electronic
signature is read in order to configure the kernel for booting. This allows support for multiple large page devices.
Byte 4 of the electronic signature must comply with the
specifications in Table 10.
Any configuration from Table 10 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.
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 5 address
cycles; therefore, if a large page device requires only 4
cycles, the device must be capable of ignoring the additional address cycle.
16-bit NAND flash memory devices must only support the
issuing of command and address cycles via the lower 8 bits
of the data bus. Devices that make use of 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 Acknowledge 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 configure 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 configure 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 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.
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
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, voltage regulator, DDR1 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 simulate 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 DDR1 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 second-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 provide 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 programmer 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 compiling 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 operation, allowing multiple levels of access to core processor
resources.
The assembly language, which takes advantage of the processor’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 programming 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 development 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 board available from Analog 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.
DESIGNING AN EMULATOR-COMPATIBLE
PROCESSOR BOARD
The Analog Devices family of emulators are tools that every system 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, allowing the developer to load code, set breakpoints, observe
variables, observe memory, and examine registers. The processor must be halted to send data and commands, but once an
operation has been completed by the emulator, the processor
system 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
MXVR Loop Filter RC network connected between the MLF_P
and MLF_M pins:
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.
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 possible, 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.
traces.
MP
V
/GNDMP—MXVR PLL power domain:
DDMP
•V
• A ferrite bead should be placed between the V
• Locally bypass V
• Avoid routing switching signals near to V
Fiber optic transceiver (FOT) connections:
• The traces between the ADSP-BF549 processor and the
• The receive data trace connecting the FOT receive data
• The transmit data trace connecting the ADSP-BF549
• The receive data trace and the transmit data trace between
and GNDMP should be routed with wide traces or as
DDMP
isolated power planes.
power
plane and the V
capacitors to GND
traces to avoid crosstalk.
FOT should be kept as short as possible.
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.
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 ADSP-BF549 processor and the FOT should not be
routed close to each other in parallel over long distances to
avoid crosstalk.
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:
Analog Devices products containing Lockbox Secure Technology are warranted by Analog Devices as detailed in the Analog
Devices Standard Terms and Conditions of Sale. To our knowledge, the Lockbox Secure Technology, when used in accordance
with the data sheet and hardware reference manual specifications, 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 LOCKBOX 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 INTELLECTUAL PROPERTY.
GPIO (14 pins)Async CTL and MISCInterrupts (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.
First Peripheral
Func tion
ATAP I _R ES ET
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
(3 pins)
(16 pins)
(1 pin) TMR8 (1 pin)PPI2_FS3 (1 pin)
4
Second Peripheral
Func tion
AMC Addr 4-9 (6 pins)Interrupts (6 pins)
Third Peripheral
Func tion
(1 pin)
(1 pin)
DMAR 0–1 (2 pins)TACI8–10 (3 shared
Fourth Peripheral
Function
pins)
TACLK8–10 (3 shared
pins)
HWAITA
Interrupt Capability
Interrupts (8 pins)
Interrupts (8 pins)
Interrupts (6 pins)
ADSP-BF54x processor pin definitions are listed in Table 12. To
see the pin multiplexing scheme, see Table 11.