MPC555UM
MPC555UM
MPC555UM
MPC555 / MPC556
Freescale Semiconductor, Inc...
USERS MANUAL
MPC555 / MPC556
Freescale Semiconductor, Inc...
USERS MANUAL
Paragraph Number
TABLE OF CONTENTS
PREFACE Section 1 OVERVIEW
Page Number
1.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1.2 MPC555 / MPC556 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 1.2.1 RISC MCU Central Processing Unit (RCPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 1.2.2 Four-Bank Memory Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1.2.3 U-Bus System Interface Unit (USIU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.2.4 Flexible Memory Protection Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1.2.5 448 Kbytes of CDR MoneT Flash EEPROM Memory (CMF) . . . . . . . . . . . . . . . . . . . . . . 1-3 1.2.6 26 Kbytes of Static RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 1.2.7 General-Purpose I/O Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.2.8 Two Time Processor Units (TPU3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.2.9 18-Channel Modular I/O System (MIOS1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 1.2.10 Two Queued Analog-to-Digital Converter Modules (QADC) . . . . . . . . . . . . . . . . . . . . . 1-4 1.2.11 Two CAN 2.0B Controller Modules (TouCANs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 1.2.12 Queued Serial Multi-Channel Module (QSMCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 1.3 MPC555 / MPC556 Address Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
2.3.1.16 TEA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15 2.3.1.17 RSTCONF/TEXP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.3.1.18 OE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.3.1.19 BI/STS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.3.1.20 CS[0:3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.3.1.21 WE[0:3]/BE[0:3]/AT[0:3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 2.3.1.22 PORESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 2.3.1.23 HRESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 2.3.1.24 SRESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 2.3.1.25 SGPIOC[6]/FRZ/PTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17 2.3.1.26 SGPIOC[7]/IRQOUT/LWP[0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 2.3.1.27 BG/VF[0]/LWP[1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 2.3.1.28 BR/VF[1]/IWP[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 2.3.1.29 BB/VF[2]/IWP[3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 2.3.1.30 IWP[0:1]/VFLS[0:1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.3.1.31 TMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.3.1.32 TDI/DSDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.3.1.33 TCK/DSCK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.3.1.34 TDO/DSDO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19 2.3.1.35 TRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.36 XTAL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.37 EXTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.38 XFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.39 CLKOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.40 EXTCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.41 VDDSYN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.42 VSSSYN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20 2.3.1.43 ENGCLK/BUCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 2.3.2 QSMCM PADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 2.3.2.1 PCS0/SS/QGPIO[0] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 2.3.2.2 PCS(1:3)/QGPIO[1:3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 2.3.2.3 MISO/QGPIO[4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 2.3.2.4 MOSI/QGPIO[5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21 2.3.2.5 SCK/QGPIO[6] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.3.2.6 TXD[1:2]/QGPO[1:2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.3.2.7 RXD[1:2]/QGPI[1:2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.3.2.8 ECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.3.3 MIOS PADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.3.3.1 MDA[11], [13] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22 2.3.3.2 MDA[12], [14] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23 2.3.3.3 MDA[15], [27:31]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23 2.3.3.4 MPWM[0:3], [16:19] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23 2.3.3.5 VF[0:2]/MPIO32B[0:2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA iv
2.3.3.6 VFLS[0:1]/MPIO32B[3:4] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23 2.3.3.7 MPIO32B[5:15] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.4 TPU_A/TPU_B PADS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.4.1 TPUCH[0:15]_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.4.2 T2CLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.5 QADC_A/QADC_B PADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.5.1 ETRIG[1:2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.5.2 AN[0]/ANW/PQB[0]_[A:B]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.5.3 AN[1]/ANX/PQB[1]_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24 2.3.5.4 AN[2]/ANY/PQB[2]_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 2.3.5.5 AN[3]/ANZ/PQB[3]_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 2.3.5.6 AN[48:51]/PQB[4:7]_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 2.3.5.7 AN[52:54]/MA[0:2]/PQA[0:2]_[A:B]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25 2.3.5.8 AN[55:59]/PQA[3:7]_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.5.9 VRH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.5.10 VRL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.5.11 VDDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.5.12 VSSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.6 TOUCAN_A/TOUCAN_B PADS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.6.1 CNTX0_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.6.2 CNRX0_[A:B] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26 2.3.7 CMF PADS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.7.1 EPEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.7.2 VPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.7.3 VDDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.7.4 VSSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.8 GLOBAL POWER SUPPLIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.8.1 VDDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.8.2 VDDH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.8.3 VDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.8.4 VSSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27 2.3.8.5 KAPWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28 2.3.8.6 VDDSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28 2.3.8.7 VSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28 2.4 Reset State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28 2.4.1 Pin Functionality Out of Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28 2.4.2 Pad Module Configuration Register (PDMCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28 2.4.3 Pin State During Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-29 2.4.4 Power-On Reset and Hard Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30 2.4.5 Pull-Up and Pull-Down Enable and Disable for 5-V Only Pins . . . . . . . . . . . . . . . . . . . . 2-30 2.4.6 Pull-Up and Pull-Down Enable and Disable for 3-V / 5-V Multiplexed Pins . . . . . . . . . . 2-30 2.4.6.1 PRDS Signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-30 2.4.6.2 Encoded 3-V / 5-V Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA v
2.4.6.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31 2.4.7 Special Pull Resistor Disable Control (SPRDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-31 2.4.8 Pin Reset States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32 2.5 Pad Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37 2.5.1 Pad Interface Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-37 2.5.2 Three-Volt Output Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38 2.5.2.1 Type A Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38 2.5.2.2 Type B Interface (Clock Pad) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 2.5.3 Three-Volt Input Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 2.5.3.1 Type C Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40 2.5.3.2 Type CH Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40 2.5.3.3 Type CNH Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 2.5.3.4 Type D Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 2.5.4 Three-Volt Input/Output Pad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 2.5.4.1 Type E Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-42 2.5.4.2 Type EOH Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-42 2.5.4.3 Type F Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-43 2.5.4.4 Type G Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-44 2.5.5 Five-Volt Input/Output Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45 2.5.5.1 Type H Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45 2.5.5.2 Type I Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-46 2.5.5.3 Type IH Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-48 2.5.5.4 Type J Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49 2.5.5.5 Type JD Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-49 2.5.6 Type K Interface (EPEE Pad) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-50 2.5.7 Analog Pads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51 2.5.7.1 Type L Interface (QADC Port A). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-51 2.5.7.2 Type M Interface (QADC Port B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-52 2.5.7.3 Type N Interface (ETRIG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53 2.5.8 Pads with Fast Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53 2.5.8.1 Type O Interface (QSMCM Pads) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53 2.5.8.2 Type P Interface (TPU and MIOS Pads) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-54 2.5.9 5V Input, 5V Output Pads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55 2.5.9.1 5V Output (Type Q) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-55 2.5.9.2 Type R Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-56 2.5.9.3 5V Output for Clock Pad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-57 2.6 Pad Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-57 2.7 Pin Names and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-58
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA vi
3.3 Instruction Sequencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.4 Independent Execution Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 3.4.1 Branch Processing Unit (BPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 3.4.2 Integer Unit (IU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 3.4.3 Load/Store Unit (LSU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 3.4.4 Floating-Point Unit (FPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 3.5 Levels of the PowerPC Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 3.6 RCPU Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 3.7 PowerPC UISA Register Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 3.7.1 General-Purpose Registers (GPRs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 3.7.2 Floating-Point Registers (FPRs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 3.7.3 Floating-Point Status and Control Register (FPSCR). . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 3.7.4 Condition Register (CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 3.7.4.1 Condition Register CR0 Field Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 3.7.4.2 Condition Register CR1 Field Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 3.7.4.3 Condition Register CRn Field Compare Instruction . . . . . . . . . . . . . . . . . . . . . . 3-17 3.7.5 Integer Exception Register (XER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 3.7.6 Link Register (LR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 3.7.7 Count Register (CTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 3.8 PowerPC VEA Register Set Time Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 3.9 PowerPC OEA Register Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 3.9.1 Machine State Register (MSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20 3.9.2 DAE/Source Instruction Service Register (DSISR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 3.9.3 Data Address Register (DAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 3.9.4 Time Base Facility (TB) OEA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 3.9.5 Decrementer Register (DEC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 3.9.6 Machine Status Save/Restore Register 0 (SRR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 3.9.7 Machine Status Save/Restore Register 1 (SRR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24 3.9.8 General SPRs (SPRG0SPRG3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 3.9.9 Processor Version Register (PVR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 3.9.10 Implementation-Specific SPRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 3.9.10.1 EIE, EID, and NRI Special-Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 3.9.10.2 Floating-Point Exception Cause Register (FPECR) . . . . . . . . . . . . . . . . . . . . . . . 3-26 3.9.10.3 Additional Implementation-Specific Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 3.10 Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28 3.10.1 Instruction Set Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 3.10.2 Recommended Simplified Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 3.10.3 Calculating Effective Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 3.11 Exception Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 3.11.1 Exception Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 3.11.2 Ordered Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 3.11.3 Unordered Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34 3.11.4 Precise Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA vii
3.11.5 Exception Vector Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 3.12 Instruction Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36 3.13 PowerPC User Instruction Set Architecture (UISA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38 3.13.1 Computation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38 3.13.2 Reserved Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38 3.13.3 Classes of Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38 3.13.4 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.5 The Branch Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.6 Instruction Fetching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.7 Branch Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.7.1 Invalid Branch Instruction Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.7.2 Branch Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.8 The Fixed-Point Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.8.1 Fixed-Point Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 3.13.9 Floating-Point Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40 3.13.9.1 General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40 3.13.9.2 Optional instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40 3.13.10 Load/Store Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40 3.13.10.1 Fixed-Point Load With Update and Store With Update Instructions. . . . . . . . . . 3-41 3.13.10.2 Fixed-Point Load and Store Multiple Instructions . . . . . . . . . . . . . . . . . . . . . . . . 3-41 3.13.10.3 Fixed-Point Load String Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 3.13.10.4 Storage Synchronization Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 3.13.10.5 Floating-Point Load and Store With Update Instructions . . . . . . . . . . . . . . . . . . 3-41 3.13.10.6 Floating-Point Load Single Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 3.13.10.7 Floating-Point Store Single Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 3.13.10.8 Optional Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.13.10.9 Little-Endian Byte Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.14 PowerPC Virtual Environment Architecture (VEA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.14.1 Atomic Update Primitives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.14.2 Effect of Operand Placement on Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.14.3 Storage Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.14.4 Instruction Synchronize (isync) Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 3.14.4.1 Enforce In-Order Execution of I/O (eieio) Instruction . . . . . . . . . . . . . . . . . . . . . . 3-43 3.14.5 Timebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15 POWERPC Operating Environment Architecture (OEA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15.1 Branch Processor Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15.1.1 Machine State Register (MSR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15.1.2 Branch Processors Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15.2 Fixed-Point Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15.2.1 Special Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 3.15.3 Storage Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 3.15.4 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 3.15.4.1 System Reset Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA viii
3.15.4.2 Machine Check Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45 3.15.4.3 Data Storage Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45 3.15.4.4 Instruction Storage Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 3.15.4.5 Alignment Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 3.15.4.6 Floating-Point Enabled Exception Type Program Interrupt . . . . . . . . . . . . . . . . . 3-46 3.15.4.7 Illegal Instruction Type Program Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 3.15.4.8 Privileged Instruction Type Program interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 3.15.4.9 Floating-Point Unavailable Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 3.15.4.10 Trace Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 3.15.4.11 Floating-Point Assist Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 3.15.4.12 Implementation-Dependent Software Emulation Interrupt . . . . . . . . . . . . . . . . . 3-48 3.15.4.13 Implementation-Specific Instruction Storage Protection Error Interrupt . . . . . . . 3-49 3.15.4.14 Implementation-Specific Data Storage Protection Error Interrupt . . . . . . . . . . . 3-50 3.15.4.15 Implementation-Specific Debug Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51 3.15.4.16 Partially Executed Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52 3.15.5 Timer Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53 3.15.6 Optional Facilities and Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA ix
4.6 Burst Buffer Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20 4.6.1 Region Base Address Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 4.6.2 Region Attribute Registers MI_RA[0:3] Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21 4.6.3 Global Region Attribute Register Description (MI_GRA) . . . . . . . . . . . . . . . . . . . . . . . . 4-23 4.6.4 BBC Module Configuration Register (BBCMCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
6.13.3.1 System Protection Control Register (SYPCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26 6.13.3.2 Software Service Register (SWSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26 6.13.3.3 Transfer Error Status Register (TESR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27 6.13.4 System Timer Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28 6.13.4.1 Decrementer Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28 6.13.4.2 Time Base SPRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28 6.13.4.3 Time Base Reference Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29 6.13.4.4 Time Base Control and Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29 6.13.4.5 Real-Time Clock Status and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30 6.13.4.6 Real-Time Clock Register (RTC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31 6.13.4.7 Real-Time Clock Alarm Register (RTCAL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-31 6.13.4.8 Periodic Interrupt Status and Control Register (PISCR). . . . . . . . . . . . . . . . . . . . 6-32 6.13.4.9 Periodic Interrupt Timer Count Register (PITC) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32 6.13.4.10 Periodic Interrupt Timer Register (PITR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33 6.13.5 General-Purpose I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 6.13.5.1 SGPIO Data Register 1 (SGPIODT1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 6.13.5.2 SGPIO Data Register 2 (SGPIODT2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34 6.13.5.3 SGPIO Control Register (SGPIOCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35
Section 7 RESET
7.1 Reset Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 7.1.1 Power On Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 7.1.2 Hard Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7.1.3 Soft Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7.1.4 Loss of Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.1.5 On-Chip Clock Switch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.1.6 Software Watchdog Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.1.7 Checkstop Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.1.8 Debug Port Hard Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.1.9 Debug Port Soft Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.1.10 JTAG Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.2 Reset Actions Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3 7.3 Data Coherency During Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4 7.4 Reset Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5 7.5 Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.5.1 Hard Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6 7.5.2 Hard Reset Configuration Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11 7.5.3 Soft Reset Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-12
8.3 System PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 8.3.1 Frequency Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.3.2 Skew Elimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.3.3 Pre-Divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.3.4 PLL Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 8.3.5 PLL Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5 8.4 System Clock During PLL Loss of Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 8.5 Low-Power Divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 8.6 MPC555 / MPC556 Internal Clock Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7 8.6.1 General System Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9 8.6.2 CLKOUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 8.6.3 Engineering Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12 8.7 Clock Source Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13 8.8 Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 8.8.1 Entering a Low-Power Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15 8.8.2 Power Mode Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 8.8.3 Exiting from Low-Power Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16 8.8.3.1 Exiting from Normal-Low Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 8.8.3.2 Exiting from Doze Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 8.8.3.3 Exiting from Deep-Sleep Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17 8.8.3.4 Exiting from Power-Down Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18 8.8.3.5 Low-Power Modes Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-18 8.9 Basic Power Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 8.9.1 Clock Unit Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 8.9.2 Chip Power Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 8.9.2.1 VDDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 8.9.2.2 VDDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-20 8.9.2.3 VDDSYN, VSSSYN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.4 KAPWR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.5 VDDA, VSSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.6 VPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.7 VDDF, VSSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.8 VDDH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.9 VDDSRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.2.10 VSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-21 8.9.3 Keep Alive Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 8.9.3.1 Keep Alive Power Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22 8.9.3.2 Keep Alive Power Registers Lock Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-23 8.10 VDDSRAM Supply Failure Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 8.11 Power Up/Down Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25 8.12 Clocks Unit Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29 8.12.1 System Clock Control Register (SCCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-30 8.12.2 PLL, Low-Power, and Reset-Control Register (PLPRCR) . . . . . . . . . . . . . . . . . . . . . . 8-33 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xii
8.12.3 Change of Lock Interrupt Register (COLIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35 8.12.4 VDDSRAM Control Register (VSRMCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xiii
Page Number
10.3.2 Peripheral Devices Interface Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8 10.3.3 Relaxed Timing Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-10 10.3.4 Extended Hold Time on Read Accesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14 10.3.5 Summary of GPCM Timing Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-18 10.4 Global (Boot) Chip-Select Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20 10.5 Write and Byte Enable Signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21 10.6 Dual Mapping of the Internal Flash EEPROM Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-21 10.7 Memory Controller External Master Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-24 10.8 Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27 10.8.1 General Memory Controller Programming Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-27 10.8.2 Memory Controller Status Registers (MSTAT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-28 10.8.3 Memory Controller Base Registers (BR0 BR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-28 10.8.4 Memory Controller Option Registers (OR0 OR3) . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30 10.8.5 Dual Mapping Base Register (DMBR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-31 10.8.6 Dual-Mapping Option Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-32
11.6.2 L2U Reservation Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-7 11.6.3 Reserved Location (Bus) and Possible Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-8 11.7 L-Bus Show Cycle Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9 11.7.1 Programming Show Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9 11.7.2 Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9 11.7.3 Show Cycle Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10 11.7.4 L-Bus Write Show Cycle Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-10 11.7.5 L-Bus Read Show Cycle Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-11 11.7.6 Show Cycle Support Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-11 11.8 L2U Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-12 11.8.1 U-bus Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13 11.8.2 Transaction Size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13 11.8.3 L2U Module Configuration Register (L2U_MCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-13 11.8.4 Region Base Address Registers (L2U_RBAx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-14 11.8.5 Region Attribute Registers (L2U_RAx) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15 11.8.6 Global Region Attribute Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15
13.3.4 Multiplexed Address Output Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4 13.3.5 Multiplexed Analog Input Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5 13.3.6 Voltage Reference Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5 13.3.7 Dedicated Analog Supply Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5 13.3.8 External Digital Supply Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5 13.3.9 Digital Supply Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5 13.4 QADC64 Bus Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 13.5 Module Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 13.5.1 Low-Power Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 13.5.2 Freeze Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-6 13.5.3 Supervisor/Unrestricted Address Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7 13.6 General-Purpose I/O Port Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-7 13.6.1 Port Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8 13.6.2 Port Data Direction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-8 13.7 External Multiplexing Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-9 13.8 Analog Input Channels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-10 13.9 Analog Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-11 13.9.1 Conversion Cycle Times. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12 13.9.1.1 Amplifier Bypass Mode Conversion Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-13 13.9.2 Front-End Analog Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 13.9.3 Digital-to-Analog Converter Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 13.9.4 Comparator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 13.9.5 Successive Approximation Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 13.10 Digital Control Subsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-14 13.10.1 Queue Priority. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-15 13.10.2 Queue Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-17 13.10.3 Scan Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18 13.10.3.1 Disabled Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18 13.10.3.2 Reserved Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18 13.10.3.3 Single-Scan Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-18 13.10.3.4 Continuous-Scan Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-21 13.10.4 QADC64 Clock (QCLK) Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-24 13.10.5 Periodic/Interval Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-29 13.11 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-29 13.11.1 Interrupt Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-30 13.11.2 Interrupt Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31 13.11.3 Interrupt Levels and Time Multiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31 13.12 Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31 13.12.1 QADC64 Module Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33 13.12.2 QADC64 Test Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33 13.12.3 QADC64 Interrupt Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33 13.12.4 Port A/B Data Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-34 13.12.5 Port Data Direction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-35 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xvi
13.12.6 QADC64 Control Register 0 (QACR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-35 13.12.7 QADC64 Control Register 1 (QACR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-36 13.12.8 QADC64 Control Register 2 (QACR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-38 13.12.9 QADC64 Status Register 0 (QASR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-40 13.12.10 QADC64 Status Register 1 (QASR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-42 13.12.11 Conversion Command Word Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-43 13.12.12 Result Word Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-49
14.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-1 14.3 Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 14.4 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2 14.5 QSMCM Global Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4 14.5.1 Low-Power Stop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 14.5.2 Freeze Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 14.5.3 Access Protection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-5 14.5.4 QSMCM Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6 14.5.5 QSMCM Configuration Register (QSMCMMCR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-7 14.5.6 QSMCM Test Register (QTEST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8 14.5.7 QSMCM Interrupt Level Registers (QDSCI_IL, QSPI_IL) . . . . . . . . . . . . . . . . . . . . . . 14-8 14.6 QSMCM Pin Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-9 14.6.1 Port QS Data Register (PORTQS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-10 14.6.2 PORTQS Pin Assignment Register (PQSPAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11 14.6.3 PORTQS Data Direction Register (DDRQS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-12 14.7 Queued Serial Peripheral Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-13 14.7.1 QSPI Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-15 14.7.1.1 QSPI Control Register 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-16 14.7.1.2 QSPI Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-18 14.7.1.3 QSPI Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-18 14.7.1.4 QSPI Control Register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-19 14.7.1.5 QSPI Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20 14.7.2 QSPI RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-21 14.7.2.1 Receive RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22 14.7.2.2 Transmit RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22 14.7.2.3 Command RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-22 14.7.3 QSPI Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-23 14.7.4 QSPI Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-24 14.7.4.1 Enabling, Disabling, and Halting the SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-25 14.7.4.2 QSPI Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26 14.7.4.3 QSPI Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-26 14.7.5 Master Mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-33
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xvii
14.7.5.1 Clock Phase and Polarity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-34 14.7.5.2 Baud Rate Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-34 14.7.5.3 Delay Before Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-35 14.7.5.4 Delay After Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-35 14.7.5.5 Transfer Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-36 14.7.5.6 Peripheral Chip Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-36 14.7.5.7 Master Wraparound Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-37 14.7.6 Slave Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-37 14.7.6.1 Description of Slave Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-39 14.7.7 Slave Wraparound Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-40 14.7.8 Mode Fault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-41 14.8 Serial Communication Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-41 14.8.1 SCI Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-44 14.8.2 SCI Control Register 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-45 14.8.3 SCI Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-45 14.8.4 SCI Status Register (SCxSR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-47 14.8.5 SCI Data Register (SCxDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-49 14.8.6 SCI Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-50 14.8.7 SCI Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-50 14.8.7.1 Definition of Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-50 14.8.7.2 Serial Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-51 14.8.7.3 Baud Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-51 14.8.7.4 Parity Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-52 14.8.7.5 Transmitter Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-52 14.8.7.6 Receiver Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-54 14.8.7.7 Receiver Functional Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-56 14.8.7.8 Idle-Line Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-57 14.8.7.9 Receiver Wake-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-58 14.8.7.10 Internal Loop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-58 14.9 SCI Queue Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-58 14.9.1 Queue Operation of SCI1 for Transmit and Receive . . . . . . . . . . . . . . . . . . . . . . . . . 14-58 14.9.2 Queued SCI1 Status and Control Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-59 14.9.2.1 QSCI1 Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-59 14.9.2.2 QSCI1 Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-61 14.9.3 QSCI1 Transmitter Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-61 14.9.4 QSCI1 Additional Transmit Operation Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-62 14.9.5 QSCI1 Transmit Flow Chart Implementing the Queue . . . . . . . . . . . . . . . . . . . . . . . . 14-64 14.9.6 Example QSCI1 Transmit for 17 Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-66 14.9.7 Example SCI Transmit for 25 Data Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-67 14.9.8 QSCI1 Receiver Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-68 14.9.9 QSCI1 Additional Receive Operation Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-68 14.9.10 QSCI1 Receive Flow Chart Implementing The Queue . . . . . . . . . . . . . . . . . . . . . . . 14-71 14.9.11 QSCI1 Receive Queue Software Flow Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-72 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xviii
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xix
15.12.1.3 MPWMSM Counter Register (MPWMSMCNTR) . . . . . . . . . . . . . . . . . . . . . . . 15-28 15.12.1.4 MPWMSM Status/Control Register(MPWMSMCR) . . . . . . . . . . . . . . . . . . . . . 15-28 15.13 MIOS 16-bit Parallel Port I/O Submodule (MPIOSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-30 15.13.1 MIOS 16-bit Parallel Port I/O Submodule (MPIOSM) Registers. . . . . . . . . . . . . . . . 15-30 15.13.1.1 MPIOSM Data Register (MPIOSMDR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-30 15.13.1.2 MPIOSM Data Direction Register (MPIOSMDDR) . . . . . . . . . . . . . . . . . . . . . . 15-31 15.14 MIOS1 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-31 15.14.1 MIOS Interrupt Request Submodule (MIRSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-32 15.14.2 MIOS Interrupt Request Submodule 0 (MIRSM0) Registers . . . . . . . . . . . . . . . . . . 15-33 15.14.2.1 MIRSM0 Interrupt Status Register (MIOS1SR0) . . . . . . . . . . . . . . . . . . . . . . . 15-34 15.14.2.2 MIRSM0 Interrupt Enable Register (MIOS1ER0) . . . . . . . . . . . . . . . . . . . . . . . 15-35 15.14.2.3 MIRSM0 Request Pending Register (MIOS1RPR0) . . . . . . . . . . . . . . . . . . . . 15-35 15.14.3 MIOS Interrupt Request Submodule 1 (MIRSM1) Registers . . . . . . . . . . . . . . . . . . 15-36 15.14.3.1 MIRSM1 Interrupt Status Register (MIOS1SR1) . . . . . . . . . . . . . . . . . . . . . . . 15-36 15.14.3.2 MIRSM1 Interrupt Enable Register (MIOS1ER1) . . . . . . . . . . . . . . . . . . . . . . . 15-37 15.14.3.3 MIRSM1 Request Pending Register (MIOS1RPR1) . . . . . . . . . . . . . . . . . . . . 15-37 15.15 MIOS1 Function Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-38 15.15.1 MIOS1 Input Double Edge Pulse Width Measurement . . . . . . . . . . . . . . . . . . . . . . 15-38 15.15.2 MIOS1 Input Double Edge Period Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-40 15.15.3 MIOS1 Double Edge Single Output Pulse Generation . . . . . . . . . . . . . . . . . . . . . . . 15-41 15.15.4 MIOS1 Output Pulse Width Modulation With MDASM . . . . . . . . . . . . . . . . . . . . . . . 15-42 15.15.5 MIOS1 Input Pulse Accumulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-43 15.16 MIOS1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-43
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xx
16.4.2 TouCAN Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-11 16.4.3 Transmit Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-12 16.4.3.1 Transmit Message Buffer Deactivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13 16.4.3.2 Reception of Transmitted Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13 16.4.4 Receive Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-13 16.4.4.1 Receive Message Buffer Deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-14 16.4.4.2 Locking and Releasing Message Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15 16.4.5 Remote Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-15 16.4.6 Overload Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-16 16.5 Special Operating Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-16 16.5.1 Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-16 16.5.2 Low-Power Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-17 16.5.3 Auto Power Save Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-18 16.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-19 16.7 Programmers Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-20 16.7.1 TouCAN Module Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-22 16.7.2 TouCAN Test Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-24 16.7.3 TouCAN Interrupt Configuration Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-24 16.7.4 Control Register 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-25 16.7.5 Control Register 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-26 16.7.6 Prescaler Divide Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-27 16.7.7 Control Register 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-28 16.7.8 Free Running Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-29 16.7.9 Receive Global Mask Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-29 16.7.10 Receive Buffer 14 Mask Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30 16.7.11 Receive Buffer 15 Mask Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30 16.7.12 Error and Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-30 16.7.13 Interrupt Mask Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-32 16.7.14 Interrupt Flag Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-33 16.7.15 Error Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-33
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxi
17.3.2 Channel Orthogonality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-3 17.3.3 Interchannel Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 17.3.4 Programmable Channel Service Priority . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 17.3.5 Coherency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 17.3.6 Emulation Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-4 17.3.7 TPU3 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5 17.3.8 Prescaler Control for TCR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5 17.3.9 Prescaler Control for TCR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7 17.4 Programming Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-8 17.4.1 TPU Module Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-10 17.4.2 TPU3 Test Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12 17.4.3 Development Support Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12 17.4.4 Development Support Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-14 17.4.5 TPU3 Interrupt Configuration Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-14 17.4.6 Channel Interrupt Enable Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-15 17.4.7 Channel Function Select Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-15 17.4.8 Host Sequence Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-16 17.4.9 Host Service Request Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-17 17.4.10 Channel Priority Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18 17.4.11 Channel Interrupt Status Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-19 17.4.12 Link Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-19 17.4.13 Service Grant Latch Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-19 17.4.14 Decoded Channel Number Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-19 17.4.15 TPU3 Module Configuration Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-20 17.4.16 TPU Module Configuration Register 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-21 17.4.17 TPU3 Test Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-22 17.4.18 TPU3 Parameter RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-22 17.5 Time Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-23
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxii
18.4.4 Stop Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-7 18.4.5 Freeze Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8 18.4.6 TPU3 Emulation Mode Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8 18.5 Multiple Input Signature Calculator (MISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxiii
19.8.2 Censored Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31 19.8.3 Device Modes and Censorship Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-32 19.8.4 Setting and Clearing Censor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-33 19.8.5 Switching the CMF EEPROM Censorship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-35 19.9 Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-36 19.9.1 EPEE Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-36 19.9.2 FLASH Program/Erase Voltage Conditioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-37 19.10 Reset Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-39 19.10.1 Master Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-39 19.10.2 Soft Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-39 19.10.3 Emulation Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-40 19.11 Disabling the CMF Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-40
21.3.1.5 Ignore First Match. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-15 21.3.1.6 Generating Six Compare Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-16 21.3.2 Instruction Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-16 21.3.2.1 Load/Store Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-17 21.3.3 Watchpoint Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21 21.3.3.1 Trap Enable Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21 21.4 Development System Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-21 21.4.1 Debug Mode Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-24 21.4.1.1 Debug Mode Enable vs. Debug Mode Disable. . . . . . . . . . . . . . . . . . . . . . . . . . 21-26 21.4.1.2 Entering Debug Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-26 21.4.1.3 The Check Stop State and Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-29 21.4.1.4 Saving Machine State upon Entering Debug Mode . . . . . . . . . . . . . . . . . . . . . . 21-29 21.4.1.5 Running in Debug Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-30 21.4.1.6 Exiting Debug Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-30 21.5 Development Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-31 21.5.1 Development Port Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-31 21.5.2 Development Serial Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-31 21.5.3 Development Serial Data In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-31 21.5.4 Development Serial Data Out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-32 21.5.5 Freeze Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-32 21.5.5.1 SGPIO6/FRZ/PTR Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-32 21.5.5.2 IWP[0:1]/VFLS[0:1] Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-32 21.5.5.3 VFLS[0:1]_MPIO32B[3:4] Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-32 21.5.6 Development Port Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-32 21.5.6.1 Development Port Shift Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-33 21.5.6.2 Trap Enable Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-33 21.5.6.3 Development Port Registers Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-33 21.5.6.4 Development Port Serial Communications Clock Mode Selection . . . . . . . . 21-34 21.5.6.5 Development Port Serial Communications Trap Enable Mode . . . . . . . . . . . 21-38 21.5.6.6 Serial Data into Development Port Trap Enable Mode . . . . . . . . . . . . . . . . . 21-38 21.5.6.7 Serial Data Out of Development Port Trap Enable Mode . . . . . . . . . . . . . . . 21-39 21.5.6.8 Development Port Serial Communications Debug Mode. . . . . . . . . . . . . . . . 21-39 21.5.6.9 Serial Data Into Development Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-40 21.5.6.10 Serial Data Out of Development Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-41 21.5.6.11 Fast Download Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-41 21.6 Software Monitor Debugger Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-43 21.6.1 Freeze Indication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-43 21.7 Development Support Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-43 21.7.1 Register Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-44 21.7.2 Comparator AD Value Registers (CMPACMPD) . . . . . . . . . . . . . . . . . . . . . . . . . . 21-45 21.7.3 Comparator EF Value Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-46 21.7.4 Breakpoint Address Register (BAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-46 21.7.5 Comparator GH Value Registers (CMPGCMPH) . . . . . . . . . . . . . . . . . . . . . . . . . . 21-46 MPC555 / MPC555 USERS MANUAL TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxv
21.7.6 I-Bus Support Control Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-47 21.7.7 L-Bus Support Control Register 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-49 21.7.8 L-Bus Support Control Register 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-50 21.7.9 Breakpoint Counter A Value and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-52 21.7.10 Breakpoint Counter B Value and Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . 21-53 21.7.11 Exception Cause Register (ECR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-53 21.7.12 Debug Enable Register (DER) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-55 21.7.13 Development Port Data Register (DPDR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-57
22.1 JTAG Interface Block Diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-1 22.2 JTAG Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2 22.3 Operating Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3 22.4 TAP Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3 22.5 Instruction Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-4 22.5.1 EXTEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5 22.5.2 SAMPLE/PRELOAD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5 22.5.3 BYPASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5 22.5.4 CLAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-6 22.5.5 HI-Z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-6 22.6 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-6 22.7 Low-Power Stop Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-6 22.8 Non-IEEE 1149.1-1990 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-7 22.9 Boundary Scan Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-7
Appendix A MPC555 / MPC556 INTERNAL MEMORY MAP Appendix B REGISTER GENERAL INDEX Appendix C REGISTER DIAGRAM INDEX Appendix D TPU ROM FUNCTIONS
D.1 D.2 D.3 D.4 D.5 D.6 D.7 D.8 D.9 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1 Programmable Time Accumulator (PTA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-4 Queued Output Match TPU Function (QOM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-6 Table Stepper Motor (TSM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-8 Frequency Measurement (FQM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-11 Universal Asynchronous Receiver/Transmitter (UART) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-13 New Input Capture/Transition Counter (NITC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16 Multiphase Motor Commutation (COMM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-18 Hall Effect Decode (HALLD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-20 TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxvi
D.10 Multichannel Pulse-Width Modulation (MCPWM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.11 Fast Quadrature Decode TPU Function (FQD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.12 Period/Pulse-Width Accumulator (PPWA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.13 Output Compare (OC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.14 Pulse-Width Modulation (PWM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.15 Discrete Input/Output (DIO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.16 Synchronized Pulse-Width Modulation (SPWM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.17 Read / Write Timers and Pin TPU Function (RWTPIN). . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.18 ID TPU Function (ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19 Serial Input/Output Port (SIOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1.1 CHAN_CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1.2 BIT_D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1.3 HALF_PERIOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1.4 BIT_COUNT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1.5 XFER_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.1.6 SIOP_DATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.2 Host CPU Initialization of the SIOP Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.3 SIOP Function Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.3.1 XFER_SIZE Greater Than 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.3.2 Data Positioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.19.3.3 Data Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MOTOROLA xxvii
G.7 DC Electrical Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-7 G.8 Oscillator and PLL Electrical Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-12 G.9 Power Up/Down Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-12 G.10 FLASH Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-13 G.10.1 Flash Module Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-14 G.10.2 Programming and Erase Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-15 G.11 Generic Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-16 G.12 Interrupt Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-39 G.13 Debug Port Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-40 G.14 Reset Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-43 G.15 IEEE 1149.1 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-47 G.16 QADC64 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-52 G.17 QSMCM Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-53 G.18 GPIO Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-57 G.19 TPU3 Electrical Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-57 G.20 TouCAN Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-58 G.21 MIOS Timing Characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-59 G.21.1 MPWMSM Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-60 G.21.2 MMCSM Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-62 G.21.3 MDASM Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-65 G.21.4 MPIOSM Timing Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G-68
Appendix H FLASH ELECTRICAL CHARACTERISTICS FOR ALL J76N MASK SETS AND 0K02A AND 1K02A ONLY
H.1 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-1 H.1.1 Flash Module Life. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-3 H.2 Programming and Erase Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . H-3
INDEX
TABLE OF CONTENTS Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxviii
Figure Number
1-1 1-2 1-3 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 2-11 2-12 2-13 2-14 2-15 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 2-24 2-25 2-26 3-1 3-2 3-3 3-4 4-1 4-2 4-3 4-4 4-5 4-6 4-7
LIST OF FIGURES
Page Number
MPC555 / MPC556 Block Diagram ................................................................ 1-2 MPC555 / MPC556 Memory Map ................................................................... 1-6 MPC555 / MPC556 Internal Memory Map ...................................................... 1-7 MPC555 / MPC556 Case Dimensions and Packaging ................................... 2-2 MPC555 / MPC556 Pinout Data ..................................................................... 2-3 Type A Interface ........................................................................................... 2-39 Type B Interface ........................................................................................... 2-39 Type C Interface ........................................................................................... 2-40 Type CH Interface ........................................................................................ 2-40 Type CNH Interface ...................................................................................... 2-41 Type D Interface ........................................................................................... 2-41 Type E Interface ........................................................................................... 2-42 3-V Type EOH Interface ............................................................................... 2-43 Type F Interface ........................................................................................... 2-44 Type G Interface ........................................................................................... 2-45 Type H Interface ........................................................................................... 2-46 Type I Interface ............................................................................................. 2-47 Type IH Interface .......................................................................................... 2-48 Type J Interface ............................................................................................ 2-49 Type JD Interface ......................................................................................... 2-50 EPEE Pad (Type K) ...................................................................................... 2-51 Type L Interface ............................................................................................ 2-52 Type M Interface ........................................................................................... 2-52 Type N Interface ........................................................................................... 2-53 Type O Interface ........................................................................................... 2-54 Type P Interface ........................................................................................... 2-55 Type Q Interface ........................................................................................... 2-56 Type R Interface ........................................................................................... 2-56 Type S Interface ........................................................................................... 2-57 RCPU Block Diagram ..................................................................................... 3-2 Sequencer Data Path ..................................................................................... 3-4 RCPU Programming Model ............................................................................ 3-8 Basic Instruction Pipeline ............................................................................. 3-37 Burst Buffer Block Diagram ............................................................................ 4-2 Example of Compressed Code ....................................................................... 4-5 Instruction Coding ........................................................................................... 4-5 Two Streams Memory Organization Before Compression ......................... 4-6 Two Streams Memory Organization After Compression ............................ 4-6 Examples of Compressed Symbols Layout .................................................... 4-7 Compressed Address Format ......................................................................... 4-8
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxix
Page Number
Examples of Instruction Layout in Memory ..................................................... 4-9 Generating Compressed Code Address for PowerPC Direct Branches ................................................................... 4-10 Extracting Direct Branch Target Address in the Decompressor ................... 4-11 Code Compression Process (Phase A) ........................................................ 4-12 Bounded Huffman Code Tree ....................................................................... 4-13 Code Decompression Process ..................................................................... 4-14 Exception Table Entries Mapping ................................................................. 4-19 MPC555 / MPC556 USIU Block Diagram ....................................................... 5-2 System Configuration and Protection Logic ................................................... 6-2 MPC555 / MPC556 Memory Map ................................................................... 6-4 SGPIO Cell ..................................................................................................... 6-8 MPC555 / MPC556 Interrupt Structure ........................................................... 6-9 MPC555 / MPC556 Interrupt Configuration .................................................. 6-11 RTC Block Diagram ...................................................................................... 6-14 PIT Block Diagram ........................................................................................ 6-15 SWT Interrupts and Exceptions .................................................................... 6-16 SWT Block Diagram ..................................................................................... 6-17 Reset Configuration Basic Scheme ................................................................ 7-7 Reset Configuration Sampling Scheme For Short PORESET Assertion, Limp Mode Disabled .............................. 7-8 Reset Configuration Timing for Short PORESET Assertion, Limp Mode Enabled ..................................... 7-9 Reset Configuration Timing for Long PORESET Assertion, Limp Mode Disabled ..................................... 7-9 Reset Configuration Sampling Timing Requirements ................................... 7-10 Clock Unit Block Diagram ............................................................................... 8-2 Main System Oscillator (OSCM) ..................................................................... 8-3 System PLL Block Diagram ............................................................................ 8-5 MPC555 / MPC556 Clocks ............................................................................. 8-7 General System Clocks Select ..................................................................... 8-10 Divided System Clocks Timing Diagram ...................................................... 8-11 Clocks Timing For DFNH = 1 (or DFNL = 0) ................................................ 8-12 Clock Source Flow Chart .............................................................................. 8-14 MPC555 / MPC556 Low-Power Modes Flow Diagram ................................. 8-19 Basic Power Supply Configuration ............................................................... 8-22 External Power Supply Scheme ................................................................... 8-23 Keep Alive Register Key State Diagram ....................................................... 8-25 No Standby, No KAPWR, All System Power On/Off .................................... 8-27 Standby and KAPWR, Other Power On/Off ................................................. 8-28
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxx
Page Number
Input Sample Window ..................................................................................... 9-2 MPC555 / MPC556 Bus Signals ..................................................................... 9-3 Basic Transfer Protocol .................................................................................. 9-8 Basic Flow Diagram of a Single Beat Read Cycle .......................................... 9-9 Single Beat Read CycleBasic TimingZero Wait States ............................ 9-10 Single Beat Read CycleBasic TimingOne Wait State ............................... 9-11 Basic Flow Diagram of a Single Beat Write Cycle ........................................ 9-12 Single Beat Basic Write Cycle Timing, Zero Wait States ............................. 9-13 Single Beat Basic Write Cycle Timing, One Wait State ................................ 9-14 Single Beat 32-Bit Data Write Cycle Timing, 16 Bit-Port Size ......................................................... 9-15 Basic Flow Diagram Of A Burst Read Cycle ................................................ 9-18 Burst-Read Cycle32-Bit Port SizeZero Wait State ................................... 9-19 Burst-Read Cycle32-Bit Port SizeOne Wait State .................................... 9-20 Burst-Read Cycle32-Bit Port SizeWait States Between Beats ................. 9-21 Burst-Read Cycle, 16-Bit Port Size .............................................................. 9-22 Basic Flow Diagram of a Burst Write Cycle .................................................. 9-23 Burst-Write Cycle, 32-Bit Port Size, Zero Wait States .................................. 9-24 Burst-Inhibit Cycle, 32-Bit Port Size (Emulated Burst) ................................. 9-25 Non-Wrap Burst with Three Beats ................................................................ 9-26 Non-Wrap Burst with One Data Beat ............................................................ 9-27 Internal Operand Representation ................................................................. 9-28 Interface To Different Port Size Devices ...................................................... 9-29 Bus Arbitration Flowchart ............................................................................. 9-31 Masters Signals Basic Connection ............................................................... 9-32 Bus Arbitration Timing Diagram .................................................................... 9-33 Internal Bus Arbitration State Machine ......................................................... 9-35 Termination Signals Protocol Basic Connection ........................................... 9-39 Termination Signals Protocol Timing Diagram ............................................. 9-40 Reservation On Local Bus ............................................................................ 9-41 Reservation On Multilevel Bus Hierarchy ..................................................... 9-42 Retry Transfer TimingInternal Arbiter ......................................................... 9-44 Retry Transfer TimingExternal Arbiter ........................................................ 9-45 Retry On Burst Cycle .................................................................................... 9-46 Basic Flow of an External Master Read Access ........................................... 9-48 Basic Flow of an External Master Write Access ........................................... 9-49 Peripheral Mode: External Master Reads from MPC555 / MPC556 Two Wait States ........................................... 9-50 Peripheral Mode: External Master Writes to MPC555 / MPC556; Two Wait States ........................................................................................ 9-51 Flow of Retry of External Master Read Access ............................................ 9-53 Retry of External Master Access (Internal Arbiter) ....................................... 9-54 Instruction Show Cycle Transaction ............................................................. 9-55 Data Show Cycle Transaction ...................................................................... 9-56
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxxi
Page Number
10-10 10-11 10-12 10-13 10-14 10-15 10-16 10-17 10-18 10-19 11-1 11-2 11-3 12-1 12-2 12-3 12-4 12-5 12-6 13-1 13-2 13-3 13-4 13-5 13-6
Memory Controller Function Within the USIU ............................................... 10-1 Memory Controller Block Diagram ................................................................ 10-2 MPC555 / MPC556 Simple System Configuration ....................................... 10-3 Bank Base Address and Match Structure ..................................................... 10-4 MPC555 / MPC556 GPCMMemory Devices Interface ............................... 10-7 Memory Devices Interface Basic Timing (ACS = 00,TRLX = 0) ................................................................................ 10-8 Peripheral Devices Interface ........................................................................ 10-9 Peripheral Devices Basic Timing (ACS = 11,TRLX = 0) ................................................................................ 10-9 Relaxed TimingRead Access (ACS = 11, SCY = 1, TRLX = 1) ............................................................. 10-11 Relaxed TimingWrite Access (ACS = 10, SCY = 0, CSNT = 0, TRLX = 1) ........................................... 10-12 Relaxed TimingWrite Access (ACS = 11, SCY = 0, CSNT = 1, TRLX = 1) ........................................... 10-13 Relaxed TimingWrite Access (ACS = 00, SCY = 0, CSNT = 1, TRLX = 1 ............................................. 10-14 Consecutive Accesses (Write After Read, EHTR = 0) ................................ 10-15 Consecutive Accesses (Write After Read, EHTR = 1) ................................ 10-16 Consecutive Accesses (Read After Read From Different Banks, EHTR = 1) .............................. 10-17 Consecutive Accesses (Read After Read From Same Bank, EHTR = 1) .................................... 10-18 Aliasing Phenomena Illustration ................................................................. 10-23 Synchronous External Master Configuration For GPCMHandled Memory Devices ............................. 10-25 Synchronous External Master Basic Access (GPCM Controlled) .............. 10-26 L2U Bus Interface Block Diagram ................................................................ 11-2 DMP Basic Functional Diagram .................................................................... 11-4 Region Base Address Example .................................................................... 11-6 UIMB Interface Module Block Diagram ........................................................ 12-2 IMB Clock Full-Speed IMB Bus ................................................................. 12-3 IMB Clock Half-Speed IMB Bus ................................................................. 12-3 Interrupt Synchronizer Signal Flow ............................................................... 12-4 Time-Multiplexing Protocol for IRQ pins ....................................................... 12-5 Interrupt Synchronizer Block diagram .......................................................... 12-6 QADC64 Block Diagram ............................................................................... 13-1 QADC64 Input and Output Signals ............................................................... 13-3 Example of External Multiplexing ............................................................... 13-10 QADC64 Module Block Diagram ................................................................ 13-12 Conversion Timing ...................................................................................... 13-13 Bypass Mode Conversion Timing ............................................................... 13-13
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxxii
Page Number
QADC64 Queue Operation with Pause ...................................................... 13-16 QADC64 Clock Subsystem Functions ........................................................ 13-26 QADC64 Clock Programmability Examples ............................................... 13-28 QADC64 Interrupt Flow Diagram ................................................................ 13-30 Interrupt Levels on IRQ with ILBS .............................................................. 13-31 QADC64 Conversion Queue Operation ..................................................... 13-44 QSMCM Block Diagram ............................................................................... 14-2 QSMCM Interrupt Levels .............................................................................. 14-6 QSPI Interrupt Generation ............................................................................ 14-7 QSPI Block Diagram ................................................................................... 14-14 QSPI RAM .................................................................................................. 14-22 Flowchart of QSPI Initialization Operation .................................................. 14-27 Flowchart of QSPI Master Operation (Part 1) ............................................. 14-28 Flowchart of QSPI Master Operation (Part 2) ............................................. 14-29 Flowchart of QSPI Master Operation (Part 3) ............................................. 14-30 Flowchart of QSPI Slave Operation (Part 1) ............................................... 14-31 Flowchart of QSPI Slave Operation (Part 2) ............................................... 14-32 SCI Transmitter Block Diagram .................................................................. 14-42 SCI Receiver Block Diagram ...................................................................... 14-43 Start Search Example ................................................................................. 14-56 Queue Transmitter Block Enhancements ................................................... 14-62 Queue Transmit Flow ................................................................................. 14-64 Queue Transmit Software Flow .................................................................. 14-65 Queue Transmit Example for 17 Data Bytes .............................................. 14-66 Queue Transmit Example for 25 Data Frames ........................................... 14-67 Queue Receiver Block Enhancements ....................................................... 14-68 Queue Receive Flow .................................................................................. 14-71 Queue Receive Software Flow ................................................................... 14-72 Queue Receive Example for 17 Data Bytes ............................................... 14-73 MIOS1 Block Diagram .................................................................................. 15-5 MIOS1 Memory Map .................................................................................... 15-7 MCPSM Block Diagram .............................................................................. 15-12 MMCSM Block Diagram ............................................................................. 15-15 MDASM Block Diagram .............................................................................. 15-19 MPWMSM Block Diagram .......................................................................... 15-25 MPIOSM One-Bit Block Diagram ............................................................... 15-30 MIOS Interrupt Structure ............................................................................ 15-32 MIOS1 Example: Double Capture Pulse Width Measurement ................... 15-39 MIOS1 Example: Double Capture Period Measurement ............................ 15-40 MIOS1 Example: Double Edge Output Compare ....................................... 15-41 MIOS1 Example: Pulse Width Modulation Output ...................................... 15-43 TouCAN Block Diagram ............................................................................... 16-1 Typical CAN Network ................................................................................... 16-3
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxxiii
Page Number
Extended ID Message Buffer Structure ........................................................ 16-4 Standard ID Message Buffer Structure ......................................................... 16-4 Interrupt levels on IRQ with ILBS ............................................................... 16-20 TouCAN Message Buffer Memory Map ...................................................... 16-22 TPU3 Block Diagram .................................................................................... 17-1 TPU3 Interrupt Levels ................................................................................... 17-5 TCR1 Prescaler Control ............................................................................... 17-7 TCR2 Prescaler Control ............................................................................... 17-8 DPTRAM Configuration ................................................................................ 18-2 DPTRAM Memory Map ................................................................................ 18-3 CMF Array and Control Register Addressing ............................................... 19-4 Shadow Information .................................................................................... 19-16 Program State Diagram .............................................................................. 19-20 Erase State Diagram .................................................................................. 19-25 Pulse Status Timing .................................................................................... 19-27 Censorship States and Transitions ............................................................. 19-35 EPEE Digital Filter and Latch ..................................................................... 19-36 CMF_EPEE Timing Diagram ...................................................................... 19-37 VPP and VDDL Power Switching ............................................................... 19-38 VPP Conditioning Circuit ............................................................................ 19-39 SRAM Block Diagram ................................................................................... 20-1 SRAM Memory Map ..................................................................................... 20-2 Watchpoints and Breakpoint Support in the CPU ....................................... 21-10 Partially Supported Watchpoint/Breakpoint Example ................................. 21-15 Instruction Support General Structure ........................................................ 21-17 Load/Store Support General Structure ....................................................... 21-20 Functional Diagram of MPC555 / MPC556 Debug Mode Support ............. 21-23 Debug Mode Logic ..................................................................................... 21-25 Debug Mode Reset Configuration .............................................................. 21-27 Asynchronous Clock Serial Communications ............................................. 21-35 Synchronous Self Clock Serial Communication ......................................... 21-36 Enabling Clock Mode Following Reset ....................................................... 21-37 Download Procedure Code Example ......................................................... 21-42 Slow Download Procedure Loop ................................................................ 21-42 Fast Download Procedure Loop ................................................................. 21-42 JTAG Pins .................................................................................................... 22-1 Test Logic Block Diagram ............................................................................. 22-2 TAP Controller State Machine ...................................................................... 22-4 Bypass Register ........................................................................................... 22-6 Output Pin Cell (O.pin) ................................................................................. 22-8
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxxiv
19-1 19-2 19-3 19-4 19-5 19-6 19-7 19-8 19-9 19-10 20-1 20-2 21-1 21-2 21-3 21-4 21-5 21-6 21-7 21-8 21-9 21-10 21-11 21-12 21-13 22-1 22-2 22-3 22-4 22-5
Page Number
Observe-Only Input Pin Cell (I.Obs) ............................................................. 22-8 Output Control Cell (IO.CTL) ........................................................................ 22-9 General Arrangement of Bidirectional Pin Cells ........................................... 22-9 TPU3 Memory Map ........................................................................................D-1 PTA Parameters .............................................................................................D-5 QOM Parameters ...........................................................................................D-7 TSM Parameters Master Mode ..................................................................D-9 TSM Parameters Slave Mode ..................................................................D-10 FQM Parameters ..........................................................................................D-12 UART Transmitter Parameters .....................................................................D-14 UART Receiver Parameters .........................................................................D-15 NITC Parameters .........................................................................................D-17 COMM Parameters (Part 1 of 2) ..................................................................D-19 COMM Parameters (Part 2 of 2) ..................................................................D-20 HALLD Parameters ......................................................................................D-21 MCPWM Parameters Master Mode .........................................................D-23 MCPWM Parameters Slave Edge-Aligned Mode ....................................D-24 MCPWM Parameters Slave Ch A Non-Inverted Center-Aligned Mode ...................................................................................D-25 MCPWM Parameters Slave Ch B Non-Inverted Center-Aligned Mode ...................................................................................D-26 MCPWM Parameters Slave Ch A Inverted Center-Aligned Mode ...................................................................................D-27 MCPWM Parameters Slave Ch B Non-Inverted Center-Aligned Mode ...................................................................................D-28 FQD Parameters Primary Channel ..........................................................D-30 FQD Parameters Secondary Channel .....................................................D-31 PPWA Parameters .......................................................................................D-33 OC Parameters ............................................................................................D-35 PWM Parameters .........................................................................................D-37 DIO Parameters ...........................................................................................D-39 SPWM Parameters, Part 1 of 2 ....................................................................D-41 SPWM Parameters, Part 2 of 2 ....................................................................D-42 RWTPIN Parameters ....................................................................................D-44 ID Parameters ..............................................................................................D-46 Two Possible SIOP Configurations ..............................................................D-47 SIOP Parameters .........................................................................................D-49 SIOP Function Data Transition Example ......................................................D-53 MPC555 / MPC556 Family Power Distribution Diagram 3 V ..................... E-2 MPC555 / MPC556 Family Power Distribution Diagram 5 V and Analog .. E-3 Crystal Oscillator Circuit ................................................................................. E-4 RC Filter Example .......................................................................................... E-5 Bypass Capacitors Example (Alternative) ...................................................... E-6 RC Filter Example .......................................................................................... E-6
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxxv
Page Number
LC Filter Example (Alternative) ...................................................................... E-7 PLL Off-Chip Capacitor Example ................................................................... E-7 CLKOUT Timing .......................................................................................... G-16 External Clock Timing ................................................................................. G-23 Synchronous Output Signals Timing ........................................................... G-24 Synchronous Active Pull-Up and Open Drain Outputs Signals Timing ....... G-25 Synchronous Input Signals Timing .............................................................. G-26 Input Data Timing in Normal Case .............................................................. G-27 External Bus Read Timing (GPCM Controlled ACS = 00) .................... G-28 External Bus Read Timing (GPCM Controlled TRLX = 0 ACS = 10) .. G-29 External Bus Read Timing (GPCM Controlled TRLX = 0 ACS = 11) .. G-30 External Bus Read Timing (GPCM Controlled TRLX = 1, ACS = 10, ACS = 11) ......................... G-31 Address Show Cycle Bus Timing ................................................................ G-32 Address and Data Show Cycle Bus Timing ................................................. G-33 External Bus Write Timing (GPCM Controlled TRLX = 0, CSNT = 0) . G-34 External Bus Write Timing (GPCM Controlled TRLX = 0, CSNT = 1) . G-35 External Bus Write Timing (GPCM Controlled TRLX = 1, CSNT = 1) . G-36 External Master Read from Internal Registers Timing ................................ G-37 External Master Write to Internal Registers Timing ..................................... G-38 Interrupt Detection Timing for External Level Sensitive Lines ..................... G-39 Interrupt Detection Timing for External Edge Sensitive Lines ..................... G-40 Debug Port Clock Input Timing ................................................................... G-41 Debug Port Timings ..................................................................................... G-42 Reset Timing Configuration from Data Bus ............................................ G-44 Reset Timing Data Bus Weak Drive During Configuration ..................... G-45 Reset Timing Debug Port Configuration ................................................. G-46 JTAG Test Clock Input Timing .................................................................... G-48 JTAG Test Access Port Timing Diagram ................................................ G-49 JTAG TRST Timing Diagram .................................................................. G-50 Boundary Scan (JTAG) Timing Diagram ..................................................... G-51 QSPI Timing Master, CPHA = 0 ............................................................. G-55 QSPI Timing Master, CPHA = 1 ............................................................. G-55 QSPI Timing Slave, CPHA = 0 ............................................................... G-56 QSPI Timing Slave, CPHA = 1 ............................................................... G-56 TPU3 Timing ............................................................................................... G-58 MCPSM Enable to vs_pclk Pulse Timing Diagram ..................................... G-59 MPWMSM Minimum Output Pulse Example Timing Diagram .................... G-60 MCPSM Enable to MPWMO Output Pin Rising Edge Timing Diagram ....................................................................... G-61 MPWMSM Enable to MPWMO Output Pin Rising Edge Timing Diagram ....................................................................... G-61 MPWMSM Interrupt Flag to MPWMO Output Pin Falling Edge Timing Diagram ........................................................................................... G-62 MMCSM Minimum Input Pin (Either Load or Clock)
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxxvi
Page Number
Timing Diagram ........................................................................................... G-63 MMCSM Clock Pin to Counter Bus Increment Timing Diagram ........................................................................................... G-63 MMCSM Load Pin to Counter Bus Reload Timing Diagram ....................... G-63 MMCSM Counter Bus Reload to Interrupt Flag Setting Timing Diagram ....................................................................... G-64 MMCSM Prescaler Clock Select to Counter Bus Increment Timing Diagram ........................................................................................... G-64 MDASM Minimum Input Pin Timing Diagram .............................................. G-65 MDASM Input Pin to Counter Bus Capture Timing Diagram ........................................................................................... G-66 MDASM Input Pin to MDASM Interrupt Flag Timing Diagram ........................................................................................... G-66 MDASM Minimum Output Pulse Width Timing Diagram ........................................................................................... G-66 Counter Bus to MDASM Output Pin Change Timing Diagram ........................................................................................... G-67 Counter Bus to MDASM Interrupt Flag Setting Timing Diagram ........................................................................................... G-67 MPIOSM Input Pin to MPIOSM_DR (Data Register) Timing Diagram ........................................................................................... G-68 Typical Program Time vs. VPP and Temperature (for CDR1 Target Process) ..........................................................................H-2
H-1
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxxvii
LIST OF FIGURES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xxxviii
Table Number
2-1 2-2 2-3 2-4 2-5 2-6
LIST OF TABLES
Page Number
MPC555 / MPC556 Pin Functions for 272-Pin PBGA ........................................... 2-4 Pin Functionality Table .......................................................................................... 2-7 PDMCR Bit Descriptions..................................................................................... 2-29 Pin Reset State.................................................................................................... 2-32 Pad Groups Based on 3-V / 5-V Select ............................................................... 2-57 Pin Names and Abbreviations ............................................................................. 2-58
3-1 RCPU Execution Units........................................................................................... 3-5 3-2 Supervisor-Level SPRs.......................................................................................... 3-9 3-3 Development Support SPRs................................................................................ 3-11 3-4 FPSCR Bit Categories ......................................................................................... 3-13 3-5 FPSCR Bit Descriptions....................................................................................... 3-14 3-6 Floating-Point Result Flags in FPSCR................................................................. 3-15 3-7 Bit Descriptions for CR0 Field of CR ................................................................... 3-16 3-8 Bit Descriptions for CR1 Field of CR ................................................................... 3-17 3-9 CRn Field Bit Descriptions for Compare Instructions .......................................... 3-17 3-10 Integer Exception Register Bit Definitions ......................................................... 3-18 3-11 Time Base Field Definitions (Read Only)........................................................... 3-19 3-12 Machine State Register Bit Descriptions ........................................................... 3-21 3-13 Floating-Point Exception Mode Bits................................................................... 3-22 3-14 Time Base Field Definitions (Write Only)........................................................... 3-23 3-15 Uses of SPRG0SPRG3 ................................................................................... 3-25 3-16 Processor Version Register Bit Descriptions ..................................................... 3-26 3-17 EIE, EID, AND NRI Registers ............................................................................ 3-26 3-18 FPECR Bit Descriptions..................................................................................... 3-27 3-19 Instruction Set Summary ................................................................................... 3-29 3-20 MPC555 / MPC556 Exception Classes ............................................................. 3-34 3-21 Exception Vector Offset Table .......................................................................... 3-36 3-22 Instruction Latency and Blockage...................................................................... 3-38 3-23 Floating-Point Exception Mode Encoding.......................................................... 3-43 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 Exception Addresses Mapping by BBC ............................................................... 4-18 Region Base Address Registers RBA[0:1] .......................................................... 4-20 Region Attributes Registers ................................................................................. 4-20 BBC Module Configuration Register.................................................................... 4-20 MI_RBA[0:3] Bit Descriptions ............................................................................. 4-21 MI_RA[0:3] Registers Bits Description................................................................ 4-22 MI_GRA Bit Descriptions .................................................................................... 4-23 BBCMCR Bit Descriptions .................................................................................. 4-24
5-1 USIU Address Map ................................................................................................ 5-3 5-2 USIU Special-Purpose Registers........................................................................... 5-6 5-3 PowerPC Address Range...................................................................................... 5-6
MPC555 / MPC556 USERS MANUAL LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xxxix
6-1 USIU Pins Multiplexing Control.............................................................................. 6-3 6-2 SGPIO Configuration ............................................................................................. 6-7 6-3 Priority of Interrupt Sources ................................................................................. 6-12 6-4 Decrementer Time-Out Periods........................................................................... 6-13 6-5 SIUMCR Bit Descriptions.................................................................................... 6-19 6-6 Debug Pins Configuration.................................................................................... 6-20 6-7 Debug Port Pins Configuration ............................................................................ 6-20 6-8 General Pins Configuration.................................................................................. 6-20 6-9 Single-Chip Select Field Pin Configuration.......................................................... 6-20 6-10 Multi-Level Reservation Control Pin Configuration ............................................ 6-21 6-11 IMMR Bit Descriptions ...................................................................................... 6-22 6-12 EMCR Bit Descriptions ..................................................................................... 6-23 6-13 SYPCR Bit Descriptions ................................................................................... 6-26 6-14 SWSR Bit Descriptions ..................................................................................... 6-27 6-15 TESR Bit Descriptions ...................................................................................... 6-28 6-16 TBSCR Bit Descriptions.................................................................................... 6-30 6-17 RTCSC Bit Descriptions ................................................................................... 6-31 6-18 PISCR Bit Descriptions..................................................................................... 6-32 6-19 PITC Bit Descriptions........................................................................................ 6-33 6-20 PIT Bit Descriptions .......................................................................................... 6-33 6-21 SGPIODT1 Bit Descriptions.............................................................................. 6-34 6-22 SGPIODT2 Bit Descriptions.............................................................................. 6-35 6-23 SGPIOCR Bit Descriptions ............................................................................... 6-35 6-24 Data Direction Control ....................................................................................... 6-36 7-1 7-2 7-3 7-4 7-5 Reset Action Taken For Each Reset Cause .......................................................... 7-4 Reset Configuration Word and Data Corruption/Coherency.................................. 7-4 Reset Status Register Bit Descriptions.................................................................. 7-5 Reset Configuration Options.................................................................................. 7-7 Hard Reset Configuration Word Bit Descriptions................................................ 7-11
8-1 Reset Clocks Source Configuration....................................................................... 8-9 8-2 TMBCLK Divisions................................................................................................. 8-9 8-3 Status of Clock Source ........................................................................................ 8-15 8-4 Power Mode Control Bit Descriptions ................................................................. 8-16 8-5 Power Mode Descriptions................................................................................... 8-16 8-6 Power Mode Wake-Up Operation....................................................................... 8-17 8-7 Clock Unit Power Supply ..................................................................................... 8-20 8-8 KAPWR Registers and Key Registers ................................................................. 8-24 8-9 SCCR Bit Descriptions........................................................................................ 8-30 8-10 PLPRCR Bit Descriptions ................................................................................. 8-34 8-11 COLIR Bit Descriptions..................................................................................... 8-36 8-12 VSRMCR Bit Descriptions ................................................................................ 8-36 9-1 MPC555 / MPC556 SIU Signals ............................................................................ 9-4 9-2 Data Bus Requirements For Read Cycles........................................................... 9-30
MPC555 / MPC556 USERS MANUAL LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xl
Page Number
Data Bus Contents for Write Cycles .................................................................... 9-30 Priority Between Internal and External Masters over External Bus ..................... 9-34 Burst Length and Order ....................................................................................... 9-36 BURST/TSIZE Encoding ..................................................................................... 9-37 Address Type Pins............................................................................................... 9-37 Address Types Definition..................................................................................... 9-38 Termination Signals Protocol............................................................................... 9-47
10-1 Timing Attributes Summary ............................................................................... 10-6 10-2 Programming Rules for Strobes Timing........................................................... 10-19 10-3 Boot Bank Fields Values After Hard Reset...................................................... 10-20 10-4 Write Enable/Byte Enable Signals Function .................................................... 10-21 10-5 Memory Controller Address Map ..................................................................... 10-27 10-6 MSTAT Bit Descriptions.................................................................................. 10-28 10-7 BR0 BR3 Bit Descriptions............................................................................ 10-29 10-8 OR0 OR3 Bit Descriptions ........................................................................... 10-30 10-9 DMBR Bit Descriptions ................................................................................... 10-32 10-10 DMOR Bit Descriptions.................................................................................. 10-33 11-1 DMPU Registers ................................................................................................ 11-6 11-2 Reservation Snoop Support............................................................................... 11-9 11-3 L2U_MCR LSHOW Modes ................................................................................ 11-9 11-4 L2U Show Cycle Support Chart....................................................................... 11-12 11-5 L2U (PPC) Register Decode............................................................................ 11-12 11-6 Hex Address For SPR Cycles.......................................................................... 11-13 11-7 L2U_MCR Bit Descriptions ............................................................................. 11-14 11-8 L2U_RBAx Bit Descriptions ............................................................................ 11-14 11-9 L2U_RAx Bit Descriptions .............................................................................. 11-15 11-10 L2U_GRA Bit Descriptions ........................................................................... 11-16 12-1 12-2 12-3 12-4 12-5 12-6 12-7 13-1 13-2 13-3 13-4 13-5 13-6 13-7 13-8 STOP and HSPEED Bit Functionality................................................................ 12-2 Bus Cycles and System Clock Cycles ............................................................... 12-3 ILBS Signal functionality .................................................................................... 12-5 IRQMUX Functionality ....................................................................................... 12-5 UIMB Interface Register Map ............................................................................ 12-7 UMCR Bit Descriptions ..................................................................................... 12-8 UIPEND Bit Descriptions ................................................................................... 12-9 Multiplexed Analog Input Channels ................................................................... 13-5 Analog Input Channels .................................................................................... 13-11 Queue 1 Priority Assertion............................................................................... 13-15 QADC64 Clock Programmability ..................................................................... 13-28 QADC64 Status Flags and Interrupt Sources.................................................. 13-30 QADC64 Address Map .................................................................................... 13-32 QADC64MCR Bit Descriptions ....................................................................... 13-33 QADC64INT Bit Descriptions.......................................................................... 13-34
LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xli
13-9 PORTQA, PORTQB Bit Descriptions ............................................................. 13-34 13-10 DDRQA Bit Descriptions............................................................................... 13-35 13-11 QACR0 Bit Descriptions ............................................................................... 13-36 13-12 QACR1 Bit Descriptions ............................................................................... 13-37 13-13 Queue 1 Operating Modes ............................................................................ 13-38 13-14 QACR2 Bit Descriptions ............................................................................... 13-39 13-15 Queue 2 Operating Modes ............................................................................ 13-40 13-16 QASR0 Bit Descriptions................................................................................ 13-41 13-17 Queue Status................................................................................................. 13-42 13-18 QASR0 Bit Descriptions................................................................................ 13-43 13-19 CCW Bit Descriptions ................................................................................... 13-47 13-20 Non-Multiplexed Channel Assignments and Pin Designations...................... 13-48 13-21 Multiplexed Channel Assignments and Pin Designations.............................. 13-48 14-1 QSMCM Register Map....................................................................................... 14-3 14-2 QSMCM Global Registers ................................................................................. 14-5 14-3 Interrupt Levels .................................................................................................. 14-6 14-4 QSMCMMCR Bit Descriptions........................................................................... 14-8 14-5 QDSCI_IL Bit Descriptions ................................................................................ 14-8 14-6 QSPI_IL Bit Descriptions ................................................................................... 14-9 14-7 QSMCM Pin Control Registers .......................................................................... 14-9 14-8 Effect of DDRQS on QSPI Pin Function .......................................................... 14-10 14-9 QSMCM Pin Functions .................................................................................... 14-11 14-10 PQSPAR Bit Descriptions.............................................................................. 14-12 14-11 DDRQS Bit Descriptions................................................................................ 14-13 14-12 QSPI Register Map........................................................................................ 14-16 14-13 SPCR0 Bit Descriptions................................................................................ 14-17 14-14 Bits Per Transfer............................................................................................ 14-17 14-15 SPCR1 Bit Descriptions................................................................................ 14-18 14-16 SPCR2 Bit Descriptions................................................................................ 14-19 14-17 SPCR3 Bit Descriptions................................................................................ 14-20 14-18 SPSR Bit Descriptions .................................................................................. 14-21 14-19 Command RAM Bit Descriptions .................................................................. 14-23 14-20 QSPI Pin Functions ....................................................................................... 14-24 14-21 Example SCK Frequencies with a 40-MHz IMB Clock .................................. 14-35 14-22 SCI Registers................................................................................................. 14-44 14-23 SCCxR0 Bit Descriptions.............................................................................. 14-45 14-24 SCCxR1 Bit Descriptions.............................................................................. 14-46 14-25 SCxSR Bit Descriptions ................................................................................ 14-48 14-26 SCxSR Bit Descriptions ................................................................................ 14-50 14-27 SCI Pin Functions .......................................................................................... 14-50 14-28 Serial Frame Formats .................................................................................... 14-51 14-29 Examples of SCIx Baud Rates ...................................................................... 14-52 14-30 QSCI1CR Bit Descriptions............................................................................ 14-60 14-31 QSCI1SR Bit Descriptions ............................................................................ 14-61 15-1 MIOS1 I/O Ports ................................................................................................ 15-8
MPC555 / MPC556 USERS MANUAL LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xlii
15-2 MBISM Address Map......................................................................................... 15-8 15-3 MIOS1TPCR Bit Descriptions............................................................................ 15-9 15-4 MIOS1VNR Bit Descriptions .............................................................................. 15-9 15-5 MIOS1MCR Bit Descriptions ........................................................................... 15-10 15-6 MBISM Interrupt Registers Address Map ........................................................ 15-10 15-7 MIOS1LVL0 Bit Descriptions ........................................................................... 15-11 15-8 MIOS1LVL1 Bit Descriptions ........................................................................... 15-11 15-9 MCPSM Address Map ..................................................................................... 15-13 15-10 MCPSMSCR Bit Descriptions........................................................................ 15-13 15-11 MMCSM Address Map................................................................................... 15-15 15-12 MMCSMCNT Bit Descriptions ....................................................................... 15-16 15-13 MMCSMML Bit Descriptions.......................................................................... 15-16 15-14 MMCSMSCR Bit Descriptions ....................................................................... 15-17 15-15 MMCSMCR CP and MPWMSMSCR CP Values.......................................................................... 15-18 15-16 MDASM Address Map ................................................................................... 15-20 15-17 MDASMSCR Bit Descriptions........................................................................ 15-23 15-18 MDASM Mode Selects................................................................................... 15-24 15-19 MPWMSM Address Map ............................................................................... 15-26 15-20 MPWMSMPERR Bit Descriptions.................................................................. 15-27 15-21 MPWMSMPULR Bit Descriptions .................................................................. 15-27 15-22 MPWMSMCNTR Bit Descriptions.................................................................. 15-28 15-23 MPWMSMSCR Bit Descriptions .................................................................... 15-29 15-24 PWMSM Output Pin Polarity Selection.......................................................... 15-29 15-25 MPIOSM Address Map .................................................................................. 15-30 15-26 MPIOSMDR Bit Descriptions ......................................................................... 15-31 15-27 MPIOSMDDR Bit Descriptions ...................................................................... 15-31 15-28 MIRSM0 Address Map................................................................................... 15-34 15-29 MIOS1SR0 Bit Descriptions........................................................................... 15-34 15-30 MIOS1ER0 Bit Descriptions........................................................................... 15-35 15-31 MIOS1RPR0 Bit Descriptions ........................................................................ 15-36 15-32 MIRSM1 Address Map................................................................................... 15-36 15-33 MIOS1SR1 Bit Descriptions........................................................................... 15-37 15-34 MIOS1ER1 Bit Descriptions........................................................................... 15-37 15-35 MIOS1RPR1 Bit Descriptions ........................................................................ 15-38 15-36 MIOS1 Configuration ..................................................................................... 15-44 16-1 16-2 16-3 16-4 16-5 16-6 16-7 16-8 16-9 Common Extended/Standard Format Frames................................................... 16-5 Message Buffer Codes for Receive Buffers....................................................... 16-5 Message Buffer Codes for Transmit Buffers...................................................... 16-5 Extended Format Frames .................................................................................. 16-6 Standard Format Frames................................................................................... 16-6 Receive Mask Register Bit Values..................................................................... 16-8 Mask Examples for Normal/Extended Messages .............................................. 16-8 Example IMB Clock, CAN Bit Rate and S-Clock Frequencies........................... 16-9 Interrupt Levels ................................................................................................ 16-19
LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xliii
Page Number
TouCAN Register Map................................................................................... 16-21 TCNMCR Bit Descriptions ............................................................................ 16-23 CANICR Bit Descriptions .............................................................................. 16-25 CANCTRL0 Bit Descriptions......................................................................... 16-25 RX MODE[1:0] Configuration......................................................................... 16-26 Transmit Pin Configuration ............................................................................ 16-26 CANCTRL1 Bit Descriptions.......................................................................... 16-27 PRESDIV Bit Descriptions ............................................................................ 16-28 CANCTRL2 Bit Descriptions......................................................................... 16-28 TIMER Bit Descriptions................................................................................. 16-29 RXGMSKHI, RXGMSKLO Bit Descriptions .................................................. 16-30 ESTAT Bit Descriptions ................................................................................ 16-31 Transmit Bit Error Status ............................................................................... 16-32 Fault Confinement State Encoding ................................................................ 16-32 IMASK Bit Descriptions................................................................................. 16-32 IFLAG Bit Descriptions ................................................................................. 16-33 RXECTR, TXECTR Bit Descriptions............................................................. 16-33
17-1 Enhanced TCR1 Prescaler Divide Values ........................................................ 17-6 17-2 TCR1 Prescaler Values ..................................................................................... 17-6 17-3 TCR2 Counter Clock Source ............................................................................. 17-7 17-4 TCR2 Prescaler Control..................................................................................... 17-8 17-5 TPU3 Register Map ........................................................................................... 17-9 17-6 TPUMCR Bit Descriptions .............................................................................. 17-11 17-7 DSCR Bit Descriptions.................................................................................... 17-13 17-8 DSSR Bit Descriptions.................................................................................... 17-14 17-9 TICR Bit Descriptions ..................................................................................... 17-15 17-10 CIER Bit Descriptions ................................................................................... 17-15 17-11 CFSRx Bit Descriptions ................................................................................ 17-16 17-12 HSQRx Bit Descriptions................................................................................ 17-17 17-13 HSSRx Bit Descriptions ................................................................................ 17-18 17-14 CPRx Bit Descriptions .................................................................................. 17-18 17-15 Channel Priorities .......................................................................................... 17-19 17-16 CISR Bit Descriptions ................................................................................... 17-19 17-17 TPUMCR2 Bit Descriptions .......................................................................... 17-20 17-18 Entry Table Bank Location............................................................................. 17-21 17-19 IMB Clock Frequency/Minimum Guaranteed Detected Pulse ....................... 17-21 17-20 TPUMCR3 Bit Descriptions .......................................................................... 17-21 17-21 Parameter RAM Address Offset Map ............................................................ 17-22 18-1 DPTRAM Register Map ..................................................................................... 18-3 18-2 DPTMCR Bit Descriptions ................................................................................ 18-4 18-3 RAMBAR Bit Descriptions ................................................................................ 18-5 19-1 CMF Register Programmers Model .................................................................. 19-5 19-2 CMFMCR Bit Descriptions................................................................................. 19-6
MPC555 / MPC556 USERS MANUAL LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xliv
19-3 CMFTST Bit Descriptions .................................................................................. 19-8 19-4 CMF Programming Algorithm (v6 and Later)..................................................... 19-8 19-5 CMF Erase Algorithm (v6) ................................................................................. 19-9 19-6 CMFCTL Bit Descriptions ................................................................................ 19-10 19-7 EEPROM Array Addressing............................................................................. 19-12 19-8 CMF EEPROM Array Address Fields .............................................................. 19-12 19-9 Program Interlock State Descriptions .............................................................. 19-21 19-10 Results of Programming Margin Read........................................................... 19-22 19-11 Erase Interlock State Descriptions................................................................. 19-26 19-12 System Clock Range ..................................................................................... 19-28 19-13 Clock Period Exponent and Pulse Width Range ........................................... 19-29 19-14 Censorship Control Bits ................................................................................. 19-31 19-15 Levels of Censorship ..................................................................................... 19-32 19-16 CMF EEPROM Devices Modes and Censorship Status ............................... 19-33 19-17 NVM Fuse States........................................................................................... 19-34 20-1 SRAMMCR Bit Descriptions ............................................................................. 20-3 21-1 VF Pins Instruction Encodings.......................................................................... 21-3 21-2 VF Pins Queue Flush Encodings....................................................................... 21-4 21-3 VFLS Pin Encodings.......................................................................................... 21-4 21-4 Detecting the Trace Buffer Start Point ............................................................... 21-7 21-5 Fetch Show Cycles Control ............................................................................... 21-8 21-6 Instruction Watchpoints Programming Options ............................................... 21-17 21-7 Load/Store Data Events................................................................................... 21-18 21-8 Load/Store Watchpoints Programming Options .............................................. 21-19 21-9 The Check Stop State and Debug Mode ......................................................... 21-29 21-10 Trap Enable Data Shifted into Development Port Shift Register ................... 21-38 21-11 Debug Port Command Shifted Into Development Port Shift Register ........... 21-38 21-12 Status / Data Shifted Out of Development Port Shift Register....................... 21-39 21-13 Debug Instructions / Data Shifted Into Development Port Shift Register....... 21-40 21-14 Development Support Programming Model................................................... 21-44 21-15 Development Support Registers Read Access Protection ............................ 21-45 21-16 Development Support Registers Write Access Protection............................. 21-45 21-17 CMPA-CMPD Bit Descriptions....................................................................... 21-45 21-18 CMPE-CMPF Bit Descriptions ....................................................................... 21-46 21-19 BAR Bit Descriptions ..................................................................................... 21-46 21-20 CMPG-CMPH Bit Descriptions ...................................................................... 21-46 21-21 ICTRL Bit Descriptions .................................................................................. 21-48 21-22 ISCT_SER Bit Descriptions ........................................................................... 21-49 21-23 LCTRL1 Bit Descriptions ............................................................................... 21-50 21-24 LCTRL2 Bit Descriptions ............................................................................... 21-51 21-25 Breakpoint Counter A Value and Control Register (COUNTA)...................... 21-52 21-26 Breakpoint Counter B Value and Control Register (COUNTB)..................... 21-53 21-27 ECR Bit Descriptions ..................................................................................... 21-54 21-28 DER Bit Descriptions ..................................................................................... 21-55
MPC555 / MPC556 USERS MANUAL LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xlv
22-1 JTAG Interface Pin Descriptions........................................................................ 22-3 22-2 Instruction Decoding .......................................................................................... 22-5 22-3 Boundary Scan Bit Definition ........................................................................... 22-10 A-1 SPR (Special Purpose Registers) ......................................................................... A-2 A-2 CMF (CDR MoneT Flash EEPROM) Flash Array ................................................. A-4 A-3 USIU (Unified System Interface Unit).................................................................... A-5 A-4 CMF (CDR MoneT Flash EEPROM)..................................................................... A-8 A-5 DPTRAM (Dual-Port TPU RAM) ...........................................................................A-9 A-6 DPTRAM Array...................................................................................................... A-9 A-7 TPU3 (Time Processor Unit) ............................................................................... A-10 A-8 QADC64 (Queued Analog-to-Digital Converter) ................................................. A-13 A-9 QSMCM (Queued Serial Multi-Channel Module) ................................................ A-15 A-10 MIOS1 (Modular Input/Output Subsystem) ....................................................... A-16 A-11 TouCAN (CAN 2.0B Controller).........................................................................A-22 A-12 UIMB (U-Bus to IMB3 Bus Interface) ................................................................A-25 A-13 SRAM (Static RAM Access Memory) ................................................................A-25 A-14 SRAM (Static RAM Access Memory) Array ...................................................... A-25 D-1 D-2 D-3 D-4 D-5 Bank 0 Functions ..................................................................................................D-2 Bank 1 Functions ..................................................................................................D-3 QOM Bit Encoding ................................................................................................D-6 SIOP Function Valid CHAN_Control Options......................................................D-50 SIOP State Timing ..............................................................................................D-52
E-1 External Components Value For Different Crystals (Q1) ......................................E-4 F-1 Memory Access Times Using Different Buses ...................................................... F-1 F-2 Timing Examples ................................................................................................... F-2 G-1 Absolute Maximum Ratings ................................................................................. G-1 G-2 Thermal Characteristics ....................................................................................... G-3 G-3 ESD Protection .................................................................................................... G-6 G-4 DC Electrical Characteristics ............................................................................... G-7 G-5 Oscillator and PLL.............................................................................................. G-12 G-6 Program and Erase Characteristics ................................................................... G-13 G-7 CMF AC and DC Power Supply Characteristics ................................................ G-14 G-8 Flash Module Life............................................................................................... G-14 G-9 CMF Programming Algorithm (v6 and Later) ..................................................... G-15 G-10 CMF Erase Algorithm (v6) ............................................................................... G-15 G-11 Bus Operation Timing ...................................................................................... G-17 G-12 Interrupt Timing................................................................................................ G-39 G-13 Debug Port timing ............................................................................................ G-40 G-14 RESET Timing ................................................................................................. G-43 G-15 JTAG Timing .................................................................................................... G-47 G-16 QADC64 Conversion Characteristics (Operating) ........................................... G-52
MPC555 / MPC556 USERS MANUAL LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xlvi
Page Number
QSPI Timing..................................................................................................... G-53 GPIO Timing .................................................................................................... G-57 TPU3 Timing .................................................................................................... G-57 TouCAN Timing ............................................................................................... G-58 MCPSM Timing Characteristics ....................................................................... G-59 MPWMSM Timing Characteristics ................................................................... G-60 MMCSM Timing Characteristics ...................................................................... G-62 MDASM Timing Characteristics ....................................................................... G-65 MPIOSM Timing Characteristics...................................................................... G-68
Program and Erase Characteristics ......................................................................H-1 CMF AC and DC Power Supply Characteristics ...................................................H-2 Flash Module Life..................................................................................................H-3 CMF Programming Algorithm (v5) ........................................................................H-3 CMF Erase Algorithm (v5).....................................................................................H-3
LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xlvii
LIST OF TABLES Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA xlviii
PREFACE
This manual defines the functionality of the MPC555 / MPC556 for use by software and hardware developers. The MPC555 / MPC556 is based on the PowerPC processor used in the Motorola MPC500 family of microcontrollers. For further information refer to the MPC500 Family RCPU Reference Manual, RCPURM/AD (Motorola order number). Boxed sections appear throughout this manual. These boxes designate optional features that are only available on the MPC556.
Audience This manual is intended for system software and hardware developers and applications programmers who want to develop products for the MPC555 / MPC556. It is assumed that the reader understands operating systems, microprocessor and microcontroller system design, and the basic principles of RISC processing. Additional Reading For additional reading that provides background to or supplements the information in this manual see: John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann Publishers, Inc., San Mateo, CA PowerPC Microprocessor Family: the Programming Environments, MPCFPE/AD (Motorola order number) MPC500 Family RCPU Reference Manual, RCPURM/AD (Motorola order number) Conventions This document uses the following notational conventions: ACTIVE_HIGH Names for signals that are active high are shown in uppercase text without an overbar. Signals that are active high are referred to as asserted when they are high and negated when they are low. A bar over a signal name indicates that the signal is active low. Active-low signals are referred to as asserted (active) when they are low and negated when they are high. Hexadecimal numbers Binary numbers Abbreviations or acronyms for registers are shown in uppercase text. Specific bit fields or ranges are shown in brackets.
PREFACE Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com MOTOROLA xlix
ACTIVE_LOW
In certain contexts, such as a signal encoding, this indicates a dont care. For example, if a field is binary encoded 0bx001, the state of the first bit is a dont care. NOTE: Throughout this manual references to 3 V refer to the nominal supply voltage of 3.3 volts.
Nomenclature Logic level one is the voltage that corresponds to Boolean true (1) state. Logic level zero is the voltage that corresponds to Boolean false (0) state.
To set a bit or bits means to establish logic level one on the bit or bits. To clear a bit or bits means to establish logic level zero on the bit or bits. A signal that is asserted is in its active logic state. An active low signal changes from logic level one to logic level zero when asserted, and an active high signal changes from logic level zero to logic level one. A signal that is negated is in its inactive logic state. An active low signal changes from logic level zero to logic level one when negated, and an active high signal changes from logic level one to logic level zero. LSB means least significant bit or bits. MSB means most significant bit or bits. References to low and high bytes are spelled out.
PREFACE Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA l
SECTION 1 OVERVIEW
The MPC555 / MPC556 is a member of Motorolas MPC500 PowerPCTM RISC Microcontroller family. The MPC555 / MPC556 offers the following features: PowerPC core with floating-point unit 26 Kbytes fast RAM and 6 Kbytes TPU microcode RAM 448 Kbytes flash EEPROM with 5-V programming 5-V I/O system Serial system: queued serial multi-channel module (QSMCM), dual CAN 2.0B controller modules (TouCANTM) 50-channel timer system: dual time processor units (TPU3), modular I/O system (MIOS1) 32 analog inputs: dual queued analog-to-digital converters (QADC64) Submicron HCMOS (CDR1) technology 272-pin plastic ball grid array (PBGA) packaging 40-MHz operation, -40 C to 125 C with dual supply (3.3 V, 5 V) MPC556 supports code compression to increase code density. NOTE Throughout this manual references to 3 V refer to the nominal supply voltage of 3.3 V.) 1.1 Block Diagram Figure 1-1 is a block diagram of the MPC555 / MPC556.
OVERVIEW
MOTOROLA 1-1
U-bus E-bus
L2U
L-bus
QADC
QADC
QSMCM
TouCAN
UIMB
IMB3
TPU3
DPTRAM
TPU3
TouCAN
MIOS1
Figure 1-1 MPC555 / MPC556 Block Diagram 1.2 MPC555 / MPC556 Features Features of each module on the MPC555 / MPC556 are listed below. 1.2.1 RISC MCU Central Processing Unit (RCPU) 32-bit PowerPC architecture (compliant with PowerPC Architecture Book 1) Core performance measured at 52.7 Kmips (Dhrystone 2.1) @ 40 MHz. NOTE This assumes the RCPU core is running in normal mode and show cycles is turned off (ISCT_SER of the ICTRL register is set to 111). See Table 21-21. Fully static, low power operation Integrated floating-point unit Precise exception model Extensive system development support On-chip watchpoints and breakpoints Program flow tracking
MPC555
/ MPC556
OVERVIEW
MOTOROLA 1-2
USERS MANUAL
MPC555
/ MPC556
OVERVIEW
MOTOROLA 1-3
USERS MANUAL
MPC555
/ MPC556
OVERVIEW
MOTOROLA 1-4
USERS MANUAL
MPC555
OVERVIEW
MOTOROLA 1-5
USERS MANUAL
0x013F FFFF 0x0140 0000 0x017F FFFF 0x0180 0000 0x01BF FFFF 0x01C0 0000 0x01FF FFFF
0xFFFF FFFF
Figure 1-2 MPC555 / MPC556 Memory Map The internal memory space is divided into the following sections: Flash memory (448 Kbytes) Static RAM memory (26 Kbytes) Control registers and IMB2 modules (64 Kbytes): USIU and flash control registers UIMB interface and IMB2 modules SRAM control registers
MPC555
/ MPC556
OVERVIEW
MOTOROLA 1-6
USERS MANUAL
0x00 0000 CMF Flash A 256 Kbytes 0x04 0000 0x06 FFFF
0x07 0000
Reserved 0x2F C000 USIU Control Registers 1 Kbyte FLASH Module A (64 bytes) 0x2F C800 FLASH Module B (64 bytes) Reserved for Flash (2.6 Mbytes - 16 Kbytes) Reserved for SIU 0x2F C840 0x2F C880
0x 30 7 FFF 0x 30 8000 Reserved for IMB3 (480 Kbytes) 0x 37 FFFF 0x 38 0000 SR A M C on t r ol A ( 8 bytes) 0x 38 0008 SR A M C on t r ol B ( 8 bytes) Reserved (485.98 Kbytes) 0x 3F 9800 0x 3F C000 0x 3F FFFF
Reserved (2 Kbytes) TPU3_A (1 Kbyte) TPU3_B (1 Kbyte) QADC_A (1 Kbyte) QADC_B (1 Kbyte) QSMCM (4 Kbytes) 0x30 6000 MIOS1 (4 Kbytes) TouCAN_A (1 Kbyte) TouCAN_B (1 Kbyte) 0x30 7080 0x30 7480 0x30 7884 0x30 7F80 0x30 7FFF 0x30 4000 0x30 4400 0x30 4800 0x30 4C00 0x30 5000
0x 38 0010
MPC555
/ MPC556
OVERVIEW
MOTOROLA 1-7
USERS MANUAL
MPC555
/ MPC556
OVERVIEW
MOTOROLA 1-8
USERS MANUAL
SIGNAL DESCRIPTIONS
MOTOROLA 2-1
PIN 1 INDEX
4X
0.2
A
272X
0.2 A
E2
0.35 A
0.2
A B C
NOTES: 1. DIMENSIONS AND TOLERANCING PER ASME Y14.5M, 1994. 2. DIMENSIONS IN MILLIMETERS. 3. DIMENSION IS MEASURED AT THE MAXIMUM SOLDER BALL DIAMETER PARALLEL TO PRIMARY DATUM A. 4. PRIMARY DATUM A AND THE SEATING PLANE ARE DEFINED BY THE SPHERICAL CROWNS OF THE SOLDER BALLS.
MILLIMETERS MIN MAX 2.05 2.65 0.50 0.70 0.50 0.70 1.05 1.25 0.60 0.90 27.00 BSC 24.13 REF 23.30 24.70 27.00 BSC 24.13 REF 23.30 24.70 1.27 BSC
e
Y W V U T R P N M L K J H G F E D C B A
19X
DIM A A1 A2 A3 b D D1 D2 E E1 E2 e
(E1)
4X
A1 A3 A2 A SIDE VIEW
272X
e /2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
b 3
0.3
M M
BOTTOM VIEW
A B C A
0.15
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-2
USERS MANUAL
MPC555
1 2
A_TPUCH1 A_TPUCH4 A_TPUCH8 A_TPUCH12 A_TPUCH15 VRL AAN0_PQB0 AAN48_PQB4 AAN52_PQA0 AAN54_PQA2 BAN0_PQB0 BAN2_PQB2 BAN3_PQB3 BAN51_PQB7 VDDH MDA11 MDA12 MDA13
Ball Map
11 12 13 14 15 16 17 18 19 20
VDDH
10
MPC555
A
VDDH
B
B_T2CLK VDDH A_TPUCH6 A_TPUCH10 A_TPUCH11 A_TPUCH14 VRH AAN3_PQB3 AAN49_PQB5 AAN53_PQA1 AAN57_PQA5 BAN1_PQB1 BAN48_PQB4 BAN52_PQA0 BAN54_PQA2 ETRIG2 MDA14
MDA15
VDDH
MDA28
USERS MANUAL
C B_TPUCH15
A_T2CLK A_TPUCH3 A_TPUCH7 A_TPUCH9 A_TPUCH13 VDDA AAN2_PQB2 AAN51_PQB7 AAN56_PQA4 AAN59_PQA7 BAN49_PQB5 BAN53_PQA1 BAN56_PQA4 BAN57_PQA5 ETRIG1 MDA27 MDA29 MDA30 MDA31
/ MPC556
D B_TPUCH11 B_TPUCH13 A_TPUCH0
A_TPUCH2 A_TPUCH5 VDDI VSSA AAN1_PQB1 AAN50_PQB6 AAN55_PQA3 AAN58_PQA6 BAN50_PQB6 BAN55_PQA3 BAN58_PQA6 BAN59_PQA7 VDDI VDDL MPWM1
MPWM2
MPWM3
E
B_TPUCH7 B_TPUCH10 B_TPUCH14 VDDL
MPWM0
MPWM17
MPWM19
MPIO6
F
B_TPUCH5 B_TPUCH6 B_TPUCH8 B_TPUCH12
MPWM16
MPWM18
MPIO7
MPIO9
G
B_TPUCH2 B_TPUCH3 B_TPUCH4 B_TPUCH9
MPIO5
MPIO8
MPIO11
MPIO12
H
B_TPUCH1 B_TPUCH0 B_CNRX0 B_CNTX0
MPIO10
MPIO15
MPIO14
MPIO13
J TCK_ DSCK
TRST_B VDD SRAM VSS VSS VSS VSS
TDO_ DSDO
VF2 _MPIO2
VFLS0 _MPIO3
K
TMS TDI_DSDI SGP_FRZ VDDL VSS VSS VSS
VSS
VDDL
VFLS1 _MPIO4
A_CNTX0
A_CNRX0
L
VSS VSS
IRQ3B _SGP
IRQ4B _SGP
VSS
VSS
PCS1 _QGP
PCS0 _QGP
M IRQ0B _SGP
VSS VSS
IRQ1B _SGP
IRQ2B _SGP
SGP_ IRQOUTB
VSS
VSS
PCS3 _QGP
PCS2 _QGP
ECK
SCK_ QGP6
SIGNAL DESCRIPTIONS
N
WEB_ AT[0] BRB_IWP2 BGB_LWP1 BBB _IWP3
RXD1_ QGPI
TXD1_ QGPO
RXD2_ QGPI
TXD2_ QGPO
P
WEB_ AT[1] WEB_ AT[2] WEB_ AT[3] CS0B
VPP
EPEE
VSSF
VDDH
VDDL
VDDF
XFC
VDDSYN
VDDI
KAPWR
VSSSYN
EXTAL
U
TSIZ0 TAB TSB BDIPB VDDI
VDDL
VDDL
EXTCLK
ECK_ BUCK
XTAL
V
BURSTB BIB_STSB
Addr_ SGP11 Addr_ SGP10 Addr_ SGP9 Addr_ SGP8 Addr_ SGP22 Addr_ SGP27 Data_ SGP31 Data_ SGP30 Data_ SGP28 Data_ SGP26 Data_ SGP24 Data_ SGP22 Data_ SGP21 Data_ SGP19 Data_ SGP18
CLKOUT
PORESETB
SRESETB
W Addr_ SGP12
VDDH
Addr_ SGP14 Addr_ SGP16 Addr_ SGP18 Addr_ SGP20 Addr_ SGP23 Addr_ SGP26 Data_ SGP1 Data_ SGP3 Data_ SGP5 Data_ SGP7 Data_ SGP9 Data_ SGP11 Data_ SGP13 Data_ SGP15 Data_ SGP17 IRQ5B _SGP
VDDH
HRESETB
Y
VDDH
Addr_ SGP13 Addr_ SGP15 Addr_ SGP17 Addr_ SGP19 Addr_ SGP21 Addr_ SGP24 Addr_ SGP25 Data_ SGP0 Data_ SGP2 Data_ SGP4 Data_ SGP6 Data_ SGP8 Data_ SGP10 Data_ SGP12 Data_ SGP14 Data_ SGP16 IRQ6B _mck2 IRQ7B _mck3
VDDH
VDDi
VSS
VDDH
=5 volt power
MOTOROLA
2-3
TSIZ[0:1] RD/WR BURST BDIP TS Bus control TA TEA RSTCONF/TEXP3 OE BI/STS General purpose chip select machine (multiplexed with development and debug support) Power-on reset and reset configuration CS[0:3] WE[0:3]/BE[0:3]/AT[0:3] PORESET3 HRESET3 SRESET3 SGPIOC[6]/FRZ/PTR SGPIOC[7]/IRQOUT/LWP[0] Development and debug support BG/VF[0]/LWP[1] BR/VF[1]/IWP[2] BB/VF[2]/IWP[3] TMS TDI/DSDI JTAG and debug port TCK/DSCK TDO/DSDO TRST IWP[0:1]/VFLS[0:1] 7 3V 5 3-V / 5-V GPIO 3 3V 8 3V 11 3V
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-4
USERS MANUAL
QSMCM
MOSI/QGPIO[5] SCK/QGPIO[6] TXD[1:2]/QGPO[1:2] RXD[1:2]/QGPI[1:2] ECK MDA[11], [13] MDA[12], [14] MDA[15], [27:31] MPWM[0:3], [16:19] VF[0:2]/MPIO32B[0:2]
12
5V
MIOS
18
5V
VFLS[0:1]/MPIO32B[3:4] MPIO32B[5:15] A_TPUCH[0:15], B_TPUCH[0:15] A_T2CLK, B_T2CLK ETRIG[1:2] A_AN0/ANW/PQB0, B_AN0/ANW/PQB0 A_AN1/ANX/PQB1, B_AN1/ANX/PQB1 A_AN2/ANY/PQB2, B_AN2/ANY/PQB2 A_AN3/ANZ/PQB3, B_AN3/ANZ/PQB3 A_AN[48:51]/PQB[4:7], B_AN[48:51]/PQB[4:7] A_AN[52:54]/MA[0:2]/PQA[0:2], B_AN[52:54]/MA[0:2]/PQA[0:2] A_AN[55:56]/PQA[3:4], B_AN[55:56]/PQA[3:4] A_AN[57:59]/PQA[5:7], B_AN[57:59]/PQA[5:7]
5 11 34
TPU
QADC
34
5V
A_CNTX0, B_CNTX0, A_CNRX0, B_CNRX0 EPEE Supplies VSS, VSSF, VSSSYN VSSA, VRL VDDI, VDDL, VDDSRAM, VDDSYN, KAPWR3, VDDF
4 1 18 2 16
5V 3V
3V
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-5
USERS MANUAL
NOTES: 1. / implies that the corresponding functions are multiplexed on the pin 2. All inputs are 5 V friendly. All 5 V outputs are slow slew rate except for SCI transmit pins. 3. These pins are powered by KAPWR (Keep Alive Power Supply).
2.2 Pin Functionality The pad ring supports 234 functional pins (284 including all power and ground). Some pins serve multiple functions. The pad characteristics for each pin are described in Table 2-2. This table contains the following columns:
Pin List of functional (signal) names for each pin. (For actual pin names, see 2.7 Pin Names and Abbreviations. Function Name of function (signal). Each pin supports one or more functions, and each function (signal) name is a separate entry in the table. Driver Type Type of driver that is used to drive the pin (for output functionality). Types of output drivers are: Totem pole (TP). This driver type uses a push pull scheme to drive the pin. These pins can be driven high or low or can be three-stated. Care must be taken to ensure that there is no contention on this pin (for example, an external driver driving the pin high while an internal driver is driving it low). Open drain (OD). This driver type uses an open drain approach to drive the pins. Pins with an OD driver can be either driven low or three-stated. This driver scheme is typically used for pins that could potentially be asserted by multiple modules. Active negated (ANG). This driver type fully drives a low level. A high level is driven and then released. A pull-up resistor may be needed on this type of output. Receiver Type Type of receiver used for the pin. Some inputs need to have a synchronizer to prevent latching a metastable signal at the pins. Such requirements are indicated in this column with the abbreviation synch. Another possible entry is glitch filter. It is added to reset signals. Direction Direction of the pin for each function it supports. The possible directions are input (I), output (O) and bi-directional (I/O). Voltage Voltage requirement for each function of a pin. There are two supply voltages: 5 V and 3 V. Slew rate Timing needed from the 5-V drivers. The options are with slew rate (typically 200/50 ns with 50 pF load) or fast 5-V driver. Drive strength Drive strength for 3-V drivers of the output load. For all 3-V outputs, the drive strength is 25/50 pF. For two pads (clkout and engclk) the drive strength is 45/90 pF. Pad Type Functional pad structure used for a pin. For pad type descriptions, see 2.5 Pad Types.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-6
USERS MANUAL
IRQ[0]/ SGPIOC[0]
25 / 50 25 / 50 25 / 50 25 / 50 F F F CH IH IH
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-7
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-8
USERS MANUAL
25 / 50
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-9
USERS MANUAL
QADC_A/QADC_B ETRIG[1:2] AN0/ ANW/ PQB0 ETRIG[1:2] AN0 ANW PQB0 AN1 AN1/ANX/PQB1 ANX PQB1 AN2 AN2/ANY/PQB2 ANY PQB2 AN3 AN3/ANZ/PQB3 ANZ PQB3 AN[48:51]/ PQB[4:7] AN[48:51] PQB[4:7] AN[52:54] AN[52:54]/ MA[0:2]/ PQA[0:2] MA[0:2] PQA[0:2] OD OD I I I I I I I I I I I I I I I I O I/O 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V L M M M M M N
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-10
USERS MANUAL
AN1 AN1/ANX/PQB1 ANX PQB1 AN2 AN2/ANY/PQB2 ANY PQB2 AN3 AN3/ANZ/PQB3 ANZ PQB3 AN[48:51]/ PQB[4:7] AN[48:51] PQB[4:7] AN[52:54] AN[52:54]/ MA[0:2]/ PQA[0:2] MA[0:2] PQA[0:2] AN[55:56] PQA[3:4] AN[57:59] PQA[5:7]
TOUCAN_A/TOUCAN_B A_CNTX0 B_CNTX0 A_CNRX0 B_CNRX0 CNTX0_A CNTX0_B CNRX0_A CNRX0_B TP/OD TP/OD O O I I 5V 5V 5V 5V 50 / fast 50 / fast Q Q R R
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-11
USERS MANUAL
NOTES: 1. All inputs are 5-V friendly. All 5-V outputs are slow slew rate. The QSMCM and TouCAN pins have some slew rate control, but are faster than the general/purpose I/O and timer pins. 2. These pins are powered by KAPWR (Keep Alive Power Supply). 3. This pin is an active negate signal and may need an external pull-up resister. 4. Drive strength was 45/90 in make sets prior to K62N. 5. Drive strength was 45/90 in make sets prior to K62N.
2.3 Signal Descriptions The pad ring supports 234 functional pins (284 including all power and ground). Each pin and the functionality it supports are described in this section. All references to timing in this document are numbers that are expected for a typical case process with a 50-pF load at 25oC. The supply voltages are assumed to be typical, as well: 5 V or 3.3 V. The 5-V supply is generally referred to as the 5-V supply, and the 3.3-V supply is referred to as the 3-V supply in this section. 2.3.1 USIU Pads 2.3.1.1 ADDR[8:31]/SGPIOA[8:31] Pin Name: addr_sgpioa[8:31] (24 pins) Address Bus Specifies the physical address of the bus transaction. The address is driven onto the bus and kept valid until a transfer acknowledge is received from the slave. ADDR8 is the most significant signal for this bus.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-12
USERS MANUAL
Interrupt Request One of the eight external lines that can request, by means of the internal interrupt controller, a service routine from the RCPU. IRQ0 is a nonmaskable interrupt (NMI). SGPIO This function allows the pins to be used as general purpose inputs/outputs. 2.3.1.4 IRQ[1]/RSV/SGPIOC[1] Pin Name: irq1_b_rsv_b_sgpioc1 Interrupt Request One of the eight external lines that can request, by means of the internal interrupt controller, a service routine from the RCPU. Reservation This line used together with the address bus to indicate that the internal core initiated a transfer as a result of a STWCX or a LWARX instruction. SGPIO This function allows the pins to be used as general purpose inputs/outputs. 2.3.1.5 IRQ[2]/CR/SGPIOC[2]/MTS Pin Name: irq2_b_cr_b_sgpioc2_mts Interrupt Request One of the eight external lines that can request, by means of the internal interrupt controller, a service routine from the RCPU. Cancel Reservation Instructs the chip to clear its reservation, some other master has touched its reserved space. An external bus snooper would assert this signal. SGPIO This function allows the pins to be used as general purpose inputs/outputs. Memory Transfer Start This pin is the transfer start signal from the MPC555 / MPC556 memory controller to allow external memory access by an external bus master. 2.3.1.6 IRQ[3]/KR/RETRY/SGPIOC[3] Pin Name: irq3_b_kr_b_retry_b_sgpioc3
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-13
USERS MANUAL
Interrupt Request One of the eight external lines that can request, by means of the internal interrupt controller, a service routine from the RCPU. Address Type A bit from the address type bus which indicates one of the 16 address types to which the address applies. The address type signals are valid at the rising edge of the clock in which the special transfer start (STS) is asserted. AT[2] identifies an access as either data or instrucion. SGPIO This function allows the pins to be used as general purpose inputs/outputs. 2.3.1.8 IRQ[5]/SGPIOC[5]/MODCK[1] Pin Name: irq5_b_sgpioc5_modck1 Interrupt Request One of the eight external lines that can request, by means of the internal interrupt controller, a service routine from the RCPU. SGPIO This function allows the pins to be used as general purpose inputs/outputs. Mode Clock [1] Sampled at the negation of PORESET in order to configure the phase-locked loop (PLL)/clock mode of operation. 2.3.1.9 IRQ[6:7]/MODCK[2:3] Pin Name: irq6_b_modck2 - irq7_b_modck3 (2 pins) Interrupt Request One of the eight external lines that can request, by means of the internal interrupt controller, a service routine from the RCPU. Mode Clock [2:3] Sampled at the negation of PORESET in order to configure the PLL/clock mode of operation. 2.3.1.10 TSIZ[0:1] Pin Name: tsiz0 - tsiz1 (2 pins)
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-14
USERS MANUAL
Burst Indicator Indicates whether the current transaction is a burst transaction or not. 2.3.1.13 BDIP Pin Name: bdip_b Burst data in progress Indicates to the slave that there is a data beat following the current data beat. 2.3.1.14 TS Pin Name: ts_b Transfer Start Indicates the start of a bus cycle that transfers data to/from a slave device. This signal is driven by the master only when it gained the ownership of the bus. Every master should negate this signal before the bus relinquish. Every master should negate this signal before the bus is relinquished. This pin is an active negate signal and may need an external pull-up resistor to ensure proper operation and signal timing specifications. 2.3.1.15 TA Pin Name: ta_b Transfer Acknowledge This line indicates that the slave device addressed in the current transaction has accepted the data transferred by the master (write) or has driven the data bus with valid data (read). The slave device negates the TA_B signal after the end of the transaction and immediately three-state it to avoid contentions on the line if a new transfer is initiated addressing other slave devices. This pin is an active negate signal and may need an external pull-up resistor to ensure proper operation and signal timing specifications. 2.3.1.16 TEA Pin Name: tea_b
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-15
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-16
USERS MANUAL
Address Type Indicates one of the 16 address types to which the address applies. The address type signals are valid at the rising edge of the clock in which the Special Transfer Start (STS) is asserted. 2.3.1.22 PORESET Pin Name: poreset_b Power on Reset This pin should be activated as a result of a voltage failure on the keep-alive power pins. The pin has a glitch detector to ensure that low spikes of less than 20 ns are rejected. The internal PORESET signal is asserted only if PORESET is asserted for more than 100 ns. See SECTION 7 RESET for more details on timing. 2.3.1.23 HRESET Pin Name: hreset_b Hard Reset The chip can detect an external assertion of HRESET only if it occurs while the chip is not asserting reset. After negation of HRESET or SRESET is detected, a 16 cycles period is taken before testing the presence of an external reset. The internal HRESET signal is asserted only if HRESET is asserted for more than 100 ns. To meet external timing requirements, an external pull-up device is required to negate HRESET. See SECTION 7 RESET for more details on timing. 2.3.1.24 SRESET Pin Name: sreset_b Soft Reset The chip can detect an external assertion of SRESET only if it occurs while the chip is not asserting reset. After negation of HRESET or SRESET is detected, a 16-cycle period is taken before testing the presence of an external soft reset. To meet external timing requirements, an external pull-up device is required to negate SRESET. See SECTION 7 RESET for more details on timing. 2.3.1.25 SGPIOC[6]/FRZ/PTR Pin Name: sgpioc6_frz_ptr_b
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-17
USERS MANUAL
Load/Store Watchpoint 0 This output line reports the detection of a data watchpoint in the program flow executed by the RCPU. See SECTION 21 DEVELOPMENT SUPPORT for more details. 2.3.1.27 BG/VF[0]/LWP[1] Pin Name: bg_b_vf0_lwp1 Bus Grant Indicates external data bus status. Is asserted low when the arbiter of the external bus grants to the specific master the ownership of the bus. Visible Instruction Queue Flush Status This output line together with VF1 and VF2 is output by the chip when a program instructions flow tracking is required by the user. VF report the number of instructions flushed from the instruction queue in the internal core. See SECTION 21 DEVELOPMENT SUPPORT for more details. Load/Store Watchpoint This output line reports the detection of a data watchpoint in the program flow executed by the RCPU. 2.3.1.28 BR/VF[1]/IWP[2] Pin Name: br_b_vf1_iwp2 Bus Request Indicates that the data bus has been requested for external cycle. Visible Instruction Queue Flush Status This output line together with VF1 and VF2 is output by the chip when a program instructions flow tracking is required by the user. VF report the number of instructions flushed from the instruction queue in the internal core. See SECTION 21 DEVELOPMENT SUPPORT for more details. Instruction Watchpoint 2 This output line reports the detection of an instruction watchpoint in the program flow executed by the RCPU. 2.3.1.29 BB/VF[2]/IWP[3] Pin Name: bb_b_vf2_iwp3
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-18
USERS MANUAL
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-19
USERS MANUAL
2.3.1.36 XTAL Pin Name: xtal XTAL This output line is one of the connections to an external crystal for the internal oscillator circuitry. 2.3.1.37 EXTAL Pin Name: extal EXTAL This line is one of the connections to an external crystal for the internal oscillator circuitry. If this pin is unused, it must be grounded. 2.3.1.38 XFC Pin Name: xfc External Filter Capacitance This input line is the connection pin for an external capacitor filter for the PLL circuitry. 2.3.1.39 CLKOUT Pin Name: clkout Clock Out This output line is the clock system frequency. The CLKOUT drive strength can be configured to full strength, half strength, or disabled. The drive strength is configured using the COM[0:1] bits in the SCCR register in the USIU. 2.3.1.40 EXTCLK Pin Name: extclk EXTCLK Input. This is the external frequency source for the chip. If this is unused, the pin must be grounded. 2.3.1.41 VDDSYN Pin Name: vddsyn
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-20
USERS MANUAL
BUCLK When the chip is in limp mode, it is operating from a less precise on-chip ring oscillator to allow the system to continue minimum functionality until the system clock is fixed. This backup clock can be seen externally based on the values of the EECLK[0:1] bits in the SCCR register in the USIU. 2.3.2 QSMCM PADS 2.3.2.1 PCS[0]/SS/QGPIO[0] Pin Name: pcs0_ss_b_qgpio0 PCS[0] This signal provides QSPI peripheral chip select 0. SS Assertion of this bi-directional signal places the QSPI in slave mode. QSPI GPIO[0] When this pin is not needed for a QSPI application it can be configured as a general purpose input/output. 2.3.2.2 PCS[1:3]/QGPIO[1:3] Pin Name: pcs1_qgpio1 - pcs3_qgpio3 (3 pins) PCS[1:3] These signals provide three QSPI peripheral chip selects. QGPIO[1:3] When these pins are not needed for QSPI applications they can be configured as a general purpose input/output. 2.3.2.3 MISO/QGPIO[4] Pin Name: miso_qgpio4 Master-In Slave-Out (MISO) This bi-directional signal furnishes serial data input to the QSPI in master mode, and serial data output from the QSPI in slave mode. QGPIO[4] When this pin is not needed for a QSPI application it can be configured as a general purpose input/output.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-21
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-22
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-23
USERS MANUAL
2.3.4 TPU_A/TPU_B PADS 2.3.4.1 TPUCH[0:15]_[A:B] Pin Name: a_tpuch0 - a_tpuch15 (16 pins for first TPU), b_tpuch0 - b_tpuch15 (16 pins for second TPU) TPU Channels These signals provide each TPU with 16 input/output programmable timed events. 2.3.4.2 T2CLK Pin Name: a_t2clk (1 pin for first TPU), b_t2clk (1 pin for second TPU) T2CLK This signal is used to clock or gate the timer count register 2 (TCR2) within the TPU. This pin is an output-only in special test mode. 2.3.5 QADC_A/QADC_B PADS 2.3.5.1 ETRIG[1:2] Pin Name: etrig1 - etrig2 ETRIG These are the external trigger inputs to the QADC_A and QADC_B modules. ETRIG[1] can be configured to be used by both QADC_A and QADC_B. Likewise, ETRIG[2] can be used for both QADC_B and QADC_A. The trigger input pins are associated with the scan queues. 2.3.5.2 AN[0]/ANW/PQB[0]_[A:B] Pin Name: a_an0_anw_pqb0 (1 pin for first QADC), b_an0_anw_pqb0 (1 pin for second QADC) Analog Channel (AN0) Internally multiplexed input-only analog channels. Passed on as a separate signal to the QADC. Multiplexed Analog Input (ANW) Externally multiplexed analog input.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-24
USERS MANUAL
2.3.5.4 AN[2]/ANY/PQB[2]_[A:B] Pin Name: a_an2_any_pqb2 (1 pin for first QADC), b_an2_any_pqb2 (1 pin for second QADC) Analog Channel (AN2) Internally multiplexed input-only analog channel. The input is passed on as a separate signal to the QADC. Multiplexed Analog Input (ANY) Externally multiplexed analog input. Port (PQB2) Input-only port. This is a 5-V input. This path is synchronized in the pad. The input is level-shifted before it is sent internally to the QADC. 2.3.5.5 AN[3]/ANZ/PQB[3]_[A:B] Pin Name: a_an3_anz_pqb3 (1 pin for first QADC), b_an3_anz_pqb3 (1 pin for second QADC) Analog Input (AN3) Internally multiplexed input-only analog channel. The input is passed on as a separate signal to the QADC. Multiplexed Analog Input (ANZ) Externally multiplexed analog input. Port (PQB3) Input-only port. This is a 5-V input. This path is synchronized in the pad. The input is level-shifted before it is sent internally to the QADC. 2.3.5.6 AN[48:51]/PQB[4:7]_[A:B] Pin Name: a_an48_pqb4 a_an51_pqb7 (4 pins for first QADC), b_an48_pqb4 b_an51_pqb7 (4 pins for second QADC). Analog Input (AN[48:51]) Analog input channel. The input is passed on as a separate signal to the QADC. Port (PQB[4:7]) Input-only port. Has a synchronizer with an input enable and clock. The input is level-shifted before it is sent internally to the QADC.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-25
USERS MANUAL
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-26
USERS MANUAL
EPEE Input. This control signal will externally control the program or erase operations. 2.3.7.2 VPP Pin Name: vpp VPP Input. Flash supply voltage (5-V supply) used during program and erase operations of the CMF. 2.3.7.3 VDDF Pin Name: vddf VDDF Flash core voltage input (3-V supply). This separate supply voltage is needed in order to reduce noise in the read path of CMF. 2.3.7.4 VSSF Pin Name: vssf VSSF Flash core zero supply input. This separate supply is needed in order to reduce noise in the read path of CMF. 2.3.8 GLOBAL POWER SUPPLIES 2.3.8.1 VDDL Pin Name: vddl VDDL 3-V voltage supply input. 2.3.8.2 VDDH Pin Name: vddh VDDH 5-V voltage supply input.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-27
USERS MANUAL
Keep-Alive Power 3-V voltage supply input for the oscillator and keep-alive registers. 2.3.8.6 VDDSRAM Pin Name: vddsram SRAM Keep-Alive Power 3-V voltage supply input for the SRAM. 2.3.8.7 VSS Pin Name: vss VSS Ground level reference input. 2.4 Reset State All input pins, with the exception of the power supply and clock related pins, are weakly pulled to a value during reset by a 130-microampere resistor based on certain conditions. In reset state all I/O pins become inputs, and all outputs except clkout, hreset_b, sreset_b, will be pulled only by the pull-up/pull-down. 2.4.1 Pin Functionality Out of Reset The functionality out of reset of some pins that support multiple functionality is defined in the SIUMCR through the reset configuration word. For details on which multiplexed pins are configured by the reset configuration word and how they are configured, refer to 7.5.2 Hard Reset Configuration Word. The 3-V related pins have selectable output buffer drive strengths which are controlled by the COM[0] bit in the USIUs system clock and reset control register (SCCR). The control is as follows:
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-28
USERS MANUAL
2.4.2 Pad Module Configuration Register (PDMCR) The slew rate and weak pull-up/pull-down characteristics of some pins are controlled by bits in the PDMCR. This register resides in the SIU memory map. The contents of the PDMCR are illustrated below. The PORESET signal resets all the PDMCR bits asynchronously.
.
0x2F C03C
7 SPRD S 8 FTPU _PU1 9 10 11 12 Reserved 13 14 15
0 SLRC0
1 SLRC 1
6 PRDS
SLRC SLRC 2 3
Reserved
HARD RESET: 0 0 0 0 0 0 0 0
.
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SLRC1
SLRC2
3 4:5
SLRC3
PRDS
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-29
USERS MANUAL
SPRDS
Follow TPU Pull-Up Controls the pull-up devices for all T2CLK pins. FTPU_PU is only available on mask set K62N and later. FTPU_PU 0 = Pull-ups are active when the pins are defined as inputs 1 = Pull-ups for the TPU T2CLK pins are enabled or disabled based on the state of PRDS Reserved
9:31
2.4.3 Pin State During Reset During reset, the functionality of some pins is undetermined. Their functionality is based on the bits in the SIUMCR. Since the SIUMCR bits are undetermined during reset, there is no way of predicting how the pins will function. However, the pins must not cause any spurious conditions or consume an excessive amount of power during reset. To prevent these conditions, the pins need to have a defined reset state. Table 24 describes the reset state of the pins based on pin functionality. All pins are initialized to a reset state during reset. This state remains active until reset is negated or until software disables the pull-up or pull-down device based on the pin functionality. Upon assertion of the corresponding bits in the pin control registers and negation of reset, the pin acquires the functionality that was programmed. 2.4.4 Power-On Reset and Hard Reset Power-on reset and hard reset affect the functionality of the pins out of reset. (During soft reset, the functionality of the pins is unaltered.) Upon assertion of the power-on reset signal (PORESET) the functionality of the pin is not yet known. The pull-up or pull-down resistors are enabled. The reset configuration word configures the system, and towards the end of reset the pin functionality is known. Based upon pin functionality, the pull-up or pull-down devices are either disabled immediately at the negation of reset or remain enabled. Hard reset can occur at any time, and there may be a bus cycle pending. For this reason, the bits in PDMCR that control the enabling and disabling of the pull-up or pulldown resistors in the pads are set or reset synchronously. (PORESET affects these bits asynchronously.) This causes the pull-up or pull-down resistors to be enabled at a time when they do not cause contention on the pins and are disabled before they can cause any contention on the pins. 2.4.5 Pull-Up and Pull-Down Enable and Disable for 5-V Only Pins For 5-V only pins, the enabling and disabling of the pull-up and pull-down devices is controlled by the PRDS bit in PDMCR. If the bit is negated, the devices are active. If the bit is asserted, the devices are inactive.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-30
USERS MANUAL
2.4.6.2 Encoded 3-V / 5-V Select This signal selects between the 3-V functionality and the 5-V functionality of the pin. 5-V operation is selected until the function of the pin is determined (based on the reset configuration word) and PORESET is negated. At this point the 3-V / 5-V select signal assumes the intended state (high for 5 V and low for 3 V). Upon hard reset assertion, if the 3-V / 5-V select line is in 3-V select mode, it remains in this mode until any external bus access completes. After this the 3-V / 5-V select signal switches to 5-V mode to enable the pull-ups. This ensures that there is no contention on the bus due to the pull-up being enabled. This signal is not affected by soft reset. Each pad group has a 3-V / 5-V select signal. Internal to the pad, logic combines these signals to control the pull-up. 2.4.6.3 Examples The combination of this 3-V / 5-V select signal and the resistor disable signal enables or disables the pull-up.The logic to enable the pull-up is: pull_enable = PRDS & 3-V / 5-V select For example, if a pin is configured as a GPIO pin (5 V), the 3-V / 5-V select is high throughout reset. This causes the pull-up to be enabled. At the end of reset, the 3-V / 5-V select line remains high. The PRDS is high by default until cleared by software. This causes the pull-up to be enabled until software clears the PRDS bit in the PDMCR. If a pin is configured as a bus pin (3 V), the 3 V / 5 V remains high throughout reset. This causes the pull-up to be enabled. At the end of reset, the 3-V / 5-V select line goes low. This causes the pull-up to be disabled, preventing any power loss if the MCU starts fetching from external memory immediately out of reset.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-31
USERS MANUAL
When a pin is configured as an opcode-tracking or debug pin, SPRDS remains low throughout reset. This causes the pull-up to be enabled. When reset is released, SPRDS is asserted. This disables the pull-up resistor immediately. The output driver drives the pin to the required state after reset. 2.4.8 Pin Reset States Table 2-4 summarizes the reset states of all the pins on the MPC555 / MPC556. Table 2-4 Pin Reset State
Pin
Function Port Voltage USIU ADDR[8:31]/ SGPIOA[8:31] DATA[0:31]/ SGPIOD[0:31] IRQ[0]/SGPIOC[0] ADDR[8:31] SGPIOA[8:31] DATA[0:31] SGPIOD[0:31] IRQ[0] SGPIOC[0] IRQ[1] IRQ[1]/ RSV/SGPIOC[1] RSV SGPIOC[1] IRQ[2] IRQ[2]/ CR/SGPIOC[2]/ MTS CR SGPIOC[2] MTS IRQ[3]/ KR, RETRY/ SGPIOC[3] IRQ[4]/ AT[2]/ SGPIOC[4] IRQ[3] KR, RETRY SGPIOC[3] IRQ[4] AT[2] SGPIOC[4] I/O IO I/O I/O I I/O I O I/O I I I/O O I I/O I/O I O I/O 3V 5V 3V 5V 3V 5V 3V 3V 5V 3V 3V 5V 3V 3V 3V 5V 3V 3V 5V PU5 until reset negates1 PU5 until PRDS is set PD until reset negates PD until PRDS is set PU5 until reset negates1 PU5 until PRDS is set PU5 until reset negates1 PU5 until reset negates1 PU5 until PRDS is set PU5 until reset negates1 PU5 until reset negates1 PU5 until PRDS is set PU5 until PRDS negates PU5 until reset negates1 PU5 when driver not enabled2 PU5 until PRDS is set PU5 until reset negates1 PU5 until reset negates1 PU5 until PRDS is set Reset State
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-32
USERS MANUAL
TEA
TEA
I/O
3V
I O O I/O O O O O I
3V 3V 3V 3V 3V 3V 3V 3V 3V
HRESET3
HRESET
I/O
3V
SRESET3
SRESET
I/O
3V
I/O O O
5V 3V 3V
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-33
USERS MANUAL
Voltage 5V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 3V 5V 5V
Reset State PU5 until PRDS is set PU5 until reset negates1 PU5 until reset negates1 PU3 when driver not enabled or until SPRDS is set PU3 when driver not enabled or until SPRDS is set
BB/ VF[2]/ IWP[3] IWP[0:1]/ VFLS[0:1] TMS TDI/ DSDI TCK/ DSCK TDO/ DSDO TRST XTAL3 EXTAL XFC CLKOUT EXTCLK
3
PU3 until reset negates PU3 until SPRDS is set PU3 until SPRDS is set PD until SPRDS is set PU3 until reset negates PU3 until SPRDS is set
ENGCLK/ BUCLK
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-34
USERS MANUAL
TPU_A/TPU_B
QADC_A/QADC_B ETRIG[1:2] A: AN0/ANW/PQB0 ETRIG[1:2] AN0 ANW PQB0 AN1 A: AN1/ANX/PQB1 ANX PQB1 AN2 A: AN2/ANY/PQB2 ANY PQB2 I I I I I I I I I I 5V 5V 5V 5V 5V 5V 5V 5V 5V 5V
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-35
USERS MANUAL
A: AN[57:59]/ PQA[5:7]
TouCAN_A/TouCAN_B
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-36
USERS MANUAL
Port I I I I I I I I I I I I I
Voltage CMF 3V 5V 3V 3V 3V 5V 3V 3V 3V 3V 3V 3V PD
Reset State
KAPWR
NOTES: 1. During reset, the output enable to the pad driver is negated and the PU3/PU5 is active. After reset is negated, the output enable is continuously enabled and the PU3 is disabled. The driver is responsible for driving a valid state on the pin. 2. Pull-up/pull-down is active when pin is defined as an input and/or during reset; therefore, output enable is negated. This also means that external pull-up/pull-down is not required unless specified. 3. These pins are powered by KAPWR (Keep-Alive Power Supply). 4. This pin is an active negate signal and may need an external pull-up resister.
2.5 Pad Types There are different pad types based on functional characteristics. Even pads with the same functionality may be different due to different electrical characteristics. All 5-V inputs have hysteresis. There is no synchronization in the pads; it is all in the modules. 2.5.1 Pad Interface Signals The pad interface consists of an internal interface and an external interface. The external interface is to the pin. The internal interface is the set of signals that interface the pad to the chips internal logic. The following internal interface signals are used: Data The line driven from an internal module of the chip to the pad. For bi-directional pins, the internal interface may be a single line for both input and output or two separate paths for input and output. The descriptions of individual pad types specify which. 3-V / 5-V select Selects a 3-V or 5-V driver, for pads that support both. This signal is driven from the USIU. Output enable (OE) Enables the output driver. For 3-V / 5-V pads, the appropriate driver is enabled based on the pin functionality selected. Input enable Enables the receiver. For 3-V / 5-V pads, the appropriate receiver is enabled based on the pin functionality selected.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-37
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-38
USERS MANUAL
Figure 2-3 Type A Interface 2.5.2.2 Type B Interface (Clock Pad) The pad has a capability to select the buffer for the appropriate load (45 or 90 pF). The OE input drives the totem pole output or three-states the output.
Data Out OE
Logic
Figure 2-4 Type B Interface 2.5.3 Three-Volt Input Pad Four subtypes are defined for the 3-V input-only pad: one with a pull-up resistor, one with a pull-up resistor and with or without hysteresis in the receiver, one with hysteresis
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-39
USERS MANUAL
Figure 2-5 Type C Interface 2.5.3.2 Type CH Interface Pad type CH has a 3-V input with hysteresis and a pull-up resistor. The hyst_sel signal selects the receiver with or without hysteresis. 3V
Data In Sprds
Receiver 3V Pin
hyst_sel
3V
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-40
USERS MANUAL
Figure 2-7 Type CNH Interface 2.5.3.4 Type D Interface This type of pad has a 3-V input and an internal pull-down resistor. 3V
Pin
Figure 2-8 Type D Interface 2.5.4 Three-Volt Input/Output Pad This is a 3-V bi-directional pad with a pull-up device. The drive strength for the output driver can be configured for either a 25-pF or a 50-pF load. The SPRDS and OE signals control the pull-up devices.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-41
USERS MANUAL
3-V Driver
Pin
3-V Receiver IE
Figure 2-9 Type E Interface 2.5.4.2 Type EOH Interface In this pad type the data interface to the internal logic has separate paths for input and output. The receiver has hysteresis. The pull-up is active when the driver is not enabled.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-42
USERS MANUAL
Data In IE
3-V Receiver
Figure 2-10 3-V Type EOH Interface 2.5.4.3 Type F Interface In this pad type the data interface to the internal logic has the same path for both input and output. The pull-up is inactive when the driver is enabled.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-43
USERS MANUAL
Pin
3-V Receiver IE
Figure 2-11 Type F Interface 2.5.4.4 Type G Interface In this pad type the data interface to the internal logic has the same path for both input and output. This pad type also has the SPRDS signal as an input to disable the resistor when the pad is a non-bus function.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-44
USERS MANUAL
3-V Driver
Pin
Data In IE
3-V Receiver
Figure 2-12 Type G Interface 2.5.5 Five-Volt Input/Output Pad This pad type is for 5-V bi-directional pins. There is provision to pull the pin up to 5 V and logic to control when the pull-up is enabled. For a 5-V driver, the internal Fast Mode signal selects the slow or fast driver. All 5-V inputs have hyteresis. 2.5.5.1 Type H Interface This pad has logic for a 3-V output function as well as a 5-V input-output function. A 3-V / 5-V sel interface signal determines which driver gets selected. This pad type has two separate data output paths. These paths are multiplexed onto the output pin based on the 3-V / 5-V select signal. This pad also has a dedicated synchronous input path. If only one of the output paths is used on a device, the other can be connected to ground. In this case, the 3-V / 5-V select signal must be tied to the appropriate value to disable the other path.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-45
USERS MANUAL
5V 3-V / 5-V Sel PRDS Drive Sel 5 V Data Out 3 V Data Out Logic 5V Pin Driver 3V
Figure 2-13 Type H Interface 2.5.5.2 Type I Interface This pad has logic for a 3-V input/output function as well as a 5-V input/output function. A 3-V / 5-V sel interface signal indicates which driver gets selected.The data interface to the internal logic has separate paths for input and output.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-46
USERS MANUAL
5V 3-V / 5-V Sel PRDS 5V Data Out OE Drive Sel SLRC Data In IE 5V Receiver 3V Logic Driver 3V Pin
Figure 2-14 Type I Interface 2.5.5.3 Type IH Interface This pad has logic for a 3-V input/output function as well as a 5-V input/output function. A 3-V / 5-V sel interface signal determines which driver gets selected. In this pad type the data interface to the internal logic has separate paths for input and output. The 3-V receiver has 2 possible paths: with or without hysteresis. The hyst_sel signal selects the appropriate path.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-47
USERS MANUAL
5V 3-V / 5-V Sel PRDS 5V Data Out OE Drive Sel SLRC Data In IE 5V Receiver 3V hyst_sel 3V Logic Driver 3V Pin
Figure 2-15 Type IH Interface 2.5.5.4 Type J Interface This pad has logic for a 3-V input/output function as well as a 5-V input/output function. A 3-V / 5-V sel interface signal indicates which driver gets selected. The data interface to the internal logic has the same path for both input and output.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-48
USERS MANUAL
5V 3-V / 5-V Sel PRDS 5V Data OE Drive Sel Logic Driver 3V Pin
SLRC 5V IE Receiver 3V
Figure 2-16 Type J Interface 2.5.5.5 Type JD Interface This pad has logic for a 3-V input/output function as well as a 5-V input/output function. A 3-V / 5-V sel interface signal indicates which driver gets selected. The data interface to the internal logic has the same path for both input and output. The pad has a pull-down resistor which is activated by reset and/or PRDS.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-49
USERS MANUAL
5V IE Receiver 3V
Figure 2-17 Type JD Interface 2.5.6 Type K Interface (EPEE Pad) This pad has a pull-down device that is enabled at all times. The module checks to see that a transition to a new state on the pin is maintained for at least two clocks before the information is passed on internally to the sequencer implemented in the flash. The synchronizer clock to this pad is GCLK2.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-50
USERS MANUAL
Data
1 1 0 1 0
1 1
0 Pin 1 0
Synch. Clk
Sequencer Figure 2-18 EPEE Pad (Type K) 2.5.7 Analog Pads The 5-V analog pads interface to the QADC modules internally. They have separate analog and digital paths in the pad in order to implement the functionality that is multiplexed on the pin. 2.5.7.1 Type L Interface (QADC Port A) This pad is used for interfacing to the port A of the QADC. The digital portion of the pad supports bi-directional operation. The receiver has a synchronizer. The digital input is level-shifted from 5 V to 3 V before it is sent internally to the QADC.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-51
USERS MANUAL
Sync. Clk
Figure 2-19 Type L Interface 2.5.7.2 Type M Interface (QADC Port B) This pad is used for interfacing to port B of the QADC. This is an input-only pad. The receiver has a synchronizer. The digital input is level-shifted from 5 V to 3 V before it is sent internally to the QADC. 5V PRDS Analog In PRDS Pin Dig. In Input Enable Sync. Clk Digital Synch. Rx Level Shifter Analog
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-52
USERS MANUAL
Figure 2-21 Type N Interface 2.5.8 Pads with Fast Mode The type O pads (for interfacing to the QSMCM) and type P pads (for interfacing to the TPU and MIOS) have a fast mode provision. 2.5.8.1 Type O Interface (QSMCM Pads) This pad is used for interfacing to the QSMCM. It is a 5-V, bi-directional pad and has provision for a fast mode in which the slow slew rate driver is bypassed and data is driven by a fast slew rate driver. When the pin is an input, the data can be driven either synchronously or asynchronously. A pull-up device is available which can be disabled using the PRDS signal.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-53
USERS MANUAL
Figure 2-22 Type O Interface 2.5.8.2 Type P Interface (TPU and MIOS Pads) This is a 5-V, bi-directional pad that has a fast mode provision like the QSMCM pads. The input path is always synchronous. The receiver has hysteresis in order to minimize the effect of noise on the pins. In addition, the receiver has a digital filter (somewhat like the sequencer for the EPEE pad) to check for a state on the pin for a particular number of clocks. The pad also has a pull-up device. Depending on the reset state (see Table 2-4) the pull-up may be controlled by the PRDS signal.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-54
USERS MANUAL
Figure 2-23 Type P Interface 2.5.9 5V Input, 5V Output Pads These pads are 5-V only pads. 2.5.9.1 5V Output (Type Q) This pad is a 5-V output-only pad with slow and fast drive capability. The driver is configureable to be either push pull or open drain using the OD enable signal. This pad type has a pull-up device that can be controlled using the PRDS signal.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-55
USERS MANUAL
Figure 2-24 Type Q Interface 2.5.9.2 Type R Interface This is a 5-V input-only pad with a synchronous and asynchronous receiver. Both synchronous and asynchronous data are driven in from the internal module that interfaces to this pad. A pull-up device can be controlled using the PRDS signal. 5V PRDS
Pin
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-56
USERS MANUAL
Figure 2-26 Type S Interface 2.6 Pad Groups A pad group is a set of pins that exhibits similar functional characteristics. Within a group the individual pads may be of different types. The functionality of some pins is defined based on the control bits that are set in the SIUMCR from the reset configuration word. Refer to the section on pin functionality out of reset in the reset section of the document. The following is a list of pad groups which were obtained based on the 3-V / 5-V selection from the information in the pin configuration out of reset tables. In other words, each group receives a different encoded 3-V / 5-V select signal. Table 2-5 Pad Groups Based on 3-V / 5-V Select
Group 1 2 3 4 5 DATA[0:31]/SGPIOD[0:31] ADDR[8:31]/SGPIOA[8:31] IRQ[0]/SGPIOC[0], IRQ[1]/SGPIOC[1], IRQ[4]/SGPIOC[4] IRQ[2]/SGPIOC[2], IRQ[3]/SGPIOC[3], IRQ[5]/SGPIOC[5] Pins FRZ/PTR/SGPIOC[6], SGPIO[7]/IRQOUT/LWP[0]
All pins that drive 3 V have the provision to choose between drive strengths for a 25pF load or a 50-pF load.
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-57
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-58
USERS MANUAL
irq3_b_kr_b_retry_b_sgpioc3 irq3b_sgp
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-59
USERS MANUAL
CS[0:3]
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-60
USERS MANUAL
RXD[1:2]/QGPI[1:2] ECK
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-61
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-62
USERS MANUAL
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-63
USERS MANUAL
B: AN[57:59]/PQA[5:7]
VSS
vss
vss
MPC555
/ MPC556
SIGNAL DESCRIPTIONS
MOTOROLA 2-64
USERS MANUAL
MOTOROLA 3-1
RCPU
FPU
LOAD/ STORE INTEGER DATA L-ADDR LOAD/ STORE ADDRESS INSTRUCTION SEQUENCER CONTROL BUS
ALU/ BFU
IMUL/ IDIV
SO U RCE BU SES
I-DATA
MPC555
/ MPC556
MOTOROLA 3-2
USERS MANUAL
(4 SLO TS /C LO CK )
GPR HISTORY
MPC555
/ MPC556
MOTOROLA 3-3
USERS MANUAL
INSTRUCTION BUFFER 32
BRANCH CONDITION EVALUATION READ WRITE BUSES CC UNIT INSTRUCTION PRE-FETCH QUEUE
32
Figure 3-2 Sequencer Data Path 3.4 Independent Execution Units The PowerPC architecture supports independent floating-point, integer, load/store, and branch processing execution units, making it possible to implement advanced features such as look-ahead operations. For example, since branch instructions do not depend on GPRs, branches can often be resolved early, eliminating stalls caused by taken branches. Table 3-1 summarizes the RCPU execution units.
MPC555
/ MPC556
MOTOROLA 3-4
USERS MANUAL
Includes the FPRs (including FPR history and scoreboard) and the implementation of all floating-point instructions except load and store floating-point instructions
The following sections describe the execution units in greater detail. 3.4.1 Branch Processing Unit (BPU) The BPU, located within the instruction sequencer, performs condition register lookahead operations on conditional branches. The BPU looks through the instruction queue for a conditional branch instruction and attempts to resolve it early, achieving the effect of a zero-cycle branch in many cases. The BPU uses a bit in the instruction encoding to predict the direction of the conditional branch. Therefore, when an unresolved conditional branch instruction is encountered, the processor pre-fetches instructions from the predicted target stream until the conditional branch is resolved. The BPU contains an calculation feature to compute branch target addresses and three special-purpose, user-accessible registers: the link register (LR), the count register (CTR), and the condition register (CR). The BPU calculates the return pointer for subroutine calls and saves it into the LR. The LR also contains the branch target address for the branch conditional to link register (bclrx) instruction. The CTR contains the branch target address for the branch conditional to count register (bcctrx) instruction. The contents of the LR and CTR can be copied to or from any GPR. Because the BPU uses dedicated registers rather than general-purpose or floating-point registers, execution of branch instructions is independent from execution of integer instructions. 3.4.2 Integer Unit (IU) The IU executes all integer processor instructions, except the integer storage access instructions, which are implemented by the load/store unit. The IU contains the following subunits: The IMULIDIV unit includes the implementation of the integer multiply and divide instructions. The ALUBFU unit includes the implementation of all integer logic, add and subtract, and bit field instructions.
MPC555
/ MPC556
MOTOROLA 3-5
USERS MANUAL
3.4.3 Load/Store Unit (LSU) The load/store unit handles all data transfer between the general-purpose register file and the internal load/store bus (L-bus). The load/store unit is implemented as an independent execution unit so that stalls in the memory pipeline do not cause the master instruction pipeline to stall (unless there is a data dependency). The unit is fully pipelined so that memory instructions of any size may be issued on back-to-back cycles. There is a 32-bit wide data path between the load/store unit and the general-purpose register file. Single-word accesses can be achieved with an internal on-chip data RAM, resulting in two clocks latency. Double-word accesses require two clocks, resulting in three clocks latency. Since the L-bus is 32 bits wide, double-word transfers require two bus accesses. The load/store unit performs zero-fill for byte and half-word transfers and sign extension for half-word transfers. Addresses are formed by adding the source one register operand specified by the instruction (or zero) to either a source two register operand or to a 16-bit, immediate value embedded in the instruction. 3.4.4 Floating-Point Unit (FPU) The FPU contains a double-precision multiply array, the floating-point status and control register (FPSCR), and the FPRs. The multiply-add array allows the MPC555 / MPC556 to efficiently implement floating-point operations such as multiply, multiplyadd, and divide. The MPC555 / MPC556 depends on a software envelope to fully implement the IEEE floating-point specification. Overflows, underflows, NaNs, and denormalized numbers cause floating-point assist exceptions that invoke a software routine to deliver (with hardware assistance) the correct IEEE result. To accelerate time-critical operations and make them more deterministic, the MPC555 / MPC556 provides a mode of operation that avoids invoking the software envelope and attempts to deliver results in hardware that are adequate for most applications, if not in strict conformance with IEEE standards. In this mode, denormalized numbers, NaNs, and IEEE invalid operations are treated as legitimate, returning default results rather than causing floating-point assist exceptions.
MPC555
/ MPC556
MOTOROLA 3-6
USERS MANUAL
/ MPC556
MOTOROLA 3-7
USERS MANUAL
Machine State Register MSR 31 Supervisor-Level SPRs 63 See Table 3-2 for list of supervisor-level SPRs.
CR 0 GPR31 0 31
Floating-Point Status and Control Register
FPSCR 0 31
User-Level SPRs
Integer Exception Register (XER) Link Register (LR) Count Register (CTR)
31
Time Base Lower Read (TBL) Time Base Upper Read (TBU)
Figure 3-3 RCPU Programming Model Table 3-2 lists the MPC555 / MPC556 supervisor-level registers.
MPC555
/ MPC556
MOTOROLA 3-8
USERS MANUAL
19
22
26
27
80
81
82
272
273
274
275
MPC555
/ MPC556
MOTOROLA 3-9
USERS MANUAL
792 793 794 795 816 817 818 819 824 825 826 827
1022
Table 3-3 lists the MPC555 / MPC556 SPRs used for development support.
MPC555
/ MPC556
MOTOROLA 3-10
USERS MANUAL
149 150 151 152 153 154 155 156 157 158 159 630
Where not otherwise noted, reserved fields in registers are ignored when written and return zero when read. An exception to this rule is XER[16:23]. These bits are set to the value written to them and return that value when read. 3.7 PowerPC UISA Register Set The PowerPC UISA registers can be accessed by either user- or supervisor-level instructions. The general-purpose registers are accessed through instruction operands.
MPC555
/ MPC556
MOTOROLA 3-11
USERS MANUAL
3.7.2 Floating-Point Registers (FPRs) The PowerPC architecture provides thirty-two 64-bit FPRs. These registers are accessed as source and destination registers through operands in floating-point instructions. Each FPR supports the double-precision, floating-point format. Every instruction that interprets the contents of an FPR as a floating-point value uses the double-precision floating-point format for this interpretation. That is, all floating-point numbers are stored in double-precision format. All floating-point arithmetic instructions operate on data located in FPRs and, with the exception of the compare instructions (which update the CR), place the result into an FPR. Information about the status of floating-point operations is placed into the floating-point status and control register (FPSCR) and in some cases, into the CR, after the completion of the operations writeback stage. For information on how the CR is affected by floating-point operations, see 3.7.4 Condition Register (CR). FPRs Floating-Point Registers
MSB 0 FPR0 FPR1 ... ... FPR31 RESET: UNCHANGED LSB 63
3.7.3 Floating-Point Status and Control Register (FPSCR) The FPSCR controls the handling of floating-point exceptions and records status resulting from the floating-point operations. FPSCR[0:23] are status bits. FPSCR[24:31] are control bits.
MPC555
/ MPC556
MOTOROLA 3-12
USERS MANUAL
FEX and VX are the logical ORs of other FPSCR bits. Therefore these two bits are not listed among the FPSCR bits directly affected by the various instructions. FPSCR Floating-Point Status and Control Register
MSB 0 FX 1 FEX 2 VX 3 OX 4 UX 5 ZX 6 XX 7 VXSNAN 8 VXISI 9 VXIDI 10 11 12 13 FR 14 FI 15 FPRF 0
RESET: UNCHANGED
16
17
18
19
20 0
21
22
23
24 VE
25 OE
26 UE
27 ZE
28 XE
29 NI
30 RN
LSB 31
FPRF[1:4]
RESET: UNCHANGED
MPC555
/ MPC556
MOTOROLA 3-13
USERS MANUAL
FX
FEX
VX
3 4 5 6 7 8 9 10 11 12 13
14
FI
[15:19]
FPRF
20
MPC555
/ MPC556
MOTOROLA 3-14
USERS MANUAL
21
VXSOFT
22 23 24 25
VXSQRT VXCVI VE OE UE ZE XE NI
26 27 28 29
3031
RN
Table 3-6 illustrates the floating-point result flags that correspond to FPSCR[15:19]. Table 3-6 Floating-Point Result Flags in FPSCR
Result Flags (Bits 1519) C<>=? 10001 01001 01000 11000 10010 00010 10100 00100 00101 Result value class Quiet NaN Infinity Normalized number Denormalized number Zero + Zero + Denormalized number + Normalized number + Infinity
3.7.4 Condition Register (CR) The condition register (CR) is a 32-bit register that reflects the result of certain operations and provides a mechanism for testing and branching. The bits in the CR are grouped into eight 4-bit fields, CR0 to CR7.
MPC555
/ MPC556
MOTOROLA 3-15
USERS MANUAL
CR1
CR2
RESET: UNCHANGED
The CR fields can be set in the following ways: Specified fields of the CR can be set by a move instruction (mtcrf) to the CR from a GPR. Specified fields of the CR can be moved from one CRx field to another with the mcrf instruction. A specified field of the CR can be set by a move instruction (mcrxr) to the CR from the XER. Condition register logical instructions can be used to perform logical operations on specified bits in the condition register. CR0 can be the implicit result of an integer operation. A specified CR field can be the explicit result of an integer compare instruction. Instructions are provided to test individual CR bits. 3.7.4.1 Condition Register CR0 Field Definition In most integer instructions, when the CR is set to reflect the result of the operation (that is, when Rc = 1), and for addic., andi., and andis., the first three bits of CR0 are set by an algebraic comparison of the result to zero; the fourth bit of CR0 is copied from XER[SO]. For integer instructions, CR[0:3] are set to reflect the result as a signed quantity. The result as an unsigned quantity or a bit string can be deduced from the EQ bit. The CR0 bits are interpreted as shown in Table 3-7. If any portion of the result (the 32bit value placed into the destination register) is undefined, the value placed in the first three bits of CR0 is undefined. Table 3-7 Bit Descriptions for CR0 Field of CR
CR0 Bit 0 1 2 3 Description Negative (LT) This bit is set when the result is negative. Positive (GT) This bit is set when the result is positive (and not zero). Zero (EQ) This bit is set when the result is zero. Summary overflow (SO) This is a copy of the final state of XER[SO] at the completion of the instruction.
3.7.4.2 Condition Register CR1 Field Definition In all floating-point instructions when the CR is set to reflect the result of the operation (that is, when Rc = 1), the CR1 field (bits 4 to 7 of the CR) is copied from FPSCR[0:3] to indicate the floating-point exception status. For more information about the FPSCR, see 3.7.3 Floating-Point Status and Control Register (FPSCR). The bit descriptions for the CR1 field are shown in Table 3-8.
MPC555
/ MPC556
MOTOROLA 3-16
USERS MANUAL
3.7.4.3 Condition Register CRn Field Compare Instruction When a specified CR field is set by a compare instruction, the bits of the specified field are interpreted as shown in Table 3-9. A condition register field can also be accessed by the mfcr, mcrf, and mtcrf instructions. Table 3-9 CRn Field Bit Descriptions for Compare Instructions
CRn Bit1 Less than, floating-point less than (LT, FL). 0 For integer compare instructions, (rA) < SIMM, UIMM, or (rB) (algebraic comparison) or (rA) SIMM, UIMM, or (rB) (logical comparison). For floating-point compare instructions, (frA) < (frB). Greater than, floating-point greater than (GT, FG). 1 For integer compare instructions, (rA) > SIMM, UIMM, or (rB) (algebraic comparison) or (rA) SIMM, UIMM, or (rB) (logical comparison). For floating-point compare instructions, (frA) > (frB). Equal, floating-point equal (EQ, FE). 2 For integer compare instructions, (rA) = SIMM, UIMM, or (rB). For floating-point compare instructions, (frA) = (frB). Summary overflow, floating-point unordered (SO, FU). 3 For integer compare instructions, this is a copy of the final state of XER[SO] at the completion of the instruction. For floating-point compare instructions, one or both of (frA) and (frB) is not a number (NaN). NOTES: 1. Here, the bit indicates the bit number in any one of the four-bit subfields, CR0CR7 Description
3.7.5 Integer Exception Register (XER) The integer exception register (XER) is a user-level, 32-bit register. XER Integer Exception Register
MSB 1 0 SO 2 3 4 5 6 7 8 9
SPR 1
LSB 31
OV
CA
MPC555
/ MPC556
MOTOROLA 3-17
USERS MANUAL
OV
CA
3:24 25:31
BYTES
3.7.6 Link Register (LR) The 32-bit link register supplies the branch target address for the Branch Conditional to Link Register (bclrx) instruction, and can be used to hold the logical address of the instruction that follows a branch and link instruction. Note that although the two least-significant bits can accept any values written to them, they are ignored when the LR is used as an address. Both conditional and unconditional branch instructions include the option of placing the effective address of the instruction following the branch instruction in the LR. This is done regardless of whether the branch is taken. LR Link Register
MSB 1 0 2 3 4 5 6 7 8 9
SPR 8
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Branch Address RESET: UNCHANGED LSB 31
MPC555
/ MPC556
MOTOROLA 3-18
USERS MANUAL
SPR 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Loop Count RESET: UNCHANGED LSB 31
3.8 PowerPC VEA Register Set Time Base The PowerPC virtual environment architecture (VEA) defines registers in addition to those in the UISA register set. The PowerPC VEA register set can be accessed by all software with either user- or supervisor-level privileges. The PowerPC VEA includes the time base facility (TB), a 64-bit structure that contains a 64-bit unsigned integer that is incremented periodically. The frequency at which the counter is updated is implementation-dependent. For details on the time base clock in the MPC555 / MPC556, refer to 6.7 MPC555 / MPC556 Time Base (TB), 8.6 MPC555 / MPC556 Internal Clock Signals, and 8.12.1 System Clock Control Register (SCCR). The TB consists of two 32-bit registers: time base upper (TBU) and time base lower (TBL). In the context of the VEA, user-level applications are permitted read-only access to the TB. The OEA defines supervisor-level access to the TB for writing values to the TB. Different SPR encodings are provided for reading and writing the time base. TB Time Base (Read Only)
0 TBU RESET: UNCHANGED 31 32 TBL
In 32-bit PowerPC implementations such as the RCPU, it is not possible to read the entire 64-bit time base in a single instruction. The mftb simplified mnemonic copies the lower half of the time base register (TBL) to a GPR, and the mftbu simplified mnemonic copies the upper half of the time base (TBU) to a GPR.
MPC555
/ MPC556
MOTOROLA 3-19
USERS MANUAL
16
17
18
19
20
21
22
23
24
25
26
27
28
29 DCMPEN
2
30
LSB 31 LE
EE
PR
FP
ME
FE0
SE
BE
FE1
IP
IR
DR
RESERVED
RI
RESET: 0 0 0 U 0 0 0 0 0 ID11 0 0 0 0 0 0
NOTES: 1. Reset value of this bit depends on the value of the internal data bus line during reset. 2. This bit is only available on the MPC556.
MPC555
/ MPC556
MOTOROLA 3-20
USERS MANUAL
15
ILE
16
EE
17
PR
18
FP
19 20
ME FE0
21
SE
22 23 24 25
BE FE1 IP
26
IR
27
DR
MPC555
/ MPC556
MOTOROLA 3-21
USERS MANUAL
30
31
LE
3-13.
01, 10, 11
3.9.2 DAE/Source Instruction Service Register (DSISR) The 32-bit DSISR identifies the cause of data access and alignment exceptions. DSISR DAE/Source Instruction Service Register
MSB 1 0 2 3 4 5 6 7 8 9
SPR 18
LSB 31
3.9.3 Data Address Register (DAR) After an alignment exception, the DAR is set to the effective address of a load or store element. DAR Data Address Register
MSB 1 0 2 3 4 5 6 7 8 9
SPR 19
LSB 31
MPC555
/ MPC556
MOTOROLA 3-22
USERS MANUAL
The TB can be written to at the supervisor privilege level only. The mttbl and mttbu simplified mnemonics write the lower and upper halves of the TB, respectively. The mtspr, mttbl, and mttbu instructions treat TBL and TBU as separate 32-bit registers; setting one leaves the other unchanged. It is not possible to write the entire 64-bit time base in a single instruction. For information about reading the time base, refer to 3.8 PowerPC VEA Register Set Time Base. 3.9.5 Decrementer Register (DEC) The decrementer (DEC, SPR 22) is a 32-bit decrementing counter defined by the MPC555 / MPC556 to provide a decrementer exception after a programmable delay. The DEC satisfies the following requirements: Loading a GPR from the DEC has no effect on the DEC. Storing a GPR to the DEC replaces the value in the DEC with the value in the GPR. Whenever bit 0 of the DEC changes from zero to one, a decrementer exception request (unless masked) is signaled. Multiple DEC exception requests may be received before the first exception occurs; however, any additional requests are canceled when the exception occurs for the first request. If the DEC is altered by software and the content of bit 0 is changed from zero to one, an exception request is signaled. PORESET resets and stops the decrementer, HRESET/SRESET do not. The decrementer frequency is based on a subdivision of the processor clock. A bit in the system clock control register (SCCR) in the SIU determines the clock source of both the decrementer and the time base. For details on the decrementer and time base
MPC555
/ MPC556
MOTOROLA 3-23
USERS MANUAL
SPR 22
LSB 31
3.9.6 Machine Status Save/Restore Register 0 (SRR0) The machine status save/restore register 0 (SRR0) is a 32-bit register that identifies where instruction execution should resume when an rfi instruction is executed following an exception. It also holds the effective address of the instruction that follows the System Call (sc) instruction. When an exception occurs, SRR0 is set to point to an instruction such that all prior instructions have completed execution and no subsequent instruction has begun execution. The instruction addressed by SRR0 may not have completed execution, depending on the exception type. SRR0 addresses either the instruction causing the exception or the immediately following instruction. The instruction addressed can be determined from the exception type and status bits. SRR0 Machine Status Save/Restore Register 0
MSB 1 0 2 3 4 5 6 7 8 9
SPR 26
LSB 31
When an exception occurs, SRR0 is set to point to an instruction such that all prior instructions have completed execution and no subsequent instruction has begun execution. The instruction addressed by SRR0 may not have completed execution, depending on the exception type. SRR0 addresses either the instruction causing the exception or the immediately following instruction. The instruction addressed can be determined from the exception type and status bits. 3.9.7 Machine Status Save/Restore Register 1 (SRR1) SRR1 is a 32-bit register used to save machine status on exceptions and to restore machine status when an rfi instruction is executed.
MPC555
/ MPC556
MOTOROLA 3-24
USERS MANUAL
SPR 27
LSB 31
In general, when an exception occurs, SRR1[0:15] are loaded with exception-specific information, and MSR[16:31] are placed into SRR1[16:31]. 3.9.8 General SPRs (SPRG0SPRG3) SPRG0SPRG3 are 32-bit registers provided for general operating system use, such as performing a fast-state save and for supporting multiprocessor implementations. SPRG0SPRG3 are shown below. SPRG0SPRG3 General Special-Purpose Registers 03
MSB 1 0 2 3 4 5 6 7 8 9
Uses for SPRG0SPRG3 are shown in Table 3-15. Table 3-15 Uses of SPRG0SPRG3
Register SPRG0 SPRG1 SPRG2 SPRG3 Description Software may load a unique physical address in this register to identify an area of memory reserved for use by the exception handler. This area must be unique for each processor in the system. This register may be used as a scratch register by the exception handler to save the content of a GPR. That GPR then can be loaded from SPRG0 and used as a base register to save other GPRs to memory. This register may be used by the operating system as needed. This register may be used by the operating system as needed.
3.9.9 Processor Version Register (PVR) The PVR is a 32-bit, read-only register that identifies the version and revision level of the PowerPC processor. The contents of the PVR can be copied to a GPR by the mfspr instruction. Read access to the PVR is available in supervisor mode only; write access is not provided. PVR Processor Version Register
MSB 1 0 2 3 4 5 6 7 8 9
SPR 287
LSB 31
VERSION
MPC555
/ MPC556
MOTOROLA 3-25
USERS MANUAL
3.9.10 Implementation-Specific SPRs The MPC555 / MPC556 includes several implementation-specific SPRs that are not defined by the PowerPC architecture. These registers can be accessed by supervisorlevel instructions only. These registers are listed in Table 3-2 and Table 3-3.
3.9.10.1 EIE, EID, and NRI Special-Purpose Registers The RCPU includes three implementation-specific SPRs to facilitate the software manipulation of the MSR[RI] and MSR[EE] bits. Issuing the mtspr instruction with one of these registers as an operand causes the RI and EE bits to be set or cleared as shown in Table 3-17. A read (mfspr) of any of these locations is treated as an unimplemented instruction, resulting in a software emulation exception. Table 3-17 EIE, EID, AND NRI Registers
SPR Number (Decimal) 80 81 82 Mnemonic EIE EID NRI MSR[EE] 1 0 0 MSR[RI] 1 1 0
3.9.10.2 Floating-Point Exception Cause Register (FPECR) The FPECR is a 32-bit supervisor-level internal status and control register used by the floating-point assist firmware envelope. It contains four status bits indicating whether the result of the operation is tiny and whether any of three source operands are denormalized. In addition, it contains one control bit to enable or disable SIE mode. This register must not be accessed by user code.
MPC555
/ MPC556
MOTOROLA 3-26
USERS MANUAL
SPR 1022
14 15
16
17
18
19
20
21
22
23
24
25
26
27
28 DNC
29 DNB
30 DNA
LSB 31 TR
RESERVED RESET:
A listing of FPECR bit descriptions is shown in Table 3-18. Table 3-18 FPECR Bit Descriptions
Bit(s) 0 [1:27] 28 Name SIE DNC SIE mode control bit 0 = Disable SIE mode 1 = Enable SIE mode Reserved Source operand C denormalized status bit 0 = Source operand C is not denormalized 1 = Source operand C is denormalized Source operand B denormalized status bit 0 = Source operand B is not denormalized 1 = Source operand B is denormalized Source operand A denormalized status bit 0 = Source operand A is not denormalized 1 = Source operand A is denormalized Floating-point tiny result 0 = Floating-point result is not tiny 1 = Floating-point result is tiny Description
29
DNB
30
DNA
31
TR
NOTE Software must insert a sync instruction before reading the FPECR. 3.9.10.3 Additional Implementation-Specific Registers Refer to the following sections for details on additional implementation-specific registers in the MPC555 / MPC556: 4.6 Burst Buffer Programming Model 6.13.1.2 Internal Memory Map Register 11.8 L2U Programming Model SECTION 21 DEVELOPMENT SUPPORT
MPC555
/ MPC556
MOTOROLA 3-27
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-28
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-29
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-30
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-31
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-32
USERS MANUAL
3.10.2 Recommended Simplified Mnemonics To simplify assembly language coding, a set of alternative mnemonics is provided for some frequently used operations (such as no-op, load immediate, load address, move register, and complement register). For a complete list of simplified mnemonics, see the RCPU Reference Manual (RCPURM/AD). Programs written to be portable across the various assemblers for the PowerPC architecture should not assume the existence of mnemonics not described in that manual. 3.10.3 Calculating Effective Addresses The effective address (EA) is the 32-bit address computed by the processor when executing a memory access or branch instruction or when fetching the next sequential instruction. The PowerPC architecture supports two simple memory addressing modes: EA = (rA|0) + 16-bit offset (including offset = 0) (register indirect with immediate index) EA = (rA|0) + rB (register indirect with index) These simple addressing modes allow efficient address generation for memory accesses. Calculation of the effective address for aligned transfers occurs in a single clock cycle.
MPC555
/ MPC556
MOTOROLA 3-33
USERS MANUAL
3.11.2 Ordered Exceptions In the MPC555 / MPC556, all exceptions except for reset, debug port non-maskable interrupts, and machine check exceptions are ordered. Ordered exceptions satisfy the following criteria: Only one exception is reported at a time. If, for example, a single instruction encounters multiple exception conditions, those conditions are encountered sequentially. After the exception handler handles an exception, instruction execution continues until the next exception condition is encountered. When the exception is taken, no program state is lost. 3.11.3 Unordered Exceptions Unordered exceptions may be reported at any time and are not guaranteed to preserve program state information. The processor can never recover from a reset exception. It can recover from other unordered exceptions in most cases. However, if a
MPC555
/ MPC556
MOTOROLA 3-34
USERS MANUAL
3.11.4 Precise Exceptions In the MPC555 / MPC556, all synchronous (instruction-caused) exceptions are precise. When a precise exception occurs, the processor backs the machine up to the instruction causing the exception. This ensures that the machine is in its correct architecturally-defined state. The following conditions exist at the point a precise exception occurs: 1. Architecturally, no instruction following the faulting instruction in the code stream has begun execution. 2. All instructions preceding the faulting instruction appear to have completed with respect to the executing processor. 3. SRR0 addresses either the instruction causing the exception or the immediately following instruction. Which instruction is addressed can be determined from the exception type and the status bits. 4. Depending on the type of exception, the instruction causing the exception may not have begun execution, may have partially completed, or may have completed execution. 3.11.5 Exception Vector Table The setting of the exception prefix (IP) bit in the MSR determines how exceptions are vectored. If the bit is cleared, the exception vector table begins at the physical address 0x0000 0000; if IP is set, the exception vector table begins at the physical address 0xFFF0 0000. Table 3-21 shows the exception vector offset of the first instruction of the exception handler routine for each exception type. NOTE In the MPC555 / MPC556, the exception table can additionally be relocated by the BBC module to internal memory and reduce the total size required by the exception table (see 4.5 Exception Table Relocation).
MPC555
/ MPC556
MOTOROLA 3-35
USERS MANUAL
00900 00A00 00B00 00C00 00D00 00E00 01000 01100 01200 01300 01400 0150001BFF 01C00 01D00 01E00 01F00
3.12 Instruction Timing The MPC555 / MPC556 processor is pipelined. Because the processing of an instruction is broken into a series of stages, an instruction does not require the entire resources of the processor. The instruction pipeline in the MPC555 / MPC556 has four stages: 1. The dispatch stage is implemented using a distributed mechanism. The central dispatch unit broadcasts the instruction to all units. In addition, scoreboard information (regarding data dependencies) is broadcast to each execution unit. Each execution unit decodes the instruction. If the instruction is not implemented, a program exception is taken. If the instruction is legal and no data dependency is found, the instruction is accepted by the appropriate execution unit, and the data found in the destination register is copied to the history buffer. If a data dependency exists, the machine is stalled until the dependency is resolved.
MPC555
/ MPC556
MOTOROLA 3-36
USERS MANUAL
FETCH
I1
I2
I3
DECODE READ AND EXECUTE WRITE BACK (TO DEST REG) L ADDRESS DRIVE L DATA LOAD WRITE BACK BRANCH DECODE BRANCH EXECUTE I1
I1 I1
I2 I2 I1 I1
STORE LOAD
I2
I1
I1
Figure 3-4 Basic Instruction Pipeline Table 3-22 indicates the latency and blockage for each type of instruction. Latency refers to the interval from the time an instruction begins execution until it produces a result that is available for use by a subsequent instruction. Blockage refers to the interval from the time an instruction begins execution until its execution unit is available for a subsequent instruction. Note that when the blockage equals the latency, it is not possible to issue another instruction to the same unit in the same cycle in which the first instruction is being written back.
MPC555
/ MPC556
MOTOROLA 3-37
USERS MANUAL
Integer load/store
3.13 PowerPC User Instruction Set Architecture (UISA) 3.13.1 Computation Modes The core of the MPC555 / MPC556 is a 32-bit implementation of the PowerPC architecture. Any reference in the PowerPC Architecture Books (UISA, VEA, OEA) regarding 64-bit implementations are not supported by the core. All registers except the floating-point registers are 32 bits wide. 3.13.2 Reserved Fields Reserved fields in instructions are described under the specific instruction definition sections. Unless otherwise stated in the specific instruction description, fields marked I, II and III in the instruction are discarded by the core decoding. Thus, this type of invalid form instructions yield results of the defined instructions with the appropriate field zero. In most cases, the reserved fields in registers are ignored on write and return zeros for them on read on any control register implemented by the MPC555 / MPC556. Exception to this rule are bits 16:23 of the fixed-point exception cause register (XER) and the reserved bits of the machine state register (MSR), which are set by the source value on write and return the value last set for it on read. 3.13.3 Classes of Instructions Non-optional instructions are implemented by the hardware. Optional instructions are executed by implementation-dependent code and any attempt to execute one of these commands causes the MPC555 / MPC556 to take the implementation-dependent software emulation interrupt (offset 0x01000 of the vector table). Illegal and reserved instruction class instructions are supported by implementationdependent code and, thus, the MPC555 / MPC556 hardware generates the implemenMPC555
/ MPC556
MOTOROLA 3-38
USERS MANUAL
/ MPC556
MOTOROLA 3-39
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-40
USERS MANUAL
3.13.10.3 Fixed-Point Load String Instructions Load string instructions behave the same as load multiple instructions, with respect to invalid format in which RA is in the range of registers to be loaded. In case RA is in the range, it is updated from memory. 3.13.10.4 Storage Synchronization Instructions For these type of instructions, EA must be a multiple of four. If it is not, the system alignment error handler is invoked. 3.13.10.5 Floating-Point Load and Store With Update Instructions For Load and Store with update instructions, if RT = 0 then the EA is written into R0. 3.13.10.6 Floating-Point Load Single Instructions In case the operand falls in the range of a single denormalized number the floatingpoint assist interrupt handler is invoked. Refer to RCPU Reference Manual (Floating-Point Assist for Denormalized Operands) for complete description of handling denormalized floating-point numbers. 3.13.10.7 Floating-Point Store Single Instructions In case the operand falls in the range of a single denormalized number, the floatingpoint assist interrupt handler is invoked. In case the operand is ZERO it is converted to the correct signed ZERO in single-precision format. In case the operand is between the range of single denormalized and double denormalized it is considered a programming error. The hardware will handle this case as if the operand was single denormalized. In case the operand falls in the range of double denormalized numbers it is considered a programming error. The hardware will handle this case as if the operand was ZERO.
MPC555
/ MPC556
MOTOROLA 3-41
USERS MANUAL
3.13.10.9 Little-Endian Byte Ordering The load/store unit supports little-endian byte ordering as specified in the UISA. In little-endian mode, if an attempt is made to execute an individual scalar unaligned transfer, as well as a multiple or string instruction, an alignment interrupt is taken. 3.14 PowerPC Virtual Environment Architecture (VEA) 3.14.1 Atomic Update Primitives Both the lwarx and stwcx instructions are implemented according to the PowerPC architecture requirements. The MPC555 / MPC556 does not provide support for snooping an external bus activity outside the chip. The provision is made to cancel the reservation inside the MPC555 / MPC556 by using the CR_B and KR_B input pins. 3.14.2 Effect of Operand Placement on Performance The load/store unit hardware supports all of the PowerPC load/store instructions. An optimal performance is obtained for naturally aligned operands. These accesses result in optimal performance (one bus cycle) for up to 4 bytes size and good performance (two bus cycles) for double precision floating-point operands. Unaligned operands are supported in hardware and are broken into a series of aligned transfers. The effect of operand placement on performance is as stated in the VEA, except for the case of 8byte operands. In that case, since the MPC555 / MPC556 uses a 32-bit wide data bus, the performance is good rather than optimal. 3.14.3 Storage Control Instructions The MPC555 / MPC556 does not implement cache control instructions (icbi, isync, dcbt, dcbi, dcbf, dcbz, dcbst, and dcbtst) . 3.14.4 Instruction Synchronize (isync) Instruction The isync instruction causes a reflect which waits for all prior instructions to complete and then executes the next sequential instruction. Any instruction after an isync will see all effects of prior instructions. / MPC556
MPC555
MOTOROLA 3-42
USERS MANUAL
The SF bit is reserved set to zero The IP bit initial state after reset is set as programmed by the reset configuration as specified by the USIU specification. 3.15.1.2 Branch Processors Instructions The MPC555 / MPC556 implements all the instructions defined for the branch processor in the UISA in the hardware. 3.15.2 Fixed-Point Processor 3.15.2.1 Special Purpose Registers Unsupported Registers The following registers are not supported by the MPC555 / MPC556: SDR, EAR, IBAT0U, IBAT0L, IBAT1U, IBAT1L, IBAT2U, IBAT2L, IBAT3U, IBAT3L, DBAT0U, DBAT0L, DBAT1U, DBAT1L, DBAT2L,
MPC555
/ MPC556
MOTOROLA 3-43
USERS MANUAL
Bits
Description Set to the effective address of the instruction that the processor attempts to execute next if no interrupt conditions are present
1:4 10:15 Save/Restore Register 1 (SRR1) Other IP ME Machine State Register (MSR) LE Other
Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI No change No change Bit is copied from ILE Set to 0
MPC555
/ MPC556
MOTOROLA 3-44
USERS MANUAL
Bits
Description Set to the effective address of the instruction that caused the interrupt
1 2:4 Save/Restore Register 1 (SRR1) 10:15 Other IP ME Machine State Register (MSR) LE Other
Set to 1 for instruction fetch-related errors and 0 for load/ store-related errors Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI No change No change Bit is copied from ILE Set to 0
For load/store bus cases, these registers are also set: Execution resumes at offset 0x00200 from the base address indicated by MSRIP. 3.15.4.3 Data Storage Interrupt A data storage interrupt is never generated by the hardware. The software may branch to this location as a result of implementation-specific data storage protection error interrupt.
MPC555
/ MPC556
MOTOROLA 3-45
USERS MANUAL
3.15.4.4 Instruction Storage Interrupt An instruction storage interrupt is never generated by the hardware. The software may branch to this location as a result of an implementation-specific instruction storage protection error interrupt. 3.15.4.5 Alignment Interrupt An alignment exception occurs as a result of one of the following conditions: The operand of a floating-point load or store is not word aligned. The operand of load/store multiple is not word aligned. The operand of lwarx or stwcx is not word aligned. The operand of load/store individual scalar instruction is not naturally aligned when MSRLE = 1. An attempt to execute multiple/string instruction is made when MSRLE = 1. 3.15.4.6 Floating-Point Enabled Exception Type Program Interrupt A floating-point enabled exception type program interrupt is generated if ((MSRFE0 | MSRFE1) &FPSCRFEX) is set as a result of move to FPSCR instruction, move to MSR instruction or the execution of the rfi instruction. A floating-point enabled exception type program interrupt is not generated by floating-point arithmetic instructions. Instead if ((MSRFE0 | MSRFE1) &FPSCRFEX) is set, the floating-point assist interrupt is generated. 3.15.4.7 Illegal Instruction Type Program Interrupt An illegal instruction type program interrupt is not generated by the MPC555 / MPC556. An implementation dependent software emulation interrupt is generated instead. 3.15.4.8 Privileged Instruction Type Program interrupt A privileged instruction type program interrupt is generated for an on-core valid SPR field or any SPR encoded as an external to the core special register if SPR0 = 1 and MSRPR = 1, as well as an attempt to execute privileged instruction when MSRPR = 1. / MPC556
MPC555
MOTOROLA 3-46
USERS MANUAL
Bits
Description Set to the effective address of the instruction following the executed instruction
1:4 10:15 Save/Restore Register 1 (SRR1) Other IP ME Machine State Register (MSR) LE Other
Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI No change No change Bit is copied from ILE Set to 0
Execution resumes at offset 0x00D00 from the base address indicated by MSRIP. 3.15.4.11 Floating-Point Assist Interrupt A floating-point assist interrupt occurs in the following cases: When a floating-point exception condition is detected, the corresponding floatingpoint enable bit in the FPSCR (floating-point status and control register) is set (exception enabled) and ((MSRFE0 | MSRFE1) = 1). Note that when ((MSRFE0 | MSRFE1) and FPSCRFEX) is set as a result of move to FPSCR, move to MSR or rfi, the floating-point assist interrupt handler is not invoked. When an intermediate result is detected and the floating-point underflow exception is disabled (FPSCRUE = 0) In some cases when at least one of the source operands is denormalized. The following registers are set: Execution resumes at offset 0x00E00 from the base address indicated by MSRIP.
MPC555
/ MPC556
MOTOROLA 3-47
USERS MANUAL
NOTES: 1. In the current implementation bit 30 of the SRR1 is never cleared other then by loading zero value from MSR RI.
3.15.4.12 Implementation-Dependent Software Emulation Interrupt An implementation-dependent software emulation interrupt occurs in the following instances: When executing any non-implemented instruction. This includes all illegal and unimplemented optional instructions and all floating-point instructions. When executing a mtspr or mfspr that specifies on-core non-implemented register, regardless of SPR0. When executing a mtspr or mfspr that specifies off-core non-implemented register and SPR0 = 0 or MSRPR = 0 (no program interrupt condition). Program interrupt is generated if ((MSRFE0 | MSRFE1) and FPSCRFEX) is set as a result of move to FPSCR instruction, move to MSR instruction, or the execution of the rfi instruction. Floating-point enabled exception type program interrupt is not generated by floating-point arithmetic instructions, instead if ((MSRFE0 | MSRFE1) &FPSCRFEX) is set, the floating-point assist interrupt is generated. In addition, the following registers are set:
MPC555
/ MPC556
MOTOROLA 3-48
USERS MANUAL
Bits
Description Set to the effective address of the instruction that caused the interrupt
1:4 10:15 Save/Restore Register 1 (SRR1) Other IP ME Machine State Register (MSR) LE Other
Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI No change No change Bit is copied from ILE Set to 0
Execution resumes at offset 0x01000 from the base address indicated by MSRIP. 3.15.4.13 Implementation-Specific Instruction Storage Protection Error Interrupt The implementation-specific instruction storage protection error interrupt occurs in the following cases: The fetch access violates storage protection. The fetch access is to guarded storage and MSRIR = 1. The following registers are set:
MPC555
/ MPC556
MOTOROLA 3-49
USERS MANUAL
Bits
Description Set to the effective address of the instruction that caused the interrupt
1 2 3 4 10
Set to 0 Set to 0 Set to 1 if the fetch access was to a guarded storage when MSRIR = 1, otherwise set to 0 Set to 1 if the storage access is not permitted by the protection mechanism; otherwise set to 0 Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI No change No change Bit is copied from ILE Set to 0
Execution resumes at offset 0x01300 from the base address indicated by MSRIP. 3.15.4.14 Implementation-Specific Data Storage Protection Error Interrupt The implementation-specific data storage protection error interrupt occurs in the following case: The access violates the storage protection. The following registers are set:
MPC555
/ MPC556
MOTOROLA 3-50
USERS MANUAL
Bits
Description Set to the effective address of the instruction that caused the interrupt
1:4 10:15 Save/Restore Register 1 (SRR1) Other IP ME Machine State Register (MSR) LE Other 0 1 2:3 Data/Storage Interrupt Status Register (DSISR) 4 5 6 7:31 Data Address Register (DAR)
Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI No change No change Bit is copied from ILE Set to 0 Set to 0 Set to 0 Set to 0 Set to 1 if the storage access is not permitted by the protection mechanism. Otherwise set to 0 Set to 0 Set to 1 for a store operation and to 0 for a load operation Set to 0 Set to the effective address of the data access that caused the interrupt
Execution resumes at offset 0x01400 from the base address indicated by MSRIP. 3.15.4.15 Implementation-Specific Debug Interrupts Implementation-specific debug interrupts occur in the following cases: When there is an internal breakpoint match (for more details, refer to SECTION 21 DEVELOPMENT SUPPORT. When a peripheral breakpoint request is asserted to the MPC555 / MPC556 core. When the development port request is asserted to the MPC555 / MPC556 core. Refer to SECTION 21 DEVELOPMENT SUPPORT for details on how to generate the development port-interrupt request. The following registers are set:
MPC555
/ MPC556
MOTOROLA 3-51
USERS MANUAL
Register Name
Bits
Description For I-breakpoints, set to the effective address of the instruction that caused the interrupt. For L-breakpoint, set to the effective address of the instruction following the instruction that caused the interrupt. For development port maskable request or a peripheral breakpoint, set to the effective address of the instruction that the processor would have executed next if no interrupt conditions were present. If the development port request is asserted at reset, the value of SRR0 is undefined.
1:4 10:15
Set to 0 Set to 0 Loaded from bits 16:31 of MSR. In the current implementation, Bit 30 of the SRR1 is never cleared, except by loading a zero value from MSRRI. If the development port request is asserted at reset, the value of SRR1 is undefined. No change No change Bit is copied from ILE Set to 0
Bits
Description Set to the effective address of the data access as computed by the instruction that caused the interrupt Do not change
Execution resumes at offset from the base address indicated by MSRIP as follows: 0x01D00 For instruction breakpoint match 0x01C00 For data breakpoint match 0x01E00 For development port maskable request or a peripheral breakpoint 0x01F00 For development port non-maskable request 3.15.4.16 Partially Executed Instructions In general, the architecture permits instructions to be partially executed when an alignment or data storage interrupt occurs. In the core, instructions are not executed at all if an alignment interrupt condition is detected and data storage interrupt is never generated by the hardware. In the MPC555 / MPC556, the instruction can be partially executed only in the case of the load/store instructions that cause multiple access to the memory subsystem. These instructions are:
MPC555
/ MPC556
MOTOROLA 3-52
USERS MANUAL
3.15.6 Optional Facilities and Instructions Any other OEA optional facilities and instructions (except those that are discussed here) are not implemented by the MPC555 / MPC556 hardware. Attempting to execute any of these instructions causes an implementation dependent software emulation interrupt to be taken.
MPC555
/ MPC556
MOTOROLA 3-53
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 3-54
USERS MANUAL
BURST BUFFER
MOTOROLA 4-1
IMPU
Protection-Abort to U-bus
BBC
ICDU--Decompressor
Figure 4-1 Burst Buffer Block Diagram 4.2 Burst Buffer Features The BBC offers the following features: Supports pipelined access to internal memory and burstable access to the external memory. Supports the de-coupled interface with the RCPU instruction unit. Serves as parked master on the U-bus, resulting in zero clocks delay for RCPU fetch access to cross to the U-bus. Full utilization of the U-bus pipeline for fetch accesses. Tightly interfaced with L2U interface module, taking advantage of full U-bus bandwidth and back-to-back accesses. Supports program trace and show cycle attributes. Supports special attribute for debug port fetch accesses. Is programmed using the MPC555 / MPC556 mtspr/mfspr instructions to/from implementation specific special-purpose registers. Designed for minimum power consumption. The ICDU offers the following features: Instruction code on-line decompression based on a fixed vocabulary (bounded Huffman) algorithm. No need for address translation between compressed and non-compressed address spaces ICDU provides next instruction address to the RCPU Instruction decompression takes one clock cycle. Code decompression is pipelined. No performance penalty during sequential program flow execution
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-2
USERS MANUAL
/ MPC556
BURST BUFFER
MOTOROLA 4-3
USERS MANUAL
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-4
USERS MANUAL
Original Code 0 1 2 3
0 4 8 8 c 10 14 18
Compressed
4
0 4 8 8 c 10 14 18
1 2
SAVED
Figure 4-2 Example of Compressed Code Each instruction is divided to four bytes, marked X1, X2, X3 and X4. For each such byte a separate (Huffman coding) vocabulary is generated, marked Tx1, Tx2, Tx3 and Tx4. Once compressed, each instruction yields four symbols (corresponding to the X1, X2, X3, and X4 input bytes). Therefore, in order to compress a given code, four vocabularies are required. This partitionong produced a better comression ratio.
7 8
15 16
23 24
31
X1
vocabulary1
X2
vocabulary2
X3
vocabulary3
X4
vocabulary4
Tx1
Tx2
Tx3
Tx4
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-5
USERS MANUAL
Left Stream
X1, X2
0 15 16
X3, X4
Right Stream
31
Figure 4-4 Two Streams Memory Organization Before Compression In Figure 4-4, each left and right stream line includes two original bytes of the instruction. Figure 4-5, shows the memory after compressed streams have been put into it.
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-6
USERS MANUAL
Uncompressed Code
0 n n+1 8 15
(n) and (n+1) are word addresses in the original uncompressed code
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-7
USERS MANUAL
19
Left / Right Bit Same Line Bit x Base Address x+4 Right Pointer Start Bit x+8 x+c
Figure 4-7 Compressed Address Format The base address contains the lowest word address of physical memory where the instruction resides. The left / right bit, bit number 20, indicates which instruction stream side (left or right) resides in the memory word location being pointed to by the base address. A zero 0 for bit 20 will indicate that the left side is resident in the base address location. A one 1 for bit 20 will indicate that the right side is resident in the base address location. The instruction stream side not pointed to will reside in the following address location. The same line bit, bit 21, reflects the relative location of the two side streams for the instruction. If bit 21 is zero 0, both left and right streams are located at the base address location. In this case, bit 20 has no meaning and is a dont care value of X. If bit 21 is one 1, then the two parts of the instruction are located in different address word locations (one at x base address, the other at x+4). Figure 4-8 illustrates the three possible cases for bits 20 and 21.
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-8
USERS MANUAL
Base Address
Left/Right = X (dont care) ( Left and Right are at the base address), Same_Line = 0
Base Address
x x+4
0 Word Pointer - Base Address Left/Right = 1 (Right side is first at the base address), Same_Line = 1
19
Base Address
Compressed Instruction
Figure 4-8 Examples of Instruction Layout in Memory 4.3.6 Compressed Address Format Direct Branches The one pointer format is used for the conditional and unconditional direct branches. Figure 4-9 illustrates the one pointer format. The word pointer for the unconditional branch has nineteen bits (the lower two-byte bits are ignored). This will yield an unconditional branch displacement limit of two Mbytes. The word pointer for the conditional
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-9
USERS MANUAL
Word Pointer 0 6 30 31
Word Pointer 0 6
5-bit Pointer 25
30 31
Word Pointer 0 16 25 30 31
Word Pointer
25 16 0 Conditional immediate branch instruction AFTER compression mapping (B-form) Base Address of the Branch Instruction Word Pointer from the Immediate Field
Word Pointer - Base Address 0 Direct (internal) branch address format (one pointer format)
5-bit Pointer 27 31
Figure 4-9 Generating Compressed Code Address for PowerPC Direct Branches
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-10
USERS MANUAL
Base Address
Label Format
Figure 4-10 Extracting Direct Branch Target Address in the Decompressor 4.3.7 Compressed Address Format Indirect Branches Indirect branches use the regular two pointer format described above. The indirect branch destination address is copied without any change from one of the following registers: LR CTR SRR0 See the PowerPC RCPU Users Manual, RCPURM/AD, for more details. 4.3.8 Compression Process The compression process is implemented by the following steps (See Figure 4-11): User code compilation/linking User application code compression by software compression tool. The compiler will add a few simple hooks to the compiled code which will make compression possible. Compiled code will be generated in the elf format for code
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-11
USERS MANUAL
Compressor Tool
x.elf.sqz
Vocabulary
Figure 4-11 Code Compression Process (Phase A) The compression tool replaces regular PowerPC instructions by their compressed representation which contain fewer data bits. The compressed data bit representation is contained in the vocabulary. The vocabulary is structured into a binary bounded Huffman code tree. This method has the result of the first instructions being represented by fewer bits. Further instructions require more bits for unique decoding. Therefore, the instructions that occur most in code should be represented earlier in the vocabulary structure. This would produce the most condensed code. A statistical study was made of typical application code. The existing vocabulary is fixed for Phase A
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-12
USERS MANUAL
a b BYPS_node h g e d c f
An a instruction half requires less bits than an h instruction half. A bypass instruction requires four bits. = another bit = Instruction location
Figure 4-12 Bounded Huffman Code Tree In Figure 4-12, instruction a would require two bits. The bypass node would require four bits. The bounded form of the Huffman code tree is limited in size for implementation into hardware. The largest compressed instruction is 36 bits four bits for the bypass mode plus the normal uncompressed 32-bit instruction. 4.3.9 Decompression The instruction code is stored in the memory in the compressed form The decode vocabulary is stored in the burst buffer controller (BBC). The decompression is done on-line by the dedicated decompressor unit in the BBC. Decompression flow: (See Figure 4-11) RCPU provides a bit aligned COF1 address to the BBC. ICDU: Converts COF address to word aligned physical address to access the memory Fetches the compressed instruction code data from the memory, decompresses it and delivers non-compressed instruction code together with the bit aligned next instruction address to the RCPU, that uses it for subroutine and exceptions handling. When instructions are running without a COF, the next instruction is prefetched and decoded in the current cycle. This eliminates any delays from code compression during regular sequential (non-COF) operation.
1. COF
= Change of Flow
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-13
USERS MANUAL
BBC
Figure 4-13 Code Decompression Process 4.3.10 Compression Environment Initialization At power on reset (POR) or with a hard reset, the default settings will be activated unless the configuration word inputs override these defaults. The compression mode configuration data to be programmed is supplied by the user software in the flash. The hard reset configuration word (described in SECTION 7 RESET) has two bits which control the code compression mode. Bit 21 enables code compression when equal to 1 and disables code compression when equal to 0. Bit 22 defines the exception table code as either compressed with a value of 1 or non-compressed with a value of 0. 4.4 Modes Of Operation The burst buffer module can operate in the following modes: Normal Slave Reset Debug Standby Burst The modes of operation are described in the following paragraphs.
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-14
USERS MANUAL
Cancels the request that was forwarded to the BBC Informs the RCPU core that the requested address generated an exception If the required address contains show cycle or program trace attributes, the BBC delivers the access to the U-bus even if the request is cancelled (due to the exception it caused). The BBC forwards show cycle, program trace and debug port access attributes accompanying the CPU access along with the U-bus access. 4.4.2 Slave Operation. The burst buffer module is operating as a U-bus slave module when the instruction memory protection unit (IMPU) registers are accessed by the user in order to be programmed. This programming is done using the mtspr /mfspr instructions. 4.4.3 Reset Operation On reset the BBC goes to an idle state, and all pending U-bus accesses are ignored. The IMPU goes to a disabled state in which all memory space is accessible to both user and supervisor. 4.4.4 Debug Mode Operation When the CPU is in debug mode, fetch accesses are attached with a special attribute. If this attribute is asserted, the BBC must initiate not-burstable accesses to the debug port. 4.4.5 Standby Mode Operation In this low-power mode the CPU stops issuing further accesses. The BBC clocks are turned off, and the BBC enters a power-save state. When the low-power mode is exited, clocks are activated and a new access from the CPU will activate the BBC. 4.4.6 Burst Operation The BBC can run burst accesses on the U-bus. Such burst cycles, if forwarded to external memory, are then exported to the EBI as burst cycles (if bursts are enabled by the USIU).
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-15
USERS MANUAL
/ MPC556
BURST BUFFER
MOTOROLA 4-16
USERS MANUAL
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-17
USERS MANUAL
Program Floating Point unavailable Decrementer Reserved Reserved System Call Trace Floating Point Assist Implementation Dependant Software Emulation Implementation Dependant Storage Error Implementation Dependant Data Breakpoint Implementation Dependant Instruction Breakpoint Implementation Dependant Maskable External Breakpoint Non-Maskable External Breakpoint
NOTES: 1. See Table 3-21 and 3.11.5 Exception Vector Table for Exception Relocation Table with ETRE = 0. 2. See 4.6.4 BBC Module Configuration Register (BBCMCR) 3. The reset exception is NOT affected by OERC.
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-18
USERS MANUAL
100
200
300
400
500
600
700
1F00
F8
branch to...
/ MPC556
BURST BUFFER
MOTOROLA 4-19
USERS MANUAL
Exception Table
The following registers hold the attributes of the corresponding regions and of the default region. Each of the four MI_RAx registers contains access permission attributes. The MI_GRA (global region attribute) register contains two additional bits to enable each of the MI_RBAx registers. Table 4-3 Region Attributes Registers
Register Name MI_RA[0] MI_RA[1] MI_RA[2] MI_RA[3] MI_GRA Address (Decimal) 816 817 818 818 528 ub_addr [18:27] (Hex) 0x2190 0x2390 0x2590 0x2790 0x2100
The BBC holds only one register, the BBC module configuration register (BBCMCR). Table 4-4 BBC Module Configuration Register
Register name BBCMCR Addr (Decimal) 560 ub_addr [0:31] (Hex) 0x2110
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-20
USERS MANUAL
16
17 RA
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
Reserved
RESET:
Unaffected by Reset
4.6.2 Region Attribute Registers MI_RA[0:3] Description MI_RA[0:3] Region Attribute Register
MSB 0 1 2 3 4 5 6 7 RS HRESET U U U U U U U U U U U U U U U U
,
16
17 RS
18
19
20 PP
21
22
23 RESERVED
24
25 G
26
27
28
29
30
LSB 31
CMPR1
RESERVED
HRESET U U U U U U 0 0 0 U U U U 0 0 0
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-21
USERS MANUAL
0:19
RS
20:31 22:24 25
PP1 G
26:27
CMPR2
28:30
NOTES: 1. G and PP attributes perform similar protection activities on a region. The more protective attribute will be implied on the region if the attributes programming oppose each other. 2. This bit is available only on the MPC556.
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-22
USERS MANUAL
SPR 528
8 9 10 11 12 13 14 15
1 ENR1
ENR2 ENR3
RESERVED
16
17
18
19
20 PP
21
22
23 RESERVED
24
25 G
26
27
28
29
30
LSB 31
RESERVED
CMPR1
RESERVED
RESET: 0 0 0 0 0 0 0
0
ENR1
ENR2
3 4:19
ENR3
20:21
PP
22:24 25
26:27
CMPR1
28:31
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-23
USERS MANUAL
SPR 560
14 15
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18 BE
19 ETRE
20 OERC
21 EN_ COMP2
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED
RESERVED
RESET: 0 0 0 ID[19]1 0 0 0 0 0 0 0 0 0 0 0 0
NOTES: 1. Reset value is taken from the indicated bit of the reset configuration word. 2. Available only on the MPC556.
19
ETRE
20
OERC
21
Enable COMPression This bit enables the operation of the MPC556 in "Compression ON" mode. The default state is disabled. This bit is read only. 0 = "Decompression ON" mode is disabled. The MPC556 operates only in "Decompression OFF" mode. EN_COMP 1 = "Decompression ON" mode is enabled. The MPC556 may operates with both "Decompression ON" and "Decompression OFF" modes. The bit value is determined by reset configuration word, bit #21. Exception Compression This bit determines the operation of the MPC556 with exceptions. If this bit is set, the MPC556 assumes that the all exception routines code is compressed; otherwise it is assumed that all exception routines code is not compressed. The reset value is determined by reset configuration word bit #22. 0 = The MPC556 assumes that exception routines are non-compressed 1 = The MPC556 assumes that ALL exception routines are compressed. This bit effects only when EN_COMP bit is set.
22
EXC_ COMP
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-24
USERS MANUAL
23
24:31
NOTE An ISYNC instruction is required immediately following any write to the BBCMCR.
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-25
USERS MANUAL
MPC555
/ MPC556
BURST BUFFER
MOTOROLA 4-26
USERS MANUAL
MOTOROLA 5-1
U-bus -
U-Bus I/F
Slave I/F
SW watch Dog Bus monitor Periodic interrupt PowerPC timer & decrementer Real-time clock Debug Pin multiplexing Interrupt controller
SGPIO
Figure 5-1 MPC555 / MPC556 USIU Block Diagram 5.3 USIU Address Map Table 5-1 is an address map of the SIU registers. Where not otherwise noted, registers are 32 bits wide. The address shown for each register is relative to the base address of the MPC555 / MPC556 internal memory map. The internal memory block can reside in one of eight possible 4-Mbyte memory spaces. See Figure 1-3 in SECTION 1 OVERVIEW for details.
MPC555
/ MPC556
MOTOROLA 5-2
USERS MANUAL
0x2F C014
0x2F C018
0x2F C01C 0x2F C020 0x2F C024 0x2F C028 0x2F C02C 0x2F C030 0x2F C03C1 0x2F C040 0x2F C0FC
MPC555
/ MPC556
MOTOROLA 5-3
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 5-4
USERS MANUAL
0x2F C30C 0x2F C310 0x2F C31C 0x2F C320 0x2F C324 0x2F C328 0x2F C32C 0x2F C330 0x2F C33C 0x2F C340 0x2F C344 0x2F C348 0x2F C37C
5.4 USIU PowerPC Memory Map Table 5-2 lists the USIU PowerPC special-purpose registers (SPR). These registers can be accessed with the PowerPC mtspr and mfspr instructions, or from an external master (refer to 6.2 External Master Modes for details). All registers are 32 bits wide.
MPC555
/ MPC556
MOTOROLA 5-5
USERS MANUAL
Table 5-3 shows the PowerPC special address range. For an external master accessing a PowerPC SPR, address bits [0:17] and [28:31] are compared to zeros to confirm that an SPR access is valid. Table 5-3 PowerPC Address Range
0:17 0...0 18:27 spr[0:9] 28:31 0000
MPC555
/ MPC556
MOTOROLA 5-6
USERS MANUAL
Module Configuration
Interrupt Controller
Bus Monitor
TEA Signal
Interrupt
Clock
MPC555 Decrementer
Decrementer Exception
Interrupt
Real-Time Clock
Interrupt
MPC555
/ MPC556
MOTOROLA 6-2
USERS MANUAL
At Power-on reset: MODCK[1:3] Otherwise: programmed in SIUMCR (See 6.13.1.1 SIU Module Configuration Register.)
Programmed in the SIUMCR and via the hard reset configuration. (See 6.13.1.1 SIU Module Configuration Register and 7.5.2 Hard Reset Configuration Word.)
Programmed in SIUMCR and hard reset configuration. (See 6.13.1.1 SIU Module Configuration Register and 7.5.2 Hard Reset Configuration Word.) At Power-on reset: RSTCONF Otherwise: programmed in SIUMCR. (See 6.13.1.1 SIU Module Configuration Register.)
RSTCONF/TEXP
6.1.2 Memory Mapping The MPC555 / MPC556 internal memory space can be assigned to one of eight locations. The internal memory map is organized as a single 4-Mbyte block. The user can assign this block to one of eight locations by programming the ISB field in the internal memory
MPC555
/ MPC556
MOTOROLA 6-3
USERS MANUAL
0x013F FFFF 0x0140 0000 0x017F FFFF 0x0180 0000 0x01BF FFFF 0x01C0 0000 0x01FF FFFF
0xFFFF FFFF
Figure 6-2 MPC555 / MPC556 Memory Map 6.1.3 Arbitration Support Two bits in the SIUMCR control USIU bus arbitration. The external arbitration (EARB) bit determines whether arbitration is performed internally or externally. If EARB is cleared (internal arbitration), the external arbitration request priority (EARP) bit determines the priority of an external masters arbitration request. The operation of the internal arbiter is described in 9.5.6.4 Internal Bus Arbiter.
MPC555
/ MPC556
MOTOROLA 6-4
USERS MANUAL
The internal bus is not capable of providing fair priority between internal RCPU accesses and external master accesses. If the bandwidth of external master accesses is large, it is recommended that the system forces gaps between external master accesses in order to avoid suspension of internal RCPU activity. The MPC555 / MPC556 does not support burst accesses from an external master; only single accesses of 8, 16, or 32 bits can be performed. The MPC555 / MPC556 asserts burst inhibit (BI) on any attempt to initiate a burst access to internal memory. The MPC555 / MPC556 provides memory controller services for external master accesses (single and burst) to external memories. See SECTION 10 MEMORY CONTROLLER for details. 6.2.1 Operation of External Master Modes The external master modes are controlled by the EMCR register, which contains the internal bus attributes. The default attributes in the EMCR enable the external master to configure EMCR with the required attributes, and then access the internal registers. The external master must be granted external bus ownership in order to initiate the external master access. The SIU compares the address on the external bus to the allocated internal address space. If the address is within the internal space, the access is performed with the internal bus. The internal address space is determined according to ISB (see 6.13.1.2 Internal Memory Map Register for details). The external master access is terminated by the TA, TEA or RETRY signal on the external bus. A deadlock situation might occur if an internal-to-external access is attempted on the internal bus while an external master access is initiated on the external bus. In this case, the SIU will assert the RETRY on the external bus in order to relinquish and retry the external access until the internal access is completed. The internal bus will deny other internal accesses for the next eight clocks in order to complete the pending accesses and prevent additional internal accesses from being initiated on the internal bus. The SIU will also mask internal accesses to support consecutive external accesses if the delay between the external accesses is less than 4 clocks. The external master access and retry timings are described in 9.5.11 Bus Operation in External Master Modes.
MPC555
/ MPC556
MOTOROLA 6-5
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 6-6
USERS MANUAL
NOTES: 1. SGPIOC[0:7] is selected according to GPC and MLRC fields in SIUMCR. See 6.13.1.1 SIU Module Configuration Register.
MPC555
/ MPC556
MOTOROLA 6-7
USERS MANUAL
Read
Internal Bus
Write
OE
Clk
SGPIO Pad
Figure 6-3 SGPIO Cell 6.4 Interrupt Controller The USIU receives interrupts from internal sources (such as the PIT and RTC), from the IMB3 module (which has its own interrupt controller), and from external pins IRQ[0:7]. An overview of the MPC555 / MPC556 interrupt structure is shown in Figure 6-4.
MPC555
/ MPC556
MOTOROLA 6-8
USERS MANUAL
IRQ[0:7]
NMI DEC Level 7 DEC 8 TB Level 6 8 PIT IMB3 Interrupt Levels 32 I6 Level 5 I5 8 RTC Level 4 I4 Change of Lock 8 Level 3 I3 Level 2 8
UIMB
I7
IREQ
I2 Level 1 I1 Level 0 I0
Debug
SIU
IRQOUT
Figure 6-4 MPC555 / MPC556 Interrupt Structure If programmed to generate interrupts, the SWT and external pin IRQ[0] always generate a non-maskable interrupt (NMI) to the RCPU. Notice that the RCPU takes the system reset interrupt when an NMI is asserted and the external interrupt for any other interrupt asserted by the interrupt controller. Each one of the external pins IRQ[1:7] has its own dedicated assigned priority level. IRQ[0] is also mapped but should be used only as a status bit indicating that IRQ[0] was asserted and generated an NMI interrupt. There are eight additional interrupt priMPC555
/ MPC556
MOTOROLA 6-9
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 6-10
USERS MANUAL
8 Interrupt Vector
S I V E C
(Enables Branch to the Highest Priority Interrupt Routine)
SIPEND SIMASK
Interrupt Request (to RCPU and Pads) latch
Figure 6-5 MPC555 / MPC556 Interrupt Configuration 6.4.1 SIU Interrupt Sources Priority The SIU has 15 interrupt sources that assert just one interrupt request to the RCPU. There are eight external IRQ pins (IRQ[0] should be masked since it generates a NMI) and eight interrupt levels. The priority between all interrupt sources is shown in Table 6-3.
MPC555
/ MPC556
MOTOROLA 6-11
USERS MANUAL
10 11 12 13 14 15 (Lowest) 16-31
6.5 Hardware Bus Monitor The bus monitor ensures that each bus cycle is terminated within a reasonable period of time. The USIU provides a bus monitor option to monitor internal to external bus accesses on the external bus. The monitor counts from transfer start to transfer acknowledge and from transfer acknowledge to transfer acknowledge within bursts. If the monitor times out, transfer error acknowledge (TEA) is asserted internally. The bus monitor timing bit in the system protection control register (SYPCR) defines the bus monitor time-out period. The programmability of the time-out allows for variation in system peripheral response time. The timing mechanism is clocked by the system clock divided by eight. The maximum value is 2040 system clock cycles. The bus monitor enable (BME) bit in the SYPCR enables or disables the bus monitor. The bus monitor is always enabled, however, when freeze is asserted or when a debug mode request is pending, regardless of the state of this bit. 6.6 MPC555 / MPC556 Decrementer The decrementer (DEC) is a 32-bit decrementing counter defined by the MPC555 / MPC556 architecture to provide a decrementer interrupt. This binary counter is clocked by the same frequency as the time base (also defined by the MPC555 / MPC556 architecture). The operation of the time base and decrementer are therefore coherent. In the MPC555 / MPC556, the DEC is clocked by the TMBCLK clock. The decrementer period is computed as follows:
MPC555
/ MPC556
MOTOROLA 6-12
USERS MANUAL
Whenever bit zero (the MSB) of the decrementer changes from zero to one, a decrementer exception occurs. If software alters the decrementer such that the content of bit 0 is changed to a value of 1, a decrementer exception occurs. A decrementer exception causes a decrementer interrupt request to be pending in the RCPU. When the decrementer exception is taken, the decrementer interrupt request is automatically cleared. Table 6-4 illustrates some of the periods available for the decrementer, assuming a 4MHz or 20-MHz crystal, and TBS = 0 which selects tbclk division to FOUR. NOTE Time base must be enabled to use the decrementer. See 6.13.4.4 Time Base Control and Status Register for more information. Table 6-4 Decrementer Time-Out Periods
Count Value 0 9 99 999 9999 999999 9999999 99999999 999999999 (hex) FFFFFFFF Time-Out @ 4 MHz 1.0 s 10 s 100 s 1.0 ms 10.0 ms 1.0 s 10.0 s 100.0 s 1000. s 4295 s Time-Out @ 20 MHz 0.2 s 2.0 s 20 s 200 s 2 ms 200 ms 2.0 s 20 s 200 s 859 s
Refer to 3.9.5 Decrementer Register (DEC) for more information. 6.7 MPC555 / MPC556 Time Base (TB) The time base (TB) is a 64-bit free-running binary counter defined by the MPC555 / MPC556 architecture. The TB has two independent reference registers which can / MPC556
MPC555
MOTOROLA 6-13
USERS MANUAL
The state of the time base is not affected by any resets and should be initialized by software. Reads and writes of the TB are restricted to special instructions. Separate special-purpose registers are defined in the MPC555 / MPC556 architecture for reading and writing the time base. For the MPC555 / MPC556 implementation, it is not possible to read or write the entire TB in a single instruction. Therefore, the mttb and mftb instructions are used to move the lower half of the time base (TBL) while the mttbu and mftbu instructions are used to move the upper half (TBU). Two reference registers are associated with the time base: TBREF0 and TBREF1. A maskable interrupt is generated when the TB count reaches to the value programmed in one of the two reference registers. Two status bits in the time base control and status register (TBSCR) indicate which one of the two reference registers generated the interrupt. Refer to 6.13.4 System Timer Registers for diagrams and bit descriptions of time base registers. Refer to 3.9.4 Time Base Facility (TB) OEA and to RCPU Reference Manual (RCPURM/AD) for additional information regarding the MPC555 / MPC556 time base. 6.8 Real-Time Clock (RTC) The RTC is a 32-bit counter and pre-divider used to provide a time-of-day indication to the operating system and application software. It is clocked by the pitrtclk clock.The counter is not affected by reset and operates in all low-power modes. It is initialized by software. The RTC can be programmed to generate a maskable interrupt when the time value matches the value programmed in its associated alarm register. It can also be programmed to generate an interrupt once a second. A control and status register is used to enable or disable the different functions and to report the interrupt source.
MPC555
/ MPC556
MOTOROLA 6-14
USERS MANUAL
Alarm Interrupt
Figure 6-6 RTC Block Diagram 6.9 Periodic Interrupt Timer (PIT) The periodic interrupt timer consists of a 16-bit counter clocked by the PITRCLK clock supplied by the clock module. The 16-bit counter counts down to zero when loaded with a value from the PITC. After the timer reaches zero, the PS bit is set and an interrupt is generated if the PIE bit is is a logic one. The software service routine should read the PS bit and then write it to zero to terminate the interrupt request. At the next input clock edge, the value in the PITC is loaded into the counter, and the process starts over again. When a new value is loaded into the PITC, the periodic timer is updated, the divider is reset, and the counter begins counting. If the PS bit is not cleared, an interrupt request is generated. The request remains pending until PS is cleared. If the PS bit is set again prior to being cleared, the interrupt remains pending until PS is cleared. Any write to the PITC stops the current countdown, and the count resumes with the new value in PITC. If the PTE bit is not set, the PIT is unable to count and retains the old count value. Reads of the PIT have no effect on the counter value.
MPC555
/ MPC556
MOTOROLA 6-15
USERS MANUAL
PTE (PISCR)
PITC (PISCR)
pitrtclk Clock
Clock Disable
PITF (PISCR)
Solving this equation using a 4-MHz external clock and a pre-divider of 256 gives:
PITC + 1 PITperiod = ----------------------15625
This gives a range from 64 microseconds, with a PITC of 0x0000, to 4.19 seconds, with a PITC of 0xFFFF. When a 20-MHz crystal is used with a pre-divider of 256, the range is between 12.8 microseconds to 0.84 seconds. 6.10 Software Watchdog Timer (SWT) The software watchdog timer (SWT) prevents system lockout in case the software becomes trapped in loops with no controlled exit. The SWT is enabled after system reset to cause a system reset if it times out. it. The SWT requires a special service sequence to be executed on a periodic basis. If this periodic servicing action does not occur, the SWT times out and issues a reset or a non-maskable interrupt (NMI), depending on the value of the SWRI bit in the SYPCR. The SWT can be disabled by clearing the SWE bit in the SYPCR. Once the SYPCR is written by software, the state of the SWE bit cannot be changed. The SWT service sequence consists of the following two steps: 1. Write 0x556C to the Software Service Register (SWSR) 2. Write 0xAA39 to the SWSR The service sequence clears the watchdog timer and the timing process begins again. If any value other than 0x556C or 0xAA39 is written to the SWSR, the entire sequence must start over.
MPC555
/ MPC556
MOTOROLA 6-16
USERS MANUAL
Reset
0xAA39 / Reload Not 0x556C / Dont Reload Not 0xAA39 / Dont Reload
Figure 6-8 SWT Interrupts and Exceptions Although most software disciplines support the watchdog concept, different systems require different time-out periods. For this reason, the software watchdog provides a selectable range for the time-out period. In Figure 6-9, the range is determined by the value SWTC field. The value held in the SWTC field is then loaded into a 16-bit decrementer clocked by the system clock. An additional divide by 2048 prescaler is used if necessary. The decrementer begins counting when loaded with a value from the software watchdog timing count field (SWTC). After the timer reaches 0x0, a software watchdog expiration request is issued to the reset or NMI control logic. Upon reset, the value in the SWTC is set to the maximum value and is again loaded into the software watchdog register (SWR), starting the process over. When a new value is loaded into the SWTC, the software watchdog timer is not updated until the servicing sequence is written to the SWSR. If the SWE is loaded with the value zero, the modulus counter does not count.
MPC555
/ MPC556
MOTOROLA 6-17
USERS MANUAL
SWSR
SWE (SYPCR)
Service Logic
SWTC
System Clock
Clock Disable
Reload
Reset or NMI
Figure 6-9 SWT Block Diagram 6.11 Freeze Operation When the FREEZE line is asserted, the clocks to the software watchdog, the periodic interrupt timer, the real-time clock, the time base counter, and the decrementer can be disabled. This is controlled by the associated bits in the control register of each timer. If programmed to stop during FREEZE assertion, the counters maintain their values while FREEZE is asserted, unless changed by the software. The bus monitor, however, remains enabled regardless of this signal. 6.12 Low Power Stop Operation When the processor is set in a low-power mode (doze, sleep, or deep sleep), the software watchdog timer is frozen. It remains frozen and maintain its count value until the processor exits this state and resumes executing instructions. The periodic interrupt timer, decrementer, and time base are not affected by these lowpower modes. They continue to run at their respective frequencies. These timers are capable of generating an interrupt to bring the MCU out of these low-power modes. 6.13 System Configuration and Protection Registers This section provides diagrams and bit descriptions of the system configuration and protection registers.
MPC555
/ MPC556
MOTOROLA 6-18
USERS MANUAL
0x2F C000
14 15 DLK
RESERVED
DBPC ATWC
ID0*
ID[9:10]*
ID11*
ID12*
16 RESERVE D
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
SC
RCTX
MLRC
RESERVED
MTSC
RESERVED
RESET: 0 ID[17:18]* 0 0 0 0 0 0 0 0 0 0 0 0 0
* The reset value is a reset configuration word value, extracted from the indicated internal data bus lines.
WARNING Software must not change any SIUMCR fields controlled by the reset configuration word while the functions that these fields control are active.
MPC555
/ MPC556
MOTOROLA 6-19
USERS MANUAL
1:3 4:7
EARP
DSHW
9:10 11
DBGC DBPC
12
ATWC
13:14 15 16 17:18
GPC DLK SC
19
RCTX
MLRC MTSC
NOTES: 1. WE/BE is selected per memory region by WEBS in the approprite BR register in the memory controller.
MPC555
/ MPC556
MOTOROLA 6-20
USERS MANUAL
0 1
MPC555
/ MPC556
MOTOROLA 6-21
USERS MANUAL
00 01 10 11
NOTES: 1. Operates as MODCK[1] during reset. 2. This holds if MTSC bit is reset to 0. Otherwise IRQ[2]/CR/SGPIOC[2]/MTS will function as MTS.
6.13.1.2 Internal Memory Map Register The internal memory map register (IMMR) is a special register located within the MPC555 / MPC556 special register space. The IMMR contains identification of a specific device as well as the base for the internal memory map. Based on the value read from this register, software can deduce availability and location of any on-chip system resources. This register can be read by the mfspr instruction. The ISB field can be written by the mtspr instruction. The PARTNUM and MASKNUM fields are mask programmed and cannot be changed. IMMR Internal Memory Mapping Register
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12 13
SPR 638
14 15
MASKNUM
16
17
18
19
20 FLEN
21
22
23 CLES
24
25
26
27
28
29 ISB
30
LSB 31 0
RESERVED RESET: 0 0 0 0
RESERVED
RESERVED
ID20*
ID23*
ID[28:30]*
* The reset value is a reset configuration word value extracted from the indicated bits of the internal data bus. Refer to 7.5.2 Hard Reset Configuration Word.
MPC555
/ MPC556
MOTOROLA 6-22
USERS MANUAL
0:7
PARTNUM
8:15 16:19
MASKNUM
20
FLEN
21:22 23 24:27
CLES
28:30
ISB
31
6.13.1.3 External Master Control Register (EMCR) The external master control register selects the external master modes and determines the internal bus attributes for external-to-internal accesses. EMCR External Master Control Register
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12 13
0x2F C030
14 15
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 6-23
USERS MANUAL
16
17
18 0
19 SIZE
20
21 SUPU
22 INST
23
24
25
26
27 0
28
29
30
RESERVED
RESV CONT
TRAC SIZEN
RESERVED
* The reset value is a reset configuration word value, extracted from the indicated internal data bus line. Refer to 7.5.2 Hard Reset Configuration Word.
16
PRPM
17
SLVM
18
19:20
SIZE
21
SUPU
22 23:24 25
INST RESV
26 27 28
CONT TRAC
29 30:31
SIZEN
MPC555
/ MPC556
MOTOROLA 6-24
USERS MANUAL
The bits associated with the IRQ pins have a different behavior depending on the sensitivity defined for them in the SIEL register. When the IRQ is defined as a level interrupt the corresponding bit behaves similar to the bits associated with internal interrupt sources. When the IRQ is defined as an edge interrupt and if the corresponding bit is set, it indicates that a falling edge was detected on the line and the bit can be reset by software by writing a 1 to it. SIPEND SIU Interrupt Pending Register
MSB 0 IRQ0 1 LVL0 2 IRQ1 3 LVL1 4 IRQ2 5 LVL2 6 IRQ3 7 LVL3 8 IRQ4 9 LVL4 10 IRQ5 11 LVL5 12 IRQ6 13 LVL6
0x2F C010
14 IRQ7 15 LVL7
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6.13.2.2 SIU Interrupt Mask Register (SIMASK) The SIMASK is a 32-bit read/write register. Each bit corresponds to an interrupt request bit in the SIPEND register. Setting a bit in this register allows the interrupt request to reach the RCPU. SIMASK is updated by the software and cleared upon reset. It is the responsibility of the software to determine which of the interrupt sources are enabled at a given time. SIMASK SIU Interrupt Mask Register
MSB 0 1 2 IRM1 3 LVM1 4 IRM2 5 LVM2 6 IRM3 7 LVM3 8 IRM4 9 LVM4 10 IRM5 11 LVM5 12 IRM6 13 LVM6
0x2F C014
14 IRM7 15 LVM7
MPC555
/ MPC556
MOTOROLA 6-25
USERS MANUAL
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
*IRQ0 of the SIPEND register is not affected by the setting or clearing of the IRM0 bit of the SIMASK register. IRQ0 is a non-maskable interrupt.
6.13.2.3 SIU Interrupt Edge Level Register (SIEL) The SIEL is a 32-bit read/write register. Each pair of bits corresponds to an external interrupt request. The EDx bit, if set, specifies that a falling edge in the corresponding IRQ line will be detected as an interrupt request. When the EDx bit is 0, a low logical level in the IRQ line will be detected as an interrupt request. The WMx (wake-up mask) bit, if set, indicates that an interrupt request detection in the corresponding line causes the MPC555 / MPC556 to exit low-power mode. SIEL SIU Interrupt Edge Level Register
MSB 0 ED0 1 WM0 2 ED1 3 WM1 4 ED2 5 WM2 6 ED3 7 WM3 8 ED4 9 WM4 10 ED5 11 WM5 12 ED6 13 WM6
0x2F C018
14 ED7 15 WM7
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6.13.2.4 SIU Interrupt Vector Register The SIVEC is a 32-bit read-only register that contains an 8-bit code representing the unmasked interrupt source of the highest priority level. The SIVEC can be read as either a byte, half word, or word. When read as a byte, a branch table can be used in which each entry contains one instruction (branch). When read as a half-word, each entry can contain a full routine of up to 256 instructions. The interrupt code is defined such that its two least significant bits are 0, thus allowing indexing into the table. SIVEC SIU Interrupt Vector
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12 13
0x2F C01C
14 15
RESERVED
MPC555
/ MPC556
MOTOROLA 6-26
USERS MANUAL
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6.13.3 System Protection Registers 6.13.3.1 System Protection Control Register (SYPCR) The system protection control register (SYPCR) controls the system monitors, the software watchdog period, and the bus monitor timing. This register can be read at any time, but can be written only once after system reset.
0x2F C004
14 15
16
17
18
19 BMT
20
21
22
23
24 BME
25
26 RESERVED
27
28 SWF
29 SWE
30 SWRI
LSB 31 SWP
RESET: 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1
24 25:27 28
BME SWF
29
SWE
MPC555
/ MPC556
MOTOROLA 6-27
USERS MANUAL
31
SWP
6.13.3.2 Software Service Register (SWSR) The SWSR is the location to which the SWT servicing sequence is written. To prevent SWT time-out, the user should write a 0x556C followed by 0xAA39 to this register. The SWSR can be written at any time but returns all zeros when read.
MPC555
/ MPC556
MOTOROLA 6-28
USERS MANUAL
0x2F C00E
14 LSB 15
6.13.3.3 Transfer Error Status Register (TESR) The transfer error status register contains a bit for each exception source generated by a transfer error. A bit set to logic 1 indicates what type of transfer error exception occurred since the last time the bits were cleared by reset or by the normal software status bit-clearing mechanism. Note that these bits may be set due to canceled speculative accesses which do not cause an interrupt. The register has two identical sets of bit fields; one is associated with instruction transfers and the other with data transfers. TESR Transfer Error Status Register
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12 13
0x2F C020
14 15
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18 IEXT
19 IBMT
20
21
22
23
24
25
26 DEXT
27 DBM
28
29
30
LSB 31
RESERVED RESET: 0 0
RESERVED
RESERVED
MPC555
/ MPC556
MOTOROLA 6-29
USERS MANUAL
6.13.4 System Timer Registers The following sections describe registers associated with the system timers. These facilities are powered by the KAPWR and can preserve their value when the main power supply is off. Refer to 8.3.3 Pre-Divider for details on the required actions needed in order to guarantee this data retention. 6.13.4.1 Decrementer Register The 32-bit decrementer register is defined by the MPC555 / MPC556 architecture. The values stored in this register are used by a down counter to cause decrementer exceptions. The decrementer causes an exception whenever bit zero changes from a logic zero to a logic one. A read of this register always returns the current count value from the down counter. Contents of this register can be read or written to by the mfspr or the mtspr instruction. The decrementer register is reset by PORESET. HRESET and SRESET do not affect this register. The decrementer is powered by standby power and can continue to count when standby power is applied. DEC Decrementer Register
MSB 0 Decrementing Counter PORESET 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SPR 22
LSB 31
HRESET/SRESET: UNCHANGED
Refer to 3.9.5 Decrementer Register (DEC) for more information on this register. 6.13.4.2 Time Base SPRs The TB is a 64-bit register containing a 64-bit integer that is incremented periodically. There is no automatic initialization of the TB; the system software must perform this
MPC555
/ MPC556
MOTOROLA 6-30
USERS MANUAL
MSB 0 TBU
6.13.4.3 Time Base Reference Registers Two reference registers (TBREF0 and TBREF1) are associated with the lower part of the time base (TBL). Each is a 32-bit read/write register. Upon a match between the contents of TBL and the reference register, a maskable interrupt is generated. TBREF0 Time Base Reference Register 0
MSB 0 TBREF0 RESET:
0x2F C204
LSB 31
0x2F C208
LSB 31
6.13.4.4 Time Base Control and Status Register The TBSCR is 16-bit read/write register. It controls the TB, decrementer count enable, and interrupt generation and is used for reporting the source of the interrupts. The register can be read anytime. A status bit is cleared by writing a one to it. (Writing a zero has no effect.) More than one bit can be cleared at a time.
MPC555
/ MPC556
MOTOROLA 6-31
USERS MANUAL
0x2F C200
14 TBF LSB 15 TBE
REFA REFB
RESERVED
REFAE REFBE
REFA
9 10:11 12 13 14
15
TBE
6.13.4.5 Real-Time Clock Status and Control Register The RTCSC is used to enable the different RTC functions and to report the source of the interrupts. The register can be read anytime. A status bit is cleared by writing it to a one. (Writing a zero does not affect a status bits value.) More than one status bit can be cleared at a time. This register is locked after RESET. Unlocking is accomplished by writing 0x55CCAA33 to its associated key register. See 8.9.3.2 Keep Alive Power Registers Lock Mechanism. RTCSC Real-Time Clock Status and Control Register
MSB 0 1 2 3 4 5 6 7 8 SEC 9 ALR 10 Reserved 11 4M 12 SIE 13 ALE
0x2F C220
14 RTF LSB 15 RTE
RTCIRQ RESET: 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 6-32
USERS MANUAL
13 14 15
6.13.4.6 Real-Time Clock Register (RTC) The real-time clock register is a 32-bit read write register. It contains the current value of the real-time clock. A write to the RTC resets the seconds timer to zero. This register is locked after RESET. Unlocking is accomplished by writing 0x55CCAA33 to its associated key register. See 8.9.3.2 Keep Alive Power Registers Lock Mechanism. RTC Real-Time Clock Register
MSB 0 RTC RESET: UNCHANGED
0x2F C224
LSB 31
6.13.4.7 Real-Time Clock Alarm Register (RTCAL) The RTCAL is a 32-bit read/write register. When the value of the RTC is equal to the value programmed in the alarm register, a maskable interrupt is generated. The alarm interrupt will be generated as soon as there is a match between the ALARM field and the corresponding bits in the RTC. The resolution of the alarm is 1 sec. This register is locked after RESET. Unlocking is accomplished by writing 0x55CCAA33 to its associated key register. See 8.9.3.2 Keep Alive Power Registers Lock Mechanism. RTCAL Real-Time Clock Alarm Register
MSB 0 ALARM RESET: UNCHANGED
0x2F C22C
LSB 31
MPC555
/ MPC556
MOTOROLA 6-33
USERS MANUAL
0x2F C240
14 PITF LSB 15 PTE
RESERVED
8 9:12 13 14 15
6.13.4.9 Periodic Interrupt Timer Count Register (PITC) The PITC register contains the 16 bits to be loaded in a modulus counter. This register is readable and writable at any time. PITC Periodic Interrupt Timer Count
MSB 0 1 2 3 4 5 6 7 PITC RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 9 10 11 12 13
0x2F C244
14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 6-34
USERS MANUAL
6.13.4.10 Periodic Interrupt Timer Register (PITR) The periodic interrupt register is a read-only register that shows the current value in the periodic interrupt down counter. Read or writing this register does not affect the register. PITR Periodic Interrupt Timer Register 0x2F C248
8 PIT RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 10 11 12 13 14 15
MSB 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 6-35
USERS MANUAL
0x2F C024
14 15
SGPIOD[0:7] RESET: 0 0 0 0 0 0 0 0 0 0 0
SGPIOD[8:15]
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
SGPIOD[16:23] RESET: 0 0 0 0 0 0 0 0 0 0 0
SGPIOD[24:31]
8:15
SIU general-purpose I/O Group D[8:15]. This 8-bit register controls the data of general-purSGPIOD[8:15] pose I/O pins SGPIOD[8:15]. The direction (input or output) of this group of pins is controlled by the GDDR1 bit in the SGPIO control register. SGPIOD[16:23] SIU general-purpose I/O Group D[16:23]. This 8-bit register controls the data of the general-purpose I/O pins SGPIOD[16:23]. The direction (input or output) of this group of pins is controlled by the GDDR2 bit in the SGPIO control register SIU general-purpose I/O Group D[24:31]. This 8-bit register controls the data of the general-purpose I/O pins SGPIOD[24:31]. The direction of SGPIOD[24:31] is controlled by eight dedicated direction control signals SDDRD[24:31]. Each pin in this group can be configured separately as general-purpose input or output.
16:23
24:31
SGPIOD[24:31]
0x2F C028
14 15
SGPIOC[0:7] RESET: 0 0 0 0 0 0 0 0 0 0 0
SGPIOA[8:15]
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
SGPIOA[16:23] RESET: 0 0 0 0 0 0 0 0 0 0 0
SGPIOA[24:31]
MPC555
/ MPC556
MOTOROLA 6-36
USERS MANUAL
0:7
SGPIOC[0:7]
16:23
24:31
0x2F C02C
14 15
SDDRC[0:7] RESET: 0 0 0 0 0 0 0 0 0 0 0
RESERVED
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED
SDDRD[24:31]
MPC555
/ MPC556
MOTOROLA 6-37
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 6-38
USERS MANUAL
SECTION 7 RESET
This section describes the MPC555 / MPC556 reset sources, operation, control, and status. 7.1 Reset Operation The MPC555 / MPC556 has several inputs to the reset logic which include the following:
Power on reset External hard reset pin (HRESET) External soft reset pin (SRESET) Loss of lock On-chip clock switch Software watchdog reset Checkstop reset Debug port hard reset Debug port soft reset JTAG reset All of these reset sources are fed into the reset controller. The control logic determines the cause of the reset, synchronizes it if necessary, and resets the appropriate logic modules, depending on the source of the reset. The memory controller, system protection logic, interrupt controller, and parallel I/O pins are initialized only on hard reset. External soft reset initializes internal logic while maintaining system configuration. The reset status register (RSR) reflects the most recent source to cause a reset. 7.1.1 Power On Reset The power-on reset pin, PORESET, is an active low input. In a system with powerdown low-power mode, this pin should be activated only as a result of a voltage failure in the KAPWR pin. After detecting the assertion of PORESET, the MPC555 / MPC556 enters the power-on reset state. During this state the MODCK[1:3] signals determine the oscillator frequency, PLL multiplication factor, and the PITRCLK and TMBCLK clock sources. In addition, the MPC555 / MPC556 asserts the SRESET and HRESET pins. The PORESET pin should be asserted for a minimum time of 100,000 cycles of clock oscillator after a valid level has been reached on the KAPWR supply. After detecting the assertion of PORESET, the MPC555 / MPC556 remains in the power-on reset state until the last of the following two events occurs: The Internal PLL enters the lock state and the system clock is active. The PORESET pin is negated.
MPC555 / MPC556 USERS MANUAL RESET MOTOROLA 7-1
MPC555
/ MPC556
RESET
MOTOROLA 7-2
USERS MANUAL
/ MPC556
RESET
MOTOROLA 7-3
USERS MANUAL
Reset Source
Power On Reset Hard Reset Sources External Hard Reset Loss of Lock On-Chip Clock Switch Illegal Low-Power Mode Software Watchdog Checkstop Debug Port Hard Reset
No
Yes
Yes
Yes
Yes
Yes
Yes
Soft Reset Sources External Soft Reset Debug Port Soft Reset JTAG Reset
No
No
No
No
Yes
Yes
Yes
7.3 Data Coherency During Reset The MPC555 / MPC556 supports data coherency and avoids data corruption while reset. If a cycle is to be executed when detecting any SRESET or HRESET source, then the cycle will either complete or will not start before generating the corresponding reset control signal. There are reset sources, however, when the MPC555 / MPC556 generates an internal reset due to special internal situation where this protection is not supported. See 7.4 Reset Status Register. In the case of large operand size (32 or 16 bits) transaction to a smaller port size, the cycle is split into two 16-bit or four 8-bit cycles. In this case, data coherency is assured and data will not be corrupted. In the case where the core executes an unaligned load/store cycle which is broken down into multiple cycles, data coherency is NOT assured between these cycles (i.e., data could be corrupted). A contention on the data pins may occur while asserting external reset (EXT_RESET) if the data coherency mechanism is required, and thus enables a cycle to complete, while external hardware drives the data for the configuration word. See Table 7-2 for a description of the required EXT_RESET line source in a system. Table 7-2 Reset Configuration Word and Data Corruption/Coherency
Reset Driven HRESET SRESET HRESET & SRESET Reset to Use for Data Coherency (EXT_RESET) SRESET HRESET HRESET || SRESET Provided only one of them is driven into the MPC555 / MPC556 at a time Comments
MPC555
/ MPC556
RESET
MOTOROLA 7-4
USERS MANUAL
MSB 0 1 2 3 4 5 DBHRS
JTRS OCCS
ESRS1
LLRS
SWRS
CSRS
DBHRS
DBSRS
JTRS
OCCS
MPC555
/ MPC556
RESET
MOTOROLA 7-5
USERS MANUAL
ILBC
10
GPOR
11
GHRST
12
GSRST
13:15
NOTES: 1. In the USIU RSR, if both EHRS and ESRS are set, the reset source is internal. The EHRS and ESRS bits in RSR register are set for any internal reset source in addition to external HRESET and external SRESET events. If both internal and external indicator bits are set, then the reset source is internal.
7.5 Reset Configuration 7.5.1 Hard Reset Configuration When a hard reset event occurs, the MPC555 / MPC556 reconfigures its hardware system as well as the development port configuration The logical value of the bits that determine its initial mode of operation, are sampled from the following: The external data bus pins DATA[0:31] An internal default constant (0x0000 0000) An internal NVM register value (CMFCFIG) If at the sampling time (at HRESET negation) RSTCONF is asserted, then the configuration is sampled from the data bus. If RSTCONF is negated and a valid NVM value exists (CMFCFIG bit HC=0), then the configuration is sampled from the NVM register in the CMF module. If RSTCONF is negated and no valid NVM value exists (CMFCFIG bit HC=1), then the configuration word is sampled from the internal default. HC will be 1 if the internal flash is erased. Table 7-4 summarizes the reset configuration options. NOTE If the CMFCFIG reset config word is being used, then the flash is automatically enabled.
MPC555
/ MPC556
RESET
MOTOROLA 7-6
USERS MANUAL
If the PRDS control bit in the PDMCR register is set and HRESET and RSTCONF are asserted, the MPC555 / MPC556 pulls the data bus low with a weak resistor. The user can overwrite this default by driving the appropriate bit high. See Figure 7-1 for the basic reset configuration scheme.
Has Configuration HC
32 32 32 OE
CMF
Dx (Data line)
MPC555
Figure 7-1 Reset Configuration Basic Scheme During the assertion of the PORESET input signal, the chip assumes the default reset configuration. This assumed configuration changes if the input signal RSTCONF is asserted when the PORESET is negated or the CLKOUT starts to oscillate. To ensure
MPC555
/ MPC556
RESET
MOTOROLA 7-7
USERS MANUAL
PORESET
Internal PORESET
HRESET
RSTCONF
Tsup
Internal DATA[0:31]
Default
RSTCONF Controlled
Figure 7-2 Reset Configuration Sampling Scheme For Short PORESET Assertion, Limp Mode Disabled
MPC555
/ MPC556
RESET
MOTOROLA 7-8
USERS MANUAL
Internal PORESET
HRESET SRESET
Tsup
Default
RSTCONF Controlled
Figure 7-3 Reset Configuration Timing for Short PORESET Assertion, Limp Mode Enabled
CLKOUT
PORESET
PLL lock
Internal PORESET
HRESET
RSTCONF
Tsup
Internal DATA[0:31]
Default
RSTCONF Controlled
/ MPC556
RESET
MOTOROLA 7-9
USERS MANUAL
MPC555
/ MPC556
RESET
MOTOROLA 7-10
USERS MANUAL
MPC555
USERS MANUAL
/ MPC556 1 2 3 4 5 6 7 8 9 10 11 12 13 14 RESET CONFIGURATION WORD Tsup = Minimum Setup time of reset recognition = 15 clocks Sample Data Configuration
15
16
CLKOUT
HRESET
RSTCONF
Data
RESET
Internal reset
MOTOROLA
7-11
DBPC ATWC
EBDF
DEFAULT: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
22
23
24
25
26
27
28
29 ISB
30
31 DME
Reserved
EARB
IP
BDRV
BDIS
4:5
BPS
6:8 9:10
DBGC
MPC555
/ MPC556
RESET
MOTOROLA 7-12
USERS MANUAL
13:14 15 16
EBDF PRPM
17:18
SC
19
ETRE
20
FLEN
21
22 23 24:27 28:30
31
DME
7.5.3 Soft Reset Configuration When a soft reset event occurs, the MPC555 / MPC556 reconfigures the development port. Refer to SECTION 21 DEVELOPMENT SUPPORT for details.
MPC555
/ MPC556
RESET
MOTOROLA 7-13
USERS MANUAL
MPC555
/ MPC556
RESET
MOTOROLA 7-14
USERS MANUAL
MOTOROLA 8-1
MODCK[1:3]
VDDSYN
EXTCLK
VSSSYN Lock
XFC
TBCLK
GCLK2
GCLK1 / GCLK2 SYSTEM CLOCK GCLK1C / GCLK2C SYSTEM CLOCK TO RCPU AND BBC
TMBclk Driver 3:1 MUX RTC / PIT Clock and DRIVER Main Clock Oscillator EXTAL /4 or /256
TMBCLK
PITRTCLK
XTAL
MPC555
/ MPC556
MOTOROLA 8-2
USERS MANUAL
1 M*
CL
CL
*Resistor is not currently required on the board but space should be available for its addition in the future.
Figure 8-2 Main System Oscillator (OSCM) 8.3 System PLL The PLL allows the processor to operate at a high internal clock frequency using a low frequency clock input, a feature which offers two benefits. Lower frequency clock input reduces the overall electromagnetic interference generated by the system, and the ability to oscillate at different frequencies reduces cost by eliminating the need to add an additional oscillator to a system. The PLL can perform the following functions: Frequency multiplication
MPC555
/ MPC556
MOTOROLA 8-3
USERS MANUAL
NOTE When operating with the backup clock, the system clock (and CLKOUT) is one-half of the ring oscillator frequency. (i.e., the system clock is a nominal seven MHz). The time base and PIT clocks will be twice the system clock frequency.
MPC555
/ MPC556
MOTOROLA 8-4
USERS MANUAL
OSCCLK
Phase Comparator
Up Down
Charge Pump
2 2
VDDSYN / VSSSYN
Clock Delay
Figure 8-3 System PLL Block Diagram 8.3.5 PLL Pins The following pins are dedicated to the PLL operation: VDDSYN Drain voltage. This is the VDD dedicated to the analog PLL circuits. The voltage should be well-regulated and the pin should be provided with an extremely low impedance path to the VDD power rail. VDDSYN should be bypassed to VSSSYN by a 0.1 F capacitor located as close as possible to the chip package. VSSSYN Source voltage. This is the VSS dedicated to the analog PLL circuits. The pin should be provided with an extremely low impedance path to ground. VSSSYN should be bypassed to VDDSYN by a 0.1 F capacitor located as close as possible to the chip package. XFC External filter capacitor. XFC connects to the off-chip capacitor for the PLL filter. One terminal of the capacitor is connected to XFC, and the other terminal is connected to VDDSYN. The off-chip capacitor must have the following values:
MPC555
/ MPC556
MOTOROLA 8-5
USERS MANUAL
Where MF = the value stored on MF[0:11]. This is one less than the desired frequency multiplication factor.
8.4 System Clock During PLL Loss of Lock At reset, until the SPLL is locked, the SPLL output clock is disabled. During normal operation (once the PLL has locked), either the oscillator or an external clock source is generating the system clock. In this case, if loss of lock is detected and the LOLRE (loss of lock reset enable) bit in the PLPRCR is cleared, the system clock source continues to function as the PLLs output clock. The USIU timers can operate with the input clock to the PLL, so that these timers are not affected by the PLL loss of lock. Software can use these timers to measure the loss-of-lock period. If the timer reaches the user-preset software criterion, the MCU can switch to the backup clock by setting the switch to backup clock (STBUC) bit in the SCCR, provided the limp mode enable (LME) bit in the SCCR is set. If loss of lock is detected during normal operation, assertion of HRESET (for example, if LOLRE is set) disables the PLL output clock until the lock condition is met. During hard reset, the STBUC bit is set as long as the PLL lock condition is not met and clears when the PLL is locked. If STBUC and LME are both set, the system clock switches to the backup clock, and the chip operates in limp mode until STBUC is cleared. Every change in the lock status of the PLL can generate a maskable interrupt. NOTE When the VCO is the system clock source, chip operation is unpredictable while the PLL is unlocked. Note further that a switch to the backup clock is possible only if the LME bit in the SCCR is set. 8.5 Low-Power Divider The output of the PLL is sent to a low-power divider block. (In limp mode the BUCLK is sent to a low-power divider block.) This block generates all other clocks in normal operation, but has the ability to divide the output frequency of the VCO before it generates the general system clocks sent to the rest of the MPC555 / MPC556. The PLL System Frequency (FREQSYS) is always divided by at least 2. The purpose of the low-power divider block is to allow the user to reduce and restore the operating frequencies of different sections of the MPC555 / MPC556 without losing the PLL lock. Using the low-power divider block, the user can still obtain full chip operation, but at a lower frequency. This is called gear mode. The selection and speed of gear mode can be changed at any time, with changes occurring immediately. The low-power divider block is controlled in the system clock control register (SCCR). The default state of the low-power divider is to divide all clocks by one. Thus, for a 40MHz system, the general system clocks are each 40 MHz.
MPC555
/ MPC556
MOTOROLA 8-6
USERS MANUAL
GCLK1_50 (EBDF = 00) GCLK2_50 (EBDF = 00) CLKOUT (EBDF = 00) GCLK1_50 (EBDF = 01) GCLK2_50 (EBDF = 01) CLKOUT (EBDF = 01) T1
T2
T3
T4
Figure 8-4 MPC555 / MPC556 Clocks Note that GCLK1_50, GCLK2_50, and CLKOUT can have a lower frequency than GCLK1 and GCLK2. This is to enable the external bus operation at lower frequencies (controlled by EBDF in the SCCR). GCLK2_50 always rises simultaneously with
MPC555
/ MPC556
MOTOROLA 8-7
USERS MANUAL
If the configuration of PITRTCLK and TMBCLK and the SPLL multiplication factor is to remain unchanged in power-down low-power mode, the MODCK signals should not be sampled at wake-up from this mode. In this case the PORESET pin should remain negated and HRESET should be asserted during the power supply wake-up stage. When MODCK1 is cleared, the output of the main oscillator (OSCM) is selected as the input to the SPLL. When MODCK1 is asserted, the external clock input (EXTCLK) is selected as the input to the SPLL. In all cases, the system clock frequency (freqgclk2) can be reduced by the DFNH[0:2] bits in the SCCR. Note that freqgclk2(max) occurs when the DFNH bits are cleared. The TBS bit in the SCCR selects the time base clock to be either the SPLL input clock or GCLK2. When the backup clock is functioning as the system clock, the backup clock is automatically selected as the time base clock source. The PITRTCLK frequency and source are specified by the RTDIV and RTSEL bits in the SCCR. When the backup clock is functioning as the system clock, the backup clock is automatically selected as the time base clock source. When the PORESET pin is negated (driven to a high value), the MODCK1, MODCK2, and MODCK3 values are not affected. They remain the same as they were defined during the most recent power-on reset. Table 8-1 shows the clock configuration modes during power-on reset (PORESET asserted). NOTE The MODCK[1:3] are shared functions with IRQ[5:7]. If IRQ[5:7] are used as interrupts, the interrupt source should be removed during PORESET to insure the MODCK pins are in the correct state on the rising edge of PORESET.
MPC555
/ MPC556
MOTOROLA 8-8
USERS MANUAL
LME 0 0
MF + 1 513 1
TMBCLK Division 4 16
SPLL Options Used for testing purposes. Normal operation, PLL enabled. Main timing reference is freq(OSCM) = 20 MHz. Limp mode disabled. Normal operation, PLL enabled. Main timing reference is freq(OSCM) = 4 MHz. Limp mode enabled. Normal operation, PLL enabled. Main timing reference is freq(OSCM) = 20 MHz. Limp mode enabled. Normal operation, PLL enabled. 1:1 Mode freqclkout(max) = freq(EXTCLK) Limp mode disabled. Normal operation, PLL enabled. Main timing reference is freq(EXTCLK) = 3-5 MHz. Limp mode disabled. Normal operation, PLL enabled. 1:1 Mode freqclkout(max) = freq(EXTCLK) Limp mode enabled.
010
256
011
256
16
100 101
256
16
110
256
111
256
16
NOTES: 1. For other implementations in the MPC500 family, MODCK2 could be inverted.
NOTE The reset value of the PLL pre-divider is 1. The values of the PITRTCLK clock division and TMBCLK clock division can be changed by software. The RTDIV bit value in the SCCR register defines the division of PITRTCLK. All possible combinations of the TMBCLK divisions are listed in Table 8-2. Table 8-2 TMBCLK Divisions
SCCR[TBS] 1 0 0 MF + 1 1, 2 >2 TMBCLK Division 16 16 4
8.6.1 General System Clocks The general system clocks (GCLK1C, GCLK2C, GCLK1, GCLK2, GCLK1_50, and GCLK2_50) are the basic clock supplied to all modules and sub-modules on the MPC555 / MPC556. GCLK1C and GCLK2C are supplied to the RCPU and to the BBC. GCLK1C and GCLK2C are stopped when the chip enters the doze-low power mode. GCLK1 and GCLK2 are supplied to the SIU and the clock module. The external bus clock GCLK2_50 is the same as CLKOUT. The general system clock defaults to VCO/
MPC555
/ MPC556
MOTOROLA 8-9
USERS MANUAL
DFNH Divider
DFNH
DFNL Divider
DFNL
O
Low Power
Figure 8-5 General System Clocks Select The frequency of the general system clock can be changed on the fly by software. The user may simply cause the general system clock to switch to its low frequency. However, in some applications, there is a need for a high frequency during certain periods. Interrupt routines, for example, may require more performance than the low frequency operation provides, but must consume less power than in maximum frequency operation. The MPC555 / MPC556 provides a method to automatically switch between low and high frequency operation whenever one of the following conditions exists: There is a pending interrupt from the interrupt controller. This option is maskable by the PRQEN bit in the SCCR. The (POW) bit in the MSR is clear in normal operation. This option is maskable by the PRQEN bit in the SCCR. When neither of these conditions exists and the CSRC bit in PLPRCR is set, the general system clock switches automatically back to the low frequency. Abrupt changes in the divide ratio can cause linear changes in the operating currents of the MPC555 / MPC556. Insure that the proper power supply filtering is available to handle this change instantaneously. When the general system clock is divided, its duty cycle is changed. One phase remains the same (e.g., 12.5 ns @ 40 MHZ) while the other become longer. Note that CLKOUT does not have a 50% duty cycle when the general system clock is divided. The CLKOUT waveform is the same as that of GCLK2_50.
MPC555
/ MPC556
MOTOROLA 8-10
USERS MANUAL
Figure 8-6 Divided System Clocks Timing Diagram The system clocks GCLK1 and GCLK2 frequency is:
Therefore, the complete equation for determining the system clock frequency is: OSCCLK DIVF + 1 (MF + 1) (2DFNH or 2DFNL + 1) 2 2
The clocks GCLK1_50 and GCLK2_50 frequency is: FREQsysmax 1 FREQ50 = ------------------------------------------------------- -------------------------DFNH DFNL + 1 EBDF + 1 (2 )or ( 2 ) Figure 8-7 shows the timing of USIU clocks when DFNH = 1 or DFNL = 0.
MPC555
/ MPC556
MOTOROLA 8-11
USERS MANUAL
GCLK1
GCLK2
Figure 8-7 Clocks Timing For DFNH = 1 (or DFNL = 0) 8.6.2 CLKOUT CLKOUT has the same frequency as the general system clock (GCLK2_50). Unlike the main system clock GCLK1/GCLK2 however, CLKOUT (and GCLK2_50) represents the external bus clock, and thus will be one-half of the main system clock if the external bus is running at half speed (EBDF = 0b01). The CLKOUT frequency defaults to VCO/2. CLKOUT can drive full- or half-strength or be disabled. The drive strength is controlled in the system clock and reset-control register (SCCR). Disabling or decreasing the strength of CLKOUT can reduce power consumption, noise, and electromagnetic interference on the printed circuit board. When the PLL is acquiring lock, the CLKOUT signal is disabled and remains in the low state (provided that BUCS = 0). 8.6.3 Engineering Clock ENGCLK is an output clock with a 50% duty cycle. Its frequency defaults to VCO/1281, which is one-sixtyfourth of the main system frequency. ENGCLK frequency can be programmed to the main system frequency divided by a factor from one to 64, as controlled by the ENGDIV[0:5] bits in the SCCR. ENGCLK can drive full- or half-strength or be disabled (remaining in the high state). The drive strength is controlled by the EECLK[0:1] bits in the SCCR. Disabling ENGCLK can reduce power consumption, noise, and electromagnetic interference on the printed circuit board.
1. Mask
MPC555
/ MPC556
MOTOROLA 8-12
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 8-13
USERS MANUAL
1,BUCLK
poreset_b = 1 LME = 1
poreset_b = 0 else
LME = 1 poreset_b = 0
LME = 0
=
else
3,BUCLK
hreset_b = 0 LOCS
hreset_b = 1
bu cl k as _ e se na rt ble hr es = 1 et _b
hresert_b = 0
hreset_b = 1
6,BULCK
5, osc
else
Figure 8-8 Clock Source Flow Chart NOTES BUCLK_ENABLE = (STBUC | LOC) & LME lock indicates loss of lock status bit (LOCS) for all cases and loss of clock sticky bit (LOCSS) when state 3 is active. When BUCLK_ENABLE is changed, the chip asserts HRESET to switch the system clock to BUCLK or PLL. At PORESET negation, if the PLL is not locked, the loss-of-clock sticky bit (LOCSS) is asserted, and the chip should operate with BUCLK.
MPC555
/ MPC556
MOTOROLA 8-14
USERS MANUAL
PORESET 0 1 1 1 1 1
HRESET 0 0 1 0 1 0
BUCS 1 1 1 0 0 1
5 6
NOTES: 1. At least one of the two bits, LOCSS or BUCS, must be asserted (one) in this state. 2. X = dont care.
The default value of the LME bit is determined by MODCK[1:3] during assertion of the PORESET line. The configuration modes are shown in Table 8-1. 8.8 Low-Power Modes The LPM and other bits in the PLPRCR are encoded to provide one normal operating mode and four low-power modes. In normal and doze modes the system can be in high state with frequency defined by the DFNH bits, or in the low state with frequency defined by the DFNL bits. The normal-high operating mode is the state out of reset. This is also the state of the bits after the low-power mode exit signal arrives. There are four low-power modes: Doze mode Sleep mode Deep-sleep mode Power-down mode 8.8.1 Entering a Low-Power Mode Low-power modes are enabled by setting the POW bit in the MSR and clearing the LPML (low-power mode lock) bit in the PLPRCR. Once enabled, a low-power mode is entered by setting the LPM bits to the appropriate value. This can be done only in one of the normal modes. The user cannot change the LPM or CSRC bits when the MCU is in doze mode. Table 8-6 summarizes the control bit descriptions for the different clock power modes.
MPC555
/ MPC556
MOTOROLA 8-15
USERS MANUAL
8.8.2 Power Mode Descriptions Table 8-5 describes the power consumption, clock frequency, and chip functionality for each power mode. Table 8-5 Power Mode Descriptions
Operation Mode Normal-high Normal-low (gear) Doze-high SPLL Active Active Active Clocks Full frequency 2DFNH Full frequency 2DFNL+1 Full frequency 2DFNH Full frequency 2DFNL+1 Not active Not active Not active Not active SRAMs data retention Enabled: RTC, PIT, TB and DEC Functionality Full functions not in use are shut off Enabled: RTC, PIT, TB and DEC, memory controller Disabled: extended core (RCPU, BBC, FPU)
8.8.3 Exiting from Low-Power Modes Exiting from low-power modes occurs through an asynchronous interrupt or a synchronous interrupt generated by the memory controller. Any enabled asynchronous interrupt clears the LPM bits but does not change the PLPRCR[CSRC] bit. The exit from normal-low, doze-high, and low modes and sleep mode to normal-high mode is accomplished with the asynchronous interrupt. The sources of the asynchronous interrupt are: Asynchronous wake-up interrupt from the interrupt controller RTC, PIT, or time base interrupts (if enabled) Decrementer exception The system response to asynchronous interrupts is fast. The wake-up time from normal-low, doze-high, doze-low, and sleep mode due to an asynchronous interrupt or
MPC555
/ MPC556
MOTOROLA 8-16
USERS MANUAL
Operation Mode
Return Time from Wake-up Event to Normal-High Asynchronous interrupts: 3-4 maximum system cycles Synchronous interrupts: 3-4 actual system cycles 3-4 maximum system clocks < 500 Oscillator Cycles 125 sec 4 MHz 25 sec 20 MHz < 500 oscillator cycles + power supply wake-up Power-on sequence
Power-down VDDSRAM
Interrupt External
8.8.3.1 Exiting from Normal-Low Mode In normal mode (as well as doze mode), if the PLPRCR[CSRC] bit is set, the system toggles between low frequency (defined by PLPRCR[DFNL]) and high frequency (defined by PLPRCR[DFNH]. The system switches from normal-low mode to normal-high mode if either of the following conditions is met: An interrupt is pending from the interrupt controller; or The MSR[POW] bit is cleared (power management is disabled). When neither of these conditions are met, the PLPRCR[CSRC] bit is set, and the asynchronous interrupt status bits are reset, the system returns to normal-low mode. 8.8.3.2 Exiting from Doze Mode The system changes from doze mode to normal-high mode whenever an interrupt is pending from the interrupt controller. 8.8.3.3 Exiting from Deep-Sleep Mode The system switches from deep-sleep mode to normal-high mode if any of the following conditions is met:
MPC555
/ MPC556
MOTOROLA 8-17
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 8-18
USERS MANUAL
(MSRPOW+Interrupt)+CSRC Software *
((MSRPOW+Interrupt))*CSRC***
Software *
Interrupt
Software *
Software *
Software *
Deep-Sleep Mode LPM = 11, CSRC = 0, TEXPS = 1 Power-Down Mode LPM = 11, CSRC = 0, TEXPS = 0**
Software *
RTC/PIT/TB/DEC Interrupt followed by External Hard Reset or External Hard Reset Software * Hard Reset
* Software is active only in normal-high/low modes ** TEXPS receives the zero value by writing one. Writing of zero has no effect on TEXPS. *** The switch from normal-high to normal-low is enable only if the conditions to asynchronous interrupt are cleared
MPC555
/ MPC556
MOTOROLA 8-19
USERS MANUAL
VDDL/VDDI
VDDSYN
KAPWR
VDDSRAM
The following are the relations between different power supplies: VDDL = VDDI = VDDSYN = VDDF = 3.3 V 10% KAPWR VDDL 0.2 V (during normal operation) VDDSRAM VDDL 0.3 V (during normal operation) VDDSRAM 1.4 V (during standby operation) VPP VDDL 0.3 V, but VPP VDDL < 4.0 volts 8.9.2 Chip Power Structure The MPC555 / MPC556 provides a wide range of possibilities for power supply connections. Figure 8-10 illustrates the different power supply sources for each of the basic units on the chip. 8.9.2.1 VDDL The I/O buffers and logic are fed by a 3.3-V power supply. 8.9.2.2 VDDI VDDI powers the internal logic of the MPC555 / MPC556, nominally 3.3 V.
MPC555
/ MPC556
MOTOROLA 8-20
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 8-21
USERS MANUAL
VPP
SRAM
Internal Logic
PLL
Clock Control
VDDI VDDL
VDDI VDDSRAM
VDDSYN
Figure 8-10 Basic Power Supply Configuration 8.9.3 Keep Alive Power 8.9.3.1 Keep Alive Power Configuration Figure 8-11 illustrates an example of a switching scheme for an optimized low-power system. SW1 and SW2 can be unified in only one switch if VDDSYN and VDDI/VDDL are supplied by the same source.
MPC555
/ MPC556
MOTOROLA 8-22
USERS MANUAL
O
VDDSYN
O O
SW2
VDD
MPC555
TEXP
VDDSRAM
KAPWR
Figure 8-11 External Power Supply Scheme The MPC555 / MPC556 asserts the TEXP signal, if enabled, when the RTC or TB time value matches the value programmed in the associated alarm register or when the PIT or DEC value reaches zero. The TEXP signal is negated when the TEXPS status bit is written to one. The KAPWR power supply feeds the main crystal oscillator (OSCM). The condition for the main crystal oscillator stability is that the power supply value changes slowly. The maximum slope must be less than 5 mV per oscillation cycle ( > 200-300/freqoscm). 8.9.3.2 Keep Alive Power Registers Lock Mechanism The USIU timer, clocks, reset, power, decrementer, and time base registers are powered by the KAPWR supply. When the main power supply is disconnected after powerdown mode is entered, the value stored in any of these registers is preserved. If power-down mode is not entered before power disconnect, there is a chance of data loss in these registers. To minimize the possibility of data loss, the MPC555 / MPC556 includes a key mechanism that ensures data retention as long as a register is locked. While a register is locked, writes to this register are ignored. Each of the registers in the KAPWR region have a key that can be in one of two states: open or locked. At power-on reset the following keys are locked: RTC, RTSEC, RT-
MPC555
/ MPC556
MOTOROLA 8-23
USERS MANUAL
0x2F C204
Time Base Reference 0 (TBREF0) See 6.13.4.3 Time Base Reference Reg- 0x2F C304 isters for bit descriptions. Time Base Reference 1 (TBREF1) See 6.13.4.3 Time Base Reference Reg- 0x2F C308 isters for bit descriptions. Real Time Clock Status and Control (RTCSC) See Table 6-17 for bit descriptions. Real Time Clock (RTC) See 6.13.4.6 Real-Time Clock Register (RTC) for bit descriptions. Real Time Alarm Seconds (RTSEC) Reserved Real Time Alarm (RTCAL) See 6.13.4.7 Real-Time Clock Alarm Register (RTCAL) for bit descriptions. PIT Status and Control (PISCR) See Table 6-18 for bit descriptions. PIT Count (PITC) See Table 6-19 for bit descriptions. System Clock Control Register (SCCR) See Table 8-9 for bit descriptions. PLL Low-Power and Reset-Control Register (PLPRCR) See Table 8-10 for bit descriptions. Reset Status Register (RSR) See Table 7-3 for bit descriptions. 0x2F C320
0x2F C208
0x2F C220
0x2F C224
0x2F C324
0x2F C228
0x2F C328
0x2F C22C
0x2F C32C
PIT Status and Control Key (PISCRK) PIT Count Key (PITCK) System Clock Control Key (SCCRK) PLL Low-Power and Reset-Control Register Key (PLPRCRK) Reset Status Register Key (RSRK)
0x2F C284
0x2F C384
0x2F C288
0x2F C388
MPC555
/ MPC556
MOTOROLA 8-24
USERS MANUAL
0x2F C30C
Figure 8-12 illustrates the process of locking or unlocking a register powered by KAPWR.
Write to the Key 0x55CCAA33 Power On Reset (Valid for RTC, RTSEC, RTCAL and RTCSC)
Locked
Figure 8-12 Keep Alive Register Key State Diagram 8.10 VDDSRAM Supply Failure Detection A special circuit for VDDSRAM supply failure detection is provided. In the case of supply failure detection, the dedicated sticky bits LVSRS in the VSRMCR register are asserted. Software can read or clear these bits. The user should enable the detector and then clear these bits. If the user reads any of the LVSR bits as one, then a power failure of VDDSRAM has occurred. The circuit is capable of detecting supply failure below 2.6 V. Also, enable/disable control bit for the VDDSRAM detector may be used to disconnect the circuit and save the detector power consumption. 8.11 Power Up/Down Sequencing Figure 8-13 and Figure 8-14 detail the power-up sequencing for MPC555 / MPC556 during normal operation. Note that for each of the conditions detailing the voltage relationships the absolute bounds of the minimum and maximum voltage supply cannot be violated, i.e. the value of VDDL cannot fall below 3.0 V or exceed 3.6 V and the value of VDDH cannot fall below 4.5 V or exceed 5.5 V for normal operation. Further information detailing the functionality of the VPP signal for flash program and erase is outlined in 19.9.2 FLASH Program/Erase Voltage Conditioning. Power consumption during power up sequencing can not be specified prior to evaluation and charac-
MPC555
/ MPC556
MOTOROLA 8-25
USERS MANUAL
Power On
Power Off
See Note 2.
MPC555
/ MPC556
MOTOROLA 8-26
USERS MANUAL
No Battery
Connect Battery
Power On
Operating
Power Off
No Battery
Figure 8-14 Standby and KAPWR, Other Power-On/Off NOTE The following notes apply to Figure 8-13 and Figure 8-14 above: 1. VDDH VDDL - 0.35 V (0.5 V max. at temperature extremes) VPP VDDH + 0.5 V AND VPP VDDL - 0.35 V (The delta VPP - VDDL must be 3.6 V during power on or off) VDDA can lag VDDH, and VDDSYN can lag VDDL, but both must be at a valid level before resets are negated. 2. If keep alive functions are NOT used, then when system power is on: KAPWR = VDDSRAM = VDDL 0.35 V 3. If keep alive functions ARE used, then KAPWR = VDDSRAM = VDDL = 3.3 V 0.35 V when system power is on VDDSRAM 1.8 V and optionally KAPWR = 3.3 V 0.3 V when system power is off Normal system power is defined as VDDL = VDDI = VDDF = VDDSYN = VPP = VDDSRAM = KAPWR = 3.3 0.3 V and VDDA = VDDH = 5.0 0.5 V
MPC555
/ MPC556
MOTOROLA 8-27
USERS MANUAL
Flash programming requirements are the same as normal system power, except VPP = 5.0 0.25 V 4. Do not hold the 3-V supplies at ground while VDDH/VDDA is ramping to 5 V. 5. If 5 V is applied before the 3-V supply, all 5-V outputs will be in indeterminate states until the 3-V supply reaches a level that allows reset to be distributed throughout the device 8.12 Clocks Unit Programming Model 8.12.1 System Clock Control Register (SCCR) The SPLL has a 32-bit control register, SCCR, which is powered by keep-alive power.
0x2F C280
8 9 10 11 12
BUCS
1
COM
3
DCSLR
4
MFPDL
5
LPML
6
TBS
13
EBDF
14
15
LME
16
17
18
19
20
21
22
23
24
25
26 DFNL
27
28
29
30 DFNH
LSB 31
ENGDIV5
HARD RESET: U U U U U U U U 0 0 0 0 0 0 0
NOTES: 1. The hard reset value is a reset configuration word value, extracted from the indicated internal data bus lines. Refer to 7.5.2 Hard Reset Configuration Word. U = Unaffected by reset 2. RTDIV will be 0 if MODCK[1:3] = 0b000 3. EQ2 = MODCK1 4. EQ3 = (MODCK1 & MODCK2 & MODCK3) | (MODCK1 & MODCK2 & MODCK3) | (MODCK1 & MODCK2 & MODCK3). See Table 8-1. 5. On mask sets prior to K62N, ENGDIV defaults to 0b000001.
MPC555
/ MPC556
MOTOROLA 8-28
USERS MANUAL
DBCT
1:2
COM
DCSLR
MFPDL
LPML
TBS
RTDIV
STBUC
MPC555
/ MPC556
MOTOROLA 8-29
USERS MANUAL
10
PRQEN
11
RTSEL
12
BUCS
13:14
EBDF
15
LME
16:17
EECLK
MPC555
/ MPC556
MOTOROLA 8-30
USERS MANUAL
25:27
DFNL
28
29:31
DFNH
8.12.2 PLL, Low-Power, and Reset-Control Register (PLPRCR) The PLL, low-power, and reset-control register (PLPRCR) is a 32-bit register powered by the keep alive power supply.
MPC555
/ MPC556
MOTOROLA 8-31
USERS MANUAL
0x2F C284
14 LOCSS 15
RESERVE LOCS D
SPLS
16
17
18
19
20
21
22
23
24
25 LOLRE
26 RESERVE D
27
28
29
30
LSB 31
SPLS S
LPM
CSR
DIVF
POWER-ON RESET: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
HARD RESET: U 1 U 0 U 0 0 0 U U U U U U U
U = Unaffected by reset
13
LOCS
14
LOCSS
MPC555
/ MPC556
MOTOROLA 8-32
USERS MANUAL
16
SPLSS
17
TEXPS
To enable automatic wake-up TEXPS is asserted when one of the following occurs: The PIT is expired The real-time clock alarm is set The time base clock alarm is set The decrementer exception occurs The bit remains set until software clears it by writing a one to it. A write of zero has no effect on this bit. TEXPS is set by power-on or hard reset. 0 = TEXP is negated in deep-sleep mode 1 = TEXP pin remains asserted always
18
Reserved Timers interrupt status.TMIST is set when an interrupt from the RTC, PIT, TB or DEC occurs. The TMIST bit is cleared by writing a one to it. Writing a zero has no effect on this bit. The system clock frequency remains at its high frequency value (defined by DFNH) if the TMIST bit is set, even if the CSRC bit in the PLPRCR is set (DFNL enabled) and conditions to switch to normal-low mode do not exist. This bit is cleared during power-on or hard reset. 0 = No timer expired event was detected 1 = A timer expire event was detected Reserved Clock source. This bit is cleared at hard reset. 0 = General system clock is determined by the DFNH value 1 = General system clock is determined by the DFNL value Low-power mode select. These bits are encoded to provide one normal operating mode and four low-power modes. In normal and doze modes, the system can be in high state (frequency determined by the DFNH bits) or low state (frequency defined by the DFNL bits). The LPM field can be write-protected by setting the LPM and CSRC lock (LPML) bit in the PLPRCR Refer to Table 8-4 and Table 8-5. Checkstop reset enable. If this bit is set, then an automatic reset is generated when the RCPU signals that it has entered checkstop mode, unless debug mode was enabled at reset. If the bit is clear and debug mode is not enabled, then the USIU will not do anything upon receiving the checkstop signal from the RCPU. If debug mode is enabled, then the part enters debug mode upon entering checkstop mode. In this case, the RCPU will not assert the checkstop signal to the reset circuitry. This bit is writable once after soft reset. 0 = No reset will occur when checkstop is asserted 1 = Reset will occur when checkstop is asserted Loss of lock reset enable 0 = Loss of lock does not cause HRESET assertion 1 = Loss of lock causes HRESET assertion Note: if limp mode is enabled, use the COLIR feature instead of setting the LOLRE bit. See 8.12.3 Change of Lock Interrupt Register (COLIR).
19
TMIST
20 21
CSRC
22:23
LPM
24
CSR
25
LOLRE
MPC555
/ MPC556
MOTOROLA 8-33
USERS MANUAL
27:31
DIVF
8.12.3 Change of Lock Interrupt Register (COLIR) The COLIR is 16-bit read/write register. It controls the change of lock interrupt generation, and is used for reporting a loss of lock interrupt source. It contains the interrupt request level and the interrupt status bit. This register is readable and writable at any time. A status bit is cleared by writing a one (writing a zero does not affect a status bits value). The COLIR is memory mapped into the MPC555 / MPC556 USIU register map. COLIR Change of Lock Interrupt Register
MSB 0 1 2 3 4 5 6 7 8 COLIS 9 10 11 12 13 Reserved
0x2F C28C
14 LSB 15
COLIRQ RESET: 0 0 0 0 0 0 0 0
ReCOLIE served
U = Unaffected by reset
8 9
COLIS
10
COLIE
10:15
8.12.4 VDDSRAM Control Register (VSRMCR) This register contains control bits for enabling or disabling the VDDSRAM supply detection circuit. There are also four bits that indicate the failure detection. All four bits have the same function and are required to improve the detection capability in extreme cases.
MPC555
/ MPC556
MOTOROLA 8-34
USERS MANUAL
0x2F C290
14 LSB 15
RESERVED
U = Unaffected by reset
1:4
LVSRS
5 6:15
VSRDE
MPC555
/ MPC556
MOTOROLA 8-35
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 8-36
USERS MANUAL
9.1 Features The external bus interface features are listed below. 32-bit address bus with transfer size indication (only 24 available on pins) 32-bit data bus Bus arbitration logic on-chip supports an external master Internal chip-select and wait state generation to support peripheral or static memory devices through the memory controller Supports various memory (SRAM, EEPROM) types: synchronous and asynchronous, burstable and non-burstable Supports non-wrap bursts Flash ROM programming support Compatible with PowerPC architecture Easy to interface to slave devices Bus is synchronous (all signals are referenced to rising edge of bus clock) Bus can operate at the same frequency as the MPC555 / MPC556 or half the frequency. 9.2 Bus Transfer Signals The bus transfers information between the MPC555 / MPC556 and external memory of a peripheral device. External devices can accept or provide 8, 16, and 32 bits in parallel and must follow the handshake protocol described in this section. The maximum number of bits accepted or provided during a bus transfer is defined as the port width. The MPC555 / MPC556 contains an address bus that specifies the address for the transfer and a data bus that transfers the data. Control signals indicate the beginning and type of the cycle, as well as the address space and size of the transfer. The selected device then controls the length of the cycle with the signal(s) used to terminate the cycle. A strobe signal for the address bus indicates the validity of the address and provides timing information for the data.
MOTOROLA 9-1
tho
tsu Clock
Signal
Sample Window
Figure 9-1 Input Sample Window 9.3 Bus Control Signals The MPC555 / MPC556 initiates a bus cycle by driving the address, size, address type, cycle type, and read/write outputs. At the beginning of a bus cycle, TSIZ0 and TSIZ1 are driven with the address type signals. TSIZ0 and TSIZ1 indicate the number of bytes remaining to be transferred during an operand cycle (consisting of one or more bus cycles). These signals are valid at the rising edge of the clock in which the transfer start (TS) signal is asserted. The read/write (RD/WR) signal determines the direction of the transfer during a bus cycle. Driven at the beginning of a bus cycle, RD/WR is valid at the rising edge of the clock in which TS is asserted. The logic level of RD/WR only changes when a write cycle is preceded by a read cycle or vice versa. The signal may remain low for consecutive write cycles.
MPC555
/ MPC556
MOTOROLA 9-2
USERS MANUAL
32 1 1 2 4 1 1 1
TS
Transfer Start
1 1 1
RSV KR CR
Reservation Protocol
32
DATA[0:31]
Data
1 1 1 1
1 1 1
BR BG BB
Arbitration
Figure 9-2 MPC555 / MPC556 Bus Signals 9.4 Bus Interface Signal Descriptions Table 9-1 diatribes each signal in the bus interface unit. More detailed descriptions can be found in subsequent subsections.
MPC555
/ MPC556
MOTOROLA 9-3
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 9-4
USERS MANUAL
RETRY
Low O
MPC555
/ MPC556
MOTOROLA 9-5
USERS MANUAL
DATA[0:31]
32 Data bus
High
Driven by the MPC555 / MPC556 when it owns the external bus and it initiated a write transaction to a slave device. For single beat transactions, the byte lanes not selected for the transfer by ADDR[30:31] and TSIZ[0:1] do not supply valid data. In addition, the MPC555 / MPC556 drives DATA[0:31] when an external master owns the external bus and initiated a read transaction to an internal slave module. Driven by the slave in a read transaction. For single beat transactions, the MPC555 / MPC556 does not sample byte lanes that are not selected for the transfer by ADDR[30:31] and TSIZ[0:1]. In addition, an external master that owns the bus and initiated a write transaction to an internal slave module drives DATA[0:31].
Transfer Cycle Termination Driven by the slave device to which the current transaction was addressed. Indicates that the slave has received the data on the write cycle or returned data on the read cycle. If the transaction is a burst, TA should be asserted for each one of the transaction beats. Driven by the MPC555 / MPC556 when the slave device is controlled by the on-chip memory controller or when an external master initiated a transaction to an internal slave module. Driven by the slave device to which the current transaction was addressed. Indicates that an error condition has occurred during the bus cycle. Driven by the MPC555 / MPC556 when the internal bus monitor detected an erroneous bus condition, or when an external master initiated a transaction to an internal slave module and an internal error was detected. Driven by the slave device to which the current transaction was addressed. Indicates that the current slave does not support burst mode. Driven by the MPC555 / MPC556 when the slave device is controlled by the on-chip memory controller. the MPC555 / MPC556 also asserts BI for any external master burst access to internal MPC555 / MPC556 memory space.
MPC555
/ MPC556
MOTOROLA 9-6
USERS MANUAL
9.5 Bus Operations This section provides a functional description of the system bus, the signals that control it, and the bus cycles provided for data transfer operations. It also describes the error conditions, bus arbitration, and reset operation. The MPC555 / MPC556 generates a system clock output (CLKOUT). This output sets the frequency of operation for the bus interface directly. Internally, the MPC555 / MPC556 uses a phase-lock loop (PLL) circuit to generate a master clock for all of the CPU circuitry (including the bus interface) which is phase-locked to the CLKOUT output signal. All signals for the MPC555 / MPC556 bus interface are specified with respect to the rising edge of the external CLKOUT and are guaranteed to be sampled as inputs or changed as outputs with respect to that edge. Since the same clock edge is referenced for driving or sampling the bus signals, the possibility of clock skew could exist between various modules in a system due to routing or the use of multiple clock lines. It
MPC555
/ MPC556
MOTOROLA 9-7
USERS MANUAL
Arbitration
Address Transfer
Data Transfer
Termination
Figure 9-3 Basic Transfer Protocol The basic transfer protocol provides for an arbitration phase and an address and data transfer phase. The address phase specifies the address for the transaction and the transfer attributes that describe the transaction. The data phase performs the transfer of data (if any is to be transferred). The data phase may transfer a single beat of data (4 bytes or less) for nonburst operations, a 4-beat burst of data (4 x 4 bytes), an 8-beat burst of data (8 x 2 bytes) or a 16-beat burst of data (16 x 1 bytes). 9.5.2 Single Beat Transfer During the data transfer phase, the data is transferred from master to slave (in write cycles) or from slave to master (on read cycles). During a write cycle, the master drives the data as soon as it can, but never earlier than the cycle following the address transfer phase. The master has to take into consideration the one dead clock cycle switching between drivers to avoid electrical contentions. The master can stop driving the data bus as soon as it samples the TA line asserted on the rising edge of the CLKOUT. During a read cycle, the master accepts the data bus contents as valid at the rising edge of the CLKOUT in which the TA signal is sampled/asserted. 9.5.2.1 Single Beat Read Flow The basic read cycle begins with a bus arbitration, followed by the address transfer, then the data transfer. The handshakes are illustrated in the following flow and timing diagrams as applicable to the fixed transaction protocol.
MPC555
/ MPC556
MOTOROLA 9-8
USERS MANUAL
Assert bus busy (BB) if no other master is driving bus Assert transfer start (TS) Drive address and attributes
Receive address
Return data
Receive data
MPC555
/ MPC556
MOTOROLA 9-9
USERS MANUAL
CLKOUT
BR
BG
O O
BB
O
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST, BDIP
TS
O
Data
TA
O
Data is valid
MPC555
/ MPC556
MOTOROLA 9-10
USERS MANUAL
CLKOUT
BR
BG
O O
BB
O
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST, BDIP
TS
O
Data
TA Wait state
O
Data is valid
Figure 9-6 Single Beat Read CycleBasic TimingOne Wait State 9.5.2.2 Single Beat Write Flow The basic write cycle begins with a bus arbitration, followed by the address transfer, then the data transfer. The handshakes are illustrated in the following flow and timing diagrams as applicable to the fixed transaction protocol.
MPC555
/ MPC556
MOTOROLA 9-11
USERS MANUAL
Master
Slave
Assert bus busy (BB) if no other master is driving bus Assert transfer start (TS) Drive address and attributes
Drive data
MPC555
/ MPC556
MOTOROLA 9-12
USERS MANUAL
CLKOUT
BR
BG
O O
BB
O
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST, BDIP
TS
O
Data
TA
O
Data is sampled
Figure 9-8 Single Beat Basic Write Cycle Timing, Zero Wait States
MPC555
/ MPC556
MOTOROLA 9-13
USERS MANUAL
CLKOUT
BR
BG
O O
BB
O
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST, BDIP
TS
O
Data
TA Wait state
O
Data is sampled
Figure 9-9 Single Beat Basic Write Cycle Timing, One Wait State 9.5.2.3 Single Beat Flow with Small Port Size The general case of single beat transfers assumes that the external memory has a 32bit port size. The MPC555 / MPC556 provides an effective mechanism for interfacing with 16-bit and 8-bit port size memories, allowing transfers to these devices when they are controlled by the internal memory controller. In this case, the MPC555 / MPC556 attempts to initiate a transfer as in the normal case. If the bus interface receives a small port size (16 or 8 bits) indication before the transfer acknowledge to the first beat (through the internal memory controller), the MCU initiates successive transactions until the completion of the data transfer. Note that all the transactions initiated to complete the data transfer are considered to be part of an atomic transaction, so the MCU does not allow other unrelated master accesses
MPC555
/ MPC556
MOTOROLA 9-14
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:1]
ADDR
ADDR + 2
RD/WR
TSIZ[0:1]
00
10
BURST, BDIP
TS
STS
Data
ABCDEFGH
EFGHEFGH
TA
Figure 9-10 Single Beat 32-Bit Data Write Cycle Timing, 16 Bit-Port Size 9.5.3 Burst Transfer The MPC555 / MPC556 uses non-wrapping burst transfers to access operands of up to 16 bytes (four words). A non-wrapping burst access stops accessing the external device when the word address is modulo four. The MPC555 / MPC556 begins the access by supplying a starting address that points to one of the words and requiring the memory device to sequentially drive or sample each word on the data bus. The selectMPC555
/ MPC556
MOTOROLA 9-15
USERS MANUAL
/ MPC556
MOTOROLA 9-16
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 9-17
USERS MANUAL
Master
Request Bus (BR) Receive bus grant (BG) from arbiter
Slave
Assert Bus Busy (BB) if No Other Master is Driving Assert Transfer Start (TS) Drive Address and Attributes Drive BURST Asserted
Receive Address ADDR[28:29] mod 4 = ? =0 Assert BDIP Return Data Assert Transfer Acknowledge (TA)
BDIP Asserted
No
No
Receive Data BDIP Asserted =3 Yes Negate Burst Data in Progress (BDIP)
No
No
/ MPC556
MOTOROLA 9-18
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:31]
ADDR[28:31] = 0000
RD/WR
TSIZ[0:1]
00
BURST
O
Data
TA
Data is Valid
Data is Valid
Data is Valid
Data is Valid
MPC555
/ MPC556
MOTOROLA 9-19
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:31]
ADDR[28:31] = 0000
RD/WR
TSIZ[0:1]
00
BURST
O O
Data
TA
Wait State
Data is Valid
Data is Valid
Data is Valid
Data is Valid
MPC555
/ MPC556
MOTOROLA 9-20
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:31]
ADDR[28:31] = 0000
RD/WR
TSIZ[0:1]
00
BURST
O O
O
Data
TA
Data is Valid
Data is Valid
Data is Valid
MPC555
/ MPC556
MOTOROLA 9-21
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:31]
ADDR[28:31] = 0000
RD/WR
TSIZ[0:1]
00
BURST
TS
BDIP
Data[0:15]
TA
MPC555
/ MPC556
MOTOROLA 9-22
USERS MANUAL
Slave
Receive Address
BDIP Asserted
No
No
Drive Data BDIP Asserted =3 Yes Negate Burst Data in Progress (BDIP)
No
No
/ MPC556
MOTOROLA 9-23
USERS MANUAL
CLKOUT
BR (from external master)
BG
ADDR[0:31]
ADDR[28:29] = 00
RD/WR
(from external master)
TSIZ[0:1]
00
Data
TA
Figure 9-17 Burst-Write Cycle, 32-Bit Port Size, Zero Wait States
MPC555
/ MPC556
MOTOROLA 9-24
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:27]
ADDR[28:29]
ADDR[30:31]
RD/WR
TSIZ[0:1]
00
BURST*
TS
BDIP*
Data
TA
BI
* BURST and BDIP will be asserted for one cycle if the RCPU core requests a burst, but the USIU splits it into a sequence of normal cycles.
MPC555
/ MPC556
MOTOROLA 9-25
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR(0:29)
n (n modulo 4 = 1)
ADDR[30:31]
RD/WR
TSIZ[0:1]
00
BURST
O
Data
TA
BI
MPC555
/ MPC556
MOTOROLA 9-26
USERS MANUAL
CLKOUT
BR
BG
BB
ADDR[0:29]
n (n modulo 4 = 3)
ADDR[30:31]
00
RD/WR
TSIZ[0:1]
00
BURST
TS
Is Never Asserted
TA
O
DATA is Sampled
MPC555
/ MPC556
MOTOROLA 9-27
USERS MANUAL
OP0
Figure 9-21 Internal Operand Representation Figure 9-22 illustrates the device connections on the data bus.
MPC555
/ MPC556
MOTOROLA 9-28
USERS MANUAL
DATA[0:7]
DATA[8:15]
DATA[16:23]
OP0
OP1
OP2
OP3
OP0
OP2
Figure 9-22 Interface To Different Port Size Devices Table 9-2 lists the bytes required on the data bus for read cycles.
MPC555
/ MPC556
MOTOROLA 9-29
USERS MANUAL
Table 9-3 lists the patterns of the data transfer for write cycles when the MPC555 / MPC556 initiates an access. Table 9-3 Data Bus Contents for Write Cycles
Transfer Size Address TSIZE[0:1] 01 Byte 01 01 01 Half-word Word 10 10 00 ADDR [30:31] 00 01 10 11 00 10 00 DATA [0:7] OP0 OP1 OP2 OP3 OP0 OP2 OP0 External Data Bus Pattern DATA [8:15] OP1 OP3 OP1 OP3 OP1 DATA [16:23] OP2 OP2 OP2 DATA [24:31] OP3 OP3 OP3
9.5.6 Arbitration Phase The external bus design provides for a single bus master at any one time, either the MPC555 / MPC556 or an external device. One or more of the external devices on the bus can have the capability of becoming bus master for the external bus. Bus arbitration may be handled either by an external central bus arbiter or by the internal on-chip arbiter. In the latter case, the system is optimized for one external bus master besides the MPC555 / MPC556. The arbitration configuration (external or internal) is set at system reset. Each bus master must have bus request (BR), bus grant (BG), and bus busy (BB) signals. The device that needs the bus asserts BR. The device then waits for the arbiter to assert BG. In addition, the new master must look at BB to ensure that no other master is driving the bus before it can assert BB to assume ownership of the bus. Any time the arbiter has taken the bus grant away from the master and the master wants to exMPC555
/ MPC556
MOTOROLA 9-30
USERS MANUAL
Acknowledge Bus Mastership 1. Wait for BB to be negated. 2. Assert BB to become next master 3. Negate BR Terminate Arbitration 1. Negate BG (or keep asserted to park bus master)
Figure 9-23 Bus Arbitration Flowchart 9.5.6.1 Bus Request The potential bus master asserts BR to request bus mastership. BR should be negated as soon as the bus is granted, the bus is not busy, and the new master can drive the bus. If more requests are pending, the master can keep asserting its bus request as long as needed. When configured for external central arbitration, the MPC555 / MPC556 drives this signal when it requires bus mastership. When the internal on-chip arbiter is used, this signal is an input to the internal arbiter and should be driven by the external bus master.
MPC555
/ MPC556
MOTOROLA 9-31
USERS MANUAL
TS MPC555 BB
Slave 2
MPC555
/ MPC556
MOTOROLA 9-32
USERS MANUAL
CLKOUT
BR0
BG0
BR1
BG1
BB
TS
TA
Master 0 Master 1 Negates BB Turns On and and Turns Off Drives Signals (Three-state Controls)
Figure 9-25 Bus Arbitration Timing Diagram 9.5.6.4 Internal Bus Arbiter The MPC555 / MPC556 can be configured at system reset to use the internal bus arbiter. In this case, the MPC555 / MPC556 will be parked on the bus. The parking feature allows the MPC555 / MPC556 to skip the bus request phase, and if BB is negated, assert BB and initiate the transaction without waiting for BG from the arbiter. The priority of the external device relative to the internal MPC555 / MPC556 bus masters is programmed in the SIU module configuration register. If the external device requests the bus and the MPC555 / MPC556 does not require it, or if the external device has higher priority than the current internal bus master, the MPC555 / MPC556 grants the bus to the external device. Table 9-4 describes the priority mechanism used by the internal arbiter.
MPC555
/ MPC556
MOTOROLA 9-33
USERS MANUAL
NOTES: 1. External master will be granted external bus ownership if EARP is greater than the internal access priority. 2. Parked access is instruction or data access from the RCPU which is initiated on the internal bus without requesting it first in order to improve performance. 3. Refer to 6.13.1.1 SIU Module Configuration Register.
Figure 9-26 illustrates the internal finite-state machine that implements the arbiter protocol.
MPC555
/ MPC556
MOTOROLA 9-34
USERS MANUAL
MPC555 / MPC556 Internal Master With Higher Priority than the External Device Requires the Bus
=
R
0 =1
BB
BR = 1
1, B
BB = 0
IDLE
BG = 1 BB = t.s
MPC555 / MPC556 No Longer Needs the Bus MPC555 / MPC556 BR = 0 External Device With Higher Priority than the Current Internal Bus Master Requests the Bus Owner BG = 1 BB = 0
BB = 1
Figure 9-26 Internal Bus Arbitration State Machine 9.5.7 Address Transfer Phase Signals Address transfer phase signals include the following: Transfer start Address bus Transfer attributes Transfer attributes signals include RD/WR, BURST, TSIZ[0:1], AT[0:3], STS, and BDIP. With the exception of the BDIP, these signals are available at the same time as the address bus.
MPC555
/ MPC556
MOTOROLA 9-35
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 9-36
USERS MANUAL
9.5.7.6 Address Types The address type (AT[0:3]), program trace (PTR), and reservation transfer (RSV) signals are outputs that indicate one of 16 address types. These types are designated as either a normal or alternate master cycle, user or supervisor, and instruction or data type. The address type signals are valid at the rising edge of the clock in which the special transfer start (STS) signal is asserted. A special use of the PTR and RSV signals is for the reservation protocol described in 9.5.9 Storage Reservation. Refer to 9.5.13 Show Cycle Transactions for information on show cycles. Table 9-7 summarizes the pins used to define the address type. Table 9-8 lists all the definitions achieved by combining these pins. Table 9-7 Address Type Pins
Pin STS TS AT0 AT1 AT2 AT3 PTR RSV Function 0 = Special transfer 1 = Normal transfer 0 = Start of transfer 1 = No transfer Must equal zero on MPC555 / MPC556 0 = Supervisor mode 1 = User mode 0 = Instruction 1 = Data Reservation/Program Trace 0 = Program trace 1 = No program trace 0 = Reservation data 1 = No reservation
MPC555
/ MPC556
MOTOROLA 9-37
USERS MANUAL
NOTES: 1. Cases in which both TS and STS are asserted indicate normal cycles with the show cycle attribute.
9.5.7.7 Burst Data in Progress This signal is sent from the master to the slave to indicate that there is a data beat following the current data beat. The master uses this signal to give the slave advance warning of the remaining data in the burst. BDIP can also be used to terminate the burst cycle early. Refer to 9.5.3 Burst Transfer and 9.5.4 Burst Mechanism for more information. 9.5.8 Termination Signals The EBI uses three termination signals: Transfer acknowledge (TA) Burst inhibit (BI) Transfer error acknowledge (TEA) 9.5.8.1 Transfer Acknowledge Transfer acknowledge indicates normal completion of the bus transfer. During a burst cycle, the slave asserts this signal with every data beat returned or accepted.
MPC555
/ MPC556
MOTOROLA 9-38
USERS MANUAL
MCU
Acknowledge Signals
Slave 2
MPC555
/ MPC556
MOTOROLA 9-39
USERS MANUAL
CLKOUT
ADDR[0:31]
Slave 1
Slave 2
RD/WR
TSIZ[0:1]
TS
Data
Slave 1 Slave 2 Slave 1 Slave 2 negates acknowledge allowed to drive negates acknowledge allowed to drive acknowledge signals signals and turns off acknowledge signals signals and turns off
Figure 9-28 Termination Signals Protocol Timing Diagram 9.5.9 Storage Reservation The MPC555 / MPC556 storage reservation protocol supports a multi-level bus structure. For each local bus, storage reservation is handled by the local reservation logic. The protocol tries to optimize reservation cancellation such that a PowerPC processor is notified of storage reservation loss on a remote bus only when it has issued a stwcx cycle to that address. That is, the reservation loss indication comes as part of the stwcx cycle. This method avoids the need to have very fast storage reservation loss indication signals routed from every remote bus to every PowerPC master. The storage reservation protocol makes the following assumptions: Each processor has, at most, one reservation flag lwarx sets the reservation flag lwarx by the same processor clears the reservation flag related to a previous lwarx instruction and again sets the reservation flag stwcx by the same processor clears the reservation flag Store by the same processor does not clear the reservation flag Some other processor (or other mechanism) store to the same address as an existing reservation clears the reservation flag In case the storage reservation is lost, it is guaranteed that stwcx will not modify the storage
MPC555
/ MPC556
MOTOROLA 9-40
USERS MANUAL
lwarx S R Q
ADDR[0:29]
CR
Reservation Logic
CR
CLKOUT
Figure 9-29 Reservation On Local Bus The MPC555 / MPC556 samples the CR line at the rising edge of CLKOUT. When this signal is asserted, the reservation flag is reset. The EBI samples the logical value of the reservation flag prior to externally starting a bus cycle initiated by the RCPU stwcx instruction. If the reservation flag is set, the EBI begins with the bus cycle. If the reservation flag is reset, no bus cycle is initiated externally, and this situation is reported to the RCPU. The reservation protocol for a multi-level (local) bus is illustrated in Figure 9-30. The system describes the situation in which the reserved location is sited in the remote bus.
MPC555
/ MPC556
MOTOROLA 9-41
USERS MANUAL
MPC555 / MPC556
ADDR[0:29] Local Master Accesseses with lwarx to Remove Bus Address KR Q S R Buses Interface A Master in the Remote Bus Write to the Reserved Location
Remote Bus
Figure 9-30 Reservation On Multilevel Bus Hierarchy In this case, the bus interface block implements a reservation flag for the local bus master. The reservation flag is set by the bus interface when a load with reservation is issued by the local bus master and the reservation address is located on the remote bus. The flag is reset when an alternative master on the remote bus accesses the same location in a write cycle. If the MPC555 / MPC556 begins a memory cycle to the previously reserved address (located in the remote bus) as a result of an stwcx instruction, the following two cases can occur: If the reservation flag is set, the buses interface acknowledges the cycle in a normal way If the reservation flag is reset, the bus interface should assert the KR. However,
MPC555
/ MPC556
MOTOROLA 9-42
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 9-43
USERS MANUAL
CLKOUT
BR
BG (output)
BB
ADDR[0:31]
ADDR
ADDR
RD/WR
TSIZ[0:1]
BURST
TS
Data
TA
RETRY (input)
MPC555
/ MPC556
MOTOROLA 9-44
USERS MANUAL
CLKOUT
BR (output)
BG
BB
ADDR[0:31]
ADDR
ADDR
RD/WR
TSIZ[0:1]
BURST
TS
Data
TA
RETRY (input)
Figure 9-32 Retry Transfer TimingExternal Arbiter When the MPC555 / MPC556 initiates a burst access, the bus interface recognizes the RETRY assertion as a retry termination only if it detects it before the first data beat was acknowledged by the slave device. When the RETRY signal is asserted as a termination signal on any data beat of the access after the first (being the first data beat acknowledged by a normal TA assertion), the MPC555 / MPC556 recognizes RETRY as a transfer error acknowledge.
MPC555
/ MPC556
MOTOROLA 9-45
USERS MANUAL
CLKOUT
BR
BG (output)
BB
ADDR[0:31]
ADDR
ADDR
RD/WR
TSIZ[0:1]
BURST
TS
Data
TA
BI
RETRY
O
If Asserted Will Cause Transfer Error
Figure 9-33 Retry On Burst Cycle If a burst access is acknowledged on its first beat with a normal TA but with the BI signal asserted, the following single-beat transfers initiated by the MPC555 / MPC556 to complete the 16-byte transfer recognizes the RETRY signal assertion as a transfer error acknowledge. In the case in which a small port size causes the MPC555 / MPC556 to break a bus transaction into several small transactions, terminating any transaction with RETRY
MPC555
/ MPC556
MOTOROLA 9-46
USERS MANUAL
9.5.11 Bus Operation in External Master Modes When an external master takes ownership of the external bus and the MPC555 / MPC556 is programmed for external master mode operation, the external master can access the internal space of the MPC555 / MPC556 (see 6.2 External Master Modes). In an external master mode, the external master owns the bus, and the direction of most of the bus signals is inverted, relative to its direction when the MPC555 / MPC556 owns the bus. The external master gets ownership of the bus and asserts TS in order to initiate an external master access. The access is directed to the internal bus only if the input address matches the internal address space. The access is terminated with one of the followings outputs: TA, TEA, or RETRY. If the access completes successfully, the MPC555 / MPC556 asserts TA, and the external master can proceed with another external master access or relinquish the bus. If an address or data error is detected internally, the MPC555 / MPC556 asserts TEA for one clock. TEA should be negated before the second rising edge after it is sampled asserted in order to avoid the detection of an error for the next bus cycle initiated. TEA is an open drain pin, and the negation timing depends on the attached pullup. The MPC555 / MPC556 asserts the RETRY signal for one clock in order to retry the external master access. If the address of the external access does not match the internal memory space, the internal memory controller can provide the chip-select and control signals for accesses that belong to one of the memory controller regions. This feature is explained in SECTION 10 MEMORY CONTROLLER. Figure 9-34 and Figure 9-35 illustrate the basic flow of read and write external master accesses.
MPC555
/ MPC556
MOTOROLA 9-47
USERS MANUAL
External Master
MPC555 / MPC556
Asserts Bus Busy (BB) if No Other Master is Driving Assert Transfer Start (TS)
Receives Address
No
Yes
Receives Data
MPC555
/ MPC556
MOTOROLA 9-48
USERS MANUAL
External Master
MPC555 / MPC556
Asserts Bus Busy (BB) if No Other Master is Driving Assert Transfer Start (TS) Drives Address and Attributes
Receives Address
Drives Data
No
Yes
Figure 9-35 Basic Flow of an External Master Write Access ,Figure 9-36, Figure 9-37 and Figure 9-38 describe read and write cycles from an external master accessing internal space in the MPC555 / MPC556. Note that the miniMPC555
/ MPC556
MOTOROLA 9-49
USERS MANUAL
CLKOUT
BR (input)
BG
O O
BB
O
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST
BDIP
TS (input)
O
Data
Figure 9-36 Peripheral Mode: External Master Reads from MPC555 / MPC556 Two Wait States
MPC555
/ MPC556
MOTOROLA 9-50
USERS MANUAL
CLKOUT
BR(input)
BG
O O
BB
O
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST
BDIP
TS (input)
O
Data
Figure 9-37 Peripheral Mode: External Master Writes to MPC555 / MPC556; Two Wait States
MPC555
/ MPC556
MOTOROLA 9-51
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 9-52
USERS MANUAL
MPC555 / MPC556
Asserts Bus Busy (BB) if No Other Master is Driving Assert Transfer Start (TS) Drives Address and Attributes
Assert Retry
Release Bus Request (BR) for One Clock and Request Bus (BR) Again Wait Until Bus Busy Negated (No Other Master is Driving) Assert Bus Busy (BB) Assert Transfer Start (TS) Drives Address and Attributes
Receives Address
No
Yes
Memory Controller Asserts CSx If In Range
Returns Data
Receives Data
MPC555
/ MPC556
MOTOROLA 9-53
USERS MANUAL
CLKOUT
BR
BG (output)
BB
Allow Internal Access to Gain the Bus ADDR (ext)ernal ADDR (internal)
ADDR[0:31]
RD/WR
TSIZ[0:1]
BURST
TS
Data
TA
RETRY(output)
O Note: the delay for the internal to external cycle may be one clock or greater.
Figure 9-39 Retry of External Master Access (Internal Arbiter) 9.5.13 Show Cycle Transactions Show cycles are accesses to the CPUs internal bus devices. These accesses are driven externally for emulation, visibility, and debugging purposes. A show cycle can have one address phase and one data phase, or just an address phase in the case of instruction show cycles. The cycle can be a write or a read access. The data for both the read and write accesses should be driven by the bus master. (This is different from normal bus read and write accesses.) The address and data of the show cycle must each be valid on the bus for one clock. The data phase must not require a transfer ac-
MPC555
/ MPC556
MOTOROLA 9-54
USERS MANUAL
CLKOUT
BR (in)
BG (out)
BB
ADDR[0:31]
ADDR1
ADDR2
RD/WR
TSIZ[0:1]
BURST
TS
STS
Data (three-state)
TA
MPC555
/ MPC556
MOTOROLA 9-55
USERS MANUAL
BR (in)
BG (out)
BB
ADDR[0:31]
ADDR1
ADDR2
RD/WR
TSIZ[0:1]
BURST
TS
STS
Data TA
DATA1
DATA2
Read Data Show Cycle Bus Transaction Write Data Show Cycle Bus Transaction
MPC555
/ MPC556
MOTOROLA 9-56
USERS MANUAL
Internal Bus
U-bus Interface
WE[0:3]/BE[0:3] Memory Controller Bus
Memory Controller
OE CS[0:3]
Figure 10-1 Memory Controller Function Within the USIU 10.1 Overview The memory controller provides a glueless interface to EPROM, static RAM (SRAM), Flash EPROM (FEPROM), and other peripherals. The general-purpose chip-selects are available on lines CS[0] through CS[3]. CS[0] also functions as the global (boot)
MEMORY CONTROLLER
MOTOROLA 10-1
Base Register
Option Register
0 (OR0) 1 (OR1) 2 (OR2) 0 (OR0) 1 (OR1) 2 (OR2)
ATTRIBUTES
Figure 10-2 Memory Controller Block Diagram Most memory controller features are common to all four banks. (For features unique to the CS[0] bank, refer to 10.4 Global (Boot) Chip-Select Operation.) A full 32-bit address decode for each memory bank is possible with 17 bits having address masking. The full 32-bit decode is available, even if all 32 address bits are not sent to the MPC555 / MPC556 pins. Each memory bank includes a variable block size of 32 Kbytes, 64 Kbytes and up to 4 Gbytes. Each memory bank can be selected for read-only or read/write operation. The access to a memory bank can be restricted to certain address type codes for system protection. The address type comparison occurs with a mask option as well.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-2
USERS MANUAL
Address CS[0] OE
Address CE CE OE OE WE/BE[0:1]
Data [0:15]
DATA[0:15]
EPROM
MPC555 / MPC556
W
[0:31] Data OE
SRAM
Figure 10-3 MPC555 / MPC556 Simple System Configuration 10.2 Memory Controller Architecture The memory controller consists of a basic machine that handles the memory access cycle: the general-purpose chip-select machine (GPCM). When a new access to external memory is requested by any of the internal masters, the address of the transfer (with 17 bits having mask) and the address type (with 3 bits having mask) are compared to each one of the valid banks defined in the memory controller. Refer to Figure 10-4.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-3
USERS MANUAL
Base Address
RB ARB A RB A RB A RB A O O O O O O O O O RB A RB A
[0] [1] [2] [3] [4] [15] [16]
Address Mask
M
[0]
M
[1]
M
[2]
M
[3]
M
[4]
M
[5]
M
[6]
M
[7]
OOOO M
[16]
A[0:16]
M[0:16]
comp comp comp comp comp comp comp comp comp comp comp
Match
Figure 10-4 Bank Base Address and Match Structure When a match is found on one of the memory banks, its attributes are selected for the functional operation of the external memory access: Read-only or read/write operation Number of wait states for a single memory access, and for any beat in a burst access Burst-inhibit indication. Internal burst requests are still possible during burst-inhibited cycles; the memory controller emulates the burst cycles Port size of the external device Note that if more than one region matches the internal address supplied, then the lowest region is selected to provide the attributes and the chip select. 10.2.1 Associated Registers Status bits for each memory bank are found in the memory control status register (MSTAT). The MSTAT reports write-protect violations for all the banks. Each of the four banks has a base register (BR) and an option register (OR). The BRx and ORx registers contain the attributes specific to bank x. The base register contains a valid bit (V) that indicates that the register information for that chip select is valid. 10.2.2 Port Size Configuration The memory controller supports dynamic bus sizing. Defined 8-bit ports can be accessed as odd or even bytes. Defined 16-bit ports, when connected to data bus lines zero to 15, can be accessed as odd bytes, even bytes, or even half-words. Defined 32bit ports can be accessed as odd bytes, even bytes, odd half-words, even half-words,
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-4
USERS MANUAL
MPC555
MEMORY CONTROLLER
MOTOROLA 10-5
USERS MANUAL
Byte write and read-enable signals (WE/BE[0:3]) are available for each byte that is written to or read from memory. An output enable (OE) signal is provided to eliminate external glue logic for read cycles. Upon system reset, a global (boot) chip select is available. This provides a boot ROM chip select before the system is fully configured. Table 10-1 summarizes the chip-select timing options. Table 10-1 Timing Attributes Summary
Timing Attribute Access speed Bits/Fields TRLX Description The TRLX (timing relaxed) bit determines strobe timing to be fast or relaxed. The EHTR (extended hold time on read accesses) bit is provided for devices that have long disconnect times from the data bus on read accesses. EHTR specifies whether the next cycle is delayed one clock cycle following a read cycle, to avoid data bus contentions. EHTR applies to all cycles following a read cycle except for another read cycle to the same region. The ACS (address-to-chip-select setup) and CSNT (chip-select negation time) bits cause the timing of the strobes to be the same as the address bus timing, or cause the strobes to have setup and hold times relative to the address bus. From zero to 15 wait states can be programmed for any cycle that the memory controller generates. The transfer is then terminated internally. In simplest case, the cycle length equals (2 + SCY) clock cycles, where SCY represents the programmed number of wait states (cycle length in clocks). The number of wait states is doubled if the TRLX bit is set. When the SETA (external transfer acknowledge) bit is set, TA must be generated externally, so that external hardware determines the number of wait states.
EHTR
ACS, CSNT
Wait states
Note that when a bank is configured for TA to be generated externally (SETA bit is set) and the TRLX is set, the memory controller requires the external device to provide at least one wait state before asserting TA to complete the transfer. In this case, the minimum transfer time is three clock cycles. The internal TA generation mode is enabled if the SETA bit in the OR register is negated. However, if the TA pin is asserted externally at least two clock cycles before the
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-6
USERS MANUAL
Memory
Address
CSx OE WE/BE
CE OE W
Data
Data
Figure 10-5 MPC555 / MPC556 GPCMMemory Devices Interface In Figure 10-6, the CSx timing is the same as that of the address lines output. The strobes for the transaction are supplied by the OE and the WE/BE lines (if programmed as WE/BE). Because the ACS bits in the corresponding ORx register = 00, CS is asserted at the same time that the address lines are valid. Note that because CSNT is set, the WE signal is negated a quarter of a clock earlier than normal.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-7
USERS MANUAL
Clock
Address
TS
TA
CSNT = 1, ACS = 00
CS
WE/BE
OE
Data
Note: In this and subsequent timing diagrams in this section, the data bus refers to a read cycle. In a write cycle, the data immediately follows TS.
Figure 10-6 Memory Devices Interface Basic Timing (ACS = 00,TRLX = 0) 10.3.2 Peripheral Devices Interface Example Figure 10-7 illustrates the basic connection between the MPC555 / MPC556 and an external peripheral device. In this case CSx is connected directly to the chip enable (CE) of the memory device and the R/W line is connected to the R/W in the peripheral device. The CSx line is the strobe output for the memory access.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-8
USERS MANUAL
Peripheral Address
Address
CSx RD/WR
CE R/W
Data
Data
Figure 10-7 Peripheral Devices Interface The CSx timing is defined by the setup time required between the address lines and the CE line. The memory controller allows the user to specify the CS timing to meet the setup time required by the peripheral device. This is accomplished through the ACS field in the base register. In Figure 10-8, the ACS bits are set to 11, so CSx is asserted half a clock cycle after the address lines are valid.
TS
CSNT = 1
TA
CS
RD/WR
Data
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-9
USERS MANUAL
Strobes (OE and CS) assertion time is delayed one clock relative to address (TRLX bit set effect). Strobe (CS) is further delayed (half-clock) relative to address due to ACS field being set to 11. Total cycle length = 5, is determined as follows: Two clocks for basic cycle SCY = 1 determines 1 wait state, which is multiplied by two due to TRLX being set. Extra clock is added due to TRLX effect on the strobes.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-10
USERS MANUAL
CLOCK
Address
TS
TA
CS
RD/WR
WE/BE
OE
Data
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-11
USERS MANUAL
CLOCK
Address
TS
ACS = 10
TA
CS
RD/WR
WE/BE
OE
Data
Figure 10-10 Relaxed TimingWrite Access (ACS = 10, SCY = 0, CSNT = 0, TRLX = 1)
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-12
USERS MANUAL
Clock
Address
TS
ACS =11
TA
CS
RD/WR
WE/BE
OE CSNT = 1 Data
Figure 10-11 Relaxed Timing Write Access (ACS = 11, SCY = 0, CSNT = 1, TRLX = 1)
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-13
USERS MANUAL
CLOCK
Address
TS
No Effect, ACS = 00
TA
CS
RD/WR
WE/BE
OE CSNT = 1 Data
Figure 10-12 Relaxed Timing Write Access (ACS = 00, SCY = 0, CSNT = 1, TRLX = 1 10.3.4 Extended Hold Time on Read Accesses For devices that require a long disconnection time from the data bus on read accesses, the bit EHTR in the corresponding OR register can be set. In this case any MPC555 / MPC556 access to the external bus following a read access to the referred memory bank is delayed by one clock cycle unless it is a read access to the same bank. Figure
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-14
USERS MANUAL
CLOCK
Address
TS
TA
CSx
CSy
RD/WR
OE Tdt Data
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-15
USERS MANUAL
CLOCK
Address
TS
TA
CSx
CSy
RD/WR
OE
Tdt
Data
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-16
USERS MANUAL
Clock
Address
TS
TA
CSx
CSy
RD/WR
OE
Tdt
Data
Figure 10-15 Consecutive Accesses (Read After Read From Different Banks, EHTR = 1)
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-17
USERS MANUAL
CLOCK
Address
TS
TA
CSx
CSy
RD/WR
OE Tdt Data
Figure 10-16 Consecutive Accesses (Read After Read From Same Bank, EHTR = 1) 10.3.5 Summary of GPCM Timing Options Table 10-2 summarizes the different combinations of timing options.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-18
USERS MANUAL
0 1 1 1 1 1 1 1 1 1
NOTE: Timing in this table refers to the typical timing only. Consult the electrical characteristics for exact worstcase timing values. 1/4 clock actually means 0 to 1/4 clock, 1/2 clock means 1/4 to 1/2 clock.
Additional timing rules not covered in Table 10-2 include the following: If SETA = 1, an external TA signal is required to terminate the cycle. If TRLX = 1 and SETA = 1, the minimum cycle length = 3 clock cycles (even if SCY = 0000) If TRLX = 1, the number of wait states = 2 * SCY & 2 * BSCY If EHTR = 1, an extra (idle) clock cycle is inserted between a read cycle and a following read cycle to another region, or between a read cycle and a following write cycle to any region. If LBDIP = 1 (late BDIP assertion), the BDIP pin is asserted only after the number of wait states for the first beat in a burst have elapsed. See Figure 9-13 in SECTION 9 EXTERNAL BUS INTERFACE as well as 9.5.4 Burst Mechanism. Note that this function can operate only when the cycle termination is internal, using the number of wait states programmed in one of the ORx registers
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-19
USERS MANUAL
NOTE If the MPC555 / MPC556 is configured (in the reset configuration word) to use the internal flash EEPROM as boot memory CS[0] is not asserted.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-20
USERS MANUAL
0 1 0 1 0 0 0
X X X X X X X X X X X X
X X X X X X X X X X
X X X X X X X
10.6 Dual Mapping of the Internal Flash EEPROM Array The user can enable mapping of the internal flash EEPROM (CMF) module to an external memory region controlled by the memory controller. Only one region can be programmed to be dual-mapped. When dual mapping is enabled (DME bit is set in DMBR), an internal address matches the dual-mapped address range (as programmed in the DMBR), and the cycle type matches AT/ATM field in DMBR/DMOR registers, then the following occur: The internal flash memory does not respond to that address
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-21
USERS MANUAL
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-22
USERS MANUAL
Dual Mapping
CSx
Dual-Map region
Flash
External CSx
Figure 10-17 Aliasing Phenomena Illustration The default state is to allow dual-mapping data accesses only; this means that dual mapping is possible only for data accesses on the internal bus. Also, the default state takes the lower two Mbytes of the MPC555 / MPC556 internal flash memory. Hence, caution should be taken to change the dual-mapping setup before the first data access. NOTE Dual mapping is not supported for an external master when the memory controller serves the access; In such a case, the MPC555 / MPC556 terminates the cycle by asserting TEA.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-23
USERS MANUAL
A synchronous master initiates a transfer by asserting TS. The ADDR[0:31] signals must be stable from the rising edge of CLKOUT during which TS is sampled, until the last TA acknowledges the transfer. Since the external master works synchronously with the MPC555 / MPC556, only setup and hold times around the rising edge of CLKOUT are important. Once the TS is detected/asserted, the memory controller compares the address with each one of its defined valid banks to find a possible match. But, since the external address space is shorter than the internal space, the actual addess that is used for comparing against the memory controller regions is in the format of: {00000000, bits 8:16 of the external address}. In the case where a match is found, the controls to the memory devices are generated and the transfer acknowledge indication (TA) is supplied to the master. Since it takes two clocks for the external address to be recognized and handled by the memory controller, the TS which is generated by the external master is ahead of the corresponding CS and strobes which are asserted by the memory controller. This 2clock delay might cause problems in some synchronous memories. To overcome this, the memory controller generates the MTS (memory transfer start) strobe which can be used in the slaves memory instead of the external masters TS signal. As seen in Figure 10-18, the MTS strobe is synchronized to the assertion of CS by the memory controller so that the external memory can latch the external masters address correctly. To activate this feature, the MTSC bit must be set in the SIUMCR register. Refer to 6.13.1.1 SIU Module Configuration Register for more information. When the external master accesses the internal flash when it is disabled, then the access is terminated with transfer error acknowledge (TEA pin) asserted, and the memory controller does not support this access in any way. When the memory controller serves an external master, the BDIP pin becomes an input pin. This pin is watched by the memory controller to detect when the burst is terminated.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-24
USERS MANUAL
TS
BDIP
Data
ADDR
BURST
Memory
Note that the memory controllers BDIP line is used as a burst_in_progress signal.
Figure 10-18 Synchronous External Master Configuration For GPCMHandled Memory Devices
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-25
USERS MANUAL
CLOCK
ADDR[0:31]
RD/WR
BURST
TSIZE
TS
MTS
TA
CS
WE/BE
OE
Data
Figure 10-19 Synchronous External Master Basic Access (GPCM Controlled) Note that since the MPC555 / MPC556 has only 24 address pins, the eight most significant internal address lines are driven as 0x0000_0000, and so compared in the memory controllers regions.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-26
USERS MANUAL
0x2F C11C 0x2F C120 0x13F 0x2F C140 0x2F C144 0x2F C148 0x2F C174 0x2F C178
Note: In all subsequent registers bit tables, if two reset values are given: the upper is for CSx, x = 1, 2, 3, and the lower is dedicated to CS[0].
10.8.1 General Memory Controller Programming Notes 1. In the case of an external master that accesses an internal MPC555 / MPC556 module (in slave or peripheral mode), if that slave device address also matches one of the memory controllers regions, the memory controller will not issue any CS for this access, nor will it terminate the cycle. Thus, this practice should be avoided. Be aware also that any internal slave access prevents memory controller operation. 2. If the memory controller serves an external master, then it can support accesses to 32-bit port devices only. This is because the MPC555 / MPC556 external bus interface cannot initiate extra cycles to complete an access to a smaller port-size device as it does not own the external bus. 3. When the SETA bit in the base register is set, then the timing programming for the various strobes (CS, OE and WE/BE) may become meaningless.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-27
USERS MANUAL
0x2F C178
14 LSB 15
RESERVED
8:11
Write protection error for bank x. This bit is asserted when a write-protect error occurs for the WPER0 associated memory bank. A bus monitor (responding to TEA assertion) will, if enabled, prompt WPER3 the user to read this register if TA is not asserted during a write cycle. WPERx is cleared by writing one to the bit or by performing a system reset. Writing a zero has no effect on WPER. Reserved
12:15
BR0 BR3 Memory Controller Base Registers 0 3 0x2F C100, C108, C110, C118
MSB 0 1 2 3 4 5 6 7 BA HRESET U U U U U U U U U U U U U U U U 8 9 10 11 12 13 14 15
16
17
18
19
20
21
22 RESERV ED
23
24
25
26
27
28
29
30
LSB 31 V
BA
AT
PS
WP
RESERVED
BI
* Reset value is determined by the value on the internal data bus during reset. ** The BR0 Reset value is determined by the value on the internal data bus during reset (reset-configuration word). The reset value of the V bit of BR1-3 = 0.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-28
USERS MANUAL
0:16
BA
17:19
AT
20:21
PS
22
23
WP
24:25 26
WEBS
27
TBDIP
29
SETA
30
BI
31
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-29
USERS MANUAL
HRESET (OR0) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 AM*
17
18 ATM
19
20 CSNT
21 ACS
22
23 EHTR
24
25 SCY
26
27
28
29 BSCY
30
LSB 31 TRLX
HRESET: (OR[1:3]): U U U U U U U U U U U U U U U U
HRESET (OR0) 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0
*It is recommended that this field would hold values that are the power of 2 minus 1 (e.g., - 23 - 1 = 7 [0b111]).
0:16
AM
17:19
ATM
20
CSNT
21:22
ACS
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-30
USERS MANUAL
23
EHTR
31
TRLX
0x2F C140
14 RESERVED 15
0 30
0 LSB 31 DME
DMCS
ID31*
*The reset value is a reset configuration word value extracted from the indicated internal data bus lines.
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-31
USERS MANUAL
1:6
BA
10:12
AT
13:27
28:30
DMCS
31
DME
0x2F C144
14 RESERVED 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
*It is recommended that this field would hold values that are the power of 2 minus 1 (e.g., - 23 - 1 = 7 [0b111]).
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-32
USERS MANUAL
1:6
AM
7:9
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-33
USERS MANUAL
MPC555
/ MPC556
MEMORY CONTROLLER
MOTOROLA 10-34
USERS MANUAL
The L2U directs bus traffic between the L-bus and the U-bus. When transactions start concurrently on both buses, the L2U interface arbitrates to select which transaction is handled. The top priority is assigned to U-bus to L-bus accesses; lower priority is assigned to the load/store accesses by the RCPU. 11.1 General Features Non-pipelined master and slave on U-bus Does not start two back-to-back accesses on the U-bus Supports the U-bus pipelining by starting a cycle on the U-bus when U-bus pipe depth is zero or one Does not accept back-to-back accesses from the U-bus master Non-pipelined master and slave on the L-bus Generates module selects for L-bus memory-mapped resources within a programmable, contiguous block of storage Programmable data memory protection unit (DMPU) L-bus and U-bus snoop logic for PowerPC reservation protocol L2U does not support dual mapping of L-bus or IMB3 space Show cycles for RCPU accesses to the SRAM (none, all, writes) Protection for SRAM accesses from the U-bus side (all accesses to the SRAM from the U-bus side are blocked once the SRAM protection bit is set) 11.2 DMPU Features Supports four memory regions whose base address and size can be programmed Available sizes are 4 Kbytes, 8 Kbytes, 16 Kbytes, 32 Kbytes, 64 Kbytes, 128 Kbytes, 256 Kbytes, 512 Kbytes, 1 Mbyte, 2 Mbytes, 4 Mbytes, 8 Mbytes, and 16 Mbytes Region must start on the specified region size boundary Overlap between regions is allowed Each of the four regions supports the following attributes: Access protection: user or supervisor Guarded attribute: speculative or non-speculative Enable/disable option Read only option
MPC555 / MPC556 USERS MANUAL L-BUS TO U-BUS INTERFACE (L2U) MOTOROLA 11-1
11.3 L2U Block Diagram Figure 11-1 shows a block diagram of the L-bus to U-bus interface.
L-bus
L-bus Interface
Address Decode
Reservation Control
DMPU
U-bus Interface
U-bus
Figure 11-1 L2U Bus Interface Block Diagram 11.4 Modes Of Operation The L2U Module can operate in the following modes: Normal Mode Reset Operation Factory Test Mode Peripheral Mode
MPC555
/ MPC556
MOTOROLA 11-2
USERS MANUAL
/ MPC556
MOTOROLA 11-3
USERS MANUAL
Address
Region0 Address and size Region1 Address and size Region2 Address and size Region3 Address and size
Match select
Region0 protection/attribute Region1 protection/attribute Region2 protection/attribute Region3 protection/attribute Global protection/attribute Specific Error Interrupts to Core RegionProtection/Attribute
MSRDR
Figure 11-2 DMP Basic Functional Diagram 11.5.1 Functional Description Data memory protection is assigned on a regional basis. Default manipulation of the DMPU is done on a global region. The DMPU has control registers which contain the following information: region protection on/off, region base address, region size, and the regions access permissions. Each regions protection attributes can be turned on/ off by configuring the enable attribute bit (ENRx) located in the global region attribute register. During each load/store access from the RCPU core to the U-bus, the address is compared to the value in the region base address register of each enabled region. Any access that matches the specific region within its appropriate size, as defined by the region size field (RS) of the region attribute register, sets a match indication.
MPC555
/ MPC556
MOTOROLA 11-4
USERS MANUAL
For speculative load/store accesses from the RCPU to a region marked as guarded (G bit of region attribute register is set), the L2U asks the RCPU to retry the L-bus cycle until either the access is not speculative, or it is canceled by the RCPU. In the case of attempted accesses to a guarded region together with any other protection violation (no access), the L2U retries the access. The L2U handles this event as a data storage violation only when the access becomes non-speculative. Note that access protection is active only when the PowerPCs MSR[DR] = 1. When MSR[DR] = 0, DMPU exceptions are disabled, all accesses are considered to be to a guarded memory area, and no speculative accesses are allowed. In this case, if the Lbus master [RCPU] initiates a non-SRAM cycle (access through the L2U) that is marked speculative, the L2U asks the RCPU to retry the L-bus cycle until either the access is not speculative, or it is canceled by the RCPU core. Note that the programmer must not overlap the SRAM memory space with any enabled region. Overlapping an enabled region with SRAM memory space disables the L2U data memory protection for that region. If an enabled region overlaps with the L-bus space, the DMPU ignores all accesses to addresses within the L-bus space. If an enabled region overlaps with PowerPC register addresses, the DMPU ignores any access marked as a PowerPC access. 11.5.2 Associated Registers The following registers are used to control the DMPU of the L2U module. All the registers are special purpose registers which are accessed via the PowerPC mtspr/mfspr instructions. The registers are also accessed by an external master when EMCR[CONT] = 0. See 11.8 L2U Programming Model for register diagrams and bit descriptions.
MPC555
/ MPC556
MOTOROLA 11-5
USERS MANUAL
CAUTION The appropriate DMPU registers must be programmed before the MSR[DR] bit is set. Otherwise, DMPU operation is not guaranteed. Program the region base address in the L2U_RBAx registers to the lower boundary of the region specified by the corresponding L2U_RAx[RS] field. If the region base address does not correspond to the boundary of the block size programmed in the L2U_RAx, the DMPU snaps the region base to the lower boundary of that block. For example, if the block size is programmed to 16 Kbytes for region zero (i.e. L2U_RA0[RS] = 0 x 3) and the region base address is programmed to 0x1FFF(i.e., L2U_RBA0[RBA] = 0 x 1), then the effective base address of region zero is 0 x 0. See Figure 11-3.
0x0000 0000 region 0 (16 Kbytes) Resulting Region 0x0000 1FFF Actual Programmed Region 0x0000 3FFF
0x0000 5FFF
Figure 11-3 Region Base Address Example It is the users responsibility to program only legal region sizes. The L2U does not check whether the value is legal. If the user programs an illegal region size, the region calculation may not be successful.
MPC555
/ MPC556
MOTOROLA 11-6
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 11-7
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 11-8
USERS MANUAL
NOTES: 1. If the RCPU tries to modify (stwcx) that location, the L2U does not have enough time to stop the write access from completing. In this case, the L2U will drive cancel-reservation signal back to the core as soon as it comes to know that the alternate master on the U-bus has touched the reserved location. 2. If the RCPU tries to modify (stwcx) that location, the L2U does not start the cycle on the U-bus and it communicates to the core that the current write has been aborted by the slave with no side effects. 3. If the RCPU tries to modify (stwcx) that location, the L2U runs a write-cycle-with-reservation request on the U-bus. The L2U samples the status of the reservation along with the U-bus cycle termination signals and it communicates to the core if the current write has been aborted by the slave with no side effects.
11.7 L-Bus Show Cycle Support The L2U module provides support for L-bus show cycles. L-bus show cycles are external visibility cycles that reflect activity on the L-bus that would otherwise not be visible to the external bus. L-bus show cycles are software controlled. 11.7.1 Programming Show Cycles L-bus show cycles are disabled during reset and must be configured by writing the appropriate bits in the L2U_MCR control register. L-bus show cycles are programmed by setting the LSHOW[0:1] bits in the L2U_MCR. The Table 11-3 shows the configurations of the LSHOW[0:1] bits. Table 11-3 L2U_MCR LSHOW Modes
LSHOW 00 01 10 11 Action Disable L-bus show cycles Show address and data of all L-bus space write cycles Reserved (Disable L-bus show cycles) Show address and data of all L-bus space read and write cycles
11.7.2 Performance Impact When show cycles are enabled in the L2U module, there is a performance penalty on the L-bus. This occurs because the L2U module does not support more than one access being processed at any time. To ensure that only one access at a time can be
MPC555
/ MPC556
MOTOROLA 11-9
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 11-10
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 11-11
USERS MANUAL
LB AACK
No X X Yes Yes
LB ABORT
X X X No Yes
Comments
Not show cycled [Cycle will be retried one clock later]4 Not show cycled Not show cycled Show cycled Not show cycled [L-bus will be released next clock]
1. L-bus slave includes all address in the L-bus address space. 2. L2U indicates L2U registers. 3. U-bus/E-bus refers to all destinations through the L2U interface. 4. There will be a 1-clock turnaround because the L-bus retry information is not available in time to negate the Lbus arbitration. Note: X indicates dont care conditions.
11.8 L2U Programming Model The L2U control registers control the L2U bus interface and the DMPU. They are accessible via the MPC555 / MPC556 mtspr and mfspr instructions. They are also accessible by an external master when EMCR[CONT] bit is cleared. L2U control registers are accessible from both the L-bus side and the U-bus side in one clock cycle. As with all SPRs, L2U registers are accessible in supervisor mode only. Any unimplemented bits in L2U registers return 0s on a read, and the writes to those register bits are ignored. The Table 11-5 shows L2U registers along with their SPR numbers and hexadecimal addresses which are used to access L2U registers during a peripheral mode access.
.
MPC555
/ MPC556
MOTOROLA 11-12
USERS MANUAL
A18:22
spr0:4
A23:27
spr5:9
A28:31
0
11.8.1 U-bus Access The L2U registers are accessible from the U-bus side only if it is a supervisor mode data access and the register address is correct and it is indicated on the U-bus that it is a PPC register access.
A user mode access, or an access marked as instruction, to L2U registers from the Ubus side will cause a data error on the U-bus. 11.8.2 Transaction Size All L2U registers are defined by PowerPC architecture as being 32-bit registers. There is no PowerPC instruction to access either a half word or a byte of the special purpose register. All L2U registers are only word accessible (read and write) in peripheral mode. A half-word or byte access in peripheral mode will result in a word transaction. 11.8.3 L2U Module Configuration Register (L2U_MCR) The L2U module configuration register (L2U_MCR) is used to control the L2U module operation. L2U_MCR L2U Module Configuration Register
MSB 0 SP 1 2 3 4 5 6 7 8 9 RESERVED 10 11 12 13
SPR 568
14 15
LSHOW
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 11-13
USERS MANUAL
1:2
LSHOW
3:31
11.8.4 Region Base Address Registers (L2U_RBAx) The region base address register defines the base address of a specific region protected by the data memory protection unit. There are four registers (x = 0...3), one for each supported region. L2U_RBAx L2U Region x Base Address Register
MSB 0 1 2 3 4 5 6 7 RBA RESET: x x x x x x x x x x x x x x x x 8 9 10 11 12
16
17 RBA
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED
RESET: x x x x 0 0 0 0 0 0 0 0 0 0 0 0
x = Undefined
MPC555
/ MPC556
MOTOROLA 11-14
USERS MANUAL
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0
16
17 RS
18
19
20 PP
21
22
23 RESERVED
24
25 G
26
27
28
29
30
LSB 31
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8:19
RS
20:21
PP
22:24 25 26:31
11.8.6 Global Region Attribute Register The global region attribute register defines the protection attributes associated with the memory region which is not protected under the four DMPU regions. This register also provides enable/disable control for the four DMPU regions.
MPC555
/ MPC556
MOTOROLA 11-15
USERS MANUAL
SPR 536
14 15
RESERVED
16
17
18
19
20 PP
21
22
23 RESERVED
24
25 G
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0 0
RESERVED
ENR1
ENR2
3 4:19
ENR3
20:21
PP
22:24 25 26:31
MPC555
/ MPC556
MOTOROLA 11-16
USERS MANUAL
1.
The user should not perform instruction fetches from modules on the IMB. U-BUS TO IMB3 BUS INTERFACE (UIMB) MOTOROLA 12-1
U-bus
IMB3 Interface
IMB3
Scan Control
Interrupt Synchronizer
Clock Control
Figure 12-1 UIMB Interface Module Block Diagram 12.3 Clock Module The clock module within the UIMB interface generates the IMB clock. The IMB clock is the main timing reference used within the IMB modules. The IMB clock is often referred to in the IMB module sections as FSYS or IMB3 clock. The IMB clock is generated based on the STOP and HSPEED bits in the UIMB module configuration register (UMCR). If the STOP bit is 1, the IMB clock is not generated. If the STOP bit is 0 and the HSPEED bit is 0, the IMB clock is generated as the inversion of the internal system clock. This is the same frequency as the CLKOUT if EBDF is 0b00 full speed external bus. (See Figure 12-2.) If the HSPEED bit is 1, then the IMB clock is one-half of the internal system frequency. (See Figure 12-3.) Table 12-1 STOP and HSPEED Bit Functionality
STOP 0 0 1 HSPEED 0 1 X Functionality IMB bus frequency is the same as U-bus frequency. IMB bus frequency is half that of the U-bus frequency. IMB clock is not generated.
MPC555
/ MPC556
MOTOROLA 12-2
USERS MANUAL
CLKOUT
T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4
IMB Clock
B4
B1
B2
B3
B4
B1
B2
B3
CLKOUT
T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4
IMB Clock
B4
B1
B2
B3
Figure 12-3 IMB Clock Half-Speed IMB Bus Table 12-2 shows the number of system clock cycles that the UIMB requires to perform each type of bus cycle. It is assumed in this table that the IMB3 is available to the UIMB at all times (fastest possible case). Table 12-2 Bus Cycles and System Clock Cycles
Bus Cycle (from U-bus Transfer Start to U-bus Transfer Acknowledge) Normal write Normal read Dynamically-sized write Dynamically-sized read Number of System Clock Cycles Full Speed 4 4 6 6 6 6 10 10 Half Speed
NOTE The UIMB interface dynamically interprets the port size of the addressed module during each bus cycle, allowing bus transfers to and from 16-bit and 32-bit IMB modules. During a bus transaction, the slave module on the IMB signals its port size (16- or 32-bit) via an internal port size signal. 12.4 Interrupt Operation The interrupts from the modules on the IMB3 are propagated to the interrupt controller in the USIU through the UIMB interface. The UIMB interrupt synchronizer latches the Interrupts from the IMB3 and drives them onto the U-bus, where they are latched by the USIU interrupt controller.
MPC555
/ MPC556
MOTOROLA 12-3
USERS MANUAL
IMB interrupt UIPEND 8 (0:7) (8:15) Byte Count Byte-enables Byte-enable to IMB 2 Block 4 (16:23) (24:31) 8
U-bus Data[0:31]
Figure 12-4 Interrupt Synchronizer Signal Flow Latching 32 interrupt levels using eight IMB interrupt lines is accomplished with a 4:1 time-multiplexing scheme. The UIMB drives two signals (ILBS[0:1]) with a multiplexer select code that tells all interrupting modules on the IMB about which group of signals to drive during the next clock. 12.4.3 ILBS Sequencing The IMB interface drives the ILBS signals continuously, incrementing through a code sequence (00, 01, 10, 11) once every clock The IRQMUX[0:1] bits in the IMB module configuration register select which type of multiplexing the Interrupt synchronizer will perform. The IRQMUX field can select time-multiplexing protocols for 8, 16, 24 or 32 interrupt sources. These protocols would take one, two, three or four clocks, respectively.
MPC555
/ MPC556
MOTOROLA 12-4
USERS MANUAL
IMB CLOCK
ILBS [0:1]
00
01
10
11
00
01
10
11
IMB LVL[0:7]]
LVL 0:7
LVL 8:15
LVL 16:23
LVL 24:31
LVL 0:7
The IRQMUX bits determine how many levels of IMB interrupts are sampled. Refer to Table 12-4.
.
MPC555
/ MPC556
MOTOROLA 12-5
USERS MANUAL
The UIPEND register contains a status bit for each of the 32 interrupt levels. Each bit of the register is a read-only status bit, reflecting the current state of the corresponding interrupt signal. For each of the 32 interrupt levels, a corresponding bit of the UIPEND register is set. Figure 12-4 shows how the eight interrupt lines are connected to the UIPEND register to represent 32 levels of interrupts. Figure 12-6 shows the implementation of the interrupt synchronizer.
7 LVL7
LVL 8-31
24 RESET State Machine IMBCLOCK 32
OR
U-bus Data[0:31]
ILBS [0:1]
MPC555
/ MPC556
MOTOROLA 12-6
USERS MANUAL
S/T
Any word, half-word or byte access to a 32-bit location within the UIMB interface register decode block that is unimplemented (defined as reserved) causes the UIMB interface to asserting a data error exception on the U-bus.The entire 32-bit location must be defined as reserved in order for a data error exception to be asserted. Unimplemented bits in a register return zero when read. 12.5.1 UIMB Module Configuration Register (UMCR) The UIMB module configuration register (UMCR) is accessible in supervisor mode only. UMCR UIMB Module Configuration Register
MSB 0 STOP 1 2 3 HSPEE D 4 5 6 7 8 9 10 11 12 13
0x30 7F80
14 15
IRQMUX
RESERVED
HRESET: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED HRESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 12-7
USERS MANUAL
STOP
1:2
IRQMUX
HSPEED
4:31
12.5.2 Test control register (UTSTCREG) The UTSTCREG register is used for factory testing only. 12.5.3 Pending Interrupt Request Register (UIPEND) The UIPEND register is a read-only status register which reflects the state of the 32 interrupt levels. The state of the IRQ0 is shown in bit 0, the state of IRQ1 is shown in bit 1 and so on. This register is accessible only in supervisor mode. UIPEND Pending Interrupt Request Register
MSB 0 LVL0 1 LVL1 2 LVL2 3 LVL3 4 LVL4 5 LVL5 6 LVL6 7 LVL7 8 LVL8 9 LVL9 10 LVL0 11 12 13
0x30 7FA0
14 15
HRESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 LVL16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
IRQ17 LVL18 LVL19 LVL20 LVL21 LVL22 LVL23 LVL24 LVL25 LVL26 LVL27 LVL28 LVL29 LVL30 LVL31
HRESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 12-8
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 12-9
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 12-10
USERS MANUAL
EXTERNAL TRIGGERS
REFERENCE INPUTS
DIGITAL CONTROL
IMB
MOTOROLA 13-1
MPC555
MOTOROLA 13-2
USERS MANUAL
VSS DIGITAL POWER (SHARED W/ OTHER MODULES) VDD ANALOG POWER & GROUND VSSA VDDA VRH VRL VSSE VDDH
AN0/ANW/PQB0 AN1/ANX/PQB1 AN2/ANY/PQB2 AN3/ANZ/PQB3 AN48/PQB4 AN49/PQB5 AN50/PQB6 AN51/PQB7 AN52/MA0/PQA0 AN53/MA1/PQA1 AN54/MA2/PQA2 AN55/PQA3 AN56/PQA4 AN57/PQA5 AN58/PQA6 AN59/PQA7
PORT B
QADC64
ANALOG CONVERTER
ETRIG1 ETRIG2
QADC64 PINOUT
Figure 13-2 QADC64 Input and Output Signals 13.3.1 Port A Pin Functions The eight port A pins can be used as analog inputs, or as a bi-directional 8-bit digital input/output port. 13.3.1.1 Port A Analog Input Pins When used as analog inputs, the eight port A pins are referred to as AN[59:52]. Due to the digital output drivers associated with port A, the analog characteristics of port A are different from those of port B. All of the analog signal input pins may be used for at least one other purpose. 13.3.1.2 Port A Digital Input/Output Pins Port A pins are referred to as PQA when used as a bidirectional 8-bit digital input/output port. These eight pins may be used for general-purpose digital input signals or digital output signals.
MPC555
MOTOROLA 13-3
USERS MANUAL
13.3.2.1 Port B Analog Input Pins When used as analog inputs, the eight port B pins are referred to as AN[51:48]/ AN[3:0]. Since port B functions as analog and digital input-only, the analog characteristics are different from those of port A. All of the analog signal input pins may be used for at least one other purpose. 13.3.2.2 Port B Digital Input Pins Port B pins are referred to as PQB[7:0] when used as an 8-bit digital input-only port. In addition to functioning as analog input pins, the port B pins are also connected to the input of a synchronizer during reads and may be used as general-purpose digital inputs. Since port B pins are input-only, there is no associated data direction register. Digital input signal states are read from the PORTQB data register. Since a port B read captures the data on all pins, including those used for analog inputs, the user should employ a masking operation to filter the inappropriate bits from the input byte. 13.3.3 External Trigger Input Pins The QADC64 has two external trigger pins (ETRIG[2:1]). Each of the two external trigger pins is associated with one of the scan queues. When a queue is in external trigger mode, the corresponding external trigger pin is configured as a digital input. 13.3.4 Multiplexed Address Output Pins In non-multiplexed mode, the 16 channel pins are connected to an internal multiplexer which routes the analog signals into the A/D converter. In externally multiplexed mode, the QADC64 allows automatic channel selection through up to four external 1-of-8 multiplexer chips. The QADC64 provides a 3-bit multiplexed address output to the external multiplexer chips to allow selection of one of eight inputs. The multiplexed address output signals MA[2:0] can be used as multiplex address output bits or as general-purpose I/O.
MPC555
MOTOROLA 13-4
USERS MANUAL
13.3.6 Voltage Reference Pins VRH and VRL are the dedicated input pins for the high and low reference voltages. Separating the reference inputs from the power supply pins allows for additional external filtering, which increases reference voltage precision and stability, and subsequently contributes to a higher degree of conversion accuracy. 13.3.7 Dedicated Analog Supply Pins VDDA and VSSA pins supply power to the analog subsystems of the QADC64 module. Dedicated power is required to isolate the sensitive analog circuitry from the normal levels of noise present on the digital power supply. 13.3.8 External Digital Supply Pin Each port A pin includes a digital output driver, an analog input signal path, and a digital input synchronizer. The VSS pin provides the ground level for the drivers on the port A pins. VDDH provides the supply level for the drivers on port A pins. 13.3.9 Digital Supply Pins VDD and VSS provide the power for the digital portions of the QADC64, and for all other digital MCU modules.
MPC555
MOTOROLA 13-5
USERS MANUAL
MPC555
MOTOROLA 13-6
USERS MANUAL
MOTOROLA 13-7
USERS MANUAL
There is one special case to consider for digital I/O port operation. When the MUX (externally multiplexed) bit is set in QACR0, the data direction register settings are ignored for the bits corresponding to PQA[2:0], the three multiplexed address MA[2:0] output pins. The MA[2:0] pins are forced to be digital outputs, regardless of the data direction setting, and the multiplexed address outputs are driven. The data returned during a port data register read is the value of the multiplexed address latches which drive MA[2:0], regardless of the data direction setting. 13.6.1 Port Data Register QADC64 ports A and B are accessed through two 8-bit port data registers (PORTQA and PORTQB). Port A pins are referred to as PQA when used as an 8-bit input/output port. Port A can also be used for analog inputs AN[59:52] and external multiplexer address outputs MA[2:0]. Port B pins are referred to as PQB when used as an 8-bit input-only digital port. Port B can also be used for non-multiplexed AN[51:48]/AN[3:0] and multiplexed ANz, ANy, ANx, ANw analog inputs. PORTQA and PORTQB are unaffected by reset. Refer to 13.12.4 Port A/B Data Register for register and bit descriptions. 13.6.2 Port Data Direction Register The port data direction register (DDRQA) is associated with the port A digital I/O pins. These bi-directional pins may have somewhat higher leakage and capacitance specifications. Any bit in this register set to one configures the corresponding pin as an output. Any bit in this register cleared to zero configures the corresponding pin as an input. Software is responsible for ensuring that DDRQA bits are not set to one on pins used for analog inputs. When a DDRQA bit is set to one and the pin is selected for analog conversion, the voltage sampled is that of the output digital driver as influenced by the load. NOTE
MPC555
MOTOROLA 13-8
USERS MANUAL
MPC555
MOTOROLA 13-9
USERS MANUAL
ANALOG POWER
ANALOG REFERENCES
MUX AN0/ANW/PQB0 AN1/ANX/PQB1 AN2/ANY/PQB2 AN3/ANZ/PQB3 AN48/PQB4 AN49/PQB5 AN50/PQB6 AN51/PQB7 AN52/MA0/PQA0* AN53/MA1/PQA1* AN54/MA2/PQA2* AN55/PQA3* AN56/PQA4* AN57/PQA5* AN58/PQA6* AN59/PQA7*
MUX
ETRIG1 ETRIG2
EXTERNAL TRIGGERS
Figure 13-3 Example of External Multiplexing When the external multiplexed mode is selected, the QADC64 automatically creates the MA[2:0] output signals from the channel number in each CCW. The QADC64 also converts the proper input channel (ANw, ANx, ANy, and ANz) by interpreting the CCW channel number. As a result, up to 32 externally multiplexed channels appear to the conversion queues as directly connected signals. Software simply puts the channel number of an externally multiplexed channel into a CCW. Figure 13-3 shows that MA[2:0] may also be analog or digital input pins. When external multiplexing is selected, none of the MA[2:0] pins can be used for analog or digital inputs. They become multiplexed address outputs. 13.8 Analog Input Channels The number of available analog channels varies, depending on whether or not external multiplexing is used. A maximum of 16 analog channels are supported by the internal multiplexing circuitry of the converter. Table 13-2 shows the total number of analog input channels supported with zero to four external multiplexers. / MPC556 QUEUED ANALOG-TO-DIGITAL CONVERTER MODULE-64
For MoreRev. 15 October 2000 Product, Information On This Go to: www.freescale.com
MPC555
PORT A
PORT B
QADC64
MUX
ANALOG MULTIPLEXER
ANALOG CONVERTER
MOTOROLA 13-10
USERS MANUAL
NOTES: 1. When external multiplexing is used, three input channels become multiplexed address outputs, and for each external multiplexer chip, one input channel becomes a multiplexed analog input.
13.9 Analog Subsystem The QADC64 analog subsystem includes a front-end analog multiplexer, a digital to analog converter (DAC) array, a comparator, and a successive approximation register (SAR). The analog subsystem path runs from the input pins through the input multiplexing circuitry, into the DAC array, and through the analog comparator. The output of the comparator feeds into the SAR. Figure 13-4 shows a block diagram of the QADC64 analog submodule.
MPC555
MOTOROLA 13-11
USERS MANUAL
POWER DOWN
BYP
IST
INPUT
CSAMP
STATE MACHINE & LOGIC WCCW END OF CONV. END OF SMP SAR 10 10 SAR BUF 10 RSAR
SAR Timing
Figure 13-4 QADC64 Module Block Diagram 13.9.1 Conversion Cycle Times Total conversion time is made up of initial sample time, final sample time, and resolution time. Initial sample time refers to the time during which the selected input channel is driven by the buffer amplifier onto the sample capacitor. The buffer amplifier can be disabled by means of the BYP bit in the CCW. During the final sampling period, amplifier is bypassed, and the multiplexer input charges the RC DAC array directly. During the resolution period, the voltage in the RC DAC array is converted to a digital value and stored in the SAR. Initial sample time is fixed at two QCLK cycles. Final sample time can be 2, 4, 8, or 16 QCLK cycles, depending on the value of the IST field in the CCW. Resolution time is ten QCLK cycles. Sample and resolution require a minimum of 14 QCLK clocks (7 s with a 2-MHz QCLK). If the maximum final sample time period of 16 QCLKs is selected, the total conversion time is 13.0 s with a 2-MHz QCLK. Figure 13-5 illustrates the timing for conversions. This diagram assumes a final sampling period of two QCLK cycles.
MPC555
MOTOROLA 13-12
USERS MANUAL
BUFFER FINAL SAMPLE TIME SAMPLE N CYCLES: TIME 2 CYCLES (2, 4, 8, 16)
QCLK
SAMPLE TIME
Figure 13-5 Conversion Timing 13.9.1.1 Amplifier Bypass Mode Conversion Timing If the amplifier bypass mode is enabled for a conversion by setting the amplifier bypass (BYP) bit in the CCW, the timing changes to that shown in Figure 13-6. The buffered sample time is eliminated, reducing the potential conversion time by two QCLKs. However, due to internal RC effects, a minimum final sample time of four QCLKs must be allowed. This results in no savings of QCLKs. When using the bypass mode, the external circuit should be of low source impedance, typically less than 10 k. Also, the loading effects of the external circuitry by the QADC64 need to be considered, since the benefits of the sample amplifier are not present. NOTE Because of internal RC time constants, a sample time of two QCKLs in bypass mode for high frequency operation is not recommended.
SAMPLE TIME N CYCLES: (2, 4, 8, 16)
QCLK
SAMPLE TIME
MPC555
MOTOROLA 13-13
USERS MANUAL
13.9.3 Digital-to-Analog Converter Array The digital-to-analog converter (DAC) array consists of binary-weighted capacitors and a resistor-divider chain. The array serves two purposes: The array holds the sampled input voltage during conversion The resistor-capacitor array provides the mechanism for the successive approximation A/D conversion Resolution begins with the MSB and works down to the LSB. The switching sequence is controlled by the SAR logic. 13.9.4 Comparator The comparator is used during the approximation process to sense whether the digitally selected arrangement of the DAC array produces a voltage level higher or lower than the sampled input. The comparator output feeds into the SAR which accumulates the A/D conversion result sequentially, starting with the MSB. 13.9.5 Successive Approximation Register The input of the successive approximation register (SAR) is connected to the comparator output. The SAR sequentially receives the conversion value one bit at a time, starting with the MSB. After accumulating the ten bits of the conversion result, the SAR data is transferred by the queue control logic in the digital section to the appropriate result location, where it may be read by user software. 13.10 Digital Control Subsystem The digital control subsystem includes the clock and periodic/interval timer, control and status registers, the conversion command word table RAM, and the result word table RAM. The central element for control of the QADC64 conversions is the 64-entry CCW table. Each CCW specifies the conversion of one input channel. Depending on the application, one or two queues can be established in the CCW table. A queue is a scan sequence of one or more input channels. By using a pause mechanism, sub-queues can
MPC555
MOTOROLA 13-14
USERS MANUAL
Result A trigger event for queue 1 or queue 2 causes the corresponding queue execution to begin. Queue 2 cannot begin execution until queue 1 reaches completion or the paused state. The status register records the trigger event by reporting the queue 2 status as trigger pending. Additional trigger events for queue 2, which occur before execution can begin, are recorded as trigger overruns. The current queue 2 conversion is aborted. The status register reports the queue 2 status as suspended. Any trigger events occurring for queue 2 while queue 2 is suspended are recorded as trigger overruns. Once queue 1 reaches the completion or the paused state, queue 2 begins executing again. The programming of the resume bit in QACR2 determines which CCW is executed in queue 2.
Simultaneous trigger events Queue 1 begins execution and the queue 2 status is changed to trigger pending. occur for Queue 1 and Queue 2 sub-queues paused The pause feature can be used to divide queue 1 and/or queue 2 into multiple subqueues. A sub-queue is defined by setting the pause bit in the last CCW of the subqueue.
Figure 13-7 shows the CCW format and an example of using pause to create subqueues. Queue 1 is shown with four CCWs in each sub-queue and queue 2 has two CCWs in each sub-queue.
MPC555
MOTOROLA 13-15
USERS MANUAL
P 0
0 BQ2 0 1 0 1 0 1 0 P 1 63 0
Figure 13-7 QADC64 Queue Operation with Pause The queue operating mode selected for queue 1 determines what type of trigger event causes the execution of each of the sub-queues within queue 1. Similarly, the queue operating mode for queue 2 determines the type of trigger event required to execute each of the sub-queues within queue 2. The choice of single-scan or continuous-scan applies to the full queue, and is not applied to each sub-queue. Once a sub-queue is initiated, each CCW is executed sequentially until the last CCW in the sub-queue is executed and the pause state is entered. Execution can only continue with the next CCW, which is the beginning of the next sub-queue. A sub-queue cannot be executed a second time before the overall queue execution has been completed. Trigger events which occur during the execution of a sub-queue are ignored, except that the trigger overrun flag is set. When continuous-scan mode is selected, a trigger event occurring after the completion of the last sub-queue (after the queue completion flag is set), causes execution to continue with the first sub-queue, starting with the first CCW in the queue.
MPC555
MOTOROLA 13-16
USERS MANUAL
MPC555
MOTOROLA 13-17
USERS MANUAL
MOTOROLA 13-18
USERS MANUAL
Until the single-scan enable bit is set, any trigger events for that queue are ignored. The single-scan enable bit may be set to a one during the write cycle, which selects the single-scan queue operating mode. The single-scan enable bit can be written as a one or a zero, but is always read as a zero. The completion flag, completion interrupt, or queue status are used to determine when the queue has completed. After the single-scan enable bit is set, a trigger event causes the QADC64 to begin execution with the first CCW in the queue. The single-scan enable bit remains set until the queue is completed. After the queue reaches completion, the QADC64 resets the single-scan enable bit to zero. If the single-scan enable bit is written to a one or a zero by the software before the queue scan is complete, the queue is not affected. However, if the software changes the queue operating mode, the new queue operating mode and the value of the single-scan enable bit are recognized immediately. The conversion in progress is aborted and the new queue operating mode takes effect. In the software initiated single-scan mode, the writing of a one to the single-scan enable bit causes the QADC64 to internally generate a trigger event and the queue execution begins immediately. In the other single-scan queue operating modes, once the single-scan enable bit is written, the selected trigger event must occur before the queue can start. The single-scan enable bit allows the entire queue to be scanned once. A trigger overrun is captured if a trigger event occurs during queue execution in the external trigger single-scan mode and the interval timer single-scan mode. In the interval timer single-scan mode, the next expiration of the timer is the trigger event for the queue. After the queue execution is complete, the queue status is shown as idle. The software can restart the queue by setting the single-scan enable bit to a one. Queue execution begins with the first CCW in the queue. Software Initiated Single-Scan Mode. Software can initiate the execution of a scan sequence for queue 1 or 2 by selecting the software initiated single-scan mode, and writing the single-scan enable bit in QACR1 or QACR2. A trigger event is generated internally and the QADC64 immediately begins execution of the first CCW in the queue. If a pause occurs, another trigger event is generated internally, and then execution continues without pausing.
MPC555
MOTOROLA 13-19
USERS MANUAL
MOTOROLA 13-20
USERS MANUAL
MPC555
MOTOROLA 13-21
USERS MANUAL
MOTOROLA 13-22
USERS MANUAL
MPC555
MOTOROLA 13-23
USERS MANUAL
If the gate closes before queue 1 completes execution, the current CCW completes, execution of queue 1 stops and QADC64 sets the PF1 bit to indicate an incomplete queue. Software can read the CWPQ1 to determine the last valid conversion in the queue. In this mode, if the gate opens again execution of queue 1 begins again. The start of queue 1 is always the first CCW in the CCW table. Interval Timer Continuous-Scan Mode. The QADC64 includes a dedicated periodic/ interval timer for initiating a scan sequence on queue 1 and/or queue 2. Software selects a programmable timer interval ranging from 128 to 128 Kbytes times the QCLK period in binary multiples. The QCLK period is prescaled down from the intermodule bus (IMB) MCU clock. When a periodic timer continuous-scan mode is selected for queue 1 and/or queue 2, the timer begins counting. After the programmed interval elapses, the timer generated trigger event starts the appropriate queue. Meanwhile, the QADC64 automatically performs the conversions in the queue until an end-of-queue condition or a pause is encountered. When a pause occurs, the QADC64 waits for the periodic interval to expire again, then continues with the queue. Once end-of-queue has been detected, the next trigger event causes queue execution to begin again with the first CCW in the queue. The periodic timer generates a trigger event whenever the time interval elapses. The trigger event may cause the queue execution to continue following a pause or queue completion, or may be considered a trigger overrun. As with all continuous-scan queue operating modes, software action is not needed between trigger events. Software enables the completion interrupt when using the periodic timer continuousscan mode. When the interrupt occurs, the software knows that the periodically collected analog results have just been taken. The software can use the periodic interrupt to obtain non-analog inputs as well, such as contact closures, as part of a periodic look at all inputs. 13.10.4 QADC64 Clock (QCLK) Generation Figure 13-8 is a block diagram of the clock subsystem. The QCLK provides the timing for the A/D converter state machine, which controls the timing of the conversion. The
MPC555
MOTOROLA 13-24
USERS MANUAL
MPC555
MOTOROLA 13-25
USERS MANUAL
ZERO DETECT
RESET QCLK
CLOCK GENERATE 5 PRESCALER RATE SELECTION (FROM CONTROL REGISTER 0): HIGH TIME CYCLES (PSH) LOW TIME CYCLES (PSL) 3
QCLK
SET QCLK
BINARY COUNTER 9 10 12 15 17 27 28 2 2 211 2 213 214 2 216 2 Queue 1 & 2 TIMER MODE RATE SELECTION 8 2 PERIODIC/INTERVAL TRIGGER EVENT FOR Q1 AND Q2
Figure 13-8 QADC64 Clock Subsystem Functions To accommodate wide variations of the main MCU clock frequency (IMB clock FSYS), QCLK is generated by a programmable prescaler which divides the MCU IMB clock to a frequency within the specified QCLK tolerance range. To allow the A/D conversion time to be maximized across the spectrum of IMB clock frequencies, the QADC64 prescaler permits the frequency of QCLK to be software selectable. It also allows the duty cycle of the QCLK waveform to be programmable. The software establishes the basic high phase of the QCLK waveform with the PSH (prescaler clock high time) field in QACR0, and selects the basic low phase of QCLK with the prescaler clock low time (PSL) field. The combination of the PSH and PSL parameters establishes the frequency of the QCLK.
MPC555
MOTOROLA 13-26
USERS MANUAL
The following equations define QCLK frequency: High QCLK Time = (PSH + 1) FSYS Low QCLK Time = (PSL + 1) FSYS FQCLK= 1 (High QCLK Time + Low QCLK Time) Where: PSH = 0 to 31, the prescaler QCLK high cycles in QACR0 PSL = 0 to 7, the prescaler QCLK low cycles in QACR0 FSYS = IMB clock frequency FQCLK = QCLK frequency The following are equations for calculating the QCLK high/low phases in Example 1: High QCLK Time = (11 + 1) 40 x 106 = 300 ns Low QCLK Time = (7 + 1) 40 x 106 = 200 ns FQCLK = 1/(300 + 200) = 2 MHz The following are equations for calculating the QCLK high/low phases in Example 2: High QCLK Time = (7 + 1) 32 x 106 = 250 ns Low QCLK Time = (7 + 1) 32 x 106 = 250 ns
MPC555
MOTOROLA 13-27
USERS MANUAL
32 MHz EX2
20 CYCLES
QADC64 QCLK EX
NOTE PSA is maintained for software compatibility but has no functional benefit to this version of the module. The MCU IMB clock frequency is the basis of the QADC64 timing. The QADC64 requires that the IMB clock frequency be at least twice the QCLK frequency. The QCLK frequency is established by the combination of the PSH and PSL parameters in QACR0. The 5-bit PSH field selects the number of IMB clock cycles in the high phase of the QCLK wave. The 3-bit PSL field selects the number of IMB clock cycles in the low phase of the QCLK wave. Example 1 in Figure 13-9 shows that when PSH = 11, the QCLK remains high for twelve cycles of the IMB clock. It also shows that when PSL = 7, the QCLK remains low for eight IMB clock cycles. In Example 2, PSH = 7, the QCLK remains high for eight
MPC555
MOTOROLA 13-28
USERS MANUAL
MPC555
MOTOROLA 13-29
USERS MANUAL
QUEUE 1 (IRL1)
IRQ[7:0]
QUEUE 2 (IRL2)
CF2
Figure 13-10 QADC64 Interrupt Flow Diagram 13.11.1 Interrupt Sources The QADC64 has four interrupt service sources, each of which is separately enabled. Each time the result is written for the last CCW in a queue, the completion flag for the corresponding queue is set, and when enabled, an interrupt request is generated. In the same way, each time the result is written for a CCW with the pause bit set, the queue pause flag is set, and when enabled, an interrupt request is generated. Table 13-5 displays the status flag and interrupt enable bits which correspond to queue 1 and queue 2 activity. Table 13-5 QADC64 Status Flags and Interrupt Sources
Queue Queue 1 Queue Activity Result written for the last CCW in queue 1 Result written for a CCW with pause bit set in queue 1 Result written for the last CCW in queue 2 Queue 2 Result written for a CCW with pause bit set in queue 2 Status Flag CF1 PF1 CF2 PF2 Interrupt Enable Bit CIE1 PIE1 CIE2 PIE2
Both polled and interrupt-driven QADC64 operations require that status flags must be cleared after an event occurs. Flags are cleared by first reading QASR with the appropriate flag bits set to one, then writing zeros to the flags that are to be cleared. A flag can be cleared only if the flag was a logic one at the time the register was read by the CPU. If a new event occurs between the time that the register is read and the time that it is written, the associated flag is not cleared.
MPC555
MOTOROLA 13-30
USERS MANUAL
IMB3 CLOCK
ILBS [1:0]
00
01
10
11
00
01
10
11
IRQ 0:7
IRQ 8:15
IRQ 16:23
IRQ 24:31
IRQ 0:7
Figure 13-11 Interrupt Levels on IRQ with ILBS 13.12 Programming Model Each QADC64 occupies 1 Kbyte (512 16-bit entries) of address space. The address space consists of ten 16-bit control, status, and port registers; 64 16-bit entries in the CCW table; and 64 16-bit entries in the result table. The result table occupies 192 16bit address locations because the result data is readable in three data alignment formats. Table 13-6 shows the QADC64 memory map. The lowercase x appended to each register name represents A or B for the QADC64_A or QADC64_B module, respectively. The address offset shown is from the base address of the module. Refer to 1.3 MPC555 / MPC556 Address Map to locate each QADC64 module in the MPC555 / MPC556 memory map.
MPC555
MOTOROLA 13-31
USERS MANUAL
S1 T2 S
QADC64 Module Configuration Register (QADC64MCR_x) See Table 13-7 for bit descriptions. QADC64 Test Register (QADC64TEST_x) Interrupt Register (QADC64INT_x) See Table 13-8 for bit descriptions. Port A Data (PORTQA_x) See Table 13-10 for bit descriptions. Port B Data (PORTQB_x)
S/U3
Port A Data Direction Register (DDRQA_x) See Table 13-10 for bit descriptions. QADC64 Control Register 0 (QACR0_x) See Table 13-11 for bit descriptions. QADC64 Control Register 1 (QACR1_x) See Table 13-12 for bit descriptions. QADC64 Control Register 2 (QACR2_x) See Table 13-14 for bit descriptions. QADC64 Status Register 0 (QASR0_x) See Table 13-16 for bit descriptions. QADC64 Status Register 1 (QASR1_x) See Table 13-18 for bit descriptions. Reserved Conversion Command Word (CCW_x) Table See Table 13-19 for bit descriptions. Result Word Table Right-Justified, Unsigned Result Register (RJURR_x) See 13.12.12 for bit descriptions. Result Word Table Left-Justified, Signed Result Register (LJSRR_x) See 13.12.12 for bit descriptions. Result Word Table Left-Justified, Unsigned Result Register (LJURR_x) See 13.12.12 for bit descriptions.
S/U
S/U
S/U
NOTES: 1. S = Supervisor only 2. Access is restricted to supervisor only and factory test mode only. 3. S/U = Unrestricted or supervisor depending on the state of the SUPV bit in the QADC64MCR.
The QADC64 has three global registers for configuring module operation: the module configuration register (QADC64MCR), the interrupt register (QADC64INT), and a test register (QADC64TEST). The global registers are always defined to be in supervisor data space. The CPU allows software to establish the global registers in supervisor data space and the remaining registers and tables in user space.
MPC555
MOTOROLA 13-32
USERS MANUAL
RESERVED
RESET: 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
STOP
FRZ
2:7
SUPV
9:15
13.12.2 QADC64 Test Register QADC64TEST QADC64 Test Register Used for factory test only. 13.12.3 QADC64 Interrupt Register QADC64INT QADC64 Interrupt Register
MSB 0 1 2 IRL1 RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 5 6 7 IRL2 8 9 10 11 12 13
RESERVED
MPC555
MOTOROLA 13-33
USERS MANUAL
5:9 10:15
IRL2
13.12.4 Port A/B Data Register QADC64 ports A and B are accessed through two 8-bit port data registers (PORTQA and PORTQB).
PQA6 PQA5
PQA1 PQA0 PQB7 PQB6 PQB5 PQB4 PQB3 PQB2 PQB1 PQB0
RESET: U U U U U U U U U U U U U U U U
ANALOG CHANNEL: AN59 AN58 AN57 AN56 AN55 AN54 AN53 AN52 AN51 AN50 AN49 AN48 AN3 AN2 AN1 AN0
MULTIPLEXED ADDRESS OUTPUTS: MA2 MULTIPLEXED ANALOG INPUTS: ANz ANy ANx ANw MA1 MA0
MPC555
MOTOROLA 13-34
USERS MANUAL
RESERVED
0:7
Bits in this register control the direction of the port QA pin drivers when pins are configured for I/ DDQA[7:0] O. Setting a bit configures the corresponding pin as an output; clearing a bit configures the corresponding pin as an input. This register can be read or written at any time.
13.12.6 QADC64 Control Register 0 (QACR0) Control register zero establishes the QCLK with prescaler parameter fields and defines whether external multiplexing is enabled. All of the implemented control register fields can be read or written, reserved fields read zero and writes have no effect. They are typically written once when the software initializes the QADC64, and not changed afterwards. QACR0 QADC64 Control Register 0
MSB 0 MUX RESET: 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 1 2 3 TRG 4 5 RESERVED 6 7 8 9 PSH 10 11 12 PSA
RESERVED
MPC555
MOTOROLA 13-35
USERS MANUAL
MUX
1:2
TRG
4:6
7:11 12 13:15
13.12.7 QADC64 Control Register 1 (QACR1) Control register 1 is the mode control register for the operation of queue 1. The applications software defines the queue operating mode for the queue, and may enable a completion and/or pause interrupt. All of the control register fields are read/write data. However, the SSE1 bit always reads as zero unless the test mode is enabled. Most of the bits are typically written once when the software initializes the QADC64, and not changed afterwards. QACR1 Control Register 1
MSB 0 CIE1 RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 PIE1 2 SSE1 3 4 5 MQ1 6 7 8 9 10 11 12
RESERVED
MPC555
MOTOROLA 13-36
USERS MANUAL
CIE1
PIE1
SSE1
MPC555
MOTOROLA 13-37
USERS MANUAL
0b01001 0b01010 0b01011 0b01100 0b01101 0b01110 0b01111 0b10000 0b10001 0b10010 0b10011 0b10100 0b10101 0b10110 0b10111 0b11000 0b11001 0b11010 0b11011 0b11100 0b11101 0b11110 0b11111
13.12.8 QADC64 Control Register 2 (QACR2) Control register two is the mode control register for the operation of queue 2. Software specifies the queue operating mode of queue 2, and may enable a completion and/or a pause interrupt. All control register fields are read/write data, except the SSE2 bit,
MPC555
MOTOROLA 13-38
USERS MANUAL
Bit(s)
Name
Description Queue 2 completion interrupt enable. CIE2 enables completion interrupts for queue 2. The interrupt request is generated when the conversion is complete for the last CCW in queue 2. 0 = Queue 2 completion interrupts disabled. 1 = Generate an interrupt request after completing the last CCW in queue 2. Queue 2 pause interrupt enable. PIE2 enables pause interrupts for queue 2. The interrupt request is generated when the conversion is complete for a CCW that has the pause bit set. 0 = Queue 2 pause interrupts disabled. 1 = Generate an interrupt request after completing a CCW in queue 2 which has the pause bit set. Queue 2 single-scan enable bit. SSE2 enables a single-scan of queue 2 after a trigger event occurs. The SSE2 bit may be set to a one during the same write cycle that sets the MQ2 bits for the single-scan queue operating mode. The single-scan enable bit can be written as a one or a zero, but is always read as a zero. The SSE2 bit allows a trigger event to initiate queue execution for any single-scan operation on queue 2. The QADC64 clears SSE2 when the single-scan is complete.
CIE2
PIE2
SSE2
3:7
MQ2
Queue 2 operating mode. The MQ2 field selects the queue operating mode for queue 2. Table 13-15 shows the bits in the MQ2 field which enable different queue 2 operating modes.
Queue 2 resume. RESUME selects the resumption point after queue 2 is suspended by queue 1. If RESUME is changed during execution of queue 2, the change is not recognized until an endRESUME of-queue condition is reached, or the queue operating mode of queue 2 is changed. 0 = After suspension, begin execution with the first CCW in queue 2 or the current sub-queue. 1 = After suspension, begin execution with the aborted CCW in queue 2. Beginning of queue 2. The BQ2 field indicates the location in the CCW table where queue 2 begins. The BQ2 field also indicates the end of queue 1 and thus creates an end-of-queue condition for queue 1. Setting BQ2 to any value 64 (0b1000000) allows the entire RAM space for queue 1 CCWs.
9:15
BQ2
MPC555
MOTOROLA 13-39
USERS MANUAL
0b01001 0b01010 0b01011 0b01100 0b01101 0b01110 0b01111 0b10000 0b10001 0b10010 0b10011 0b10100 0b10101 0b10110 0b10111 0b11000 0b11001 0b11010 0b11011 0b11100 0b11101 0b11110 0b11111
13.12.9 QADC64 Status Register 0 (QASR0) QASR0 contains information about the state of each queue and the current A/D conversion. Except for the four flag bits (CF1, PF1, CF2, and PF2) and the two trigger overrun bits (TOR1 and TOR2), all of the status register fields contain read-only data.
MPC555
MOTOROLA 13-40
USERS MANUAL
Bit(s)
Name
Description Queue 1 completion flag. CF1 indicates that a queue 1 scan has been completed. CF1 is set by the QADC64 when the conversion is complete for the last CCW in queue 1, and the result is stored in the result table. 0 = Queue 1 scan is not complete 1 = Queue 1 scan is complete Queue 1 pause flag. PF1 indicates that a queue 1 scan has reached a pause. PF1 is set by the QADC64 when the current queue 1 CCW has the pause bit set, the selected input channel has been converted, and the result has been stored in the result table. 0 = Queue 1 has not reached a pause 1 = Queue 1 has reached a pause Queue 2 completion flag. CF2 indicates that a queue 2 scan has been completed. CF2 is set by the QADC64 when the conversion is complete for the last CCW in queue 2, and the result is stored in the result table. 0 = Queue 2 scan is not complete 1 = Queue 2 scan is complete Queue 2 pause flag. PF2 indicates that a queue 2 scan has reached a pause. PF2 is set by the QADC64 when the current queue 2 CCW has the pause bit set, the selected input channel has been converted, and the result has been stored in the result table. 0 = Queue 2 has not reached a pause 1 = Queue 2 has reached a pause Queue 1 trigger overrun. TOR1 indicates that an unexpected queue 1 trigger event has occurred. TOR1 can be set only while queue 1 is active.
CF1
PF1
CF2
PF2
TOR1
A trigger event generated by a transition on ETRIG1/ETRIG2 may be recorded as a trigger overrun. TOR1 can only be set when using an external trigger mode. TOR1 cannot occur when the software initiated single-scan mode or the software initiated continuous-scan mode is selected. 0 = No unexpected queue 1 trigger events have occurred 1 = At least one unexpected queue 1 trigger event has occurred Queue 2 trigger overrun. TOR2 indicates that an unexpected queue 2 trigger event has occurred. TOR2 can be set when queue 2 is in the active, suspended, and trigger pending states. A trigger event generated by a transition depending on the value of TRG in QACR or ETRIG1/ ETRIG2 or by the periodic/interval timer may be recorded as a trigger overrun. TOR2 can only be set when using an external trigger mode or a periodic/interval timer mode. Trigger overruns cannot occur when the software initiated single-scan mode and the software initiated continuousscan mode are selected. 0 = No unexpected queue 2 trigger events have occurred 1 = At least one unexpected queue 2 trigger event has occurred
TOR2
MPC555
MOTOROLA 13-41
USERS MANUAL
6:9
QS
13.12.10 QADC64 Status Register 1 (QASR1) The QASR1 contains two fields: command word pointers for queue 1 and queue 2. QASR1 Status Register1
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12 13
RESERVED RESET: 0 0 1 1
CWPQ1
RESERVED
CWPQ2
MPC555
MOTOROLA 13-42
USERS MANUAL
2:7
CWPQ1
8:9
Reserved Command word pointer for queue 2. This field is a software read-only field, and write operations have no effect. CWPQ2 allows software to read the last executed CCW in queue 2, regardless which queue is active. The CWPQ2 field is a CCW word pointer with a valid range of 0 to 63.
10:15
CWPQ2
In contrast to CWP, CPWQ2 is updated when the conversion result is written. When the QADC64 finishes a conversion in queue 2, both the result register is written and the CWPQ2 are updated. During the stop mode, the CWPQ2 is reset to 63, since the control registers and the analog logic are reset. When the freeze mode is entered, the CWP is unchanged; it points to the last executed CCW in queue 2.
13.12.11 Conversion Command Word Table The CCW table is a RAM, 64 words long and 10 bits wide, which can be programmed by the software to request conversions of one or more analog input channels. The entries in the CCW table are 10-bit conversion command words. The CCW table is written by software and is not modified by the QADC64. Each CCW requests the conversion of an analog channel to a digital result. The CCW specifies the analog channel number, the input sample time, and whether the queue is to pause after the current CCW. The ten implemented bits of the CCW word are read/write data. They may be written when the software initializes the QADC64. Unimplemented bits are read as zeros, and write operations have no effect. Each location in the CCW table corresponds to a location in the result word table. When a conversion is completed for a CCW entry, the 10-bit result is written in the corresponding result word entry. The QADC64 provides 64 CCW table entries. The beginning of queue 1 is always the first location in the CCW table. The first location of queue 2 is specified by the beginning of queue 2 pointer (BQ2) in QACR2. To dedicate the entire CCW table to queue 1, software must do the following: Program queue 2 to be in the disabled mode, and Program the beginning of BQ2 to 64. To dedicate the entire CCW table to queue 2, software must do the following: Program queue 1 to be in the disabled mode Program BQ2 to be the first location in the CCW table.
MPC555
MOTOROLA 13-43
USERS MANUAL
00
63
END OF Queue 2
63
10-BIT CONVERSION COMMAND WORD FORMAT LSB 6 7 P BYP 8 IST 9 10 11 12 CHAN 13 14 MSB 15 MSB 0 1 0 2
0 0
RIGHT JUSTIFIED, UNSIGNED RESULT P = PAUSE AFTER CONVERSION UNTIL NEXT TRIGGER BYP = BYPASS BUFFER AMPLIFIER IST = INPUT SAMPLE TIME CHAN = CHANNEL NUMBER AND END-OF-QUEUE CODE MSB 0 1 2 3 4 5 6 7 8 9 LSB 10 11 12 13 14 15 0 0 0 0 0 0
RESULT
RESULT
Figure 13-12 QADC64 Conversion Queue Operation To prepare the QADC64 for a scan sequence, the software writes to the CCW table to specify the desired channel conversions. The software also establishes the criteria for initiating the queue execution by programming the queue operating mode. The queue operating mode determines what type of trigger event causes queue execution to begin. Trigger event refers to any of the ways to cause the QADC64 to begin executing the CCWs in a queue or sub-queue. An external trigger is only one of the possible trigger events. A scan sequence may be initiated by the following: A software command
MPC555
MOTOROLA 13-44
USERS MANUAL
MPC555
MOTOROLA 13-45
USERS MANUAL
RESERVED RESET: 0 0 0 0 0 0
CHAN
MPC555
MOTOROLA 13-46
USERS MANUAL
BYP
8:9
IST
10:15
CHAN
MPC555
MOTOROLA 13-47
USERS MANUAL
MPC555
MOTOROLA 13-48
USERS MANUAL
RESERVED RESET: 0 0 0 0 0 0
RESULT
The conversion result is unsigned, right-justified data. Unused bits return zero when read. LJSRR Left-Justified, Signed Result Register
MSB 0 S1 RESET: 0 0 0 0 0 0 1 2 3 4 5 RESULT 6 7 8 9 10
RESERVED
The conversion result is signed, left-justified data. Unused bits return zero when read.
MPC555
MOTOROLA 13-49
USERS MANUAL
RESULT RESET: 0 0
RESERVED
The conversion result is unsigned, left-justified data. Unused bits return zero when read.
MPC555
MOTOROLA 13-50
USERS MANUAL
The QSPI is a full-duplex, synchronous serial interface for communicating with peripherals and other MCUs. It is enhanced from the original SPI in the QSMCM (queued serial module) to include a total of 160 bytes of queue RAM to accommodate more receive, transmit, and control information. The QSPI is fully compatible with the SPI systems found on other Motorola devices. The dual, independent SCIs are used to communicate with external devices and other MCUs via an asynchronous serial bus. Each SCI is a full-duplex universal asynchronous receiver transmitter (UART) serial interface. The original QSMCM SCI is enhanced by the addition of an SCI and a common external baud clock source. The SCI1 has the ability to use the resultant baud clock from SCI2 as the input clock source for the SCI1 baud rate generator. Also, the SCI1 has an additional mode of operation that allows queuing of transmit and receive data frames. If the queue feature is enabled, a set of 16 entry queues is allocated for the receive and/or transmit operation. 14.2 Block Diagram Figure 14-1 depicts the major components of the QSMCM.
MOTOROLA 14-1
IMB3* SBIU
MISO/QGPIO4 MOSI/QGPIO5 SCK/QGPIO6 PCS[0]/SS/QGPIO0
Port QS
DSCI
ECK
*Note: SBIU Bus and interface to IMB3 are each 16 bits wide.
Figure 14-1 QSMCM Block Diagram 14.3 Signal Descriptions The QSMCM has 12 external pins, as shown in Figure 14-1. Seven of the pins, if not in use for their submodule function, can be used as general-purpose I/O port pins. The RXDx and TXDx pins can alternately serve as general-purpose input-only and outputonly signals, respectively. ECK is a dedicated clock pin. For detailed descriptions of QSMCM signals, refer to 14.6 QSMCM Pin Control Registers, 14.7.3 QSPI Pins, and 14.8.6 SCI Pins. 14.4 Memory Map The QSMCM memory map, shown in Table 14-1, includes the global registers, the QSPI and dual SCI control and status registers, and the QSPI RAM. The QSMCM memory map can be divided into supervisor-only data space and assignable data space. The address offsets shown are from the base address of the QSMCM module. Refer to 1.3 MPC555 / MPC556 Address Map for a diagram of the MPC555 / MPC556 internal memory map.
MPC555
/ MPC556
MOTOROLA 14-2
USERS MANUAL
S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U
QSMCM Pin Assignment Register (PQSPAR) See Table 14-10 for bit descriptions.
QSPI Control Register 0 (SPCR0) See Table 14-13 for bit descriptions. QSPI Control Register 1 (SPCR1) See Table 14-15 for bit descriptions. QSPI Control Register 2 (SPCR2) See Table 14-16 for bit descriptions. QSPI Control Register 3 (SPCR3) See Table 14-17 for bit descriptions. QSPI Status Register (SPSR) See Table 14-18 for bit descriptions.
SCI2 Control Register 0 (SCC2R0) SCI2 Control Register 1 (SCC2R1) SCI2 Status Register (SC2SR) SCI2 Data Register (SC2DR) QSCI1 Control Register (QSCI1CR) See Table 14-30 for bit descriptions. QSCI1 Status Register (QSCI1SR) See Table 14-31 for bit descriptions.
MPC555
/ MPC556
MOTOROLA 14-3
USERS MANUAL
S/U
NOTES: 1. S = Supervisor access only S/U = Supervisor access only or unrestricted user access (assignable data space). 2. 8-bit registers, such as SPCR3 and SPSR, are on 8-bit boundaries. 16-bit registers such as SPCR0 are on 16-bit boundaries. 3. Note that QRAM offsets have been changed from the original (modular family) QSMCM.
The supervisor-only data space segment contains the QSMCM global registers. These registers define parameters needed by the QSMCM to integrate with the MCU. Access to these registers is permitted only when the CPU is operating in supervisor mode. Assignable data space can be either restricted to supervisor-only access or unrestricted to both supervisor and user accesses. The supervisor (SUPV) bit in the QSMCM module configuration register (QSMCMMCR) designates the assignable data space as either supervisor or unrestricted. If SUPV is set, then the space is designated as supervisor-only space. Access is then permitted only when the CPU is operating in supervisor mode. If SUPV is clear, both user and supervisor accesses are permitted. To clear SUPV, the CPU must be in supervisor mode. The QSMCM assignable data space segment contains the control and status registers for the QSPI and SCI submodules, as well as the QSPI RAM. All registers and RAM can be accessed on byte (8-bits), half-word (16-bits), and word (32-bit) boundaries. Word accesses require two consecutive IMB3 bus cycles. 14.5 QSMCM Global Registers The QSMCM global registers contain system parameters used by the QSPI and SCI submodules for interfacing to the CPU and the intermodule bus. The global registers are listed in Table 14-2 QSMCM Global Registers
MPC555
/ MPC556
MOTOROLA 14-4
USERS MANUAL
NOTES: 1. S = Supervisor access only S/U = Supervisor access only or unrestricted user access (assignable data space). 2. 8-bit registers reside on 8-bit boundaries. 16-bit registers reside on 16-bit boundaries.
14.5.1 Low-Power Stop Operation When the STOP bit in QSMCMMCR is set, the IMB clock input to the QSMCM is disabled and the module enters a low-power operating state. QSMCMMCR is the only register guaranteed to be readable while STOP is asserted. The QSPI RAM is not readable in low-power stop mode. However, writes to RAM or any register are guaranteed valid while STOP is asserted. STOP can be written by the CPU and is cleared by reset. System software must bring each submodule to an orderly stop before setting STOP to avoid data corruption. The SCI receiver and transmitter should be disabled after transfers in progress are complete. The QSPI can be halted by setting the HALT bit in SPCR3 and then setting STOP after the HALTA flag is set. 14.5.2 Freeze Operation The FRZ1 bit in QSMCMMCR determines how the QSMCM responds when the IMB3 FREEZE signal is asserted. FREEZE is asserted when the CPU enters background debug mode. Setting FRZ1 causes the QSPI to halt on the first transfer boundary following FREEZE assertion. FREEZE causes the SCI1 transmit queue to halt on the first transfer boundary following FREEZE assertion. 14.5.3 Access Protection The SUPV bit in the QMCR defines the assignable QSMCM registers as either supervisor-only data space or unrestricted data space. When the SUPV bit is set, all registers in the QSMCM are placed in supervisor-only space. For any access from within user mode, the IMB3 address acknowledge (AACK) signal is asserted and a bus error is generated. Because the QSMCM contains a mix of supervisor and user registers, AACK is asserted for either supervisor or user mode accesses, and the bus cycle remains internal. If a supervisor-only register is accessed in user mode, the module responds as if an access had been made to an unauthorized register location, and a bus error is generated.
MPC555
/ MPC556
MOTOROLA 14-5
USERS MANUAL
IMB3 CLOCK
ILBS[1:0]
00
01
10
11
00
01
10
11
IMB3 IRQ[7:0]
IRQ 7:0
IRQ 15:8
IRQ 23:16
IRQ 31:24
IRQ 7:0
Figure 14-2 QSMCM Interrupt Levels In this structure, all interrupt sources place their asserted level on a time multiplexed bus during four different time slots, with eight levels communicated per slot. The ILBS[0:1] signals indicate which group of eight are being driven on the interrupt request lines. Table 14-3 Interrupt Levels
ILBS[0:1] 00 01 10 11 Levels 0:7 8:15 16:23 24:31
The QSMCM module is capable of generating one of the 32 possible interrupt levels on the IMB3. The levels that the interrupt will drive can be programmed into the interrupt request level (ILDSCI and ILQSPI) bits located in the interrupt configuration register (QDSCI_IL and QSPI_IL). This value determines which interrupt signal (IRQB[0:7]) is driven onto the bus during the programmed time slot. Figure 14-3 shows a block diagram of the interrupt hardware.
MPC555
/ MPC556
MOTOROLA 14-6
USERS MANUAL
2 ILBS[1:0] SCI1 and 2 Int Lev Reg. [4:0] QSPI[4:0] Int Lev Reg. [4:0] 5 5
IRQ[7:0]
Figure 14-3 QSPI Interrupt Generation 14.5.5 QSMCM Configuration Register (QSMCMMCR) The QSMCMMCR contains parameters for interfacing to the CPU and the intermodule bus. This register can be modified only when the CPU is in supervisor mode. QSMCMMCR QSMCM Configuration Register
MSB 0 STOP RESET: 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 FRZ1 2 3 4 5 6 7 8 SUPV 9 10 RESERVED 11 12 13 IARB
0x30 5000
14 LSB 15
RESERVED
MPC555
/ MPC556
MOTOROLA 14-7
USERS MANUAL
1 2:7 8 9:11
12:15
14.5.6 QSMCM Test Register (QTEST) The QTEST register is used for factory testing of the MCU. 14.5.7 QSMCM Interrupt Level Registers (QDSCI_IL, QSPI_IL) The QDSCI_ILI and QSPI_IL registers determine the interrupt level requested by the QSMCM. The two SCI submodules (DSCI) share a 5-bit interrupt level field, ILDSCI. The QSPI uses a separate field, ILQSPI. The level value is used to determine which interrupt is serviced first when two or more modules or external peripherals simultaneously request an interrupt. The user can select among 32 levels. This register can be accessed only when the CPU is in supervisor mode. QDSCI_IL QSM2 Dual SCI Interrupt Level Register
MSB 0 1 Reserved RESET: 0 0 0 0 0 0 0 0 2 3 4 5 ILDSCI 6 7 8 9 10 11 12 13
0x30 5004
14 LSB 15
RESERVED
MPC555
/ MPC556
MOTOROLA 14-8
USERS MANUAL
0x30 5006
14 LSB 15
RESERVED RESET: 0 0 0 0 0 0 0 0
ILQSPI
14.6 QSMCM Pin Control Registers Table 14-7 lists the three QSMCM pin control registers. Table 14-7 QSMCM Pin Control Registers
Address 0x30 5014 Register QSMCM Port Data Register (PORTQS) See 14.6.1 Port QS Data Register (PORTQS) for bit descriptions. PORTQS Pin Assignment Register (PQSPAR) See Table 14-11 for bit descriptions. PORTQS Data Direction Register (DDRQS) See Table 14-11 for bit descriptions.
The QSMCM uses 12 pins. Eleven of the pins, when not being used by the serial subsystems, form a parallel port on the MCU. (The ECK pin is a dedicated external clock source.) The port QS pin assignment register (PQSPAR) governs the usage of QSPI pins. Clearing a bit assigns the corresponding pin to general-purpose I/O; setting a bit assigns the pin to the QSPI. PQSPAR does not affect operation of the SCI. When the SCIx transmitter is disabled, TXDx is a discrete output; when the SCIx receiver is disabled, RXDx is a discrete input. When the SCIx transmitter or receiver is enabled, the associated TXDx or RXDx pin is assigned its SCI function. The port QS data direction register (DDRQS) determines whether QSPI pins are inputs or outputs. Clearing a bit makes the corresponding pin an input; setting a bit makes the pin an output. DDRQS affects both QSPI function and I/O function. Table 14-10 summarizes the effect of DDRQS bits on QSPI pin function.
MPC555
/ MPC556
MOTOROLA 14-9
USERS MANUAL
NOTES: 1. SCK/QGPIO6 is a digital I/O pin unless the SPI is enabled (SPE set in SPCR1), in which case it becomes the QSPI serial clock SCK.
14.6.1 Port QS Data Register (PORTQS) PORTQS determines the actual input or output value of a QSMCM port pin if the pin is defined as general-purpose input or output. All QSMCM pins except the ECK pin can be used as general-purpose input and/or output. When the SCIx transmitter is disabled, TXDx is a discrete output; when the SCIx receiver is disabled, RXDx is a discrete input. Writes to this register affect the pins defined as outputs; reads of this register return the actual value of the pins.
MPC555
/ MPC556
MOTOROLA 14-10
USERS MANUAL
0x30 5014
13 QDSCK 14 LSB 15
RESERVED RESET: 0 0 0 0
QD- QDMIMOSI SO
14.6.2 PORTQS Pin Assignment Register (PQSPAR) PQSPAR determines which of the QSPI pins, with the exception of the SCK pin, are used by the QSPI submodule, and which pins are available for general-purpose I/O. Pins may be assigned on a pin-by-pin basis. If the QSPI is disabled, the SCK pin is automatically assigned its general-purpose I/O function (QGPIO6). QSPI pins designated by PQSPAR as general-purpose I/O pins are controlled only by PQSDDR and PQSPDR; the QSPI has no effect on these pins. PQSPAR does not affect the operation of the SCI submodule. Table 14-9 summarizes the QSMCM pin functions. Table 14-9 QSMCM Pin Functions
PORTQS Function QGPI2 QGPO2 QGPI1 QGPO1 QGPIO6 QGPIO5 QGPIO4 QGPIO3 QGPIO2 QGPIO1 QGPIO0 QSMCM Function RXD2 TXD2 RXD1 TXD1 SCK MOSI MISO PCS[3] PCS[2] PCS[1] PCS[0]
0x30 5016
13 14 LSB 15
DDRQS*
MPC555
/ MPC556
MOTOROLA 14-11
USERS MANUAL
7 8:15
14.6.3 PORTQS Data Direction Register (DDRQS) DDRQS assigns QSPI pin as an input or an output regardless of whether the QSPI submodule is enabled or disabled. All QSPI pins are configured during reset as general-purpose inputs. This register does not affect SCI operation. The TXD1 and TXD2 remain output pins dedicated to the SCI submodules, and the RXD1, RXD2 and ECK pins remain input pins dedicated to the SCI submodules. DDRQS PORTQS Data Direction Register
MSB 0 1 2 3 4 5 6 7 8 0 9 QDDPCS3 10 QDDPCS2 11 QDDPCS1 12 QDDPCS0 13 QDDSCK
0x30 5016
14 QDDMOSI LSB 15 QDDMISO
PQSPAR* RESET:
MPC555
/ MPC556
MOTOROLA 14-12
USERS MANUAL
10
QDDPCS2
11
QDDPCS1
12
QDDPCS0
13
QDDSCK
14
QPDMOSI
15
QPDMISO
14.7 Queued Serial Peripheral Interface The queued serial peripheral interface (QSPI) is used to communicate with external devices through a synchronous serial bus. The QSPI is fully compatible with SPI systems found on other Motorola products, but has enhanced capabilities. The QSPI can perform full duplex three-wire or half duplex two-wire transfers. Several transfer rates, clocking, and interrupt-driven communication options are available. Figure 14-4 is a block diagram of the QSPI.
MPC555
/ MPC556
MOTOROLA 14-13
USERS MANUAL
COMPARATOR
DONE
A D D R E S S R E G I S T E R
MSB
PROGRAMMABLE LOGIC ARRAY
LSB
M S
MOSI
M S
MISO PCS[0]/SS
QSPI BLOCK
Figure 14-4 QSPI Block Diagram Serial transfers of eight to 16 bits can be specified. Programmable transfer length simplifies interfacing to devices that require different data lengths. An inter-transfer delay of approximately 0.8 to 204 s (using a 40-MHz IMB clock) can be programmed. The default delay is 17 clocks (0.425 s at 40 MHz). Programmable delay simplifies the interface to devices that require different delays between transfers.
MPC555
/ MPC556
MOTOROLA 14-14
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-15
USERS MANUAL
Receive Data RAM (32 half-words) Transmit Data RAM (32 half-words) Command RAM (32 bytes)
S/U
NOTES: 1. S = Supervisor access only S/U = Supervisor access only or unrestricted user access (assignable data space). 2. 8-bit registers, such as SPCR3 and SPSR, are on 8-bit boundaries. 16-bit registers such as SPCR0 are on 16-bit boundaries.
To ensure proper operation, set the QSPI enable bit (SPE) in SPCR1 only after initializing the other control registers. Setting this bit starts the QSPI. Rewriting the same value to a control register does not affect QSPI operation with the exception of writing NEWQP in SPCR2. Rewriting the same value to these bits causes the RAM queue pointer to restart execution at the designated location. Before changing control bits, the user should halt the QSPI. Writing a different value into a control register other than SPCR2 while the QSPI is enabled may disrupt operation. SPCR2 is buffered, preventing any disruption of the current serial transfer. After the current serial transfer is completed, the new SPCR2 value becomes effective. 14.7.1.1 QSPI Control Register 0 SPCR0 contains parameters for configuring the QSPI before it is enabled. The CPU has read/write access to SPCR0, but the QSPI has read access only. SPCR0 must be initialized before QSPI operation begins. Writing a new value to SPCR0 while the QSPI is enabled disrupts operation. SPCR0 QSPI Control Register 0
MSB 0 MSTR RESET: 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 WOM Q 2 3 BITS 4 5 6 7 8 9 10 11 12 13
0x30 5018
14 LSB 15
CPOL CPHA
SPBR
MPC555
/ MPC556
MOTOROLA 14-16
USERS MANUAL
WOMQ
2:5
BITS
CPOL
CPHA
MPC555
/ MPC556
MOTOROLA 14-17
USERS MANUAL
0x30 501A
14 LSB 15
8:15
DTL
where DTL is in the range of 1 to 255. A zero value for DTL causes a delay-after-transfer value of 8192 FSYS (204.8 s with a 40-MHz IMB clock). Refer to 14.7.5.4 Delay After Transfer for more information.
14.7.1.3 QSPI Control Register 2 SPCR2 contains QSPI queue pointers, wraparound mode control bits, and an interrupt enable bit. The CPU has read/write access to SPCR2, but the QSPI has read access only. Writes to this register are buffered. New SPCR2 values become effective only after completion of the current serial transfer. Rewriting NEWQP in SPCR2 causes execution to restart at the designated location. Reads of SPCR2 return the current value of the register, not the buffer.
MPC555
/ MPC556
MOTOROLA 14-18
USERS MANUAL
0x30 501C
14 LSB 15
WREN
WRTO
3:7
ENDQP
8:10 11:15
NEWQP
14.7.1.4 QSPI Control Register 3 SPCR3 contains the loop mode enable bit, halt and mode fault interrupt enable, and the halt control bit. The CPU has read/write access to SPCR3, but the QSPI has read access only. SPCR3 must be initialized before QSPI operation begins. Writing a new value to SPCR3 while the QSPI is enabled disrupts operation. SPCR3 QSPI Control Register
MSB 0 1 2 Reserved RESET: 0 0 0 0 0 0 0 0 3 4 5 LOOP Q 6 HMIE 7 HALT 8 9 10 11 12 13
0x30 501E
14 LSB 15
SPSR*
MPC555
/ MPC556
MOTOROLA 14-19
USERS MANUAL
HMIE
HALT
8:15
14.7.1.5 QSPI Status Register The SPSR contains information concerning the current serial transmission. Only the QSPI can set bits in this register. To clear status flags, the CPU reads SPSR with the flags set and then writes the SPSR with zeros in the appropriate bits. Writes to CPTQP have no effect. SPSR QSPI Status Register
MSB 0 1 2 3 4 5 6 7 8 SPIF 9 MODF 10 HALTA 11 12 13 CPTQP
0x30 501E
14 LSB 15
SPCR3*
MPC555
/ MPC556
MOTOROLA 14-20
USERS MANUAL
SPIF
MODF
10
HALTA
11:15
CPTQP
14.7.2 QSPI RAM The QSPI contains a 160-byte block of dual-ported static RAM that can be accessed by both the QSPI and the CPU. Because of this dual access capability, up to two wait states may be inserted into CPU access time if the QSPI is in operation. The size and type of access of the QSPI RAM by the CPU affects the QSPI access time. The QSPI allows byte, half-word, and word accesses. Only word accesses of the RAM by the CPU are coherent because these accesses are an indivisible operation. If the CPU makes a coherent access of the QSPI RAM, the QSPI cannot access the QSPI RAM until the CPU is finished. However, a word or misaligned word access is not coherent because the CPU must break its access of the QSPI RAM into two parts, which allows the QSPI to access the QSPI RAM between the two accesses by the CPU. The RAM is divided into three segments: receive data RAM, transmit data RAM, and command data RAM. Receive data is information received from a serial device external to the MCU. Transmit data is information stored for transmission to an external device. Command data defines transfer parameters. Figure 14-5 shows RAM organization.
MPC555
/ MPC556
MOTOROLA 14-21
USERS MANUAL
0x30 5180
0x30 51C0
0x30 517F
0x30 51BF
0x30 51DF
14.7.2.1 Receive RAM Data received by the QSPI is stored in this segment, to be read by the CPU. Data stored in the receive RAM is right-justified,( i.e., the least significant bit is always in the right-most bit position within the word regardless of the serial transfer length). Unused bits in a receive queue entry are set to zero by the QSPI upon completion of the individual queue entry. The CPU can access the data using byte, half-word, or word addressing. The CPTQP value in SPSR shows which queue entries have been executed. The CPU uses this information to determine which locations in receive RAM contain valid data before reading them. 14.7.2.2 Transmit RAM Data that is to be transmitted by the QSPI is stored in this segment. The CPU normally writes one word of data into this segment for each queue command to be executed. If the corresponding peripheral, such as a serial input port, is used solely to input data, then this segment does not need to be initialized. Data must be written to transmit RAM in a right-justified format. The QSPI cannot modify information in the transmit RAM. The QSPI copies the information to its data serializer for transmission. Information remains in transmit RAM until overwritten. 14.7.2.3 Command RAM Command RAM is used by the QSPI in master mode. The CPU writes one byte of control information to this segment for each QSPI command to be executed. The QSPI cannot modify information in command RAM. Command RAM consists of 32 bytes. Each byte is divided into two fields. The peripheral chip-select field, enables peripherals for transfer. The command control field provides transfer options.
MPC555
/ MPC556
MOTOROLA 14-22
USERS MANUAL
7 CONT CONT
6 BITSE BITSE
5 DT DT
4 DSCK DSCK
3 PCS3 PCS3
2 PCS2 PCS2
1 PCS1 PCS1
0 PCS01 PCS01
Command Control
BITSE
DT
DSCK
4:7
PCS[3:0]
Refer to 14.7.5 Master Mode Operation for more information on the command RAM. 14.7.3 QSPI Pins Seven pins are associated with the QSPI. When not needed by the QSPI, they can be configured for general-purpose I/O. Table 14-20 identifies the QSPI pins and their functions. Register DDRQS determines whether the pins are designated as input or output. The user must initialize DDRQS for the QSPI to function correctly.
MPC555
/ MPC556
MOTOROLA 14-23
USERS MANUAL
Mode Master Slave Master Slave Master Slave Master Master Slave Master
Function Serial data input to QSPI Serial data output from QSPI Serial data output from QSPI Serial data input to QSPI Clock output from QSPI clock Input to QSPI Outputs select peripheral(s) Output selects peripheral(s) Input selects the QSPI May cause mode fault
NOTES: 1. All QSPI pins (except SCK) can be used as general-purpose I/O if they are not used by the QSPI while the QSPI is operating. SCK can only be used for general-purpose I/O if the QSPI is disabled. 2. An output (PCS[0]) when the QSPI is in master mode. 3. An input (SS) when the QSPI is in slave mode. 4. An input (SS) when the QSPI is in master mode; useful in multimaster systems.
14.7.4 QSPI Operation The QSPI uses a dedicated 160-byte block of static RAM accessible by both the QSPI and the CPU to perform queued operations. The RAM is divided into three segments: 32 command control bytes, 64 transmit data bytes, and 64 receive data bytes. Once the CPU has set up a queue of QSPI commands, written the transmit data segment with information to be sent, and enabled the QSPI, the QSPI operates independently of the CPU. The QSPI executes all of the commands in its queue, sets a flag indicating completion, and then either interrupts the CPU or waits for CPU intervention. QSPI RAM is organized so that one byte of command data, one word of transmit data, and one word of receive data correspond to each queue entry, 0x0 to 0x2F. The CPU initiates QSPI operation by setting up a queue of QSPI commands in command RAM, writing transmit data into transmit RAM, then enabling the QSPI. The QSPI executes the queued commands, sets a completion flag (SPIF), and then either interrupts the CPU or waits for intervention. There are four queue pointers. The CPU can access three of them through fields in QSPI registers. The new queue pointer (NEWQP), contained in SPCR2, points to the first command in the queue. An internal queue pointer points to the command currently being executed. The completed queue pointer (CPTQP), contained in SPSR, points to the last command executed. The end queue pointer (ENDQP), contained in SPCR2, points to the final command in the queue. The internal pointer is initialized to the same value as NEWQP. During normal operation, the command pointed to by the internal pointer is executed, the value in the internal pointer is copied into CPTQP, the internal pointer is incremented, and then the sequence repeats. Execution continues at the internal pointer address unless the
MPC555
/ MPC556
MOTOROLA 14-24
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-25
USERS MANUAL
If a sub-queue is to be used, the same CPU write that causes a branch to the subqueue may enable or disable the SPIF interrupt for the sub-queue. The primary queue retains its own selected interrupt mode, either enabled or disabled. The SPIF interrupt must be cleared by clearing SPIF. Subsequent interrupts may then be prevented by clearing SPIFIE. Clearing SPIFIE does not immediately clear an interrupt already caused by SPIF. 14.7.4.3 QSPI Flow The QSPI operates in either master or slave mode. Master mode is used when the MCU initiates data transfers. Slave mode is used when an external device initiates transfers. Switching between these modes is controlled by MSTR in SPCR0. Before entering either mode, appropriate QSMCM and QSPI registers must be initialized properly. In master mode, the QSPI executes a queue of commands defined by control bits in each command RAM queue entry. Chip-select pins are activated, data is transmitted from the transmit RAM and received by the receive RAM. In slave mode, operation proceeds in response to SS pin assertion by an external SPI bus master. Operation is similar to master mode, but no peripheral chip selects are generated, and the number of bits transferred is controlled in a different manner. When the QSPI is selected, it automatically executes the next queue transfer to exchange data with the external device correctly. Although the QSPI inherently supports multi-master operation, no special arbitration mechanism is provided. A mode fault flag (MODF) indicates a request for SPI master arbitration. System software must provide arbitration. Note that unlike previous SPI systems, MSTR is not cleared by a mode fault being set nor are the QSPI pin output drivers disabled. The QSPI and associated output drivers must be disabled by clearing SPE in SPCR1. Figure 14-6 shows QSPI initialization. Figure 14-7 through Figure 14-11 show QSPI master and slave operation. The CPU must initialize the QSMCM global and pin registers and the QSPI control registers before enabling the QSPI for either mode of operation. The command queue must be written before the QSPI is enabled for master
MPC555
/ MPC556
MOTOROLA 14-26
USERS MANUAL
Begin
Enable QSPI
Y MSTR = 1 ? N
A2
A1
MPC555
/ MPC556
MOTOROLA 14-27
USERS MANUAL
Is QSPI Disabled? N
N Read Command Control and Transmit Data From RAM Using Queue Pointer Address
B1
MPC555
/ MPC556
MOTOROLA 14-28
USERS MANUAL
B1
C1
MPC555
/ MPC556
MOTOROLA 14-29
USERS MANUAL
C1
Request Interrupt
Request Interrupt
MPC555
/ MPC556
MOTOROLA 14-30
USERS MANUAL
Is QSPI Disabled? N
B2
MPC555
/ MPC556
MOTOROLA 14-31
USERS MANUAL
C2
Request Interrupt
Request Interrupt
Figure 14-11 Flowchart of QSPI Slave Operation (Part 2) Normally, the SPI bus performs synchronous bi-directional transfers. The serial clock on the SPI bus master supplies the clock signal SCK to time the transfer of data. Four
MPC555
/ MPC556
MOTOROLA 14-32
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-33
USERS MANUAL
When the CONT bit in a command RAM byte is set, PCS pins are continuously driven to specified states during and between transfers. If the chip-select pattern changes during or between transfers, the original pattern is driven until execution of the following transfer begins. When CONT is cleared, the data in register PORTQS is driven between transfers. The data in PORTQS must match the inactive states of SCK and any peripheral chip-selects used. When the QSPI reaches the end of the queue, it sets the SPIF flag. If the SPIFIE bit in SPCR2 is set, an interrupt request is generated when SPIF is asserted. At this point, the QSPI clears SPE and stops unless wraparound mode is enabled. 14.7.5.1 Clock Phase and Polarity In master mode, data transfer is synchronized with the internally-generated serial clock SCK. Control bits, CPHA and CPOL, in SPCR0, control clock phase and polarity. Combinations of CPHA and CPOL determine upon which SCK edge to drive outgoing data from the MOSI pin and to latch incoming data from the MISO pin. 14.7.5.2 Baud Rate Selection Baud rate is selected by writing a value from two to 255 into the SPBR field in SPCR0. The QSPI uses a modulus counter to derive the SCK baud rate from the MCU IMB clock. The following expressions apply to the SCK baud rate: f SYS
or
f SYS
MPC555
/ MPC556
MOTOROLA 14-34
USERS MANUAL
28 58 280 510
14.7.5.3 Delay Before Transfer The DSCK bit in each command RAM byte inserts either a standard (DSCK = 0) or user-specified (DSCK = 1) delay from chip-select assertion until the leading edge of the serial clock. The DSCKL field in SPCR1 determines the length of the user-defined delay before the assertion of SCK. The following expression determines the actual delay before SCK:
DSCKL PCS to SCK Delay = -------------------
f SYS
where DSCKL is in the range from 1 to 127. NOTE A zero value for DSCKL causes a delay of 128 IMB clocks, which equals 3.2 s for a 40-MHz IMB clock. Because of design limits, a DSCKL value of one defaults to the same timing as a value of two. When DSCK equals zero, DSCKL is not used. Instead, the PCS valid-to-SCK transition is one-half the SCK period. 14.7.5.4 Delay After Transfer Delay after transfer can be used to provide a peripheral deselect interval. A delay can also be inserted between consecutive transfers to allow serial A/D converters to complete conversion. Writing a value to the DTL field in SPCR1 specifies a delay period. The DT bit in each command RAM byte determines whether the standard delay period
MPC555
/ MPC556
MOTOROLA 14-35
USERS MANUAL
f SYS
where DTL is in the range from one to 255. A zero value for DTL causes a delay-after-transfer value of 8192 IMB clock frequency (204.8 s with a 40-MHz IMB clock). If DT is zero in a command RAM byte, a standard delay is inserted.
17 Standard Delay after Transfer = ------------f SYS Delay after transfer can be used to provide a peripheral deselect interval. A delay can also be inserted between consecutive transfers to allow serial A/D converters to complete conversion. Adequate delay between transfers must be specified for long data streams because the QSPI requires time to load a transmit RAM entry for transfer. Receiving devices need at least the standard delay between successive transfers. If the IMB clock is operating at a slower rate, the delay between transfers must be increased proportionately. 14.7.5.5 Transfer Length There are two transfer length options. The user can choose a default value of eight bits, or a programmed value from eight (0b1000) to 16 (0b0000) bits, inclusive. Reserved values (from 0b0001 to 0b0111) default to eight bits. The programmed value must be written into the BITS field in SPCR0. The BITSE bit in each command RAM byte determines whether the default value (BITSE = 0) or the BITS value (BITSE = 1) is used. 14.7.5.6 Peripheral Chip Selects Peripheral chip-select signals are used to select an external device for serial data transfer. Chip-select signals are asserted when a command in the queue is executed. Signals are asserted at a logic level corresponding to the value of the PCS[3:0] bits in each command byte. More than one chip-select signal can be asserted at a time, and more than one external device can be connected to each PCS pin, provided proper fanout is observed. PCS[0] shares a pin with the slave select SS signal, which initiates slave mode serial transfer. If SS is taken low when the QSPI is in master mode, a mode fault occurs.
MPC555
/ MPC556
MOTOROLA 14-36
USERS MANUAL
/ MPC556
MOTOROLA 14-37
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-38
USERS MANUAL
Because the command control segment is not used, the command control bits and peripheral chip-select codes have no effect in slave mode operation. The QSPI does not drive any of the four peripheral chip-selects as outputs. PCS[0]/SS is used as an input. Although CONT cannot be used in slave mode, a provision is made to enable receipt of more than 16 data bits. While keeping the QSPI selected (PCS[0]/SS is held low), the QSPI stores the number of bits, designated by BITS, in the current receive data segment address, increments NEWQP, and continues storing the remaining bits (up to the BITS value) in the next receive data segment address. As long as PCS[0]/SS remains low, the QSPI continues to store the incoming bit stream in sequential receive data segment addresses, until either the value in BITS is reached or the end-of-queue address is used with wraparound mode disabled. When the end of the queue is reached, the SPIF flag is asserted, optionally causing an interrupt. If wraparound mode is disabled, any additional incoming bits are ignored. If wraparound mode is enabled, storing continues at either address 0x0 or the address of NEWQP, depending on the WRTO value. When using this capability to receive a long incoming data stream, the proper delay between transfers must be used. The QSPI requires time, approximately 0.425 s with a 40-MHz IMB clock, to prefetch the next transmit RAM entry for the next transfer. Therefore, the user may select a baud rate that provides at least a 0.6-s delay between successive transfers to ensure no loss of incoming data. If the IMB clock is operating at a slower rate, the delay between transfers must be increased proportionately. Because the BITSE option in the command control segment is no longer available, BITS sets the number of bits to be transferred for all transfers in the queue until the CPU changes the BITS value. As mentioned above, until PCS[0]/SS is negated (brought high), the QSPI continues to shift one bit for each pulse of SCK. If PCS[0]/SS is negated before the proper number of bits (according to BITS) is received, the next time the QSPI is selected it resumes storing bits in the same receive-data segment address where it left off. If more than 16 bits are transferred before negating the PCS[0]/ SS, the QSPI stores the number of bits indicated by BITS in the current receive data segment address, then increments the address and continues storing as described
MPC555
/ MPC556
MOTOROLA 14-39
USERS MANUAL
In slave mode, the QSPI shifts out the data in the transmit data segment. The transmit data is loaded into the data serializer (refer to Figure 14-1) for transmission. When the PCS[0]/SS pin is pulled low the MISO pin becomes active and the serializer then shifts the 16 bits of data out in sequence, most significant bit first, as clocked by the incoming SCK signal. The QSPI uses CPHA and CPOL to determine which incoming SCK edge the MOSI pin uses to latch incoming data, and which edge the MISO pin uses to drive the data out. The QSPI transmits and receives data until reaching the end of the queue (defined as a match with the address in ENDQP), regardless of whether PCS[0]/SS remains selected or is toggled between serial transfers. Receiving the proper number of bits causes the received data to be stored. The QSPI always transmits as many bits as it receives at each queue address, until the BITS value is reached or PCS[0]/SS is negated. 14.7.7 Slave Wraparound Mode When the QSPI reaches the end of the queue, it always sets the SPIF flag, whether wraparound mode is enabled or disabled. An optional interrupt to the CPU is gen-erated when SPIF is asserted. At this point, the QSPI clears SPE and stops unless wraparound mode is enabled. A description of SPIFIE bit can be found in 4.3.3 QSPI Control Register 2 (SPCR2). In wraparound mode, the QSPI cycles through the queue continuously. Each time the end of the queue is reached, the SPIF flag is set. If the CPU fails to clear SPIF, it remains set, and the QSPI continues to send interrupt requests to the CPU (assuming SPIFIE is set). The user may avoid causing CPU interrupts by clearing SPIFIE. As SPIFIE is buffered, clearing it after the SPIF flag is asserted does not immediately stop the CPU interrupts, but only prevents future interrupts from this source. To clear the current interrupt, the CPU must read QSPI register SPSR with SPIF asserted, followed by a write to SPSR with zero in SPIF (clear SPIF). Execution continues in wraparound mode even while the QSPI is requesting interrupt service from the CPU. The internal working queue pointer is incremented to the next address and the commands are executed again. SPE is not cleared by the QSPI. New receive data overwrites previously received data located in the receive data segment.
MPC555
/ MPC556
MOTOROLA 14-40
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-41
USERS MANUAL
H (8) 7 6 5 4 3 2 1 0 L
TxD
SIZE 8/9
TRANSFER Tx BUFFER
BREAKJAM 0's
SHIFT ENABLE
LOOPS
WOMS
WAKE
JAM ENABLE
PARITY GENERATOR
PREAMBLEJAM 1's
RDRF
RWU
TCIE
TDRE
IDLE
SBK
RAF
ILIE
RIE
TIE
OR
ILT
RE
NF
PE
TC
PT
15
15
TE
TDRE
TC
SCI Rx REQUESTS
MPC555
/ MPC556
FE
MOTOROLA 14-42
USERS MANUAL
16 DATA RECOVERY
STOP
RxD
PIN BUFFER
PARITY
DETECT
WAKE
RWU
TCIE
15
SBK 0
ILIE
RIE
TIE
ILT
RE
PE
PT
TE
15
SCI Tx REQUESTS
MPC555
/ MPC556
MOTOROLA 14-43
USERS MANUAL
Usage SCI1 Control Register 0 See Table 14-23 for bit descriptions. SCI1 Control Register 1 See Table 14-24 for bit descriptions. SCI1 Status Register See Table 14-25 for bit descriptions. SCI1 Data Register Transmit Data Register (TDR1)* Receive Data Register (RDR1)* See Table 14-26 for bit descriptions. SCI2 Control Register 0 SCI2 Control Register 1 SCI2 Status Register SCI2 Data Register Transmit Data Register (TDR2)* Receive Data Register (RDR2)* QSCI1 Control Register Interrupts, wrap, queue size and enables for receive and transmit, QTPNT. See Table 14-30 for bit descriptions. QSCI1 Status Register OverRun error flag, queue status flags, QRPNT, and QPEND. See Table 14-31 for bit descriptions.
0x30 500E (non-queue mode only) 0x30 5020 0x30 5022 0x30 5024 0x30 5026
SC1DR
0x30 5028
QSCI1CR
0x30 502A
QSCI1SR
QSCI1 Transmit Queue QSCI1 Transmit Queue Data locations (on Memory Area half-word boundary) QSCI1 Receive Queue QSCI1 Receive Queue Data locations (on Memory Area half-word boundary)
During SCIx initialization, two bits in the SCCxR1 should be written last: the transmitter enable (TE) and receiver enable (RE) bits, which enable SCIx. Registers SCCxR0 and SCCxR1 should both be initialized at the same time or before TE and RE are asserted. A single half-word write to SCCxR1 can be used to initialize SCIx and enable the transmitter and receiver.
MPC555
/ MPC556
MOTOROLA 14-44
USERS MANUAL
0x30 5008
14 LSB 15
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
3:15
SCxBR
14.8.3 SCI Control Register 1 SCCxR1 contains SCIx configuration parameters, including transmitter and receiver enable bits, interrupt enable bits, and operating mode enable bits. The CPU can read or write this register at any time. The SCI can modify the RWU bit under certain circumstances. Changing the value of SCCxR1 bits during a transfer operation can disrupt the transfer. Before changing register values, allow the SCI to complete the current transfer, then disable the receiver and transmitter.
MPC555
/ MPC556
MOTOROLA 14-45
USERS MANUAL
WOMS
ILT
PT
PE
WAKE
TIE
TCIE
10
RIE
11
ILIE
12
TE
13
RE
MPC555
/ MPC556
MOTOROLA 14-46
USERS MANUAL
15
SBK
14.8.4 SCI Status Register (SCxSR) SCxSR contains flags that show SCI operating conditions. These flags are cleared either by SCIx hardware or by a read/write sequence. The sequence consists of reading the SCxSR (either the upper byte, lower byte, or the entire half-word) with a flag bit set, then reading (or writing, in the case of flags TDRE and TC) the SCxDR (either the lower byte or the half-word). The contents of the two 16-bit registers SCxSR and SCxDR appear as upper and lower half-words, respectively, when the SCxSR is read into a 32-bit register. An upper byte access of SCxSR is meaningful only for reads. Note that a word read can simultaneously access both registers SCxSR and SCxDR. This action clears the receive status flag bits that were set at the time of the read, but does not clear the TDRE or TC flags. To clear TC, the SCxSR read must be followed by a write to register SCxDR (either the lower byte or the half-word). The TDRE flag in the status register is readonly. If an internal SCI signal for setting a status bit comes after the CPU has read the asserted status bits but before the CPU has read or written the SCxDR, the newly set status bit is not cleared. Instead, SCxSR must be read again with the bit set and SCxDR must be read or written before the status bit is cleared. NOTE None of the status bits are cleared by reading a status bit while it is set and then writing zero to that same bit. Instead, the procedure outlined above must be followed. Note further that reading either byte of SCxSR causes all 16 bits to be accessed, and any status bits already set in either byte are armed to clear on a subsequent read or write of SCxDR. SCxSR SCIx Status Register
MSB 0 1 2 3 RESERVED RESET: 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 4 5 6 7 TDRE 8 TC 9 RDRF 10 RAF
MPC555
/ MPC556
MOTOROLA 14-47
USERS MANUAL
TDRE
TC
RDRF
10
RAF
MPC555
/ MPC556
MOTOROLA 14-48
USERS MANUAL
14.8.5 SCI Data Register (SCxDR) The SCxDR consists of two data registers located at the same address. The receive data register (RDRx) is a read-only register that contains data received by the SCI serial interface. Data is shifted into the receive serial shifter and is transferred to RDRx. The transmit data register (TDRx) is a write-only register that contains data to be transmitted. Data is first written to TDRx, then transferred to the transmit serial shifter, where additional format bits are added before transmission. SCxDR SCI Data Register
MSB 0 1 2 3 RESERVED RESET: 0 0 0 0 0 0 0 U U U U U U U U U 4 5 6 7 8 9 10
MPC555
/ MPC556
MOTOROLA 14-49
USERS MANUAL
7:15
R[8:0]/ T[8:0]
14.8.6 SCI Pins The RXD1 and RXD2 pins are the receive data pins for the SCI1 and SCI2, respectively. TXD1 and TXD2 are the transmit data pins for the two SCI modules. An external clock pin, ECK, is common to both SCIs. The pins and their functions are listed in Table 14-27. Table 14-27 SCI Pin Functions
Pin Names Receive Data Transmit Data Mnemonic RXD1, RXD2 TXD1, TXD2 Mode Receiver disabled Receiver enabled Transmitter disabled Transmitter enabled Receiver disabled Receiver enabled Transmitter disabled Transmitter enabled Function General purpose input Serial data input to SCI General purpose output Serial data output from SCI Not used Alternate input source to baud Not used Alternate input source to baud
External Clock
ECK
14.8.7 SCI Operation The SCI can operate in polled or interrupt-driven mode. Status flags in SCxSR reflect SCI conditions regardless of the operating mode chosen. The TIE, TCIE, RIE, and ILIE bits in SCCxR1 enable interrupts for the conditions indicated by the TDRE, TC, RDRF, and IDLE bits in SCxSR, respectively. 14.8.7.1 Definition of Terms Bit-time The time required to transmit or receive one bit of data, which is equal to one cycle of the baud frequency. Start bit One bit-time of logic zero that indicates the beginning of a data frame. A start bit must begin with a one-to-zero transition and be preceded by at least three receive time samples of logic one. Stop bit One bit-time of logic one that indicates the end of a data frame. Frame A complete unit of serial information. The SCI can use 10-bit or 11-bit frames. Data frame A start bit, a specified number of data or information bits, and at least one stop bit. Idle frame A frame that consists of consecutive ones. An idle frame has no start bit.
MPC555
/ MPC556
MOTOROLA 14-50
USERS MANUAL
14.8.7.3 Baud Clock The SCI baud rate is programmed by writing a 13-bit value to the SCxBR field in SCI control register zero (SCCxR0). The baud rate is derived from the MCU IMB clock by a modulus counter. Writing a value of zero to SCxBR[12:0] disables the baud rate generator. The baud rate is calculated as follows: f SYS = -----------------------32 SCxBR or f SYS = -----------------------------------------------------32 SCI Baud Rate Desired
SCxBR
MPC555
/ MPC556
MOTOROLA 14-51
USERS MANUAL
14.8.7.4 Parity Checking The PT bit in SCCxR1 selects either even (PT = 0) or odd (PT = 1) parity. PT affects received and transmitted data. The PE bit in SCCxR1 determines whether parity checking is enabled (PE = 1) or disabled (PE = 0). When PE is set, the MSB of data in a frame (i.e., the bit preceding the stop bit) is used for the parity function. For transmitted data, a parity bit is generated. For received data, the parity bit is checked. When parity checking is enabled, the PF bit in the SCI status register (SCxSR) is set if a parity error is detected. Enabling parity affects the number of data bits in a frame, which can in turn affect frame size. Table 14-24 shows possible data and parity formats. 14.8.7.5 Transmitter Operation The transmitter consists of a serial shifter and a parallel data register (TDRx) located in the SCI data register (SCxDR). The serial shifter cannot be directly accessed by the CPU. The transmitter is double-buffered, which means that data can be loaded into the TDRx while other data is shifted out. The TE bit in SCCxR1 enables (TE = 1) and disables (TE = 0) the transmitter. The shifter output is connected to the TXD pin while the transmitter is operating (TE = 1, or TE = 0 and transmission in progress). Wired-OR operation should be specified when more than one transmitter is used on the same SCI bus. The WOMS bit in
MPC555
/ MPC556
MOTOROLA 14-52
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-53
USERS MANUAL
/ MPC556
MOTOROLA 14-54
USERS MANUAL
MPC555
MOTOROLA 14-55
USERS MANUAL
1 1 1 1 1 1 1 1 1 0 R T 1 * R T 1 * R T 1 * R T 1 * R T 1 * R T 1 * R T 1 * R T 1 *
0 0 0 0 R T 1 1 R T 1 2 R T 1 3 R T 1 4 R T 1 5 R R R R T T T T 1 1 2 3 6 *
R R R R R R R R R R R T T T T T T T T T T T 1 1 2 3 4 5 6 7 8 9 1 * 0
* Restart RT Clock
Figure 14-14 Start Search Example 14.8.7.7 Receiver Functional Operation The RE bit in SCCxR1 enables (RE = 1) and disables (RE = 0) the receiver. The receiver contains a receive serial shifter and a parallel receive data register (RDRx) located in the SCI data register (SCxDR). The serial shifter cannot be directly accessed by the CPU. The receiver is double-buffered, allowing data to be held in the RDRx while other data is shifted in. Receiver bit processor logic drives a state machine that determines the logic level for each bit-time. This state machine controls when the bit processor logic is to sample the RXD pin and also controls when data is to be passed to the receive serial shifter. A receive time clock is used to control sampling and synchronization. Data is shifted into the receive serial shifter according to the most recent synchronization of the receive time clock with the incoming data stream. From this point on, data movement is synchronized with the MCU IMB clock. Operation of the receiver state machine is detailed in the Queued Serial Module Reference Manual (QSMRM/AD). The number of bits shifted in by the receiver depends on the serial format. However, all frames must end with at least one stop bit. When the stop bit is received, the frame is considered to be complete, and the received data in the serial shifter is transferred to the RDRx. The receiver data register flag (RDRF) is set when the data is transferred. The stop bit is always a logic one. If a logic zero is sensed during this bit-time, the FE flag in SCxSR is set. A framing error is usually caused by mismatched baud rates between the receiver and transmitter or by a significant burst of noise. Note that a framing error is not always detected; the data in the expected stop bit-time may happen to be a logic one. Noise errors, parity errors, and framing errors can be detected while a data stream is being received. Although error conditions are detected as bits are received, the noise
MPC555
/ MPC556
MOTOROLA 14-56
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-57
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-58
USERS MANUAL
0x30 5028
LSB 7 QBHEI 8 0 9 QTE 10 QRE 11 QTW E 12 13 14 15
1 QTPNT
4 QTHFI
QBH- QTHE FI I
QTSZ
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 14-59
USERS MANUAL
QTHFI
QBHFI
QTHEI
QBHEI
QTE
10
QRE
11
QTWE
12:15
QTSZ
MPC555
/ MPC556
MOTOROLA 14-60
USERS MANUAL
0x30 502A
LSB 15
QRPNT
QPEND
QOR
QTHF
QBHF
QTHE
QBHE
8:11
QRPNT
12:15
QPEND
14.9.3 QSCI1 Transmitter Block Diagram The block diagram of the enhancements to the SCI transmitter is shown in Figure 1415.
MPC555
/ MPC556
MOTOROLA 14-61
USERS MANUAL
Queue Control
QTE QPEND[0:3] QTHE QTSZ[0:3] QTHEI QBHEI QTWE
Queue Status
QBHE
SC1DR Tx BUFFER
START
STOP
TxD
H (8) 7 6 5 4 3 2 1 0 L
Figure 14-15 Queue Transmitter Block Enhancements 14.9.4 QSCI1 Additional Transmit Operation Features Available on a single SCI channel (SCI1) implemented by the queue transmit enable (QTE) bit set by software. When enabled, (QTE = 1) the TDRE bit should be ignored by software and the TC bit is redefined (as described later). When the queue is disabled (QTE = 0), the SCI functions in single buffer transfer mode where the queue size is set to one (QTSZ = 0000), and TDRE and TC function as previously defined. Locations SCTQ[0:15] can be used as general purpose 9-bit registers. All other bits pertaining to the queue should be ignored by software. Programmable queue up to 16 transmits (SCTQ[0:15]) which may allow for infinite and continuous transmits. Available transmit wrap function to prevent message breaks for transmits greater
MPC555
/ MPC556
MOTOROLA 14-62
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-63
USERS MANUAL
Set QTE=1 Set QTHEI, QBHEI Write QTSZ=n Clear QTHE, TC Write SCTQ[0:n] Set TE
QTE=1, TE=1 TDRE=1, QTHE=0? Yes Load QPEND with QTSZ, Reset QTPNT to 0000
No
No QTE, TE=1? Yes Load TDR (SC1DR) With SCTQ[QTPNT] Shift Data Out(TDRE=1) Decrement QPEND, Increment QTPNT Write QTSZ for Wrap Clear QTHE Possible Set of QTWE
Yes QTPNT=1000? Clear QBHE No Yes QBHE=0? Yes Set QBHE QTPNT = 1111? no No QPEND = 1111 yes Clear QTWE Yes QTWE = 1 & QTHE = 0? no Set QTHE, QBHE Clear QTE No Set QTHE
/ MPC556
MOTOROLA 14-64
USERS MANUAL
Reset
Enable Queue Interrupt QTHEI = 1, If Transmitting Greater than 16 Data Frames, Enable Queue Interrupt QBHEI = 1
Read Status Register with TC = 1, Write SCTQ[0:n] (Clears TC) Read Status Register with QTHE=1 Write QTHE = 0 (and QBHE if Transmitting More than 8 Data Frames)
Yes QTHE = 1? No To Wrap, Write New QTSZ=n Set QTWE (Previous QTSZ Must Have Equaled 16) Read QTHE=1, Write QTHE=0 Write New Data SCTQ[0:7] If Finished Transmitting, Then Clear QTE and/or TE DONE
No QBHE = 1? Yes
If Transmitting Greater Than 8 Data Frames on Wrap Read QBHE=1,Write QBHE=0 Write New Data to SCTQ[8:15]
MPC555
/ MPC556
MOTOROLA 14-65
USERS MANUAL
Transmit Queue Enabled QTSZ=1111 (16 Data Frames) QPEND QTPNT 1111 0000 SCTQ[0]
2 QTHE Interrupt Received QTSZ=1111 (16 Data Frames) QPEND QTPNT 0000 1111 SCTQ[0]
0111 1000
SCTQ[7] SCTQ[8]
1000 0111
0111 1000
SCTQ[7] SCTQ[8]
1000 0111
1111
SCTQ[15]
0000
1111
SCTQ[15]
0000
Write New QTSZ for When Wrap Occurs QTSZ=0 (16+1=17),Set QTWE, Clear QTHE Write SCTQ[0] for 17th Transfer
1111
SCTQ[15] Load QPEND with QTSZ (0) Clear QTWE Reset QTPNT
/ MPC556
MOTOROLA 14-66
USERS MANUAL
Transmit Queue Enabled QTSZ=1111 (16 Data Frames) QTPNT 0000 SCTQ[0]
QPEND 1111
QPEND 1111
0111
SCTQ[7] SCTQ[8]
1000 0111
0111 1000
SCTQ[7] SCTQ[8]
1000 0111
1000
1111
SCTQ[15]
0000
1111
SCTQ[15]
0000
Write QTSZ = 8 (16 + 9 = 25) Write SCTQ [0:7] for 8 More Data Frames Set QTWE Clear QTHE Data to be Transferred
QBHE Interrupt Received (Wrap Occurred) QTSZ=1000 (9 Data Frames) QTPNT 0000 SCTQ[0] QPEND 1000
QPEND 1000
0111 1000
SCTQ[7] SCTQ[8]
0001 0000
SCTQ[7] SCTQ[8]
1111
SCTQ[15] Load QPEND with QTSZ Clear QTWE Reset QTPNT Write SCTQ[8] Clear QBHE
1111
SCTQ[15]
/ MPC556
MOTOROLA 14-67
USERS MANUAL
RxD
H (8) 7
START
STOP
SCxDR Rx BUFFER
SCRQ[0] SCRQ[1]
16:1 Mux
Data Bus
SCRQ[15] 4-bits
QRPNT[0:3]
QBHFI
QTHFI
QBHF
QTHF
Queue Control
QRE
Queue Status
QOR
Figure 14-20 Queue Receiver Block Enhancements 14.9.9 QSCI1 Additional Receive Operation Features Available on a single SCI channel (SCI1) implemented by the queue receiver enable (QRE) bit set by software. When the queue is enabled, software should ignore the RDRF bit. When the queue is disabled (QRE = 0), the SCI functions in single buffer receive mode (as originally designed) and RDRF and OR function as previously defined.
MPC555
/ MPC556
MOTOROLA 14-68
USERS MANUAL
/ MPC556
MOTOROLA 14-69
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-70
USERS MANUAL
Software
No
Clear QRE
No QRE, RE=1?
Yes QRPNT=8 & QBHF QRPNT=0 & QTHF No Load RX Data to SCRQ[QRPNT], Increment QRPNT Yes Set QOR
Clear QTHF
No Clear QBHF
/ MPC556
MOTOROLA 14-71
USERS MANUAL
Reset
Configure the Receive Queue Enable Queue Interrupts QTHFI, QBHFI = 1, Read Status Register with QTHF & QBHF = 1, Write QTHF & QBHF = 0
Yes QTHF=1? No Read Status Register With QTHF = 1 Read SCRQ[0:7] Write QTHF = 0 Yes QBHF = 1? No Read Status Register With QBHF = 1 Read SCRQ[8:15] Write QBHF = 0 Yes IDLE = 1? No Clear QRE and/or RE To Exit the Queue
DONE
MPC555
/ MPC556
MOTOROLA 14-72
USERS MANUAL
QRPNT 0000
SCRQ[0]
QRPNT 0000
SCRQ[0]
0111 1000
SCRQ[7] SCRQ[8]
0111 1000
SCRQ[7] SCRQ[8]
1111
SCRQ[15]
1111
SCRQ[15]
QRPNT 0000
SCRQ[0]
0001
0111 1000
SCRQ[7] SCRQ[8]
0111 1000
SCRQ[7] SCRQ[8]
1111
SCRQ[15]
1111
MPC555
/ MPC556
MOTOROLA 14-73
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 14-74
USERS MANUAL
One MIOS bus interface submodule (MBISM) One MIOS counter prescaler submodule (MCPSM) Two MIOS modulus counter submodules (MMCSM) 10 MIOS double action submodules (MDASM) Eight MIOS pulse width modulation submodules (MPWMSM) One MIOS 16-bit parallel port I/O submodule (MPIOSM) Two MIOS interrupt request submodules (MIRSM) 15.1 MIOS1 Features The basic features of the MIOS1 are as follows: Modular architecture at the silicon implementation level Disable capability in each submodule to allow power saving when its function is not needed Two 16-bit buses to allow action submodules to use counter data When not used for timing functions, every channel pin can be used as a port pin: I/O, output only or input only, depending on the channel function Submodules pin status bits: MIOS counter prescaler submodule (MCPSM): Centralized counter clock generator Programmable 4-bit modulus down-counter Wide range of possible division ratios: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16 Count inhibit under software control Two MIOS modulus counter submodules (MMCSM), each with these features: Programmable 16-bit modulus up-counter with built-in programmable 8-bit prescaler clocked by MCPSM output Maximum increment frequency of the counter: clocked by the internal Counter Clock: FSYS /2 clocked by the external pin: FSYS /4 Flag setting and possible interrupt generation on overflow of the up-counter Time counter on internal clock with interrupt capability after a pre-determined time
MOTOROLA 15-1
/ MPC556
MOTOROLA 15-2
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-3
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-4
USERS MANUAL
5xDASM
MDA27
5xDASM
MDA12 MDA11 L C MMCSM6 Modulus Counter MDASM31 Double Action MDA31
MPWMSM0 PWM
MPWM0
Counter Clock
4xPWMSM
MPWMSM3 PWM MPWM3
MPWMSM16 PWM
MPWM16
4xPWMSM
MPWMSM19 PWM MCPSM Bus Interface Unit Submodule Interrupt Submodules MPIOSM32 16-bit Port I/O MPIO32B15 MPIO32B0 MPWM19
IMB3
MPC555
/ MPC556
MOTOROLA 15-5
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-6
USERS MANUAL
MPWMSM0 MPWMSM1 MPWMSM2 MPWMSM3 Reserved MMCSM6 Reserved MDASM11 MDASM12 MDASM13 Base Address 0x30 6000 MDASM14 MDASM15 MPWMSM16 Channels MPWMSM17 MPWMSM18 Supervisor/ Unrestricted MPWMSM19 Reserved Reserved MMCSM22 Reserved 0x30 6800 0x30 6810 MDASM27 MBISM MCPSM MDASM28 MDASM29 MDASM30 MDASM31 Supervisor MPIOSM32 Reserved
0x30 6000 0x30 6008 0x30 6010 0x30 6018 0x30 6030
0x30 6058 0x30 6060 0x30 6068 0x30 6070 0x30 6078 0x30 6080 0x30 6088 0x30 6090 0x30 6098
0x30 60B0
0x30 60D8 0x30 60E0 0x30 60E8 0x30 60F0 0x30 60F8 0x30 6100
Submodules 15 to 0
MIRSM0 MIRSM1
0x30 6C30
Submodules 31 to 16
0x30 6C44
0x30 6C46
0x30 6C70
/ MPC556
MOTOROLA 15-7
USERS MANUAL
Number 16 2 1 1
15.8 MIOS Bus Interface Submodule (MBISM) The MIOS bus interface submodule (MBISM) is used as an interface between the MIOB (modular I/O bus) and the IMB3. It allows the CPU to communicate with the MIOS1 submodules. 15.8.1 MIOS Bus Interface (MBISM) Registers Table 15-2 is the address map for the MBISM submodule. Table 15-2 MBISM Address Map
Address 0x30 6800 0x30 6802 0x30 6804 0x30 6806 Register MIOS1 Test and Pin Control Register (MIOS1TPCR) See Table 15-3 for bit descriptions. Reserved (MIOS1 Vector Register in some implementations) MIOS1 Module Version Number Register (MIOS1VNR) See Table 15-4 for bit descriptions. MIOS1 Module Control Register (MIOS1MCR) See Table 15-4 for bit descriptions.
15.8.1.1 MIOS1 Test and Pin Control Register MIOS1TPCR Test and Pin Control Register
MSB 0 TEST RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 RESERVED 8 9 10 11 12 13
0x30 6800
14 VF LSB 15 VFLS
MPC555
/ MPC556
MOTOROLA 15-8
USERS MANUAL
14
VF
15
VFLS
15.8.1.2 MIOS1 Vector Register This register is used only in MCUs that use vectored interrupts. The MPC555 / MPC556 does not use this register. 15.8.1.3 MIOS1 Module and Version Number Register This read-only register contains the hard-coded values of the module and version number. MIOS1VNR MIOS1 Module/Version Number Register
MSB 0 1 2 3 MN 4 5 6 7 8 9 10 11 VN 12 13
0x30 6804
14 LSB 15
15.8.1.4 MIOS1 Module Configuration Register MIOS1MCR MIOS1 Module Configuration Register
MSB 0 STOP 0 1 0 0 2 FRZ 0 3 RST 0 0 4 5 6 7 8 SUPV 0 0 0 9 10 RESERVED 0 0 0 11 12 13 RESERVED 0 0
0x30 6806
14 LSB 15 RESERVED (IARB) 0 0 0
RESET:
MPC555
/ MPC556
MOTOROLA 15-9
USERS MANUAL
STOP
FRZ
RST
4:7
SUPV
9:15
15.8.2 MBISM Interrupt Registers Table 15-6 shows the MBISM interrupt registers. Table 15-6 MBISM Interrupt Registers Address Map
Address 0x30 6C30 0x30 6C70 Register MIOS1 Interrupt Level Register 0 (MIOS1LVL0) See Table 15-7 for bit descriptions. MIOS1 Interrupt Level Register 1 (MIOS1LVL1) See Table 15-8 for bit descriptions.
15.8.2.1 MIOS1 Interrupt Level Register 0 (MIOS1LVL0) This register contains the interrupt level that applies to the submodules number 15 to zero.
MPC555
/ MPC556
MOTOROLA 15-10
USERS MANUAL
0x30 6C30
14 LSB 15
RESERVED
10:15
15.8.2.2 MIOS1 Interrupt Level Register 1 (MIOS1LVL1) This register contains the interrupt level that applies to the submodules number 31 to 16. MIOS1LVL1 MIOS1 Interrupt Level 1 Register
MSB 0 1 2 RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 4 5 6 LVL 7 8 TM 9 10 11 12 13
0x30 6C70
14 LSB 15
RESERVED
15.8.3 Interrupt Control Section (ICS) The interrupt control section delivers the interrupt level to the CPU. The interrupt control section adapts the characteristics of the MIOB request bus to the characteristics of the interrupt structure of the IMB3. When at least one of the flags is set on an enabled level, the ICS receives a signal from the corresponding IRQ pending register. This signal is the result of a logical OR between all the bits of the IRQ pending register. The signal received from the IRQ pending register is associated with the interrupt level register within the ICS. This level is coded on five bits in this register: three bits represent one of eight levels and the two other represent the four time multiplex slots. Ac/ MPC556
MPC555
MOTOROLA 15-11
USERS MANUAL
Dec.
4-bit = 1? Decrementer
Counter Clock
Load
Figure 15-3 MCPSM Block Diagram 15.9.1 MIOS Counter Prescaler Submodule (MCPSM) Registers Table 15-9 is the address map for the MCPSM submodule.
MPC555
/ MPC556
MOTOROLA 15-12
USERS MANUAL
15.9.1.1 MCPSM Status/Control Register (MCPSMCSCR) This register contains status and control information for the MCPSM. MCPSMSCR MCPSM Status/Control Register 0x30 6816
9 10 11 12 13 PSL 0 0 0 0 0 0 0 0 14 LSB 15
MSB 0
RESERVED 0 0
PREN
2:11
12:15
PSL
15.10 MIOS Modulus Counter Submodule (MMCSM) The MMCSM is a versatile counter submodule capable of performing complex counting and timing functions, including modulus counting, in a wide range of applications. The MMCSM may also be configured as an event counter, allowing the overflow flag to be set after a predefined number of events (internal clocks or external events), or
MPC555
/ MPC556
MOTOROLA 15-13
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-14
USERS MANUAL
8-bit Clock Counter Clock Clock input pin (MDA11/MDA13) Edge Detect Clock Select Clock Enable Clock Prescaler
Request Bus
Flag
MMCSMSCR
PINC
CLS0
CLS1
MMCSMCNT Load
Load Control
Overflow
MMCSMSCR
PINL
EDGN
EDGP
MIOB
Figure 15-4 MMCSM Block Diagram 15.10.1 MIOS Modulus Counter Submodule (MMCSM) Registers Each of the two MMCSM submodules in the MPC555 / MPC556 includes the register set shown in Table 15-11. Table 15-11 MMCSM Address Map
Address Register MMCSM6 0x30 6030 0x30 6032 MMCSM6 Up-Counter Register (MMCSMCNT) See Table 15-12 for bit descriptions. MMCSM6 Modulus Latch Register (MMCSMML) See Table 15-13 for bit descriptions. MMCSM6 Status/Control Register Duplicated (MMCSMSCRD) See 15.10.1.3 MMCSM Status/Control Register (Duplicated) for bit descriptions. MMCSM6 Status/Control Register (MMCSMSCR) MMCSM22 0x30 60B0 0x30 60B2 0x30 60B4 0x30 60B6 MMCSM Up-Counter Register (MMCSMCNT) MMCSM Modulus Latch Register (MMCSMML) MMCSM Status/Control Register Duplicated (MMCSMSCRD) MMCSM Status/Control Register (MMCSMSCR)
MPC555
/ MPC556
MOTOROLA 15-15
USERS MANUAL
U = Unaffected by reset
Bit(s) 0:15
Name CNT
Description Counter value. These read/write data bits represent the 16-bit value of the up-counter. CNT contains the value that is driven onto the 16-bit counter bus.
15.10.1.2 MMCSM Modulus Latch Register (MMCSMML) The MMCSMML is a read/write register containing the 16-bit value of the up-counter. MMCSMML MMCSM Modulus Latch Register
MSB 0 1 2 3 4 5 6 7 ML RESET: U U U U U U U U U U U U U U U U 8 9 10 11 12 13
U = Unaffected by reset
15.10.1.3 MMCSM Status/Control Register (Duplicated) The MMCSMSCRD and the MMCSMSCR are the same registers accessed at two different addresses. Reading or writing to one of these two addresses has exactly the same effect. NOTE The user should not write directly to the address of the MMCSMSCRD. This registers address may be reserved for future use and should not be accessed by the software to assure future software compatibility.
MPC555
/ MPC556
MOTOROLA 15-16
USERS MANUAL
RESET: 0 0 0 0 0 0 U U U U U U U U
15.10.1.4 MMCSM Status/Control Register (MMCSMSCR) This register contains both read-only status bits and read/write control bits. MMCSMSCR MMCSM Status/Control Register 0x30 6036 0x30 60B6
9 10 11 CP 12 13 14 LSB 15
MSB 0 PINC
1 PINL
5 CLS
RESET: 0 0 0 0 0 0 U U U U U U U U
3:4
EDGN, EDGP
5:6
CLS
8:15
CP
MPC555
/ MPC556
MOTOROLA 15-17
USERS MANUAL
15.11 MIOS Double Action Submodule (MDASM) The MIOS double action submodule (MDASM) provides two consecutive 16-bit input captures or two consecutive 16-bit output compare functions that can occur automatically without software intervention. The input edge detector is programmable to trigger the capture function to occur on the desired edge. The output flip-flop is set by one of the output compares and is reset by the other one. In all modes except disable mode, an optional interrupt is available to the software. Software selection is provided to select which of the incoming 16-bit counter buses is used for the input capture or the output compare. The MDASM has six different software selectable modes: Disable mode Pulse width measurement Period measurement Input capture mode Single pulse generation Continuous pulse generation The MDASM has three data registers that are accessible to the software from the various modes. For some of the modes, two of the registers are cascaded together to provide double buffering. The value in one register is transferred to the other register automatically at the correct time so that the minimum pulse (measurement or generation) is just one 16-bit counter bus count. Refer to Table 15-36 for the MDASM relative I/O pin implementation.
MPC555
/ MPC556
MOTOROLA 15-18
USERS MANUAL
FORCA FORCB
Counter Bus Select
BSL1 BSL0
WOR
PIN
16-bit Comparator A
Output Flip-Flop
Output Buffer
I/O Pin
16-bit Register A
EDPOL
FLAG
16-bit Comparator B
Figure 15-5 MDASM Block Diagram 15.11.1 MIOS Double Action Submodule (MDASM) Registers One set of registers is associated with each MDASM submodule. The base address of the particular submodule is shown in the table below.
MPC555
/ MPC556
MOTOROLA 15-19
USERS MANUAL
0x30 605A
0x30 605C
0x30 605E
MPC555
/ MPC556
MOTOROLA 15-20
USERS MANUAL
15.11.1.1 MDASM Data A Register MDASMAR is the data register associated with channel A. Its use varies with the mode of operation: In the DIS mode, MDASMAR can be accessed to prepare a value for a subsequent mode selection In the IPWM mode, MDASMAR contains the captured value corresponding to the trailing edge of the measured pulse In the IPM and IC modes, MDASMAR contains the captured value corresponding to the most recently detected dedicated edge (rising or falling edge) In the OCB and OCAB modes, MDASMAR is loaded with the value corresponding to the leading edge of the pulse to be generated. Writing to MDASMAR in the OCB and OCAB modes also enables the corresponding channel A comparator until the next successful comparison. In the OPWM mode, MDASMAR is loaded with the value corresponding to the leading edge of the PWM pulse to be generated MDASMAR MDASM Data A Register
MSB 0 1 2 3 4 5 6 7 AR RESET: U U U U U U U U U U U U U U U U 8 9 10 11 12
0x30 6058*
13 14 LSB 15
* Refer to Table 15-16 for a complete list of all the base addresses for the MDASM registers.
15.11.1.2 MDASM Data B Register (MDASMBR) MDASMBR is the data register associated with channel B. Its use varies with the mode of operation. Depending on the mode selected, software access is to register B1 or register B2.
MPC555
/ MPC556
MOTOROLA 15-21
USERS MANUAL
0x30 605A*
13 14 LSB 15
* Refer to Table 15-16 for a complete list of all the base addresses for the MDASM registers.
15.11.1.3 MDASM Status/Control Register (Duplicated) The MDASMSCRD and the MDASMSCR are the same registers accessed at two different addresses. Reading or writing to either of these two addresses has exactly the same effect. NOTE The user should not write directly to the address of the MDASMSCRD. This registers address may be reserved for future use and should not be accessed by the software to assure future software compatibility. MDASMSCRD MDASM Status/Control Register (Duplicated)
MSB 0 PIN 1 WOR 2 FREN 3 0 4 EDPOL 5 6 7 8 9 BSL 10 11 0 12
0x30 605C*
13 MOD 14 LSB 15
FORC FORC A B
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
* Refer to Table 15-16 for a complete list of all the base addresses for the MDASM registers.
MPC555
/ MPC556
MOTOROLA 15-22
USERS MANUAL
0x30 605E*
13 MOD 14 LSB 15
FORC FORC A B
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
* Refer to Table 15-16 for a complete list of all the base addresses for the MDASM registers.
WOR
FREN
EDPOL
FORCA
MPC555
/ MPC556
MOTOROLA 15-23
USERS MANUAL
FORCB
9:10
BSL
11
12:15
MOD
MPC555
/ MPC556
MOTOROLA 15-24
USERS MANUAL
PS0 - PS7
Counter Clock
FREN EN TRSP
EN
POL
PIN
DDR
Output Flip-Flop
Output Buffer
LOAD
Request Bus
MIOB
MPC555
/ MPC556
MOTOROLA 15-25
USERS MANUAL
0x30 6006
MPC555
/ MPC556
MOTOROLA 15-26
USERS MANUAL
15.12.1.1 MPWMSM Period Register (MPWMSMPERR) The period register contains the binary value corresponding to the period to be generated.
0x30 6000*
13 14 LSB 15
* Refer to Table 15-19 for a complete list of all the base addresses for the MPWMSM registers.
15.12.1.2 MPWMSM Pulse Width Register (MPWMSMPULR) This register contains the binary value of the pulse width to be generated. MPWMSMPULR MPWMSM Pulse Width Register
MSB 0 1 2 3 4 5 6 7 PUL RESET: U U U U U U U U U U U U U U U U 8 9 10 11 12
0x30 6002*
13 14 LSB 15
* Refer to Table 15-19 for a complete list of all the base addresses for the MPWMSM registers.
MPC555
/ MPC556
MOTOROLA 15-27
USERS MANUAL
0x30 6004*
13 14 LSB 15
* Refer to Table 15-19 for a complete list of all the base addresses for the MPWMSM registers. A write to the MPWMSMCNTR register also writes the same value to MPWMSMPERR.
Bit(s) 0:15
Name CNT
Description Counter. These bits reflect the actual value of the MPWMSM counter.
15.12.1.4 MPWMSM Status/Control Register(MPWMSMCR) This register contains read-only status bits and read/write control bits. MPWMSMSCR MPWMSM Status/Control Register
MSB 0 PIN 1 DDR 2 3 4 POL 5 EN 6 7 8 9 10 11 CP 12
0x30 6006*
13 14 LSB 15
FREN TRSP
RESERVED
RESET: 0 0 0 0 0 0 0 U U U U U U U U
* Refer to Table 15-19 for a complete list of all the base addresses for the MPWMSM registers.
MPC555
/ MPC556
MOTOROLA 15-28
USERS MANUAL
FREN
TRSP
POL
6:7
8:15
CP
MPC555
/ MPC556
MOTOROLA 15-29
USERS MANUAL
MIOB
I/O PIN
Input
Figure 15-7 MPIOSM One-Bit Block Diagram Refer to Table 15-36 for the MPIOSM relative I/O pin implementation. 15.13.1 MIOS 16-bit Parallel Port I/O Submodule (MPIOSM) Registers One set of registers is associated with the MPIOSM submodule. The base addresses of the submodules are given in the table below. Table 15-25 MPIOSM Address Map
Address 0x30 6100 0x30 6102 0x30 6104 0x30 6106 Register MPIOSM Data Register (MPIOSMDR) See Table 15-26 for bit descriptions. MPIOSM Data Direction Register (MPIOSMDDR) See Table 15-27 for bit descriptions. Reserved Reserved
15.13.1.1 MPIOSM Data Register (MPIOSMDR) This read/write register defines the value to be driven to the pad in output mode, for each implemented I/O pin of the MPIOSM.
MPC555
/ MPC556
MOTOROLA 15-30
USERS MANUAL
0x30 6100
14 D1 LSB 15 D0
RESET: U U U U U U U U U U U U U U U U
0:15
D[15:0]
NOTE D[0:4] controls the signals MPIO32B[0:4]. These functions are shared on the MPC555 / MPC556 pins VF[0:2]/MPIO32B[0:2] VFLS[0:1]/MPIO32B[3:4] and can be configured as the alternate function (VF[0:2] and VFLS[0:1]). See 15.8.1.1 MIOS1 Test and Pin Control Register. 15.13.1.2 MPIOSM Data Direction Register (MPIOSMDDR) This read/write register defines the data direction for each implemented I/O pin of the MPIOSM. MPIOSMDDR MPIOSM Data Direction Register
MSB 0 1 2 3 4 5 6 7 8 9 10 DDR5 11 12 13
0x30 6102
14 LSB 15
DDR1 DDR1 DDR1 DDR1 DDR1 DDR10 DDR9 DDR8 DDR7 DDR6 RESET: 0 0 0 0 0 0 0 0 0 0
0:15
15.14 MIOS1 Interrupts The MIOS1 and its submodules are capable of generating interrupts to be transmitted to the CPU via the IMB3. Inside the MIOS1, all the information required for requesting and servicing the interrupts are treated in two different blocks: The interrupt control section (ICS)
MPC555
/ MPC556
MOTOROLA 15-31
USERS MANUAL
Submodule 13
Submodule 2
Enable Register Level n Request IRQ Pend. Register Acknowledge IRQ Level Register
RQSM #0
Figure 15-8 MIOS Interrupt Structure 15.14.1 MIOS Interrupt Request Submodule (MIRSM) Each submodule that is capable of generating an interrupt can assert a flag line when an event occurs. In the MIOS1 configuration, there are eighteen flag lines and two MIRSMs are needed.
MPC555
/ MPC556
MOTOROLA 15-32
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-33
USERS MANUAL
15.14.2.1 MIRSM0 Interrupt Status Register (MIOS1SR0) This register contains flag bits that are set when the associated submodule generates an interrupt. Each bit corresponds to a submodule. When an event occurs in a submodule that activates a flag line, the corresponding flag bit in the status register is set. The status register is read/write, but a flag bit can be reset only if it has previously been read as a one. Writing a one to a flag bit has no effect. When the software intends to clear only one flag bit within a status register, the software must write an 16-bit value of all ones except for a zero in the bit position to be cleared. MIOS1SR0 RQSM0 Interrupt Status Register
MSB 0 1 2 3 4 5 6 7 8 9 FLG6 10 11 12 FLG3 13 FLG2
0x30 6C00
14 FLG1 LSB 15 FLG0
RESERVED
RESERVED
MPC555
/ MPC556
MOTOROLA 15-34
USERS MANUAL
0x30 6C04
14 EN1 LSB 15 EN0
RESERVED
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Name EN15 EN14 EN13 EN12 EN11 EN6 EN3 EN2 EN1 EN0
Description MDASM15 interrupt enable bit MDASM14 interrupt enable bit MDASM13 interrupt enable bit MDASM12 interrupt enable bit MDASM11 interrupt enable bit Reserved MMCSM6 interrupt enable bit Reserved MPWMSM3 interrupt enable bit MPWMSM2 interrupt enable bit MPWMSM1 interrupt enable bit MPWMSM0 interrupt enable bit
15.14.2.3 MIRSM0 Request Pending Register (MIOS1RPR0) This read-only register contains interrupt pending bits. Each bit corresponds to a submodule. A bit that is set indicates that the associated submodule set its flag and that the corresponding enable bit was set. MIOS1RPR0 MIRSM0 Request Pending Register
MSB 0 1 2 3 4 5 6 7 8 9 IRP6 0 0 10 11 12 IRP3 0 13 IRP2 0 IRP15 IRP14 IRP13 IRP12 IRP11 RESET: 0 0 0 0 0 0 0 0 0 0 0 0 RESERVED RESERVED
0x30 6C06
14 IRP1 LSB 15 IRP0
MPC555
/ MPC556
MOTOROLA 15-35
USERS MANUAL
14 15
15.14.3 MIOS Interrupt Request Submodule 1 (MIRSM1) Registers Table 15-32 shows the base addresses of the registers associated with the MIRSM1 submodule. Table 15-32 MIRSM1 Address Map
Address 0x30 6C40 0x30 6C42 0x30 6C44 0x30 6C46 Register MIRSM1 Interrupt Status Register (MIOS1SR1) See Table 15-33 for bit descriptions. Reserved MIRSM1 Interrupt Enable Register (MIOS1ER1) See Table 15-34 for bit descriptions. MIRSM1 Request Pending Register (MIOS1PR1) See Table 15-35 for bit descriptions.
15.14.3.1 MIRSM1 Interrupt Status Register (MIOS1SR1) This register contains flag bits that are set when the associated submodule generates an interrupt. Each bit corresponds to a submodule. MIOS1SR1 MIRSM1 Interrupt Status Register
MSB 0 1 2 3 4 5 6 7 8 9 FLG22 10 11 12 13
0x30 6C40
14 LSB 15
RESERVED
RESERVED
MPC555
/ MPC556
MOTOROLA 15-36
USERS MANUAL
14 15
15.14.3.2 MIRSM1 Interrupt Enable Register (MIOS1ER1) This read/write register contains interrupt enable bits. Each bit corresponds to a submodule. MIOS1ER1 Interrupt Enable Register
MSB 0 EN31 0 1 2 3 4 EN27 0 0 5 6 7 8 9 EN22 0 0 10 11 12 EN19 0 13 EN18 0 EN30 EN129 EN28 0 0 0 RESERVED 0 0 RESERVED 0 0
0x30 6C44
14 EN17 0 LSB 15 EN16 0
RESET:
15.14.3.3 MIRSM1 Request Pending Register (MIOS1RPR1) This read-only register contains interrupt pending bits. Each bit corresponds to a submodule. A bit that is set indicates that the associated submodule set its flag and that the corresponding enable bit was set.
MPC555
/ MPC556
MOTOROLA 15-37
USERS MANUAL
0x30 6C46
14 LSB 15
RESERVED
RESERVED
3 4 5:8 9 10:11 12 13 14 15
15.15 MIOS1 Function Examples The versatility of the MIOS1 timer architecture is based on multiple counters and capture/compare channel units interconnected on 16-bit counter buses. This section includes some typical application examples to show how the submodules can be interconnected to form timing functions. The diagrams used to illustrate these examples show only the blocks utilized for that function. To illustrate the timing range of the MIOS1 in different applications, many of the following paragraphs include time intervals quoted in microseconds and seconds. The assumptions used are that fSYS is at 40 MHz with minimum overall prescaling (50 ns cycle) and with the maximum overall prescaling (32 s cycle). For other fSYS clock cycle rates and prescaler choices, the times mentioned in these paragraphs scale appropriately. 15.15.1 MIOS1 Input Double Edge Pulse Width Measurement To measure the width of an input pulse, the MIOS double action submodule (MDASM) has two capture registers so that only one interrupt is needed after the second edge. The software can read both edge samples and subtract them to get the pulse width. The leading edge sample is double latched so that the software has the time of one full period of the input signal to read the samples to be sure that nothing is lost. Depending on the prescaler divide ratio, pulse width from 50 ns to 6.7 s can be measured. Note that a software option is provided to also generate an interrupt after the first edge.
MPC555
/ MPC556
MOTOROLA 15-38
USERS MANUAL
Clock Select
MPC555
/ MPC556
MOTOROLA 15-39
USERS MANUAL
Edge Detect
Clock Select
16-bit Up-Counter
16-bit Register B1
MPC555
/ MPC556
MOTOROLA 15-40
USERS MANUAL
16-bit Register A
Output Pin
Clock Select
16-bit Up-Counter
MPC555
/ MPC556
MOTOROLA 15-41
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-42
USERS MANUAL
Clock Select
16-bit Up-Counter Load Bus Select 16-bit Compare B Modulus Register Two 16-bit Counter Buses Output Compare Interrupt on Leading Edge Output Flip-Flop
Modulus Control
16-bit Register B2
Figure 15-12 MIOS1 Example: Pulse Width Modulation Output 15.15.5 MIOS1 Input Pulse Accumulation Counting the number of pulses on an input signal is another capability of the MIOS1. Pulse accumulation uses an MMCSM. Since the counters in the counter submodules are software accessible, pulse accumulation does not require the use of an action submodule. The pulse accumulation can operate continuously, interrupting only on binary overflow of the 16-bit counter. When an MMCSM is used, an interrupt can instead be created when the pulse accumulation reaches a preprogrammed value. To do that, the twos complement of the value is put in the modulus register and the interrupt occurs when the counter overflows. 15.16 MIOS1 Configuration The complete MIOS1 submodule and pin configuration is shown in Table 15-36.
MPC555
/ MPC556
MOTOROLA 15-43
USERS MANUAL
BSL=00 BSL=01 BSL=10 BSL=11 MPWMSM MPWMSM MPWMSM MPWMSM Reserved MMCSM 0 1 2 3 4-5 6 CB6 0 6 0x30 6030 Clock In Load In Reserved MDASM MDASM MDASM MDASM MDASM MPWMSM MPWMSM MPWMSM MPWMSM Reserved MMCSM 7-10 11 12 13 14 15 16 17 18 19 20-21 22 CB22 1 6 0x30 60B0 Clock In Load In Reserved MDASM MDASM MDASM MDASM MDASM MPIOSM 23-26 27 28 29 30 31 32 CB6 CB6 CB6 CB6 CB6 CB22 CB22 CB22 CB22 CB22 1 1 1 1 1 11 12 13 14 15 0x30 60D8 0x30 60E0 0x30 60E8 0x30 60F0 0x30 60F8 0x30 6100 Channel I/O Channel I/O Channel I/O Channel I/O Channel I/O GP I/O
1
0 0 0 0
0 1 2 3
MDA11 MDA12
0 0 0 0 0 1 1 1 1
11 12 13 14 15 0 1 2 3
0x30 6058 0x30 6060 0x30 6068 0x30 6070 0x30 6078 0x30 6080 0x30 6088 0x30 6090 0x30 6098
Channel I/O Channel I/O Channel I/O Channel I/O Channel I/O PWM, I/O PWM, I/O PWM, I/O PWM, I/O
MDA13 MDA14
MDA27 MDA28 MDA29 MDA30 MDA31 MPIO32B0 MPIO32B1 MPIO32B2 MPIO32B3 MPIO32B4 MPIO32B5 MPIO32B6 MPIO32B7 MPIO32B8 MPIO32B9
MDA27 MDA28 MDA29 MDA30 MDA31 MPIO32B0 MPIO32B1 MPIO32B2 MPIO32B3 MPIO32B4 MPIO32B5 MPIO32B6 MPIO32B7 MPIO32B8 MPIO32B9 VF0 VF1 VF2 VFLS0 VFLS1
MPC555
/ MPC556
MOTOROLA 15-44
USERS MANUAL
BSL=00 BSL=01 BSL=10 BSL=11 GP I/O GP I/O GP I/O GP I/O GP I/O GP I/O Reserved 33-255 256 257 258 259 384-391 392-399 400-511 0x30 6C00 0x30 6C40 0x30 6810 0x30 6800 MPIO32B10 MPIO32B11 MPIO32B12 MPIO32B13 MPIO32B14 MPIO32B15 MPIO32B10 MPIO32B11 MPIO32B12 MPIO32B13 MPIO32B14 MPIO32B15
MPC555
/ MPC556
MOTOROLA 15-45
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 15-46
USERS MANUAL
IMB 1. In the MPC555 / MPC556, the CNTX1 and CNRX1 signals are not available.
Figure 16-1 TouCAN Block Diagram 16.1 Features Each TouCAN module provides these features: Full implementation of CAN protocol specification, version 2.0 A/B Standard data and remote frames (up to 109 bits long)
MPC555 / MPC556 USERS MANUAL CAN 2.0B CONTROLLER MODULE MOTOROLA 16-1
MPC555
/ MPC556
MOTOROLA 16-2
USERS MANUAL
CAN STATION 1
CAN STATION 2
CAN STATION n
CAN SYSTEM
TRANSCEIVER
1. In the MPC555, the CNTX1 and CNRX1 signals are not available.
Figure 16-2 Typical CAN Network Each CAN station is connected physically to the CAN bus through a transceiver. The transceiver provides the transmit drive, waveshaping, and receive/compare functions required for communicating on the CAN bus. It can also provide protection against damage to the TouCAN caused by a defective CAN bus or a defective CAN station. 16.3 TouCAN Architecture The TouCAN module uses a flexible design that allows each of its 16 message buffers to be designated either a transmit (Tx) buffer or a receive (Rx) buffer. In addition, to reduce the CPU overhead required for message handling, each message buffer is assigned an interrupt flag bit to indicate that the transmission or reception completed successfully. 16.3.1 TX/RX Message Buffer Structure Figure 16-3 displays the extended (29-bit) ID message buffer structure. Figure 16-4 displays the standard (11-bit) ID message buffer structure.
MPC555
/ MPC556
MOTOROLA 16-3
USERS MANUAL
MSB 0 0x0 0x2 0x4 0x6 0x8 0xA 0xC 0xE DATA BYTE 0 DATA BYTE 2 DATA BYTE 4 DATA BYTE 6 RESERVED
1
LSB 7 8 CODE SRR ID[14-0] DATA BYTE 1 DATA BYTE 3 DATA BYTE 5 DATA BYTE 7 IDE 11 12 LENGTH ID[17-15] 15 CONTROL/STATUS ID_HIGH RTR ID_LOW
NOTES: 1. The reading of a reserved location in memory may cause an RCPU exception.
MSB 0 0x0 0x2 0x4 0x6 0x8 0xA $C 0xE TIME STAMP ID[28:18] DATA BYTE 0 DATA BYTE 2 DATA BYTE 4 DATA BYTE 6 RESERVED1 7 8 CODE RTR 0 16-BIT TIME STAMP DATA BYTE 1 DATA BYTE 3 DATA BYTE 5 DATA BYTE 7 11 12 LENGTH 0 0
NOTES: 1. The reading of a reserved location in memory may cause an RCPU exception.
Figure 16-4 Standard ID Message Buffer Structure 16.3.1.1 Common Fields for Extended and Standard Format Frames Table 16-1 describes the message buffer fields that are common to both extended and standard identifier format frames.
MPC555
/ MPC556
MOTOROLA 16-4
USERS MANUAL
Tx Length
Data
Reserved
0b0XY11
NOTES: 1. For Tx message buffers, upon read, the BUSY bit should be ignored.
NOTES: 1. When a matching remote request frame is detected, the code for such a message buffer is changed to be 1110.
MPC555
/ MPC556
MOTOROLA 16-5
USERS MANUAL
16.3.1.3 Fields for Standard Format Frames Table 16-5 describes the message buffer fields used only for standard identifier format frames. Table 16-5 Standard Format Frames
Field 16-bit Time Stamp Description The ID LOW word, which is not needed for standard format, is used in a standard format buffer to store the 16-bit value of the free-running timer which is captured at the beginning of the identifier field of the frame on the CAN bus. Contains bits [28:18] of the identifier, located in the ID HIGH word of the message buffer. The four least significant bits in this register (corresponding to the IDE bit and ID[17:15] for an extended identifier message) must all be written as logic zeros to ensure proper operation of the TouCAN. This bit is located in the ID HIGH word of the message buffer; 0 = data frame, 1 = remote frame. If the TouCAN transmits this bit as a one and receives it as a zero, an arbitration loss is indicated. If the TouCAN transmits this bit as a zero and is receives it as a one, a bit error is indicated. If the TouCAN transmits a value and receives a matching response, a successful bit transmission is indicated.
ID[28:18]
RTR
16.3.1.4 Serial Message Buffers To allow double buffering of messages, the TouCAN has two shadow buffers called serial message buffers. The TouCAN uses these two buffers for buffering both received messages and messages to be transmitted. Only one serial message buffer is active at a time, and its function depends upon the operation of the TouCAN at that time. At no time does the user have access to or visibility of these two buffers.
MPC555
/ MPC556
MOTOROLA 16-6
USERS MANUAL
For more details on activation and deactivation of message buffers and the effects on message buffer operation, refer to 16.4 TouCAN Operation. 16.3.1.6 Message Buffer Lock/Release/Busy Mechanism In addition to the activation/deactivation mechanism, the TouCAN also uses a lock/release/busy mechanism to ensure data coherency during the receive process. The mechanism includes a lock status for each message buffer and uses the two serial message buffers to facilitate frame transfers within the TouCAN. Reading the control/status word of a receive message buffer triggers the lock for that buffer. While locked, a received message cannot be transferred into that buffer from one of the serial message buffers. If a message transfer between the message buffer and a serial message buffer is in progress when the control/status word is read, the BUSY status is indicated in the code field, and the lock is not activated. The user can release the lock on a message buffer in one of two ways. Reading the control/status word of another message buffer locks that buffer, releasing the previously locked buffer. A global release can also be performed on any locked message buffer by reading the free-running timer. Once a lock is released, any message transfers between a serial message buffer and a message buffer that were delayed due to that buffer being locked will take place. For more details on the message buffer locking mechanism, and the effects on message buffer operation, refer to 16.4 TouCAN Operation. 16.3.2 Receive Mask Registers The receive mask registers are used as acceptance masks for received frame IDs. The following masks are defined: A global mask, used for receive buffers 0-13 Two separate masks for buffers 14 and 15 The value of the mask registers should not be changed during normal operation. If the mask register data is changed after the masked identifier of a received message is
MPC555
/ MPC556
MOTOROLA 16-7
USERS MANUAL
Table 16-7 shows mask examples for normal and extended messages. Refer to 16.7 Programmers Model for more information on Rx mask registers.
NOTES: 1. Match for extended format (MB3). 2. Match for standard format (MB2). 3. No match for MB3 because of ID0. 4. No match for MB2 because of ID28. 5. No match for MB3 because of ID28, match for MB14. 6. No match for MB14 because of ID27. 7. Match for MB14.
16.3.3 Bit Timing The TouCAN module uses three 8-bit registers to set up the bit timing parameters required by the CAN protocol. Control registers one and two (CANCTRL1, CANCTRL2) contain the PROPSEG, PSEG1, PSEG2, and the RJW fields which allow the user to configure the bit timing parameters. The prescaler divide register (PRESDIV) allows the user to select the ratio used to derive the S-clock from the IMB clock. The time
MPC555
/ MPC556
MOTOROLA 16-8
USERS MANUAL
16
16.3.3.1 Configuring the TouCAN Bit Timing The following considerations must be observed when programming bit timing functions. If the programmed PRESDIV value results in a single IMB clock per one time quantum, then the PSEG2 field in CANCTRL2 register must not be programmed to zero. If the programmed PRESDIV value results in a single IMB clock per one time quantum, then the information processing time (IPT) equals three time quanta; otherwise it equals two time quanta. If PSEG2 equals two, then the TouCAN transmits one time quantum late relative to the scheduled sync segment. If the prescaler and bit timing control fields are programmed to values that result in fewer than 10 IMB clock periods per CAN bit time and the CAN bus loading is 100%, then any time the rising edge of a start-of-frame (SOF) symbol transmitted by another node occurs during the third bit of the intermission between messages, the TouCAN may not be able to prepare a message buffer for transmission in time to begin its own transmission and arbitrate against the message which transmitted the early SOF. The TouCAN bit time must be programmed to be greater than or equal to nine IMB clocks, or correct operation is not guaranteed. 16.3.4 Error Counters The TouCAN has two error counters, the transmit (Tx) error counter and the receive (Rx) error counter. Refer to 16.7 Programmers Model for more information on error counters.The rules for increasing and decreasing these counters are described in the CAN protocol, and are fully implemented in the TouCAN. Each counter has the following features: 8-bit up/down-counter Increment by eight (Rx error counter also increments by one) Decrement by one Avoid decrement when equal to zero
MPC555
/ MPC556
MOTOROLA 16-9
USERS MANUAL
If the value of the Tx error counter or Rx error counter increments to a value greater than or equal to 128, the fault confinement state (FCS[1:0]) field in the error status register is updated to reflect an error passive state. If the TouCAN is in an error passive state, and either the Tx error counter or Rx error counter decrements to a value less than or equal to 127 while the other error counter already satisfies this condition, the FCS[1:0] field in the error status register is updated to reflect an error active state. If the value of the Tx error counter increases to a value greater than 255, the FCS[1:0] field in the error status register is updated to reflect a bus off state, and an interrupt may be issued. The value of the Tx error counter is reset to zero. If the TouCAN is in the bus off state, the Tx error counter and an additional internal counter are cascaded to count 128 occurrences of 11 consecutive recessive bits on the bus. To do this, the Tx error counter is first reset to zero, and then the internal counter begins counting consecutive recessive bits. Each time the internal counter counts 11 consecutive recessive bits, the Tx error counter is incremented by one and the internal counter is reset to zero. When the Tx error counter reaches the value of 128, the FCS[1:0] field in the error status register is updated to be error active, and both error counters are reset to zero. Any time a dominant bit is detected following a stream of less than 11 consecutive recessive bits, the internal counter resets itself to zero but does not affect the Tx error counter value. If only one node is operating in a system, the Tx error counter is incremented with each message it attempts to transmit, due to the resulting acknowledgment errors. However, acknowledgment errors never cause the TouCAN to change from the error passive state to the bus off state. If the Rx error counter increments to a value greater than 127, it stops incrementing, even if more errors are detected while being a receiver. After the next successful message reception, the counter is reset to a value between 119 and 127, to enable a return to the error active state. 16.3.5 Time Stamp The value of the free-running 16-bit timer is sampled at the beginning of the identifier field on the CAN bus. For a message being received, the time stamp is stored in the time stamp entry of the receive message buffer at the time the message is written into
MPC555
/ MPC556
MOTOROLA 16-10
USERS MANUAL
MPC555
MOTOROLA 16-11
USERS MANUAL
a. At this point, the TouCAN attempts to synchronize with the CAN bus NOTE In both the transmit and receive processes, the first action in preparing a message buffer must be to deactivate the buffer by setting its code field to the proper value. This step is mandatory to ensure data coherency. 16.4.3 Transmit Process The transmit process includes preparation of a message buffer for transmission, as well as the internal steps performed by the TouCAN to decide which message to transmit. For the user, this involves loading the message and ID to be transmitted into a message buffer and then activating that buffer as an active transmit buffer. Once this is done, the TouCAN performs all additional steps necessary to transmit the message onto the CAN bus. The user should prepare or change a message buffer for transmission by executing the following steps. 1. Write the control/status word to hold the transmit buffer inactive (code = 0b1000) 2. Write the ID_HIGH and ID_LOW words 3. Write the data bytes 4. Write the control/status word (active Tx code, Tx length) NOTE Steps one and four are mandatory to ensure data coherency. Once an active transmit code is written to a transmit message buffer, that buffer begins participating in an internal arbitration process as soon as the receiver senses that the CAN bus is free, or at the inter-frame space. If there are multiple messages awaiting transmission, this internal arbitration process selects the message buffer from which the next frame is transmitted.
MPC555
/ MPC556
MOTOROLA 16-12
USERS MANUAL
/ MPC556
MOTOROLA 16-13
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 16-14
USERS MANUAL
/ MPC556
MOTOROLA 16-15
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 16-16
USERS MANUAL
/ MPC556
MOTOROLA 16-17
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 16-18
USERS MANUAL
The other three interrupt sources (bus off, error and wake up) act in the same way, and have flag bits located in the error and status register (ESTAT). The bus off and error interrupt mask bits (BOFFMSK and ERRMSK) are located in CANCTRL0, and the wake up interrupt mask bit (WAKEMSK) is located in the module configuration register. Refer to 16.7 Programmers Model for more information on these registers. The TouCAN module is capable of generating one of the 32 possible interrupt levels on the IMB3. The 32 interrupt levels are time multiplexed on the IMB3 IRQ[0:7] lines. All interrupt sources place their asserted level on a time multiplexed bus during four different time slots, with eight levels communicated per slot. The ILBS[0:1] signals indicate which group of eight are being driven on the interrupt request lines. Table 16-9 Interrupt Levels
ILBS[0:1] 00 01 10 11 Levels 0:7 8:15 16:23 24:31
The level that the TouCAN will drive onto IRQ[7:0] is programmed in the three interrupt request level (IRL) bits located in the interrupt configuration register. The two ILBS bits in the ICR register determine on which slot the TouCAN should drive its interrupt signal. Under the control of ILBS, each interrupt request level is driven during the time multiplexed bus during one of four different time slots, with eight levels communicated per time slot. No hardware priority is assigned to interrupts. Furthermore, if more than one source on a module requests an interrupt at the same level, the system software must assign a priority to each source requesting at that level. Figure 16-5 displays the interrupt levels on IRQ with ILBS.
MPC555
/ MPC556
MOTOROLA 16-19
USERS MANUAL
IMB3 CLOCK
ILBS [1:0]
00
01
10
11
00
01
10
11
IRQ 7:0
IRQ 15:8
IRQ 23:16
IRQ 31:24
IRQ 7:0
16.7 Programmers Model Table 16-10 shows the TouCAN address map. The lowercase x appended to each register name represents A or B for the TouCAN_A or TouCAN_B module, respectively. Refer to 1.3 MPC555 / MPC556 Address Map to locate each TouCAN module in the MPC555 / MPC556 address map. The column labeled Access indicates the privilege level at which the CPU must be operating to access the register. A designation of S indicates that supervisor mode is required. A designation of S/U indicates that the register can be programmed for either supervisor mode access or unrestricted access. The address space for each TouCAN module is split, with 128 bytes starting at the base address, and an extra 256 bytes starting at the base address +128. The upper 256 are fully used for the message buffer structures. Of the lower 128 bytes, some are not used. Registers with bits marked as reserved should always be written as logic 0. Typically, the TouCAN control registers are programmed during system initialization, before the TouCAN becomes synchronized with the CAN bus. The configuration registers can be changed after synchronization by halting the TouCAN module. This is done by setting the HALT bit in the TouCAN module configuration register (CANMCR). The TouCAN responds by asserting the CANMCR NOTRDY bit. Additionally, the control registers can be modified while the MCU is in background debug mode. NOTE The TouCAN has no hard-wired protection against invalid bit/field programming within its registers. Specifically, no protection is provided if the programming does not meet CAN protocol requirements.
MPC555
/ MPC556
MOTOROLA 16-20
USERS MANUAL
TouCAN Module Configuration Register (TCNMCR_x) See Table 16-11 for bit descriptions. TouCAN Test Register (CANTCR_x) TouCAN Interrupt Register (CANICR_x) Control Register 0 (CANCTRL0_x) See Table 16-13 and Table 16-16 for bit descriptions. Control and Prescaler Divider Register (PRESDIV_x) See Table 16-17 and Table 16-18 for bit descriptions.
S/U
S/U
0x30 7088, 0x30 7488 0x30 708A, 0x30 748A 0x30 708C, 0x30 748C 0x30 708E, 0x30 748E 0x30 7090, 0x30 7490 0x30 7092, 0x30 7492 0x30 7094, 0x30 7494 0x30 7096, 0x30 7496 0x30 7098, 0x30 7498 0x30 709A, 0x30 749A 0x30 709C, 0x30 749C 0x30 709E, 0x30 749E 0x30 70A0, 0x30 74A0 0x30 70A2, 0x30 74A2 0x30 70A4, 0x30 74A4 0x30 70A6, 0x30 74A6
S/U
Free-Running Timer Register (TIMER_x) See Table 16-19 for bit descriptions.
Reserved
Receive Global Mask High (RXGMSKHI_x) See Table 16-20 for bit descriptions. Receive Global Mask Low (RXGMSKLO_x) See Table 16-20 for bit descriptions. Receive Buffer 14 Mask High (RX14MSKHI_x) See 16.7.10 Receive Buffer 14 Mask Registers for bit descriptions. Receive Buffer 14 Mask Low (RX14MSKLO_x) See 16.7.10 Receive Buffer 14 Mask Registers for bit descriptions. Receive Buffer 15 FMask High (RX15MSKHI_x) See 16.7.11 Receive Buffer 15 Mask Registers for bit descriptions. Receive Buffer 15 Mask Low (RX15MSKLO_x) See 16.7.11 Receive Buffer 15 Mask Registers for bit descriptions.
Reserved
Error and Status Register (ESTAT_x) See Table 16-21 for bit descriptions. Interrupt Masks (IMASK_x) See Table 16-24 for bit descriptions. Interrupt Flags (IFLAG_x) See Table 16-25 for bit descriptions. Receive Error Counter (RXECTR_x) See Table 16-26 for bit descriptions.
S/U
MPC555
/ MPC556
MOTOROLA 16-21
USERS MANUAL
S/U
MBUFF01 TouCAN_A Message Buffer 0. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF11 TouCAN_A Message Buffer 1. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF21 TouCAN_A Message Buffer 2. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF31 TouCAN_A Message Buffer 3. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF41 TouCAN_A Message Buffer 4. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF51 TouCAN_A Message Buffer 5. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF61 TouCAN_A Message Buffer 6. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF71 TouCAN_A Message Buffer 7. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF81 TouCAN_A Message Buffer 8. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF91 TouCAN_A Message Buffer 9. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF101 TouCAN_A Message Buffer 10. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF111 TouCAN_A Message Buffer 11. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF121 TouCAN_A Message Buffer 12. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF131 TouCAN_A Message Buffer 13. See Table 16-3 and Table 16-4 for message buffer definitions.
S/U
S/U
S/U
S/U
S/U
S/U
S/U
S/U
S/U
S/U
S/U
S/U
S/U
MPC555
/ MPC556
MOTOROLA 16-22
USERS MANUAL
S/U
MBUFF141 TouCAN_A Message Buffer 14. See Table 16-3 and Table 16-4 for message buffer definitions. MBUFF151 TouCAN_A Message Buffer 15. See Table 16-3 and Table 16-4 for message buffer definitions.
S/U
NOTES: 1. The last word of each of the the MBUFF arrays (address 0x....E) is reserved and may cause a RCPU exception if read.
0x30 7102, 0x30 7502, 0x30 7C02 0x307104, 0x307504 , 0x30 7C04 0x30 7106, 0x30 7506 , 0x30 7C06 0x30 710C, 0x30 750C, 0x30 7C0C 0x30710E, 0x30750E , 0x30 7C0E 0x30 7110, 0x30 7510, 0x30 7C10
Message Buffer 15
MPC555
/ MPC556
MOTOROLA 16-23
USERS MANUAL
RESERVED
RESET: 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 16-24
USERS MANUAL
STOP
FRZ
HALT
NOTRDY
WAKEMSK
FRZACK
SUPV
MPC555
/ MPC556
MOTOROLA 16-25
USERS MANUAL
10
APS
11
STOPACK
12:15
16.7.2 TouCAN Test Configuration Register CANTCR TouCAN Test Configuration Register This register is used for factory test only. 16.7.3 TouCAN Interrupt Configuration Register CANICR TouCAN Interrupt Configuration Register
MSB 0 1 2 RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 3 4 5 6 IRL 7 8 ILBS 9 10 11 12 13
RESERVED
MPC555
/ MPC556
MOTOROLA 16-26
USERS MANUAL
8:9
ILBS
10:15
RESERVED
RXMOD
TXMODE
CANCTRL1
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 16-27
USERS MANUAL
NOTES: 1. Full CMOS drive indicates that both dominant and recessive levels are driven by the chip. 2. The CNTX1 signal is not available on the MPC555 / MPC556. 3. Open drain drive indicates that only a dominant level is driven by the chip. During a recessive level, the CNTX0 and CNTX1 pins are disabled (three stated), and the electrical level is achieved by external pull-up/pull-down devices. The assertion of both Tx mode bits causes the polarity inversion to be cancelled (open drain mode forces the polarity to be positive).
CANCTRL0 RESET: 0 0 0 0 0 0 0 0
TSYNC LBUF
MPC555
/ MPC556
MOTOROLA 16-28
USERS MANUAL
SAMP
10
TSYNC
PRESDIV RESET: 0 0 0 0 0 0 0 0 0 0 0
CANCTRL2
MPC555
/ MPC556
MOTOROLA 16-29
USERS MANUAL
0:7
PRESDIV
The reset value of PRESDIV is 0x00, which forces the S-clock to default to the same frequency as the IMB clock. The valid programmed values are 0 through 255. 8:15 CANCTRL2 See Table 16-18.
PRESDIV RESET: 0 0 0 0 0 0 0 0 0
8:9
RJW
MPC555
/ MPC556
MOTOROLA 16-30
USERS MANUAL
0:15
TIMER
16.7.9 Receive Global Mask Registers RXGMSKHI Receive Global Mask Register High RXGMSKLO Receive Global Mask Register Low
MSB 0 1 2 3 4 5 6 7 8 9 10
MID28 MID27 MID26 MID25 MID24 MID23 MID22 MID21 MID20 MID19 MID18 RESET: 1 16 1 17 1 18 1 19 1 20 1 21 MID9 1 22 MID8 1 23 MID7 1 24 MID6 1 25 MID5 1 26 MID4
0 27 MID3
1 28 MID2
1 29 MID1
1 30 MID0
1 LSB 31 0
MPC555
/ MPC556
MOTOROLA 16-31
USERS MANUAL
16.7.10 Receive Buffer 14 Mask Registers RX14MSKHI Receive Buffer 14 Mask Register High 0x30 7094, 0x30 7494 RX14MSKLO Receive Buffer 14 Mask Register Low 0x30 7096, 0x30 7496 The receive buffer 14 mask registers have the same structure as the receive global mask registers and are used to mask buffer 14. 16.7.11 Receive Buffer 15 Mask Registers RX15MSKHI Receive Buffer 15 Mask Register High 0x30 7098, 0x30 7498 RX15MSKLO Receive Buffer 15 Mask Register Low 0x30 709A, 0x30 749A The receive buffer 15 mask registers have the same structure as the receive global mask registers and are used to mask buffer 15. 16.7.12 Error and Status Register ESTAT Error and Status Register
MSB 0 1 2 ACK ERR 3 CRC ERR 4 FORM ERR 5 STUFF ERR 6 7 8 9 TX/RX 10 11 FCS 12 0 13 BOFF INT
BITERR RESET: 0 0
This register reflects various error conditions, general status, and has the enable bits for three of the TouCAN interrupt sources. The reported error conditions are those which have occurred since the last time the register was read. A read clears these bits to zero.
MPC555
/ MPC556
MOTOROLA 16-32
USERS MANUAL
ACKERR
CRCERR
FORMERR
STUFERR
TXWARN
RXWARN
IDLE
TX/RX
12
13
BOFFINT
MPC555
/ MPC556
MOTOROLA 16-33
USERS MANUAL
14
ERRINT
15
WAKEINT
IMASKH RESET: 0 0 0 0 0 0 0 0 0 0 0
IMASKL
MPC555
/ MPC556
MOTOROLA 16-34
USERS MANUAL
IFLAGH RESET: 0 0 0 0 0 0 0 0 0 0 0
IFLAGL
0:7, 8:15
IFLAGH, IFLAGL
16.7.15 Error Counters RXECTR Receive Error Counter TXECTR Transmit Error Counter
MSB 0 1 2 3 4 5 6 7 8 9 10
RXECTR RESET: 0 0 0 0 0 0 0 0 0 0 0
TXECTR
MPC555
/ MPC556
MOTOROLA 16-35
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 16-36
USERS MANUAL
The MPC555 / MPC556 contains two independent TPU3s. Figure 17-1 is a simplified block diagram of a single TPU3.
HOST INTERFACE
CONTROL
SCHEDULER
SERVICE REQUESTS
TIMER CHANNELS
CHANNEL 0 CHANNEL SYSTEM CONFIGURATION TCR1 T2CLK PIN TCR2 PINS MICROENGINE CHANNEL CONTROL CHANNEL 1
IMB3
DATA
CONTROL STORE
EXECUTION UNIT
CHANNEL 15
Figure 17-1 TPU3 Block Diagram 17.1 Overview The TPU3 can be viewed as a special-purpose microcomputer that performs a programmable series of two operations, match and capture. Each occurrence of either operation is called an event. A programmed series of events is called a function. TPU functions replace software functions that would require CPU interrupt service.
MOTOROLA 17-1
MPC555
/ MPC556
MOTOROLA 17-2
USERS MANUAL
The CPU specifies function parameters by writing to the appropriate RAM address. The TPU3 reads the RAM to determine channel operation. The TPU3 can also store information to be read by the CPU in the parameter RAM. Detailed descriptions of the parameters required by each time function are beyond the scope of this manual. Refer to the TPU Reference Manual (TPURM/AD) and the Motorola TPU Literature Package (TPULITPAK/D) for more information. 17.3 TPU Operation All TPU3 functions are related to one of the two 16-bit time bases. Functions are synthesized by combining sequences of match events and capture events. Because the primitives are implemented in hardware, the TPU3 can determine precisely when a match or capture event occurs, and respond rapidly. An event register for each channel provides for simultaneous match/capture event occurrences on all channels. When a match or input capture event requiring service occurs, the affected channel generates a service request to the scheduler. The scheduler determines the priority of the request and assigns the channel to the microengine at the first available time. The microengine performs the function defined by the content of the control store or emulation RAM, using parameters from the parameter RAM. 17.3.1 Event Timing Match and capture events are handled by independent channel hardware. This provides an event accuracy of one time-base clock period, regardless of the number of channels that are active. An event normally causes a channel to request service. The time needed to respond to and service an event is determined by which channels and the number of channels requesting service, the relative priorities of the channels requesting service, and the microcode execution time of the active functions. Worstcase event service time (latency) determines TPU3 performance in a given application. Latency can be closely estimated. For more information, refer to the TPU Reference Manual (TPURM/AD). 17.3.2 Channel Orthogonality Most timer systems are limited by the fixed number of functions assigned to each pin. All TPU3 channels contain identical hardware and are functionally equivalent in operMPC555
/ MPC556
MOTOROLA 17-3
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 17-4
USERS MANUAL
IMB3 CLOCK
ILBS[1:0]
00
01
10
11
00
01
10
11
IMB3 IRQ[7:0]
IRQ 7:0
IRQ 15:8
IRQ 23:16
IRQ 31:24
IRQ 7:0
Figure 17-2 TPU3 Interrupt Levels 17.3.8 Prescaler Control for TCR1 Timer count register 1 (TCR1) is clocked from the output of a prescaler. The following fields control TCR1: The PSCK and TCR1P fields in TPUMCR The DIV2 field in TPUMCR2 The EPSCKE and EPSCK fields in TPUMCR3. The rate at which TCR1 is incremented is determined as follows: The user selects either the standard prescaler (by clearing the enhanced prescaler enable bit, EPSCKE, in TPUMCR3) or the enhanced prescaler (by setting EPSCKE).
MPC555
/ MPC556
MOTOROLA 17-5
USERS MANUAL
The output of either the standard prescaler or the enhanced prescaler is then divided by 1, 2, 4, or 8, depending on the value of the TCR1P field in the TPUMCR. Table 17-2 TCR1 Prescaler Values
TCR1P Value 0b00 0b01 0b10 0b11 Divide by 1 2 4 8
If the DIV2 bit is one, the TCR1 counter increments at a rate of the internal clock divided by two. If DIV2 is zero, the TCR1 increment rate is defined by the output of the TCR1 prescaler (which, in turn, takes as input the output of either the standard or enhanced prescaler). Figure 17-3 shows a diagram of the TCR1 prescaler control block.
MPC555
/ MPC556
MOTOROLA 17-6
USERS MANUAL
IMB Clock
Prescaler 32 / 4 Enhanced Prescaler 2,4,6,...64 PSCK MUX TCR1 PRESCALER 1,2,4,8 TCR1
EPSCKE
DIV2
Figure 17-3 TCR1 Prescaler Control 17.3.9 Prescaler Control for TCR2 Timer count register 2 (TCR2), like TCR1, is clocked from the output of a prescaler. The T2CG (TCR2 clock/gate control) bit and the T2CSL (TCR2 counter clock edge) bit in TPUMCR determine T2CR2 pin functions. Refer to Table 17-3. Table 17-3 TCR2 Counter Clock Source
T2CSL 0 0 1 1 T2CG 0 1 0 1 TCR2 Clock Rise transition T2CLK Gated IMB clock Fall transition T2CLK Rise & fall transition T2CLK
The function of the T2CG bit is shown in Figure 17-4. When T2CG is set, the external T2CLK pin functions as a gate of the DIV8 clock (the TPU3 IMB clock divided by eight). In this case, when the external TCR2 pin is low, the DIV8 clock is blocked, preventing it from incrementing TCR2. When the external TCR2 pin is high, TCR2 is incremented at the frequency of the DIV8 clock. When T2CG is cleared, an external clock from the TCR2 pin, which has been synchronized and fed through a digital filter, increments TCR2. The duration between active edges on the T2CLK clock pin must be at least nine IMB clocks. The TCR2PSCK2 bit in TPUMCR3 determines whether the clock source is divided by two before it is fed into the TCR2 prescaler. The TCR2 field in TPUMCR specifies the value of the prescaler: 1, 2, 4, or 8. Channels using TCR2 have the capability to re-
MPC555
/ MPC556
MOTOROLA 17-7
USERS MANUAL
Clock Source
Pre-divider Prescaler
TCR2
TCR2PSCK2
Figure 17-4 TCR2 Prescaler Control Table 17-4 is a summary of prescaler output (assuming a divide-by-one value for the pre-divider prescaler. Table 17-4 TCR2 Prescaler Control
TCR2 Value 0b00 0b01 0b10 0b11 Internal Clock Divide Ratio TCR2PSCK2 = 0 TCR2PSCK2 = 1 8 8 16 24 32 56 64 120 External Clock Divide Ratio TCR2PSCK2 = 0 TCR2PSCK2 = 1 1 1 2 3 4 7 8 15
17.4 Programming Model The TPU3 memory map contains three groups of registers: System configuration registers Channel control and status registers Development support and test verification registers All registers except the channel interrupt status register (CISR) must be read or written by means of half-word (16-bit) or word (32-bit) accesses. The address space of the TPU3 memory map occupies 512 bytes. Unused registers within the 512-byte address space return zeros when read. Table 17-5 shows the TPU3 address map.
MPC555
/ MPC556
MOTOROLA 17-8
USERS MANUAL
0x30 4008 0x30 4408 0x30 400A 0x30 440A 0x30 400C 0x30 440C 0x30 400E 0x30 440E 0x30 4010 0x30 4410 0x30 4012 0x30 4412 0x30 4014 0x30 4414 0x30 4016 0x30 4416 0x30 4018 0x30 4418 0x30 401A 0x30 441A 0x30 401C 0x30 441C 0x30 401E 0x30 441E 0x30 4020 0x30 4420 0x30 4022 0x30 4422 0x30 4024 0x30 4424 0x30 4026 0x30 4426 0x30 4028 0x30 4428 0x30 402A 0x30 442A 0x30 402C 0x30 442C
MPC555
/ MPC556
MOTOROLA 17-9
USERS MANUAL
0x30 4140 0x30 414F 0x30 4540 0x30 454F 0x30 4150 0x30 415F 0x30 4550 0x30 455F 0x30 4160 0x30 416F 0x30 4560 0x30 456F 0x30 4170 0x30 417F 0x30 4570 0x30 457F 0x30 4180 0x30 418F 0x30 4580 0x30 458F 0x30 4190 0x30 419F 0x30 4590 0x30 459F
0x30 41A0 0x30 41AF Channel 10 Parameter Registers 0x30 45A0 0x30 45AF 0x30 41B0 0x30 41BF Channel 11 Parameter Registers 0x30 45B0 0x30 45BF 0x30 41C0 0x30 41CF Channel 12 Parameter Registers 0x30 45C0 0x30 45CF 0x30 41D0 0x30 41DF Channel 13 Parameter Registers 0x30 45D0 0x30 45DF 0x30 41E0 0x30 41EF Channel 14 Parameter Registers 0x30 45E0 0x30 45EF 0x30 41F0 0x30 41FF 0x30 45F0 0x30 45FF Channel 15 Parameter Registers
17.4.1 TPU Module Configuration Register TPUMCR TPU Module Configuration Register
MSB 0 STOP RESET: 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 2 3 4 5 EMU 6 T2CG 7 STF 8 9 10 TPU3 11 T2CSL 12 13 14
TCR1P
TCR2P
SUPV PSCK
RESERVED
MPC555
/ MPC556
MOTOROLA 17-10
USERS MANUAL
STOP
1:2
TCR1P
3:4
TCR2P
EMU
T2CG
STF
SUPV
PSCK
10
TPU3
MPC555
/ MPC556
MOTOROLA 17-11
USERS MANUAL
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
MOTOROLA 17-12
USERS MANUAL
CLKS
7:8
FRZ
CCL
10
BP
11
BC
12
BH
13
BL
14
BM
15
BT
MPC555
/ MPC556
MOTOROLA 17-13
USERS MANUAL
RESERVED RESET: 0 0 0 0 0 0 0 0
0:7 8
PCBK
10
CHBK
11
SRBK
12 13:15
TPUF
17.4.5 TPU3 Interrupt Configuration Register TICR TPU3 Interrupt Configuration Register
MSB 0 1 2 RESERVED RESET: 0 0 0 0 0 0 0 3 4 5 6 CIRL 7 8 ILBS 9 10 11 12 13 14
RESERVED
MPC555
/ MPC556
MOTOROLA 17-14
USERS MANUAL
8:9
ILBS
10:15
17.4.6 Channel Interrupt Enable Register The channel interrupt enable register (CIER) allows the CPU to enable or disable the ability of individual TPU3 channels to request interrupt service. Setting the appropriate bit in the register enables a channel to make an interrupt service request; clearing a bit disables the interrupt. CIER Channel Interrupt Enable Register
MSB 0 1 2 3 4 5 6 CH 9 7 CH 8 8 CH 7 9 CH 6 10 CH 5 11 CH 4 12 CH 3 13 CH 2 14 CH 1
CH 15 CH 14 CH 13 CH 12 CH 11 CH 10 RESET: 0 0 0 0 0 0
0:15
CH[15:0]
17.4.7 Channel Function Select Registers Encoded 4-bit fields within the channel function select registers specify one of 16 time functions to be executed on the corresponding channel. Encodings for predefined functions will be provided in a subsequent draft of this document.
MPC555
/ MPC556
MOTOROLA 17-15
USERS MANUAL
CH 12
1 CH 11
5 CH 10
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17.4.8 Host Sequence Registers The host sequence field selects the mode of operation for the time function selected on a given channel. The meaning of the host sequence bits depends on the time function specified. Meanings of host sequence bits and host service request bits for predefined time functions will be provided in a subsequent draft of this document.
MPC555
/ MPC556
MOTOROLA 17-16
USERS MANUAL
CH 10
0 CH 7
2 CH 6
4 CH 5
6 CH 4
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
17.4.9 Host Service Request Registers The host service request field selects the type of host service request for the time function selected on a given channel. The meaning of the host service request bits is determined by time function microcode. Refer to the TPU Reference Manual (TPURM/ AD) and the Motorola TPU Literature Package (TPULITPAK/D) for more information. HSRR0 Host Service Request Register 0
MSB 0 CH 15 RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 CH 14 3 4 CH 13 5 6 CH 12 7 8 CH 11 9 10 11 12 CH 9 13 14 CH 8
CH 10
MPC555
/ MPC556
MOTOROLA 17-17
USERS MANUAL
17.4.10 Channel Priority Registers The channel priority registers (CPR1, CPR2) assign one of three priority levels to a channel or disable the channel. CPR0 Channel Priority Register 0
MSB 0 CH 15 RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 CH 14 3 4 CH 13 5 6 CH 12 7 8 CH 11 9 10 11 12 CH 9 13 14 CH 8
CH 10
MPC555
/ MPC556
MOTOROLA 17-18
USERS MANUAL
17.4.11 Channel Interrupt Status Register The channel interrupt status register (CISR) contains one interrupt status flag per channel. Time functions specify via microcode when an interrupt flag is set. Setting a flag causes the TPU3 to make an interrupt service request if the corresponding CIER bit is set. To clear a status flag, read CISR, then write a zero to the appropriate bit. CISR is the only TPU3 register that can be accessed on a byte basis. CISR Channel Interrupt Status Register
MSB 0 1 2 3 4 5 6 CH 9 7 CH 8 8 CH 7 9 CH 6 10 CH 5 11 CH 4 12 CH 3 13 CH 2 14 CH 1
CH 15 CH 14 CH 13 CH 12 CH 11 CH 10 RESET: 0 0 0 0 0 0
17.4.12 Link Register LR Link Register Used for factory test only. 17.4.13 Service Grant Latch Register SGLR Service Grant Latch Register Used for factory test only. 17.4.14 Decoded Channel Number Register DCNR Decoded Channel Number Register Used for factory test only. 0x30 4026, 0x30 4426 0x30 4024, 0x30 4424 0x30 4022, 0x30 4422
MPC555
/ MPC556
MOTOROLA 17-19
USERS MANUAL
ETBANK
Bit(s) 0:6
Name Reserved
Description Divide by 2 control. When asserted, the DIV2 bit, along with the TCR1P bit and the PSCK bit in the TPUMCR, determines the rate of the TCR1 counter in the TPU3. If set, the TCR1 counter increments at a rate of two IMB clocks. If negated, TCR1 increments at the rate determined by control bits in the TCR1P and PSCK fields. 0 = TCR1 increments at rate determined by control bits in the TCR1P and PSCK fields of the TPUMCR register 1 = Causes TCR1 counter to increment at a rate of the IMB clock divided by two
DIV2
Soft reset. The TPU3 performs an internal reset when both the SOFT RST bit in the TPUMCR2 and the STOP bit in TPUMCR are set. The CPU must write zero to the SOFT RST bit to bring the TPU3 out of reset. The SOFT RST bit must be asserted for at least nine clocks. SOFT RST 0 = Normal operation 1 = Puts TPU3 in reset until bit is cleared NOTE: Do not attempt to access any other TPU3 registers when this bit is asserted. When this bit is asserted, it is the only accessible bit in the register. Entry table bank select. This field determines the bank where the microcoded entry table is situated. After reset, this field is 0b00. This control bit field is write once after reset. ETBANK is used when the microcode contains entry tables not located in the default bank 0. To execute the ROM functions on this MCU, ETBANK[1:0] must be 0b0. Refer to Table 17-18. NOTE: This field should not be modified by the programmer unless necessary because of custom microcode.
9:10
ETBANK
11:13
FPSCK
Filter prescaler clock. The filter prescaler clock control bit field determines the ratio between IMB clock frequency and minimum detectable pulses. The reset value of these bits is zero, defining the filter clock as four IMB clocks. Refer to Table 17-19. T2CLK pin filter control. When asserted, the T2CLK input pin is filtered with the same filter clock that is supplied to the channels. This control bit is write once after reset. 0 = Uses fixed four-clock filter 1 = T2CLK input pin filtered with same filter clock that is supplied to the channels Disable TPU3 pins. When the disable TPU3 control pin is asserted, pin TP15 is configured as an input disable pin. When the TP15 pin value is zero, all TPU3 output pins are three-stated, regardless of the pins function. The input is not synchronized. This control bit is write once after reset. 0 = TP15 functions as normal TPU3 channel 1 = TP15 pin configured as output disable pin. When TP15 pin is low, all TPU3 output pins are in a high-impedance state, regardless of the pin function.
14
T2CF
15
DTPU
MPC555
/ MPC556
MOTOROLA 17-20
USERS MANUAL
17.4.16 TPU Module Configuration Register 3 TPUMCR3 TPU Module Configuration Register 3
MSB 0 1 2 3 RESERVED RESET: 0 0 0 0 0 0 0 4 5 6 7 PWOD 8 TCR2 PCK2 9 10 11 12 13 EPSCK 14
EPReSCKE served
PWOD
TCR2 prescaler 2 TCR2PSC 0 = Prescaler clock source is divided by one. K2 1 = Prescaler clock is divided. See divider definitions in Table 17-4. EPSCKE Enhanced pre-scaler enable 0 = Disable enhanced prescaler (use standard prescaler) 1 = Enable enhanced prescaler. IMB clock will be divided by the value in EPSCK field.
MPC555
/ MPC556
MOTOROLA 17-21
USERS MANUAL
17.4.17 TPU3 Test Registers The following TPU3 registers are used for factory test only: Internal scan data register (ISDR, address offset 0x30 402C, 0x30 442C) Internal scan control register (ISCR, address offset 0x30 402E, 0x30 442E) 17.4.18 TPU3 Parameter RAM The channel parameter registers are organized as one hundred 16-bit words of RAM. Channels 0 to 15 have eight parameters. The parameter registers constitute a shared work space for communication between the CPU and the TPU3. The TPU3 can only access data in the parameter RAM. Refer to Table 17-21. Table 17-21 Parameter RAM Address Offset Map1
Channel Number 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 100 500 110 510 120 520 130 530 140 540 150 550 160 560 170 570 180 580 190 590 1A0 5A0 1B0 5B0 1C0 5C0 1D0 5D0 1 102 502 112 512 122 522 132 532 142 542 152 552 162 562 172 572 182 582 192 592 1A2 5A2 1B2 5B2 1C2 5C2 1D2 5D2 2 104 504 114 514 124 524 134 534 144 544 154 554 164 564 174 574 184 585 194 594 1A4 5A4 1B4 5B4 1C4 5C4 1D4 5D4 Parameter 3 106 506 116 516 126 526 136 536 146 546 156 556 166 566 176 576 186 586 196 596 1A6 5A6 1B6 5B6 1C6 5C6 1D6 5D6 4 108 508 118 518 128 528 138 538 148 548 158 558 168 568 178 578 188 588 198 598 1A8 5A8 1B8 5B8 1C8 5C8 1D8 5D8 5 10A 50A 11A 51A 12A 52A 13A 53A 14A 54A 15A 55A 16A 56A 17A 57A 18A 58A 19A 59A 1AA 5AA 1BA 5BA 1CA 5CA 1DA 5DA 6 10C 50C 11C 51C 12C 52C 13C 53C 14C 54C 15C 55C 16C 56C 17C 57C 18C 58C 19C 59C 1AC 5AC 1BC 5BC 1CC 5CC 1DC 5DC 7 10E 50E 11E 51E 12E 52E 13E 53E 14E 54C 15E 55E 16E 56E 17E 57E 18E 58E 19E 59E 1AE 5AE 1BE 5BE 1CE 5CE 1DE 5DE
MPC555
/ MPC556
MOTOROLA 17-22
USERS MANUAL
NOTES: 1. These addresses should be added to 0x30 4000 to derive the complete parameter address.
17.5 Time Functions Descriptions of the MPC555 / MPC556 pre-programmed time functions are shown in APPENDIX D TPU ROM FUNCTIONS.
MPC555
/ MPC556
MOTOROLA 17-23
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 17-24
USERS MANUAL
TPU
TPU
Local Bus
IMB3
IMB3
RAM
RAM
Local Bus
TPU
TPU
RAM Mode
Figure 18-1 DPTRAM Configuration 18.3 Programming Model The DPTRAM module consists of two separately addressable sections. The first is a set of memory-mapped control and status registers used for configuration (DPTMCR, RAMBAR, MISRH, MISRL, MISCNT) and testing (DPTTCR) of the DPTRAM array. The second section is the array itself. All DPTRAM module control and status registers are located in supervisor data space. User reads or writes of these will result in a bus error. When the TPU3 is using the RAM array for microcode control store, none of these control registers have any effect on the operation of the RAM array. All addresses within the 64-byte control block will respond when accessed properly. Unimplemented addresses will return zeros for read accesses. Likewise, unimplemented bits within registers will return zero when read and will not be affected by write operations. Table 18-1 shows the DPTRAM control and status registers. The addresses shown are offsets from the base address for the module. Refer to 1.3 MPC555 / MPC556 Ad-
MPC555
/ MPC556
MOTOROLA 18-2
USERS MANUAL
0x30 0006
0x0000
0x30 0008
0x30 000A
The DPTRAM array occupies the 6-Kbyte block. In the MPC555 / MPC556, the array must be located at the address 0x30 2000. Refer to Figure 1-3 and Figure 18-2.
0x30 2000
Figure 18-2 DPTRAM Memory Map 18.3.1 DPTRAM Module Configuration Register (DPTMCR) This register defines the basic configuration of the DPTRAM module. The DPTMCR contains bits to configure the DPT RAM module for stop operation and for proper access rights to the array. The register also contains the MISC control bits.
MPC555
/ MPC556
MOTOROLA 18-3
USERS MANUAL
0x30 0000
13 14 LSB 15
NOT USED
Reserved
STOP
Only the STOP bit in the DPTMCR may be accessed while the STOP bit is asserted. Accesses to other DPTRAM registers may result in unpredictable behavior. Note also that the STOP bit should be set and cleared independently of the other control bits in this register to guarantee proper operation. Changing the state of other bits while changing the state of the STOP bit may result in unpredictable behavior. Refer to 18.4.4 Stop Operation for more information. Reserved Multiple input signature flag. MISF is readable at any time. This flag bit should be polled by the host to determine if the MISC has completed reading the RAM. If MISF is set, the host should read the MISRH and MISRL registers to obtain the RAM signature. 0 = First signature not ready 1 = MISC has read entire RAM. Signature is latched in MISRH and MISRL and is ready to be read. Multiple input signature enable. MISEN is readable and writable at any time. The MISC will only operate when this bit is set and the MPC555 / MPC556 is in TPU3 emulation mode. When enabled, the MISC will continuously cycle through the RAM addresses, reading each and adding the contents to the MISR. In order to save power, the MISC can be disabled by clearing the MISEN bit. 0 = MISC disabled 1 = MISC enabled Ram area supervisor/user program/data. The RAM array may be placed in supervisor or unrestricted Space. When placed in supervisor space, (RASP = 1), only a supervisor may access the array. If a supervisor program is accessing the array, normal read/write operation will occur. If a user program is attempting to access the array, the access will be ignored and the address may be decoded externally. 0 = Both supervisor and user access to RAM allowed 1 = Supervisor access only to RAM allowed Reserved
1:4
MISF
MISEN
RASP
8:15
18.3.2 DPTRAM Test Register RAMTST Test Register RAMTST is used only during factory testing of the MCU. 0x30 0002
MPC555
/ MPC556
MOTOROLA 18-4
USERS MANUAL
0x30 0004
13 14 LSB 15 RAMDS
Reserved
0:10
A[8:18]
11:14
15
RAMDS
18.3.4 MISR High (MISRH) and MISR Low (MISRL) The MISRH and MISRL together contain the 32-bit RAM signature calculated by the MISC. These registers are read-only and should be read by the host when the MISF bit in the MCR is set. Note that the naming of the D[31:0] bits represents little-endian bit encoding. Exiting TPU3 emulation mode results in the reset of both MISRH and MISRL MISRH Multiple Input Signature Register High
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12
0x30 0006
13 14 LSB 15
MPC555
/ MPC556
MOTOROLA 18-5
USERS MANUAL
0x30 0006
D18 D17 D16
0x30 0008
13 D2 14 D1 LSB 15 D0
18.3.5 MISC Counter (MISCNT) The MISCNT contains the address of the current MISC memory access. This registers is read-only. Note that the naming of the A[31:0] bits represents little-endian bit encoding. Exiting TPU3 emulation mode or clearing the MISEN bit in the DPTMCR results in the reset of this register. MISCNT MISC Counter
MSB 0 1 2 3 A12 4 A11 5 A10 6 A9 7 A8 8 A7 9 A6 10 A5 11 A4 12 A3 13 A2
0x30 000A
14 A1 LSB 15 A0
RESERVED RESET:
18.4 Operation The DPTRAM module has several modes of operation. The following sections describe DPTRAM operation in each of these modes. 18.4.1 Normal Operation In normal operation, the DPTRAM is powered by VDDL and may be accessed via the IMB3 by a bus master. Read or write accesses of 8, 16, or 32 bits are supported. In normal operation, neither TPU3 accesses the array, nor do they have any effect on the operation of the DPTRAM module. 18.4.2 Standby Operation The DPTRAM array uses a separate power supply VDDSRAM to maintain the contents of the DPTRAM array during a power-down phase. When the RAM array is powered by the VDDSRAM pin of the MCU, access to the RAM array is blocked. Data read from the RAM array during this condition cannot be guaranteed. Data written to the DPTRAM may be corrupted if switching occurs during a write operation.
MPC555
/ MPC556
MOTOROLA 18-6
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 18-7
USERS MANUAL
18.4.6 TPU3 Emulation Mode Operation To emulate TPU3 time functions, the user stores the microinstructions required for all time functions to be used, in the RAM array. This must be done with the DPTRAM in its normal operating mode and accessible from the IMB3. After the time functions are stored in the array, the user places one or both of the TPU3 units in emulation mode. The RAM array is then controlled by the TPU3 units and disconnected from the IMB3. To use the DPTRAM for microcode accesses, set the EMU bit in the corresponding TPU3 module configuration register. Through the auxiliary buses, the TPU3 units can access word instructions simultaneously at a rate of up to 40 MHz. When the RAM array is being used by either or both of the TPU3 units, all accesses via the IMB3 are disabled. The control registers have no effect on the RAM array. Accesses to the array are ignored, allowing an external RAM to replace the function of the general-purpose RAM array. The contents of the RAM are validated using a multiple input signature calculator (MISC). MISC reads of the RAM are performed only when the MPC555 / MPC556 is in emulation mode and the MISC is enabled (MISEN = 1 in the DPTMCR). Refer to 17.3.6 Emulation Support for more information in TPU3 and DPTRAM operation in emulation mode. 18.5 Multiple Input Signature Calculator (MISC) The integrity of the RAM data is ensured through the use of a MISC. The RAM data is read in reverse address order and a unique 32-bit signature is generated based on the output of these reads. MISC reads are performed when one of the TPU3 modules does not request back-to-back accesses to the RAM provided that the MISEN bit in the DPTMCR is set. The MISC generates the DPTRAM signature based on the following polynomial: 2 22 31 G(x) = 1 + x + x + x + x / MPC556
MPC555
MOTOROLA 18-8
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 18-9
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 18-10
USERS MANUAL
MOTOROLA 19-1
/ MPC556
MOTOROLA 19-2
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 19-3
USERS MANUAL
0x00 0000 CMF Flash 448 Kbytes 0x2F C000 USIU Control Registers 1 Kbyte 0x2F C800 0x2F C840 0x2F C880 Reserved for SIU 0x 2F BFFF 0x 2F C000 0x 2F FFFF U SI U & F lash Control 16 Kbytes
0x06 FFFF
0x08 0000
FLASH Module A (64 bytes) Reserved for Flash (2.6 Mbytes 16 Kbytes) FLASH Module B (64 bytes)
Figure 19-1 CMF Array and Control Register Addressing 19.2.1 CMF EEPROM Control Registers The control registers are used to control CMF EEPROM module operation. They reside in supervisor data space. On master reset the registers are loaded with default reset information. Some of the registers are special CMF NVM registers which retain their state when power is removed from the CMF EEPROM. These special FLASH NVM registers are identified in the individual register field and control bit descriptions. The CMF EEPROM control registers are accessible for read or write operation at all times while the device is powered up except during master reset, soft reset or erase interlock write. The access time of a CMF register is one system clock for both read and write accesses. Accesses to reserved registers will cause the BIU to generate a data error exception.
MPC555
/ MPC556
MOTOROLA 19-4
USERS MANUAL
Register
Control Registers (Located in Supervisor Data Space) CMF Module Configuration Register (CMFMCR) See Table 19-2 for bit descriptions. CMF EEPROM Test Register (CMFTST) See Table 19-3 for bit descriptions. High Voltage Control Register (CMFCTL) See Table 19-6 for bit descriptions. Reserved CMF Flash Array 0x00 0000 0x03 FFFF 0x04 0000 0x06 FFFF CMF_A RAM Array CMF_B RAM Array
0x2F C808 0x2F C848 0x2F C80C 0x2F C81C 0x2F C84C 0x2F C85C
19.2.1.1 CMF EEPROM Configuration Register (CMFMCR) The CMF EEPROM module configuration register is used to control the operation of the CMF EEPROM array and BIU. Two bits (the Censor bits) of the CMFMCR bits are special FLASH NVM registers. The factory default state of the Censor bits is either 0b01 or 0b10. CMFMCR CMF EEPROM Configuration Register
MSB 0 LOCK 1 0 2 0 3 FIC 4 SIE 5 ACCESS 6 7 8 9 10 11 12
CENSOR1
SUPV[0:7]
RESET: 1 0 0 0 0 0 1 1 1 1 1 1 1 1
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
DATA[0:7] RESET: 0 0 0 0 0 0 0 0 1 1 1
PROTECT[0:7]
1. The reset state of bits 6:7 are defined by special FLASH NVM registers. The factory default state is either 0b01 or 0b10.
MPC555
/ MPC556
MOTOROLA 19-5
USERS MANUAL
The FIC bit is write protected by the LOCK. If FIC = 1 it cannot be cleared except by a hard reset. 0 = Normal CMF censorship operation 1 = Forces the CMF into information censorship mode, unless ACCESS = 1 Shadow information enable. Refer to 19.3 Shadow Information for details. The SIE bit is write protected by the SES bit for programming operation. Writes have no effect if (SES = 1 and PE = 0). The SIE bit can be read whenever the registers are enabled. 0 = Normal array access 1 = Disables normal array access and selects the shadow information Enable uncensored access. Refer to 19.8 Censored and Non-Censored Accesses for details. Writes to this bit have no effect when CSC = 1. This bit can be set only when the MCU is in uncensored mode. 0 = Censored CMF array access allowed only if the CMF censorship is no censorship, (FIC = 0 and CENSOR[0] CENSOR[1]) 1 = Allows all CMF array access. Censor accesses. The value of these bits is determined by the state of two NVM bits in two special NVM fuses. Refer to 19.8 Censored and Non-Censored Accesses for details.
SIE
ACCESS
6:7
The default reset state of CENSOR is user defined by the FLASH NVM register bits. 00 = Cleared censorship, CMF array access allowed only if device is in uncensored mode or CENSOR ACCESS = 1 01 = No censorship, All CMF array accesses allowed 10 = No censorship, All CMF array accesses allowed 11 = Information censorship, CMF array access allowed only if device is in uncensored mode or ACCESS = 1 Supervisor space. Each array block can be mapped into supervisor or unrestricted address space. When an array block is mapped into supervisor address space, only supervisor accesses are allowed. A user access to a location in supervisor address space will result in a data error exception. When an array block is mapped into unrestricted address space, both supervisor and SUPV[0:7] user accesses are allowed. The SUPV[0:7] bits are write protected by the LOCK and CSC bits. Writes will have no effect if LOCK=0 or CSC=1. 0 = Array block M is placed in unrestricted address space 1 = Array block M is placed in supervisor address space (reset value)
8:15
MPC555
/ MPC556
MOTOROLA 19-6
USERS MANUAL
16:23
24:31
PROTECT Writes to PROTECT[0:7] have no effect if LOCK = 0 or CSC = 1 or SES = 1. [0:7] 0 = Array block M is unprotected 1 = Array block M is protected (default value) Warning: If a CMF EEPROM enables the lock protection mechanism (LOCK = 0) before PROTECT is cleared, the device must use background debug mode to program or erase the CMF EEPROM.
19.2.1.2 CMF EEPROM Test Register (CMFTST) The CMF EEPROM test register (CMFTST) is used to control the test operation of the CMF array. Only six bits [20:23, 25:26] are readable or writeable in normal operation. CMFTST CMF EEPROM Test Register
MSB 0 1 2 3 4 5 6 7 8 9 10 11 12 13
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
LSB 31
RESERVED RESET: 0 0 0 0
NVR1
PAWS
RESERVE STE1,2 D
GDB1
RESERVED
NOTES: 1. The NVR, STE, and GDB bits are not accessible in all revisions of the MPC555 / MPC556 (2K02A mask sets and earlier). 2. The STE bit should always be programmed as a 0.
MPC555
/ MPC556
MOTOROLA 19-7
USERS MANUAL
20
NVR
21:23
24
25
26
GDB
27:31
MPC555
/ MPC556
MOTOROLA 19-8
USERS MANUAL
NOTES: 1. No margin read after pulse. 2. Do margin read after each pulse.
19.2.1.3 CMF EEPROM High Voltage Control Register (CMFCTL) The CMF EEPROM high voltage control register is used to control the program and erase operations of the CMF EEPROM module and setting and clearing CENSOR[0:1] fuses. Refer to 19.7 Voltage Control for Programming and Erasing for more information on this register. CMFCTL CMF EEPROM High Voltage Control Register
MSB 0 HVS 1 0 2 3 SCLKR 4 5 0 6 7 8 0 9 10 11 12 CLKPM 13
CLKPE
PORESET/HRESET: 0 SRESET: U U U U U U U U U U U U U U U U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20
21
22
23
24 0
25 CSC
26 EPEE
27 0
28 0
29 PE
30 SES
LSB 31 EHV
MPC555
/ MPC556
MOTOROLA 19-9
USERS MANUAL
HVS
2:4
SCLKR
6:7
CLKPE
9:15
CLKPM
25
CSC
MPC555
/ MPC556
MOTOROLA 19-10
USERS MANUAL
26
EPEE
29
PE
30
SES
31
EHV
19.2.2 CMF EEPROM Array Addressing The CMF EEPROM array is addressed when an internal access has been initialized and ADDR[10:13] matches the array hardware mapping address. The CMF array location selected is determined by ADDR[14:29] and the bytes are selected by ADDR[30:31] and internal SIZE[0:1] information. Table 19-6 and Table 19-7 show the internal mapping of the flash array. Information in the array is accessed in 32-byte pages. For each CMF module, two read page buffers are assigned to the low order addresses (ADDR[27:31]). The first page buffer is assigned to blocks zero to three; the second to blocks four to seven (for CMF Module A) or four to five (for CMF Module B). Access time for data in the read page buffers is one system clock; access time for an off-page read is two system clocks. To prevent the BIU from accessing an unnecessary page from the array, the CMF EEPROM monitors the U-bus address to determine whether the required information is within one of the two read page buffers and the access is valid for the module. This strategy allows the CMF EEPROM to have a twoclock read for an off-page access and one clock for an on-page access. The BIU does not recognize write accesses to the CMF array.
MPC555
/ MPC556
MOTOROLA 19-11
USERS MANUAL
0000000
Block Address
Row Address
Column Address
Byte Addr
10:13
These bits determine the location of each array within the MPC555 / MPC556 internal Array Hardware memory map. Values are as follows: Mapping Flash module A = 0000 Flash Module B = 0001 Block Address Row Address These three bits specify one of eight 32-Kbyte blocks within CMF Module A (000 to 111), or one of six 32-Kbyte blocks within CMF Module B (000 to 101) These seven bits select one of 128 rows within the 32-Kbyte block.
14:16 17:23
24:29
These six bits select one of 64 (word-length) columns within the row. Note also the following: Column Address ADDR[24:26] select a 32-byte read page. ADDR[27:29] represent the read page word address. ADDR[24:25] select a 64-byte program page. ADDR[26:29] represent the program page word address. Byte Address Bits 30:31 select a byte within the column.
30:31
19.2.2.1 Read Page Buffers Each CMF array has two 32-byte read page buffers. The fully independent buffers are located in two separate read sections of the array. Each page buffer status and address are monitored in the BIU. The status of the read page buffers is made invalid by any of the following operations: Reset Programming write Erase interlock write Setting EHV Clearing SES Setting or clearing SIE Each access to the CMF EEPROM array determines whether the requested location is within the current pages. If the requested location is not within the read page buffers, the correct read page buffer is made invalid, and a new page of information is fetched from the array. The page buffer address is updated and status is made valid. If the requested location is within one of the current page buffers or has been fetched from the array, the selected bytes are transferred to the U-bus, completing the access. CMF EEPROM array accesses that make the page buffer(s) invalid (off-page reads) require two system clocks. CMF EEPROM array accesses that do not make the page buffer(s) / MPC556
MPC555
MOTOROLA 19-12
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 19-13
USERS MANUAL
64-byte Program Page Buffer 6 32-Kbyte Array Block 6 0x3 0000 0x3 7FFF
32-byte Read Page Buffer 1 32-Kbyte Array Block 5 0x2 8000 0x2 FFFF
64-byte Program Page Buffer 5 32-Kbyte Array Block 4 0x2 0000 0x2 7FFF
64-byte Program Page Buffer 4 64-byte Program Page Buffer 3 32-Kbyte Array Block 3 0x1 8000 0x1 FFFF
64-byte Program Page Buffer 2 32-Kbyte Array Block 2 0x1 0000 0x1 7FFF
32-byte Read Page Buffer 0 32-Kbyte Array Block 1 0x0 8000 0x0 FFFF
64-byte Program Page Buffer 1 32-Kbyte Array Block 0 and Shadow Information 0x0 0000 0x0 7FFF1
1.If SIE=1, then the shadow row is enabled instead of the flash block. Shadow locations 0x00 to 0x03 are reserved for the Internal Flash Reset Configuration word. Shadow locations 0x04 to 0x0F are Reserved by Motorola for possible future use.
MPC555
/ MPC556
MOTOROLA 19-14
USERS MANUAL
32-byte Read Page Buffer 1 32-Kbyte Array Block 4 0x6 0000 0x6 7FFF
64-byte Program Page Buffer 4 64-byte Program Page Buffer 3 32-Kbyte Array Block 3 0x5 8000 0x5 FFFF
32-Kbyte Array Block 2 0x5 0000 0x5 7FFF 32-byte Read Page Buffer 0 32-Kbyte Array Block 1 0x4 8000 0x4 FFFF
64-byte Program Page Buffer 1 32-Kbyte Array Block 0 and Shadow Information 0x4 0000 0x4 7FFF1
64-byte Program Page Buffer 0 Bus Interface Unit (BIU) 1. If SIE=1, then the shadow row is enabled instead of the flash block. Locations 0x4 00000 to 0x4 000F of the shadow row are Reserved by Motorola for possible future use.
19.3 Shadow Information Programming the shadow information uses the same procedure as programming the array, except that there are only 256 bytes available in the shadow row. Before starting the program sequence SIE must equal one. The SIE bit is write protected by the SES bit for programming operation. Writes will have no effect if (SES = 1 and PE = 0). The SIE bit can be read whenever the registers are enabled. When SIE = 1, normal array accesses are disabled and the shadow information is enabled. When an array location is read using supervisor data in this mode, the shadow information is read from a location determined by the column, 32-byte read page select and read page word addresses (ADDR[24:29]) of the access. Accessing the CMF control block registers accesses the registers and not the shadow information. The read page buffer address monitor is reset whenever SIE is modified, making the next CMF array access an off-page access. The default reset state of SIE is normal array access (SIE = 0).
MPC555
/ MPC556
MOTOROLA 19-15
USERS MANUAL
Figure 19-2 Shadow Information 19.3.2 Reset Configuration Word (CMFCFIG) The CMF EEPROM reset configuration word is implemented in the first word (ADDR[24:29] = 0x00) of the special shadow locations. The reset configuration word along with the rest of the shadow information words is located in supervisor data address space. The purpose of the reset configuration word is to provide the system with an alternative internal source for the reset configuration. Note that with the exception of bit 20, the bits in the CMFCFIG are identical to those in the USIU hard reset configuration word. Refer to 7.5.2 Hard Reset Configuration Word for descriptions of these bits.
MPC555
/ MPC556
MOTOROLA 19-16
USERS MANUAL
DBPC ATWC
EBDF
22
EXC_ COMP
23
24
25 Reserved
26
27
28
29 ISB
30
31 DME
During reset the HC bit (has configuration, bit 20) and the USIU configure the CMF EEPROM module to provide CMFCFIG. If HC = 0 and the USIU requests internal configuration during reset the reset configuration word will be provided by CMFCFIG. The default reset state of the CMFCFIG after an erase operation of the CMF module A block 0 is no configuration word available (HC = 1). 19.4 Array Read Operation The CMF EEPROM array is available for read operation under most conditions while the device is powered up. Reads of the array are not allowed under any of the following conditions: During master or soft reset ACCESS = 0 and CENSOR[0:1] = 11 or 00 While the CMF EEPROM is disabled During programming and erase operations, while the high voltage is applied to the array, the BIU does not acknowledge a CMF array read. At certain points, as defined in the program or erase sequence, reading the array results in a margin read. These margin reads return the status of the program or erase operation and not the data in the array. The type of CMF EEPROM array read is determined by comparing the address of the requested information with the address of the read page buffers. If the requested address is not within one of the read page buffers or if the read page buffer has been made invalid, an off-page read results. This read updates the read page buffer address of the selected array block, copies the information from the array into the read page buffer, and drives a word onto the data bus. The off-page read requires a minimum of two clocks, while margin off-page reads require additional clocks. If the address of the requested information is within the address ranges of either of the read page buffers, an on-page read is performed. This requires one clock to transfer information from the read page buffer onto the data bus. See section 19.2.2 CMF EEPROM Array Addressing for more information on array accesses.
MPC555
/ MPC556
MOTOROLA 19-17
USERS MANUAL
/ MPC556
MOTOROLA 19-18
USERS MANUAL
/ MPC556
MOTOROLA 19-19
USERS MANUAL
S2
S3
T1 Reset S1
T2 T6 S4
T4
T7 T8 T9 S5 T5
MPC555
/ MPC556
MOTOROLA 19-20
USERS MANUAL
S1
T1
Write SES = 0 or a master reset Hardware Interlock A successful write to any CMF array location. This programming write latches the selected word of data into the programming page buffer and the address is latched to select the location to be programmed. Once a bit has been written then it will remain in the program buffer until another write to the word or a write of SES = 0 or a program margin read determines that the state of the bit needs no further modification by the program operation. If the write is to a register no data will be stored in the program page buffers and the CMF will remain in state S2. Write SES = 0 or a master reset
S2
Normal read operation still occurs. The array will accept programming writes. Accesses to the registers are normal register accesses. A write to CMFCTL can not change EHV at this time. If the write is to a register, no data is stored in the program page buffers, and the CMF remains in state S2.
S3
T3
Expanded Program Hardware Interlock Operation: Program margin reads will occur. Programming writes are accepted so that all program pages may be programmed. These writes may be to any CMF array location. The program page buffers will be updated using only the data, the lower address (ADDR[26:29]) and the block address. Accesses to the registers are normal register accesses. A write to CMFCTL can change EHV. If the write is to a register, no data is stored in the program page buffer. Program Operation: High voltage is applied to the array or shadow information to program the CMF bit cells. The pulse width timer is active if SCLKR[0:2] 0 and HVS can be polled to time the program pulse. No further programming writes are accepted. During programming the array does not respond to any access. Accesses to the registers are allowed. A write to CMFCTL can change EHV only.
S1
T6
S3
S4
T4
Write EHV = 1
S1
T7
Master reset
S4
S5
T5
MPC555
/ MPC556
MOTOROLA 19-21
USERS MANUAL
S5
S1
T9
19.5.2 Program Margin Reads The CMF EEPROM provides a program margin read with electrical margin for the program state. Program margin reads provide sufficient margin to assure specified data retention. The program margin read is enabled when SES = 1 and a programming write has occurred. To increase the access time of the program margin read, the offpage access time is four clocks instead of the usual two-clock off-page read access time. The program margin read and subsequent on-page program verify reads return a one for any bit that has not been completely programmed. Bits that the programming write left in the non-programmed state return zero when read. Bits that have completed programming return zero when read and update the data in the programming page buffer so that no further programming of those bits will occur. The program margin read occurs during the off-page read. A program margin read must be performed for all pages that are being programmed after each program pulse. Table 19-10 Results of Programming Margin Read
Current Data in the Program Page Buffer1 0 0 1 1 Current State of Bit Programmed (0) Erased (1) Programmed (0) Erased (1) Data Read During Margin Read2 0 1 0 0 New Data for the Program Page Buffer1 1 0 1 1
NOTES: 1. 0 = bit needs further programming 1 = bit does not need further programming 2. A 0 read during the margin read means that the bit does NOT need further programming. A 1 means the bit needs to be programmed further.
MPC555
/ MPC556
MOTOROLA 19-22
USERS MANUAL
/ MPC556
MOTOROLA 19-23
USERS MANUAL
4. 5. 6. 7. 8.
9. To reduce the time used for erase margin reads, upon the first read of a zero, do the following: a. Write new pulse width parameters, SCLKR, CLKPE, and CLKPM (if required per Table 19-5). b. Write new PAWS value (if required per Table 19-5). c. Write new values for NVR and GDB (if required per Table 19-5). d. Go back to step 5 to apply additional erase pulses. NOTE After a location has been verified (all bits erased), it is not necessary to verify the location after subsequent erase pulses. 10. Write SES = 0 in the CMFCTL register.
MPC555
/ MPC556
MOTOROLA 19-24
USERS MANUAL
T3 S2 S3
T1 Reset S1
T2 T6 S4
T4
T7 T8 T5 S5
T9
MPC555
/ MPC556
MOTOROLA 19-25
USERS MANUAL
S1
T1
Write SES = 0 or a master reset Hardware Interlock A successful write to any CMF array location is the erase interlock write. If the write is to a register the erase hardware interlock write has not been done and the CMF will remain in state S2. Write SES = 0 or a master reset Write EHV=1 Master reset
S2
S3
T3
S1 S4 S1
T6 T4 T7
S4
S5
T5
S4
T8
Write EHV = 1
S5
S1
T9
19.6.2 Erase Margin Reads The CMF EEPROM provides an erase margin read with electrical margin for the erase state. Erase margin reads provide sufficient margin to ensure specified data retention. The erase margin read is enabled when SES = 1 and the erase write has occurred. The erase margin read and subsequent on-page erase verify reads return a zero for any bit that has not been completely erased. Bits that have completed erasing return one when read. To increase the access time of the erase margin read, the off-page access time is 16 clocks instead of the usual two clock off-page read access time. The erase margin read occurs during an off-page read. All locations within the block(s) being erased must return one when read to determine that no more erase pulses are required. 19.6.3 Erasing Shadow Information Words The shadow information words are erased with CMF array block zero. To verify that the shadow information words are erased, the SIE bit in CMFMCR must be set to one
MPC555
/ MPC556
MOTOROLA 19-26
USERS MANUAL
EHV HVS Pulse Width Recovery = 48 Scaled Clocks or 128 Clocks Recovery
Figure 19-5 Pulse Status Timing The recovery time is the time required for the CMF EEPROM to remove the program or erase voltage from the array or shadow information before switching to another mode of operation. The recovery time is determined by the system clock range (SCLKR[0:2]) and the PE bit. If SCLKR = 000, the recovery time is 128 clocks. Otherwise, the recovery time is 48 periods of the scaled clock. Once reset is completed HVS will indicate no program or erase pulse (HVS = 0). 19.7.2 Pulse Width Timing Equation To control the pulse widths for program and erase operations, the CMF EEPROM uses the system clock and the timing control in CMFCTL. The total pulse time is defined by the following pulse width equation:
MPC555
/ MPC556
MOTOROLA 19-27
USERS MANUAL
Where:
1 1 3/2 2 3 4
NOTE The minimum specified system clock frequency for performing program and erase operations is 8.0 MHz. The CMF EEPROM does not have any means to monitor the system clock frequency and will not prevent program or erase operation at frequencies below 8.0 MHz. Attempting to program or erase the CMF EEPROM at system clock frequencies lower than 8.0 MHz will not damage the device if the maximum pulse times and total times are not exceeded. While some bits in the CMF EEPROM array may change state if programmed or erased at system clock frequencies below 8.0 MHz, the full program or erase transition is not ensured. WARNING Never stop the U-bus clock or alter its frequency during a program or erase operation. Changing the clock frequency during a program or erase operation results in inaccurate pulse widths and variations in the charge pump output. This includes loss of system clock/PLL.
MPC555
/ MPC556
MOTOROLA 19-28
USERS MANUAL
Pulse Width Range for all System Clock Frequencies from 8.0 MHz to 40.0 MHz. PE | Exponent CLKPE[0:1] CSC (N) 8 Minimum Pulse Width 2N1.25E-7 00 0 01 10 11 00 1 01 10 11 5 6 7 8 15 16 17 18 4 s 8 s 16 s 32 s 4.096 ms 8.192 ms 16.384 ms 32.768 ms MHz1 10 2N1E-7 3.2 s 6.4 s 12.8 s 25.6 s 3.28 ms 6.55 ms 13.11 ms 26.21 ms MHz1 2N0.833E-7 2.7 s 5.3 s 10.7 s 21.3 s 2.73 ms 5.46 ms 10.92 ms 21.85 ms 12 MHz1 Maximum Pulse Width 8 MHz1 N1.25E-07 2 512 s 1.024 ms 2.048 ms 4.096 ms 524.29 ms 1.05 s 2.10 s 4.19 s 10 MHz1 2N1E-7 409.6 s 819.2 s 1.6384 ms 3.2768 ms 419.43 ms 838.86 ms 1.68 s 3.35 s 12 MHz1 N0.833E-7 2 341.3 s 682.7 s 1.365 ms 2.731 ms 349.5 ms 699.1 ms 1.398 s 2.796 s
NOTES: 1. CMF clock frequency after SCKLR scaling. Example: A 40 MHz system clock scaled by 4 (SCLKR[0:2] = 0b101) results in an equivalent CMF clock of 10 MHz.
19.7.5 Linear Clock Multiplier The third term of the pulse width timing equation is the linear clock multiplier, M. The clock period multiplier, CLKPM[0:6], defines a linear multiplier for the program or erase pulse. The multiplier, M, is defined by the equation: M = 1 + CLKPM[0:6] This allows for the program/erase pulse to be from one to 128 times the pulse set by the system clock period, SCLKR[0:2] and CLKPE[0:1]. The default reset state of CLKPM[0:6] = 000 0000 for a multiplier of one. 19.7.6 A Technique to Determine SCLKR, CLKPE, and CLKPM The following example determines the values of the SCLKR, CLKPE, and CLKPM fields for a 25.6 s program pulse, PE = 0, in a system with a 40 MHz system clock.
MPC555
/ MPC556
MOTOROLA 19-29
USERS MANUAL
/ MPC556
MOTOROLA 19-30
USERS MANUAL
In censored mode, the ACCESS and CENSOR bits work together according to Table 19-15.
MPC555
/ MPC556
MOTOROLA 19-31
USERS MANUAL
There are two states of censorship: information censorship (CENSOR[0:1] = 11) and cleared censorship (CENSOR[0:1] = 00). In the information censorship state the entire CMF array must be erased to clear CENSOR[0:1]. In the cleared censorship or no censorship states the bits in CENSOR[0:1] may be set without modifying the information in the CMF array. When FIC=1, the CENSOR bits have no effect upon censorship.
While the device is in uncensored mode, ACCESS may be set to allow the device to enter censored mode and still access the CMF array. ACCESS may not be set while the device is in censored mode but may be cleared. The default reset state of ACCESS is zero, so that FIC and CENSOR[0:1] control the level of censorship to the CMF EEPROM array. All accesses to the CMF EEPROM array are allowed if ACCESS=1. If an access is attempted when the device is in censored mode and the following condition holds, the CMF EEPROM module disallows access to the array and signals a bus error: ((CENSOR[0] = CENSOR[1])|(FIC = 1)) AND (ACCESS = 0) If CENSOR[0:1] is in the no-censorship state, however (CENSOR[0]CENSOR[1]), the CMF EEPROM module recognizes accesses to its address space. When FIC = 1, the CENSOR bits have no effect upon censorship. If ((FIC = 1) and (ACCESS = 0)) the CMF is in information censorship mode. If ((FIC = 1) and (ACCESS = 1)), the CMF is in normal access mode. This arrangement aids in the development of custom techniques for controlling the ACCESS bit without setting CENSOR[0:1] to the information censorship state. Using FIC to force information censorship allows testing of the hardware and software for setting ACCESS without setting CENSOR[0:1] = 11. The default reset state of FIC is normal censorship operation (FIC = 0). 19.8.3 Device Modes and Censorship Status Table 19-16 summarizes the various combinations of censorship mode and states of the ACCESS, FIC, and CENSOR[0:1] bits. When booting from the internal flash, the default state is #8 unless BDM was entered, or a slave access to the MPC555 / MPC556 occurred. When any of these three conditions occur, then the state of CENSOR[0:1] determine whether the flash array can be accessed: 1. BDM is active 2. Accessing the MPC555 / MPC556 flash via a slave mode read 3. Booting from an external memory
MPC555
/ MPC556
MOTOROLA 19-32
USERS MANUAL
CENSOR[0:1]
00
11
11
00, 01, 10 or 11
#1
#3
#5
#6
#7
#8
#9
#10
#11
CMF array can not be accessed. ACCESS can not be changed. FIC can be set. CENSOR[0:1] can be set. CENSOR[0:1] can not be cleared. CMF array can be accessed. ACCESS can not be changed. FIC can be set. CENSOR[0:1] can be set. CENSOR[0:1] can be cleared. CMF array can not be accessed. ACCESS can not be changed. FIC can be set. CENSOR[0:1] can not be cleared. CMF array can not be accessed. ACCESS can not be changed. FIC can not be changed. CENSOR[0:1] can be set. CENSOR[0:1] can not be cleared. CMF array can not be accessed. ACCESS can not be changed. FIC can not be changed. CENSOR[0:1] can not be cleared. CMF array can be accessed. ACCESS can be cleared. FIC can be set. CENSOR[0:1] can be changed. CMF array can be accessed. ACCESS can be cleared. FIC can not be changed. CENSOR[0:1] can be changed. CMF array can be accessed. ACCESS can be changed. FIC can be set. CENSOR[0:1] can be changed. CMF array can be accessed. ACCESS can be changed. FIC can not be changed. CENSOR[0:1] can be changed. CMF array can be accessed. ACCESS can be changed. FIC can be set. CENSOR[0:1] can be changed. CMF array can be accessed. ACCESS can be changed. FIC can not be changed. CENSOR[0:1] can be changed.
#3 #4 #5 #6 #7 #8 #9 #10 #11
The only way CENSOR[0:1] can be changed is by setting or clearing the FLASH NVM fuses. In the information censorship state, CENSOR[0:1] must be cleared to the cleared censorship state before CENSOR[0:1] can be put into the no-censorship state. CAUTION Clearing the CENSOR[0:1] bits causes the entire CMF array to be erased. 19.8.4 Setting and Clearing Censor The value of each bit in CENSOR[0:1] is determined by the state of two NVM bits in a special NVM fuse as shown in Table 19-17. These two NVM bits are not part of the main flash array. The NVM fuse is not writable but instead may be set or cleared. The two NVM bits in the NVM fuse are programmed and erased simultaneously to change
MPC555
/ MPC556
MOTOROLA 19-33
USERS MANUAL
The set operation changes the state in an NVM fuse from a zero to a one by programming NVM bit 0 and erasing NVM bit 1 simultaneously in the NVM fuse. This set operation can be performed without changing the contents of the CMF array. To set one or both of the bits in CENSOR[0:1], 1. Using section 19.7.6 A Technique to Determine SCLKR, CLKPE, and CLKPM, write the pulse width timing control fields for an erase pulse, CSC = 1, PE = 0 and SES = 1 in the CMFCTL register. 2. Write a one to the CENSOR bit(s) to be set. 3. Write EHV = 1 in the CMFCTL register. This will apply the programming voltages to NVM bit 0 and the erase voltages to NVM bit 1 simultaneously. 4. Read the CMFCTL register until HVS = 0. 5. Write EHV = 0 in the CMFCTL register. 6. Read the CMFMCR CENSOR bit(s) that are being set. If any bit selected for set is a 0 go to step 3. 7. Write SES = 0 and CSC = 0. The clear operation changes the state in an NVM fuse from a one to a zero by erasing NVM bit 0 and programming NVM bit 1 simultaneously in the NVM fuse. This clear operation can be done only while erasing the entire CMF array and shadow information. To clear CENSOR[0:1], 1. Write PROTECT[0:7] = 0x00 to enable the entire array for erasure. 2. Using section 19.7.6 A Technique to Determine SCLKR, CLKPE, and CLKPM, write the pulse width timing control fields for an erase pulse, BLOCK[0:7] = 0xFF, CSC = 1, PE = 1 and SES = 1 in the CMFCTL register. 3. Perform an erase interlock write. 4. Write EHV = 1 in the CMFCTL register. This will apply the erase voltages to the entire CMF array and NVM bit 0 and the programming voltages to NVM bit 1 simultaneously. 5. Read the CMFCTL register until HVS = 0. 6. Write EHV = 0 in the CMFCTL register. 7. Read the entire CMF array and the shadow information words. If any bit equals zero, go to step 4. 8. Read CENSOR[0:1]. If CENSOR[0:1] 0 go to step 4. 9. Write SES = 0 and CSC = 0.
MPC555
/ MPC556
MOTOROLA 19-34
USERS MANUAL
Information Censorship
Data
CENSOR[0:1]=3
Data
T2
Data
T4
No Censorship
CENSOR[0:1]=1
Data
CENSOR[0:1]=2
T3
Data T1 T3
Cleared Censorship
Data
CENSOR[0:1]=0
Data
T3
Unknown
MPC555
/ MPC556
MOTOROLA 19-35
USERS MANUAL
EPEE VPP VDDF VSSF 19.9.1 EPEE Signal The EPEE bit monitors the state of the external program/erase enable, EPEE pin. EPEE has a digital filter that requires two consecutive samples to be equal before the output of the filter changes. The CMF samples EPEE when EHV is asserted and holds the EPEE state until EHV is negated. This is shown in Figure 19-7.
EPEE Pin = 1 @ T2
EPEE Pin = 0 @ T2
EPEE Pin = 1 @ T2
EPEE Pin = 0 @ T2
EHV
/ MPC556
MOTOROLA 19-36
USERS MANUAL
Figure 19-8 CMF_EPEE Timing Diagram 19.9.2 FLASH Program/Erase Voltage Conditioning A voltage of at least (VDDL 0.35 V) must be applied at all times to the VPP pins or damage to the FLASH module can occur. FLASH modules can be damaged by power on and power off VPP transients. VPP must not rise to programming level while VDDL is below 1.0 volts, and must not fall below the minimum specified value while VDDL is applied. Figure 19-9 shows the VPP and VDDL operating envelope.
MPC555
/ MPC556
MOTOROLA 19-37
USERS MANUAL
5.5 V 5.25 V
4.75 V
3.6 V
3.0 V 2.65 V VPP Envelope VDDL* Envelope Combined VPP and VDDL Suggested VPP Suggested VDDL
0.0 V -0.35 V
Power On
Normal
Program/Erase
Normal
Power Down
Figure 19-9 VPP and VDDL Power Switching Use of an external circuit to condition VPP is recommended. Figure 19-10 shows a simple circuit that maintains required voltages and filters transients. VPP is pulled up to VDDL via Schottky diode D2, protecting VDDL from excessive reverse current. D2 also protects the FLASH from damage should the programming voltage go to zero. Programming power supply voltage must be adjusted to compensate for the forwardMPC555
/ MPC556
MOTOROLA 19-38
USERS MANUAL
R2 22K
C1 0.1F
*The VPP voltage specification is the voltage at the VPP pin, not the input to diode D1.
Figure 19-10 VPP Conditioning Circuit 19.10 Reset Operation 19.10.1 Master Reset The MPC555 / MPC556 signals a master reset (both PORESET or HRESET) to the CMF EEPROM when a full reset is required. A master reset is the highest priority operation for the CMF EEPROM and will terminate all other operations. The CMF EEPROM module uses master reset to initialize all register bits to their reset values. If the CMF EEPROM is in program or erase operation (EHV = 1) and a master reset is generated, the module will perform the needed interlocks to disable the high voltage without damage to the high voltage circuits. Master reset will terminate any other mode of operation and force the CMF EEPROM BIU to a state ready to receive U-bus accesses within 10 clocks of the end of master reset. If the HC bit of the reset configuration word = 0 and the SIU requests internal configuration during reset, the CMF EEPROM will provide the reset configuration word to the device from CMFRC. 19.10.2 Soft Reset A soft reset forces the BIU into a state ready to receive U-bus accesses and clear the EHV bit. All other register bits remain unaltered by a soft reset.
MPC555
/ MPC556
MOTOROLA 19-39
USERS MANUAL
CAUTION The reset configuration word from an erased CMF must be generated external to the CMF, i.e., from the default reset configuration word off the external reset configuration word. See 7.5 Reset Configuration. EHV is reset to 0 when the CMF is disabled and can not be set until the CMF is enabled, see section 19.7.8 Controlling the Program/Erase Voltage When disabled, the power used by the CMF is reduced. NOTE Although the program and erase operations can be suspended (EHV = 0) by disabling the internal memory, it is not recommended that program or erase be suspended in this manner.
MPC555
/ MPC556
MOTOROLA 19-40
USERS MANUAL
L-bus Power Gone SRAM Array (Maximum 16 Kbytes) BIU Keep-Alive Power
MOTOROLA 20-1
0x38 000C
SRAMTST_B
0x3F 8000 0x3F 8FFF 0x3F 9000 0x3F 97FF 0x3F 9800 0x3F 9FFF 0x3F A000 0x3F AFFF 0x3F B000 0x3F BFFF 0x3F C000 0x3F CFFF 0x3F D000 0x3F DFFF 0x3F E000 0x3F EFFF 0x3F F000 0x3F FFFF Sub Block 2 Sub Block 3 Sub Block 0 Sub Block 1 16 Kbytes SRAM Sub Block 1 Sub Block 2 Sub Block 3 10 Kbytes SRAM Sub Block 0 6 Kbytes Unused Sub Block 1
Figure 20-2 SRAM Memory Map The control block for each of the two SRAM modules contains one control register for configuring the array and one control register for use in testing. 20.3.1 SRAM Module Configuration Register (SRAMMCR) Each SRAM module configuration register contains bits for setting access rights to the array. Table 20-1 provides definitions for the bits.
MPC555
/ MPC556
MOTOROLA 20-2
USERS MANUAL
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16
17
18
19
20 R0
21 D0
22 S0
23 R1
24 D1
25 S1
26 R2
27 D2
28 S2
29 R3
30 D3
LSB 31 S3
RESERVED RESET:
DIS
2CY
Rx Read only. R0 controls the highest 4-Kbyte block (lowest address) of the SRAM array; (x = 0, 1, 2, 3) R3 controls the lowest block (highest address). 0 = 4-Kbyte block is readable and writable 1 = 4-Kbyte block is read only. Attempts to write to this space result in internal TEA assertion. Dx Data only. D0 controls the highest 4-Kbyte block (lowest address) of the SRAM array; D3 (x = 0, 1, 2, 3) controls the lowest block (highest address). 0 = 4-Kbyte block can contain data or instructions 1 = 4-Kbyte block contains data only. Attempts to load instructions from this space result in internal TEA assertion. Sx Supervisor only. S0 controls the highest 4-Kbyte block (lowest address) of the SRAM ar(x = 0, 1, 2, 3) ray; S3 controls the lowest block (highest address). 0 = 4-Kbyte block is placed in unrestricted space 1 = 4-Kbyte block is placed in supervisor space. Attempts to access this space from the user privilege level result in internal TEA assertion.
20.3.2 SRAM Test Register (SRAMTST) SRAMTST SRAM Test Register The SRAM test register is used for factory testing only.
MPC555
/ MPC556
MOTOROLA 20-3
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 20-4
USERS MANUAL
The program trace cycle attribute is attached to all fetch cycles resulting from indirect flow changes. When program trace recording is needed, the user can make sure these cycles are visible on the external bus. The VSYNC indication, when asserted, forces all fetch cycles marked with the program trace cycle attribute to be visible on the external bus even if their data is found in one of the internal devices. To enable the external hardware to properly synchronize with the internal activity of the CPU, the assertion and negation of VSYNC forces the machine to synchronize. The first fetch after this synchronization is marked as a program trace cycle and is visible on the external bus. For more information on the activity of the external hardware during program trace refer to 21.2.4 The External Hardware. In order to keep the pin count of the chip as low as possible, VSYNC is not implemented as one of the chips external pins. It is asserted and negated using the serial interface implemented in the development port. For more information on this interface refer to 21.5 Development Port Forcing the CPU to show all fetch cycles marked with the program trace cycle attribute can be done either by asserting the VSYNC pin (as mentioned above) or by programming the fetch show cycle bits in the instruction support control register, ICTRL. For more information refer to 21.2.5 Instruction Fetch Show Cycle Control When the VSYNC indication is asserted, all fetch cycles marked with the program trace cycle attribute are made visible on the external bus. These cycles can generate regular bus cycles (address phase and data phase) when the instructions reside only in one of the external devices. Or, they can generate address-only cycles when the instructions reside in one of the internal devices (internal memory, etc.). When VSYNC is asserted, some performance degradation is expected due to the additional external bus cycles. However, since this performance degradation is expected to be very small, it is possible to program the machine to show all indirect flow changes. In this way, the machine will always perform the additional external bus cycles and maintain exactly the same behavior both when VSYNC is asserted and when it is negated. For more information refer to 21.7.6 I-Bus Support Control Register.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-2
USERS MANUAL
100
Exception taken the target will be marked with the Queue flush information1 indirect change-of-flow attribute Branch indirect taken, rfi, mtmsr, isync and in some cases mtspr to CMPA-F, ICTRL, ECR, or DER 1 the target will be marked with the indirect change-of- Queue flush information flow attribute2 Branch direct taken Branch (direct or indirect) not taken Queue flush information1 Queue flush information1
101
110 111
NOTES: 1. Unless next clock VF=111. See below. 2. The sequential instructions listed here affect the machine in a manner similar to indirect branch instructions. Refer to 21.2.3 Sequential Instructions Marked as Indirect Branch.
Table 21-2 shows VF[0:2] encodings for instruction queue flush information.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-3
USERS MANUAL
21.2.1.2 History Buffer Flushes Status Pins VFLS [0..1] The history buffer flushes status pins denote how many instructions are flushed from the history buffer this clock due to an exception.Table 21-3 shows VFLS encodings. Table 21-3 VFLS Pin Encodings
VFLS[0:1] 00 01 10 11 History Buffer Flush Information 0 instructions flushed from history queue 1 instruction flushed from history queue 2 instructions flushed from history queue Used for debug mode indication (FREEZE). Program trace external hardware should ignore this setting.
21.2.1.3 Queue Flush Information Special Case There is one special case when although queue flush information is expected on the VF pins, (according to the last value on the VF pins), regular instruction type information is reported. The only instruction type information that can appear in this case is VF = 111, branch (direct or indirect) NOT taken. Since the maximum queue flushes possible is five, it is easy to identify this special case. 21.2.2 Program Trace when in Debug Mode When entering debug mode an interrupt/exception taken is reported on the VF pins, (VF = 100) and a cycle marked with the program trace cycle is made visible externally. When the CPU is in debug mode, the VF pins equal 000 and the VFLS pins equal 11. For more information on debug mode refer to 21.4 Development System Interface If VSYNC is asserted/negated while the CPU is in debug mode, this information is reported as the first VF pins report when the CPU returns to regular mode. If VSYNC was not changed while in debug mode. the first VF pins report will be of an indirect branch taken (VF = 101), suitable for the rfi instruction that is being issued. In both
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-4
USERS MANUAL
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-5
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-6
USERS MANUAL
21.2.4.3 Detecting the Assertion/Negation of VSYNC Since the VF pins are used for reporting both instruction type information and queue flush information, the external hardware must take special care when trying to detect the assertion/negation of VSYNC. When VF = 011 it is a VSYNC assertion/negation report only if the previous VF pins value was one of the following values: 000, 001, or 010. 21.2.4.4 Detecting the Trace Window End Address The information on the status pins that describes the last fetched instruction and the last queue/history buffer flushes, changes every clock. Cycles marked as program trace cycle are generated on the external bus only when possible (when the SIU wins the arbitration over the external bus). Therefore, there is some delay between the information reported on the status pins that a cycle marked as program trace cycle will be performed on the external bus and the actual time that this cycle can be detected on the external bus. When VSYNC is negated by the user (through the serial interface of the development port), the CPU delays the report of the of the assertion/negation of VSYNC on the VF pins (VF = 011) until all addresses marked with the program trace cycle attribute were visible externally. Therefore, the external hardware should stop sampling the value of the status pins (VF and VFLS), and the address of the cycles marked as program trace cycle immediately after the VSYNC report on the VF pins. The last two instructions reported on the VF pins are not always valid. Therefore at the last stage of the reconstruction software, the last two instructions should be ignored. 21.2.4.5 Compress In order to store all the information generated on the pins during program trace (five bits per clock + 30 bits per show cycle) a large memory buffer may be needed. However, since this information includes events that were canceled, compression can be very effective. External hardware can be added to eliminate all canceled instructions and report only on branches (taken and not taken), indirect flow change, and the number of sequential instructions after the last flow change.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-7
USERS MANUAL
NOTE A cycle marked with the program trace cycle attribute is generated for any change in the VSYNC state (assertion or negation). 21.3 Watchpoints and Breakpoints Support Watchpoints, when detected, are reported to the external world on dedicated pins but do not change the timing and the flow of the machine. Breakpoints, when detected, force the machine to branch to the appropriate exception handler. The CPU supports internal watchpoints, internal breakpoints, and external breakpoints. Internal watchpoints are generated when a user programmable set of conditions are met. Internal breakpoints can be programmed to be generated either as an immediate result of the assertion of one of the internal watchpoints, or after an internal watchpoint is asserted for a user programmable times. Programming a certain internal watchpoint to generate an internal breakpoint can be done either in software, by setting the corresponding software trap enable bit, or on the fly using the serial interface implemented in the development port to set the corresponding development port trap enable bit. External breakpoints can be generated by any of the peripherals of the system, including those found on the MPC555 / MPC556 or externally, and also by an external development system. Peripherals found on the external bus use the serial interface of the development port to assert the external breakpoint. In the CPU, as in other RISC processors, saving/restoring machine state on the stack during exception handling, is done mostly in software. When the software is in the middle of saving/restoring machine state, the MSR[RI] bit is cleared. Exceptions that occur and that are handled by the CPU when the MSR[RI] bit is clear result in a non-restartable machine state. For more information refer to 3.15.4 Interrupts In general, breakpoints are recognized in the CPU is only when the MSR[RI] bit is set, which guarantees machine restartability after a breakpoint. In this working mode breakpoints are said to be masked. There are cases when it is desired to enable
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-8
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-9
USERS MANUAL
MPC555
Internal Peripherals Maskable Breakpoint Non-maskable Breakpoint Development Port Trap Enable Bits Breakpoint to CPU X X Software trap Enable Bits (Non-masked Control Bit) MSR[RI] Watchpoints Counters X bit wise AND bit wise OR X To watchpoints pins
USERS MANUAL
/ MPC556
Development Port
LCTRL2
DEVELOPMENT SUPPORT
MSR
MOTOROLA
21-10
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-11
USERS MANUAL
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-12
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-13
USERS MANUAL
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-14
USERS MANUAL
21.3.1.4 Context Dependent Filter The CPU can be programmed to either recognize internal breakpoints only when the recoverable interrupt bit in the MSR is set (masked mode) or it can be programmed to always recognize internal breakpoints (non-masked mode). When the CPU is programmed to recognize internal breakpoints only when MSRRI = 1, it is possible to debug all parts of the code except when the machine status save/ restore registers (SRR0 and SRR1), DAR (data address register) and DSISR (data storage interrupt status register) are busy and, therefore, MSRRI = 0, (in the prologues and epilogues of interrupt/exception handlers). When the CPU is programmed always to recognize internal breakpoints, it is possible to debug all parts of the code. However, if an internal breakpoint is recognized when MSRRI = 0 (SRR0 and SRR1 are busy), the machine enters into a non-restartable state. For more information refer to 3.15.4 Interrupts When working in the masked mode, all internal breakpoints detected when MSRRI = 0 are lost. Watchpoints detected in this case are not counted by the debug counters. Watchpoints detected are always reported on the external pins, regardless of the value of the MSRRI bit. Out of reset, the CPU is in masked mode. Programming the CPU to be in non-masked mode is done by setting the BRKNOMSK bit in the LCTRL2 register. Refer to 21.7.8 L-Bus Support Control Register 2 The BRKNOMSK bit controls all internal breakpoints (I-breakpoints and L-breakpoints). 21.3.1.5 Ignore First Match In order to facilitate the debugger utilities continue and go from x, the ignore first match option is supported for instruction breakpoints. When an instruction breakpoint is first enabled (as a result of the first write to the instruction support control register or as a result of the assertion of the MSRRI bit when operating in the masked mode), the first instruction will not cause an instruction breakpoint if the ignore first match (IFM) bit in the instruction support control register (ICTRL) is set (used for continue).
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-15
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-16
USERS MANUAL
Control Bits
Comparator B eq lt Compare Type Logic A B Events Generator (A&B) (A | B) C D (C&D) (C | D) I-Breakpoint I-Watchpoint 3 AND-OR Logic I-Watchpoint 1 I-Watchpoint 2 I-Watchpoint 0
Figure 21-3 Instruction Support General Structure 21.3.2.1 Load/Store Support There are two load/store address comparators E, and F. Each compares the 32 address bits and the cycles attributes (read/write). The two least-significant bits are
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-17
USERS MANUAL
The four load/store data events together with the match events of the load/store address comparators and the instruction watchpoints are used to generate the load/store watchpoints and breakpoint according to the users programming.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-18
USERS MANUAL
LWP0
LWP1
Note that when programming the load/store watchpoints to ignore L-addr events and L-data events, it does not reduce the load/store watchpoints detection logic to be instruction watchpoint detection logic since the instruction must be a load/store instruction for the load/store watchpoint event to trigger.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-19
USERS MANUAL
MPC555
Data Cycle Size Comparator E lt Compare Type Type Logic Valid 3 Valid 2 Valid 1 Valid 0 Compare Size Compare Type eq lt eq Comparator F Compare Size add(30:31) Type Logic eq Size Logic lt eq lt eq lt lt eq Compare Type Logic Byte Qualifier Logic Instruction Watchpoints Control bits Events Generator (E | F) (E&F) F E G L-watchpoint 0 H (G&H) L-breakpoint (G | H) AND-OR Logic L-watchpoint 1 Events Generator eq Size Logic lt eq lt eq lt Compare Type Logic lt eq Byte Qualifier Logic
USERS MANUAL
/ MPC556
Byte Mask
DEVELOPMENT SUPPORT
Byte Mask
MOTOROLA
21-20
NOTE When programmed to count instruction watchpoints, the last instruction which decrements the counter to ZERO is treated like any other instruction breakpoint in the sense that it is not executed and the machine branches to the breakpoint exception routine BEFORE it executes this instruction. As a side effect of this behavior, the value of the counter inside the breakpoint exception routine equals ONE and not ZERO as might be expected. When programmed to count load/store watchpoints, the last instruction which decrements the counter to ZERO is treated like any other load/store breakpoint in the sense that it is executed and the machine branches to the breakpoint exception routine AFTER it executes this instruction. Therefore, the value of the counter inside the breakpoint exception routine equals ZERO. 21.3.3.1 Trap Enable Programming The trap enable bits can be programmed by regular software (only if MSRPR = 0) using THE mtspr instruction or on the fly using the special development port interface. For more information refer to section 21.5.6.5 Development Port Serial Communications Trap Enable Mode. The value used by the breakpoints generation logic is the bit wise OR of the software trap enable bits, (the bits written using the mtspr) and the development port trap enable bits (the bits serially shifted using the development port). All bits, the software trap enable bits and the development port trap enable bits, can be read from ICTRL and the LCTRL2 using mfspr. For the exact bits placement refer to 21.7.6 I-Bus Support Control Register and to 21.7.8 L-Bus Support Control Register 2 21.4 Development System Interface When debugging an existing system, it is sometimes desirable to be able to do so without the need to insert any changes in the existing system. In some cases it is not de-
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-21
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-22
USERS MANUAL
SIU/ EBI
EXT BUS
Internal Bus
32 VFLS, FRZ
TECR
DPDR
DSDO
Figure 21-5 Functional Diagram of MPC555 / MPC556 Debug Mode Support The development port provides a full duplex serial interface for communications between the internal development support logic of the CPU and an external development tool. The development port can operate in two working modes: the trap enable mode and the debug mode. The trap enable mode is used in order to shift into the CPU internal development support logic the following control signals: 1. Instruction trap enable bits, used for on the fly programming of the instruction breakpoint 2. Load/store trap enable bits, used for on the fly programming of the load/store breakpoint 3. Non-maskable breakpoint, used to assert the non-maskable external breakpoint 4. Maskable breakpoint, used to assert the maskable external breakpoint 5. VSYNC, used to assert and negate VSYNC
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-23
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-24
USERS MANUAL
5 Decoder
Event
Event valid
rfi
reset
set Q
freeze
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-25
USERS MANUAL
If the DSCK pin is sampled negated, debug mode is disabled until a subsequent reset when the DSCK pin is sampled in the asserted state. When debug mode is disabled the internal watchpoint/breakpoint hardware will still be operational and may be used by a software monitor program for debugging purposes. When working in debug mode disable, all development support registers (see list in Table 21-14) are accessible to the supervisor code (MSRPR = 0) and can be used by a monitor debugger software. However, the processor never enters debug mode and, therefore, the exception cause register (ECR) and the debug enable register (DER) are used only for asserting and negating the freeze signal. For more information on the software monitor debugger support refer to 21.6 Software Monitor Debugger Support. When working in debug mode enable, all development support registers are accessible only when the CPU is in debug mode. Therefore, even supervisor code that may be still under debug cannot prevent the CPU from entering debug mode. The development system has full control of all development support features of the CPU through the development port. Refer to Table 21-16 21.4.1.2 Entering Debug Mode Entering debug mode can be a result of a number of events. All events have a programmable enable bit so the user can selectively decide which events result in debug mode entry and which in regular interrupt handling. Entering debug mode is also possible immediately out of reset, thus allowing the user to debug even a ROM-less system. Using this feature is possible by special programming of the development port during reset. If the DSCK pin continues to be asserted following SRESET negation (after enabling debug mode) the processor will take a breakpoint exception and go directly to debug mode instead of fetching the reset vector. To avoid entering debug mode following reset, the DSCK pin must be negated no later than seven clock cycles after SRESET negates. In this case, the processor will jump to the reset vector and begin normal execution. When entering debug mode immediately after reset, bit 31 (development port interrupt) of the exception cause register (ECR) is set.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-26
USERS MANUAL
11
12
13
14
15
16
17
SRESET
Figure 21-7 Debug Mode Reset Configuration When debug mode is disabled all events result in regular interrupt handling.
MPC555
/ MPC556
CLK OUT
DEVELOPMENT SUPPORT
DSCK
DSCK asserts high while SRESET asserted to enable debug mode operation.
DSCK asserts high following SRESET negation to enable debug mode immediately.
10
MOTOROLA 21-27
USERS MANUAL
NMI exception as a result of the assertion of the IRQ0_B pin. For more information refer to 3.15.4.1 System Reset Interrupt Check stop. Refer to 21.4.1.3 The Check Stop State and Debug Mode Machine check exception Implementation specific instruction protection error Implementation specific data protection error External interrupt, recognized when MSREE = 1 Alignment interrupt Program interrupt Floating point unavailable exception Floating point assist exception Decrementer exception, recognized when MSREE = 1 System call exception Trace, asserted when in single trace mode or when in branch trace mode (refer to 3.15.4.10 Trace Interrupt) Implementation dependent software emulation exception Instruction breakpoint, when breakpoints are masked (BRKNOMSK bit in the LCTRL2 is clear) recognized only when MSRRI = 1, when breakpoints are not masked (BRKNOMSK bit in the LCTRL2 is set) always recognized Load/store breakpoint, when breakpoints are masked (BRKNOMSK bit in the LCTRL2 is cleared) recognized only when MSRRI = 1, when breakpoints are not masked (BRKNOMSK bit in the LCTRL2 is set) always recognized Peripherals breakpoint, from the development port, internal and external modules. are recognized only when MSRRI = 1. Development port non-maskable interrupt, as a result of a debug station request. Useful in some catastrophic events like an endless loop when MSRRI = 0. As a result of this event the machine may enter a non-restartable state, for more information refer to 3.15.4 Interrupts.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-28
USERS MANUAL
NOTES: 1. Check stop enable bit in the debug enable register (DER) 2. Machine check interrupt enable bit in the debug enable register (DER)
21.4.1.4 Saving Machine State upon Entering Debug Mode If entering debug mode was as a result of any load/store type exception, and therefore the DAR (data address register) and DSISR (data storage interrupt status register)
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-29
USERS MANUAL
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-30
USERS MANUAL
21.5.1 Development Port Pins The following development port pin functions are provided: 1. Development serial clock (DSCK) 2. Development serial data in (DSDI) 3. Development serial data out (DSDO) 21.5.2 Development Serial Clock The development serial clock (DSCK) is used to shift data into and out of the development port shift register. At the same time, the new most significant bit of the shift register is presented at the DSDO pin. In all further discussions references to the DSCK signal imply the internal synchronized value of the clock. The DSCK input must be driven either high or low at all times and not allowed to float. A typical target environment would pull this input low with a resistor. The clock may be implemented as a free running clock or as gated clock. As discussed in section 21.5.6.5 Development Port Serial Communications Trap Enable Mode and section 21.5.6.8 Development Port Serial Communications Debug Mode, the shifting of data is controlled by ready and start signals so the clock does not need to be gated with the serial transmissions. The DSCK pin is also used at reset to enable debug mode and immediately following reset to optionally cause immediate entry into debug mode following reset. 21.5.3 Development Serial Data In Data to be transferred into the development port shift register is presented at the development serial data in (DSDI) pin by external logic. To be sure that the correct value is used internally. When driven asynchronous (synchronous) with the system clock, the data presented to DSDI must be stable a setup time before the rising edge of DSCK (CLKOUT) and a hold time after the rising edge of DSCK (CLKOUT).
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-31
USERS MANUAL
21.5.5 Freeze Signal The freeze indication means that the processor is in debug mode (i.e., normal processor execution of user code is frozen). On the MPC555 / MPC556, the freeze state can be indicated by three different pins. The FRZ signal is generated synchronously with the system clock. This indication may be used to halt any off-chip device while in debug mode as well as a handshake means between the debug tool and the debug port. The internal freeze status can also be monitored through status in the data shifted out of the debug port. 21.5.5.1 SGPIO6/FRZ/PTR Pin The SGPIO6/FRZ/PTR pin powers up as the PTR function and its function is controlled by the GPC bits in the SIUMCR. 21.5.5.2 IWP[0:1]/VFLS[0:1] Pins The IWP[0:1]/VFLS[0:1] pins power up as the VFLS[0:1] function and their function can be changed via the DBGC bits in the SIUMCR (see 6.13.1.1 SIU Module Configuration Register). They can also be set via the reset configuration word (See 7.5.2 Hard Reset Configuration Word). The FRZ state is indicated by the value b11 on the VFLS[0:1] pins. 21.5.5.3 VFLS[0:1]_MPIO32B[3:4] Pins The VFLS[0:1]_MPIO32B[3:4] Pins power up as the MPIO32B[3:4] function and their function can be changed via the VFLS bit in the MIOS1TPCR register (see section 15.15.1.1). The FRZ state is indicated by the value b11 on the VFLS[0:1] pins. 21.5.6 Development Port Registers The development port consists logically of the three registers: development port instruction register (DPIR), development port data register (DPDR), and trap enable control register (TECR). These registers are physically implemented as two registers, development port shift register and trap enable control register. The development port shift register acts as both the DPIR and DPDR depending on the operation being per-
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-32
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-33
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-34
USERS MANUAL
MPC555
START MODE CNTRL DI<0> DI <N-2> DI <N-1> DI <N> READY S<0> S<1> DO<0> DO <N-2> DO <N-1> DO <N> Debug Port detects the start bit on DSDI and follows the ready bit with two status bits and 7 or 32 output data bits. Development Tool drives the start bit on DSDI (after detecting ready bit on DSDO when in debug mode). The start bit is immediately followed by a mode bit and a control bit and then 7 or 32 input data bits. Debug Port drives ready bit onto DSDO when ready for a new transmission. NOTE: DSCK and DSDI transitions are not required to be synchronous with CLKOUT.
USERS MANUAL
/ MPC556
DSCK
DSDI
DEVELOPMENT SUPPORT
DSDO
MOTOROLA
21-35
MPC555
1 START MODE CNTRL DI<0> DI<1> DI DI DI DI< <N-3> <N-2> <N-1> DI <N> READY S<0> S<1> DO<0> DO<1> DO DO DO <N-3> <N-2> <N-1> DO <N>
USERS MANUAL
Debug Port detects the start bit on DSDI and follows the ready bit with two status bits and 7 or 32 output data bits. Development Tool drives the start bit on DSDI (after detecting ready bit on DSDO when in debug mode). The start bit is immediately followed by a mode bit and a control bit and then 7 or 32 input data bits. Debug Port drives ready bit onto DSDO when CPU starts a read of DPIR or DPDR.
/ MPC556
CLK OUT
DSDI
DEVELOPMENT SUPPORT
DSDO
MOTOROLA
21-36
MPC555
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
USERS MANUAL
/ MPC556
CLK OUT
SRESET
DSDI
DEVELOPMENT SUPPORT
CLKEN
Internal clock enable signal asserts 8 clocks after SRESET negation if DSDI is negated. This enables clocked mode.
First Start bit detected after DSDI negation (self clocked mode)
MOTOROLA
21-37
Table 21-11 Debug Port Command Shifted Into Development Port Shift Register
Start Mode Control Extended Opcode x 0 1 1 1 1 1 x x x 0 1 x x 0 1 x 0 1 x x Major Opcode 00000 00001 00010 00011 00011 00011 11111 11111 11111 11111 NOP Hard Reset request Soft Reset request Reserved End Download procedure Start Download procedure Negate Maskable breakpoint. Assert Maskable breakpoint. Negate Non Maskable breakpoint. Assert Non Maskable breakpoint. Function
The watchpoint trap enables and VSYNC functions are described in section 21.3 Watchpoints and Breakpoints Support and section 21.2 Program Flow Tracking.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-38
USERS MANUAL
Data Ready (0) (0) (0) (0) Status [0:1] 0 0 1 1 0 1 0 1 Freeze status1 Download Procedure in progress2 Bit 0 Bit 1 Bits 2:31 or 2:6 (Depending on Input Mode) Data 1s 1s 1s Function Valid Data from CPU Sequencing Error CPU Interrupt Null
NOTES: 1. The Freeze status is set to (1) when the CPU is in debug mode and to (0) otherwise. 2. The Download Procedure in progress status is asserted (0) when Debug port in the Download procedure and is negated (1) otherwise.
When not in debug mode the sequencing error encoding indicates that the transmission from the external development tool was a debug mode transmission. When a sequencing error occurs the development port will ignore the data shifted in while the sequencing error was shifting out. It will be treated as a NOP function. Finally, the null output encoding is used to indicate that the previous transmission did not have any associated errors. When not in debug mode, ready will be asserted at the end of each transmission. If debug mode is not enabled and transmission errors can be guaranteed not to occur, the status output is not needed. 21.5.6.8 Development Port Serial Communications Debug Mode When in debug mode the development port starts communications by setting DSDO low to indicate that the CPU is trying to read an instruction from DPIR or data from DPDR. When the CPU writes data to the port to be shifted out the ready bit is not set. The port waits for the CPU to read the next instruction before asserting ready. This allows duplex operation of the serial port while allowing the port to control all transmissions from the external development tool. After detecting this ready status the external development tool begins the transmission to the development port with a start bit (logic high) on the DSDI pin.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-39
USERS MANUAL
Table 21-13 Debug Instructions / Data Shifted Into Development Port Shift Register
Start 1 Mode 0 0 Control 0 1 enable1 Instruction / Data (32 Bits) Bits 0:6 Bits 7:31 CPU Instruction CPU Data Function Transfer Instruction to CPU Transfer Data to CPU Transfer data to Trap Enable Control Register Negate breakpoint requests to the CPU. nop
Trap
Not exist
1 1
1 1
1 1
0011111 0
Data values in the last two functions other than those specified are reserved. All transmissions from the debug port on DSDO begin with a 0 or ready bit. This indicates that the CPU is trying to read an instruction or data from the port. The external development tool must wait until it sees DSDO go low to begin sending the next transmission. The control bit differentiates between instructions and data and allows the development port to detect that an instruction was entered when the CPU was expecting data and vice versa. If this occurs a sequence error indication is shifted out in the next serial transmission. The trap enable function allows the development tool to transfer data to the trap enable control register. The debug port command function allows the development tool to either negate breakpoint requests, reset the processor, activate or deactivate the fast down load procedure. The NOP function provides a null operation for use when there is data or a response to be shifted out of the data register and the appropriate next instruction or command will be determined by the value of the response or data shifted out.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-40
USERS MANUAL
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-41
USERS MANUAL
INIT:Save RX, RY RY <- Memory Block address- 4 repeat:mfsprRX, DPDR DATA word to be moved to memory stwuRX, 0x4(RY) until here
Restore RX,RY
Figure 21-11 Download Procedure Code Example For large blocks of data this sequence may take significant time to complete. The fast download procedure of the debug port may be used to reduce this time. This time reduction is achieved by eliminating the need to transfer the instructions in the loop to the debug port. The only transactions needed are those required to transfer the data to be placed in system memory. Figure 21-12 and Figure 21-13 illustrate the time benefit of the fast download procedure.
MFSPR
DATA
STWU
DATA
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-42
USERS MANUAL
21.6 Software Monitor Debugger Support When in debug mode disable, a software monitor debugger can make use of all of the development support features defined in the CPU. When debug mode is disabled all events result in regular interrupt handling, i.e. the processor resumes execution in the corresponding interrupt handler. The exception cause register (ECR) and the debug enable register (DER) only influence the assertion and negation of the freeze signal. 21.6.1 Freeze Indication The internal freeze signal is connected to all relevant internal modules. These modules can be programmed to stop all operations in response to the assertion of the freeze signal. In order to enable a software monitor debugger to broadcast the fact that the debug software is now executed, it is possible to assert and negate the internal freeze signal also when debug mode is disabled. The assertion and negation of the freeze signal when in debug mode disable is controlled by the exception cause register (ECR) and the debug enable register (DER) as described in Figure 21-6. In order to assert the freeze signal the software needs to program the relevant bits in the debug enable register (DER). In order to negate the freeze line the software needs to read the exception cause register (ECR) in order to clear it and perform an rfi instruction. If the exception cause register (ECR) is not cleared before the rfi is performed the freeze signal is not negated. Therefore it is possible to nest inside a software monitor debugger without affecting the value of the freeze line although rfi may be performed a few times. Only before the last rfi the software needs to clear the exception cause register (ECR). The above mechanism enables the software to accurately control the assertion and the negation of the freeze signal. 21.7 Development Support Registers Table 21-14 lists the registers used for development support. The registers are accessed with the mtspr and mfspr instructions. / MPC556
MPC555
DEVELOPMENT SUPPORT
MOTOROLA 21-43
USERS MANUAL
149 150 151 152 153 154 155 156 157 158 159
630
21.7.1 Register Protection Table 21-15 and Table 21-16 summarize protection features of development support registers during read and write accesses, respectively.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-44
USERS MANUAL
0 0 1
1 1 X
0 1 X
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
RESERVED
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-45
USERS MANUAL
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0:31
These registers are unaffected by reset. 21.7.4 Breakpoint Address Register (BAR) BAR Breakpoint Address Register
0 1 2 3 4 5 6 7 8 9 CMPEF RESET: UNAFFECTED
SPR 159
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-46
USERS MANUAL
SPR 158
14 IWP1 15
16 IWP2
17
18 IWP3
19
20
21
22
23
24
25 DIWP 1 EN
26 DIWP 2 EN
27 DIWP 3 EN
28 IIFM
29
30 ISCT_SER*
31
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
*Changing the instruction show cycle programming starts to take effect only from the second instruction after the actual mtspr to ICTRL.
If the processor aborts a fetch of the target of a direct branch (due to an exception), the target is not always visible on the external pins. Program trace is not affected by this phenomenon.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-47
USERS MANUAL
14:15
W1
0x = not active (reset value) I-bus 2nd watchpoint programming 10 = match from comparator B 11 = match from comparators (A | B) I-bus 3rd watchpoint programming 0x = not active (reset value) 10 = match from comparator C 11 = match from comparators (C&D) 0x = not active (reset value) 10 = match from comparator D 11 = match from comparators (C | D)
16:17
IWP2
18:19 20 21 22 23
I-bus 4th watchpoint programming Software trap enable selection of the 1st I-bus watchpoint Software trap enable selection of the 2nd I-bus watchpoint Software trap enable selection of the 3rd I-bus watchpoint Software trap enable selection of the 4th I-bus watchpoint Development port trap enable selection of the 1st I-bus watchpoint (read only bit) Development port trap enable selection of the 2nd I-bus watchpoint (read only bit) Development port trap enable selection of the 3rd I-bus watchpoint (read only bit) Development port trap enable selection of the 4th I-bus watchpoint (read only bit) Ignore first match, only for I-bus breakpoints
24
DIWP0EN
25
DIWP1EN
26
DIWP2EN
27
DIWP3EN
28
IIFM
0 = Do not ignore first match, used for go to x (reset value) 1 = Ignore first match (used for continue) These bits control serialization and instruction fetch show cycles. See Table 21-5 for the bit definitions. NOTE: Changing the instruction show cycle programming starts to take effect only from the second instruction after the actual mtspr to ICTRL.
29:31
ISCT_SER
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-48
USERS MANUAL
Functions Selected
0 0 0 0 1
RCPU is fully serialized and show cycle will be performed for all fetched instructions (reset value) RCPU is fully serialized and show cycle will be performed for all changes in the program flow RCPU is fully serialized and show cycle will be performed for all indirect changes in the program flow RCPU is fully serialized and no show cycles will be performed for fetched instructions Illegal. This mode should not be selected. RCPU is not serialized (normal mode) and show cycle will be performed for all changes in the program flow RCPU is not serialized (normal mode) and show cycle will be performed for all indirect changes in the program flow RCPU is not serialized (normal mode) and no show cycles will be performed for fetched instructions
1 1 1
21.7.7 L-Bus Support Control Register 1 LCTRL1 L-Bus Support Control Register 1
0 1 CTE RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 4 CTF 5 6 7 CTG 8 9 10 CTH 11 12 13 CRWE
SPR 156
14 15 CRWF
16 CSG
17
18 CSH
19
20
21
22
23
24
25
26
27
28
29
30
31
SUSG SUSH
CGBMSK
CHBMSK
UNUSED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-49
USERS MANUAL
18:19
CSH
20 21 22:25
Signed/unsigned operating mode for comparator G Signed/unsigned operating mode for comparator H Byte mask for 1st L-data comparator
26:29 30:31
CHBMSK
0000 = all bytes are not masked 0001 = the last byte of the word is masked . Byte mask for 2nd L-data compara- . . tor 1111 = all bytes are masked
Reserved
LCTRL1 is cleared following reset. 21.7.8 L-Bus Support Control Register 2 LCTRL2 L-Bus Support Control Register 2
0 LW0EN RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 LW0IA 2 3 LW0 IADC 4 5 6 LW0 LADC 7 8 9 10 11 12 13 LW1 IADC LW0 LW1EN LDDC
SPR 157
14 15
LW0LA
LW0LD
LW1IA
LW1LA
16 LW1 LADC
17
18
19
20
21
22
23
24 RESERVED
25
26
27
28
29
30
31
LW1LD
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-50
USERS MANUAL
1:2
LW0IA
LW0IADC
4:5
LW0LA
LW0LADC
7:8
LW0LD
9 10
LW0LDDC LW1EN
11:12
LW1IA
13
LW1IADC
14:15
LW1LA
16
LW1LADC
17:18
LW1LD
19
LW1LDDC
20 21:27
BRKNOMSK
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-51
USERS MANUAL
28
DLW0EN
29
DLW1EN
30 31
SLW0EN SLW1EN
For each watchpoint, three control register fields (LWxIA, LWxLA, LWxLD) must be programmed. For a watchpoint to be asserted, all three conditions must be detected. 21.7.9 Breakpoint Counter A Value and Control Register COUNTA Breakpoint Counter A Value and Control Register
0 1 2 3 4 5 6 7 CNTV RESET: UNAFFECTED 8 9 10 11 12 13
SPR 150
14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
RESERVED RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
CNTC
30:31
CNTC
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-52
USERS MANUAL
SPR 151
14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
RESERVED RESET:
CNTC
30:31
CNTC
21.7.11 Exception Cause Register (ECR) The ECR indicates the cause of entry into debug mode. All bits are set by the hardware and cleared when the register is read when debug mode is disabled, or if the processor is in debug mode. Attempts to write to this register are ignored. When the hardware sets a bit in this register, debug mode is entered only if debug mode is enabled and the corresponding mask bit in the DER is set. All bits are cleared to zero following reset.
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-53
USERS MANUAL
SPR 148
14 TR 15 FPAS E
RESERVED
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 0
17 SEE
18 RESERV ED
19 ITLBER
20 RESERV ED
21 DTLBER
22
23
24
25
26
27
28 LBRK
29 IBRK
30 EBRK D
31 DPI
RESERVED
RESET: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-54
USERS MANUAL
29
IBRK
30
EBRK
31
DPI
21.7.12 Debug Enable Register (DER) This register enables the user to selectively mask the events that may cause the processor to enter into debug mode. DER Debug Enable Register
0 0 1 RSTE 2 3 4 5 6 7 8 9 FPUVEE 10 DECEE 11 12 13 SYSEE CHST MCEE PE
SPR 149
14 TRE 15 FPAS E
RESERVED
RESERVED
RESET: 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 DPIE
RESERVED
CHSTPE
3 4:5
MCEE
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-55
USERS MANUAL
ALEE
PREE
FPUVEE
10 11:12 13
DECEE SYSEE
14
TRE
15 16 17 18 19 20 21 22:27 28
29
IBRKE
30
EBRKE
31
DPIE
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-56
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-57
USERS MANUAL
MPC555
/ MPC556
DEVELOPMENT SUPPORT
MOTOROLA 21-58
USERS MANUAL
This section is intended to be used with the supporting IEEE 1149.1-1990 standard. The scope of this description includes those items required by the standard to be defined and, in certain cases, provides additional information specific to the implementation. For internal details and applications of the standard, refer to the IEEE 1149.11990 document. An overview of the JTAG pins on the MPC555 / MPC556 is shown in Figure 22-1.
bsc bsc
bsc
bsc
MPC555 / MPC556
TRST
bsc bsc bsc bsc
Figure 22-1 JTAG Pins Boundary scan cells (BSC) are placed at the digital boundary of the chip (normally the package pins). The boundary scan cells are chained together to form a boundary scan register (BSR). The data is serially shifted in through the serial port (TDI) and serially shifted out through the output port (TDO). 22.1 JTAG Interface Block Diagram A block diagram of the MPC555 / MPC556 implementation of the IEEE 1149.1-1990 test logic is shown in Figure 22-2.
MOTOROLA 22-1
M U X
TDO
JCOMP
TMS TCK
Figure 22-2 Test Logic Block Diagram 22.2 JTAG Signal Descriptions The MPC555 / MPC556 has five dedicated JTAG pins, which are described in Table 22-1. The TDI and TDO scan ports are used to scan instructions as well as data into the various scan registers for JTAG operations. The scan operation is controlled by the test access port (TAP) controller, which in turn is controlled by the TMS input sequence. To enable JTAG on reset for board test, bit 11 (DGPC select JTAG pins) and bit 16 (PRPM peripheral mode enable) of the reset configuration word should be held high during the rising edge of reset (see 7.5.2 Hard Reset Configuration Word). These need to be configurable on the user board to allow JTAG test of a board. To allow normal operation of the board these bits need to be low in the reset configuration word.
MPC555
/ MPC556
MOTOROLA 22-2
USERS MANUAL
TDO
Output
None
TMS
Input
Pull-up
TCK
Input
Pull-down
TRST
Input
Pull-up
22.3 Operating Frequency The TCK frequency must be between 5 MHz and 10 MHz. This pin is internally driven to a low value when disconnected. 22.4 TAP Controller TRST is used to reset the TAP controller asynchronously. The TRST pin ensures that the JTAG logic does not interfere with the normal operation of the chip. This pin is optional in the JTAG specification. The TAP controller changes state either on the rising edge of TCK or when TRST is asserted. The TDO signal remains in a high-impedance state except during the Shift-DR or ShiftIR controller states. During these controller states, TDO is updated on the falling edge of TCK. The TAP controller states are designed to meet the IEEE 1149.1 standard. Refer to Figure 22-3.
MPC555
/ MPC556
MOTOROLA 22-3
USERS MANUAL
RUN-TEST/IDLE 0
SELECT-DR_SCAN 0 1 1 CAPTURE-DR 1 0
SELECT-IR_SCAN 0 1 CAPTURE-IR
0 SHIFT-IR 0 1 0
SHIFT-DR 1
EXIT1-DR 0
EXIT1-IR
0 PAUSE-IR 0 0 0
PAUSE-DR 1 0
1 EXIT2-IR 1
EXIT2-DR 1
UPDATE-DR 1 0 1
UPDATE-IR 0
Figure 22-3 TAP Controller State Machine 22.5 Instruction Register The MPC555 / MPC556 JTAG implementation includes the public instructions (EXTEST, SAMPLE/PRELOAD, and BYPASS), and also supports the CLAMP instruction. One additional public instruction (HI-Z) provides the capability for disabling all device output drivers. The MPC555 / MPC556 includes a 4-bit instruction register without parity consisting of a shift register with four parallel outputs. Data is transferred from the shift register to the parallel outputs during the update-IR controller state. The four bits are used to decode the five unique instructions listed in Table 22-2.
MPC555
/ MPC556
MOTOROLA 22-4
USERS MANUAL
The parallel output of the instruction register is reset to all ones in the test-logic-reset controller state. Note that this preset state is equivalent to the BYPASS instruction. During the capture-IR controller state, the parallel inputs to the instruction shift register are loaded with the CLAMP command code. 22.5.1 EXTEST The external test (EXTEST) instruction selects the 346-bit boundary scan register. EXTEST also asserts internal reset for the MPC555 / MPC556 system logic to force a predictable beginning internal state while performing external boundary scan operations. By using the TAP, the register is capable of scanning user-defined values into the output buffers, capturing values presented to input pins and controlling the output drive of three-state output or bi-directional pins. For more details on the function and use of EXTEST, refer to the scan chain document. 22.5.2 SAMPLE/PRELOAD The SAMPLE/PRELOAD instruction initializes the boundary scan register output cells prior to selection of EXTEST. This initialization ensures that known data will appear on the outputs when entering the EXTEST instruction. The SAMPLE/PRELOAD instruction also provides a means to obtain a snapshot of system data and control signals. NOTE Since there is no internal synchronization between the scan chain clock (TCK) and the system clock (CLKOUT), the user must provide some form of external synchronization to achieve meaningful results. 22.5.3 BYPASS The BYPASS instruction selects the single-bit bypass register as shown in Figure 224. This creates a shift register path from TDI to the bypass register and, finally, to TDO, circumventing the 463-bit boundary scan register. This instruction is used to enhance test efficiency when a component other than the MPC555 / MPC556 becomes the device under test.
MPC555
/ MPC556
MOTOROLA 22-5
USERS MANUAL
G1 1 1 D C TO TDO
MUX
CLOCK DR
When the bypass register is selected by the current instruction, the shift register stage is set to a logic zero on the rising edge of TCK in the capture-DR controller state. Therefore, the first bit to be shifted out after selecting the bypass register will always be a logic zero. 22.5.4 CLAMP The CLAMP instruction selects the single-bit bypass register as shown in Figure 224, and the state of all signals driven from system output pins is completely defined by the data previously shifted into the boundary scan register (e.g., using the SAMPLE/ PRELOAD instruction). 22.5.5 HI-Z The HI-Z instruction is provided as a manufacturers optional public instruction to prevent having to backdrive the output pins during circuit-board testing. When HI-Z is invoked, all output drivers, including the two-state drivers, are turned off (i.e., high impedance). The instruction selects the bypass register. 22.6 Restrictions The MPC555 / MPC556 provides flexible control of external signals using the boundary scan register and EXTEST or CLAMP instructions. As a result, the circuit board test environment must be designed to avoid signal contention which may result in device destruction. 22.7 Low-Power Stop Mode The MPC555 / MPC556 features a low-power stop mode. The interaction of the scan chain interface with low-power stop mode is as follows: 1. The TAP controller must be in the test-logic-reset state to either enter or remain in the low-power stop mode. Leaving the TAP controller in the test-logic-reset state negates the ability to achieve low-power, but does not otherwise affect device functionality. / MPC556
MPC555
MOTOROLA 22-6
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 22-7
USERS MANUAL
SHIFT DR
TO NEXT CELL
TO OUTPUT BUFFER
G1 1 Mux 1
D C D C
CLOCK DR
UPDATE DR
TO NEXT CELL
INPUT PIN
G1 D C MUX 1 1
CLOCK DR
SHIFT DR
MPC555
/ MPC556
MOTOROLA 22-8
USERS MANUAL
SHIFT DR
TO NEXT CELL
TO OUTPUT BUFFER
G1 1 MUX 1
D C D C
CLOCK DR
UPDATE DR
I/O.CTL
OUTPUT DATA
O.Pin
En
I/O PIN
TO NEXT CELL
Figure 22-8 General Arrangement of Bidirectional Pin Cells The key to using the boundary scan register is knowing the boundary scan bit order and the pins that are associated with them. Below in Table 22-3 is the bit order starting
MPC555
/ MPC556
MOTOROLA 22-9
USERS MANUAL
Bi-directional pins include two scan cells for data (IO.Cell) as depicted in Figure 22-8. These bits are controlled by the cell shown in Figure 22-7. The value of the control bit controls the output function of the bidirectional pin. One or more bidirectional data cells can be serially connected to a control cell.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
MPC555
/ MPC556
MOTOROLA 22-10
USERS MANUAL
17 18 19 20 21 22 23
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
MPC555
/ MPC556
MOTOROLA 22-11
USERS MANUAL
48 49 50 51 52 53 54
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
MPC555
/ MPC556
MOTOROLA 22-12
USERS MANUAL
79 80 81 82 83 84 85
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
MPC555
/ MPC556
MOTOROLA 22-13
USERS MANUAL
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
MPC555
/ MPC556
MOTOROLA 22-14
USERS MANUAL
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
MPC555
/ MPC556
MOTOROLA 22-15
USERS MANUAL
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
MPC555
/ MPC556
MOTOROLA 22-16
USERS MANUAL
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
MPC555
/ MPC556
MOTOROLA 22-17
USERS MANUAL
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264
MPC555
/ MPC556
MOTOROLA 22-18
USERS MANUAL
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
MPC555
/ MPC556
MOTOROLA 22-19
USERS MANUAL
303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326
MPC555
/ MPC556
MOTOROLA 22-20
USERS MANUAL
334 335 336 337 338 339 340 341 342 343 344 345
MPC555
/ MPC556
MOTOROLA 22-21
USERS MANUAL
MPC555
/ MPC556
MOTOROLA 22-22
USERS MANUAL
SPR 8
LR
32
SPR 9
CTR
32
SPR 18
DSISR
32
SPR 19
DAR
32
SPR 22
DEC
32
SPR 26
SRR0
32
SPR 27
SRR1
32
SPR 80
EIE
32
SPR 81
EID
32
SPR 82
NRI
32
SPR 144 SPR 145 SPR 146 SPR 147 SPR 148 SPR 149
S S S S S S
32 32 32 32 32 32
U U U U S S
SPR 150
COUNTA
32
MOTOROLA A-2
S S S S S S S S U read only S
32 32 32 32 32 32 32 32 64
U U U U S S S U U
SPR 156 SPR 157 SPR 158 SPR 159 SPR 268, 269
SPR 272
SPRG0
32
SPR 273
SPRG1
32
SPR 274
SPRG2
32
SPR 275
SPRG3
32
SPR 284, 285 SPR 287 SPR 528 SPR 536 SPR 560 SPR 568 SPR 630 SPR 638
64 32 32 32 32 32 32 32
U U H POR, H U POR, H U H
MOTOROLA A-3
SPR 794 SPR 795 SPR 816 SPR 817 SPR 818 SPR 819 SPR 824 SPR 825 SPR 826 SPR 827
SPR 1022
FPECR
32
MOTOROLA A-4
0x2F C010
SIPEND
32
0x2F C014
SIMASK
32
0x2F C018
SIEL
32
0x2F C01C
U, read only U U U U U U
SIVEC
32
0x2F C020 0x2F C024 0x2F C028 0x2F C02C 0x2F C030 0x2F C03C 0x2F C040 0x2F C0FC
32 32 32 32 32 32
S H H H H H
MOTOROLA A-5
Size 32 32 32 16
Reset H H H H
TBSCR
Time Base Status and Control. See Table 6-16 for bit descriptions. Time Base Reference 0. See 6.13.4.3 Time Base Reference Registers for bit descriptions. Time Base Reference 1. See 6.13.4.3 Time Base Reference Registers for bit descriptions. Reserved Real Time Clock Status and Control. See Table 6-17 for bit descriptions. Real Time Clock. See 6.13.4.6 Real-Time Clock Register (RTC) for bit descriptions. Real Time Alarm Seconds, reserved. Real Time Alarm. See 6.13.4.7 Real-Time Clock Alarm Register (RTCAL) for bit descriptions.
16
0x2F C204
TBREF0
32
U3
TBREF1
32
U4
RTCSC
16
0x2F C224 0x2F C228 0x2F C22C 0x2F C230 0x2F C23C 0x2F C240
32 32 32
U U
T4 U4
U3
PISCR
Reserved PIT Status and Control. See Table 6-18 for bit descriptions. PIT Count. See Table 6-19 for bit descriptions. PIT Register. See Table 6-20 for bit descriptions.
0x2F C244
U3
PITC
U, read only
PITR
0x2F C280
U2
SCCR
System Clock Control Register. See Table 8-9 for bit descriptions.
32
MOTOROLA A-6
0x2F C300 0x2F C304 0x2F C308 0x2F C30C 0x2F C310 0x2F C31C 0x2F C320 0x2F C324 0x2F C328 0x2F C32C 0x2F C330 0x2F C33C 0x2F C340 0x2F C344 0x2F C348 0x2F C37C
U U U U U U U U U U
TBSCRK TBREF0K TBREF1K TBK RTCSCK RTCK RTSECK RTCALK PISCRIK PITCK
Time Base Status and Control Key. See Table 8-8 for bit descriptions. Time Base Reference 0 Key. See Table 8-8 for bit descriptions. Time Base Reference 1 Key. See Table 8-8 for bit descriptions. Time Base and Decrementer Key. See Table 8-8 for bit descriptions. Reserved Real-Time Clock Status and Control Key. See Table 8-8 for bit descriptions. Real-Time Clock Key. See Table 8-8 for bit descriptions. Real-Time Alarm Seconds Key. See Table 8-8 for bit descriptions. Real-Time Alarm Key. See Table 8-8 for bit descriptions. Reserved PIT Status and Control Key. See Table 8-8 for bit descriptions. PIT Count Key. See Table 8-8 for bit descriptions. Reserved Clocks and Reset Keys
32 32 32 32 32 32 32 32 32 32
POR POR POR POR POR POR POR POR POR POR
0x2F C380
SCCRK
System Clock Control Key. See Table 8-8 for bit descriptions. PLL Low-Power and Reset Control Register Key. See Table 8-8 for bit descriptions. Reset Status Register Key. See Table 8-8 for bit descriptions.
32
POR
0x2F C384
PLPRCRK
32
POR
RSRK
32
POR
Reserved
MOTOROLA A-7
Register
Size
Reset
32 32
POR, H POR, H
0x2F C808
CMFCTL
32
POR, H
CMFMCR CMFTST
CMF_B EEPROM Configuration Register. See Table 19-2 for bit descriptions. CMF_B EEPROM Test Register. See Table 19-3 for bit descriptions. CMF_B EEPROM High Voltage Control Register. See Table 19-6 for bit descriptions.
32 32
POR, H POR, H
0x2F C848
CMFCTL
32
POR, H
NOTES: 1. Bit 3 (FIC) is write-once. Bit 0 (LOCK) is write-once unless in freeze or test mode.
MOTOROLA A-8
0x30 0006
MISRH
16
0x30 0008
MISRL
16
0x30 000A
MISCNT
16
NOTES: 1. Access to the DPTRAM array through the IMB3 bus is disabled once bit 5 (EMU) of either TPUMCR is set.
MOTOROLA A-9
0x30 4006
DSSR_A
S, M
S S
TICR_A CIER_A
S, M S, M
0x30 400C
CFSR0_A
S, M
0x30 400E
CFSR1_A
162
S, M
0x30 4010
CFSR2_A
162
S, M
0x30 4012
S S/U3
S/U3 S/U3 S/U3
CFSR3_A
162 162 162 162 162 162 162 16 162 162 162 162
S, M
0x30 4014 0x30 4016 0x30 4018 0x30 401A 0x30 401C 0x30 401E 0x30 4020 0x30 4022 0x30 4024 0x30 4026 0x30 4028
HSQR0_A HSQR1_A HSRR0_A HSRR1_A CPR0_A CPR1_A CISR_A LR_A SGLR_A DCNR_A TPUMCR2_A
S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M
S S S T T T S4
MOTOROLA A-10
Register TPU_A Module Configuration Register 3. See Table 17-20 for bit descriptions. TPU_A Internal Scan Data Register TPU_A Internal Scan Control Register TPU_A Channel 0 Parameter Registers TPU_A Channel 1 Parameter Registers TPU_A Channel 2 Parameter Registers. TPU_A Channel 3 Parameter Registers. TPU_A Channel 4 Parameter Registers TPU_A Channel 5 Parameter Registers TPU_A Channel 6 Parameter Registers TPU_A Channel 7 Parameter Registers TPU_A Channel 8 Parameter Registers TPU_A Channel 9 Parameter Registers TPU_A Channel 10 Parameter Registers TPU_A Channel 11 Parameter Registers TPU_A Channel 11 Parameter Registers TPU_A Channel 11 Parameter Registers TPU_A Channel 14 Parameter Registers TPU_A Channel 15 Parameter Registers TPU_B
Size 162 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322
Reset S, M
0x30 4130 0x30 413F 0x30 4140 0x30 414F 0x30 4150 0x30 415F 0x30 4160 0x30 416F 0x30 4170 0x30 417F 0x30 4180 0x30 418F 0x30 4190 0x30 419F 0x30 41A0 0x30 41AF 0x30 41B0 0x30 41BF 0x30 41C0 0x30 41CF 0x30 41D0 0x30 41DF 0x30 41E0 0x30 41EF 0x30 41F0 0x30 41FF 44001
0x30
S1 T S S S S
TPU3_B Module Configuration Register TPU3_B Test Configuration Register TPU3_B Development Support Control Register TPU3_B Development Support Status Register TPU3_B Interrupt Configuration Register TPU3_B Channel Interrupt Enable Register
S, M S, M S, M S, M S, M S, M
0x30 4402 0x30 4404 0x30 4406 0x30 4408 0x30 440A
MOTOROLA A-11
Symbol CFSR0_B CFSR1_B CFSR2_B CFSR3_B HSQR0_B HSQR1_B HSRR0_B HSRR1_B CPR0_B CPR1_B CISR_B LR_B SGLR_B DCNR_B TPUMCR2_B TPUMCR3_B ISDR_B ISCR_B
Register TPU3_B Channel Function Selection Register 0 TPU3_B Channel Function Selection Register 1 TPU3_B Channel Function Selection Register 2 TPU_B Channel Function Selection Register 3 TPU_B Host Sequence Register 0 TPU_B Host Sequence Register 1 TPU_B Host Service Request Register 0 TPU_B Host Service Request Register 1 TPU_B Channel Priority Register 0 TPU_B Channel Priority Register 1 TPU_B Channel Interrupt Status Register TPU_B Link Register TPU_B Service Grant Latch Register TPU_B Decoded Channel Number Register TPU_B Module Configuration Register 2 TPU_B Module Configuration Register 3 TPU_B Internal Scan Data Register TPU_B Internal Scan Control Register TPU_B Channel 0 Parameter Registers TPU_B Channel 1 Parameter Registers TPU_B Channel 2 Parameter Registers TPU_B Channel 3 Parameter Registers TPU_B Channel 4 Parameter Registers TPU_B Channel 5 Parameter Registers TPU_B Channel 6 Parameter Registers TPU_B Channel 7 Parameter Registers TPU_B Channel 8 Parameter Registers TPU_B Channel 9 Parameter Registers TPU_B Channel 10 Parameter Registers
Size 162 162 162 162 162 162 162 162 162 162 16 162 162 162 162 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322 16, 322
Reset S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M S, M
0x30 441A 0x30 441C 0x30 441E 0x30 4420 0x30 4422 0x30 4424 0x30 4426 0x30 4428 0x30 442A 0x30 442C 0x30 442E 0x30 4500 0x30 450E 0x30 4510 0x30 451E 0x30 4520 0x30 452E 0x30 4530 0x30 453E 0x30 4540 0x30 454E 0x30 4550 0x30 455E 0x30 4560 0x30 456E 0x30 4570 0x30 457E 0x30 4580 0x30 458E 0x30 4590 0x30 459E 0x30 45A0 0x30 45AE
S S S T T T S4 S T T
S/U3 S/U3 S/U3 S/U3 S/U3 S/U3 S/U3 S/U3 S/U3 S/U3 S/U3
MOTOROLA A-12
Symbol
Register TPU_B Channel 11 Parameter Registers TPU_B Channel 11 Parameter Registers TPU_B Channel 11 Parameter Registers TPU_B Channel 14 Parameter Registers TPU_B Channel 15 Parameter Registers
Size 16, 322 16, 322 16, 322 16, 322 162
Reset
NOTES: 1. Bit 10 (TPU3) and bit 11 (T2CSL) are write-once. Bits 1:2 (TCR1P) and bits 3:4 (TCR2P) are write-once if PWOD is not set in the TPUMCR3 register. This register cannot be accessed with a 32-bit read. It can only be accessed with an 8- or 16-bit read. 2. Some TPU registers can only be read or written with 16- or 32-bit accesses. 8-bit accesses are not allowed. 3. S/U = Supervisor accessible only if SUPV = 1 or unrestricted if SUPV = 0. Unrestricted registers allow both user and supervisor access. The SUPV bit is in the TPUMCR register. 4. Bits 9:10 (ETBANK), 14 (T2CF), and 15 (DTPU) are write-once.
QADC64MCR_A QADC64TEST_ A QADC64INT_A PORTQA_A/ PORTQB_A DDRQA_A/ DDRQB_A QACR0_A QACR1_A QACR2_A QASR0_A QASR1_A CCW_A
QADC64 Module Configuration Register. See Table 13-7 for bit descriptions. QADC64 Test Register Interrupt Register. See Table 13-8 for bit descriptions. Port A and Port B Data. See Table 13-9 for bit descriptions. Port A Data and Port B Direction Register. See Table 13-10 for bit descriptions. QADC64 Control Register 0. See Table 13-11 for bit descriptions. QADC64 Control Register 1. See Table 13-12 for bit descriptions. QADC64 Control Register 2. See Table 13-14 for bit descriptions. QADC64 Status Register 0. See Table 13-16 for bit descriptions. QADC64 Status Register 1. See Table 13-18 for bit descriptions. Reserved Conversion Command Word Table. See Table 13-19 for bit descriptions.
16 16 16 16 16 16 16 16 16 16 16
S S U S S S S S S U
MOTOROLA A-13
Size 16
Reset X
S/U
LJSRR_A
16
S/U
LJURR_A
16
QADC64MCR_B QADC64 Module Configuration Register QADC64TEST_ B QADC64INT_B PORTQA_B/ PORTQB_B DDRQA_B/ DDRQB_B QACR0_B QACR1_B QACR2_B QASR0_B QASR1_B CCW_B RJURR_B LJSRR_B LJURR_B QADC64 Test Register Interrupt Register Port A and Port B Data Port A Data and Port B Direction Register QADC64 Control Register 0 QADC64 Control Register 1 QADC64 Control Register 2 QADC64 Status Register 0 QADC64 Status Register 1 Reserved Conversion Command Word Table Result Word Table. Right-Justified, Unsigned Result Register. Result Word Table. Left-Justified, Signed Result Register. Result Word Table. Left-Justified, Unsigned Result Register.
16 16 16 16 16 16 16 16 16 16 16 16 16 16
S S U S S S S S S U X X X
0x30 4C02 0x30 4C04 0x30 4C06 0x30 4C08 0x30 4C0A 0x30 4C0C 0x30 4C0E 0x30 4C10 0x30 4C12 0x30 4C14 0x30 4DFE 0x30 4E00 0x30 4E7E 0x30 4E80 0x30 4EFE 0x30 4F00 0x30 4F7E 0x30 4F80 0x30 4FFE
MOTOROLA A-14
0x30 500C 0x30 500E 0x30 5010 0x30 5012 0x30 5014
S/U
PORTQS
16
0x30 5016
S/U
PQSPAR/ DDRQST SPCR0 SPCR1 SPCR2 SPCR3 SPSR SCC2R0 SCC2R1 SC2SR SC2DR QSCI1CR QSCI1SR SCTQ SCRQ
16
0x30 5018 0x30 501A 0x30 501C 0x30 501E 0x30 501F 0x30 5020 0x30 5022 0x30 5024 0x30 5026 0x30 5028 0x30 502A 0x30 502C 0x30 504A 0x30 504C 0x30 506A 0x30 506C 0x30 5013F
S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U1 S/U2 S/U S/U
16 16 16 8 8 16 16 16 16 16 16 16 16
S S S S S S S S S S S S S
MOTOROLA A-15
NOTES: 1. Bits 03 writeable only in test mode, otherwise read only. 2. Bits 311 writeable only in test mode, otherwise read only.
Address
Access
Symbol
Register MPWMSM0 Period Register. See Table 15-20 for bit descriptions. MPWMSM0 Pulse Register. See Table 15-21 for bit descriptions. MPWMSM0 Count Register. See Table 15-22 for bit descriptions. MPWMSM0 Status/Control Register. See Table 15-23 for bit descriptions. MPWMSM1 Period Register. See Table 15-20 for bit descriptions. MPWMSM1 Pulse Register. See Table 15-21 for bit descriptions. MPWMSM1 Count Register. See Table 15-22 for bit descriptions. MPWMSM1 Status/Control Register. See Table 15-23 for bit descriptions. MPWMSM2 Period Register. See Table 15-20 for bit descriptions. MPWMSM2 Pulse Register. See Table 15-21 for bit descriptions. MPWMSM2 Count Register. See Table 15-22 for bit descriptions. MPWMSM2 Status/Control Register. See Table 15-23 for bit descriptions. MPWMSM3 Period Register. See Table 15-20 for bit descriptions. MPWMSM3 Pulse Register. See Table 15-21 for bit descriptions. MPWMSM3 Count Register. See Table 15-22 for bit descriptions.
Size
Reset
MPWMSM0 (MIOS Pulse Width Modulation Submodule 0) 0x30 6000 0x30 6002 0x30 6004 0x30 6006 S/U S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR MPWMSMSCR 16 16 16 16 X X X S
MPWMSM1 (MIOS Pulse Width Modulation Submodule 1) 0x30 6008 0x30 600A 0x30 600C 0x30 600E S/U S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR MPWMSMSCR 16 16 16 16 X X X S
MPWMSM2 (MIOS Pulse Width Modulation Submodule 2) 0x30 6010 0x30 6012 0x30 6014 0x30 6016 S/U S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR MPWMSMSCR 16 16 16 16 X X X S
MPWMSM3 (MIOS Pulse Width Modulation Submodule 3) 0x30 6018 0x30 601A 0x30 601C S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR 16 16 16 X X X
MOTOROLA A-16
MMCSM6 (MIOS Modulus Counter Submodule 6) 0x30 6030 0x30 6032 S/U S/U MMCSMCNT MMCSMML 16 16 X X
0x30 6034
S/U
MMCSMSCRD
16
0x30 6036
S/U
MMCSMSCR
16
MDASM11 (MIOS Double Action Submodule 11) 0x30 6058 S/U MDASMAR 16 X
0x30 605A
S/U
MDASMBR
16
0x30 605C
S/U
MDASMSCRD
16
0x30 605E
S/U
MDASMSCR
16
MDASM12 (MIOS Double Action Submodule 12) 0x30 6060 S/U MDASMAR 16 X
0x30 6062
S/U
MDASMBR
16
0x30 6064
S/U
MDASMSCRD
16
0x30 6066
S/U
MDASMSCR
16
MDASM13 (MIOS Double Action Submodule 13) 0x30 6068 S/U MDASMAR 16 X
0x30 606A
S/U
MDASMBR
16
0x30 606C
S/U
MDASMSCRD
16
MOTOROLA A-17
MDASM14 (MIOS Double Action Submodule 14) 0x30 6070 S/U MDASMAR 16 X
0x30 6072
S/U
MDASMBR
16
0x30 6074
S/U
MDASMSCRD
16
0x30 6076
S/U
MDASMSCR
16
MDASM15 (MIOS Double Action Submodule 15) 0x30 6078 S/U MDASMAR 16 X
0x30 607A
S/U
MDASMBR
16
0x30 607C
S/U
MDASMSCRD
16
0x30 607E
S/U
MDASMSCR
16
MPWMSM16 (MIOS Pulse Width Modulation Submodule 16) 0x30 6080 0x30 6082 0x30 6084 0x30 6086 S/U S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR MPWMSMSCR 16 16 16 16 X X X S
MPWMSM17 (MIOS Pulse Width Modulation Submodule 17) 0x30 6088 0x30 608A 0x30 608C 0x30 608E S/U S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR MPWMSMSCR 16 16 16 16 X X X S
MOTOROLA A-18
MPWMSM19 (MIOS Pulse Width Modulation Submodule 19) 0x30 6098 S/U S/U S/U S/U MPWMSMPERR MPWMSMPULR MPWMSMCNTR MPWMSMSCR 16 16 16 16 X X X S
MMCSM22 (MIOS Modulus Counter Submodule 22) 0x30 60B0 0x30 60B2 S/U S/U MMCSMCNT MMCSMML 16 16 X X
0x30 60B4
S/U
MMCSMSCRD
16
0x30 60B6
S/U
MMCSMSCR
16
MDASM27 (MIOS Double Action Submodule 27) 0x30 60D8 S/U MDASMAR 16 X
0x30 60DA
S/U
MDASMBR
16
0x30 60DC
S/U
MDASMSCRD
16
0x30 60DE
S/U
MDASMSCR
16
MDASM28 (MIOS Double Action Submodule 28) 0x30 60E0 S/U MDASMAR 16 X
0x30 60E2
S/U
MDASMBR
16
MOTOROLA A-19
0x30 60E4
S/U
MDASMSCRD
16
0x30 60E6
S/U
MDASMSCR
16
MDASM29 (MIOS Double Action Submodule 29) 0x30 60E8 S/U MDASMAR 16 X
0x30 60EA
S/U
MDASMBR
16
0x30 60EC
S/U
MDASMSCRD
16
0x30 60EE
S/U
MDASMSCR
16
MDASM30 (MIOS Double Action Submodule 30) 0x30 60F0 S/U MDASMAR 16 X
0x30 60F2
S/U
MDASMBR
16
0x30 60F4
S/U
MDASMSCRD
16
0x30 60F6
S/U
MDASMSCR
16
MDASM31 (MIOS Double Action Submodule 31) 0x30 60F8 S/U MDASMAR 16 X
0x30 60FA
S/U
MDASMBR
16
0x30 60FC
S/U
MDASMSCRD
16
0x30 60FE
S/U
MDASMSCR
16
MPIOSM (MIOS 16-bit Parallel Port I/O Submodule) 0x30 6100 0x30 6102 S/U S/U MPIOSMDR MPIOSMDDR 16 16 X S
MOTOROLA A-20
MBISM (MIOS Bus Interface Submodule) 0x30 6800 0x30 6802 0x30 6804 0x30 6806 0x30 6808 0x30 680E 0x30 6810 0x30 6814 0x30 6816 S1 S S, read only S S MIOS1TPCR MIOS1VNR MIOS1MCR MIOS1 Test and Pin Control Register. See Table 15-3 for bit descriptions. Reserved MIOS1 Module Version Number Register. See Table 15-4 for bit descriptions. MIOS1 Module Control Register. See Table 15-4 for bit descriptions. Reserved 16 16 16 S X S
MCPSM (MIOS Counter Prescaler Submodule) S S MCPSMSCR Reserved MCPSM Status/Control Register. See Table 15-10 for bit descriptions. MIRSM0 Interrupt Status Register. See Table 15-29 for bit descriptions. Reserved MIRSM0 Interrupt Enable Register. See Table 15-30 for bit descriptions. MIRSM0 Request Pending Register. See Table 15-31 for bit descriptions. MIOS1 Interrupt Level Register 0. See Table 15-7 for bit descriptions. MIRSM1 Interrupt Status Register. See Table 15-33 for bit descriptions. Reserved MIRSM1 Interrupt Enable Register. See Table 15-34 for bit descriptions. MIRSM1 Request Pending Register. See Table 15-35 for bit descriptions. MIOS1 Interrupt Level Register 1. See Table 15-8 for bit descriptions. 16 S S
MIRSM0 (MIOS Interrupt Request Submodule 0) 0x30 6C00 0x30 6C02 0x30 6C04 0x30 6C06 S S S S, read only MIOS1SR0 MIOS1ER0 MIOS1RPR0 16 16 16 X S S
MIRSM1 (MIOS Interrupt Request Submodule 1) 0x30 6C40 0x30 6C42 0x30 6C44 0x30 6C46 S S S S, read only MIOS1SR1 MIOS1ER1 MIOS1RPR1 16 16 16 X S S
MOTOROLA A-21
TouCAN_A (Note: Bit descriptions apply to TouCAN_B as well) 0x30 7080 0x30 7082 0x30 7084 S T S TCNMCR_A CANTCR_A CANICR_A TouCAN_A Module Configuration Register. See Table 16-11 for bit descriptions. TouCAN_A Test Register TouCAN_A Interrupt Configuration Register. See Table 16-12 for bit descriptions. TouCAN_A Control Register 0/ TouCAN_A Control Register 1. See Table 16-13 and Table 16-16 for bit descriptions. TouCAN_A Control and Prescaler Divider Register/ TouCAN_A Control Register 2. See Table 16-17 and Table 16-18 for bit descriptions. TouCAN_A Free-Running Timer Register. See Table 16-19 for bit descriptions. RXGMSKHI_A RXGMSKLO_A Reserved TouCAN_A Receive Global Mask High. See Table 16-20 for bit descriptions. TouCAN_A Receive Global Mask Low. See Table 16-20 for bit descriptions. TouCAN_A Receive Buffer 14 Mask High. See 16.7.10 Receive Buffer 14 Mask Registers for bit descriptions. TouCAN_A Receive Buffer 14 Mask Low. See 16.7.10 Receive Buffer 14 Mask Registers for bit descriptions. TouCAN_A Receive Buffer 15 Mask High. See 16.7.11 Receive Buffer 15 Mask Registers for bit descriptions. TouCAN_A Receive Buffer 15 Mask Low. See 16.7.11 Receive Buffer 15 Mask Registers for bit descriptions. Reserved TouCAN_A Error and Status Register. See Table 16-21 for bit descriptions. TouCAN_A Interrupt Masks. See Table 16-24 for bit descriptions. TouCAN_A Interrupt Flags. See Table 16-25 for bit descriptions. TouCAN_A Receive Error Counter/ TouCAN_A Transmit Error Counter. See Table 16-26 for bit descriptions. 16 16 16 16 16 S S S
0x30 7086
S/U
CANCTRL0_A/ CANCTRL1_A
16
0x30 7088
S/U
PRESDIV_A/ CTRL2_A
16
0x30 708A 0x30 708C 0x30 708E 0x30 7090 0x30 7092
TIMER_A
S S S
0x30 7094
S/U
RX14MSKHI_A
16
0x30 7096
S/U
RX14MSKLO_A
16
0x30 7098
S/U
RX15MSKHI_A
16
0x30 709A 0x30 709C 0x30 709E 0x30 70A0 0x30 70A2 0x30 70A4
S/U
RX15MSKLO_A
16
16 16 16
S S S
0x30 70A6
S/U
RXECTR_A/ TXECTR_A
16
MOTOROLA A-22
S/U
MBUFF0_A
S/U
MBUFF1_A
S/U
MBUFF2_A
S/U
MBUFF3_A
0x307140 0x30714F 0x307150 0x30715F 0x307160 0x30716F 0x307170 0x30717F 0x307180 0x30718F 0x307190 0x30719F 0x3071A0 0x3071AF 0x3071B0 0x3071BF 0x3071C0 0x3071CF 0x3071D0 0x3071DF 0x3071E0 0x3071EF 0x3071F0 0x3071FF
S/U
MBUFF4_A
S/U
MBUFF5_A
S/U
MBUFF6_A
S/U
MBUFF7_A
S/U
MBUFF8_A
S/U
MBUFF9_A
S/U
MBUFF10_A
S/U
MBUFF11_A
S/U
MBUFF12_A
S/U
MBUFF13_A
S/U
MBUFF14_A
S/U
MBUFF15_A
MOTOROLA A-23
S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U S/U
16
S S S S S S S S S S S S U U U U U U U U U U
0x30 748C 0x30 748E 0x30 7490 0x30 7492 0x30 7494 0x30 7496 0x30 7498 0x30 749A 0x30 749C 0x30 749E 0x30 74A0 0x30 74A2 0x30 74A4 0x30 74A6 0x307500 0x30750F 0x307510 0x30751F 0x307520 0x30752F 0x307530 0x30753F 0x307540 0x30754F 0x307550 0x30755F 0x307560 0x30756F 0x307570 0x30757F 0x307580 0x30758F 0x307590 0x30759F
MOTOROLA A-24
0x3075F0 0x3075FF
NOTES: 1. Bit 0 (LCK) locks the register (write-protected except in test mode) and is write once.
MOTOROLA A-25
MOTOROLA A-26
MOTOROLA B-1
MOTOROLA B-2
MOTOROLA B-3
MOTOROLA B-4
MOTOROLA B-5
MOTOROLA B-6
MOTOROLA B-7
V VDDSRM sensor register (VSRMSR) 8-36 VSRMSR (VDDSRM control register) 8-36 X XER (integer exception register) 3-17
MOTOROLA B-8
MOTOROLA C-1
ICTRL (i-bus support control register) 21-47 IFLAG (interrupt flag register) 16-33 IMASK (interrupt mask register) 16-32 IMMR (internal memory mapping register) 6-21 L L2U_GRA (L2U global region attribute register) 11-16 L2U_MCR (L2U module configuration register) 11-13 L2U_RAx (L2U region X attribute register) 11-15 L2U_RBAx (L2U region x base address register) 11-14 LCTRL1 (l-bus support control register 1) 21-49 LCTRL2 (l-bus support control register 2) 21-50 LJSRR (left justified, signed result register) 13-49 LJURR (left justified, unsigned result register) 13-50 LR (link register) 3-18 M MCPSMSCR (MCPSM status/control register) 15-13 MDASMAR (MDASM data A register) 15-21 MDASMBR (MDASM data B register) 15-22 MDASMSCR (MDASM status/control register) 15-23 MDASMSCRD (MDASM status/control register - duplicated) 15-22 MI_GRA (global region attribute register) 4-23 MIOS1ER0 (MIRSM0 interrupt enable register) 15-35 MIOS1ER1 (interrupt enable register) 15-37 MIOS1LVL0 (MIOS1 interrupt level register 0) 15-11 MIOS1LVL1 (MIOS1 interrupt level 1 register) 15-11 MIOS1MCR (MIOS1 module configuration register) 15-9 MIOS1RPR0 (MIRSM0 request pending register) 15-35 MIOS1RPR1 (MIRSM1 request pending register) 15-38 MIOS1SR0 (MIRSM0 interrupt status register) 15-34 MIOS1SR1 (MIRSM1 interrupt status register) 15-36 MIOS1TPCR (test and pin control register) 15-8 MIOS1VNR (MIOS1 module/version number register) 15-9 MISCNT (MISC counter) 18-6 MISRH (multiple input signature register high) 18-5 MISRL (multiple input signature register low) 18-6 MMCSMCNT (MMCSM up-counter register) 15-16 MMCSMML (MMCSM modulus latch register) 15-16 MMCSMSCR (MMCSM status/control register) 15-17 MMCSMSCRD (MMCSM status/control register - duplicated) 15-17 MPIOSMDDR (MPIOSM data direction register) 15-31 MPIOSMDR (MPIOSM data register) 15-31
MOTOROLA C-2
MOTOROLA C-3
TB (time base) 3-19, 3-23, 6-29 TBREF0 (time base reference register 0) 6-29 TBREF1 (time base reference register 1) 6-29 TBSCR (time base control and status register) 6-30 TESR (transfer error status register) 6-27 TICR (TPU3 interrupt configuration register) 17-14 TIMER (free running timer register) 16-29 TPUMCR (TPU3 module configuration register) 17-10 TPUMCR2 (TPU3 module configuration register 2) 17-20 TPUMCR3 (TPU3 module configuration register 3) 17-21 U UIPEND (UIMB pending interrupt reqiuest register) 12-8 UMCR (UIMB module configuration register) 12-7 V VSRMSR (VDDSRM control register) 8-36 X XER (integer exception register) 3-17
MOTOROLA C-4
DPTRAM*
0 Bank 0 1FF Bank 1 3FF Bank 2 5FF
*The DPTRAM is located at 0x30 2000 until it is switched to emulation mode. In emulation mode, the DPTRAM is accessible by the TPUs only.
Figure D-1 TPU3 Memory Map The TPU3 can address up to eight Kbytes of memory at any one time. It has four Kbytes of internal ROM, located in Bank 0 and Bank 1, and six Kbytes of dual-ported SRAM (DPTRAM), located in Bank 0, Bank 1and Bank 2. As only one type of memory can be used at a time, the TPU3 must either use the internal ROM or the SRAM. Functions from both memory types cannot be used in conjunction.
MPC555 / MPC556 USERS MANUAL TPU ROM FUNCTIONS MOTOROLA D-1
The functions in the entry table in bank one are listed in Table D-2.
MOTOROLA D-2
6 5 4 3 2 1 0
The functions in the Bank 1 entry table are identical to the Bank 0 entry table functions with three exceptions. Function 1, SPWM, has been replaced by RWTPIN. This is a function that allows reads and writes to the TPU time bases and corresponding pin. Function 5, PPWA, is now an identification function in Table D-2. The microcode ROM revision number is provided by this function. Finally, Function 7, MCPWM, has been removed and left open for future use. The CPU selects which entry table to use by setting the ETBANK field in the TPUMCR2 register. This register is write once after reset. Although one entry table is specified at start-up, it is possible, in some cases, to use functions from both tables without resetting the microcontroller. A customer may, for example, wish to use the ID function from Bank 1 to verify the TPU microcode version but then use the MCPWM function from Bank 0. As a customer will typically only run the ID function during system configuration, and not again after that, the Bank 1 entry table can be changed to the Bank 0 entry table using the soft reset feature of the TPU3. The procedure should be: 1. Set ETBANK field in TPUMCR2 to 0b01 to select the entry table in Bank 1 2. Run the ID function 3. Stop the TPU3 by setting the STOP bit in the TPUMCR to one. 4. Reset the TPU3 by setting the SOFTRST bit in the TPUMCR2 register 5. Wait at least nine clocks 6. Clear the SOFTRST bit in the TPUMCR2 register The TPU3 stays in reset until the CPU clears the SOFTRST bit. After the SOFTRST bit has been cleared the TPU3 will be reset and the entry table in Bank 0 will be selected by default. To select the Bank 0 entry table, write 0b00 to the ETBANK field in
MPC555 / MPC556 USERS MANUAL TPU ROM FUNCTIONS MOTOROLA D-3
MOTOROLA D-4
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU MAX_COUNT
MOTOROLA D-5
MOTOROLA D-6
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE 0x30YY(W=1)0 0x30YY(W=1)2 : 0x30YY(W=1)14 *Not Available On All Channels. = Written By CPU = Written By TPU : OFFSET_14* REF_ADDR LOOP_CNT B
0 A C ; ; ; ; ; ; ; ; : ;
LAST_OFF_ADDR OFF_PTR
MOTOROLA D-7
MOTOROLA D-8
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
TABLE_SIZE SLEW_PERIOD START_PERIOD
PIN_SEQUENCE
MOTOROLA D-9
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YY(W+1)0 0x30YY(W+1)2 0x30YY(W+1)4 0x30YY(W+1)6 0x30YY(W+1)8 0x30YY(W+1)A 0x30YY(W+1)C* : ACCEL_RATIO_2 ACCEL_RATIO_4 ACCEL_RATIO_6 ACCEL_RATIO_8 ACCEL_RATIO_10 ACCEL_RATIO_12 ACCEL_RATIO_14* :
0x30YY(W+3)A* ACCEL_RATIO_36* ACCEL_RATIO_35* *Optional Additional Parameters not Available in all cases. Refer to Motorola Programming Note TPUPN04/D for details = Written By CPU = Written by CPU and TPU W = Channel Number = Written By TPU = Unused Parameters YY = 41 for TPU_A and 44 for TPU_B
MOTOROLA D-10
MOTOROLA D-11
ADDRESSES 0x30YY0A
0 0x30YY0C 0x30YY12
01 Begin with Falling Edge, Continuous Mode 10 Begin with Rising Edge, Single-Shot Mode 11 Begin with Rising Edge, Continuous Mode 1 0 cHost Service Bits 00 No Host Service (Reset Condition) 01 Not Used 10 Initialize 11 Not Used 1 0 cChannel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 cChannel Interrupt Status 0 Channel Interrupt Not Asserted 1 Channel Interrupt Asserted 0x30YY20 0x30YY1C 0x30YY1E 0x30YY18 0x30YY1A
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
MOTOROLA D-12
MOTOROLA D-13
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWA = Written By CPU = Written By TPU TDRE
MOTOROLA D-14
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWA = Written By CPU = Written By TPU PE RE
MOTOROLA D-15
MOTOROLA D-16
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
START_LINK_ CHANNEL LINK_CHAN NEL_COUNT
CHANNEL_CONTROL PARAM_ADDR 0
MOTOROLA D-17
Figure D-10 and Figure D-11 show all of the host interface areas for the COMM function.
MOTOROLA D-18
NAME 0
ADDRESSES 0x30YY0A
cChannel Interrupt Enable 0 Channel Interrupts Disabled 1 Channel Interrupts Enabled 3 2 1 0 cChannel Function Select xxxx FQD Function Number (Assigned During Microcode Assembly) 00 Sensorless Match Update Mode 01 Sensorless Match Update Mode 10 Sensorless Link Update Mode 11 Sensorled Mode 1 0 cHost Service Request 00 No Host Service (Reset Condition) 01 Not Used 10 Initialize or Force State 11 Initialize or Force Immediate State Test 1 0 cChannel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 cChannel Interrupt Status 0 Channel Interrupt Not Asserted 1 Channel Interrupt Asserted
0x30YY0C 0x30YY12
0x30YY18 0x30YY1A
0x30YY1C 0x30YY1E
0x30YY20
COUNTER_ADDR STATE_NO
MOTOROLA D-19
PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG PIN_CONFIG
0x30YY(W + 3)A *Not Available on all Channels = Written By CPU = Written By TPU LENGTH
STATE 21* PIN_CONFIG W = Master Channel Number YY = 41 for TPU_A and 44 for TPU_B
Figure D-11 COMM Parameters (Part 2 of 2) D.9 Hall Effect Decode (HALLD) The HALLD function decodes the sensor signals from a brushless motor, along with a direction input from the CPU, into a state number. The function supports two- or threesensor decoding. The decoded state number is written into a COMM channel, which outputs the required commutation drive signals. In addition to brushless motor applications, the function can have more general applications, such as decoding option switches. See Motorola TPU Progamming Note Hall Effect Decode TPU Function (HALLD), (TPUPN10/D). Figure D-12 shows all of the host interface areas for the HALLD function.
MOTOROLA D-20
NAME 0
ADDRESSES 0x30YY0A
cChannel Interrupt Enable 0 Channel Interrupts Disabled 1 Channel Interrupts Enabled 3 2 1 0 cChannel Function Select xxxx FQD Function Number (Assigned During Microcode Assembly) 00 Channel A 01 Channel B 10 Channel B 11 Channel C (3-Channel Mode Only) 1 0 cHost Service Request 00 No Host Service (Reset Condition) 01 Not Used 10 Initialize, 2-Channel Mode 11 Initialize, 3-Channel Mode 1 0 cChannel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 cChannel Interrupt Status x Not Used
0x30YY0C 0x30YY12
0x30YY18 0x30YY1A
0x30YY1C 0x30YY1E
0x30YY20
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU PINSTATE
W = Channel Number
NOTES:
YY = 41 for TPU_A and 44 for TPU_B = Written By TPU = Unused Parameters 1. Channel A Only. 2. One Channel Only (Channel B in 2-Channel Mode, Channel C in 3-Channel Mode.
MOTOROLA D-21
Figure D-13 through Figure D-18 show the host interface areas for the MCPWM function in each mode.
MOTOROLA D-22
NAME 0
ADDRESSES 0x30YY0A
cChannel Interrupt Enable 0 Channel Interrupts Disabled 1 Channel Interrupts Enabled 3 2 1 0 cChannel Function Select xxxx FQD Function Number (Assigned During Microcode Assembly) 00 Edge-Aligned Mode 01 Slave A Type Center-Aligned Mode 10 Slave B Type Center-Aligned Mode 11 Slave C Type Center-Aligned Mode 1 0 cHost Service Request 00 No Host Service (Reset Condition) 01 Initialize as Slave (Inverted) 10 Initialize, as Slave (Normal) 11 Initialize as Master 1 0 cChannel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 cChannel Interrupt Status 0 Channel Interrupt Not Asserted 1 Channel Interrupt Asserted
0x30YY0C 0x30YY12
0x30YY18 0x30YY1A
0x30YY1C 0x30YY1E
0x30YY20
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
IRQ_RATE
MOTOROLA D-23
ADDRESSES 0x30YY0A
0x30YY0C 0x30YY12
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU PERIOD HIGH_TIME
MOTOROLA D-24
ADDRESSES 0x30YY0A
0x30YY0C 0x30YY12
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU DEAD_TIME PERIOD
NXT_B_RISE_TIME NXT_B_FALL_TIME
MOTOROLA D-25
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU HIGH_TIME
CURRENT_HIGH_TIME TEMP_STORAGE
B_FALL_TIME_PTR B_RISE_TIME_PTR
MOTOROLA D-26
ADDRESSES 0x30YY0A
0x30YY0C 0x30YY12
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU DEAD_TIME PERIOD
NXT_B_RISE_TIME NXT_B_FALL_TIME
MOTOROLA D-27
0x30YY14 0x30YY16
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU HIGH_TIME
CURRENT_HIGH_TIME TEMP_STORAGE
B_FALL_TIME_PTR B_RISE_TIME_PTR
MOTOROLA D-28
MOTOROLA D-29
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
EDGE_TIME
POSITION_COUNT
MOTOROLA D-30
ADDRESSES
xxxx FQD Function Number (Assigned During Microcode Assembly) 00 Primary Channel (Normal Mode) 01 Secondary Channel (Normal Mode) 10 Primary Channel (Fast Mode) 11 Secondary Channel (Fast Mode)
0x30YY0C 0x30YY12
0 cHost Service Bits 00 No Host Service (Reset Condition) 01 Not Used 10 Read TCR1 11 Initialize 0x30YY18 0x30YY1A
0 cChannel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 cChannel Interrupt Enable x Not Used 0 cChannel Interrupt Status xx Not Used 0x30YY20 0x30YY0A 0x30YY1C 0x30YY1E
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
MOTOROLA D-31
MOTOROLA D-32
0x30YY1C 0x30YY1E
0x30YY14 0x30YY16
0x30YY0A
0x30YY20 6 5 4 3 2 1 0
CHANNEL_CONTROL PERIOD_COUNT
NOTES: 1. The TPU does not check the value of LINK_CHANNEL_COUNT. If this parameter is NOT >0 and 8, results are unpredictible. 2. MAX_COUNT may be written at any time by the host CPU, but if the value written is PERIOD_COUNT, a period or pulse-width accumulation is terminated. If this happens, the number of periods over which the accumulation is done will not correspond to MAX_COUNT.
MOTOROLA D-33
where RATIO is a parameter supplied. This algorithm generates a 50% duty-cycle continuous square wave with each high/ low time equal to the calculated OFFSET. Due to offset calculation, there is an initial link time before continuous pulse generation begins. See Motorola TPU Progamming Note Output Compare TPU Function (OC), (TPUPN12/D). Figure D-22 shows the host interface areas and parameter RAM for the OC function.
MOTOROLA D-34
0x30YY1C 0x30YY1E
0x30YY14 0x30YY16
0x30YY18 0x30YY1A
0x30YY0A
0x30YY20 6 5 4 3 2 1 0
CHANNEL_CONTROL REF_ADDR1 0 REF_TIME ACTUAL_MATCH_TIME TCR1 TCR2 c= Written by CPU and TPU c= Unused Parameters W = Channel Number YY = 41 for TPU_A and 44 for TPU_B REF_ADDR3 0 0
REF_ADDR2
MOTOROLA D-35
MOTOROLA D-36
0x30YY1C 0x30YY1E
0 cHost Service Bits 00 Not Used 01 Immediate Update of PWM 10 Initialize 11 Not Used 0 cInterrupt Enable 0 cInterrupt Status PARAMETER RAM 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0x30YY20 0 0 Interrupt Not Asserted 1 Interrupt Asserted 0x30YY0A 0x30YY18 0x30YY1A
0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE c= Written By CPU c= Written By TPU
OLDRIS
CHANNEL_CONTROL
PWMHI (1, 3)
MOTOROLA D-37
MOTOROLA D-38
0x30YY1C 0x30YY1E
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
PIN_LEVEL
CHANNEL_CONTROL
MATCH_RATE
MOTOROLA D-39
MOTOROLA D-40
0x30YY1C 0x30YY1E
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU DELAY LASTRISE
NEXTRISE HIGH_TIME
CHANNEL_CONTROL
PERIOD REF_ADDR1
MOTOROLA D-41
PARAMETER RAM (MODE 1) 15 14 13 12 11 10 9 8 7 6 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE REF_ADDR1 REF_VALUE LASTRISE
NEXTRISE HIGH_TIME
CHANNEL_CONTROL
DELAY REF_ADDR2
PARAMETER RAM (MODE 2) 15 14 13 12 11 10 9 8 7 6 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU START_LINK_ CHANNEL LASTRISE
NEXTRISE HIGH_TIME
CHANNEL_CONTROL
REF_ADDR1
MOTOROLA D-42
The CPU can control the channel pin, the channel pin and the TCRs, or just the TCRs. To control the pin only, the read TCR option is used and the values returned ignored. Controlling the TCRs without effect on the pin allows this function to be run on a TPU channel whose pin is being controlled by a different function running on another channel (e.g., a slave stepper motor channel). See Motorola TPU Progamming Note Using The TPU Function Library And TPU Emulation Mode, (TPUPN00/D). Figure D-27 shows all of the host interface areas for the PTA function.
MOTOROLA D-43
0 Host Service Request 00 No Action 01 Read TCRs and read/write pin 0x30YY18 0x30YY1A
10 Write TCR1, read TCRs and read/write pin 11 Write TCR2, read TCRs and read/write pin
0 Channel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 Channel Interrupt Enable 0 Channel Interrupts Disabled 1 Channel Interrupts Enabled 0 Channel Interrupt Status 0 Channel Interrupt Not Asserted 1 Channel Interrupt Asserted 0x30YY20 0x30YY0A 0x30YY1C 0x30YY1E
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU
MOTOROLA D-44
MOTOROLA D-45
0x30YY14 0x30YY16
00 No Action 01 Read Read TPU ROM version 10 Not Used 11 Not Used
0x30YY18 0x30YY1A
0 Channel Priority 00 Disabled 01 Low Priority 10 Medium Priority 11 High Priority 0 Channel Interrupt Enable 0 Channel Interrupts Disabled 1 Channel Interrupts Enabled 0 Channel Interrupt Status 0 Channel Interrupt Not Asserted 1 Channel Interrupt Asserted 0x30YY20 0x30YY0A 0x30YY1C 0x30YY1E
5 4 3 2 1 ROM_REVISION
MOTOROLA D-46
8-bit bi-directional transfer, MSB first with data valid on clock rising edge
10-bit output only transfer, LSB first with data valid on clock falling edge
MOTOROLA D-47
MOTOROLA D-48
0x30YY1C 0x30YY1E
PARAMETER RAM 15 14 13 12 11 10 9 8 7 0x30YYW0 0x30YYW2 0x30YYW4 0x30YYW6 0x30YYW8 0x30YYWA 0x30YYWC 0x30YYWE = Written By CPU = Written By TPU DATA S
CHANNEL_CONTROL
HALF-PERIOD
BIT_COUNT XFER_SIZE
D.19.1.2 BIT_D BIT_D is a CPU written bit that determines the direction of shift of the SIOP data. If BIT_D is zero then SIOP_DATA is right shifted (lsb first). If BIT_D is one then SIOP_DATA is left shifted (msb first). D.19.1.3 HALF_PERIOD This CPU-written parameter defines the baud rate of the SIOP function. The value contained in HALF_PERIOD is the number of TCR1 counts for a half SIOP clock period (e.g., for a 50 KHz baud rate, with a TCR1 period of 240 ns, the value [(1/50 KHz)/ 2]/240 ns = 42 should be written to HALF_PERIOD. The range for HALF_PERIOD is 1 to 0x8000, although the minimum value in practice will be limited by other system conditions. See notes on use and performance of SIOP function. D.19.1.4 BIT_COUNT This parameter is used by the TPU to count down the number bits remaining while a transfer is in progress. During the SIOP initialization state, BIT_COUNT is loaded with the value contained in XFER_SIZE. It is then decremented as the data is transferred and when it reaches zero, the transfer is complete and the TPU issues an interrupt request to the CPU. D.19.1.5 XFER_SIZE This CPU-written parameter determines the number of bits that make up a data transfer. During initialization, XFER_SIZE is copied into BIT_COUNT. XFER_SIZE is shown as a 5-bit parameter to match the maximum size of 16 bits in SIOP_DATA, although the TPU uses the whole word location. For normal use, XFER_SIZE should be in the range 1-to-16. D.19.1.6 SIOP_DATA This parameter is the data register for all SIOP transfers. Data is shifted out of one end of SIOP_DATA and shifted in at the other end, the shift direction being determined
MOTOROLA D-50
1. Disabling the channel by clearing the two channel priority bits 2. Selecting the SIOP function on the channel by writing the assigned SIOP function number to the function select bits 3. Writing CHAN_CONTROL in the clock channel parameter RAM 4. Writing HALF_PERIOD, BIT_D and XFER_SIZE in the clock channel parameter RAM to determine the speed, shift direction and size of the transfer 5. Writing SIOP_DATA if the data output is to be used 6. Selecting the required operating mode via the two host sequence bits 7. Issuing a host service request type 0b11 8. Enabling service by assigning H, M or L priority to the clock channel via the two channel priority bits The TPU then starts the data transfer, and issues an interrupt request when the transfer is complete. Once the function has been initialized, the CPU only needs to write SIOP_DATA with the new data and issue a HSR 0b11 to initiate a new transfer. In input or clock-only modes, just the HSR 0b11 is required. D.19.3 SIOP Function Performance Like all TPU functions, the performance limit of the SIOP function in a given application is dependent to some extent on the service time (latency) associated with other active TPU channels. This is due to the operational nature of the scheduler. Where two channels are being used for a uni-directional system, and no other TPU channels are active, the maximum baud rate is approximately 230 KHz at a bus speed of 16.77 MHz. A three-channel bi-directional system under the same conditions has a maximum baud rate of approximately 200 KHz. When more TPU channels are active, these performance figures will be degraded, however, the scheduler assures that the worst case latency in any TPU application can be closely approximated. It is recommended that the guidelines given in the TPU reference manual be used along with the information given in the SIOP state timing table to perform an analysis on any proposed TPU application that appears to approach the performance limits of the TPU.
MOTOROLA D-51
NOTES: 1. Execution times do not include the time slot transition time (TST = 10 or 14 CPU clocks).
D.19.3.1 XFER_SIZE Greater Than 16 XFER_SIZE is normally programmed to be in the range 1-to-16 to match the size of SIOP_DATA, and has thus been shown as a 5-bit value in the host interface diagram. However, the TPU actually uses all 16 bits of the XFER_SIZE parameter when loading BIT_COUNT. In some unusual circumstances this can be used. If an input device is producing a data stream of greater than 16 bits then manipulation of XFER_SIZE will allow selective capturing of the data. In clock-only mode, the extended XFER_SIZE can be used to generate up to 0xFFFF clocks. D.19.3.2 Data Positioning As stated above, no justifying of the data position in SIOP_DATA is performed by the TPU. This means that in the case of a byte transfer, the data output will be sourced from one byte and the data input will shift into the other byte. This rule holds for all data size options except 16 bits when the full SIOP_DATA register is used for both data output and input. D.19.3.3 Data Timing In the example given in Figure D-31, the data output transitions are shown as being completely synchronous with the relevant clock edge and it is assumed that the data input is latched exactly on the opposite clock edge. This is the simplest way to show the examples, but is not strictly true. Since the TPU is a multi-tasking system, and the data channels are manipulated directly by microcode software while servicing the clock edge, there is a finite delay between the relevant clock edge and the data-out being valid or the data-in being latched. This delay is equivalent to the latency in servicing the clock channel due to other TPU activity and is shown as Td in the timing diagram. Td is the delay between the clock edge and the next output data being valid and also the delay between the opposite clock edge and the input data being read. For the vast majority of applications, the delay Td will not present a problem and can be ignored. Only for a system which heavily loads the TPU should calculations be made for the worst case latency for the SIOP clock channel + actual SIOP service time ( = Td) and ensure that the baud rate is chosen such that HALF_PERIOD - Td is not less
MPC555 / MPC556 USERS MANUAL TPU ROM FUNCTIONS MOTOROLA D-52
DATA OUT c h a n x+ 1
Td CLO C K ch a n x
Td D ATA IN c h a n x-1
MOTOROLA D-53
MOTOROLA D-54
MOTOROLA E-1
1 nF
1 F
Q1 Cy(pf) 100 nF
R13 XTAL
KAP 3 V
<50
1 nF
1F
BOARD
MPC555 / MPC556
NOTE 3: All 100 nF capacitors should be placed close to the pin. NOTE 4: CL is a function of specific crystal, CL = CX + CY.
NOTE 2: Resistor R1 is currently not required. Space should be left on the board to add it in the future if necessary.
MOTOROLA E-2
Keyed Vcc 5 V
<50 VDDA 100 nF 1nF 1uF <50 Vrh 100 nF Vrl VSSA
To Sensors
100 nF
R2
NOTE: The size of resistor R2 depends on the sensor load current. It should be sized to match the voltage at Vrh.
BOARD
MPC555 / MPC556
Figure E-2 MPC555 / MPC556 Family Power Distribution Diagram 5 V and Analog
MOTOROLA E-3
CX
EXTAL
CY
Q1
R1
XTAL
VSSSYN
BOARD
MPC555 / MPC556
NOTE: Resistor R1 is currently not required.
NOTES: 1. CL according to crystal specification, CL = CX + CY. 2. The Murata ceramic resonator includes the load capacitors. (8pF should be selected) 3. Resistor R1 is currently not required. Space should be left on the board to add it in the future if necessary.
Load capacitances specified in the table include all stray capacitance. Tolerance of the capacitors are 10%. The oscillator capacitors were calculated as follows:
MOTOROLA E-4
KAP 3 V
50 100 nF VSSSYN
KAPWR
BOARD
MPC555 / MPC556
MOTOROLA E-5
KAP 3 V
100 nF 1 F
KAPWR
VSSSYN
BOARD
MPC555 / MPC556
Figure E-5 Bypass Capacitors Example (Alternative) E.3.3 PLL External Components VDDSYN and VSSSYN are the PLL dedicated power supplies. These supplies must be used only for the PLL and isolated from all other noisy signals in the board. VDDSYN could be isolated with RC filter (see Figure E-1), or LC filter. The maximum noise allowed on VDDSYN, and VSSSYN is 50 mV with typical cut-off frequency of 500 Hz.
Keyed Vcc 3 V
10 100 nF VSSSYN
VDDSYN
BOARD
MPC555 / MPC556
MOTOROLA E-6
Keyed Vcc 3 V
BOARD
MPC555 / MPC556
Figure E-7 LC Filter Example (Alternative) E.3.4 PLL Off-Chip Capacitor CXFC CXFC is the PLL feedback capacitor. It must be located as close as possible to the XFC and VDDSYN pads. The maximum noise allowed on XFC is 50 mV peak to peak with typical cut-off frequency of 500 Hz. The required value for CFXC are determined by the following two cases. MF is the multiplication factor as defined in the PLPRCR register (refer to Table 8-10). 1. 0 < (MF + 1) < 4 2. (MF + 1) 4 CXFC = (680 x (MF + 1) 120) pF CXFC = 1100 x (MF +1) pF
BOARD
MPC555 / MPC556
Figure E-8 PLL Off-Chip Capacitor Example E.4 Clock Oscillator and PLL External Components Layout Requirements E.4.1 Traces and Placement Traces connecting capacitors, crystal, resistor should be as short as possible. Therefore, the components (crystal, resistor and capacitors) should be placed as close to the oscillator pins of the MPC555 / MPC556 as possible.
MOTOROLA E-7
MOTOROLA E-8
The arbitration time was ignored. The values assume that the bus (or buses) involved in a transaction was in the IDLE state when the transaction needs that bus. The UIMB works in a mode of 1:1. This is relevant for IMB accesses values. In the case of 2:1 mode, the clock latency for a cycle on the IMB should be doubled. (each IMB access takes two clocks.) The basic delay of external bus to U-bus is four clocks (external master case). All IMB accesses are assumed to be 16-bit accesses only. If 32-bit accesses are used, then each such IMB access is split into two separate 16-bit cycles with normal IMB performance for each. Table F-1 Memory Access Times Using Different Buses
INTERNAL EXTERNAL RAM/ FLASH Internal Memory Mapped External 4+N2 2+N Nonmapped Internal Memory 4+N 2+N SHOW CYCLE
FLASH
RAM
IMB
SIU
Write
Read
RCPU Load/Store RCPU Instruction Fetches Peripheral Mode (ony ext. master is active) Slave Mode (both ext. & int. CPUs are active)
3/41 2-1-1-1-1...
1 33
6 -
5 -
2 -
2 14
4/5
5/6
NOTES: 1. / comes for on/off page flash access. 2. N is the number of clocks from external address valid till external data valid in the case of read cycle. In the case of zero wait states, N = 2. 3. Assuming BBC is parked on U-BUS. 4. Until address is valid on external pins
MOTOROLA F-1
1 1 2 6 6 6
7 2
11
NOTES: 1. N is the number of clocks from external address valid until external data valid in the case of read cycle. In the case of zero wait states, N = 2. 2. Core instruction fetch data bus is usualy the UBUS 3. 8 clocks are dedicated for external access, and internal accesses are denied. 4. Assuming the external master immediately retries
MOTOROLA F-2
NOTES: 1. For internal digital supply of VDDL = 3.3 V typical. 2. VDDL and VDDI should always be connected to the same potential with no differential voltage.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-1
Functional operating conditions are given in G.7 DC Electrical Characteristics. Absolute maximum ratings are stress ratings only, and functional operation at the maximum is not guaranteed. Stress beyond those listed may affect device reliability or cause permanent damage to the device. This device contains circuitry protecting against damage due to high static voltage or electrical fields; however, it is advised that normal precautions be taken to avoid application of any voltages higher than maximum-rated voltages to this high-impedance circuit. Reliability of operation is enhanced if unused inputs are tied to an appropriate logic voltage level (e.g., either VSS or VDD). G.2 Target Failure Rate Target failure rate of TBD ppm pending characterization and evaluation of qualifiable silicon. G.3 Package The MPC555 / MPC556 is available in two forms, packaged and die. The package is a 272-ball PBGA, Motorola case outline 1135A-01 (See Figure 2-1 of the MPC555 Users Manual for a case drawing or contact Motorola.) For die characteristics, contact the Motorola factory. G.4 EMI Characteristics G.4.1 Reference Documents The documents referenced for the EMC testing of MPC555 / MPC556 are listed below. 1. SAE J1752/3 Issued 1995-03 2. VDE UK 767.14/ZVEI-Ad-Hoc-HL-AK Version1.0 May 1994 G.4.2 Definitions and Acronyms EMC Electromagnetic compatibility EMI Electromagnetic interference TEM cell Transverse electromagnetic mode cell
ELECTRICAL CHARACTERISTICS
MOTOROLA G-2
30.43,4
C/W
NOTES: 1. Junction temperature is a function of on-chip power dissipation, package thermal resistance, mounting site (board) temperature, ambient temperature, air flow, power dissipation of other components on the board, and the board thermal resistance. 2. Per SEMI G38-87 and JESD51-2 with the board horizontal. 3. Junction temperature is a function of on-chip power dissipation, package thermal resistance, mounting site (board) temperature, ambient temperature, air flow, power dissipation of other components on the board, and the board thermal resistance. 4. Per JESD51-6 with the board horizontal. 5. Thermal resistance between the die and the printed circuit board (Four layer [2s2p] board, natural convection). 6. Indicates the thermal resistance between the die and the case top surface as measured by the cold plate method (MIL SPEC-883 Method 1012.1) with the cold plate temperature used for the case temperature. 7. Thermal characterization parameter indicating the temperature difference between package top and the junction temperature per EIA/JESD51-2.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-3
ELECTRICAL CHARACTERISTICS
MOTOROLA G-4
When the board temperature is not known, a thermal simulation of the application is needed. The simple two resistor model can be used with the thermal simulation of the application [2], or a more accurate and complex model of the package can be used in the thermal simulation. Consultation on the creation of the complex model is available. To determine the junction temperature of the device in the application after prototypes are available, the thermal characterization parameter (JT) can be used to determine the junction temperature with a measurement of the temperature at the top center of the package case using the following equation: TJ = TT + (JA x PD) where: TT = thermocouple temperature on top of package (C) RJA = thermal characterization parameter PD = power dissipation in package The thermal characterization parameter is measured per JESD51-2 characteristic published by JEDEC using a 40 gauge type T thermocouple epoxied to the top center of the package case. The thermocouple should be positioned so that the thermocouple junction rests on the package. A small amount of epoxy is placed over the thermocouple junction and over about 1 mm of wire extending from the junction. The thermocouple wire is placed flat against the package case to avoid measurement errors caused by cooling effects of the thermocouple wire. G.5.1 Thermal References: Semiconductor Equipment and Materials International 805 East Middlefield Rd Mountain View, CA 94043 (415) 964-5111
ELECTRICAL CHARACTERISTICS
MOTOROLA G-5
Second
Notes: 1. All ESD testing is in conformity with CDF-AEC-Q100 Stress Test Qualification for Automotive Grade Integrated Circuits. 2. A device will be defined as a failure if after exposure to ESD pulses the device no longer meets the device characteristic requirements. Complete DC parametric and functional testing shall be performed per applicable device characteristic at room temperature followed by hot temperature, unless specified otherwise in the device characteristic.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-6
Muxed 3-V/ 5-V Pins (GPIO Muxed with Addr. (Port A), Data (Port D), and Control (Port C)) 3-V Input High Voltage Addr. (Port A), Data (Port D), Control (Port C) 5-V Input High Voltage (GPIO) 3-V Input Low Voltage Except EXTCLK 3-V Input Low Voltage EXTCLK 5-V Input Low Voltage 5-V Input Low Voltage (QADC PQA, PQB) Muxed 3-V/ 5-V Pins (GPIO Muxed with Addr. (Port A), Data (Port D), and Control (Port C)) 3-V Input Low Voltage (Addr. (Port A), Data (Port D), Control (Port C)) 5-V Input Low Voltage (GPIO) QADC Analog Input Voltage3 3-V Mode Select Current Pull-up @ 0 V to VIL3, Pull-down @ VIH3 to VDDL 5-V Mode Select Current Pull-up @ 0 to VIL5, Pull-down @ VIH5 to VDDH 3-V Input Leakage Current Pull-up/down Inactive 5-V Input Leakage Current Pull-up/down Inactive QADC64 Input Current, Channel Off 4 PQA PQB
VIH3M VIH5M
2.0 0.7*VDDH
V V V V
V V V A A A A
20
130
1.0 1.0
IOFF
-200 -150
200 150
nA
ELECTRICAL CHARACTERISTICS
MOTOROLA G-7
3-V Output Low voltage VDD = VDDL (IOL = 3.2 mA) 5-V Output Low Voltage VDD = VDDH (IOL = 2 mA) All 5-V Only Outputs Except TPU. 5-V Output Low Voltage VDD = VDDH For TPU Pins Only IOL = 10 mA IOL = 2 mA Muxed 3-V/ 5-V Pins (GPIO Muxed with Addr. (Port A), Data (Port D), and Control (Port C)) 3-V Output Low Voltage (IOL = 3.2 mA) 5-V Output Low Voltage (IOL = 2 mA) Output Low Current CLKOUT @ VOL = 0.5 V Output High Current CLKOUT @ VOH = 2.4 V CLKOUT Capacitance (@ 40 MHz) COM[1:0] of SCCR = 0b01 COM[1:0] of SCCR = 0b00 ENGCLK Capacitance@20Mhz EECLK[1:0] of SCCR = 0b01 EECLK[1:0] of SCCR = 0b00 Capacitance for Input, Output, and Bidirectional Vin = 0 V, f = 1 MHz (except QADC) Load Capacitance for Bus Pins Only7 COM[1:0] of SCCR = 0bX1 COM[1:0] of SCCR = 0bX0 QADC Total Input Capacitance PQA Not Sampling PQB Not Sampling Incremental Capacitance Added During Sampling Hysteresis (Only IRQ, TPU, MIOS, GPIO, QADC [Digital Inputs] and PORESET, HRESET, SRESET)8
0.5 0.45
V V
VOLTP5
1.0 0.45
0.5 0.45
2.0 2.0
mA mA
Cclk
pF
Ceng
pF
Cin
pF
CL
25 50 15 10 5
pF
CIN
0.5
pF
VH
ELECTRICAL CHARACTERISTICS
MOTOROLA G-8
16.5 5 30
mA
mA
IDDH5 IDDA IDDVPP IDDA IDDDZ IDDSLP IDDDPSLP VDDL, VDDI, VDDF VPP 3.0 VDDF -0.35 V
mA
A mA mA mA V V
ELECTRICAL CHARACTERISTICS
MOTOROLA G-9
QADC Operating Voltage Clock Synthesizer Operating Voltage13 VSS Differential Voltage QADC64 Reference Voltage Low15 QADC64 Reference Voltage High16 QADC64 VREF Differential Voltage QADC64 Reference Supply Current, DC QADC64 Reference Supply Current, Transient Measured on VRH Standby Supply Current KAPWR Only VDDSRAM Only (RAM Standby Current) @ TJ = 90C VDDSRAM Only (RAM Standby Current) @ TJ = 90C with Low Voltage Protection Circuitry VDDSRAM Only (RAM Standby Current) @ TJ = 150C RAM Standby Voltage for Data Retention (Powered-down Mode) Specified VDD Applied (VDD = VSS) DC Injection Current per Pin GPIO, TPU, MIOS, QSM, EPEE and 5 V 18,19 DC Injection Current Per Pin 3 V 18, 19 QADC64 Disruptive Input Current 18, 20 Power Dissipation -40 MHz 33 MHz
mA A A A V
VDDSRAM
1.417
3.6
-1.0 -1.0 -3
mA mA mA W
NOTES: 1. This spec is for 3-V output and 5-V input friendly pins. 2. This spec is for 5-V output and 5-V input pins. 3. Within this range, no significant injection will be seen. See QADC64 disruptive input current (INA). 4. Maximum leakage occurs at maximum operating temperature. Current decreases by approximately one-half for each 8 12C, in the ambient temperature range of 50 125C. 5. 45 pF maximum for mask sets prior to K62N
ELECTRICAL CHARACTERISTICS
MOTOROLA G-10
ELECTRICAL CHARACTERISTICS
MOTOROLA G-11
OSCstart4 OSCstart20 TLOCK FVCOOUT FCRYSTAL FJIT FJIT10 FLIMP IBIAS Iosc ROSC 30 2 15 -1% -0.3 31 81 0.721 1.1 7
mS
PLL Jitter PLL Jitter (averaged over 10 s) MF < 20 Limp Mode Clock Frequency Oscillator Bias Current (XTAL) 4 MHz 20 MHz Oscillator Drive (XTAL) Oscillator Bias Resistor NOTES: 1. Values to be evaluated upon further characterization.
MHz
mA
mA M
G.9 Power Up/Down Sequencing See SECTION 8 CLOCKS AND POWER CONTROL.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-12
NOTES: 1. The worst case programming time occurs at VPP = 4.75 V and TA = -40 C. 2. This value is based on initial device characterization and may not be tested in production. 3. The best case (fastest) programming time of < 50 pulses is at VPP = 5.25 V and TA = 125C.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-13
VPP
IDDPP
A mA mA
NOTES: 1. Average current is less than 30 mA when programming both modules simultaneously.
NOTES: 1. Target failure rate at specified number of program/erase cycles of 2 ppm pending characterization of production silicon. 2. A program/erase cycle is defined as switching the bits from 1 0 1. 3. Reprogramming of a CMF array block prior to erase is not required. 4. Number of program/erase cycles to be adjusted pending characterization of production silicon.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-14
100 ms2
NOTES: 1. No margin read after pulse. 2. Do margin read after each pulse.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-15
VIH
CLKOUT
B
OUTPUTS
VIH VIL
VIH VIL
OUTPUTS
INPUTS
VIH VIL
INPUTS
VIH VIL
A. Maximum Output Delay Characteristic B. Minimum Output Hold Time C. Minimum input Setup Time Characteristic D. Minimum input Hold Time Characteristic
ELECTRICAL CHARACTERISTICS
MOTOROLA G-16
4a 5 5a 6
0.2TC 1.0
ns
7a
0.2TC 1.0
ns
7b
0.2TC 1.0
ns
7c
0.25TC + TCC
ns
0.25TC + TCC
7.5
14
6.25
14
ns
ELECTRICAL CHARACTERISTICS
MOTOROLA G-17
8a
0.25TC + TCC
7.5
15
6.25
15
ns
8b
0.25TC + TCC
7.5
15
6.25
14
ns
8c 8d
7.5 7.5
15 14
6.25 6.25
14 14
ns ns
0.25TC + TCC
7.5
15
6.25
13
ns
10 10a
0.25TC + TCC
7.5
15 10
6.25
14 10
ns ns
10b 11 11a
10 15 11 6.25
10 14 11
ns ns ns
11b 12
0.25TC + 14 7.5
11 21 6.25
11 20
ns ns
ELECTRICAL CHARACTERISTICS
MOTOROLA G-18
15
13
12
ns
15a
11
10
ns
15b
10
ns
16
ns
16a
ns
17
ns
18
ns
19 19a 19b
7.5
16 9 16
6.25
14 8
ns ns ns
6.25
14
ELECTRICAL CHARACTERISTICS
MOTOROLA G-19
20
TCC + 1
ns
21 21a 22 23 24 24a
2 8 11 11
1.5 7 9 0 25 32 8
ns ns ns ns ns ns
25
ns
25a
0.25TC + TCC + 1
7.5
6.25
14
ns
25b
0.25TC + TCC + 1
7.5
16
14
ns
25c
0.25TC +TCC + 4
7.5
20
6.25
17
ns
25d
0.25TC +TCC + 4
7.5
20
6.25
17
ns
26
ns
26a
ns
ELECTRICAL CHARACTERISTICS
MOTOROLA G-20
26c
ns
26d
38
29
ns
26e
38
29
ns
26f
12
ns
26g
12
ns
26h
30
24
ns
26i
30
24
ns
27
ns
ELECTRICAL CHARACTERISTICS
MOTOROLA G-21
WE[0:3]/BE[0:3] Negated to A[0:31] Invalid -GPCM- Write Access, TRLX = 0, CSNT = '1. 27c CS Negated to A[0:31] Invalid -GPCM- Write Access, TRLX = 0, CSNT = '1, ACS = 10,ACS = =11, EBDF = 1 WE[0:3]/BE[0:3] Negated to A[0:31] Invalid -GPCM- Write Access, TRLX = 1, CSNT = '1. 27d CS Negated to A[0:31] Invalid -GPCM- Write Access, TRLX = 1, CSNT = '1, ACS = 10,ACS = =11, EBDF = 1 28 A[0:31], TSIZ[0:1], RD/WR, BURST, BDIP Valid to CLKOUT Rising Edge. (Slave Mode Setup Time) Slave Mode D[0:31] Valid to CLKOUT Rising Edge TS Valid to CLKOUT Rising Edge (Setup Time) CLKOUT Rising Edge to TS Valid (Hold Time). 9 2 11 9 ns 30 24 ns 5 4 ns
28a 29 30
7 7 2
ns ns ns
NOTES: 1. Expressions are approximate equations only. 2. This is the maximum frequency at which ENGCLK will meet output drive and rise/fall time specifications. 3. The timing for BR ouput is relevant when the MPC555 / MPC556 is selected to work with external bus arbiter. The timing for BG output is relevant when the MPC555 / MPC556 is selected to work with internal bus arbiter. 4. The setup times required for TA, TEA, and BI are relevant only when they are supplied by the external device (and not the memory controller). 5. The timing required for BR input is relevant when the MPC500 family microcontroller is selected to work with internal bus arbiter. The timing for BG is relevant when the MPC500 is selected to work with external bus arbiter. 6. The D[0:31] input timings 17 and 18 refer to the rising edge of the CLKOUT in which the TA input signal is asserted. 7. The timing 27 refers to CS when ACS = 00 and to WE[0:3] when CSNT = 0.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-22
CLKOUT
1 5 3 2
ELECTRICAL CHARACTERISTICS
MOTOROLA G-23
CLKOUT
8 9 7
OUTPUT SIGNALS
8a 9 7a
OUTPUT SIGNALS
8b
7b
OUTPUT SIGNALS
ELECTRICAL CHARACTERISTICS
MOTOROLA G-24
CLKOUT
12 10 11
TS, BB
12a 10a 11a
TA, BI
13 14
TEA
Figure G-4 Synchronous Active Pull-Up and Open Drain Outputs Signals Timing
ELECTRICAL CHARACTERISTICS
MOTOROLA G-25
CLKOUT
15 16
TA, BI
15a 16a
15b 16
BB, BG, BR
ELECTRICAL CHARACTERISTICS
MOTOROLA G-26
CLKOUT
15a 16
TA
17 18
D[0:31]
ELECTRICAL CHARACTERISTICS
MOTOROLA G-27
CLKOUT
10 11
TS
8
A[0:31]
19 20
CSx
22 23
OE
25
WE[0:3]
17
D[0:31]
18
Figure G-7 External Bus Read Timing (GPCM Controlled ACS = 00)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-28
CLKOUT
10 11
TS
8
A[0:31]
19a 20
CSx
21 23
OE
22 17
D[0:31]
18
Figure G-8 External Bus Read Timing (GPCM Controlled TRLX = 0 ACS = 10)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-29
CLKOUT
10 11
TS
8
A[0:31]
19b 19c 20
CSx
21a 23
OE
22 17
D[0:31]
18
Figure G-9 External Bus Read Timing (GPCM Controlled TRLX = 0 ACS = 11)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-30
CLKOUT
10 11
TS
8
A[0:31]
19a 20
CSx
24 24a 23
OE
19b 19c 17
D[0:31]
18
Figure G-10 External Bus Read Timing (GPCM Controlled TRLX = 1, ACS = 10, ACS = 11)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-31
CLKOUT
10
11 9
TS
A[0:31]
ELECTRICAL CHARACTERISTICS
MOTOROLA G-32
CLKOUT
10
11
TS
8 27
A[0:31]
20
26b
CSx
WE[0:3]
26 8
D[0:31]
ELECTRICAL CHARACTERISTICS
MOTOROLA G-33
CLKOUT
10
11
TS
27
A[0:31]
19 20
CSx
22 25
26b
WE[0:3]
23
OE
26 8
D[0:31]
9
Figure G-13 External Bus Write Timing (GPCM Controlled TRLX = 0, CSNT = 0)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-34
CLKOUT
10
11
TS
27c 8 27a
A[0:31]
19 25b
20
CSx
22
WE[0:3]
23 26a 26g
OE
8
25a 25c
D[0:31]
9
Figure G-14 External Bus Write Timing (GPCM Controlled TRLX = 0, CSNT = 1)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-35
CLKOUT
10
11
TS
27d 27b
A[0:31]
19 25b 20
CSx
22
WE[0:3]
23 26h 26d 25a 25c 8 26b
OE
D[0:31]
9
Figure G-15 External Bus Write Timing (GPCM Controlled TRLX = 1, CSNT = 1)
ELECTRICAL CHARACTERISTICS
MOTOROLA G-36
CLKOUT
29 30
TS
28
10a 11a
12a
TA, BI
13 14
TEA,
D[0:31]
10b 11b 9
RETRY
ELECTRICAL CHARACTERISTICS
MOTOROLA G-37
CLKOUT
30
29
TS
28
10a 11a
12a
TA, BI
13 14
TEA,
28a
D[0:31]
10b
18 11b
RETRY
ELECTRICAL CHARACTERISTICS
MOTOROLA G-38
35
NOTES: 1. The timings 31 and 32 describe the testing conditions under which the IRQ lines are tested when being defined as level sensitive. The IRQ lines are synchronized internally and do not have to be asserted or negated with reference to the CLKOUT.
CLKOUT
31 32
IRQx
Figure G-18 Interrupt Detection Timing for External Level Sensitive Lines
ELECTRICAL CHARACTERISTICS
MOTOROLA G-39
CLKOUT
31
IRQx
35
35 33 34
Figure G-19 Interrupt Detection Timing for External Edge Sensitive Lines G.13 Debug Port Timing Table G-13 Debug Port timing
(TA = TL to TH) 33MHz Characteristic 36 37 38 39 40 41 42 DSCK Cycle Time DSCK Clock Pulse Width DSCK Rise and Fall Times DSDI Input Data Setup Time DSDI Data Hold Time DSCK low to DSDO Data Valid DSCK low to DSDO Invalid Expression Min 120 50 0 12 5 0 0 Max 3 18 Min 60 25 0 12 5 0 0 Max 3 18 ns ns ns ns ns ns ns 40MHz Unit
ELECTRICAL CHARACTERISTICS
MOTOROLA G-40
36
37 37 36
DSCK
38
38
ELECTRICAL CHARACTERISTICS
MOTOROLA G-41
DSCK
39 40
DSDI
41 42
DSDO
ELECTRICAL CHARACTERISTICS
MOTOROLA G-42
52 53 54 55 55a
25 91 0 243 100
25 75 0 200 100
ns ns ns ns ns
NOTES: 1. Weak pullups and pulldowns used for Reset timing will comply with the 130-A mode select current outlined in Table G-4.The simplest way to insure meeting this requirement in systems that require the use of the TEXP function, is to connect RSTCONF/TEXP to SRESET. The maximum rise time of HRESET should be less than six clock cycles. 2. HRESET, SRESET and PORESET have a glitch detector to ensure that spikes less than 20 ns are rejected. The internal HRESET, SRESET and PORESET will assert only if these signals are asserted for more than 100 ns.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-43
HRESET
45 49a RSTCONF
49 46 48
D[0:31] (IN)
47
ELECTRICAL CHARACTERISTICS
MOTOROLA G-44
CLKOUT
43 55 HRESET
RSTCONF
51 50 52
Figure G-23 Reset Timing Data Bus Weak Drive During Configuration
ELECTRICAL CHARACTERISTICS
MOTOROLA G-45
CLKOUT
44 55
SRESET
53
53
54
54
DSCK, DSDI
ELECTRICAL CHARACTERISTICS
MOTOROLA G-46
61 62 63 64 65 66 67 68 69 70
ELECTRICAL CHARACTERISTICS
MOTOROLA G-47
TCK
56
57 57 56
58
ELECTRICAL CHARACTERISTICS
MOTOROLA G-48
TCK
59 60
TMS, TDI
61 63 62
TDO
ELECTRICAL CHARACTERISTICS
MOTOROLA G-49
TCK
65
TRST
64
ELECTRICAL CHARACTERISTICS
MOTOROLA G-50
TCK
66 68
OUTPUT SIGNALS
67
OUTPUT SIGNALS
70 69
OUTPUT SIGNALS
ELECTRICAL CHARACTERISTICS
MOTOROLA G-51
5 -2.0 -3 -1
s mV Counts mA
103
104
K pF
NOTES: 1. Conversion characteristics vary with FQCLK rate. Reduced conversion accuracy occurs at max FQCLK rate. 2. The number of conversion cycles is dependent on the IST bits in the CCW register. 3. Assumes that fSYS = 40 MHz 4. Assumes FQCLK = 2.00 MHz, with clock prescaler values of: QACR0: PSH =0b01111, PSA = 0b0, PSL = 0b011) CCW: BYP = 0b0 5. At VRH VRL = 5.12 V, one count = 5 mV (at 5.0 V, one count = 4.8875 mV). 6. Accuracy tested and guaranteed at VRH VRL = 5.0 V 0.5 V 7. This parameter is periodically sampled rather than 100% tested. 8. Absolute error includes 1/2 count (~2.5 mV) of inherent quantization error and circuit (differential, integral, and offset) error. Characteristic assumes that adequate low-pass filtering is present on analog input pins capacitive filter with 0.01 F to 0.1 F capacitor between analog input and analog ground, typical source isolation impedance of 10 Kbytes. 9. Input signals with large slew rates or high frequency noise components cannot be converted accurately. These signals may affect the conversion accuracy of other channels. 10. Below disruptive current conditions, the channel being stressed has conversion values of 0x3FF for analog inputs greater than VRH and 0x000 for values less than VRL. This assumes that VRH <= VDDA and VRL <= VSSA due to the presence of the sample amplifier. Other channels are not affected by non-disruptive conditions. 11. Exceeding limit may cause conversion error on stressed channels and on unstressed channels. Transitions within the limit do not affect device reliability or cause permanent damage.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-52
109
110
111
112
113
114
ELECTRICAL CHARACTERISTICS
MOTOROLA G-53
119
tho
ns
NOTES: 1. All AC timing is tested to the 5-V levels outlined in Table G-4. 2. TC is defined to be the clock period of fSYS (IMB Clock). 3. For high time, n = External SCK rise time; for low time, n = External SCK fall time.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-54
111
PCS[3:0] OUTPUT
110
121
SCK CPOL = 0 OUTPUT
120
113
112
SCK CPOL = 1 OUTPUT
109 120
114 115
111
121
MISO INPUT
MSB IN
DATA
LSB IN
MSB IN
119
MOSI OUTPUT PD MSB OUT DATA
118
LSB OUT PORT DATA MSB OUT
121
120
QSPI MAST CPHA0
111
PCS[3:0] OUTPUT
110
121 109
SCK CPOL = 0 OUTPUT
120
113
112
SCK CPOL = 1 OUTPUT
109
115
112
MISO INPUT MSB IN
120
DATA
121 114
LSB IN MSB
119
MOSI OUTPUT PORT DATA MSB OUT DATA
118
LSB OUT PORT DATA MSB
121
120
QSPI MAST CPHA1
ELECTRICAL CHARACTERISTICS
MOTOROLA G-55
111
SS INPUT
110
121
SCK CPOL = 0 INPUT
120
113
112
SCK CPOL = 1 INPUT
109
121 118
LSB OUT
119 117
PD MSB OUT
MISO OUTPUT
MSB OUT
114
MOSI INPUT MSB IN
115
DATA LSB IN
121
MSB IN
SS INPUT
109
SCK CPOL = 0 INPUT
113
110
SCK CPOL = 1 INPUT
111
118 116
MISO OUTPUT PD MSB OUT
121 118
DATA
117
PD
114
MOSI INPUT MSB IN
115
DATA
121
LSB IN
ELECTRICAL CHARACTERISTICS
MOTOROLA G-56
s ns ns ns s
tro
90 2000 3
600 7500 25
tfi
tfo
90 2000 3
600 7500 25
ns ns ns
NOTES: 1. GPIO applies to all pins used as GPIO: SGPIOA[8:31], SQPIOD[0:31], SGPIOC[0:7], QGPIO[0:6], QGPO[1:2], MPIO[0:15], A_PQA[0:7], B_PQA[0:7], A_PQB[0:7] (inputs only), B_PQB[0:7] (inputs only). 2. This parameter is tested during initial characterization and is not tested in production. 3. Care should be taken to insure that the total power dissipation of the device remain below the absolute maximum rating under this condition. See Table G-1. With a capacitive load > 20 nF (up to 100 nF maximum), the user must insure that the pin is always configured as an output and set to slow slew rate mode (SLR0 of PDMCR = 0). Do not change SLR0 of PDMCR to a 1 under these conditions.
124
125 126
tCHTOH tTIPW
NOTES: 1. AC timing is shown with respect to 10% VDDH and 90% VDDH levels. Total slew rate from 0 to VDDH will be larger. 2. Timing not valid for external T2CLK input. 3. Care should be taken to insure that the total power dissipation of the device remain below the absolute maximum rating under this condition. See Table G-1. With a capacitive load > 20 nF, the user must insure that the pin is always configured as an output. 4. tcyc is defined as the IMB Clock Period.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-57
CLKOUT
124
TPU OUTPUT
125
TPU INPUT
126
Figure G-33 TPU3 Timing G.20 TouCAN Electrical Characteristics Table G-20 TouCAN Timing1
(TA = TL to TH) Num 127 128 Rating CNTX0 (Delay from ICLOCK) CNRX0 (Set-Up to ICLOCK Rise) Rise Time Input 129 Output Up to 50 pF Load, SLRC Bit of PDMCR = 0 Up to 200 pF Load, SLRC Bit of PDMCR = 0 Up to 50 pF Load, SLRC Bit of PDMCR = 1 Fall Time Input 130 Output Up to 50 pF Load, SLRC Bit of PDMCR = 0 Up to 200 pF Load, SLRC bit of PDMCR = 0 Up to 50 pF Load, SLRC Bit of PDMCR = 1 Serial Pins tfi tfo 10 20 2 tf 50 100 25 1 ns ns ns Mhz 1 s tri tro 10 20 2 50 100 25 ns ns ns 1 s Symbol tCNTX0 tCNRX0 Min 19 0 Max Unit ns ns
NOTES: 1. AC timing is shown is tested to the 5-V levels outlined in Table G-4.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-58
NOTES: 1. The MCPSM clock prescaler value (MCPSMSCR_PSL[3:0]) should be written to the MCPSMSCR (MCPSM status/control register) before rewriting the MCPSMSCR to set the enable bit (MCPSMSCR_PREN). If this is not done the prescaler will start with the old value in the MCPSMSCR_PSL[3:0] before reloading the new value into the counter. vs_pclk is the MIOS prescaler clock which is distributed to all the counter (e.g., MPWMSM and MMCSM) submodules. 2. After reset MCPSMSCR_PSL[3:0] is set to 0b0000.
MIOB vs_pclk
Note 1: fSYS is the internal system clock for the IMB3 bus. Note 2: The numbers associated with the fSYS ticks refer to the IMB3 internal state. Note 3: vs_pclk is the MIOS prescaler clock which is distributed around the MIOS to counter modules such as the MMCSM and MPWMSM.
ELECTRICAL CHARACTERISTICS
MOTOROLA G-59
(MPWMPERR MPWMPULR+ 1) * (256 MPWMSCR_CP) * MCPSMSCR_PSL +1 (MPWMPERR MPWMPULR) * (256 MPWMSCR_CP) * MCPSMSCR_PSL +3 + (255 MPWMSCR_CP) * MCPSMSCR_PSL 6 tPWME(MIN) + MCPSMSCR_PSL 1 6 (256 MPWMSCR_CP) * MCPSMSCR_PSL 1 6
MPWMSM Enable to Output Set (MIN)5 MPWMSM Enable to Output Set (MAX)5 Interrupt Flag to Output Pin Reset (Period Start)7
NOTES: 1. Minimum output resolution depends on MPWMSM and MCPSM prescaler settings. 2. Maximum resolution is obtained by setting CPSMPSL[3:0] =0x2 and MPWMSCR_CP[7:0] =0xFF. 3. Excluding the case where the output is always 0. 4. With MPWMSM enabled before enabling the MCPSM. Please also see Note *1 on the MCPSM timing information. 5. The exact timing from mpwmsm enable to the pin being set depends on the timing of the register write and the MCPSM vs_pclk. 6. When MCPSMSCR_PSL = 0x0000, this gives a prescale value of 16 and it is 16 which should be used in these calculations. When MCPSMSCR_PSL = 0x0001, the CPSM is inactive. 7. Note: the interrupt is set before the output pin is reset (Signifying the start of a new period).
tPWMO min
fSYS
MPWMO output pin
ELECTRICAL CHARACTERISTICS
MOTOROLA G-60
tPWMP
fSYS
Prescaler enable bit (PREN)
MIOB vs_pclk
Note: FSYS is the internal IMB clock for the IMB3 bus.
Figure G-36 MCPSM Enable to MPWMO Output Pin Rising Edge Timing Diagram
tPWME
fSYS
MPWMSCR enable bit
Figure G-37 MPWMSM Enable to MPWMO Output Pin Rising Edge Timing Diagram
ELECTRICAL CHARACTERISTICS
MOTOROLA G-61
Figure G-38 MPWMSM Interrupt Flag to MPWMO Output Pin Falling Edge Timing Diagram G.21.2 MMCSM Timing Characteristics Table G-23 MMCSM Timing Characteristics
(All delays are in IMB clock periods.) Characteristic MMCSM Input Pin Period MMCSM Pin Low Time MMCSM Pin High Time Clock Pin to Counter Bus Increment Load Pin to New Counter Bus Value Clock Pin to PINC Delay Load Pin to PINL Delay Counter Bus Resolution Counter Bus Overflow Reload to Interrupt Flag MCPSM Enable to Counter Bus Increment MMCSM Enable to Counter Bus Increment (MIN)4 MMCSM Enable to Counter Bus Increment (MAX)4 Symbol tPPER tPLO tPHI tPCCB tPLCB tPINC tPINL tCBR tCBFLG tMCMP tMCME tMCME Min 4 2 2 1 1 1 1 1 1 (256 MMCSMSCR_CP) * MCPSMSCR_PSL + 23 4 + MCPSMSCR_PSL* (255 MMCSMSCR_CP)3 4 + MCPSMSCR_PSL * (255 MMCSMSCR_CP) + (MCPSMSCR_PSL 1)3 Max 2 2 2 2 22
NOTES: 1. Minimum output resolution depends on MMCSM and MCPSM prescaler settings. 2. Maximum resolution is obtained by setting CPSMPSL[3:0] = 0x2 and MMCSMSCR_CP[7:0] = 0xFF. 3. When MCPSMSCR_PSL = 0x0000, this gives a prescale value of 16 and it is 16 which should be used in these calculations. When MCPSMSCR_PSL = 0x0001, the CPSM is inactive. 4. The exact timing from MMCSM enable to the pin being set depends on the timing of the MMCSMSCR register write and the MCPSM vs_pclk. The MMCSM enable is taken to mean the MMCSMSCR_CLS[1:0] being written to 2b11.
ELECTRICAL CHARACTERISTICS
fSYS
MOTOROLA G-62
tPPER min
tPLO min
tPHI min
fSYS
MMCSM pin
Figure G-39 MMCSM Minimum Input Pin (Either Load or Clock) Timing Diagram
tPCCB
fSYS
MMCSM clock pin A
Counter bus[15:0]
A+1
Note: FSYS is the internal IMB clock for the IMB3 bus.
Figure G-40 MMCSM Clock Pin to Counter Bus Increment Timing Diagram
tPLCB
fSYS
MMCSM load pin A
Counter bus[15:0]
Figure G-41 MMCSM Load Pin to Counter Bus Reload Timing Diagram
ELECTRICAL CHARACTERISTICS
MOTOROLA G-63
tCBFLG
MMCSM interrupt flag Counter bus[15:0] MMCSMML[15:0] FFFE 5AFE FFFF 5AFE
Figure G-42 MMCSM Counter Bus Reload to Interrupt Flag Setting Timing Diagram
fSYS
fSYS
MMCSMSCR_CLS[1:0]
2 00
Counter bus[15:0]
Figure G-43 MMCSM Prescaler Clock Select to Counter Bus Increment Timing Diagram
MOTOROLA G-64
Input Modes: (IPWM, IPM, IC, DIS) MDASM Input Pin Period MDASM Pin Low Time MDASM Pin High Time Input Capture Resolution Input Pin to Counter Bus Capture Delay tPPER tPLO tPHI tCAPR tPCAP tPFLG tPIN tCBR Output Modes: (OC, OPWM) Output Pulse Width3 Compare Resolution Counter Bus to Pin Change Counter Bus to Interrupt Flag Set. tPULW tCOMR tCBP tCBFLG 2 3 3 22 4 2 2 1 2 1 2 31 3 2 22
Input Pin to Interrupt Flag Delay Input Pin to PIN Delay Counter Bus Resolution
NOTES: 1. If the counter bus capture occurs when the counter bus is changing then the capture is delayed one cycle. In situations where the counter bus is stable when the input capture occurs the tPCAP has a maximum delay of 2 cycles. (the 1 cycle uncertainty is due to the synchronizer). 2. Maximum resolution is obtained by setting CPSMPSL[3:0] = 0x2 and MDASMSCR_CP[7:0] = 0xFF. 3. Maximum output resolution and pulse width depends on counter (e.g., MMCSM) and MCPSM prescaler settings.
tPPER min
tPLO min
tPHI min
fSYS
ELECTRICAL CHARACTERISTICS
MOTOROLA G-65
tPCAP
fSYS
MDAI input pin XXXX
MDASMAR[15:0]
Counter bus[15:0]
Figure G-45 MDASM Input Pin to Counter Bus Capture Timing Diagram
tPFLG
fSYS
MDAI input pin
Figure G-46 MDASM Input Pin to MDASM Interrupt Flag Timing Diagram
tPULW min
fSYS
MDAO output pin
ELECTRICAL CHARACTERISTICS
MOTOROLA G-66
tCBP
fSYS
MDAO output pin Counter bus[15:0] MDASMAR[15:0] 5AFC 5AFE 5AFD 5AFE
Figure G-48 Counter Bus to MDASM Output Pin Change Timing Diagram
tCBFLG
fSYS
MDASM interrupt flag Counter bus[15:0] MDASMAR[15:0] 5AFC 5AFE 5AFD 5AFE
Figure G-49 Counter Bus to MDASM Interrupt Flag Setting Timing Diagram
ELECTRICAL CHARACTERISTICS
MOTOROLA G-67
tPULW
NOTES: 1. The minimum input pin period, pin low and pin high times depend on the rate at which the MPIOSM_DR register is polled. 2. The minimum output pulse width depends on how quickly the CPU updates the value inside the MIOPSM_DR register. The MPC555 RCPU core takes six clock cycles to access the MIOPSM_DR register, therefore the minimum output pulse will be 12 IMB clocks.
tPDR
fSYS
MPIOSM input pins FFA5 005A
MPIOSM_DR
FFA5
005A
Figure G-50 MPIOSM Input Pin to MPIOSM_DR (Data Register) Timing Diagram
ELECTRICAL CHARACTERISTICS
MOTOROLA G-68
APPENDIX H FLASH ELECTRICAL CHARACTERISTICS FOR ALL J76N MASK SETS AND 0K02A AND 1K02A ONLY
H.1 Electrical Characteristics Table H-1 Program and Erase Characteristics
(VDDF = 3.3 V 0.3 V, VPP= 4.75 V to 5.25 V, TA = TL to TH) Value
Meaning Minimum Number of Erase Pulses Erase Pulse Time Number of Program Pulses @VPP = 4.75 Number of Program Pulses @VPP = 5.00 1 0.9 21.2 1 1 1 0.98 1 1 1 0.98 Typical 1 1 12001 3004 1257 25.6 1 1 1 18 1 1 1 18 Maximum 1 1.1 35002,3,5 10005 5005 32.0 38 38 38 1.18 38 38 38 1.18
Units
PPULSE (5.25 Vpp) Number of Program Pulses6 @V = 5.25 PP TPROG CPULSE(4.75 Vpp) CPULSE(5.0 Vpp) CPULSE(5.25 Vpp) TCLEAR SPULSE(4.75 Vpp) SPULSE(5.0 Vpp) SPULSE(5.25 Vpp) TSET Program Pulse Time Number of CENSOR Clear Pulses @VPP = 4.75 Number of CENSOR Clear Pulses @VPP = 5.00 Number of CENSOR Clear Pulses @VPP = 5.25 CENSOR Clear Pulse Time Number of CENSOR Set Pulses @VPP = 4.75 Number of CENSOR Set Pulses @VPP = 5.00 Number of CENSOR Set Pulses @VPP = 5.25 CENSOR Set Pulse Time
NOTES: 1. The typical number of pulses at VPP = 4.75 V and TA = 25C. 2. The worst case programming time occurs at VPP = 4.75 V and TA = -40 C. 3. This value is based on initial device characterization and is not tested in production. 4. The typical number of pulses is at VPP = 5.00 v and TA = 25C. 5. Assumes pulse width = 25.6 s. 6. The best case (fastest) programming time of < 50 pulses is at VPP = 5.25 V and TA = 125C. 7. The typical number of pulses is at VPP = 5.25 V and TA = 25C. 8. After characterization this value may be improved.
MPC555 / MPC556FLASH ELECTRICAL CHARACTERISTICS FOR ALL J76N MASK SETS AND 0K02A AND 1K02A ONLY USERS MANUAL MOTOROLA For More Information On This Product, Go to:15 October 2000 Rev. www.freescale.com H-1
1000
1180 438
447
270 117
140
100
81 46
10
VPP (V)
Temp = -40C Temp = 25C Temp = 150C
Figure H-1 Typical Program Time vs. VPP and Temperature (for CDR1 Target Process)
mA
VPP
IDDPP
A1 mA1 mA1
NOTES: 1. Average current is less than 30 mA when programming both modules simultaneously.
MPC555 / MPC556FLASH ELECTRICAL CHARACTERISTICS FOR ALL J76N MASK SETS AND 0K02A AND 1K02A ONLY USERS MANUAL MOTOROLA For More Information On This Product, Go to:15 October 2000 Rev. www.freescale.com H-2
NOTES: 1. Target failure rate at specified number of program/erase cycles of 2ppm pending characterization of production silicon. 2. A program/erase cycle is defined as switching the bits from 1 0 1. 3. Reprogramming of a CMF array block prior to erase is not required. 4. Number of program/erase cycles to be adjusted pending characterization of production silicon.
H.2 Programming and Erase Algorithm Table H-4 CMF Programming Algorithm (v5)
No. of Pulses (Maximum) 3500 Pulse Width 25.6 s NVR X PAWs 000 GDB X PAWs Mode Normal Description
MPC555 / MPC556FLASH ELECTRICAL CHARACTERISTICS FOR ALL J76N MASK SETS AND 0K02A AND 1K02A ONLY USERS MANUAL MOTOROLA For More Information On This Product, Go to:15 October 2000 Rev. www.freescale.com H-3
INDEX
A A(0 31), 9-4 ACKERR 16-31 Acknowledge error (ACKERR) 16-31 Address -mark wakeup 14-58 space 13-7 address type (AT0-AT3), 9-37 ALE 21-54 ALEE 21-56 alignment exception, 3-46 ALUBFU 3-5 AN 13-3, 13-5 Analog front-end multiplexer 13-14 input multiplexed 13-5 port A 13-3 port B 13-4 section contents 13-1 submodule block diagram 13-12 supply pins 13-5 arbitration, 9-30 AT(0 3), 9-4 atomic update primitives, 3-42 atomic, 9-31 B BAR 3-52 Base ID mask bits 16-30 Baud clock 14-51 BB, 9-7 BDIP, 9-5 BE bit 3-21 Beginning of queue 2 (BQ2) 13-39 BG, 9-7 BI, 9-6 Binary divider 13-25 -weighted capacitors 13-14 Bit stuff error (STUFFERR) 16-31 BITERR 16-31 BITS 14-17 Bits per transfer enable (BITSE) 14-23 field (BITS) 14-17 BITSE 14-23, 14-38
Bit-time 14-50 BKPT (TPU asserted) 17-14 BLC 17-13 BOFFINT 16-31 Boundary conditions 13-17 Boundary scan cells 22-1 descriptor language 22-7 register 22-1 BPU 3-5 BQ2 13-17, 13-39 BR, 9-7 Branch prediction 3-5 processing unit 3-5 trace enable 3-21 Branch latch control (BLC) 17-13 Branch processing unit 3-5 Break frame 14-51 Breakpoint asserted flag (BKPT) 17-14 flag (PCBK) 17-14 Breakpoint counter A value and control register 21-52 Breakpoint counter B value and control register 21-53 BRKNOMSK 21-51 BSC 22-1 BSR 22-1 burst indicator (BURST), 9-36 burst inhibit (BI), 9-39 burst read cycle (illustration), 9-18 burst transfer, 9-15 burst write cycle (illustration), 9-23 BURST, 9-4 Bus monitor 6-12 off interrupt (BOFFINT) 16-31 bus busy (BB), 9-32 bus exception control cycles, 9-43 bus grant (BG), 9-32 bus interface bus control signals, 9-2 bus operation address transfer phase related signals, 9-35 arbitration phase, 9-30 basic transfer protocol, 9-8 burst mechanism, 9-16 burst transfer, 9-15 bus exception control cycles, 9-43 single beat transfer single beat read flow, 9-8
MOTOROLA Index-1
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-2
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-3
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-4
I I/O port operation 13-7 IBRK 21-55 I-bus watchpoint programming 21-48 I-bus support control register 21-47 ICTRL 21-47 ID Extended (IDE) field 16-6 HIGH field 16-6 LOW field 16-6 IDE 16-6 Identifier (ID) 16-1 bit field 16-6 IDLE 14-48, 14-57, 16-31 Idle CAN status (IDLE) 16-31 frame 14-50 -line detect type (ILT) 14-46 detected (IDLE) 14-48, 14-57 detection process 14-57 interrupt enable (ILIE) 14-46, 14-57 type (ILT) bit 14-57 IEEE 1149.1-1990 standard. See JTAG IFLAG 16-33 Ignore first match 21-48 IIFM 21-48 ILIE 14-46, 14-57 illegal and reserved instructions, 3-38 ILSCI 14-8, 14-9 ILT 14-46, 14-57 IMASK 16-32 IMB 13-1, 13-24 implementation dependent software emulation interrupt, 3-48 implementation specific data TLB error interrupt, 3-50 implementation specific debug interrupt, 3-51 implementation specific instruction TLB error interrupt, 3-49 IMULIDIV 3-5 Information processing time (IPT) 16-9
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-5
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-6
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-7
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-8
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-9
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-10
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-11
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-12
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-13
INDEX Rev. 15 October 2000 For More Information On This Product, Go to: www.freescale.com
MOTOROLA Index-14
Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola 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 can and do vary in different applications. All operating parameters, including Typicals must be validated for each customer application by customers technical experts. Motorola does not convey any license under its patent rights nor the rights of others. Motorola 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 Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola 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 Motorola was negligent regarding the design or manufacture of the part. Motorola is a registered trademark of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.
To obtain additional product information: USA/EUROPE: JAPAN: HONG KONG: MFAX: INTERNET: http://www.mot.com
Motorola Literature Distribution; P.O. Box 20912; Phoenix, Arizona 85036. 1-800-441-2447 Nippon Motorola Ltd.; Tatsumi-SPD-JLDC, Toshikatsu Otsuki, 6F Seibu-Butsuryu-Center, 3-14-2 Tatsumi Koto-Ku, Tokyo 135, Japan. 03-3521-8315 Motorola Semiconductors H.K. Ltd.; 8B Tai Ping Industrial Park, 51 Ting Kok Road, Tai Po, N.T., Hong Kong. 852-26629298 RMFAX0@email.sps.mot.com - TOUCHTONE (602) 244-6609