Freescale Semiconductor Product Brief Document Number: MPC5604EPB Rev. 2, 10/2011 MPC5604E microcontroller product brief The MPC5604E microcontroller is a gateway system designed to move data from different sources via Ethernet to a receiving system and vice versa. It is related to the MPC5604P family, which was designed for automotive chassis and safety applications. Like MPC5604P, the MPC5604E microcontroller shares most components of the core platform and the basic infrastructure, but the functional IP blocks target different applications. The supported data sources and sinks are: • Video data (with 8/10/12 bits per data word) • Audio data (6 stereo channels) • RADAR data (2 12 bit with <1 s per sample, digitized externally and read in via DSPI) • Other serial communication interfaces including FlexCAN, LINFlex, and DSPI The Ethernet has a bandwidth of 10/100 Mbits/sec supporting precision time stamps (IEEE1588). Unshielded twisted pair cables are then used to transfer © Freescale Semiconductor, Inc., 2011. All rights reserved. Preliminary—Subject to Change Without Notice Contents 1 2 3 4 5 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Application examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 CMOS vision sensor gateway . . . . . . . . . . . . . . . . . 5 2.2 Audio source gateway . . . . . . . . . . . . . . . . . . . . . . . 9 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1 Feature summary . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Critical performance parameters . . . . . . . . . . . . . . 12 3.3 Module feature list . . . . . . . . . . . . . . . . . . . . . . . . . 12 Developer environment . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1 Software tools summary . . . . . . . . . . . . . . . . . . . . 25 4.2 Application summary . . . . . . . . . . . . . . . . . . . . . . . 25 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Block diagram information (via Ethernet) in the car. Thus, a significant reduction of wiring costs in the car can be achieved by providing high bandwidth data links. The Ethernet Audio Video Bridging (AVB) is an upcoming high-bandwidth communication standard in the automotive area competing with established protocols like LVDS, MOST, and FlexRay. 1 Block diagram Figure 1 shows a top-level block diagram of the MPC5604E device. MPC5604E microcontroller product brief, Rev. 2 2 Preliminary—Subject to Change Without Notice Freescale Semiconductor Block diagram Internal and External Ballast e200z0 Core 32-bit General Purpose Registers Integer Execution Unit Special Purpose Registers Exception Handler Instruction Unit Variable Length Encoded Instructions Branch Prediction Unit Load/Store Unit 1.2 V Regulator Control XOSC 16 MHz RC Oscillator FMPLL (System) JTAG Nexus2+ JTAG Port Nexus2+ eDMA 16 channels Instruction Bus (32-bit) Master Interrupt Controller Data Bus (32-bit) Master FEC Master PTP MII Master 96 KB SRAM (ECC) PDI TSENS ME PCU video_clk Slave MJPEG 64 KB Data Flash (ECC) Slave Output Buffer 512 KB Code Flash (ECC) Slave RGM Slave CGM Crossbar Switch (XBAR, AMBA 2.0 v6 AHB) ADC BAM CRC DSPI eDMA eTimer FCD FCU FEC FlexCAN FMPLL I2C SAI LINFlex ME Analog-to-Digital Converter Boot Assist Module Cylic Redundancy Check Deserial Serial Peripheral Interface Enhanced Direct Memory Access Enhanced Timer Fractional Clock Divider Fault Collection Unit Fast Ethernet Controller Flexible Controller Area Network Frequency-Modulated Phase-Locked Loop Inter-Integrated Circuit serial interface Serial Audio Interface 6xStereo Serial Communication Interface (LIN support) Mode Entry Module CGM PCU RGM TSENS MJPEG PDI PIT PTP SIU SRAM SSCM STM SWT FCU SIU BAM SWT STM PIT SSCM FCD 3 x SAI 3 x I2C CRC FlexCAN 3 x DSPI 2 x LINFlex ADC 10-bit 4+4 channels eTimer Peripheral Bridge Clock Generation Module Power Control Unit Reset Generation Module Temperature sensor 12-bit Motion JPEG Encoder Parallel Data Interface (image sensor) Periodic Interrupt Timer IEEE 1588 Precision Time Stamps System Integration Unit Static Random-Access Memory System Status and Configuration Module System Timer Module Software Watchdog Timer Figure 1. MPC5604E block diagram MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 3 Block diagram Table 1. Block diagram components Module Domain Functional grouping Description 1.2 V Regulator Analog and Digital Power Supply Regulates 1.2 V core (logic) power supply. Controls the internal ballast transistor. ADC Analog Application 10-bit Analog to digital converter with 10 bit, 1s/sample and 4 input channels (plus 4 internal). BAM Digital Boot Reads device settings and execute boot code including input probing. Code Flash, Digital Data Flash (PFlash controller) Core System Crossbar slave. ECC protected Code and Data Flash. The flashes are connected via a 4 128-bit buffer, supporting pre-fetches to reduce wait times due to the 2 wait state reads from the flash array. CRC Digital Communication Computes checksums for data streams coming via the communication interfaces. DSPI Digital Communication SPI interface allowing to connect analog-to-digital converters, sensors, Interfaces/Media and actuators. Interfaces e200z0 Core Digital Core System Cacheless e200z0 PowerPC CPU with Harvard architecture. eDMA Digital Core System 16 channel direct memory access interface, enables transfer of data without CPU interaction. Peripherals, e.g., ADC, can trigger data transfers from an internal register to system SRAM and vice versa. eTimer Digital Application Timer to measure external input events or to create pulse modulated outputs. FCD Digital Clock Provides fine tuned clocks for the audio interface or the video clock. FCU Digital Safety Enables tracking of system failures (Low supply voltage, lost PLL, ECC errors, etc.). FlexCAN Digital Communication Interfaces Serial interface module allowing to connect to other off chip CAN components. FMPLL Analog Clock Takes XOSC clock output and scales up the frequency to the internal clock speed. Allows frequency modulation for better EMI behavior. The module provides the clock for the system. I2C Digital Communication Interfaces Serial Inter-Integrated-Circuit configuration bus (e.g. for the external camera or audio DSP). I2S/I2STDM (SAI) Digital Media Interfaces Serial Audio Interface enables connections to an audio source or to an audio sink (DAC/DSP) with 6 stereo channels. Interrupt Controller Digital Core System Interrupt controller for the e200z0 CPU allowing to send service requests from on-chip peripherals and external pins to the CPU. JTAG Port Digital Debug IEEE 1149.1 (JTAG) port module LINFlex Digital Communication Interfaces This is a serial interface module allowing to connect to other off chip SCI (serial communication interface) components. CGM Digital Core System Provides logic and control required for the generation of system and peripheral clocks PCU Digital Core System Power Control Unit. MPC5604E microcontroller product brief, Rev. 2 4 Preliminary—Subject to Change Without Notice Freescale Semiconductor Application examples Table 1. Block diagram components (continued) Module Domain Functional grouping Description RGM Digital Core System Centralizes reset sources and manages the device reset sequence of the device NPC Digital Debug Nexus port controller. Also include device number Peripheral Bridge Digital Core System Crossbar slave translating AMBA transactions from the crossbar to IPS transactions to the system peripherals. Bridge also does the address decoding for the individual slaves on the IPS bus. PIT Digital Core System Produces periodic interrupts and triggers. RC Oscillator Analog Clock Internal 16 MHz oscillator.This oscillator is used at boot time and in failure mode. SSCM Digital Core System Provides system configuration and status data (such as memory size and status, device mode and security status), device identification data, debug status port enable and selection, and bus and peripheral abort enable/disable. SIU Digital I/O System Controls pad configurations for selecting different functionality mapped to pad. Also controls GPIO functionality (input, output interrupt). SRAM (SRAM controller) Digital Core System ECC protected system SRAM (Static Random Access Memory) allowing zero wait state accesses. STM Digital Core System Provides a set of timers to the CPU. SWT Digital Safety Detects SW taking wrong branches and leaving expected instruction flow. TSens Analog Safety Monitors if the MCU operates in a valid temperature range. Video Encoder Digital Media Interfaces Consists PDI (parallel data interface) for video data input, input buffer, MJPEG video encoder and output buffer. XBAR Digital Core System Crossbar to allow simultaneous access from the masters (e200z0 core, eDMA, Ethernet) to the slave devices (SRAM, Flashes, Video Out Buffer, peripherals). XOSC Analog Clock Module connecting to the external crystal oscillator. 2 Application examples The following sections contain examples of applications for the MPC5604E microcontroller. 2.1 CMOS vision sensor gateway The active safety and advanced driver assistance systems (ADAS) support Panorama View Park-Assist providing a high quality view of the vehicle’s surroundings (typically a bird's eye view). For this, up to 5 CMOS cameras with wide-angle lenses attached to the car. A typical installation has one camera at each corner of the front bumper, one in each side mirror and one in the rear. The front-viewing sensors cannot be combined with the front-viewing camera sensor used for active safety applications due MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 5 Application examples to completely different optical requirements. All sensors are connected to a central fusion Electronic Control Unit (ECU) that performs enhancement and image generation. First, the fusion unit corrects the wide-angle distortion in each image, if not done optically. Alternatively, there is an inexpensive optical solution (2nd inverting lens) on the market. The next step is the stitching of the images—similar to the feature found on many of today’s digital cameras. There is a broad range of algorithm complexity depending on the required quality. In principle, similarities in adjacent images need to identified, e.g., by running matching filters. After identifying how the images fit geometrically together, there is some post-processing necessary for a smooth appearance within the overlapping areas. Finally, the stitched images are rendered on a 3D grid model representing the chosen perspective to generate the final image. The interconnect between the remote cameras and central fusion unit is done in a point-to-point manner with a switch located in the central ECU. The switch combines the Ethernet AVB streams and sends them, e.g., via GigE, to the central processing unit. Future systems with more ADAS nodes (e.g., cameras and RADARs in the bumper) might have two dedicated ADAS switches. Figure 1 illustrates a multi-camera system based on the MPC5604E. Video MPC5604E Gateway . . . 100 Mb/s Control Switch 3–5 Sensor Units 1 Gb/s Fusion Unit Video MPC5604E Gateway Control 100 Mb/s Figure 1. Multi-camera system level diagram Each camera in Figure 1 is connected to one MPC5604E gateway via a parallel digital interface as shown in Figure 2. The raw data is buffered and the color component is vertically sub-sampled from YUV4:2:2 to YUV4:2:0. A low latency video encoder compresses the image data by a factor of 1:5/1:10 or higher into a bit stream. This compression is not lossless, thus, the quality of the image is degraded with higher compression ratios. The video bitstream is then buffered in the MPC5604E (dedicated video bit stream buffer) and transmitted via the Ethernet AVB link. MPC5604E microcontroller product brief, Rev. 2 6 Preliminary—Subject to Change Without Notice Freescale Semiconductor Application examples 6V 3.3 V / 1.5 V clk XTAL MPC5604E ctrl image Imager sync 3.3 V Vreg I2C or DSPI PDI MII Ethernet PHY Ethernet Transformer Nexus debugging Workstation Figure 2. MPC5604E interfacing for CMOS sensor gateway Figure 3 illustrates the processing flow of video data within the MPC5604E. MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 7 Application examples Internal Ballast e200z0 Core @ 64MHz 32-bit General Purpose Registers 16MHz RC Oscillator JTAG Port Nexus2+ JTAG Nexus2+ FMPLL (System) eDMA 16 Channels Instruction Bus (32-bit) Special Purpose Registers Exception Handler Instruction Unit Variable Length Encoded Instructions Branch Prediction Unit Load/Store Unit Interrupt Controller Data Bus (32-bit) PTP + CE_RTC FEC Master Master Master Master Cross Bar Switch (XBAR, AMBA 2.0v6 AHB) Output Buffer 96kB SRAM (ECC) PCU 64kB Data Flash (ECC) Slave ME 512kB Code Flash (ECC) video_clk1 Slave CGM Slave RGM Slave MII PDI Integer Execution Unit XOSC MJPEG 1.2V Regulator Control SIU BAM SWT STM PIT SSCM 3 x FCD 3xI2S/SAI 2 x I2C CRC FlexCAN 3 x DSPI 2 x LinFlex eTimer ADC 10-bit 4+4 Channels Peripheral Bridge Camera (1280x800@30fps, 10-bits/pix) 1. video_clk frequency can be 120/128 MHz depending on the system clock (60/64 MHz). Video Encoding: Video data is captured by the camera, and streamed via the PDI to the Video Encoder (MJPEG). The MJPEG offers the encoded data via an output buffer memory to the FEC (Ethernet). Besides the video data, also histograms (for exposure control) are streamed to the PDI. The PDI separates these data that are moved via DMA to the SRAM. The CPU processes the information and set up the exposure/white balance via the IIC in the camera. Figure 3. MPC5604E video data path MPC5604E microcontroller product brief, Rev. 2 8 Preliminary—Subject to Change Without Notice Freescale Semiconductor Application examples 2.2 Audio source gateway The MPC5604E can be effectively used as an audio source gateway. Figure 4 shows the data flow for this application. Six stereo input audio channels at 44.1 kHz or 48 kHz are provided via I2S by an external audio source (radio, CD/DVD player, etc.). The external device provides the clock for its data (master). MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 9 Application examples Internal Ballast e200z0 Core @ 64MHz 32-bit General Purpose Registers 16MHz RC Oscillator JTAG Port Nexus2+ JTAG Nexus2+ FMPLL (System) eDMA 16 Channels Instruction Bus (32-bit) Special Purpose Registers Exception Handler Instruction Unit Variable Length Encoded Instructions Branch Prediction Unit Load/Store Unit Interrupt Controller Data Bus (32-bit) Master Master Master Master Cross Bar Switch (XBAR, AMBA 2.0v6 AHB) Output Buffer video_clk1 Slave 96KB SRAM (ECC) PCU 64KB Data Flash (ECC) ME 512KB Code Flash (ECC) Slave CGM Slave RGM Slave MII PTP + CE_RTC FEC PDI Integer Execution Unit XOSC MJPEG 1.2V Regulator Control SIU BAM SWT STM PIT SSCM 3x FCD 3 x I2S/SAI 2 x I2C CRC FlexCAN 3 x DSPI 2 x LinFlex eTimer ADC 10-bit 4+4 Channels Peripheral Bridge Not used Audio Source with 11.29 MHz Audio Clock 1. video_clk frequency can be 120/128 MHz depending on the system clock (60/64 MHz). Audio In: Data is sampled based on the input signals SAI_BCLK (11.29MHz) and SAI_SYNC. The I2S module (SAI) buffers the input data (6 channels) and signals the availability of data to the DMA module (in 64MHz domain). The DMA module moves the data to the SRAM. From here the FEC can move the data via the MII interface to a receiver. Figure 4. Audio to ethernet data path MPC5604E microcontroller product brief, Rev. 2 10 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features 3 Features The following sections give an overview of the architecture and features of the MPC5604E device. 3.1 Feature summary Table 1. Device summary MPC5604E Feature 100-pin LQFP1 CPU 64-pin LQFP e200z0h, 64 MHz, VLE only, no SPE Flash with ECC CFlash: 512 KB (LC) DFlash: 64 KB (LC, area optimized) RAM with ECC 96 KB DMA 16 channels PIT yes SWT yes FCU yes Ethernet 100 Mbits MII 100 Mbits MII-Lite Video Encoder 8bpp/12bpp Audio Interface 6x Stereo (4x synchronous + 2x synchronous/asynchronous) ADC (10-bit) 14 channels + VDD_IO + VDDCore + TSens + VGate Current2 16 channels Timer I/O (eTimer) 2 SCI (LINFlex) SPI (DSPI) DSPI_0: 2 chip selects DSPI_1: 2 chip selects DSPI_2: 4 chip selects CAN (FlexCAN) 1 IIC 2 Supply 3.3 V IO 1.2V Core with dedicated ballast source pin in two modes: • internal ballast or • external supply (using power on reset pin) 1 FMPLL Phase Lock Loop (PLL) Internal RC Oscillator 16 MHz External crystal Oscillator 4 MHz - 40 MHz CRC Debug Ambient Temperature yes JTAG, Nexus2+ JTAG –40 to 125 °C NOTES: 1 The 100-pin package is not a production package. It is used for software development only. 2 This feature is supported by design, but subject to confirmation after device characterization. MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 11 Features 3.2 Critical performance parameters MPC5604E is running under the following critical performance corner points: • Maximum CPU frequency: 64 MHz • Junction temperature range: –40 °C to 125 °C1 • Nominal power dissipation: Less than 1.5 W • Supply voltages: — VDD_HV_IO = 3.3V — VDD_HV_ADC = 3.3V — VDD_HV_Core = 1.2V (with internal ballast or external supply) 3.3 3.3.1 Module feature list High performance e200z0 core CPU The e200z0 Power Architecture core provides the following features: • High performance e200z0 core processor for managing peripherals and interrupts • Single issue 4-stage pipeline in-order execution 32-bit Power Architecture CPU • Harvard architecture • Variable length encoding (VLE), allowing mixed 16-bit and 32-bit instructions • Results in smaller code size footprint • Minimizes impact on performance • Branch processing acceleration using lookahead instruction buffer • Load/store unit • 1-cycle load latency • Misaligned access support • No load-to-use pipeline bubbles • Thirty-two 32-bit general purpose registers (GPRs) • Separate instruction bus and load/store bus Harvard architecture • Hardware vectored interrupt support • Reservation instructions for implementing read-modify-write constructs • Long cycle time instructions, except for guarded loads, do not increase interrupt latency • Extensive system development support through Nexus debug port • Non Maskable Interrupt support 1.Ambient temperature is 125 °C, for the video use case with internal core voltage supply the ambient temperature is 105 °C. MPC5604E microcontroller product brief, Rev. 2 12 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features 3.3.2 Crossbar switch (XBAR) The XBAR multi-port crossbar switch supports simultaneous connections between four master ports and four slave ports. The crossbar supports a 32-bit address bus width and a 32-bit data bus width. The crossbar allows for concurrent transactions to occur from any master port to any slave port. If a slave port is simultaneously requested by more than one master port, arbitration logic will select the higher priority master and grant it ownership of the slave port. All other masters requesting that slave port will be stalled until the higher priority master completes its transactions. The default priority scheme is fixed priority based on the master ID. Besides this, the software can select a round robin arbitration. The crossbar provides the following features: • Four master ports — e200z0 core complex Instruction port — e200z0 core complex Load/Store Data port — eDMA — Ethernet • Four slave ports — Flash memory (code flash and data flash) controller — SRAM controller — Video encoder output buffer — Peripheral bridge • 32-bit internal address, 32-bit internal data paths • Fixed Priority Arbitration based on port master • Temporary dynamic priority elevation of masters 3.3.3 System clocks and clock generation The following list summarizes the system clock and clock generation on the MPC5604E: • Lock detect circuitry continuously monitors lock status • Loss of clock (LOC) detection for PLL outputs • Programmable output clock divider (1, 2, 4, 8) • Fractional clock divider clock for close loop controlled clocks — Provides audio clock in medium quality mode (approximately 11.29 MHz) — Provides camera input clock (25–30 MHz) • On-chip oscillator with automatic level control • Internal 16 MHz RC oscillator for rapid start-up and safe mode — Supports frequency trimming by user application • Ethernet TX clock as input for the PLL (via OSC input pin) • Up to 64 MHz for system clock; up to 128 MHz for video encoder clock MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 13 Features 3.3.4 Frequency Modulated Phase Lock Loop (FMPLL) The FMPLL allows the user to generate high speed system clocks from a 4 MHz to 40 MHz input clock. Further, the FMPLL supports programmable frequency modulation of the system clock. The PLL multiplication factor, output clock divider ratio are all software configurable. The PLL has the following major features: • Input clock frequency from 4 MHz to 40 MHz • Voltage controlled oscillator (VCO) range from 256 MHz to 512 MHz • Reduced frequency divider (RFD) for reduced frequency operation without forcing the PLL to re-lock • Frequency modulated PLL • Modulation enabled/disabled through software • Triangle wave modulation • Programmable modulation depth (±0.25% to ±2% deviation from center frequency) • Programmable modulation frequency dependent on reference frequency • Self-clocked mode (SCM) operation 3.3.5 Main oscillator The main oscillator provides these features: • Input frequency range 4 MHz to 40 MHz • Crystal input mode or Oscillator input mode • PLL reference 3.3.6 Internal RC oscillator This device has an RC ladder phase-shift oscillator. The architecture uses constant current charging of a capacitor. The voltage at the capacitor is compared by the stable bandgap reference voltage. The RC Oscillator provides these features: • Nominal frequency 16 MHz • ±5% variation over voltage and temperature after process trim • Clock output of the RC oscillator serves as system clock source in case loss of lock or loss of clock is detected by the PLL • RC oscillator is used as the default system clock during startup 3.3.7 Voltage regulator (VREG) The on-chip voltage regulator module provides the following features: • Available in two modes MPC5604E microcontroller product brief, Rev. 2 14 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features • 3.3.8 — Using internal PMOS ballast transistor to regulate external 3.3 V down to 1.2 V for the core logic — Disabled for using external supply for core logic Low voltage detection on the internal 1.2 V and I/O voltage 3.3 V System Integration Unit (SIU-Lite) The MPC5604E SIU-Lite controls MCU pad configuration, external interrupt, general purpose I/O (GPIO), and internal peripheral multiplexing. The pad configuration block controls the static electrical characteristics of I/O pins. The GPIO block provides uniform and discrete input/output control of the I/O pins of the MCU. The SIU provides the following features: • Centralized general purpose input output (GPIO) control — 71 GPIO pads (bonding to pins is package dependent) • As many as four internal output functions can be multiplexed onto one pin • All GPIO pins can be independently configured to support pull-up, pull down, or no pull • Reading and writing to GPIO supported both as individual pins and 16-bit wide ports • All peripheral pins can be alternatively configured as both general purpose input or output pins • Direct readback of the pin value is supported on all pins through the SIU supporting 4 external interrupts based on general purpose input pins (8 pads per) • Supports 4 external interrupts based on general purpose input pins (8 pads per interrupt) • Configurable digital input filter that can be applied to general purpose input pins with interrupt functions for noise elimination 3.3.9 Boot Assist Module (BAM) The BAM is a block of read-only one-time programmed memory and is identical for all MPC56XX devices that are based on the e200z0h core. The BAM program is executed every time the device is powered-on if the alternate boot mode has been selected by the user. The BAM provides the following features: • • Boot from Internal Code Flash — Selected as default (using internal pull down on FAB pin). — Censorship mode to protect the content of the flash memory. Alternate serial boot-loading via FlexCAN, LINFlex — BAM accepts a password via the used serial communication channel to grant the legitimate user access to the non-volatile memory. MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 15 Features 3.3.10 Junction temperature sensor The MPC5604E has a junction temperature sensor to enable measurement of the temperature of the silicon via the ADC. The junction temperature sensor has these key parameters: • Nominal temperature range from –40 °C to 150 °C • Calibrated sensor accuracy: — ±10 °C, –40 to 25 °C ambient — ±7 °C, 25 to 125 °C ambient 3.3.11 JTAG controller (JTAGC) The JTAG controller (JTAGC) block provides the means to test chip functionality and connectivity while remaining transparent to system logic when not in test mode. All data input to and output from the JTAGC block is communicated in serial format. The JTAGC block is compliant with the IEEE standard. The JTAG controller provides the following features: • • • • • • IEEE Test Access Port (TAP) interface with four pins (TDI, TMS, TCK, TDO) Selectable modes of operation include JTAGC/debug or normal system operation. A 5-bit instruction register that supports the following IEEE 1149.1-2001 defined instructions: — BYPASS — IDCODE — EXTEST — SAMPLE — SAMPLE/PRELOAD A 5-bit instruction register that supports the additional following public instructions: — ACCESS_AUX_TAP_NPC — ACCESS_AUX_TAP_ONCE Three test data registers: a bypass register, a boundary scan register, and a device identification register. A TAP controller state machine that controls the operation of the data registers, instruction register and associated circuitry. 3.3.12 Nexus Debug Interface (NDI) The NDI (Nexus Debug Interface) block provides real-time development support capabilities for the device Power Architecture based MCU in compliance with the IEEEISTO 5001-2003 standard. This development support is supplied for MCUs without requiring external address and data pins for internal visibility. The NDI block is an integration of several individual Nexus blocks that are selected to provide the development support interface for this device. The NDI block interfaces to the host processor and internal busses to provide development support as per the IEEE-ISTO 5001-2003 Class 2+ standard. The MPC5604E microcontroller product brief, Rev. 2 16 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features development support provided includes access to the MCUs internal memory map and access to the processors internal registers during run time. The Nexus Interface provides the following features: • Configured via the IEEE 1149.1 • All Nexus port pins operate at VDDIO (no dedicated power supply) • Nexus 2+ features supported • Static debug • Watchpoint messaging • Ownership trace messaging • Program trace messaging • Real time read/write of any internally memory mapped resources through JTAG pins • Overrun control, which selects whether to stall before Nexus overruns or keep executing and allow overwrite of information • Watchpoint triggering for program tracing • Auxiliary Output Port • Four MDO (Message Data Out) pins in full port mode • MCKO (Message Clock Out) pin • Two MSEO (Message Start/End Out) pins • EVTO (Event Out) pin • Auxiliary Input Port • EVTI (Event In) pin 3.3.13 DMA controller The enhanced direct memory access (eDMA) controller is a second-generation module capable of performing complex data movements via 16 programmable channels, with minimal intervention from the host processor. The hardware micro architecture includes a DMA engine which performs source and destination address calculations, and the actual data movement operations, along with an SRAM-based memory containing the transfer control descriptors (TCD) for the channels. This implementation is utilized to minimize the overall block size. The eDMA module provides the following features: • 16 channels support independent 8-, 16-, or 32-bit single value or block transfers • Supports variable sized queues and circular queues • Source and destination address registers are independently configured to post-increment or remain constant • Each transfer is initiated by a peripheral, CPU, or eDMA channel request • Each eDMA channel can optionally send an interrupt request to the CPU on completion of a single value or block transfer MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 17 Features • • • DMA transfers possible between system memories, DSPIs, ADC, eTimer, audio interface, and video bit stream output buffer Programmable DMA channel mux allows assignment of any DMA source to any available DMA channel with as many as 30 potential request sources. eDMA abort operation through software 3.3.14 • • DMA channel multiplexer (DMA_MUX) 32 independently selectable DMA channel routers Each channel router is assigned to one of the following sources: — One of the peripheral DMA sources — The always enabled source 3.3.15 Software Watchdog Timer (SWT) The SWT on the MPC5604E is configured as the SWT found on MPC5604P devices. This includes, e.g., the reset values for the timer clock selection. The SWT has the following features: • 32-bit time-out register to set the time-out period • Timer running on IRC clock for increased functional safety • Programmable selection of window mode or regular servicing • Programmable selection of reset or interrupt on an initial time-out • Master access protection • Hard and soft configuration lock bits • Reset configuration inputs allow timer to be enabled out of reset 3.3.16 System Timer Module (STM) The STM module implements these features: • 32-bit up counter with 8-bit pre-scaler • Four 32-bit compare channels • Independent interrupt source for each channel • Counter can be stopped in debug mode 3.3.17 Periodic Interrupt Timers (PIT) The PIT module implements these features: • As many as four general purpose interrupt timers • 32-bit counter resolution • Clocked by system clock frequency MPC5604E microcontroller product brief, Rev. 2 18 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features • Each channel can be used as trigger for a DMA request 3.3.18 FlexCAN module The MPC5604E MCU contains one controller area network (FlexCAN) module. This module is a communication controller implementing the CAN protocol according to Bosch Specification version 2.0B. The CAN protocol was designed to be used primarily as a vehicle serial data bus, meeting the specific requirements of this field: real-time processing, reliable operation in the EMI environment of a vehicle, cost-effectiveness and required bandwidth. The FlexCAN module contains 32 message buffers. The FlexCAN module provides the following features: • Supports the full implementation of the CAN Specification Version 2.0, Part B — Standard data and remote frames (up to 109 bits long) — Extended data and remote frames (up to 127 bits long) — 0 to 8 bytes data length — Programmable bit rate up to 1 Mbit/s — Content-related addressing • 32 message buffers of 0 to 8 bytes data length • Each message buffer configurable as RX or TX, all supporting standard and extended messages • Listen-only mode capability • Individual mask registers for each message buffer • Programmable transmit-first scheme: lowest ID or lowest buffer number • Timestamp based on 16-bit free-running timer • Global network time, synchronized by a specific message • Programmable loop-back mode supporting self-test operation • Maskable interrupts • Independent of the transmission medium (an external transceiver is assumed) • High immunity to EMI • Short latency time due to an arbitration scheme for high-priority messages • Wake-up when activity on the RX pin — Requires an external glitch filter at the pad (2750 ns of 0-input) — Wake-up via CAN interrupt • Transmit features — Supports configuration of multiple mailboxes to form message queues of scalable depth — Arbitration scheme according to message ID or message buffer number — Internal arbitration to guarantee no inner or outer priority inversion • Receive features — Individual programmable filters for each mailbox — Eight mailboxes configurable as a six-entry receive FIFO MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 19 Features • — Eight programmable acceptance filters for receive FIFO Programmable clock source — System clock — Direct oscillator clock to avoid PLL jitter 3.3.19 Deserial Serial Peripheral Interface (DSPI) The deserial serial peripheral interface (DSPI) module provides a synchronous serial interface for communication between the MPC5604E MCU and external devices (e.g., sensors). The DSPI modules provide these features: • Full duplex, three-wire synchronous transfers • Master or slave operation • Programmable master bit rates • Programmable clock polarity and phase • End-of-transmission interrupt flag • Programmable transfer baud rate • Programmable data frames from 4 to 16 bits • As many as four chip select lines available per DSPI module, depending on package and pin multiplexing, enable 12 external devices to be selected using external multiplexing from a single DSPI • Eight clock and transfer attributes registers • Chip select strobe available as alternate function on one of the chip select pins for de-glitching • FIFOs for buffering as many as five transfers on the transmit and receive side • Queueing operation possible through use of the eDMA • TX and RX FIFOs can be disabled individually for low-latency updates to SPI queues • Visibility into TX and RX FIFOs for ease of debugging • Programmable transfer attributes on a per-frame basis • Modified SPI transfer formats for communication with slower peripheral devices 3.3.20 Serial communication interface module (LINFlex) The LINFlex on the MPC5604E features the following: • Supports LIN Master mode, LIN Slave mode and UART mode • LIN state machine compliant to LIN1.3, 2.0, and 2.1 Specifications • Handles LIN frame transmission and reception without CPU intervention • LIN features — Autonomous LIN frame handling — LIN0 supports master and slave mode with 16 identifier filters — LIN1 supports master mode only (no identifier filters required) MPC5604E microcontroller product brief, Rev. 2 20 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features • • — Message buffer to store Identifier and as much as 8 data bytes — Supports message length as long as 64 bytes — Detection and flagging of LIN errors: Sync field; Delimiter; ID parity; Bit; Framing; Checksum and Time-out errors — Classic or extended checksum calculation — Configurable Break duration as long as 36-bit times — Programmable Baud rate pre-scalers (13-bit mantissa, 4-bit fractional) — Diagnostic features: Loop back; Self Test; LIN bus stuck dominant detection — Interrupt-driven operation with 16 interrupt sources LIN slave mode features — Autonomous LIN header handling — Autonomous LIN response handling UART mode — Full-duplex operation — Standard non return-to-zero (NRZ) mark/space format — Data buffers with 4-byte receive, 4-byte transmit — Configurable word length (8-bit or 9-bit words) — Error detection and flagging — Parity, Noise and Framing errors — Interrupt-driven operation with four interrupt sources — Separate transmitter and receiver CPU interrupt sources — 16-bit programmable baud-rate modulus counter and 16-bit fractional — Two receiver wake-up methods 3.3.21 eTimer The eTimer module provides six 16-bit general purpose up/down timer/counter. The following features are implemented: • Individual channel capability — Input capture trigger — Output compare — Double buffer (to capture rising edge and falling edge) — Separate pre-scaler for each counter — Selectable clock source — 0% to 100% pulse measurement — Rotation direction flag (Quad decoder mode) • Maximum count rate • Counters are cascadeable MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 21 Features • • • • • Programmable count modulo Quadrature decode capabilities Counters can share available input pins Count once or repeatedly Counters are pre-loadable 3.3.22 Successive approximation Analog-to-Digital Converter (ADC) The ADC module provides the following features: • Analog part: — One on-chip AD converter — 10-bit AD resolution — Conversion time, including sampling time, less than 1 s (at full precision) — Typical sampling time is 150 ns min. (at full precision) — Differential non-linearity error (DNL) ±1 LSB — Integral non-linearity error (INL) ±1.5 LSB — TUE < 3 LSB — Single-ended input signal range from 0 to VDD_HV_ADC — The ADC supply can be equal to VDD_HV_IO (VDD_HV_ADC = 3.3 V) — The ADC supply and the ADC reference are not independent from each other (they are internally bonded to the same pad) — Sample times of 2 (default), 8, 64, or 128 ADC clock cycles • Digital part: — 8 input channels – 4 channels routed to the pins – 4 internal connections: 1 temperature sensor, 1 core voltage, 1 IO voltage, 1x VGate Current — Four analog watchdogs comparing ADC results against predefined levels (low, high, range) before results are stored in the appropriate ADC result location, — Register-based interface with the CPU: control register, status register, and one result register per channel — ADC state machine managing 3 request flows: regular command, hardware injected command through eTimer and software injected command — DMA compatible interface 3.3.23 Fault Collection Unit (FCU) The FCU provides an independent fault reporting mechanism even when the CPU is not performing properly. MPC5604E microcontroller product brief, Rev. 2 22 Preliminary—Subject to Change Without Notice Freescale Semiconductor Features The FCU module includes following features: • Collection of critical faults (all of these must be glitch free) • Reporting of selected critical faults to external • Fault flag status kept over non-destructive reset for later analysis (in a "Freeze" register) • Continous and synchronous latch of MC state • MC state kept over non-destructive reset for later analysis (in a "Freeze" register) • 4 states finite state machine (Init, Normal, Alarm, Fault) • Different actions can be taken depending on fault type. • Selectable protocols for fault signal indication in Fault state (dual-rail, time-switching, bi-stable) • Programmable clock prescaler for time-switching output signal generation • Protection mechanism to avoid un-wanted clearing of fault flags • Internal logic testing, by using a fake fault generator during initialization phase 3.3.24 Cyclic Redundancy Check (CRC) The CRC has the following major features: • 2 contexts (static parameter) for the concurrent CRC computation • Separate CRC engine for each context • 0-wait states during the CRC computation (pipeline scheme) • 3 hardwired polynomials (CRC-8, CRC-16-CCITT, CRC-32) • Support for byte/half-word/word width of the input data stream 3.3.25 • • • • • • • Image resolution up to 1280800 at 30 fps Low latency compression with MJPEG format Color sub-sampling from YUV4:2:2 to YUV4:2:0 8 bits per pixel component 12 bits per pixel component Support compression ratio from 1:20 to 1:5 Support for the Ethernet Controller DMA via CPU Interrupt 3.3.26 • • • • • Video encoder Serial Audio Interface (SAI) Supports up to 6 (stereo) audio channels Transmitter with independent Bit Clock and Frame Sync supporting 4 data channels Receiver with independent Bit Clock and Frame Sync supporting 4 data channels Maximum Frame Size of 16 Words Word size of between 8-bits and 32-bits Word size configured separately for first word and remaining words in frame MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 23 Features • • Asynchronous 8 × 32-bit FIFO for each Transmit and Receive Channel Restarts after FIFO Error 3.3.27 Ethernet AVB (FEC + PTP + RTC) The Ethernet modules provide 100 MBits/s data communication for all use cases. To support Ethernet AVB (Audio Video Bridging), this module group consists of following modules: • FEC (Ethernet base module) • PTP (IEEE 1588 precision time protocol) • RTC (Real time clock required for precision time protocol) MPC5604E does not integrate the PHY components of the Ethernet, thus, the FEC connects via the MII-Lite interface (14 pins) to the external PHY. In addition to the MII-Lite interface, the RTC provides a single timer pin that is directly linked to the precision time. Support for different Ethernet MAC-PHY interfaces: • 100 Mbits/s IEEE 802.3 MII-Lite 1 • 10 Mbits/s IEEE 802.3 MII-Lite • IEEE 802.3 full duplex flow control and half duplex flow • Programmable max frame length • Address recognition • Word size configured separately for first word and remaining words in frame • Asynchronous 4 x 32-bit FIFO for each Transmit and Receive Channel • Graceful restart after FIFO Error: — Frames with broadcast address may be always accepted or always rejected — Exact match for single 48-bit individual (unicast) address — Asynchronous 4 x 32-bit FIFO for each Transmit and Receive Channel — Hash (64-bit hash) check of individual (unicast) address — Hash (64-bit hash) check of group (multicast) address — Promiscuous mode • Internal loop-back 3.3.27.1 Precision Time Protocol Hardware assistance for IEEE1588 Precision Time Protocol v1.0 • Supports user configured values for PTP header fields • Support timestamp overrun report for TX and RX • Supports interrupts notification due to following: RX PTP frame detection, TX • PTP frame transmission which was marked by the Software as a PTP frame, RX and TX timestamp overrun error MPC5604E microcontroller product brief, Rev. 2 24 Preliminary—Subject to Change Without Notice Freescale Semiconductor Developer environment 3.3.27.2 RTC Support single IEEE1588 RTC • Support timer frequency compensation • Support timer offset update • One 64-bit FIPER start register. Used to define the starting time of PPS signals generation • Support timer frequency compensation • Separate maskable timer interrupt event register • Phase aligned adjustable (divide by N) clock output 4 Developer environment 4.1 Software tools summary The MPC5604E supports tools and third-party developers similar to those used for the Freescale MPC5500 product family, offering a widespread, established network of tools and software vendors. It also features a high-performance Nexus debug interface. The following development support is available: • Automotive Evaluation Boards (EVB) featuring CAN, LIN interfaces and more • Compilers • Debuggers • JTAG and Nexus interfaces • Autocode generation tools • Initialization tools The following software support is available: • Core self tests • Flash programming drivers • Ethernet support 4.2 Application summary The following list of application software blocks are provided for the MPC5604E: Tool Description Drivers Drivers for EEPROM emulation, Ethernet stack and Video Encoder Boot code Boot ROM for alternate boot via LinFlex or FlexCAN module Boot device setup Boot code to check system errors, set up clock, Flash wait states, interrupt service routines, watchdog timer, IO configuration, and to initialize the SRAM ECC MPC5604E microcontroller product brief, Rev. 2 Freescale Semiconductor Preliminary—Subject to Change Without Notice 25 Revision History 5 Revision History Table 2. Revision history Revision Date Substantive changes 1 15 Feb 2011 Initial Release 2 1 Nov 2011 Editorial changes and improvements throughout MPC5604E microcontroller product brief, Rev. 2 26 Preliminary—Subject to Change Without Notice Freescale Semiconductor How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 2100 East Elliot Road Tempe, Arizona 85284 1-800-521-6274 or +1-480-768-2130 www.freescale.com/support Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) www.freescale.com/support Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku, Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 [email protected] Asia/Pacific: Freescale Semiconductor China Ltd. Exchange Building 23F No. 118 Jianguo Road Chaoyang District Beijing 100022 China +86 10 5879 8000 [email protected] For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 1-800-441-2447 or +1-303-675-2140 Fax: +1-303-675-2150 [email protected] Document Number: MPC5604EPB Rev. 2 10/2011 Preliminary—Subject to Change Without Notice Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters that may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals”, must be validated for each customer application by customer’s technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. The Power Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org. © Freescale Semiconductor, Inc. 2011. All rights reserved.