Rev 7.0Added 56F8156 information; edited to indicate differences in 56F8356 and 56F8 156. Refor-
Rev 8.0Added output voltage maximum value and note to clarify in Table 10-1; also removed overall
Rev 9.0Updated Table 10-24 to reflect new value for maximum Uncalibrated Gain Error
Rev 10.0Deleted RSTO from Pin Group 2 (listed after Table 10-1). Deleted formula for Max Ambient
Initial Public Release
Added Package Pins to GPIO Table in Part 8 General Purpose Input/Output (GPIO). Added
“Typical Min” values to Table 10-18. Editing grammar, spelling, consistency of language
throughout family. Updated values in Regulator Parameters Table 10-9, External Clock
Operation Timing Requirements Table 10-13, SPI Timing Table 10-18, ADC Parameters
Table 10-24, and IO Loading Coefficients at 10MHz Table 10-25.
Added Part 4.8, added the word “access” to FM Error Interrupt in Table 4-5, documenting only
Typ. numbers for LVI in Table 10-6, updated EMI numbers and writeup in Part 10.8.
Updated numbers in Table 10-7 and Table 10-8 with more recent data, Corrected typo in
Table 10-3 in Pd characteristics.
Replace any reference to Flash Interface Unit with Flash Memory Module; corrected thermal
numbers for 144 LQFP in Table 10-3; removed unneccessary notes in Table 10-12; corrected
temperature range in Table 10-14; added ADC calibration information to Table 10-24 and new
graphs in Figure 10-22
Adding/clarifing notes to Table 4-4 to help clarify independen t program flash blocks and other
Program Flash modes, clarification to Table 1 0-23, corrected Digital Input Current Low (pull-up
enabled) numbers in
Table 10-1.
matted for Freescale look and feel. Updated Temperature Sensor and ADC tables, then
updated balance of electrical tables for consistency throughout family. Clarified I/O power
description in Table 2-2, added note to Table 10-7 and clarified Section 12.3.
life expectancy note, since life expectancy is dependent on customer usage and must be
determined by reliability engineering. Clarified value and unit measure for Maximum allowed
in Table 10-3. Corrected note about average value for Flash Data Retention in Table 10-4.
P
D
Added new RoHS-compliant orderable part numbers in Table 13-1.
Operating Temperature (Automotive) and Max Ambient Operating Temperature (Industrial) in
Table 10-4. Added RoHS-compliance and “pb-free” language to back cover.
Table 10-5. Removed text and Table 10-2; replaced with note to
Please see http://www.freescale.com for the most current Data Sheet revision.
56F8356 Technical Data, Rev. 10.0
2 Freescale Semiconductor
Preliminary
56F8356/56F8156 General Description
Note: Features in italics are NOT available in the 56F8156 device.
• Up to 60 MIPS at 60MHz core frequency
• DSP and MCU functionality in a unified,
C-efficient architecture
• Access up to 1MB of off-chip program and data memory
• Chip Select Logic for glueless interface to ROM and
SRAM
• 256KB of Program Flash
• 4KB of Program RAM
• 8KB of Data Flash
• 16KB of Data RAM
• 16KB of Boot Flash
• Up to two 6-channel PWM modules
• Four 4-channel, 12-bit ADCs
EMI_MODE
6
3
3
6
3
4
4
4
5
4
4
TEMP_SENSE
4
4
1
2
2
PWM Outputs
Current Sense Inputs
or GPIOC
Fault Inputs
PWM Outputs
Current Sense Inputs
or GPIOD
Fault Inputs
AD0
ADCA
AD1
VREF
ADCB
Program Memory
128K x 16 Flash
Data Memory
4K x 16 Flash
8K x 16 RAM
Decoding
Peripherals
AD0
AD1
Quadrature
Decoder 0 or
Quad
Timer A or
GPIOC
Quadrature
Decoder 1 or
Quad
Timer B or
SPI1 or
GPIOC
Quad
Timer C o r
GPIOE
Quad
Timer D or
GPIOE
FlexCAN
PWMA
PWMB
Memory
2K x 16 RAM
8K x 16 Boot
Flash
SPI0 or
GPIOE
4
RSTO
Hardware Looping Unit
SCI1 or
GPIOD
2
EXTBOOT
RESET
Program Controller
and
XDB2
XAB1
XAB2
PAB
PDB
CDBR
CDBW
Peripheral
Device Selects
SCI0 or
GPIOE
2
5
JTAG/
EOnCE
Port
Address
Generation Unit
PAB
PDB
CDBR
CDBW
IPBus Bridge (IPBB)
RW
Control
COP/
Watchdog
IRQA
• Temperature Sensor
• Up to two Quadrature Decoders
• Optional on-chip regulator
• FlexCAN module
• Two Serial Communication Interfaces (SCIs)
• Up to two Serial Peripheral Interfaces (SPIs)
• Up to four general-purpose Quad Timers
• Computer Operating Properly (COP) / Watchdog
• JTAG/Enhanced On-Chip Emulation (OnCE™) for
unobtrusive, real-time debugging
• Up to 62 GPIO lines
• 144-pin LQFP Package
OCR_DIS
V
V
PP
2
56800E Core
IPABIPWDBIPRDB
Interrupt
Controller
IRQB
V
CAP
DD
47
Digital Reg
16-Bit
Data ALU
16 x 16 + 36 -> 36-Bit MAC
Three 16-bit Input Registers
Four 36-bit Accumulators
System Bus
Control
System
Integration
Module
V
ss
5
Analog Reg
Low Voltage
Supervisor
R/W Control
Clock
resets
P
O
R
CLKO
V
DDA
2
Manipulation
Address Bus
External Data
Bus Switch
External Bus
Interface Unit
Bus Control
PLL
Clock
Generator
CLKMODE
V
SSA
Bit
Unit
External
Switch
O
S
C
6
2
8
7
9
2
XTAL
EXTAL
A0-5 or GPIOA8-13
A6-7 or GPIOE2-3
A8-15 or GPIOA0-7
GPIOB0 or A16
•Four 36-bit accumulators, including extension bits
•Arithmetic and logic multi-bit shifter
•Parallel instruction set with unique DSP addressing modes
•Hardware DO and REP loops
•Three internal address buses
•Four internal data buses
•Instruction set supports both DSP and controller functions
•Controller style addressing modes and instructions for compact code
•Efficient C compiler and local variable support
•Software subroutine and interrupt stack with depth limited only by memory
•JTAG/EOnCE debug programming interface
56F8356/56F8156 Features
1.1.2Differences Between Devices
Table 1-1 outlines the key differences between the 56F8356 and 56F8156 devices.
Table 1-1 Device Differences
Feature56F835656F8156
Guaranteed Speed60MHz/60 MIPS40MHz/40 MIPS
Program RAM4KBNot Available
Data Flash8KBNot Available
PWM2 x 61 x 6
CAN1Not Available
Quad Timer42
Quadrature Decoder2 x 41 x 4
Temperature Sensor1Not Available
Dedicated GPIO—5
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor5
Preliminary
1.1.3Memory
Note:Features in italics ae NOT available in the 56F8156 device.
•Harvard architecture permits as many as three simultaneous accesses to program and data memory
•Flash security protection feature
•On-chip memory, including a low-cost, high-volume Flash solution
— 256KB of Program Flash
— 4KB of Program RAM
— 8KB of Data Flash
— 16KB of Data RAM
— 16KB of Boot Flash
•Off-chip memory expansion capabilities programmable for 0 - 30 wait states
— Access up to 1MB of program memory or 1MB of data memory
— Chip select logic for glueless interface to ROM and SRAM
•EEPROM emulation capability
1.1.4Peripheral Circuits
Note:Features in italics are NOT available in the 56F8156 device.
•Pulse Width Modulator:
— In the 56F8356, two Pulse W idth Modulator mod ules, each with six PWM out puts, three Current Sense
inputs, and three Fault inputs; fault-tolerant design with dead time insertion; supports both
center-aligned and edge-aligned modes
— In the 56F8156, one Pulse Width Modulator module with six PWM outputs, three Current Sense inputs,
and three Fault inputs; fault-tolerant design with dead time insertion; supports both center-aligned and
edge-aligned modes
•Four 12-bit, Analog-to-Digital Converters (ADCs), which support four simultane ous conversions with
quad, 4-pin multiplexed inputs; ADC and PWM modules can be synchronized through Timer C, channels
2 and 3
•Quadrature Decoder:
— In the 56F8356, two four-input Quadrature Decoders or two additional Quad Timers
— In the 56F8156, one four-input Quadrature Decoder, which works in conjunction with Quad Timer A
•Temperature Sensor can be connected, on the board, to any of the ADC inputs to monitor the on-chip
temperature
•Quad Timer:
— In the 56F8356, four dedicated general-purpose Quad Timers totaling three dedicated pins: Timer C
with one pin and Timer D with two pins
— In the 56F8156, two Quad Timers; Timer A and Timer C both work in conjunction with GPIO
•Optional on-chip regulator
•FlexCAN (CAN Version 2.0 B-compliant ) module with 2-pin port for transmit and receive
56F8356 Technical Data, Rev. 10.0
6 Freescale Semiconductor
Preliminary
Device Description
•Two Serial Communication Interfaces (SCIs), each with two pins (or four additional GPIO lines)
•Up to two Serial Peripheral Interfaces (SPIs), both with configurable 4-pin port (or eight additional GPIO
lines)
— In the 56F8356, SPI1 can also be used as Quadrature Decoder 1 or Quad Timer B
— In the 56F8156, SPI1 can alternately be used only as GPIO
•JTAG/Enhanced On-Ch ip Emulation (OnCE) for unobtrusive, processor speed-independent, real-time
debugging
•Software-programmable, Phase Lock Loop (PLL)-based frequency synthesizer for the core clock
1.1.5Energy Information
•Fabricated in high-density CMOS with 5V-tolerant, TTL-compatible digital inputs
•On-board 3.3V down to 2.6V voltage regulator for powering internal logic and memories; can be disabled
•On-chip regulators for digital and analog circuitry to lower cost and reduce noise
•Wait and Stop modes available
•ADC smart power management
•Each peripheral can be individually disabled to save power
1.2 Device Description
The 56F8356 and 56F8156 are members of the 56800E core-based family of controllers. Each combines,
on a single chip, the processing power of a Digital Signal Processor (DSP) and the functionality of a
microcontroller with a flexible set of peripherals to create an extremely cost-effective solution. Because
of its low cost, configuration flexibility, and compact program code, the 56F8356 and 56F8156 are
well-suited for many applications. The devices include many peripherals that are especially useful for
motion control, smart appliances, steppers, encoders, tachometers, limit switches, power supply and
control, automotive control (56F8156 only), engine management, noise suppression, remote utility
metering, industrial control for power, lighting, and automation applications.
The 56800E core is based on a Harvard-style architecture consisting of three execution units operating in
parallel, allowing as many as six operations per instruction cycle. The MCU-style programming model and
optimized instruction set allow straightforward generation of efficient, compact DSP and control code.
The instruction set is also highly efficient for C/C++ Compilers to enable rapid development of optimized
control applications.
The 56F8356 and 56F8156 support program execution from either internal or external memories. Two
data operands can be accessed from the on-chip data RAM per instruction cycle. These devices also
provide two external dedicated interrupt lines and up to 62 General Purpose Input/Output (GPIO) lines,
depending on peripheral configuration.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor7
Preliminary
1.2.156F8356 Features
The 56F8356 controller includes 256KB of Program Flash and 8KB of Data Flash (each programmable
through the JTAG port) with 4KB of Program RAM and 16KB of Data RAM. It also supports program
execution from external memory.
A total of 16KB of Boot Flash is incorporated for easy customer inclusion of field-programmable software
routines that can be used to program the main Program and Data Flash memory areas. Both Program and
Data Flash memories can be independently bulk erased or erased in pages. Program Flash page erase size
is 1KB. Boot and Data Flash page erase size is 512 bytes. The Boot Flash memory can also be either bulk
or page erased.
A key application-specific feature of the 56F8356 is the inclusion of two Pulse Width Modulator (PWM)
modules. These modules each incorporate three complementary, individually programmable PWM signal
output pairs (each module is also capable of supporting six independent PWM functions, for a total of 12
PWM outputs) to enhance motor control functionality. Complementary operation permits programmable
dead time insertion, distortion correction via current sensing by software, and separate top and bottom
output polarity control. The up-counter value is programmable to support a continuously variable PWM
frequency. Edge-aligned and center-aligned synchronous pulse width control (0% to 100% modulation) is
supported. The device is capable of controlling most motor types: ACIM (AC Induction Motors); both
BDC and BLDC (Brush and Brushless DC motors); SRM and VRM (Switched and Variable Reluctance
Motors); and stepper motors. The PWMs incorporate fault protection and cycle-by-cycle current limiting
with sufficient output drive capability to directly drive standard optoisolators. A “smoke-inhibit”,
write-once protection feature for key parameters is also included. A patented PWM waveform distortion
correction circuit is also provided. Each PWM is double-buffered and includes interrupt controls to permit
integral reload rates to be programmable from 1 to 16. The PWM modules provide reference outputs to
synchronize the Analog-to-Digital Converters through two channels of Quad Timer C.
The 56F8356 incorporates two Quadrature Decoders capable of capturing all four transitions on the
two-phase inputs, permitting generation of a number proportional to actual position. Speed computation
capabilities accommodate both fast- and slow-moving shafts. An integrated watchdog timer in the
Quadrature Decoder can be programmed with a time-out value to alert when no shaft motion is detected.
Each input is filtered to ensure only true transitions are recorded.
This controller also provides a full set of standard programmable peripherals that include two Serial
Communications Interfaces (SCIs); two Serial Peripheral Interfaces (SPIs); and four Quad Timers. Any of
these interfaces can be used as General Purpose Input/Outputs (GPIOs) if that function is not required. A
Flex Controller Area Network (FlexCAN) interface (CAN Version 2.0 B-compliant) and an internal
interrupt controller are a part of the 56F8356.
1.2.256F8156 Features
The 56F8156 controller includes 256KB of Program Flash, programmable through the JTAG port, with
16KB of Data RAM. It also supports program execution from external memory.
A total of 16KB of Boot Flash is incorporated for easy customer inclusion of field-programmable software
routines that can be used to program the main Program Flash memory areas, which can be independently
bulk erased or erased in pages. Program Flash page erase size is 1KB. Boot Flash page erase size is 512
bytes. and the Boot Flash memory can also be either bulk or page erased.
56F8356 Technical Data, Rev. 10.0
8 Freescale Semiconductor
Preliminary
Award-Winning Development Environment
A key application-specific feature of the 56F8156 is the inclusion of one Pulse Width Modulator (PWM)
module. This module incorporates three complementary, individually programmable PWM signal output
pairs and can also support six independent PWM functions to enhance motor control functionality.
Complementary operation permits programmable dead time insertion, distortion correction via current
sensing by software, and separate top and bottom output polarity control. The up-counter value is
programmable to support a continuously variable PWM frequency. Edge-aligned and center-aligned
synchronous pulse width control (0% to 100% modulation) is supported. The device is capable of
controlling most motor types: ACIM (AC Induction Motors); both BDC and BLDC (Brush and Brushless
DC motors); SRM and VRM (Switched and Variable Reluctance Motors); and stepper motors. The PWM
incorporates fault protection and cycle-by-cycle current limiting with sufficient output drive capability to
directly drive standard optoisolators. A “smoke-inhibit”, write-once protection feature for key parameters
is also included. A patented PWM waveform distortion correction circuit is also provided. Each PWM is
double-buffered and includes interrupt controls to permit integral reload rates to be programmable from 1
to 16. The PWM module provides reference outputs to synchronize the Analog-to-Digital Converters
through two channels of Quad Timer C.
The 56F8156 incorporates a Quadrature Decoder capable of capturing all four transitions on the two-phase
inputs, permitting generation of a number proportional to actual position. Speed computation capabilities
accommodate both fast- and slow-moving shafts. An integrated watchdog timer in the Quadrature Decoder
can be programmed with a time-out value to alert when no shaft motion is detected. Each input is filtered
to ensure only true transitions are recorded.
This controller also provides a full set of standard programmable peripherals that include two Serial
Communications Interfaces (SCIs); two Serial Peripheral Interfaces (SPIs); and two Quad Timers. Any of
these interfaces can be used as General Purpose Input/Outputs (GPIOs) if that function is not required. An
internal interrupt controller are a part of the 56F8156.
1.3 Award-Winning Development Environment
Processor ExpertTM (PE) provides a Rapid Application Design (RAD) tool that combines easy-to-use
component-based software application creation with an expert knowledge system.
The CodeWarrior Integrated Development Environment is a sophisticated tool for code navigation,
compiling, and debugging. A complete set of evaluation modules (EVMs) and development system cards
will support concurrent engineering. Together, PE, CodeWarrior and EVMs create a complete, scalable
tools solution for easy, fast, and efficient development.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor9
Preliminary
1.4 Architecture Block Diagram
Note:Features in italics are NOT available in the 56F8156 device and are shaded in the following figures.
The 56F8356/56F8156 architecture is shown in Figure 1-1 and Figure 1-2. Figure 1-1 illustrates how the
56800E system buses communicate with internal memories, the external memory interface and the IPBus
Bridge. Table 1-2 lists the internal buses in the 56800E architecture and provides a brief description of
their function. Figure 1-2 shows the peripherals and control blocks connected to the IPBus Bridge. The
figures do not show the on-board regulator and power and ground signals. They also do not show the
multiplexing between peripherals or the dedicated GPIOs. Please see Part 2, Signal/Connection
Descriptions, to see which signals are multiplexed with those of other peripherals.
Also shown in Figure 1-2 are connections between the PWM, Timer C and ADC blocks. These
connections allow the PWM and/or Timer C to control the timing of the start of ADC conversions. The
Timer C channel indicated can generate periodic start (SYNC) signals to the ADC to start its conversions.
In another operating mode, the PWM load interrupt (SYNC output) signal is routed internally to the Timer
C input channel as indicated. The timer can then be used to introduce a controllable delay before
generating its output signal. The timer output then triggers the ADC. To fully understand this interaction,
please see the 56F8300 Peripheral User Manual for clarification on the operation of all three of these
peripherals.
56F8356 Technical Data, Rev. 10.0
10 Freescale Semiconductor
Preliminary
Architecture Block Diagram
CHIP
TAP
Controller
TAP
Linking
5
JTAG / EOnCE
pdb_m[15:0]
pab[20:0]
cdbw[31:0]
Boot
Flash
Program
Flash
Program
RAM
56800E
xab1[23:0]
xab2[23:0]
EMI
Data RAM
17
16
6
Address
Data
Control
External
JTAG
Port
cdbr_m[31:0]
xdb2_m[15:0]
Data Flash
IPBus
To Flash
Control Logic
Bridge
Flash
Module
NOT available on the 56F8156 device.
IPBus
Figure 1-1 System Bus Interfaces
Note:Flash memories are encapsulated within the Flash Module(FM). Flash control is accomplished by the
I/O to the FM over the peripheral bus, while reads and writes are completed between the core and the
Flash memories.
Note:The primary data RAM port is 32 bits wide. Other data ports are 16 bits.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor11
Preliminary
To/From IPBus Bridge
CLKGEN
(OSC/PLL)
Interrupt
Controller
Low Voltage Interrupt
Timer A
POR & LVI
4
2
Quadrature Decoder 0
Timer D
Timer B
4
Quadrature Decoder 1
SPI 1
GPIOA
System POR
SIM
COP Reset
COP
FlexCAN
PWMA
PWMB
RESET
2
12
SYNC Output
13
GPIOB
GPIOC
GPIOD
GPIOE
GPIOF
4
2
2
SPI0
SCI0
SCI1
NOT available on the 56F8156 device.
Figure 1-2 Peripheral Subsystem
IPBus
SYNC Output
ch3i
Timer C
ch3o
ch2i
1
ch2o
8
ADCB
, V
1
REFP
8
, V
REFMID
ADCA
TEMP_SENSE
Note: ADCA and ADCB use the same voltage
reference circuit with V
, and V
V
REFN
REFLO
REFH
pins.
,
56F8356 Technical Data, Rev. 10.0
12 Freescale Semiconductor
Preliminary
Architecture Block Diagram
Table 1-2 Bus Signal Names
NameFunction
Program Memory Interface
pdb_m[15:0]Program data bus for instruction word fetches or read operations.
cdbw[15:0]Primary core data bus used for program memory writes. (Only these 16 bits of the cdbw[31:0] bus
are used for writes to program memory.)
pab[20:0]Program memory address bus. Data is returned on pdb_m bus.
Primary Data Memory Interface Bus
cdbr_m[31:0] Pri mar y core data bus for memory reads. Addressed via xab1 bus.
cdbw[31:0]Primary core data bus for memory writes. Addressed via xab1 bus.
xab1[23:0]
Primary data address bus. Capable of addressing bytes
on cdbw and returned on cdbr_m. Also used to access memory-mapped I/O.
Secondary Data Memory Interface
xdb2_m[15:0] Secondary data bus used for secondary data address bus xab2 in the dual memory reads.
xab2[23:0]Secondary data address bus used for the second of two simultaneous accesses. Capable of
addressing only words. Data is returned on xdb2_m.
Peripheral Interface Bus
IPBus [15:0]Peripheral bus accesses all on-chip peripherals registers. This bus operates at the same clock rate
as the Primary Data Memory and therefore generates no delays when accessing the processor.
Write data is obtained from cdbw. Read data is provided to cdbr_m.
1. Byte accesses can only occur in the bottom half of the memory address space. The MSB of the address will be forced
to 0.
1
, words, and long data types. Data is written
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor13
Preliminary
1.5 Product Documentation
The documents in Table 1-3 are required for a complete description and proper design with the
56F8356/56F8156 devices. Documentation is available from local Freescale distributors, Freescale
semiconductor sales offices, Freescale Literature Distribution Centers, or online at
http://www.freescale.com.
Table 1-3 Chip Documentation
TopicDescriptionOrder Number
DSP56800E
Reference Manual
56F8300 Peripheral
User Manual
56F8300 SCI/CAN
Bootloader User
Manual
56F8356/56F8156
Technical Data Sheet
ErrataDetails any chip issues that might be presentMC56F8356E
Detailed description of the 56800E family architecture,
and 16-bit controller core processor and the instruction
set
Detailed description of peripherals of the 56F8300
devices
Detailed description of the SCI/CAN Bootloaders
56F8300 family of devices
Electrical and timing specifications, pin descriptions,
and package descriptions (this document)
DSP56800ERM
MC56F8300UM
MC56F83xxBLUM
MC56F8356
MC56F8156E
1.6 Data Sheet Conventions
This data sheet uses the following conventions:
OVERBAR
“asserted”A high true (active high) signal is high or a low true (active low) signal is low.
This is used to indicate a signal that is active when pulled low. For example, the RESET pin is
active when low.
“deasserted”A high true (active high) signal is low or a low true (active low) signal is high.
Examples:Signal/SymbolLogic StateSignal State
PINTrueAssertedVIL/V
PINFalseDeassertedVIH/V
PINTrueAssertedVIH/V
PINFalseDeassertedVIL/V
1. Values for VIL, VOL, VIH, and VOH are defined by individual product specifications.
56F8356 Technical Data, Rev. 10.0
14 Freescale Semiconductor
Voltage
1
OL
OH
OH
OL
Preliminary
Introduction
Part 2 Signal/Connection Descriptions
2.1 Introduction
The input and output signals of the 56F8356 and 56F8156 are organized into functional groups, as detailed
in Table 2-1 and as illustrated in Figure 2-1. In Table 2-2, each table row describes the signal or signals
present on a pin.
Table 2-1 Functional Group Pin Allocations
Functional Group
Power (V
Power Option Control11
Ground (VSS or V
Supply Capacitors1 & V
PLL and Clock44
Address Bus1717
Data Bus1616
Bus Control66
Interrupt and Program Control66
Pulse Width Modulator (PWM) Ports2513
Serial Peripheral Interface (SPI) Port 044
Serial Peripheral Interface (SPI) Port 1—4
Quadrature Decoder Port 0
Quadrature Decoder Port 1
Serial Communications Interface (SCI) Ports44
CAN Ports2—
Analog to Digital Converter (ADC) Ports2121
2. Alternately, can function as Quad Timer pins or GPIO
3. Pins in this section can function as Quad Timer, SPI #1, or GPIO
Freescale Semiconductor15
Preliminary
pins serve as 2.5V V
CAP
56F8356 Technical Data, Rev. 10.0
DD_CORE
power inputs
Power
Power
Power
Ground
Ground
Other
Supply
Ports
PLL
and
Clock
External
Address
Bus
or GPIO
V
DD_IO
V
DDA_ADC
V
DDA_OSC_PLL
V
SS
V
SSA_ADC
OCR_DIS
V
1 - V
CAP
CAP
V
1 & VPP2
PP
CLKMODE
EXTAL
XTAL
CLKO
A0 - A5 (GPIOA8 - 13)
A6 - A7 (GPIOE2 - 3)
A8 - A15 (GPIOA0 - 7)
GPIOB0 (A16)
7
PHASEA0 (TA0, GPIOC4)
1
1
5
1
1
56F8356
4
4
2
1
PHASEB0 (TA1, GPIOC5)
1
INDEX0 (TA2, GPIOC6)
1
HOME0 (TA3, GPIOC7)
1
SCLK0 (GPIOE4)
1
MOSI0 (GPIOE5)
1
MISO0 (GPIOE6)
1
1
SS0
(GPIOE7)
Quadrature
Decoder 0
or Quad
Timer A or
GPIO
SPI0 or
GPIO
1
1
1
1
PHASEA1(TB0, SCLK1, GPIOC0)
1
PHASEB1 (TB1, MOSI1, GPIOC1)
1
INDEX1 (TB2, MISO1, GPIOC2)
1
HOME1 (TB3, SS1
1
, GPIOC3)
Quadrature
Decoder 1 or
Quad Timer B
or SPI 1 or
GPIO
6
2
8
1
PWMA0 - 5
6
ISA0 - 2 (GPIOC8 - 10)
3
FAULTA0 - 2
3
PWMA or
GPIO
External
Data Bus
or GPIO
External
Bus
Control or
GPIO
SCI 0 or
GPIO
SCI 1
or GPIO
JTAG/
EOnCE
Port
D0 - D6 (GPIOF9 - 15)
D7 - D15 (GPIOF0 - 8)
RD
WR
PS / CS0 (GPIOD8)
DS / CS1 (GPIOD9)
GPIOD0 - 1 (CS2 - 3)
TXD0 (GPIOE0)
RXD0 (GPIOE1)
TXD1 (GPIOD6)
RXD1 (GPIOD7)
TCK
TMS
TDI
TDO
TRST
PWMB0 - 5
7
9
1
1
1
1
2
1
1
1
1
1
1
1
1
1
6
ISB0 - 2 (GPIOD10 - 12)
3
FAULTB0 - 3
4
ANA0 - 7
8
V
REF
5
ANB0 - 7
8
TEMP_SENSE
1
CAN_RX
1
CAN_TX
1
TC0 (GPIOE8)
1
TD0 - 1 (GPIOE10 - 11)
2
IRQA
1
IRQB
1
EXTBOOT
1
EMI_MODE
1
RESET
1
RSTO
1
PWMB or
GPIO
ADCA
ADCB
Temperature
Sensor
FlexCAN
QUAD
TIMER C and
D or GPIO
INTERRUPT/
PROGRAM
CONTROL
Figure 2-1 56F8356 Signals Identified by Functional Group1 (144-pin LQFP)
1. Alternate pin functionality is shown in parenthesis; pin direction/type shown is the default functionality.
56F8356 Technical Data, Rev. 10.0
16 Freescale Semiconductor
Preliminary
Power
Power
Power
Ground
Ground
Other
Supply
Ports
PLL
and
Clock
External
Address
Bus
or GPIO
V
DD_IO
V
DDA_ADC
V
DDA_OSC_PLL
V
SS
V
SSA_ADC
OCR_DIS
V
1 - V
CAP
V
PP
CAP
1 & VPP2
CLKMODE
EXTAL
XTAL
CLKO
A0 - A5 (GPIOA8 - 13)
A6 - A7 (GPIOE2 - 3)
A8 - A15 (GPIOA0 - 7)
GPIOB0 (A16)
Introduction
7
1
1
5
PHASEA0 (TA0, GPIOC4)
1
PHASEB0 (TA1, GPIOC5)
1
INDEX0 (TA2, GPIOC6)
1
HOME0 (TA3, GPIOC7)
1
Quadrature
Decoder 0
or Quad
Timer A or
GPIO
1
56F8356
1
4
4
2
1
1
1
1
SCLK0 (GPIOE4)
1
MOSI0 (GPIOE5)
1
MISO0 (GPIOE6)
1
SS0
1
(SCLK1, GPIOC0)
1
(MOSI1, GPIOC1)
1
(MISO1, GPIOC2)
1
(S
1
SPI0 or
GPIO
(GPIOE7)
SPI 1 or
GPIO
S1, GPIOC3)
6
2
8
3
(GPIOC8 - 10)
GPIO
1
External
Data Bus
or GPIO
External
Bus
Control or
GPIO
SCI 0 or
GPIO
SCI 1
or GPIO
JTAG/
EOnCE
Port
D0 - D6 (GPIOF9 - 15)
D7 - D15 (GPIOF0 - 8)
RD
WR
PS / CS0 (GPIOD8)
DS / CS1 (GPIOD9)
GPIOD0 - 1 (CS2 - 3)
TXD0 (GPIOE0)
RXD0 (GPIOE1)
TXD1 (GPIOD6)
RXD1 (GPIOD7)
TCK
TMS
TDI
TDO
TRST
PWMB0 - 5
6
ISB0 - 2 (GPIOD10 - 12)
7
9
1
1
3
4
8
5
8
FAULTB0 - 3
ANA0 - 7
V
REF
ANB0 - 7
PWMB or
GPIO
ADCA
ADCB
1
1
2
1
1
1
TC0 (GPIOE8)
1
TD0 - 1 (GPIOE10 - 11)
2
QUAD
TIMER C or
GPIO
1
IRQA
1
1
1
1
1
1
1
1
1
1
1
IRQB
EXTBOOT
EMI_MODE
RESET
RSTO
INTERRUPT/
PROGRAM
CONTROL
Figure 2-2 56F8156 Signals Identified by Functional Group1 (144-pin LQFP)
1. Alternate pin functionality is shown in parenthesis; pin direction/type shown is the default functionality.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor17
Preliminary
2.2 Signal Pins
After reset, each pin is configured for its primary function (listed first). Any alternate functionality must
be programmed.
If the “State During Reset” lists more than one state for a pin, the first state is the actual reset state. Other
states show the reset condition of the alternate function, which you get if the alternate pin function is
selected without changing the configuration of the alternate peripheral. For example, the A8/GPIOA0 pin
shows that it is tri-stated during reset. If the GPIOA_PER is changed to select the GPIO function of the
pin, it will become an input if no other registers are changed.
Table 2-2 Signal and Package Information for the 144-Pin LQFP
State
Signal NamePin No.Type
During
Reset
Signal Description
V
DD_IO
V
DD_IO
V
DD_IO
V
DD_IO
V
DD_IO
V
DD_IO
V
DD_IO
V
DDA_ADC
V
DDA_OSC_PLL
V
SS
V
SS
V
SS
1SupplyI/O Power — This pin supplies 3.3V power to the chip I/O interface
and also the Processor core throught the on-chip voltage
16
31
38
66
84
119
102SupplyADC Power — This pin supplies 3.3V power to the ADC modules.
80SupplyOscillator and PLL Power — This pin supplies 3.3V power to the
27SupplyV
37
63
regulator, if it is enabled.
It must be connected to a clean analog power supply.
OSC and to the internal regulator that in turn supplies the Phase
Locked Loop. It must be connected to a clean analog power
supply.
— These pins provide ground for chip logic and I/O drivers.
SS
V
SS
V
SS
V
SSA_ADC
18 Freescale Semiconductor
69
144
103SupplyADC Analog Ground — This pin supplies an analog ground to the
ADC modules.
56F8356 Technical Data, Rev. 10.0
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
State
Signal NamePin No.Type
OCR_DIS79InputInputOn-Chip Regulator Disab le —
During
Reset
Signal Description
Tie this pin to V
Tie this pin to V
to enable the on-chip regulator
SS
to disable the on-chip regulator
DD
This pin is intended to be a static DC signal from power-up to
shut down. Do not try to toggle this pin for power savings
during operation.
Signal Pins
151SupplySupplyV
V
CAP
1 - 4 — When OCR_DIS is tied to VSS (regulator enabled),
CAP
connect eachpin to a 2.2µF or greater bypasscapacitor in order to
2128
V
CAP
383
V
CAP
415
V
CAP
1125InputInputVPP1 - 2 — These pins should be left unconnected as an open
V
PP
bypass the core logic voltage regulator, required for proper chip
operation. When OCR_DIS is tied to V
these pins become V
DD_CORE
and should be connected to a
(regulator disabled),
DD
regulated 2.5V power supply.
circuit for normal functionality.
VPP22
CLKMODE87InputInputClock Input Mode Selection — This input determines the
function of the XTAL and EXTAL pins.
1 = External clock input on XTAL is used to directly drive the input
clock of the chip. The EXTAL pin should be grounded.
0 = A crystal or ceramic resonator should be connected between
XTAL and EXTAL.
EXTAL82InputInputExternal Crystal Oscillator Input — This input can be connected
to an 8MHz external crystal. Tie this pin low if XTAL is driven by an
external clock source.
XTAL81Input/
Output
Chip-drivenCrystal Oscillator Output — This output connects the internal
crystal oscillator output to an external crystal.
If an external clock is used, XTAL must be used as the input and
EXTAL connected to GND.
The input clock can be selected to provide the clock directly to the
core. This input clock can also be selected as the input clock for
the on-chip PLL.
CLKO3OutputTri-StatedClock Output — This pin outputs a buffered clock signal. Using
the SIM CLKO Select Register (SIM_CLKOSR), this pin can be
programmed as any of the following: disabled, CLK_MSTR
(system clock), IPBus clock, oscillator output, prescaler clock and
postscaler clock. Other signals are also available for test
purposes.
See Part 6.5.7 for details.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor19
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Description
A0
(GPIOA8)
A1
(GPIOA9)
A2
(GPIOA10)
A3
(GPIOA11)
A4
(GPIOA12)
A5
(GPIOA13)
A6
138Output
Input/
Output
10
11
12
13
14
17Output
Tri-statedAddress Bus — A0 - A5 specify six of the address lines for
external program or data memory accesses.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), A0 - A5 and EMI control signals are tri-stated when
the external bus is inactive.
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
Port A GPIO — These six GPIO pins can be individually
programmed as input or output pins.
After reset, the default state is Address Bus.
To deactivate the internal pull-up resistor, clear the appropriate
GPIO bit in the GPIOA_PUR register.
Example: GPIOA8, clear bit 8 in the GPIOA_PUR register.
Tri-stated
Address Bus — A6 - A7 specify two of the address lines for
external program or data memory accesses.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), A6 - A7 and EMI control signals are tri-stated when
the external bus is inactive.
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
(GPIOE2)
A7
(GPIOE3)
20 Freescale Semiconductor
18
Schmitt
Input/
Output
Input
56F8356 Technical Data, Rev. 10.0
Port E GPIO — These two GPIO pins can be individually
programmed as input or output pins.
After reset, the default state is Address Bus.
To deactivate the internal pull-up resistor, clear the appropriate
GPIO bit in the GPIOE_PUR register.
Example: GPIOE2, clear bit 2 in the GPIOE_PUR register.
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
A8
(GPIOA0)
A9
(GPIOA1)
A10
(GPIOA2)
A11
(GPIOA3)
A12
(GPIOA4)
A13
(GPIOA5)
A14
(GPIOA6)
19Output
Schmitt
20
21
22
23
24
25
Input/
Output
Tri-stated
Input
Address Bus— A8 - A15 specify eight of the address lines for
external program or data memory accesses.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), A8 - A15 and EMI control signals are tri-stated when
the external bus is inactive.
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
Port A GPIO — These eight GPIO pins can be individually
programmed as input or output pins.
After reset, the default state is Address Bus.
To deactivate the internal pull-up resistor, clear the appropriate
GPIO bit in the GPIOA_PUR register.
Example: GPIOA0, clear bit 0 in the GPIOA_PUR register.
A15
(GPIOA7)
Freescale Semiconductor21
Preliminary
26
56F8356 Technical Data, Rev. 10.0
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Description
GPIOB0
(A16)
D0
33Schmitt
Input/
Output
Output
59Input/
Output
Input
Tri-stated
Tri-stated
Port B GPIO — This GPIO pin can be programmed as an input or
output pin.
Address Bus — A16 specifies one of the address lines for
external program or data memory accesses. Depending upon the
state of the DRV bit in the EMI bus control register (BCR), A16 and
EMI control signals are tri-stated when the external bus is inactive.
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
After reset, the start-up state of GPIOB0 (GPIO or address) is
determined as a function of EXTBOOT, EMI_MODE and the Flash
security setting. See Table 4-4 for further information on when this
pin is configured as an address pin at reset. In all cases, this state
may be changed by writing to GPIOB_PER.
To deactivate the internal pull-up resistor, clear bit 0 in the
GPIOB_PUR register.
Data Bus — D0 - D6 specify part of the data for external program or
data memory accesses.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), D0 - D6 are tri-stated when the external bus is
inactive.
(GPIOF9)
D1
(GPIOF10)
D2
(GPIOF11)
D3
(GPIOF12)
D4
(GPIOF13)
D5
(GPIOF14)
D6
(GPIOF15)
60
72
75
76
77
78
Input/
Output
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
Input
56F8356 Technical Data, Rev. 10.0
Port F GPIO — These seven GPIO pins can be individually
programmed as input or output pins.
At reset, these pins default to the EMI Data Bus function.
To deactivate the internal pull-up resistor, clear the appropriate
GPIO bit in the GPIOF_PUR register.
Example: GPIOF9, clear bit 9 in the GPIOF_PUR reg i ste r.
22 Freescale Semiconductor
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
D7
(GPIOF0)
D8
(GPIOF1)
D9
(GPIOF2)
D10
(GPIOF3)
D11
(GPIOF4)
D12
(GPIOF5)
D13
(GPIOF6)
D14
(GPIOF7)
28Input/
Output
Input/
Output
29
30
32
133
134
135
136
Tri-stated
Input
Data Bus — D7 - D14 specify part of the data for external program
or data memory accesses.
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
Port F GPIO — These eight GPIO pins can be individually
programmed as input or output pins.
At reset, these pins default to Data Bus functionality.
To deactivate the internal pull-up resistor, clear the appropriate
GPIO bit in the GPIOF_PUR register.
Example: GPIOF0, clear bit 0 in the GPIOF_PUR reg i ste r.
D15
(GPIOF8)
137Input/
Output
Input/
Output
Tri-stated
Input
56F8356 Technical Data, Rev. 10.0
Data Bus — D15 specifies part of the data for external program or
data memory accesses.
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
Port F GPIO — This GPIO pin can be individually programmed as
an input or output pin.
At reset, this pin defaults to the Data Bus function.
To deactivate the internal pull-up resistor, clear bit 8 in the
GPIOF_PUR register.
Freescale Semiconductor23
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
State
Signal NamePin No.Type
RD45OutputTri-statedRead Enable — RD is asserted during external memory read
During
Reset
Signal Description
cycles. When RD
and an external device is enabled onto the data bus. When RD
deasserted high, the external data is latched inside the device.
When RD is asserted, it qualifies the A0 - A16, PS, DS, and CSn
pins. RD
or ROM.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR ) , RD is
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
To deactivate the internal pull-up resistor, set the CTRL bit in the
SIM_PUDR register.
can be connected directly to the OE pin of a Static RAM
is asserted low, pins D0 - D15 become inputs
tri-stated when the external bus is inactive.
is
WR
PS
(CS0)
44OutputTri-statedWrite Enable — WR is asserted during external memory write
is asserted low, pins D0 - D15 become outputs
, DS, and CSn pins. WR can
is tri-stated when the external bus is inactive.
in the
signal. PS is asserted low for external program
is tri-stated when the external bus is inactive.
46Output
Tri-stated
cycles. When WR
and the device puts data on the bus. When WR is deasserted high,
the external data is latched inside the external device. When WR is
asserted, it qualifies the A0 - A16, PS
be connected directly to the WE pin of a static RAM.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), WR
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
To deactivate the internal pull-up resistor, set the CTRL bit in the
SIM_PUDR register.
Program Memory Select — This signal is actually CS0
EMI, which is programmed at reset for compatibility with the
56F80x PS
memory access.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR),CS0
resets to provide the PS function as defined on the 56F80x
CS0
devices.
(GPIOD8)
24 Freescale Semiconductor
Input/
Output
Input
56F8356 Technical Data, Rev. 10.0
Port D GPIO — This GPIO pin can be individually programmed as
an input or output pin.
To deactivate the internal pull-up resistor, clear bit 8 in the
GPIOD_PUR register.
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
DS
(CS1)
(GPIOD9)
GPIOD0
)
(CS2
GPIOD1
)
(CS3
47Output
Input/
Output
48Input/
Output
Output
49
Tri-stated
Input
InputPort D GPIO — These two GPIO pins can be individually
Data Memory Select — This signal is actually CS1
which is programmed at reset for compatibility with the 56F80x DS
signal. DS
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), DS
CS1 resets to provide the DS function as defined on the 56F80x
devices.
Port D GPIO — This GPIO pin can be individually programmed as
an input or output pin.
To deactivate the internal pull-up resistor, clear bit 9 in the
GPIOD_PUR register.
programmed as input or output pins.
Chip Select — CS2 - CS3 may be programmed within the EMI
module to act as chip selects for specific areas of the external
memory map.
Depending upon the state of the DRV bit in the EMI bus control
register (BCR), A0–A16 and EMI control signals are tri-stated when
the external bus is inactive.
is asserted low for external data memory access.
is tri-stated when the external bus is inactive.
in the EMI,
TXD0
(GPIOE0)
4Output
Input/
Output
Tri-stated
Input
Most designs will want to change the DRV state to DRV = 1 instead of
using the default setting.
At reset, these pins are configured as GPIO.
To deactivate the internal pull-up resistor, clear the appropriate
GPIO bit in the GPIOD_PUR register.
Example: GPIOD0, clear bit 0 in the GPIOD_PUR register.
Transmit Data — SCI0 transmit data output
Port E GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is SCI output.
To deactivate the internal pull-up resistor, clear bit 0 in the
GPIOE_PUR register.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor25
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Description
RXD0
(GPIOE1)
TXD1
(GPIOD6)
RXD1
(GPIOD7)
5Input
Input/
Output
42Output
Input/
Output
43Input
Input/
Output
Input
Input
Tri-stated
Input
Input
Input
Receive Data — SCI0 receive data input
Port E GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is SCI output.
To deactivate the internal pull-up resistor, clear bit 1 in the
GPIOE_PUR register.
Transmit Data — SCI1 transmit data output
Port D GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is SCI output.
To deactivate the internal pull-up resistor, clear bit 6 in the
GPIOD_PUR register.
Receive Data — SCI1 receive data input
Port D GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is SCI input.
TCK121Schmitt
Input
TMS122Schmitt
Input
TDI123Schmitt
Input
Input,
pulled low
internally
Input,
pulled high
internally
Input,
pulled high
internally
To deactivate the internal pull-up resistor, clear bit 7 in the
GPIOD_PUR register.
Test Clock Input — This input pin provides a gated clock to
synchronize the test logic and shift serial data to the JTAG/EOnCE
port. The pin is connected internally to a pull-down resistor.
Test Mode Select Input — This input pin is used to sequence the
JTAG TAP controller’s state machine. It is sampled on the rising
edge of TCK and has an on-chip pull-up resistor.
To deactivate the internal pull-up resistor, set the JTAG bit in the
SIM_PUDR register.
Test Data Input — This input pin provides a serial input data
stream to the JTAG/EOnCE port. It is sampled on the rising edge
of TCK and has an on-chip pull-up resistor.
To deactivate the internal pull-up resistor, set the JTAG bit in the
SIM_PUDR register.
56F8356 Technical Data, Rev. 10.0
26 Freescale Semiconductor
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
State
Signal NamePin No.Type
TDO124OutputTri-statedTest Data Output — This tri-stateable output pin provides a serial
During
Reset
Signal Description
output data stream from the JTAG/EOnCE port. It is driven in the
shift-IR and shift-DR controller states, and changes on the falling
edge of TCK.
Signal Pins
TRST
PHASEA0
(TA0)
(GPIOC4)
PHASEB0
120Schmitt
Input
139Schmitt
Input
Schmitt
Input/
Output
Schmitt
Input/
Output
140Schmitt
Input
Input,
pulled high
internally
Input
Input
Input
Input
Test Reset — As an input, a low signal on this pin provides a reset
signal to the JTAG TAP controller. To ensure complete hardware
reset, TRST
The only exception occurs in a debugging environment when a
hardware device reset is required and the JTAG/EOnCE module
must not be reset. In this case, assert RESET
TRST.
To deactivate the internal pull-up resistor, set the JTAG bit in the
SIM_PUDR register.
Phase A — Quadrature Decoder 0, PHASEA input
TA0 — Timer A, Channel 0
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is PHASEA0.
To deactivate the internal pull-up resistor, clear bit 4 of the
GPIOC_PUR register.
Phase B — Quadrature Decoder 0, PHASEB input
should be asserted whenever RESET is asserted.
, but do not assert
(TA1)
(GPIOC5)
Freescale Semiconductor27
Preliminary
Schmitt
Input/
Output
Schmitt
Input/
Output
Input
Input
56F8356 Technical Data, Rev. 10.0
TA1 — Timer A, Channel
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is PHASEB0.
To deactivate the internal pull-up resistor, clear bit 5 of the
GPIOC_PUR register.
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Description
INDEX0
(TA2)
(GPOPC6)
HOME0
(TA3)
(GPIOC7)
141Schmitt
Input
Schmitt
Input/
Output
Schmitt
Input/
Output
142Schmitt
Input
Schmitt
Input/
Output
Schmitt
Input/
Output
Input
Input
Input
Input
Input
Input
Index — Quadrature Decoder 0, INDEX input
TA2 — Timer A, Channel 2
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is INDEX0.
To deactivate the internal pull-up resistor, clear bit 6 of the
GPIOC_PUR register.
Home — Quadrature Decoder 0, HOME input
TA3 — Timer A, Channel 3
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is HOME0.
SCLK0
(GPIOE4)
130Schmitt
Input/
Output
Schmitt
Input/
Output
Input
Input
To deactivate the internal pull-up resistor, clear bit 7 of the
GPIOC_PUR register.
SPI 0 Serial Clock — In the master mode, this pin serves as an
output, clocking slaved listeners. In slave mode, this pin serves as
the data clock input.
Port E GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is SCLK0.
To deactivate the internal pull-up resistor, clear bit 4 in the
GPIOE_PUR register.
56F8356 Technical Data, Rev. 10.0
28 Freescale Semiconductor
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
MOSI0
(GPIOE5)
MISO0
(GPIOE6)
132Input/
Output
Input/
Output
131Input/
Output
Input/
Output
Tri-stated
Input
Input
Input
SPI 0 Master Out/Slave In — This serial data pin is an output from
a master device and an input to a slave device. The master device
places data on the MOSI line a half-cycle before the clock edge
the slave device uses to latch the data.
Port E GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is MOSI0.
To deactivate the internal pull-up resistor, clear bit 5 in the
GPIOE_PUR register.
SPI 0 Master In/Slave Out — This serial data pin is an input to a
master device and an output from a slave device. The MISO line of
a slave device is placed in the high-impedance state if the slave
device is not selected. The slave device places data on the MISO
line a half-cycle before the clock edge the master device uses to
latch the data.
Port E GPIO — This GPIO pin can be individually programmed as
an input or output pin.
After reset, the default state is MISO0.
To deactivate the internal pull-up resistor, clear bit 6 in the
GPIOE_PUR register.
SS0
(GPIOE7)
129Input
Input/
Output
Input
Input
56F8356 Technical Data, Rev. 10.0
SPI 0 Slave Select — SS0
SPI module that the current transfer is to be received.
Port E GPIO — This GPIO pin can be individually programmed as
input or output pin.
After reset, the default state is SS0
To deactivate the internal pull-up resistor, clear bit 7 in the
GPIOE_PUR register.
is used in slave mode to indicate to the
.
Freescale Semiconductor29
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
SPI 1 Serial Clock — In the master mode, this pin serves as an
output, clocking slaved listeners. In slave mode, this pin serves as
the data clock input. To activate the SPI function, set the
PHSA_ALT bit in the SIM_GPS register. For details, see Part
6.5.8.
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
In the 56F8356, the default state after reset is PHASEA1.
In the 56F8156, the default state is not one of the functions offered
and must be reconfigured.
To deactivate the internal pull-up resistor, clear bit 0 in the
SPI 1 Master Out/Slave In — This serial data pin is an output from
a master device and an input to a slave device. The master device
places data on the MOSI line a half-cycle before the clock edge
the slave device uses to latch the data. To activate the SPI
function, set the PHSB_ALT bit in the SIM_GPS register. For
details, see Part 6.5.8.
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
In the 56F8356, the default state after reset is PHASEB1.
In the 56F8156, the default state is not one of the functions offered
and must be reconfigured.
To deactivate the internal pull-up resistor, clear bit 1 in the
GPIOC_PUR register.
30 Freescale Semiconductor
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
INDEX1
(TB2)
(MISO1)
(GPIOC2)
HOME1
8Schmitt
Input
Schmitt
Input/
Output
Schmitt
Input/
Output
Schmitt
Input/
Output
9Schmitt
Input
Input
Input
Input
Input
Input
Index1 — Quadrature Decoder 1, INDEX input
TB2 — Timer B, Channel 2
SPI 1 Master In/Slave Out — This serial data pin is an input to a
master device and an output from a slave device. The MISO line of
a slave device is placed in the high-impedance state if the slave
device is not selected. The slave device places data on the MISO
line a half-cycle before the clock edge the master device uses to
latch the data. To activate the SPI function, set the INDEX_ALT bit
in the SIM_GPS register. For details, see Part 6.5.8.
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
In the 56F8356, the default state after reset is INDEX1.
In the 56F8156, the default state is not one of the functions offered
and must be reconfigured.
To deactivate the internal pull-up resistor, clear bit 2 in the
GPIOC_PUR register.
Home — Quadrature Decoder 1, HOME input
(TB3)
)
(SS1
(GPIOC3)
Freescale Semiconductor31
Preliminary
Schmitt
Input/
Output
Schmitt
Input
Schmitt
Input/
Output
Input
Input
Input
56F8356 Technical Data, Rev. 10.0
TB3 — Timer B, Channel 3
SPI 1 Slave Select — In the master mode, this pin is used to
arbitrate multiple masters. In slave mode, this pin is used to select
the slave. To activate the SPI function, set the HOME_ALT bit in
the SIM_GPS register. For details, see Part 6.5.8.
Port C GPIO — This GPIO pin can be individually programmed as
an input or output pin.
In the 56F8356, the default state after reset is HOME1.
In the 56F8156, the default state is not one of the functions offered
and must be reconfigured.
To deactivate the internal pull-up resistor, clear bit 3 in the
GPIOC_PUR register.
Table 2-2 Signal and Package Information for the 144-Pin LQFP
State
Signal NamePin No.Type
PWMA062OutputTri-StatePWMA0 - 5 — These are six PWMA outputs.
PWMA164
PWMA265
PWMA367
PWMA468
PWMA570
During
Reset
Signal Description
ISA0
(GPIOC8)
ISA1
(GPIOC9)
ISA2
(GPIOC10)
FaultA071Schmitt
FaultA173
FaultA274
PWMB034OutputTri-StatePWMB0 - 5 — Six PWMB output pins.
PWMB135
PWMB236
113Schmitt
Input
Schmitt
114
115
Input/
Output
Input
Input
Input
InputFaultA0 - 2 — These three fault input pins are used for disabling
ISA0 - 2 — These three input current status pins are used for
top/bottom pulse width correction in complementary channel
operation for PWMA.
Port C GPIO — These GPIO pins can be individually programmed
as input or output pins.
In the 56F8356, these pins default to ISA functionality after reset.
In the 56F8156, the default state is not one of the functions offered
and must be reconfigured.
To deactivate the inte rnal pull-up resistor, clear the appropriate bit
of the GPIOC_PUR register. For details, see Part 6.5.8.
selected PWMA outputs in cases where fault conditions originate
off-chip.
To deactivate the internal pull-up resistor, set the PWMA0 bit in the
SIM_PUDR register. For details, see Part 6.5.8.
PWMB339
PWMB440
PWMB541
56F8356 Technical Data, Rev. 10.0
32 Freescale Semiconductor
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
ISB0
50Schmitt
Input
Input
ISB0 - 2 — These three input current status pins are used for
top/bottom pulse width correction in complementary channel
operation for PWMB.
(GPIOD10)
ISB1
52
(GPIOD11)
ISB2
53
(GPIOD12)
FaultB056Schmitt
FaultB157
FaultB258
FaultB361
Schmitt
Input/
Output
Input
Input
Port D GPIO — These GPIO pins can be individually programmed
as input or output pins.
At reset, these pins default to ISB functionality.
To deactivate the inte rnal pull-up resistor, clear the appropriate bit
of the GPIOD_PUR register. For details, see Part 6.5.8.
InputFaultB0 - 3 — These four fault input pins are used for disabling
selected PWMB outputs in cases where fault conditions originate
off-chip.
To deactivate the internal pull-up resistor, set the PWMB bit in the
SIM_PUDR register. For details, see Part 6.5.8.
ANA088InputInputANA0 - 3 — Analog inputs to ADC A, channel 0
ANA189
ANA290
ANA391
ANA492InputInputANA4 - 7 — Analog inputs to ADC A, channel 1
ANA593
ANA694
ANA795
V
REFH
V
REFP
V
REFMID
V
REFN
V
REFLO
101InputInputV
100Input/
Output
Input/
Output
99
98
97InputInputV
56F8356 Technical Data, Rev. 10.0
— Analog Reference Voltage High. V
REFH
than or equal to
V
, V
REFP
REFMID
VDDA_ADC.
& V
REFN
— Internal pins for voltage reference
must be less
REFH
which are brought off-chip so they can be bypassed. Connect to a
0.1µF low ESR capacitor.
— Analog Reference Voltage Low. This should normally
REFLO
be connected to a low-noise V
SS
.
Freescale Semiconductor33
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
State
Signal NamePin No.Type
ANB0104InputInputANB0 - 3 — Analog inputs to ADC B, channel 0
ANB1105
ANB2106
ANB3107
ANB4108InputInputANB4 - 7 — Analog inputs to ADC B, channel 1
ANB5109
ANB6110
ANB7111
TEMP_SENSE96OutputOutputTemperature Sense Diode — This signal connects to an on-chip
During
Reset
Signal Description
diode that can be connected to one of the ADC inputs and used to
monitor the temperature of the die. Must be bypassed with a
0.01µF capacitor.
CAN_RX127Schmitt
Input
CAN_TX126Open
Drain
Output
TC0
(GPIOE8)
118Schmitt
Input/
Output
Schmitt
Input/
Output
InputFlexCAN Receive Data — This is the CAN input. This pin has an
internal pull-up resistor.
To deactivate the internal pull-up resistor, set the CAN bit in the
SIM_PUDR register.
Open
Drain
Output
Input
Input
FlexCAN Transmit Data — CAN output
TC0 — Timer C, Channel 0
Port E GPIO — This GPIO pin can be individually programmed as
an input or output pin.
At reset, this pin defaults to timer functionality.
To deactivate the internal pull-up resistor, clear bit 8 of the
GPIOE_PUR register.
56F8356 Technical Data, Rev. 10.0
34 Freescale Semiconductor
Preliminary
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Pins
Signal Description
TD0
(GPIOE10)
TD1
(GPIOE11)
IRQA
IRQB
RESET86Schmitt
116Schmitt
Input/
Output
Schmitt
117
54Schmitt
55
Input/
Output
Input
Input
Input
Input
InputExternal Interrupt Request A and B — The IRQA and IRQB
InputReset — This input is a direct hardware reset on the processor.
TD0 - 1 — Timer D, Channels 0 and 1
Port E GPIO — These GPIO pins can be individually programmed
as input or output pins.
At reset, these pins default to Timer functionality.
To deactivate the inte rnal pull-up resistor, clear the appropriate bit
of the GPIOE_PUR register. See Part 6.5.6 for details.
inputs are asynchronous external interrupt requests during Stop
and Wait mode operation. During other operating modes, they are
synchronized external interrupt requests, which indicate an
external device is requesting service. They can be programmed to
be level-sensitive or negative-edge triggered.
To deactivate the internal pull-up resistor, set the IRQ bit in the
SIM_PUDR register. See Part 6.5.6 for details.
When RESET is asserted low, the device is initialized and placed
in the reset state. A Schmitt trigger input is used for noise
immunity. When the RESET
operating mode is latched from the EXTBOOT pin. The internal
reset signal will be deasserted synchronous with the internal
clocks after a fixed number of internal clocks.
pin is deasserted, the initial chip
To ensure complete hardware reset, RE SET
asserted together. The only exception occurs in a debugging
environment when a hardware device reset is required and the
JTAG/EOnCE module must not be reset. In this case, assert
RESET
Note: The internal Power-On Reset will assert on initial power-up.
To deactivate the internal pull-up resistor, set the RESET
SIM_PUDR register. See Part 6.5.6 for details.
RSTO
Freescale Semiconductor35
Preliminary
85OutputOutputReset Output — This output reflects the internal reset state of the
chip.
56F8356 Technical Data, Rev. 10.0
but do not assert TRST.
and TRST should be
bit in the
Table 2-2 Signal and Package Information for the 144-Pin LQFP
Signal NamePin No.Type
State
During
Reset
Signal Description
EXTBOOT112Schmitt
Input
EMI_MODE143Schmitt
Input
InputExternal Boot — This input is tied to VDD to force the device to
boot from off-chip memory (assuming that the on-chip Flash
memory is not in a secure state). Otherwise, it is tied to ground.
For details, see Table 4-4.
Note: When this pin is tied low, the customer boot software should
disable the internal pull-up resistor by setting the XBOOT bit of the
SIM_PUDR; see Part 6.5.6.
InputExternal Memory Mode — The EMI_MODE input is internally tied
low (to V
under normal operation. This function is also affected by
EXTBOOT and the Flash security mode. For details, see
Table 4-4.
If a 20-bit address bus is not desired, then this pin is tied to
ground.
Note: When this pin is tied low, the customer boot software should
disable the internal pull-up resi stor by setting the EMI_M ODE bit of
the SIM_PUDR; see Part 6.5.6.
). This device will boot from internal flash memory
SS
56F8356 Technical Data, Rev. 10.0
36 Freescale Semiconductor
Preliminary
Introduction
Part 3 On-Chip Clock Synthesis (OCCS)
3.1 Introduction
Refer to the OCCS chapter of the 56F8300 Peripheral User Manual for a full description of the OCCS.
The material contained here identifies the specific features of the OCCS design. Figure 3-1 shows the
specific OCCS block diagram to reference from the OCCS chapter of the 56F8300 Peripheral UserManual.
CLKMODE
XTAL
EXTAL
Crystal
OSC
PLLCID
Prescaler
÷ (1,2,4,8)
MUX
PLLDB
REF
F
x (1 to 128)
PLL
Prescaler CLK
F
OUT
÷2
F
OUT/2
PLLCOD
Postscaler
÷ (1,2,4,8)
ZSRC
SYS_CLK2
Source to SIM
MUX
Postscaler CLK
Bus
Interface
MSTR_OSC
FEEDBACK
Lock
Detector
Loss of
Reference
Clock
Detector
Bus Interface & Control
LCK
Loss of Reference
Clock Interrupt
Figure 3-1 OCCS Block Diagram
3.2 External Clock Operation
The system clock can be derived from an external crystal, ceramic resonator, or an external system clock
signal. To generate a reference frequency using the internal oscillator, a reference crystal or ceramic
resonator must be connected between the EXTAL and XTAL pins.
3.2.1Crystal Oscillator
The internal oscillator is designed to interface with a parallel-resonant crystal resonator in the frequency
range specified for the external crystal in Table 10-15. A recommended crystal oscillator circuit is shown
in Figure 3-2. Follow the crystal supplier’s recommendations when selecting a crystal, since crystal
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor37
Preliminary
parameters determine the component values required to provide maximum stability and reliable start-up.
The crystal and associated components should be mounted as near as possible to the EXTAL and XTAL
pins to minimize output distortion and start-up stabilization time.
Crystal Frequency = 4 - 8MHz (optimized for 8MHz)
EXTAL XTAL
CL2
R
z
Sample External Crystal Parameters:
Rz = 750 KΩ
Note: If the operating temperature range is limited to
below 85
o
C(105oC junction), then Rz = 10 Meg Ω
CLKMODE = 0
EXTAL XTAL
CL1
R
z
Figure 3-2 Connecting to a Crystal Oscillator
Note:The OCCS_COHL bit must be set to 1 when a crystal oscillator is used. The reset condition on the
OCCS_COHL bit is 0. Please see the COHL bit in the Oscillator Control (OSCTL) register, discussed
56F8300 Peripheral User Manual.
in the
3.2.2Ceramic Resonator (Default)
It is also possible to drive the internal oscillator with a ceramic resonator, assuming the overall system
design can tolerate the reduced signal integrity. A typical ceramic resonator circuit is shown in Figure 3-3.
Refer to the supplier’s recommendations when selecting a ceramic resonator and associated components.
The resonator and components should be mounted as near as possible to the EXTAL and XTAL pins.
Resonator Frequency = 4 - 8MHz (optimized for 8MHz)
Note:The OCCS_COHL bit must be set to 0 when a ceramic resonator is used. The reset condition on the
OCCS_COHL bit is 0. Please see the COHL bit in the Oscillator Control (OSCTL) register, discussed
in the
56F8300 Peripheral User Manual.
56F8356 Technical Data, Rev. 10.0
38 Freescale Semiconductor
Preliminary
Registers
3.2.3External Clock Source
The recommended method of connecting an external clock is given in Figure 3-4. The external clock
source is connected to XTAL and the EXTAL pin is grounded. Set OCCS_COHL bit high when using an
external clock source as well.
XTAL
External
Clock
EXTAL
V
SS
Note: When using an external clocking source
with this configuration, the input “CLKMODE”
should be high and the COHL bit in the OSCTL
register should be set to 1.
Figure 3-4 Connecting an External Clock Register
3.3 Registers
When referring to the register definitions for the OCCS in the 56F8300 Peripheral User Manual, use the
register definitions without the internal Relaxation Oscillator, since the 56F8356/56F8156 devices do
NOT contain this oscillator.
Part 4 Memory Map
4.1 Introduction
The 56F8356 and 56F8156 devices are 16-bit motor-control chips based on the 56800E core. These parts
use a Harvard-style architecture with two independent memory spaces for Data and Program. On-chip
RAM and Flash memories are used in both spaces.
This section provides memory maps for:
•Program Address Space, including the Interrupt Vector Table
•Data Address Space, including the EOnCE Memory and Peripheral Memory Maps
On-chip memory sizes for each device are summarized in Table 4-1. Flash memories’ restrictions are
identified in the “Use Restrictions” column of Table 4-1.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor39
Preliminary
Note: Data Flash and Program RAM are NOT available on the 56F8156 device.
Table 4-1 Chip Memory Configurations
On-Chip Memory56F835656F8156Use Restrictions
Program Flash256KB256KBErase / Program via Flash interface unit and word writes to CDBW
Data Flash8KB—Erase / Program via Flash interface unit and word writes to CDBW.
Data Flash can be read via either CDBR or XDB2, but not by both
simultaneously
Program RAM4KB—None
Data RAM16KB16KBNone
Program Boot Flash16KB16KBErase / Program via Flash Interface unit and word to CDBW
4.2 Program Map
The operating mode control bits (MA and MB) in the Operating Mode Register (OMR) control the
Program memory map. At reset, these bits are set as indicated in Table 4-2. Table 4-4 shows the memory
map configurations that are possible at reset. After reset, the OMR MA bit can be changed and will have
an effect on the P-space memory map, as shown in Table 4-3. Changing the OMR MB bit will have no
effect.
Table 4-2 OMR MB/MAL Value at Reset
OMR MB =
Flash Secured
1. This bit is only configured at reset. If the Flash secured state changes, this will not be reflect ed in MB until the next reset.
2. Changing MB in software will not affect Flash memory security.
1, 2
State
00Mode 0 – Internal Boot; EMI is configured to use 16 address lines; Flash
01Not valid; cannot boot externally if the Flash is secured and will actually
10Mode 0 – Internal Boot; EMI is configured to use 16 address lines
11Mode 1 – External Boot; Flash Memory is not secured; EMI configuration is
OMR MA =
EXTBOOT Pin
Chip Operating Mode
Memory is secured; external P-space is not allowed; the EOnCE is disabled
configure to 00 state
determined by the state of the EMI_MODE pin
56F8356 Technical Data, Rev. 10.0
40 Freescale Semiconductor
Preliminary
Program Map
Table 4-3 Changing OMR MA Value During Normal Operation
OMR MAChip Operating Mode
0Use internal P-space memory map configuration
1Use external P-space memory map configuration – If MB = 0 at reset, changing this bit has no
effect.
The device’s external memory interface (EMI) can operate much like the 56F80x family’s EMI, or it can
be operated in a mode similar to that used on other products in the 56800E family. Initially, CS0 and CS1
are configured as PS and DS, in a mode compatible with earlier 56800 devices.
Eighteen address lines are required to shadow the first 192K of internal program space when booting
externally for development purposes. Therefore, the entire complement of on-chip memory cannot be
accessed using a 16-bit 56800-compatible address bus. To address this situation, the EMI_MODE pin can
be used to configure four GPIO pins as Address[19:16] upon reset (only one of these pins [A16] is usable
in the 56F8356/56F8156).
The EMI_MODE pin also affects the reset vector address, as provided in Table 4-4. Additional pins must
be configured as address or chip select signals to access addresses at P:$10 0000 and above.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor41
Preliminary
Note: Program RAM is NOT available on the 56F8156 device.
1. If Flash Security Mode is enabled, EXTBOOT Mode 1 cannot be used. See Security Features, Part 7.
2. This mode provides maximum compatibility with 56F80x parts while operating externally.
3. “EMI_MODE =0” when EMI_MODE pin is tied to ground at boot up.
4. “EMI_MODE =1” when EMI_MODE pin is tied to VDD at boot up.
5. Not accessible in reset configuration, since the address is above P:$00 FFFF. The higher bit addre ss/GPIO (and/or chip
selects) pins must be reconfigured before this external memory is accessible.
6. Booting from this external address allows prototyping of the internal Boot Flash.
7. Two independent program flash blocks allow one to be programmed/erased while executing from another. Each block
must have its own mass erase.
Table 4-5 provides the reset and interrupt priority structure, including on-chip peripherals. The table is
organized with higher-priority vectors at the top and lower-priority interrupts lower in the table. The
priority of an interrupt can be assigned to different levels, as indicated, allowing some control over
interrupt priorities. All level 3 interrupts will be serviced before level 2, and so on. For a selected priority
level, the lowest vector number has the highest priority.
56F8356 Technical Data, Rev. 10.0
42 Freescale Semiconductor
Preliminary
Interrupt Vector Table
The location of the vector table is determined by the Vector Base Address (VBA) register. Please see Part
5.6.12for the reset value of the VBA.
In some configurations, the reset address and COP reset address will correspond to vector 0 and 1 of the
interrupt vector table. In these instances, the first two locations in the vector table must contain branch or
JMP instructions. All other entries must contain JSR instructions.
Note: PWMA, FlexCAN, Quadrature Decoder 1, and Quad Timers B and D are NOT available on the
56F8156 device.
Table 4-5 Interrupt Vector Table Contents
Peripheral
core23P:$04Illegal Instruction
core33P:$06SW Interrupt 3
core43P:$08HW Stack Overflow
core53P:$0AMisaligned Long Word Access
core61-3P:$0COnCE Step Counter
core71-3P:$0EOnCE Breakpoint Unit 0
TMRA640-2P:$80Timer A, Channel 0
TMRA650-2P:$82Timer A, Channel 1
TMRA660-2P:$84Timer A, Channel 2
TMRA670-2P:$86Timer A, Channel 3
SCI0680-2P:$88SCI 0 Transmitter Empty
SCI0690-2P:$8ASCI 0 Transmitter Idle
Reserved
SCI0710-2P:$8ESCI 0 Receiver Error
SCI0720-2P:$90SCI 0 Receiver Full
ADCB730-2P:$92ADC B Conversion Compete / End of Scan
ADCA740-2P:$94ADC A Conversion Complete / End of Scan
ADCB750-2P:$96ADC B Zero Crossing or Limit Error
ADCA760-2P:$98ADC A Zero Crossing or Limit Error
PWMB770-2P:$9AReload PWM B
PWMA780-2P:$9CReload PWM A
PWMB790-2P:$9EPWM B Fault
PWMA800-2P:$A0PWM A Fault
core81- 1P:$A2SW Interrupt LP
1. Two words are allocated for each entry in the vector table. This does not allow the full address range to be refe renced
from the vector table, providing only 19 bits of address.
2. If the VBA is set to $0200 (or VBA = 0000 for Mode 1, EMI_MODE = 0), the first two locations of the vector table are
the chip reset addresses; therefore, these locations are not interrupt vectors.
2.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor45
Preliminary
4.4 Data Map
Note: Data Flash is NOT available on the 56F8156 device.
Table 4-6 Data Memory Map
Begin/End
Address
X:$FF FFFF
X:$FF FF00
X:$FF FEFF
X:$01 0000
X:$00 FFFF
X:$00 F000
X:$00 EFFF
X:$00 3000
X:$00 2FFF
X:$00 2000
X:$00 1FFF
X:$00 0000
1. All addresses are 16-bit Word addresses, not byte addresses.
2. In the Operation Mode Register (OMR).
3. The Data RAM is organized as a 2K x 32-bit memory to allow single-cycle long-word operations.
EOnCE
256 locations allocated
External MemoryExternal Memory
On-Chip Peripherals
4096 locations allocated
External MemoryExternal Memory
On-Chip Data Flash
8KB
On-Chip Data RAM
3
16KB
EX = 0
2
EOnCE
256 locations allocated
On-Chip Peripherals
4096 locations allocated
1
4.5 Flash Memory Map
EX = 1
Figure 4-1 illustrates the Flash Memory (FM) map on the system bus.
The Flash Memory is divided into three functional blocks. The Program and boot memories reside on the
Program Memory buses. They are controlled by one set of banked registers. Data Memory Flash resides
on the Data Memory buses and is controlled separately by its own set of banked registers.
The top nine words of the Program Memory Flash are treated as special memory locations. The content of
these words is used to control the operation of the Flash Controller. Because these words are part of the
Flash Memory content, their state is maintained during power-down and reset. During chip initialization,
the content of these memory locations is loaded into Flash Memory control registers, detailed in the Flash
Memory chapter of the 56F8300 Peripheral User Manual. These configuration parameters are located
between $01_FFF7 and $01_FFFF.
56F8356 Technical Data, Rev. 10.0
46 Freescale Semiconductor
Preliminary
Flash Memory Map
Data Memory
Banked Registers
Unbanked Registers
8KB
Note: Data Flash is
NOT available in the
56F8156 device.
X:$FF FFFCOCLSR (8 bits)Core Lock / Unlock Status Register
X:$FF FFFDOTXRXSR (8 bits)Transmit and Receive Sta tus an d Control Register
X:$FF FFFEOTX / ORX (32 bits)Transmit Register / Receive Register
X:$FF FFFFOTX1 / ORX1Transmit Register Upper Word
Receive Register Upper Word
56F8356 Technical Data, Rev. 10.0
48 Freescale Semiconductor
Preliminary
Peripheral Memory Mapped Registers
4.7 Peripheral Memory Mapped Registers
On-chip peripheral registers are part of the data memory map on the 56800E series. These locations may
be accessed with the same addressing modes used for ordinary Data memory, except all peripheral
registers should be read/written using word accesses only.
Table 4-9 summarizes base addresses for the set of peripherals on the 56F8356 and 56F8156 devices.
Peripherals are listed in order of the base address.
The following tables list all of the peripheral registers required to control or access the peripherals.Note:Features in italics are NOT available in the 56F8156 device.
Table 4-9 Data Memory Peripheral Base Address Map Summary
TMRA0_SCR$7Status and Control Register
TMRA0_CMPLD1$8Comparator Load Register 1
TMRA0_CMPLD2$9Comparator Load Register 2
TMRA0_COMSCR$AComparator Status and Control Register
Reserve
TMRA1_CMP1$10Compare Register 1
TMRA1_CMP2$11Compare Register 2
TMRA1_CAP$12Capture Register
TMRA1_LOAD$13Load Register
TMRA1_HOLD$14Hold Register
TMRA1_CNTR$15Counter Register
TMRA1_CTRL$16Control Register
TMRA1_SCR$17Status and Control Register
TMRA1_CMPLD1$18Comparator Load Register 1
TMRA1_CMPLD2$19Comparator Load Register 2
TMRA1_COMSCR$1AComparator Status and Control Register
Reserved
TMRA2_CMP1$20Compare Register 1
TMRA2_CMP2$21Compare Register 2
TMRA2_CAP$22Capture Register
TMRA2_LOAD$23Load Register
TMRA2_HOLD$24Hold Register
TMRA2_CNTR$25Counter Register
TMRA2_CTRL$26Control Register
TMRA2_SCR$27Status and Control Register
TMRA2_CMPLD1$28Comparator Load Register 1
TMRA2_CMPLD2$29Comparator Load Register 2
TMRA2_COMSCR$2AComparator Status and Control Register
TMRA3_LOAD$33Load Register
TMRA3_HOLD$34Hold Register
TMRA3_CNTR$35Counter Register
TMRA3_CTRL$36Control Register
TMRA3_SCR$37Status and Control Register
TMRA3_CMPLD1$38Comparator Load Register 1
TMRA3_CMPLD2$39Comparator Load Register 2
TMRA3_COMSC$3AComparator Status and Control Register
Table 4-12 Quad Timer B Registers Address Map
(TMRB_BASE = $00 F080)
Quad Timer B is NOT available in the 56F8156 device
TMRB1_SCR$17Status and Control Register
TMRB1_CMPLD1$18Comparator Load Register 1
TMRB1_CMPLD2$19Comparator Load Register 2
TMRB1_COMSCR$1AComparator Status and Control Register
Reserved
TMRB2_CMP1$20Compare Register 1
TMRB2_CMP2$21Compare Register 2
TMRB2_CAP$22Capture Register
TMRB2_LOAD$23Load Register
TMRB2_HOLD$24Hold Register
TMRB2_CNTR$25Counter Register
TMRB2_CTRL$26Control Register
TMRB2_SCR$27Status and Control Register
TMRB2_CMPLD1$28Comparator Load Register 1
TMRB2_CMPLD2$29Comparator Load Register 2
TMRB2_COMSCR$2AComparator Status and Control Register
Reserved
TMRB3_CMP1$30Compare Register 1
TMRB3_CMP2$31Compare Register 2
TMRB3_CAP$32Capture Register
TMRB3_LOAD$33Load Register
TMRB3_HOLD$34Hold Register
TMRB3_CNTR$35Counter Register
TMRB3_CTRL$36Control Register
TMRB3_SCR$37Status and Control Register
TMRB3_CMPLD1$38Comparator Load Register 1
TMRB3_CMPLD2$39Comparator Load Register 2
TMRB3_COMSCR$3AComparator Status and Control Register
TMRC2_SCR$27Status and Control Register
TMRC2_CMPLD1$28Comparator Load Register 1
TMRC2_CMPLD2$29Comparator Load Register 2
TMRC2_COMSCR$2AComparator Status and Control Register
Reserved
TMRC3_CMP1$30Compare Register 1
TMRC3_CMP2$31Compare Register 2
TMRC3_CAP$32Capture Register
TMRC3_LOAD$33Load Register
TMRC3_HOLD$34Hold Register
TMRC3_CNTR$35Counter Register
TMRC3_CTRL$36Control Register
TMRC3_SCR$37Status and Control Register
TMRC3_CMPLD1$38Comparator Load Register 1
TMRC3_CMPLD2$39Comparator Load Register 2
TMRC3_COMSCR$3AComparator Status and Control Register
Table 4-14 Quad Timer D Registers Address Map
(TMRD_BASE = $00 F100)
Quad Timer D is NOT available in the 56F8156 device
TMRD0_CMP1$0Compare Register 1
TMRD0_CMP2$1Compare Register 2
TMRD0_CAP$2Capture Register
TMRD0_LOAD$3Load Register
TMRD0_HOLD$4Hold Register
TMRD0_CNTR$5Counter Register
TMRD0_CTRL$6Control Re gister
TMRD0_SCR$7Status and Control Register
TMRD0_CMPLD1$8Comparator Load Register 1
TMRD0_CMPLD2$9Comparator Load Register 2
TMRD0_COMSCR$ACompara to r Status and Control Register
56F8356 Technical Data, Rev. 10.0
56 Freescale Semiconductor
Preliminary
Table 4-14 Quad Timer D Registers Address Map (Continued)
(TMRD_BASE = $00 F100)
Quad Timer D is NOT available in the 56F8156 device
TMRD3_CTRL$36Control Register
TMRD3_SCR$37Status and Control Register
TMRD3_CMPLD1$38Comparator Load Register 1
TMRD3_CMPLD2$39Comparator Load Register 2
TMRD3_COMSCR$3AComparator Status and Control Register
Table 4-15 Pulse Width Modulator A Registers Address Map
DEC0_DECCR$0Decoder Control Register
DEC0_FIR$1Filter Interval Register
DEC0_WTR$2Watchdog Time -out Register
DEC0_POSD$3Position Difference Counter Register
DEC0_POSDH$4Position Difference Counter Hold Register
DEC0_REV$5Revolution Counter Register
DEC0_REVH$6Revolution Hol d Register
DEC0_UPOS$7Upper Position Counter Register
DEC0_LPOS$8Lower Position Counter Register
DEC0_UPOSH$9Upper Position Hold Register
DEC0_LPOSH$ALower Position Hold Register
DEC0_UIR$BUpper Initialization Register
DEC0_LIR$CLower Initialization Register
DEC0_IMR$DInput Monitor Register
0 x 3FFF
0 x 0000
0 x 0000
0 x 3FFF
0 x 0000
0 x 0000
0 x 0000
0 x 0000
0 x 0000
—
Table 4-30 GPIOB Re gisters Address Map
(GPIOB_BASE = $00F300)
Register AcronymAddress OffsetRegister Description Reset Value
GPIOB_PUR$0Pull-up Enable Register0 x 00FF
GPIOB_DR$1Data Register0 x 0000
GPIOB_DDR$2Data Direction Register0 x 0000
GPIOB_PER$3Peripheral Enable Register0 x 000F for 20-bit EMI address
at reset.
0 x 0000 for all other cases.
See Table 4-4 for details.
GPIOB_IAR$4Interrupt Assert Register0 x 0000
GPIOB_IENR$5Interrupt Enable Register0 x 0000
GPIOB_IPOLR$6Interrupt Po larity Register0 x 0000
GPIOB_IPR$7Interrupt Pending Register0 x 0000
GPIOB_IESR$8Interrupt Edge-Sensitive Register0 x 0000
GPIOB_PPMODE$9Push-Pull Mode Register0 x 00FF
GPIOB_RAWDATA$ARaw Data Input Register—
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor67
Preliminary
Table 4-31 GPIOC Re gisters Address Map
(GPIOC_BASE = $00 F310)
Register AcronymAddress OffsetRegister Description R eset Value
GPIOC_PUR$0Pull-up Enable Register0 x 07FF
GPIOC_DR$1Data Register0 x 0000
GPIOC_DDR$2Data Direction Register0 x 0000
GPIOC_PER$3Peripheral Enable Register0 x 07FF
GPIOC_IAR$4Interrupt Assert Register0 x 0000
GPIOC_IENR$5Interrupt Enable Register0 x 0000
GPIOC_IPOLR$6Interrupt Polarity Register0 x 0000
GPIOC_IPR$7Interrupt Pending Register0 x 0000
GPIOC_IESR$8Interrupt Edge-Sensitive Register0 x 0000
GPIOC_PPMODE$9Push-Pull Mode Register0 x 07FF
GPIOC_RAWDATA$ARaw Data Input Register—
Table 4-32 GPIOD Re gisters Address Map
(GPIOD_BASE = $00 F320)
Register AcronymAddress OffsetRegister Description Reset Value
GPIOD_PUR$0Pull-up Enable Register0 x 1FFF
GPIOD_DR$1Data Register0 x 0000
GPIOD_DDR$2Data Direction Register0 x 0000
GPIOD_PER$3Peripheral Enable Register0 x 1FC0
GPIOD_IAR$4Interrupt Assert Register0 x 0000
GPIOD_IENR$5Interrupt Enable Register0 x 0000
GPIOD_IPOLR$6Interrupt Polarity Register0 x 0000
GPIOD_IPR$7Interrupt Pending Register0 x 0000
GPIOD_IESR$8Interrupt Edge-Sensitive Register0 x 0000
GPIOD_PPMODE$9Push-Pull Mode Register0 x 1FFF
GPIOD_RAWDATA$ARaw Data Input Register—
56F8356 Technical Data, Rev. 10.0
68 Freescale Semiconductor
Preliminary
Peripheral Memory Mapped Registers
Table 4-33 GPIOE Registers Address Map
(GPIOE_BASE = $00 F330)
Register AcronymAddress OffsetRegister Description Reset Value
GPIOE_PUR$0Pull-up Enable Register0 x 3FFF
GPIOE_DR$1Data Register0 x 0000
GPIOE_DDR$2Data Direction Register0 x 0000
GPIOE_PER$3Peripheral Enable Register0 x 3FFF
GPIOE_IAR$4Interrupt Assert Register0 x 0000
GPIOE_IENR$5Interrupt Enable Reg ister0 x 0000
GPIOE_IPOLR$6Interrupt Pol arity Register0 x 0000
GPIOE_IPR$7Interrupt Pending Register0 x 0000
GPIOE_IESR$8Interrupt Edge-Sensitive Register0 x 0000
GPIOE_PPMODE$9Push-Pull Mode Register0 x 3FFF
GPIOE_RAWDATA$ARaw Data Input Register—
Table 4-34 GPIOF Registers Address Map
(GPIOF_BASE = $00 F340)
Register AcronymAddress OffsetRegister Description Reset Value
GPIOF_PUR$0Pull-up Enable Register0 x FFFF
GPIOF_DR$1Data Register0 x 0000
GPIOF_DDR$2Data Direction Register0 x 0000
GPIOF_PER$3Peripheral Enable Register0 x FFFF
GPIOF_IAR$4Interrupt Assert Register0 x 0000
GPIOF_IENR$5Interrupt Enable Register0 x 0000
GPIOF_IPOLR$6Interrupt Polarity Register0 x 0000
GPIOF_IPR$7Interrupt Pending Register0 x 0000
GPIOF_IESR$8Interrupt Edge-Sensitive Register0 x 0000
GPIOF_PPMODE$9Push-Pull Mode Register0 x FFFF
GPIOF_RAWDATA$ARaw Data Input Register—
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor69
Preliminary
Table 4-35 System Integration Module Registers Address Map
SIM_CONTROL$0Control Register
SIM_RSTSTS$1Reset Status Register
SIM_SCR0$2Software Control Register 0
SIM_SCR1$3Software Control Register 1
SIM_SCR2$4Software Control Register 2
SIM_SCR3$5Software Control Register 3
SIM_MSH_ID$6Most Significant Half JTAG ID
SIM_LSH_ID$7Least Significant Half JTAG ID
SIM_PUDR$8Pull-up Disable Register
Reserved
SIM_CLKOSR$AClock Out Select Register
SIM_GPS$BQuad Decoder 1 / Timer B / SPI 1 Select Register
SIM_PCE$CPeripheral Clock Enable Register
SIM_ISALH$DI/O Short Address Location High Register
SIM_ISALL$EI/O Short Address Location Low Register
FCRXGMASK_H$8Receive Global Mask High Register
FCRXGMASK_L$9Receive Global Mask Low Register
FCRX14MASK_H$AReceive Buffer 14 Mask High Register
FCRX14MASK_L$BReceive Buffer 14 Mask Low Register
FCRX15MASK_H$CReceive Buffer 15 Mask High Register
FCRX15MASK_L$DReceive Buffer 15 Mask Low Register
Reserved
FCSTATUS$10Error and Status Register
FCIMASK1$11Interrupt Masks 1 Register
FCIFLAG1$12Interrupt Flags 1 Register
FCR/T_ERROR_CNTRS$13Receive and Transmit Error Counters Register
Reserved
Reserved
Reserved
FCMB0_CONTROL$40Message Buffer 0 Control / Status Register
FCMB0_ID_HIGH$41Message Buffer 0 ID High Register
FCMB0_ID_LOW$42Message Buffer 0 ID Low Register
FCMB0_DATA$43Message Buffer 0 Data Register
FCMB0_DATA$44Message Buffer 0 Data Register
FCMB0_DATA$45Message Buffer 0 Data Register
FCMB0_DATA$46Message Buffer 0 Data Register
Reserved
FCMSB1_CONTROL$48Message Buffer 1 Control / Status Register
FCMSB1_ID_HIGH$49Message Buffer 1 ID High Register
FCMSB1_ID_LOW$4AMessage Buffer 1 ID Low Register
FCMB1_DATA$4BMessage Buffer 1 Data Register
FCMB1_DATA$4CMessage Buffer 1 Data Register
FCMB1_DATA$4DMessage Buffer 1 Data Register
FCMB1_DATA$4EMessage Buffer 1 Data Register
FCMB2_CONTROL$50Message Buffer 2 Control / Status Register
FCMB2_ID_HIGH$51Message Buffer 2 ID High Register
FCMB2_ID_LOW$52Message Buffer 2 ID Low Register
FCMB2_DATA$53Message Buffer 2 Data Register
FCMB2_DATA$54Message Buffer 2 Data Register
FCMB2_DATA$55Message Buffer 2 Data Register
FCMB2_DATA$56Message Buffer 2 Data Register
Reserved
FCMB3_CONTROL$58Message Buffer 3 Control / Status Register
FCMB3_ID_HIGH$59Message Buffer 3 ID High Register
FCMB3_ID_LOW$5AMessage Buffer 3 ID Low Register
FCMB3_DATA$5BMessage Buffer 3 Data Register
FCMB3_DATA$5CMessage Buffer 3 Data Register
FCMB3_DATA$5DMessage Buffer 3 Data Register
FCMB3_DATA$5EMessage Buffer 3 Data Register
Reserved
FCMB4_CONTROL$60Message Buffer 4 Control / Status Register
FCMB4_ID_HIGH$61Message Buffer 4 ID High Register
FCMB4_ID_LOW$62Message Buffer 4 ID Low Register
FCMB4_DATA$63Message Buffer 4 Data Register
FCMB4_DATA$64Message Buffer 4 Data Register
FCMB4_DATA$65Message Buffer 4 Data Register
FCMB4_DATA$66Message Buffer 4 Data Register
Reserved
FCMB5_CONTROL$68Message Buffer 5 Control / Status Register
FCMB5_ID_HIGH$69Message Buffer 5 ID High Register
FCMB5_ID_LOW$6AMessage Buffer 5 ID Low Register
FCMB5_DATA$6BMessage Buffer 5 Data Register
FCMB5_DATA$6CMessage Buffer 5 Data Register
FCMB5_DATA$6DMessage Buffer 5 Data Register
FCMB5_DATA$6EMessage Buffer 5 Data Register
FCMB6_CONTROL$70Message Buffer 6 Control / Status Register
FCMB6_ID_HIGH$71Message Buffer 6 ID High Register
FCMB6_ID_LOW$72Message Buffer 6 ID Low Register
FCMB6_DATA$73Message Buffer 6 Data Register
FCMB6_DATA$74Message Buffer 6 Data Register
FCMB6_DATA$75Message Buffer 6 Data Register
FCMB6_DATA$76Message Buffer 6 Data Register
Reserved
FCMB7_CONTROL$78Message Buffer 7 Control / Status Register
FCMB7_ID_HIGH$79Message Buffer 7 ID High Register
FCMB7_ID_LOW$7AMessage Buffer 7 ID Low Register
FCMB7_DATA$7BMessage Buffer 7 Data Register
FCMB7_DATA$7CMessage Buffer 7 Data Register
FCMB7_DATA$7DMessage Buffer 7 Data Register
FCMB7_DATA$7EMessage Buffer 7 Data Register
Reserved
FCMB8_CONTROL$80Message Buffer 8 Control / Status Register
FCMB8_ID_HIGH$81Message Buffer 8 ID High Register
FCMB8_ID_LOW$82Message Buffer 8 ID Low Register
FCMB8_DATA$83Message Buffer 8 Data Register
FCMB8_DATA$84Message Buffer 8 Data Register
FCMB8_DATA$85Message Buffer 8 Data Register
FCMB8_DATA$86Message Buffer 8 Data Register
Reserved
FCMB9_CONTROL$88Message Buffer 9 Control / Status Register
FCMB9_ID_HIGH$89Message Buffer 9 ID High Register
FCMB9_ID_LOW$8AMessage Buffer 9 ID Low Register
FCMB9_DATA$8BMessage Buffer 9 Data Register
FCMB9_DATA$8CMessage Buffer 9 Data Register
FCMB9_DATA$8DMessage Buffer 9 Data Register
FCMB9_DATA$8EMessage Buffer 9 Data Register
FCMB10_CONTROL$90Message Buffer 10 Control / Status Register
FCMB10_ID_HIGH$91Message Buffer 10 ID High Register
FCMB10_ID_LOW$92Message Buffer 10 ID Low Register
FCMB10_DATA$93Message Buffer 10 Data Register
FCMB10_DATA$94Message Buffer 10 Data Register
FCMB10_DATA$95Message Buffer 10 Data Register
FCMB10_DATA$96Message Buffer 10 Data Register
Reserved
FCMB11_CONTROL$98Message Buffer 11 Control / Status Register
FCMB11_ID_HIGH$99Message Buffer 11 ID High Register
FCMB11_ID_LOW$9AMessage Buffer 11 ID Low Register
FCMB11_DATA$9BMessage Buffer 11 Data Register
FCMB11_DATA$9CMessage Buffer 11 Data Register
FCMB11_DATA$9DMessage Buffer 11 Data Register
FCMB11_DATA$9EMessage Buffer 11 Data Register
Reserved
FCMB12_CONTROL$A0Message Buffer 12 Control / Status Register
FCMB12_ID_HIGH$A1Message Buffer 12 ID High Register
FCMB12_ID_LOW$A2Message Buffer 12 ID Low Register
FCMB12_DATA$A3Message Buffer 12 Data Register
FCMB12_DATA$A4Message Buffer 12 Data Register
FCMB12_DATA$A5Message Buffer 12 Data Register
FCMB12_DATA$A6Message Buffer 12 Data Register
Reserved
FCMB13_CONTROL$A8Message Buffer 13 Control / Status Register
FCMB13_ID_HIGH$A9Message Buffer 13 ID High Register
FCMB13_ID_LOW$AAMessage Buffer 13 ID Low Register
FCMB13_DATA$ABMessage Buffer 13 Data Register
FCMB13_DATA$ACMessage Buffer 13 Data Register
FCMB13_DATA$ADMessage Buffer 13 Data Register
FCMB13_DATA$AEMessage Buffer 13 Data Register
FCMB14_CONTROL$B0Message Buffer 14 Control / Status Register
FCMB14_ID_HIGH$B1Message Buffer 14 ID High Register
FCMB14_ID_LOW$B2Message Buffer 14 ID Low Register
FCMB14_DATA$B3Message Buffer 14 Data Register
FCMB14_DATA$B4Message Buffer 14 Data Register
FCMB14_DATA$B5Message Buffer 14 Data Register
FCMB14_DATA$B6Message Buffer 14 Data Register
Reserved
FCMB15_CONTROL$B8Message Buffer 15 Control / Status Register
FCMB15_ID_HIGH$B9Message Buffer 15 ID High Register
FCMB15_ID_LOW$BAMessage Buffer 15 ID Low Register
FCMB15_DATA$BBMessage Buffer 15 Data Register
FCMB15_DATA$BCMessage Buffer 15 Data Register
FCMB15_DATA$BDMessage Buffer 15 Data Register
FCMB15_DATA$BEMessage Buffer 15 Data Register
Reserved
4.8 Factory Programmed Memory
The Boot Flash memory block is programmed during manufacturing with a default Serial Bootloader
program. The Serial Bootloader application can be used to load a user application into the Program and
Data Flash (NOT available in the 56F8156) memories of the device. The 56F83xx SCI/CAN Bootloader
User Manual (MC56F83xxBLUM) provides detailed information on this firmware. An application note,
Production Flash Programming (AN1973), details how the Serial Bootloader program can be used to
perform production Flash programming of the on-board Flash memories as well as other potential
methods.
Like all the Flash memory blocks, the Boot Flash can be erased and programmed by the user. The Serial
Bootloader application is programmed as an aid to the end user, but is not required to be used or maintained
in the Boot Flash memory.
56F8356 Technical Data, Rev. 10.0
76 Freescale Semiconductor
Preliminary
Introduction
Part 5 Interrupt Controller (ITCN)
5.1 Introduction
The Interrupt Controller (ITCN) module is used to arbitrate between various interrupt requests (IRQs), to
signal to the 56800E core when an interrupt of sufficient priority exists, and to what address to jump in
order to service this interrupt.
5.2 Features
The ITCN module design includes these distinctive features:
•Programmable priority levels for each IRQ
•Two programmable Fast Interrupts
•Notification to SIM module to restart clocks out of Wait and Stop modes
•Drives initial address on the address bus after reset
For further information, see Table 4-5, Interrupt Vector Table Contents.
5.3 Functional Description
The Interrupt Controller is a slave on the IPBus. It contains registers allowing each of the 82 interrupt
sources to be set to one of four priority levels, excluding certain interrupts of fixed priority. Next, all of
the interrupt requests of a given level are priority encoded to determine the lowest numerical value of the
active interrupt requests for that level. Within a given priority level, zero is the highest priority, while
number 81 is the lowest.
5.3.1Normal Interrupt Handling
Once the ITCN has determined that an interrupt is to be serviced and which interrupt has the highest
priority, an interrupt vector address is generated. Normal interrupt handling concatenates the VBA and the
vector number to determine the vector address. In this way, an offset is generated into the vector table for
each interrupt.
5.3.2Interrupt Nesting
Interrupt exceptions may be nested to allow an IRQ of higher priority than the current exception to be
serviced. The following tables define the nesting requirements for each priority level.
Fast interrupts are described in the DSP56800E Reference Manual. The interrupt controller recognizes
fast interrupts before the core does.
A fast interrupt is defined (to the ITCN) by:
1.Setting the priority of the interrupt as level 2, with the appropriate field in the IPR registers
2.Setting the FIMn register to the appropriate vector number
3.Setting the FIVALn and FIVAHn registers with the address of the code for the fast interrupt
When an interrupt occurs, its vector number is compared with the FIM0 and FIM1 register values. If a
match occurs, and it is a level 2 interrupt, the ITCN handles it as a fast interrupt. The ITCN takes the vector
address from the appropriate FIVALn and FIVAHn registers, instead of generating an address that is an
offset from the VBA.
The core then fetches the instruction from the indicated vector adddress and if it is not a JSR, the core starts
its fast interrupt handling.
56F8356 Technical Data, Rev. 10.0
78 Freescale Semiconductor
Preliminary
5.4 Block Diagram
Block Diagram
INT1
INT82
Priority
Level
2 -> 4
Decode
Priority
Level
2 -> 4
Decode
Level 0
82 -> 7
Priority
Encoder
Level 3
82 -> 7
Priority
Encoder
any0
7
INT
VAB
CONTROL
IPIC
any3
IACK
7
SR[9:8]
PIC_EN
Figure 5-1 Interrupt Controller Block Diagram
5.5 Operating Modes
The ITCN module design contains two major modes of operation:
•Functional Mode
The ITCN is in this mode by default.
•Wait and Stop Modes
During Wait and Stop modes, the system clocks and the 56800E core are turned off. The ITCN will signal
a pending IRQ to the System Integration Module (SIM) to restart the clocks and service the IRQ. An IRQ
can only wake up the core if the IRQ is enabled prior to entering the Wait or Stop mode. Also, the IRQA
and IRQB
are set to make them falling-edge sensitive. This is because there is no clock available to detect the falling
edge.
A peripheral which requires a clock to generate interrupts will not be able to generate interrupts during Stop
mode. The FlexCAN module can wake the device from Stop mode, and a reset will do just that, or IRQA
and IRQB
signals automatically become low-level sensitive in these modes even if the control register bits
can wake it up.
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor79
Preliminary
5.6 Register Descriptions
A register address is the sum of a base address and an address offset. The base address is defined at the
system level and the address offset is defined at the module level. The ITCN peripheral has 24 registers.
This field is used to set the interrupt priority level for IRQs. This IRQ is limited to priorities 0 through 2.
They are disabled by default.
•00 = IRQ disabled (default)
•01 = IRQ is priority level 0
•10 = IRQ is priority level 1
•11 = IRQ is priority level 2
5.6.11Vector Base Address Register (VBA)
Base + $A
Read
Write
RESET
5.6.11.1 Reserved—Bits 15–13
This bit field is reserved or not implemented. It is read as 0 and cannot be modified by writing.
5.6.11.2 Interrupt Vector Base Address (VECTOR BASE ADDRESS)—
The contents of this register determine the location of the Vector Address Table. The value in this register
is used as the upper 13 bits of the interrupt Vector Address Bus (VAB[20:0]). The lower eight bits are
determined based upon the highest-priority interrupt. They are then appended onto VBA before presenting
the full VAB to the 56800E core; see Part 5.3.1 for details.
1514131211109876543210
000
0000000000000000
VECTOR BASE ADDRESS
Figure 5-13 Vector Base Address Register (VBA)
Bits 12–0
56F8356 Technical Data, Rev. 10.0
Freescale Semiconductor99
Preliminary
5.6.12Fast Interrupt 0 Match Register (FIM0)
Base + $B
Read
Write
RESET
1514131211109876543210
000000000
0000000000000000
FAST INTERRUPT 0
Figure 5-14 Fast Interrupt 0 Match Register (FIM0)
5.6.12.1 Reserved—Bits 15–7
This bit field is reserved or not implemented. It is read as 0 and cannot be modified by writing.
5.6.12.2 Fast Interrupt 0 Vector Number (FAST INTERRUPT 0)—Bits 6–0
This value determines which IRQ will be a Fast Interrupt 0. Fast interrupts vector directly to a service
routine based on values in the Fast Interrupt Vector Address registers without having to go to a jump table
first; see Part 5.3.3. IRQs used as fast interrupts must be set to priority level 2. Unexpected results will
occur if a fast interrupt vector is set to any other priority. Fast interrupts automatically become the
highest-priority level 2 interrupt, regardless of their location in the interrupt table, prior to being declared
as fast interrupt. Fast Interrupt 0 has priority over Fast Interrupt 1. To determine the vector number of each
IRQ, refer to Table 4-5.
Figure 5-15 Fast Interrupt 0 Vector Address Low Register (FIVAL0)
5.6.13.1 Fast Interrupt 0 Vector Address Low (FIVAL0)—Bits 15–0
The lower 16 bits of the vector address used for Fast Interrupt 0. This register is combined with FIVAH0
to form the 21-bit vector address for Fast Interrupt 0 defined in the FIM0 register.
5.6.14Fast Interrupt 0 Vector Address High Register (FIVAH0)
Base + $D
Read
Write
RESET
1514131211109876543210
00000000000
0000000000000000
FAST INTERRUPT 0
VECTOR ADDRESS HIGH
Figure 5-16 Fast Interrupt 0 Vector Address High Register (FIVAH0)
56F8356 Technical Data, Rev. 10.0
100 Freescale Semiconductor
Preliminary
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.