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.
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.
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 encryption11111
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 600 533 600
1
Lockbox is a registered 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
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 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 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 (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, 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.
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 supports 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.
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 standard 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 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 onetime-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 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 executing 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 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 higher-priority
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 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 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.
System Interrupt Controller (SIC)
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). The ADSP-BF54x Hardware Reference Manual, “System Interrupts” chapter
describes the inputs into the SIC and the default mappings into
the CEC.
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 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.
• SIC interrupt mask registers (SIC_IMASKx). These registers control the masking and unmasking of each peripheral
interrupt event. When a bit is set in a 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 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 indicates 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 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 the 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 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 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. 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 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.
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 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.
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 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, 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’ 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
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, and SPORT3) for serial and multiprocessor communications. The SPORTs support the following features:
2
S capable operation.
•I
• 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.
• 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 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 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 channels 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 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.
During transfers, the SPI port transmits and receives simultaneously 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.
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 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
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 the 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-
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.
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.
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 registers to control port muxing and GPIO functionality.
Every pin in Port A to Port J can function as a GPIO pin, resulting 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 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.
The USB clock (USB_XI) is provided through a dedicated external 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-overtone 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 multiplier 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:
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
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 22.
®
secure technology. Key features
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 15 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.
1
MOST is a registered trademark of Standard Microsystems, Corp.
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.
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 activity or when data is not currently being received or transmitted
by the MXVR.
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 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 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 4. Power Settings
Mode/State
PLL
PLL
Bypassed
Core
Clock
(CCLK)
System
Clock
(SCLK)
Core
Full OnEnabledNoEnabledEnabledOn
ActiveEnabled/
Ye sE na bl edE na bl e dO n
Disabled
SleepEnabled-DisabledEnabledOn
Deep SleepDisabled-DisabledDisabledOn
HibernateDisabled-DisabledDisabledOff
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. 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 transitions 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 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
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 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, 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 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 5. Power Domains
Power DomainVDD Range
All internal logic, except RTC, DDR, and USBV
RTC internal logic and crystal I/OV
DDR 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 33). Figure 6 on Page 17 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 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).
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 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. 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 inactive 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 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 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 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.
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.
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
001:1300300
012:1300150
104:1500125
118:120025
Divider Ratio
VCO/CCLK
VCOCCLK
(MHz)
BOOTING MODES
The ADSP-BF54x Blackfin processors have many mechanisms
(listed in Table 8) for automatically loading internal and external 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
0000Idle-no boot
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
Table 8. Booting Modes (Continued)
BMODE3–0 Description
1000Reserved
1001Reserved
1010Boot from DDR SDRAM/Mobile DDR 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 8 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 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, implement 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, 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 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 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
input. A pull-down resistor 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 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
2
C
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
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 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 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
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.
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.
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 issuing 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 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, 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 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 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 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
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 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 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:
• 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.
/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:
A signal chain is a series of signal-conditioning electronic components 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 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.
Second Peripheral
Func tion
Third Peripheral
Func tion
Fourth Peripheral
FunctionInterrupt 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, asynchronous 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 hibernate, 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 signal 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.