MCF5307AI90B [NXP]

32-BIT, 90MHz, RISC PROCESSOR, PQFP208, 28 X 28 MM, 3.30 MM HEIGHT, 0.50 MM PITCH, LEAD FREE, PLASTIC, QFP-208;
MCF5307AI90B
型号: MCF5307AI90B
厂家: NXP    NXP
描述:

32-BIT, 90MHz, RISC PROCESSOR, PQFP208, 28 X 28 MM, 3.30 MM HEIGHT, 0.50 MM PITCH, LEAD FREE, PLASTIC, QFP-208

时钟 外围集成电路
文件: 总484页 (文件大小:4387K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
Freescale Semiconductor, Inc.  
®
MCF5307 ColdFire  
Integrated Microprocessor  
User’s Manual  
MCF5307UM/D  
Rev. 2.0, 08/2000  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ColdFire is a registered trademark and DigitalDNA is a trademark of Motorola, Inc.  
2
I C is a registered trademark of Philips Semiconductors  
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 which may be provided in Motorola data sheets and/or specifications can  
and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must  
be validated for each customer application by customer’s technical experts. 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  
and  
are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.  
How to reach us:  
USA/EUROPE/Locations Not Listed: Motorola Literature Distribution; P.O. Box 5405, Denver, Colorado 80217. 1–303–675–2140  
or 1–800–441–2447  
JAPAN: Motorola Japan Ltd.; SPS, Technical Information Center, 3–20–1, Minami–Azabu. Minato–ku, Tokyo 106–8573 Japan.  
81–3–3440–3569  
ASIA/PACIFIC: Motorola Semiconductors H.K. Ltd.; Silicon Harbour Centre, 2 Dai King Street, Tai Po Industrial Estate, Tai Po, N.T.,  
Hong Kong. 852–26668334  
Technical Information Center: 1–800–521–6274  
HOME PAGE: http://www.motorola.com/semiconductors  
Document Comments: FAX (512) 895-2638, Attn: RISC Applications Engineering  
World Wide Web Addresses: http://www.motorola.com/PowerPC  
http://www.motorola.com/NetComm  
http://www.motorola.com/ColdFire  
© Motorola Inc., 2000. All rights reserved.  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Overview  
Part I: MCF5307 Processor Core  
ColdFire Core  
1
Part I  
2
Hardware Multiply/Accumulate (MAC) Unit  
Local Memory  
3
4
Debug Support  
5
Part II: System Integration Module (SIM)  
SIM Overview  
Part II  
6
Phase-Locked Loop (PLL)  
7
8
2
I C Module  
Interrupt Controller  
Chip-Select Module  
9
10  
11  
Synchronous/Asynchronous DRAM Controller Module  
Part III: Peripheral Module  
DMA Controller Module  
Part III  
12  
13  
Timer Module  
UART Modules  
14  
Parallel Port (General-Purpose I/O)  
Part IV: Hardware Interface  
Mechanical Data  
15  
Part IV  
16  
17  
Signal Descriptions  
Bus Operation  
18  
IEEE 1149.1 Test Access Port (JTAG)  
Electrical Specifications  
19  
20  
A
Appendix: Memory Map  
Glossary of Terms and Abbreviations  
Index  
GLO  
IND  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
1
Overview  
Part I  
Part I: MCF5307 Processor Core  
ColdFire Core  
2
Hardware Multiply/Accumulate (MAC) Unit  
Local Memory  
3
4
Debug Support  
5
Part II: System Integration Module (SIM)  
SIM Overview  
Part II  
6
Phase-Locked Loop (PLL)  
7
8
2
I C Module  
9
Interrupt Controller  
10  
Chip-Select Module  
11  
Synchronous/Asynchronous DRAM Controller Module  
Part III: Peripheral Module  
DMA Controller Module  
Timer Module  
Part III  
12  
13  
14  
UART Modules  
15  
Parallel Port (General-Purpose I/O)  
Part IV: Hardware Interface  
Mechanical Data  
Part IV  
16  
17  
Signal Descriptions  
18  
Bus Operation  
19  
IEEE 1149.1 Test Access Port (JTAG)  
Electrical Specifications  
20  
A
Appendix B: Memory Map  
Glossary of Terms and Abbreviations  
Index  
GLO  
IND  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
About This Book  
Chapter 1  
Overview  
1.1  
1.2  
1.2.1  
1.3  
Features............................................................................................................... 1-1  
MCF5307 Features.............................................................................................. 1-4  
Process ............................................................................................................ 1-6  
ColdFire Module Description ............................................................................. 1-7  
ColdFire Core ................................................................................................. 1-7  
Instruction Fetch Pipeline (IFP).................................................................. 1-7  
Operand Execution Pipeline (OEP)............................................................ 1-7  
MAC Module.............................................................................................. 1-7  
Integer Divide Module................................................................................ 1-7  
8-Kbyte Unified Cache............................................................................... 1-8  
Internal 4-Kbyte SRAM ............................................................................. 1-8  
DRAM Controller........................................................................................... 1-8  
DMA Controller.............................................................................................. 1-8  
UART Modules............................................................................................... 1-8  
Timer Module ................................................................................................. 1-9  
I2C Module..................................................................................................... 1-9  
System Interface ........................................................................................... 1-10  
External Bus Interface .............................................................................. 1-10  
Chip Selects .............................................................................................. 1-10  
16-Bit Parallel Port Interface.................................................................... 1-10  
Interrupt Controller................................................................................... 1-10  
JTAG......................................................................................................... 1-11  
System Debug Interface................................................................................ 1-11  
PLL Module.................................................................................................. 1-11  
Programming Model, Addressing Modes, and Instruction Set......................... 1-12  
Programming Model..................................................................................... 1-13  
User Registers............................................................................................... 1-14  
Supervisor Registers ..................................................................................... 1-14  
Instruction Set............................................................................................... 1-15  
1.3.1  
1.3.1.1  
1.3.1.2  
1.3.1.3  
1.3.1.4  
1.3.1.5  
1.3.1.6  
1.3.2  
1.3.3  
1.3.4  
1.3.5  
1.3.6  
1.3.7  
1.3.7.1  
1.3.7.2  
1.3.7.3  
1.3.7.4  
1.3.7.5  
1.3.8  
1.3.9  
1.4  
1.4.1  
1.4.2  
1.4.3  
1.4.4  
Contents  
v
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
Part I  
MCF5407 Processor Core  
Chapter 2  
ColdFire Core  
2.1  
2.1.1  
2.1.2  
2.1.2.1  
2.1.2.1.1  
2.1.2.2  
2.1.2.2.1  
2.1.2.2.2  
2.1.2.2.3  
2.1.3  
Features and Enhancements.............................................................................. 2-21  
Clock-Multiplied Microprocessor Core........................................................ 2-22  
Enhanced Pipelines....................................................................................... 2-22  
Instruction Fetch Pipeline (IFP)................................................................ 2-23  
Branch Acceleration ............................................................................. 2-23  
Operand Execution Pipeline (OEP).......................................................... 2-24  
Illegal Opcode Handling....................................................................... 2-24  
Hardware Multiply/Accumulate (MAC) Unit ...................................... 2-24  
Hardware Divide Unit .......................................................................... 2-25  
Debug Module Enhancements...................................................................... 2-25  
Programming Model......................................................................................... 2-26  
User Programming Model ............................................................................ 2-27  
Data Registers (D0–D7) ........................................................................... 2-27  
Address Registers (A0–A6)...................................................................... 2-27  
Stack Pointer (A7, SP).............................................................................. 2-28  
Program Counter (PC) .............................................................................. 2-28  
Condition Code Register (CCR)............................................................... 2-28  
Supervisor Programming Model................................................................... 2-29  
Status Register (SR).................................................................................. 2-29  
Vector Base Register (VBR) .................................................................... 2-30  
Cache Control Register (CACR) .............................................................. 2-30  
Access Control Registers (ACR0–ACR1)................................................ 2-31  
RAM Base Address Register (RAMBAR)............................................... 2-31  
Module Base Address Register (MBAR) ................................................. 2-31  
Integer Data Formats......................................................................................... 2-31  
Organization of Data in Registers..................................................................... 2-31  
Organization of Integer Data Formats in Registers ...................................... 2-31  
Organization of Integer Data Formats in Memory ....................................... 2-32  
Addressing Mode Summary ............................................................................. 2-33  
Instruction Set Summary................................................................................... 2-34  
Instruction Set Summary .............................................................................. 2-37  
Instruction Timing ............................................................................................ 2-40  
MOVE Instruction Execution Times............................................................ 2-41  
Execution Timings—One-Operand Instructions .......................................... 2-43  
Execution Timings—Two-Operand Instructions.......................................... 2-43  
Miscellaneous Instruction Execution Times................................................. 2-45  
2.2  
2.2.1  
2.2.1.1  
2.2.1.2  
2.2.1.3  
2.2.1.4  
2.2.1.5  
2.2.2  
2.2.2.1  
2.2.2.2  
2.2.2.3  
2.2.2.4  
2.2.2.5  
2.2.2.6  
2.3  
2.4  
2.4.1  
2.4.2  
2.5  
2.6  
2.6.1  
2.7  
2.7.1  
2.7.2  
2.7.3  
2.7.4  
vi  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
2.7.5  
2.8  
2.8.1  
2.8.2  
Branch Instruction Execution Times ............................................................ 2-46  
Exception Processing Overview ....................................................................... 2-47  
Exception Stack Frame Definition................................................................ 2-49  
Processor Exceptions.................................................................................... 2-50  
Chapter 3  
Hardware Multiply/Accumulate (MAC) Unit  
3.1  
Overview............................................................................................................. 3-1  
MAC Programming Model............................................................................. 3-2  
General Operation........................................................................................... 3-3  
MAC Instruction Set Summary ...................................................................... 3-4  
Data Representation........................................................................................ 3-4  
MAC Instruction Execution Timings.................................................................. 3-5  
3.1.1  
3.1.2  
3.1.3  
3.1.4  
3.2  
Chapter 4  
Local Memory  
4.1  
4.2  
4.3  
4.4  
4.4.1  
4.5  
4.5.1  
4.6  
4.7  
4.8  
Interactions between Local Memory Modules ................................................... 4-1  
SRAM Overview ................................................................................................ 4-1  
SRAM Operation ................................................................................................ 4-2  
SRAM Programming Model............................................................................... 4-3  
SRAM Base Address Register (RAMBAR)................................................... 4-3  
SRAM Initialization............................................................................................ 4-4  
SRAM Initialization Code .............................................................................. 4-5  
Power Management ............................................................................................ 4-6  
Cache Overview.................................................................................................. 4-6  
Cache Organization............................................................................................. 4-7  
Cache Line States: Invalid, Valid-Unmodified, and Valid-Modified............. 4-8  
The Cache at Start-Up..................................................................................... 4-9  
Cache Operation................................................................................................ 4-11  
Caching Modes ............................................................................................. 4-13  
Cacheable Accesses.................................................................................. 4-13  
Write-Through Mode ............................................................................... 4-14  
Copyback Mode ....................................................................................... 4-14  
Cache-Inhibited Accesses............................................................................. 4-14  
Cache Protocol.............................................................................................. 4-15  
Read Miss ................................................................................................. 4-15  
Write Miss ............................................................................................... 4-16  
Read Hit.................................................................................................... 4-16  
Write Hit .................................................................................................. 4-16  
Cache Coherency ......................................................................................... 4-17  
4.8.1  
4.8.2  
4.9  
4.9.1  
4.9.1.1  
4.9.1.2  
4.9.1.3  
4.9.2  
4.9.3  
4.9.3.1  
4.9.3.2  
4.9.3.3  
4.9.3.4  
4.9.4  
Contents  
vii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
4.9.5  
Memory Accesses for Cache Maintenance................................................... 4-17  
Cache Filling............................................................................................. 4-17  
Cache Pushes ............................................................................................ 4-18  
Push and Store Buffers ......................................................................... 4-18  
Push and Store Buffer Bus Operation................................................... 4-18  
Cache Locking.............................................................................................. 4-19  
Cache Registers................................................................................................. 4-21  
Cache Control Register (CACR) .................................................................. 4-21  
Access Control Registers (ACR0–ACR1).................................................... 4-22  
Cache Management........................................................................................... 4-24  
Cache Operation Summary............................................................................... 4-25  
Cache State Transitions ................................................................................ 4-25  
Cache Initialization Code.................................................................................. 4-29  
4.9.5.1  
4.9.5.2  
4.9.5.2.1  
4.9.5.2.2  
4.9.6  
4.10  
4.10.1  
4.10.2  
4.11  
4.12  
4.12.1  
4.13  
Chapter 5  
Debug Support  
5.1  
5.2  
5.3  
5.3.1  
5.4  
5.4.1  
5.4.2  
5.4.3  
5.4.4  
5.4.5  
5.4.6  
5.4.7  
5.5  
5.5.1  
5.5.2  
5.5.2.1  
5.5.2.2  
5.5.3  
5.5.3.1  
5.5.3.1.1  
5.5.3.2  
5.5.3.3  
5.5.3.3.1  
5.5.3.3.2  
5.5.3.3.3  
Overview............................................................................................................. 5-1  
Signal Description............................................................................................... 5-2  
Real-Time Trace Support.................................................................................... 5-3  
Begin Execution of Taken Branch (PST = 0x5)............................................. 5-4  
Programming Model........................................................................................... 5-5  
Address Attribute Trigger Register (AATR).................................................. 5-7  
Address Breakpoint Registers (ABLR, ABHR) ............................................ 5-8  
BDM Address Attribute Register (BAAR)..................................................... 5-9  
Configuration/Status Register (CSR)............................................................ 5-10  
Data Breakpoint/Mask Registers (DBR, DBMR)......................................... 5-12  
Program Counter Breakpoint/Mask Registers (PBR, PBMR)...................... 5-13  
Trigger Definition Register (TDR)............................................................... 5-14  
Background Debug Mode (BDM) .................................................................... 5-16  
CPU Halt....................................................................................................... 5-16  
BDM Serial Interface.................................................................................... 5-17  
Receive Packet Format ............................................................................. 5-19  
Transmit Packet Format............................................................................ 5-19  
BDM Command Set...................................................................................... 5-19  
ColdFire BDM Command Format............................................................ 5-20  
Extension Words as Required............................................................... 5-21  
Command Sequence Diagrams................................................................. 5-21  
Command Set Descriptions ...................................................................... 5-23  
Read A/D Register (RAREG/RDREG) ..................................................... 5-24  
Write A/D Register (WAREG/WDREG)................................................... 5-25  
Read Memory Location (READ)............................................................ 5-26  
viii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
5.5.3.3.4  
5.5.3.3.5  
5.5.3.3.6  
5.5.3.3.7  
5.5.3.3.8  
5.5.3.3.9  
5.5.3.3.10  
5.5.3.3.11  
5.5.3.3.12  
5.5.3.3.13  
5.6  
5.6.1  
5.6.1.1  
5.6.2  
5.7  
5.8  
Write Memory Location (WRITE) ......................................................... 5-27  
Dump Memory Block (DUMP).............................................................. 5-29  
Fill Memory Block (FILL)..................................................................... 5-31  
Resume Execution (GO)........................................................................ 5-33  
No Operation (NOP) .............................................................................. 5-34  
Synchronize PC to the PST/DDATA Lines (SYNC_PC) ....................... 5-35  
Read Control Register (RCREG) ............................................................ 5-36  
Write Control Register (WCREG) .......................................................... 5-37  
Read Debug Module Register (RDMREG) ............................................. 5-38  
Write Debug Module Register (WDMREG) ........................................... 5-39  
Real-Time Debug Support................................................................................ 5-39  
Theory of Operation...................................................................................... 5-40  
Emulator Mode ......................................................................................... 5-41  
Concurrent BDM and Processor Operation.................................................. 5-41  
Motorola-Recommended BDM Pinout............................................................. 5-42  
Processor Status, DDATA Definition............................................................... 5-42  
User Instruction Set ...................................................................................... 5-43  
Supervisor Instruction Set............................................................................. 5-46  
5.8.1  
5.8.2  
Part II  
System Integration Module (SIM)  
Chapter 6  
SIM Overview  
6.1  
6.2  
6.2.1  
6.2.2  
6.2.3  
6.2.4  
6.2.5  
6.2.6  
6.2.7  
6.2.8  
6.2.9  
6.2.10  
6.2.10.1  
6.2.10.1.1  
6.2.10.1.2  
Features............................................................................................................... 6-1  
Programming Model........................................................................................... 6-3  
SIM Register Memory Map............................................................................ 6-3  
Module Base Address Register (MBAR) ....................................................... 6-4  
Reset Status Register (RSR) ........................................................................... 6-5  
Software Watchdog Timer.............................................................................. 6-6  
System Protection Control Register (SYPCR) ............................................... 6-8  
Software Watchdog Interrupt Vector Register (SWIVR)............................... 6-9  
Software Watchdog Service Register (SWSR)............................................... 6-9  
PLL Clock Control for CPU STOP Instruction............................................ 6-10  
Pin Assignment Register (PAR) ................................................................... 6-10  
Bus Arbitration Control ................................................................................ 6-11  
Default Bus Master Park Register (MPARK) .......................................... 6-11  
Arbitration for Internally Generated Transfers (MPARK[PARK])...... 6-12  
Arbitration between Internal and External Masters  
for Accessing Internal Resources ......................................................... 6-14  
Contents  
ix  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
Chapter 7  
Phase-Locked Loop (PLL)  
7.1  
7.1.1  
7.2  
7.2.1  
7.2.2  
7.2.3  
7.2.4  
7.3  
Overview............................................................................................................. 7-1  
PLL:PCLK Ratios........................................................................................... 7-2  
PLL Operation .................................................................................................... 7-2  
Reset/Initialization.......................................................................................... 7-2  
Normal Mode.................................................................................................. 7-2  
Reduced-Power Mode..................................................................................... 7-2  
PLL Control Register (PLLCR)...................................................................... 7-3  
PLL Port List ...................................................................................................... 7-3  
Timing Relationships.......................................................................................... 7-4  
PCLK, PSTCLK, and BCLKO....................................................................... 7-4  
RSTI Timing................................................................................................... 7-5  
PLL Power Supply Filter Circuit........................................................................ 7-6  
7.4  
7.4.1  
7.4.2  
7.5  
Chapter 8  
2
I C Module  
8.1  
8.2  
8.3  
8.4  
Overview............................................................................................................. 8-1  
Interface Features................................................................................................ 8-1  
I2C System Configuration................................................................................... 8-3  
I2C Protocol ........................................................................................................ 8-3  
Arbitration Procedure ..................................................................................... 8-4  
Clock Synchronization.................................................................................... 8-5  
Handshaking ................................................................................................... 8-5  
Clock Stretching ............................................................................................. 8-5  
Programming Model........................................................................................... 8-6  
I2C Address Register (IADR)......................................................................... 8-6  
I2C Frequency Divider Register (IFDR)......................................................... 8-7  
I2C Control Register (I2CR)........................................................................... 8-8  
I2C Status Register (I2SR).............................................................................. 8-9  
I2C Data I/O Register (I2DR)....................................................................... 8-10  
I2C Programming Examples ............................................................................. 8-10  
Initialization Sequence.................................................................................. 8-10  
Generation of START................................................................................... 8-10  
Post-Transfer Software Response................................................................. 8-11  
Generation of STOP...................................................................................... 8-12  
Generation of Repeated START................................................................... 8-12  
Slave Mode ................................................................................................... 8-13  
Arbitration Lost............................................................................................. 8-13  
8.4.1  
8.4.2  
8.4.3  
8.4.4  
8.5  
8.5.1  
8.5.2  
8.5.3  
8.5.4  
8.5.5  
8.6  
8.6.1  
8.6.2  
8.6.3  
8.6.4  
8.6.5  
8.6.6  
8.6.7  
x
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
Chapter 9  
Interrupt Controller  
9.1  
9.2  
9.2.1  
9.2.2  
9.2.3  
9.2.4  
Overview............................................................................................................. 9-1  
Interrupt Controller Registers ............................................................................. 9-2  
Interrupt Control Registers (ICR0–ICR9) ...................................................... 9-3  
Autovector Register (AVR)............................................................................ 9-5  
Interrupt Pending and Mask Registers (IPR and IMR)................................... 9-6  
Interrupt Port Assignment Register (IRQPAR).............................................. 9-7  
Chapter 10  
Chip-Select Module  
10.1  
10.2  
10.3  
Overview........................................................................................................... 10-1  
Chip-Select Module Signals ............................................................................. 10-1  
Chip-Select Operation....................................................................................... 10-2  
General Chip-Select Operation..................................................................... 10-3  
8-, 16-, and 32-Bit Port Sizing.................................................................. 10-4  
Global Chip-Select Operation................................................................... 10-4  
Chip-Select Registers........................................................................................ 10-5  
Chip-Select Module Registers ...................................................................... 10-6  
Chip-Select Address Registers (CSAR0–CSAR7)................................... 10-6  
Chip-Select Mask Registers (CSMR0–CSMR7)...................................... 10-6  
Chip-Select Control Registers (CSCR0–CSCR7) .................................... 10-8  
Code Example........................................................................................... 10-9  
10.3.1  
10.3.1.1  
10.3.1.2  
10.4  
10.4.1  
10.4.1.1  
10.4.1.2  
10.4.1.3  
10.4.1.4  
Chapter 11  
Synchronous/Asynchronous DRAM Controller Module  
11.1  
Overview........................................................................................................... 11-1  
Definitions .................................................................................................... 11-2  
Block Diagram and Major Components....................................................... 11-2  
DRAM Controller Operation............................................................................ 11-3  
DRAM Controller Registers......................................................................... 11-3  
Asynchronous Operation .................................................................................. 11-4  
DRAM Controller Signals in Asynchronous Mode...................................... 11-4  
Asynchronous Register Set........................................................................... 11-4  
DRAM Control Register (DCR) in Asynchronous Mode ........................ 11-4  
DRAM Address and Control Registers (DACR0/DACR1) ..................... 11-5  
DRAM Controller Mask Registers (DMR0/DMR1) ................................ 11-7  
General Asynchronous Operation Guidelines .............................................. 11-8  
Non-Page-Mode Operation..................................................................... 11-11  
11.1.1  
11.1.2  
11.2  
11.2.1  
11.3  
11.3.1  
11.3.2  
11.3.2.1  
11.3.2.2  
11.3.2.3  
11.3.3  
11.3.3.1  
Contents  
xi  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
11.3.3.2  
11.3.3.3  
11.3.3.4  
11.3.3.5  
11.4  
11.4.1  
11.4.2  
11.4.3  
11.4.3.1  
11.4.3.2  
Burst Page-Mode Operation ................................................................... 11-12  
Continuous Page Mode........................................................................... 11-13  
Extended Data Out (EDO) Operation..................................................... 11-15  
Refresh Operation................................................................................... 11-16  
Synchronous Operation................................................................................... 11-16  
DRAM Controller Signals in Synchronous Mode...................................... 11-17  
Using Edge Select (EDGESEL) ................................................................. 11-18  
Synchronous Register Set........................................................................... 11-19  
DRAM Control Register (DCR) in Synchronous Mode.......................... 11-19  
DRAM Address and Control Registers (DACR0/DACR1)  
in Synchronous Mode ......................................................................... 11-20  
DRAM Controller Mask Registers (DMR0/DMR1) .............................. 11-22  
General Synchronous Operation Guidelines............................................... 11-23  
Address Multiplexing ............................................................................. 11-23  
Interfacing Example................................................................................ 11-27  
Burst Page Mode..................................................................................... 11-27  
Continuous Page Mode........................................................................... 11-29  
Auto-Refresh Operation.......................................................................... 11-31  
Self-Refresh Operation ........................................................................... 11-32  
Initialization Sequence................................................................................ 11-33  
Mode Register Settings........................................................................... 11-33  
SDRAM Example........................................................................................... 11-34  
SDRAM Interface Configuration................................................................ 11-35  
DCR Initialization....................................................................................... 11-35  
DACR Initialization.................................................................................... 11-35  
DMR Initialization...................................................................................... 11-37  
Mode Register Initialization ....................................................................... 11-38  
Initialization Code....................................................................................... 11-39  
11.4.3.3  
11.4.4  
11.4.4.1  
11.4.4.2  
11.4.4.3  
11.4.4.4  
11.4.4.5  
11.4.4.6  
11.4.5  
11.4.5.1  
11.5  
11.5.1  
11.5.2  
11.5.3  
11.5.4  
11.5.5  
11.5.6  
Part III  
Peripheral Module  
Chapter 12  
DMA Controller Module  
12.1  
12.1.1  
12.2  
12.3  
12.4  
Overview........................................................................................................... 12-1  
DMA Module Features................................................................................. 12-2  
DMA Signal Description .................................................................................. 12-2  
DMA Transfer Overview.................................................................................. 12-3  
DMA Controller Module Programming Model................................................ 12-4  
Source Address Registers (SAR0–SAR3).................................................... 12-6  
Destination Address Registers (DAR0–DAR3) ........................................... 12-7  
12.4.1  
12.4.2  
xii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
12.4.3  
12.4.4  
12.4.5  
12.4.6  
12.5  
12.5.1  
12.5.2  
12.5.2.1  
12.5.2.2  
12.5.3  
12.5.3.1  
12.5.3.2  
12.5.4  
12.5.4.1  
12.5.4.2  
12.5.4.3  
12.5.5  
Byte Count Registers (BCR0–BCR3)........................................................... 12-7  
DMA Control Registers (DCR0–DCR3)...................................................... 12-8  
DMA Status Registers (DSR0–DSR3) ....................................................... 12-10  
DMA Interrupt Vector Registers (DIVR0–DIVR3)................................... 12-11  
DMA Controller Module Functional Description........................................... 12-11  
Transfer Requests (Cycle-Steal and Continuous Modes)........................... 12-12  
Data Transfer Modes .................................................................................. 12-12  
Dual-Address Transfers.......................................................................... 12-12  
Single-Address Transfers........................................................................ 12-13  
Channel Initialization and Startup .............................................................. 12-13  
Channel Prioritization............................................................................. 12-13  
Programming the DMA Controller Module ........................................... 12-13  
Data Transfer .............................................................................................. 12-14  
External Request and Acknowledge Operation...................................... 12-14  
Auto-Alignment...................................................................................... 12-17  
Bandwidth Control.................................................................................. 12-18  
Termination................................................................................................. 12-18  
Chapter 13  
Timer Module  
13.1  
13.1.1  
13.2  
Overview........................................................................................................... 13-1  
Key Features ................................................................................................. 13-2  
General-Purpose Timer Units ........................................................................... 13-2  
General-Purpose Timer Programming Model .................................................. 13-2  
Timer Mode Registers (TMR0/TMR1) ........................................................ 13-3  
Timer Reference Registers (TRR0/TRR1) ................................................... 13-4  
Timer Capture Registers (TCR0/TCR1)....................................................... 13-4  
Timer Counters (TCN0/TCN1) .................................................................... 13-5  
Timer Event Registers (TER0/TER1)........................................................... 13-5  
Code Example................................................................................................... 13-6  
Calculating Time-Out Values ........................................................................... 13-7  
13.3  
13.3.1  
13.3.2  
13.3.3  
13.3.4  
13.3.5  
13.4  
13.5  
Chapter 14  
UART Modules  
14.1  
14.2  
14.3  
14.3.1  
14.3.2  
14.3.3  
Overview........................................................................................................... 14-1  
Serial Module Overview................................................................................... 14-2  
Register Descriptions........................................................................................ 14-2  
UART Mode Registers 1 (UMR1n).............................................................. 14-4  
UART Mode Register 2 (UMR2n)............................................................... 14-6  
UART Status Registers (USRn) ................................................................... 14-7  
Contents  
xiii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
14.3.4  
14.3.5  
14.3.6  
14.3.7  
14.3.8  
14.3.9  
14.3.10  
14.3.11  
14.3.12  
14.3.13  
14.3.14  
14.4  
UART Clock-Select Registers (UCSRn)...................................................... 14-8  
UART Command Registers (UCRn)............................................................ 14-9  
UART Receiver Buffers (URBn) ............................................................... 14-11  
UART Transmitter Buffers (UTBn) ........................................................... 14-11  
UART Input Port Change Registers (UIPCRn).......................................... 14-12  
UART Auxiliary Control Register (UACRn)............................................. 14-12  
UART Interrupt Status/Mask Registers (UISRn/UIMRn).......................... 14-13  
UART Divider Upper/Lower Registers (UDUn/UDLn) ............................ 14-14  
UART Interrupt Vector Register (UIVRn)................................................. 14-15  
UART Input Port Register (UIPn).............................................................. 14-15  
UART Output Port Command Registers (UOP1n/UOP0n) ....................... 14-15  
UART Module Signal Definitions.................................................................. 14-16  
Operation......................................................................................................... 14-18  
Transmitter/Receiver Clock Source............................................................ 14-18  
Programmable Divider............................................................................ 14-18  
Calculating Baud Rates........................................................................... 14-19  
BCLKO Baud Rates ........................................................................... 14-19  
External Clock .................................................................................... 14-19  
Transmitter and Receiver Operating Modes............................................... 14-19  
Transmitting ........................................................................................... 14-21  
Receiver .................................................................................................. 14-22  
FIFO Stack ............................................................................................. 14-24  
Looping Modes........................................................................................... 14-25  
Automatic Echo Mode............................................................................ 14-25  
Local Loop-Back Mode.......................................................................... 14-25  
Remote Loop-Back Mode....................................................................... 14-26  
Multidrop Mode.......................................................................................... 14-26  
Bus Operation ............................................................................................. 14-28  
Read Cycles ............................................................................................ 14-28  
Write Cycles ........................................................................................... 14-28  
Interrupt Acknowledge Cycles ............................................................... 14-28  
Programming .............................................................................................. 14-28  
UART Module Initialization Sequence .................................................. 14-29  
14.5  
14.5.1  
14.5.1.1  
14.5.1.2  
14.5.1.2.1  
14.5.1.2.2  
14.5.2  
14.5.2.1  
14.5.2.2  
14.5.2.3  
14.5.3  
14.5.3.1  
14.5.3.2  
14.5.3.3  
14.5.4  
14.5.5  
14.5.5.1  
14.5.5.2  
14.5.5.3  
14.5.6  
14.5.6.1  
Chapter 15  
Parallel Port (General-Purpose I/O)  
15.1  
Parallel Port Operation...................................................................................... 15-1  
Pin Assignment Register (PAR) ................................................................... 15-1  
Port A Data Direction Register (PADDR).................................................... 15-2  
Port A Data Register (PADAT).................................................................... 15-2  
Code Example............................................................................................... 15-3  
15.1.1  
15.1.2  
15.1.3  
15.1.4  
xiv  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
Part IV  
Hardware Interface  
Chapter 16  
Mechanical Data  
16.1  
16.2  
16.3  
16.4  
Package ............................................................................................................. 16-1  
Pinout................................................................................................................ 16-1  
Mechanical Diagram......................................................................................... 16-8  
Case Drawing.................................................................................................... 16-9  
Chapter 17  
Signal Descriptions  
17.1  
17.2  
Overview........................................................................................................... 17-1  
MCF5307 Bus Signals...................................................................................... 17-7  
Address Bus.................................................................................................. 17-7  
Address Bus (A[23:0]).............................................................................. 17-7  
Address Bus (A[31:24]/PP[15:8]) ............................................................ 17-7  
Data Bus (D[31:0]) ....................................................................................... 17-8  
Read/Write (R/W)......................................................................................... 17-8  
Size (SIZ[1:0]).............................................................................................. 17-8  
Transfer Start (TS)........................................................................................ 17-9  
Address Strobe (AS)..................................................................................... 17-9  
Transfer Acknowledge (TA)......................................................................... 17-9  
Transfer In Progress (TIP/PP7)................................................................... 17-10  
Transfer Type (TT[1:0]/PP[1:0])................................................................ 17-10  
Transfer Modifier (TM[2:0]/PP[4:2])......................................................... 17-10  
Interrupt Control Signals................................................................................. 17-12  
Interrupt Request (IRQ1/IRQ2, IRQ3/IRQ6, IRQ5/IRQ4, and IRQ7)....... 17-12  
Bus Arbitration Signals................................................................................... 17-12  
Bus Request (BR) ....................................................................................... 17-12  
Bus Grant (BG).......................................................................................... 17-12  
Bus Driven (BD)......................................................................................... 17-13  
Clock and Reset Signals.................................................................................. 17-13  
Reset In (RSTI)........................................................................................... 17-13  
Clock Input (CLKIN).................................................................................. 17-13  
Bus Clock Output (BCLKO) ...................................................................... 17-13  
Reset Out (RSTO)....................................................................................... 17-13  
Data/Configuration Pins (D[7:0])............................................................... 17-13  
D[7:5Boot Chip-Select (CS0) Configuration ......................................... 17-14  
D7—Auto Acknowledge Configuration (AA_CONFIG) ...................... 17-14  
17.2.1  
17.2.1.1  
17.2.1.2  
17.2.2  
17.2.3  
17.2.4  
17.2.5  
17.2.6  
17.2.7  
17.2.8  
17.2.9  
17.2.10  
17.3  
17.3.1  
17.4  
17.4.1  
17.4.2  
17.4.3  
17.5  
17.5.1  
17.5.2  
17.5.3  
17.5.4  
17.5.5  
17.5.5.1  
17.5.5.2  
Contents  
xv  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
17.5.5.3  
17.5.6  
17.5.7  
17.5.8  
17.6  
17.6.1  
17.6.2  
17.6.3  
17.7  
17.7.1  
17.7.2  
17.7.3  
17.7.4  
17.7.5  
17.7.6  
17.7.7  
17.8  
D[6:5]—Port Size Configuration (PS_CONFIG[1:0])........................... 17-14  
D4—Address Configuration (ADDR_CONFIG)....................................... 17-14  
D[3:2]—Frequency Control PLL (FREQ[1:0] ..........................................) 17-15  
D[1:0]—Divide Control PCLK to BCLKO (DIVIDE[1:0])....................... 17-15  
Chip-Select Module Signals ........................................................................... 17-15  
Chip-Select (CS[7:0]) ................................................................................. 17-16  
Byte Enables/Byte Write Enables (BE[3:0]/BWE[3:0]) ............................ 17-16  
Output Enable (OE) .................................................................................... 17-16  
DRAM Controller Signals .............................................................................. 17-16  
Row Address Strobes (RAS[1:0])............................................................... 17-16  
Column Address Strobes (CAS[3:0]) ......................................................... 17-16  
DRAM Write (DRAMW)........................................................................... 17-17  
Synchronous DRAM Column Address Strobe (SCAS) ............................. 17-17  
Synchronous DRAM Row Address Strobe (SRAS)................................... 17-17  
Synchronous DRAM Clock Enable (SCKE).............................................. 17-17  
Synchronous Edge Select (EDGESEL)...................................................... 17-17  
DMA Controller Module Signals.................................................................... 17-17  
DMA Request (DREQ[1:0]/PP[6:5]).......................................................... 17-18  
Serial Module Signals..................................................................................... 17-18  
Transmitter Serial Data Output (TxD)........................................................ 17-18  
Receiver Serial Data Input (RxD)............................................................... 17-18  
Clear to Send (CTS).................................................................................... 17-18  
Request to Send (RTS) ............................................................................... 17-18  
Timer Module Signals..................................................................................... 17-18  
Timer Inputs (TIN[1:0]).............................................................................. 17-19  
Timer Outputs (TOUT1, TOUT0).............................................................. 17-19  
Parallel I/O Port (PP[15:0]) ............................................................................ 17-19  
I2C Module Signals ........................................................................................ 17-19  
I2C Serial Clock (SCL)............................................................................... 17-19  
I2C Serial Data (SDA)................................................................................ 17-19  
Debug and Test Signals .................................................................................. 17-20  
Test Mode (MTMOD[3:0]) ........................................................................ 17-20  
High Impedance (HIZ)................................................................................ 17-20  
Processor Clock Output (PSTCLK)............................................................ 17-20  
Debug Data (DDATA[3:0])........................................................................ 17-20  
Processor Status (PST[3:0])........................................................................ 17-20  
Debug Module/JTAG Signals......................................................................... 17-21  
Test Reset/Development Serial Clock (TRST/DSCLK) ............................ 17-21  
Test Mode Select/Breakpoint (TMS/BKPT) .............................................. 17-22  
Test Data Input/Development Serial Input (TDI/DSI) ............................... 17-22  
Test Data Output/Development Serial Output (TDO/DSO)....................... 17-22  
Test Clock (TCK) ....................................................................................... 17-23  
17.8.1  
17.9  
17.9.1  
17.9.2  
17.9.3  
17.9.4  
17.10  
17.10.1  
17.10.2  
17.11  
17.12  
17.12.1  
17.12.2  
17.13  
17.13.1  
17.13.2  
17.13.3  
17.13.4  
17.13.5  
17.14  
17.14.1  
17.14.2  
17.14.3  
17.14.4  
17.14.5  
xvi  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
Chapter 18  
Bus Operation  
18.1  
18.2  
18.3  
18.4  
Features............................................................................................................. 18-1  
Bus and Control Signals ................................................................................... 18-1  
Bus Characteristics............................................................................................ 18-2  
Data Transfer Operation ................................................................................... 18-3  
Bus Cycle Execution..................................................................................... 18-4  
Data Transfer Cycle States ........................................................................... 18-5  
Read Cycle.................................................................................................... 18-7  
Write Cycle................................................................................................... 18-8  
Fast-Termination Cycles............................................................................... 18-9  
Back-to-Back Bus Cycles........................................................................... 18-10  
Burst Cycles................................................................................................ 18-11  
Line Transfers......................................................................................... 18-12  
Line Read Bus Cycles............................................................................. 18-12  
Line Write Bus Cycles............................................................................ 18-14  
Transfers Using Mixed Port Sizes .......................................................... 18-15  
Misaligned Operands ...................................................................................... 18-16  
Bus Errors ....................................................................................................... 18-17  
Interrupt Exceptions........................................................................................ 18-17  
Level 7 Interrupts........................................................................................ 18-18  
Interrupt-Acknowledge Cycle..................................................................... 18-19  
Bus Arbitration................................................................................................ 18-20  
Bus Arbitration Signals............................................................................... 18-21  
General Operation of External Master Transfers............................................ 18-21  
Two-Device Bus Arbitration Protocol (Two-Wire Mode) ......................... 18-25  
Multiple External Bus Device Arbitration Protocol (Three-Wire Mode)... 18-29  
Reset Operation............................................................................................... 18-33  
Master Reset ............................................................................................... 18-34  
Software Watchdog Reset........................................................................... 18-35  
18.4.1  
18.4.2  
18.4.3  
18.4.4  
18.4.5  
18.4.6  
18.4.7  
18.4.7.1  
18.4.7.2  
18.4.7.3  
18.4.7.4  
18.5  
18.6  
18.7  
18.7.1  
18.7.2  
18.8  
18.8.1  
18.9  
18.9.1  
18.9.2  
18.10  
18.10.1  
18.10.2  
Chapter 19  
IEEE 1149.1 Test Access Port (JTAG)  
19.1  
19.2  
19.3  
19.4  
19.4.1  
19.4.2  
19.4.3  
Overview........................................................................................................... 19-1  
JTAG Signal Descriptions ............................................................................... 19-2  
TAP Controller.................................................................................................. 19-3  
JTAG Register Descriptions ............................................................................. 19-4  
JTAG Instruction Shift Register .................................................................. 19-5  
IDCODE Register......................................................................................... 19-6  
JTAG Boundary-Scan Register .................................................................... 19-7  
Contents  
xvii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
CONTENTS  
Paragraph  
Number  
Page  
Number  
Title  
19.4.4  
19.5  
19.6  
JTAG Bypass Register................................................................................ 19-10  
Restrictions ..................................................................................................... 19-10  
Disabling IEEE Standard 1149.1 Operation................................................... 19-11  
Obtaining the IEEE Standard 1149.1.............................................................. 19-12  
19.7  
Chapter 20  
Electrical Specifications  
20.1  
20.2  
20.3  
20.4  
20.5  
20.6  
20.7  
20.8  
20.9  
20.10  
20.11  
General Parameters........................................................................................... 20-1  
Clock Timing Specifications............................................................................. 20-2  
Input/Output AC Timing Specifications........................................................... 20-3  
Reset Timing Specifications ........................................................................... 20-12  
Debug AC Timing Specifications................................................................... 20-12  
Timer Module AC Timing Specifications ...................................................... 20-14  
I2C Input/Output Timing Specifications......................................................... 20-15  
UART Module AC Timing Specifications ..................................................... 20-16  
Parallel Port (General-Purpose I/O) Timing Specifications ........................... 20-18  
DMA Timing Specifications........................................................................... 20-19  
IEEE 1149.1 (JTAG) AC Timing Specifications ........................................... 20-20  
xviii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
1-1  
1-2  
1-3  
1-4  
2-1  
2-2  
2-3  
2-5  
2-6  
2-7  
2-8  
2-9  
2-10  
3-1  
3-2  
4-1  
4-2  
4-3  
4-4  
4-5  
4-6  
4-7  
4-8  
4-9  
4-10  
4-11  
4-12  
5-1  
5-2  
5-3  
5-4  
5-5  
5-6  
5-7  
5-8  
5-9  
MCF5307 Block Diagram............................................................................................. 1-2  
UART Module Block Diagram..................................................................................... 1-9  
PLL Module................................................................................................................ 1-12  
ColdFire MCF5307 Programming Model .................................................................. 1-13  
ColdFire Enhanced Pipeline ....................................................................................... 2-23  
ColdFire Multiply-Accumulate Functionality Diagram ............................................. 2-25  
ColdFire Programming Model.................................................................................... 2-27  
Status Register (SR).................................................................................................... 2-30  
Vector Base Register (VBR)....................................................................................... 2-30  
Organization of Integer Data Formats in Data Registers............................................ 2-32  
Organization of Integer Data Formats in Address Registers ...................................... 2-32  
Memory Operand Addressing..................................................................................... 2-33  
Exception Stack Frame Form...................................................................................... 2-49  
ColdFire MAC Multiplication and Accumulation........................................................ 3-2  
MAC Programming Model........................................................................................... 3-2  
SRAM Base Address Register (RAMBAR)................................................................. 4-3  
Unified Cache Organization ......................................................................................... 4-7  
Cache Organization and Line Format........................................................................... 4-8  
Cache—A: at Reset, B: after Invalidation, C and D: Loading Pattern ....................... 4-10  
Caching Operation ...................................................................................................... 4-11  
Write-Miss in Copyback Mode................................................................................... 4-16  
Cache Locking ............................................................................................................ 4-20  
Cache Control Register (CACR) ................................................................................ 4-21  
Access Control Register Format (ACRn) ................................................................... 4-23  
An Format .................................................................................................................. 4-24  
Cache Line State Diagram—Copyback Mode............................................................ 4-26  
Cache Line State Diagram—Write-Through Mode.................................................... 4-26  
Processor/Debug Module Interface............................................................................... 5-1  
PSTCLK Timing........................................................................................................... 5-3  
Example JMP Instruction Output on PST/DDATA...................................................... 5-5  
Debug Programming Model ......................................................................................... 5-6  
Address Attribute Trigger Register (AATR)................................................................ 5-7  
Address Breakpoint Registers (ABLR, ABHR) ........................................................... 5-9  
BDM Address Attribute Register (BAAR)................................................................... 5-9  
Configuration/Status Register (CSR).......................................................................... 5-10  
Data Breakpoint/Mask Registers (DBR and DBMR)................................................. 5-12  
Illustrations  
xix  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
5-10  
5-11  
5-12  
5-13  
5-14  
5-15  
5-16  
5-17  
5-19  
5-18  
5-21  
5-20  
5-23  
5-22  
5-24  
5-25  
5-26  
5-27  
5-28  
5-29  
5-31  
5-30  
5-33  
5-32  
5-35  
5-34  
5-37  
5-36  
5-39  
5-38  
5-41  
5-40  
5-43  
5-42  
5-44  
6-1  
Program Counter Breakpoint Register (PBR)............................................................. 5-14  
Program Counter Breakpoint Mask Register (PBMR)............................................... 5-14  
Trigger Definition Register (TDR)............................................................................. 5-15  
BDM Serial Interface Timing..................................................................................... 5-18  
Receive BDM Packet.................................................................................................. 5-19  
Transmit BDM Packet ................................................................................................ 5-19  
BDM Command Format ............................................................................................. 5-21  
Command Sequence Diagram..................................................................................... 5-22  
RAREG/RDREG Command Sequence............................................................................ 5-24  
RAREG/RDREG Command Format ............................................................................... 5-24  
WAREG/WDREG Command Sequence.......................................................................... 5-25  
WAREG/WDREG Command Format.............................................................................. 5-25  
READ Command Sequence.......................................................................................... 5-26  
READ Command/Result Formats................................................................................. 5-26  
WRITE Command Format ............................................................................................ 5-27  
WRITE Command Sequence ........................................................................................ 5-28  
DUMP Command/Result Formats ................................................................................ 5-29  
DUMP Command Sequence ......................................................................................... 5-30  
FILL Command Format................................................................................................ 5-31  
FILL Command Sequence............................................................................................ 5-32  
GO Command Sequence.............................................................................................. 5-33  
GO Command Format.................................................................................................. 5-33  
NOP Command Sequence ............................................................................................ 5-34  
NOP Command Format................................................................................................ 5-34  
SYNC_PC Command Sequence.................................................................................... 5-35  
SYNC_PC Command Format........................................................................................ 5-35  
RCREG Command Sequence........................................................................................ 5-36  
RCREG Command/Result Formats............................................................................... 5-36  
WCREG Command Sequence....................................................................................... 5-37  
WCREG Command/Result Formats.............................................................................. 5-37  
RDMREG Command Sequence..................................................................................... 5-38  
RDMREG bdm Command/Result Formats.................................................................... 5-38  
WDMREG Command Sequence.................................................................................... 5-39  
WDMREG BDM Command Format.............................................................................. 5-39  
Recommended BDM Connector................................................................................. 5-42  
SIM Block Diagram...................................................................................................... 6-1  
Module Base Address Register (MBAR) ..................................................................... 6-4  
Reset Status Register (RSR) ......................................................................................... 6-5  
MCF5307 Embedded System Recovery from Unterminated Access........................... 6-7  
System Protection Control Register (SYPCR) ............................................................. 6-8  
Software Watchdog Interrupt Vector Register (SWIVR)............................................. 6-9  
Software Watchdog Service Register (SWSR)............................................................. 6-9  
Pin Assignment Register (PAR) ................................................................................. 6-10  
6-2  
6-3  
6-4  
6-5  
6-6  
6-7  
6-8  
xx  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
6-9  
Default Bus Master Register (MPARK)..................................................................... 6-11  
Round Robin Arbitration (PARK = 00)...................................................................... 6-12  
Park on Master Core Priority (PARK = 01) ............................................................... 6-13  
Park on DMA Module Priority (PARK = 10)............................................................. 6-13  
Park on Current Master Priority (PARK = 01)........................................................... 6-14  
PLL Module Block Diagram ........................................................................................ 7-1  
PLL Control Register (PLLCR).................................................................................... 7-3  
CLKIN, PCLK, PSTCLK, and BCLKO Timing.......................................................... 7-5  
Reset and Initialization Timing..................................................................................... 7-6  
PLL Power Supply Filter Circuit.................................................................................. 7-6  
I2C Module Block Diagram.......................................................................................... 8-2  
I2C Standard Communication Protocol ........................................................................ 8-3  
Repeated START.......................................................................................................... 8-4  
Synchronized Clock SCL.............................................................................................. 8-5  
I2C Address Register (IADR)....................................................................................... 8-6  
I2C Frequency Divider Register (IFDR)....................................................................... 8-7  
I2C Control Register (I2CR)......................................................................................... 8-8  
I2CR Status Register (I2SR) ......................................................................................... 8-9  
I2C Data I/O Register (I2DR) ..................................................................................... 8-10  
Flow-Chart of Typical I2C Interrupt Routine ............................................................. 8-14  
Interrupt Controller Block Diagram.............................................................................. 9-1  
Interrupt Control Registers (ICR0–ICR9) .................................................................... 9-3  
Autovector Register (AVR).......................................................................................... 9-5  
Interrupt Pending Register (IPR) and Interrupt Mask Register (IMR)......................... 9-7  
Interrupt Port Assignment Register (IRQPAR)............................................................ 9-7  
Connections for External Memory Port Sizes ............................................................ 10-4  
Chip Select Address Registers (CSAR0–CSAR7) ..................................................... 10-6  
Chip Select Mask Registers (CSMRn) ....................................................................... 10-7  
Chip-Select Control Registers (CSCR0–CSCR7) ...................................................... 10-8  
Asynchronous/Synchronous DRAM Controller Block Diagram ............................... 11-2  
DRAM Control Register (DCR) (Asynchronous Mode)............................................ 11-5  
DRAM Address and Control Registers (DACR0/DACR1)........................................ 11-6  
DRAM Controller Mask Registers (DMR0 and DMR1)............................................ 11-7  
Basic Non-Page-Mode Operation RCD = 0, RNCN = 1 (4-4-4-4) .......................... 11-11  
Basic Non-Page-Mode Operation RCD = 1, RNCN = 0 (5-5-5-5) .......................... 11-12  
Burst Page-Mode Read Operation (4-3-3-3)............................................................. 11-13  
Burst Page-Mode Write Operation (4-3-3-3)............................................................ 11-13  
Continuous Page-Mode Operation............................................................................ 11-14  
6-10  
6-11  
6-12  
6-13  
7-1  
7-2  
7-3  
7-4  
7-5  
8-1  
8-2  
8-3  
8-4  
8-5  
8-6  
8-7  
8-8  
8-9  
8-10  
9-1  
9-2  
9-3  
9-4  
9-5  
10-1  
10-2  
10-3  
10-4  
11-1  
11-2  
11-3  
11-4  
11-5  
11-6  
11-7  
11-8  
11-9  
11-10 Write Hit in Continuous Page Mode......................................................................... 11-15  
11-11 EDO Read Operation (3-2-2-2) ................................................................................ 11-15  
11-12 DRAM Access Delayed by Refresh ......................................................................... 11-16  
11-13 MCF5307 SDRAM Interface.................................................................................... 11-18  
11-14 Using EDGESEL to Change Signal Timing............................................................. 11-19  
Illustrations  
xxi  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
11-15 DRAM Control Register (DCR) (Synchronous Mode) ............................................ 11-19  
11-16 DACR0 and DACR1 Registers (Synchronous Mode).............................................. 11-20  
11-17 DRAM Controller Mask Registers (DMR0 and DMR1).......................................... 11-22  
11-18 Burst Read SDRAM Access..................................................................................... 11-28  
11-19 Burst Write SDRAM Access .................................................................................... 11-29  
11-20 Synchronous, Continuous Page-Mode Access—Consecutive Reads....................... 11-30  
11-21 Synchronous, Continuous Page-Mode Access—Read after Write........................... 11-31  
11-22 Auto-Refresh Operation............................................................................................ 11-32  
11-23 Self-Refresh Operation ............................................................................................. 11-32  
11-24 Mode Register Set (mrs) Command ......................................................................... 11-34  
11-25 Initialization Values for DCR................................................................................... 11-35  
11-26 SDRAM Configuration............................................................................................. 11-36  
11-27 DACR Register Configuration.................................................................................. 11-36  
11-28 DMR0 Register......................................................................................................... 11-37  
11-29 Mode Register Mapping to MCF5307 A[31:0] ........................................................ 11-38  
12-1  
12-2  
12-3  
12-4  
12-5  
12-6  
12-7  
12-8  
12-9  
DMA Signal Diagram................................................................................................. 12-1  
Dual-Address Transfer................................................................................................ 12-3  
Single-Address Transfers............................................................................................ 12-4  
Source Address Registers (SARn).............................................................................. 12-6  
Destination Address Registers (DARn)...................................................................... 12-7  
Byte Count Registers (BCRn)—BCR24BIT = 1........................................................ 12-7  
BCRn—BCR24BIT = 0.............................................................................................. 12-8  
DMA Control Registers (DCRn) ............................................................................... 12-8  
DMA Status Registers (DSRn)................................................................................ 12-10  
12-10 DMA Interrupt Vector Registers (DIVRn)............................................................... 12-11  
12-11 DREQ Timing Constraints, Dual-Address DMA Transfer....................................... 12-15  
12-12 Dual-Address, Peripheral-to-SDRAM, Lower-Priority DMA Transfer................... 12-16  
12-13 Single-Address DMA Transfer................................................................................. 12-17  
13-1  
13-2  
13-3  
13-4  
13-5  
13-6  
14-1  
14-2  
14-3  
14-4  
14-5  
14-6  
14-7  
14-8  
14-9  
Timer Block Diagram ................................................................................................. 13-1  
Timer Mode Registers (TMR0/TMR1) ...................................................................... 13-3  
Timer Reference Registers (TRR0/TRR1) ................................................................. 13-4  
Timer Capture Register (TCR0/TCR1) ...................................................................... 13-5  
Timer Counters (TCN0/TCN1)................................................................................... 13-5  
Timer Event Registers (TER0/TER1)......................................................................... 13-5  
Simplified Block Diagram.......................................................................................... 14-1  
UART Mode Registers 1 (UMR1n)............................................................................ 14-5  
UART Mode Register 2 (UMR2n) ............................................................................. 14-6  
UART Status Register (USRn)................................................................................... 14-7  
UART Clock-Select Register (UCSRn)...................................................................... 14-8  
UART Command Register (UCRn)............................................................................ 14-9  
UART Receiver Buffer (URB0)............................................................................... 14-11  
UART Transmitter Buffer (UTB0)........................................................................... 14-12  
UART Input Port Change Register (UIPCRn).......................................................... 14-12  
xxii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
14-10 UART Auxiliary Control Register (UACRn)........................................................... 14-13  
14-11 UART Interrupt Status/Mask Registers (UISRn/UIMRn)........................................ 14-13  
14-12 UART Divider Upper Register (UDUn)................................................................... 14-14  
14-13 UART Divider Lower Register (UDLn)................................................................... 14-14  
14-14 UART Interrupt Vector Register (UIVRn)............................................................... 14-15  
14-15 UART Input Port Register (UIPn)............................................................................ 14-15  
14-17 UART Block Diagram Showing External and Internal Interface Signals................ 14-16  
14-16 UART Output Port Command Register (UOP1/UOP0)........................................... 14-16  
14-18 UART/RS-232 Interface........................................................................................... 14-17  
14-19 Clocking Source Diagram......................................................................................... 14-18  
14-20 Transmitter and Receiver Functional Diagram......................................................... 14-20  
14-21 Transmitter Timing Diagram.................................................................................... 14-22  
14-22 Receiver Timing........................................................................................................ 14-23  
14-23 Automatic Echo ........................................................................................................ 14-25  
14-24 Local Loop-Back ...................................................................................................... 14-26  
14-25 Remote Loop-Back................................................................................................... 14-26  
14-26 Multidrop Mode Timing Diagram ............................................................................ 14-27  
14-27 UART Mode Programming Flowchart..................................................................... 14-30  
15-1  
15-2  
15-3  
16-1  
16-2  
16-3  
17-1  
18-1  
18-2  
18-3  
18-4  
18-5  
18-6  
18-7  
18-8  
18-9  
Parallel Port Pin Assignment Register (PAR) ............................................................ 15-1  
Port A Data Direction Register (PADDR).................................................................. 15-2  
Port A Data Register (PADAT).................................................................................. 15-3  
Mechanical Diagram................................................................................................... 16-9  
MCF5307 Case Drawing (General View) ................................................................ 16-10  
Case Drawing (Details)............................................................................................. 16-11  
MCF5307 Block Diagram with Signal Interfaces ...................................................... 17-2  
Signal Relationship to BCLKO for Non-DRAM Access ........................................... 18-2  
Connections for External Memory Port Sizes ............................................................ 18-4  
Chip-Select Module Output Timing Diagram ............................................................ 18-4  
Data Transfer State Transition Diagram..................................................................... 18-6  
Read Cycle Flowchart................................................................................................. 18-7  
Basic Read Bus Cycle................................................................................................. 18-8  
Write Cycle Flowchart................................................................................................ 18-9  
Basic Write Bus Cycle................................................................................................ 18-9  
Read Cycle with Fast Termination ........................................................................... 18-10  
18-10 Write Cycle with Fast Termination........................................................................... 18-10  
18-11 Back-to-Back Bus Cycles ......................................................................................... 18-11  
18-12 Line Read Burst (2-1-1-1), External Termination .................................................... 18-12  
18-13 Line Read Burst (2-1-1-1), Internal Termination ..................................................... 18-13  
18-14 Line Read Burst (3-2-2-2), External Termination .................................................... 18-13  
18-15 Line Read Burst-Inhibited, Fast, External Termination............................................ 18-14  
18-16 Line Write Burst (2-1-1-1), Internal/External Termination...................................... 18-14  
18-17 Line Write Burst (3-2-2-2) with One Wait State, Internal Termination................... 18-15  
18-18 Line Write Burst-Inhibited, Internal Termination .................................................... 18-15  
Illustrations  
xxiii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ILLUSTRATIONS  
Figure  
Number  
Page  
Number  
Title  
18-19 Longword Read from an 8-Bit Port, External Termination...................................... 18-16  
18-20 Longword Read from an 8-Bit Port, Internal Termination....................................... 18-16  
18-21 Example of a Misaligned Longword Transfer (32-Bit Port) .................................... 18-17  
18-22 Example of a Misaligned Word Transfer (32-Bit Port)............................................ 18-17  
18-23 Interrupt-Acknowledge Cycle Flowchart ................................................................. 18-20  
18-24 Basic No-Wait-State External Master Access .......................................................... 18-22  
18-25 External Master Burst Line Access to 32-Bit Port.................................................... 18-24  
18-26 MCF5307 Two-Wire Mode Bus Arbitration Interface............................................. 18-25  
18-27 Two-Wire Bus Arbitration with Bus Request Asserted............................................ 18-26  
18-28 Two-Wire Implicit and Explicit Bus Mastership...................................................... 18-27  
18-29 MCF5307 Two-Wire Bus Arbitration Protocol State Diagram................................ 18-28  
18-30 Three-Wire Implicit and Explicit Bus Mastership.................................................... 18-30  
18-31 Three-Wire Bus Arbitration...................................................................................... 18-31  
18-32 Three-Wire Bus Arbitration Protocol State Diagram ............................................... 18-32  
18-33 Master Reset Timing................................................................................................. 18-34  
18-34 Software Watchdog Reset Timing............................................................................ 18-36  
19-1  
19-2  
19-4  
19-5  
20-1  
20-2  
20-3  
20-4  
20-5  
20-6  
20-7  
20-8  
20-9  
JTAG Test Logic Block Diagram............................................................................... 19-2  
JTAG TAP Controller State Machine......................................................................... 19-4  
Disabling JTAG in JTAG Mode............................................................................... 19-11  
Disabling JTAG in Debug Mode.............................................................................. 19-11  
Clock Timing .............................................................................................................. 20-3  
PSTCLK Timing......................................................................................................... 20-3  
AC Timings—Normal Read and Write Bus Cycles ................................................... 20-5  
SDRAM Read Cycle with EDGESEL Tied to Buffered BCLKO.............................. 20-6  
SDRAM Write Cycle with EDGESEL Tied to Buffered BCLKO............................. 20-7  
SDRAM Read Cycle with EDGESEL Tied High....................................................... 20-8  
SDRAM Write Cycle with EDGESEL Tied High...................................................... 20-9  
SDRAM Read Cycle with EDGESEL Tied Low ..................................................... 20-10  
SDRAM Write Cycle with EDGESEL Tied Low .................................................... 20-11  
20-10 AC Output Timing—High Impedance...................................................................... 20-11  
20-11 Reset Timing............................................................................................................. 20-12  
20-12 Real-Time Trace AC Timing.................................................................................... 20-13  
20-13 BDM Serial Port AC Timing.................................................................................... 20-13  
20-14 Timer Module AC Timing........................................................................................ 20-14  
20-15 I2C Input/Output Timings......................................................................................... 20-16  
20-16 UART0/1 Module AC Timing—UART Mode......................................................... 20-17  
20-17 General-Purpose I/O Timing..................................................................................... 20-18  
20-18 DMA Timing ............................................................................................................ 20-19  
20-19 IEEE 1149.1 (JTAG) AC Timing............................................................................. 20-21  
xxiv  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TABLES  
Table  
Number  
Page  
Number  
Title  
1-1  
1-2  
2-1  
2-2  
2-3  
2-4  
2-5  
2-6  
User-Level Registers................................................................................................... 1-14  
Supervisor-Level Registers......................................................................................... 1-14  
CCR Field Descriptions ............................................................................................. 2-28  
MOVEC Register Map ............................................................................................... 2-29  
Status Field Descriptions ............................................................................................ 2-30  
Integer Data Formats................................................................................................... 2-31  
ColdFire Effective Addressing Modes........................................................................ 2-34  
Notational Conventions .............................................................................................. 2-34  
User-Mode Instruction Set Summary ......................................................................... 2-37  
Supervisor-Mode Instruction Set Summary................................................................ 2-40  
Misaligned Operand References................................................................................. 2-41  
Move Byte and Word Execution Times...................................................................... 2-42  
Move Long Execution Times...................................................................................... 2-42  
MAC Move Execution Times..................................................................................... 2-43  
One-Operand Instruction Execution Times ................................................................ 2-43  
Two-Operand Instruction Execution Times................................................................ 2-44  
Miscellaneous Instruction Execution Times............................................................... 2-45  
General Branch Instruction Execution Times............................................................. 2-46  
Bcc Instruction Execution Times................................................................................ 2-47  
Exception Vector Assignments................................................................................... 2-48  
Format Field Encoding ............................................................................................... 2-49  
Fault Status Encodings................................................................................................ 2-50  
MCF5307 Exceptions ................................................................................................. 2-50  
MAC Instruction Summary........................................................................................... 3-4  
Two-Operand MAC Instruction Execution Times ....................................................... 3-5  
MAC Move Instruction Execution Times..................................................................... 3-6  
RAMBAR Field Description ........................................................................................ 4-3  
Examples of Typical RAMBAR Settings..................................................................... 4-6  
Valid and Modified Bit Settings ................................................................................... 4-8  
CACR Field Descriptions ........................................................................................... 4-21  
ACRn Field Descriptions............................................................................................ 4-23  
Cache Line State Transitions ...................................................................................... 4-27  
Cache Line State Transitions (Current State Invalid)................................................. 4-28  
Cache Line State Transitions (Current State Valid) ................................................... 4-28  
Cache Line State Transitions (Current State Modified) ............................................. 4-29  
Debug Module Signals.................................................................................................. 5-2  
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  
3-1  
3-2  
3-3  
4-1  
4-2  
4-3  
4-4  
4-5  
4-6  
4-7  
4-8  
4-9  
5-1  
Tables  
xxv  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TABLES  
Table  
Number  
Page  
Number  
Title  
5-2  
5-3  
5-4  
5-5  
5-6  
5-7  
5-8  
5-9  
5-10  
5-11  
5-12  
5-13  
5-14  
5-15  
5-16  
5-17  
5-18  
5-19  
5-20  
5-21  
5-22  
5-23  
6-1  
6-2  
6-3  
6-4  
6-5  
6-6  
7-1  
7-2  
7-3  
8-1  
8-2  
8-3  
8-4  
8-5  
9-1  
9-2  
9-3  
Processor Status Encoding............................................................................................ 5-4  
BDM/Breakpoint Registers........................................................................................... 5-7  
AATR Field Descriptions ............................................................................................. 5-8  
ABLR Field Description............................................................................................... 5-9  
ABHR Field Description............................................................................................... 5-9  
BAAR Field Descriptions........................................................................................... 5-10  
CSR Field Descriptions .............................................................................................. 5-11  
DBR Field Descriptions.............................................................................................. 5-13  
DBMR Field Descriptions .......................................................................................... 5-13  
Access Size and Operand Data Location.................................................................... 5-13  
PBR Field Descriptions .............................................................................................. 5-14  
PBMR Field Descriptions........................................................................................... 5-14  
TDR Field Descriptions.............................................................................................. 5-15  
Receive BDM Packet Field Description..................................................................... 5-19  
Transmit BDM Packet Field Description ................................................................... 5-19  
BDM Command Summary ......................................................................................... 5-20  
BDM Field Descriptions............................................................................................. 5-21  
Control Register Map.................................................................................................. 5-36  
Definition of DRc Encoding—Read........................................................................... 5-38  
DDATA[3:0]/CSR[BSTAT] Breakpoint Response.................................................... 5-40  
PST/DDATA Specification for User-Mode Instructions............................................ 5-43  
PST/DDATA Specification for Supervisor-Mode Instructions.................................. 5-46  
SIM Registers .............................................................................................................. 6-3  
MBAR Field Descriptions ............................................................................................ 6-5  
RSR Field Descriptions ................................................................................................ 6-6  
SYPCR Field Descriptions ........................................................................................... 6-8  
PLLIPL Settings ......................................................................................................... 6-10  
MPARK Field Descriptions........................................................................................ 6-11  
PLLCR Field Descriptions............................................................................................ 7-3  
PLL Module Input SIgnals............................................................................................ 7-3  
PLL Module Output Signals......................................................................................... 7-4  
I2C Interface Memory Map........................................................................................... 8-6  
I2C Address Register Field Descriptions...................................................................... 8-6  
IFDR Field Descriptions............................................................................................... 8-7  
I2CR Field Descriptions................................................................................................ 8-8  
I2SR Field Descriptions ................................................................................................ 8-9  
Interrupt Controller Registers ....................................................................................... 9-2  
Interrupt Control Registers ........................................................................................... 9-2  
ICRn Field Descriptions ............................................................................................... 9-3  
Interrupt Priority Scheme.............................................................................................. 9-4  
AVR Field Descriptions................................................................................................ 9-6  
Autovector Register Bit Assignments........................................................................... 9-6  
IPR and IMR Field Descriptions................................................................................... 9-7  
9-4  
9-5  
9-6  
9-7  
xxvi  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TABLES  
Table  
Number  
Page  
Number  
Title  
9-8  
IRQPAR Field Descriptions ......................................................................................... 9-8  
Chip-Select Module Signals ....................................................................................... 10-1  
Byte Enables/Byte Write Enable Signal Settings ....................................................... 10-2  
Accesses by Matches in CSCRs and DACRs............................................................. 10-3  
D7/AA, Automatic Acknowledge of Boot CS0.......................................................... 10-4  
D[6:5]/PS[1:0], Port Size of Boot CS0....................................................................... 10-4  
Chip-Select Registers.................................................................................................. 10-5  
CSARn Field Description ........................................................................................... 10-6  
CSMRn Field Descriptions......................................................................................... 10-7  
CSCRn Field Descriptions.......................................................................................... 10-8  
DRAM Controller Registers ....................................................................................... 11-3  
SDRAM Signal Summary ......................................................................................... 11-4  
DCR Field Descriptions (Asynchronous Mode)......................................................... 11-5  
DACR0/DACR1 Field Description ............................................................................ 11-6  
DMR0/DMR1 Field Descriptions............................................................................... 11-7  
Generic Address Multiplexing Scheme ...................................................................... 11-8  
DRAM Addressing for Byte-Wide Memories.......................................................... 11-10  
DRAM Addressing for 16-Bit Wide Memories........................................................ 11-10  
DRAM Addressing for 32-Bit Wide Memories........................................................ 11-11  
10-1  
10-2  
10-3  
10-4  
10-5  
10-6  
10-7  
10-8  
10-9  
11-1  
11-2  
11-3  
11-4  
11-5  
11-6  
11-7  
11-8  
11-9  
11-10 SDRAM Commands................................................................................................. 11-17  
11-11 Synchronous DRAM Signal Connections ................................................................ 11-17  
11-12 DCR Field Descriptions (Synchronous Mode)......................................................... 11-19  
11-13 DACR0/DACR1 Field Descriptions (Synchronous Mode)...................................... 11-21  
11-14 DMR0/DMR1 Field Descriptions............................................................................. 11-23  
11-15 MCF5307 to SDRAM Interface (8-Bit Port, 9-Column Address Lines).................. 11-24  
11-16 MCF5307 to SDRAM Interface (8-Bit Port,10-Column Address Lines)................. 11-24  
11-17 MCF5307 to SDRAM Interface (8-Bit Port,11-Column Address Lines)................. 11-24  
11-18 MCF5307 to SDRAM Interface (8-Bit Port,12-Column Address Lines)................. 11-24  
11-19 MCF5307 to SDRAM Interface (8-Bit Port,13-Column Address Lines)................. 11-25  
11-20 MCF5307 to SDRAM Interface (16-Bit Port, 8-Column Address Lines)................ 11-25  
11-21 MCF5307 to SDRAM Interface (16-Bit Port, 9-Column Address Lines)................ 11-25  
11-22 MCF5307 to SDRAM Interface (16-Bit Port, 10-Column Address Lines).............. 11-25  
11-23 MCF5307 to SDRAM Interface (16-Bit Port, 11-Column Address Lines).............. 11-25  
11-24 MCF5307 to SDRAM Interface (16-Bit Port, 12-Column Address Lines).............. 11-26  
11-25 MCF5307to SDRAM Interface (16-Bit Port, 13-Column-Address Lines) .............. 11-26  
11-26 MCF5307 to SDRAM Interface (32-Bit Port, 8-Column Address Lines)................ 11-26  
11-27 MCF5307 to SDRAM Interface (32-Bit Port, 9-Column Address Lines)................ 11-26  
11-28 MCF5307 to SDRAM Interface (32-Bit Port, 10-Column Address Lines).............. 11-26  
11-29 MCF5307 to SDRAM Interface (32-Bit Port, 11-Column Address Lines).............. 11-27  
11-30 MCF5307 to SDRAM Interface (32-Bit Port, 12-Column Address Lines).............. 11-27  
11-31 SDRAM Hardware Connections............................................................................... 11-27  
11-32 SDRAM Example Specifications ............................................................................. 11-34  
11-33 SDRAM Hardware Connections............................................................................... 11-35  
Tables  
xxvii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TABLES  
Table  
Number  
Page  
Number  
Title  
11-34 DCR Initialization Values......................................................................................... 11-35  
11-35 DACR Initialization Values...................................................................................... 11-36  
11-36 DMR0 Initialization Values...................................................................................... 11-37  
11-37 Mode Register Initialization ..................................................................................... 11-38  
12-1  
12-2  
12-3  
12-4  
13-1  
13-2  
13-3  
13-5  
14-1  
14-2  
14-3  
14-4  
14-5  
14-6  
14-7  
14-8  
14-9  
DMA Signals .............................................................................................................. 12-2  
Memory Map for DMA Controller Module Registers................................................ 12-5  
DCRn Field Descriptions............................................................................................ 12-8  
DSRn Field Descriptions .......................................................................................... 12-10  
General-Purpose Timer Module Memory Map .......................................................... 13-3  
TMRn Field Descriptions ........................................................................................... 13-4  
TERn Field Descriptions............................................................................................. 13-6  
Calculated Time-out Values (90-MHz Processor Clock)........................................... 13-7  
UART Module Programming Model.......................................................................... 14-3  
UMR1n Field Descriptions......................................................................................... 14-5  
UMR2n Field Descriptions......................................................................................... 14-6  
USRn Field Descriptions ............................................................................................ 14-7  
UCSRn Field Descriptions.......................................................................................... 14-9  
UCRn Field Descriptions............................................................................................ 14-9  
UIPCRn Field Descriptions ...................................................................................... 14-12  
UACRn Field Descriptions....................................................................................... 14-13  
UISRn/UIMRn Field Descriptions ........................................................................... 14-14  
14-10 UIVRn Field Descriptions ........................................................................................ 14-15  
14-11 UIPn Field Descriptions............................................................................................ 14-15  
14-12 UOP1/UOP0 Field Descriptions............................................................................... 14-16  
14-13 UART Module Signals ............................................................................................. 14-17  
14-14 UART Module Initialization Sequence .................................................................... 14-29  
15-1  
15-2  
15-3  
16-1  
16-2  
16-3  
16-4  
16-5  
17-1  
17-2  
17-3  
17-4  
17-5  
17-6  
17-7  
17-8  
17-9  
Parallel Port Pin Descriptions..................................................................................... 15-2  
PADDR Field Description.......................................................................................... 15-2  
Relationship between PADAT Register and Parallel Port Pin (PP) ........................... 15-3  
Pins 1–52 (Left, Top-to-Bottom)................................................................................ 16-1  
Pins 53–104 (Bottom, Left-to-Right).......................................................................... 16-3  
Pins 105–156 (Right, Bottom-to-Top)........................................................................ 16-4  
Pins 157–208 (Top, Right-to-Left) ............................................................................. 16-6  
Dimensions ............................................................................................................... 16-11  
MCF5307 Signal Index............................................................................................... 17-3  
Data Pin Configuration ............................................................................................... 17-6  
Bus Cycle Size Encoding............................................................................................ 17-7  
Bus Cycle Transfer Type Encoding............................................................................ 17-9  
TM[2:0] Encodings for TT = 00 (Normal Access)..................................................... 17-9  
TM0 Encoding for DMA as Master (TT = 01)........................................................... 17-9  
TM[2:1] Encoding for DMA as Master (TT = 01) ................................................... 17-10  
TM[2:0] Encodings for TT = 10 (Emulator Access) ................................................ 17-10  
TM[2:0] Encodings for TT = 11 (Interrupt Level) ................................................... 17-10  
xxviii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TABLES  
Table  
Number  
Page  
Number  
Title  
17-10 Data Pin Configuration ............................................................................................. 17-12  
17-11 D7 Selection of CS0 Automatic Acknowledge ........................................................ 17-13  
17-12 D6 and D5 Selection of CS0 Port Size ..................................................................... 17-13  
17-13 D4/ADDR_CONFIG, Address Pin Assignment....................................................... 17-13  
17-14 CLKIN Frequency .................................................................................................... 17-13  
17-15 BCLKO/PSTCLK Divide Ratios.............................................................................. 17-14  
17-16 Processor Status Signal Encodings........................................................................... 17-19  
18-1  
18-2  
18-3  
18-4  
18-5  
18-6  
18-7  
18-8  
18-9  
ColdFire Bus Signal Summary ................................................................................... 18-1  
Bus Cycle Size Encoding............................................................................................ 18-3  
Accesses by Matches in CSCRs and DACRs............................................................. 18-5  
Bus Cycle States ......................................................................................................... 18-6  
Allowable Line Access Patterns ............................................................................... 18-12  
MCF5307 Arbitration Protocol States ...................................................................... 18-20  
ColdFire Bus Arbitration Signal Summary............................................................... 18-21  
Cycles for Basic No-Wait-State External Master Access......................................... 18-23  
Cycles for External Master Burst Line Access to 32-Bit Port.................................. 18-24  
18-10 MCF5307 Two-Wire Bus Arbitration Protocol Transition Conditions.................... 18-28  
18-11 Three-Wire Bus Arbitration Protocol Transition Conditions ................................... 18-32  
18-12 Data Pin Configuration ............................................................................................. 18-35  
19-1  
19-2  
19-3  
19-4  
20-1  
20-2  
20-3  
20-4  
20-5  
20-6  
20-7  
20-8  
20-9  
JTAG Pin Descriptions ............................................................................................... 19-3  
JTAG Instructions....................................................................................................... 19-5  
IDCODE Bit Assignments.......................................................................................... 19-6  
Boundary-Scan Bit Definitions................................................................................... 19-7  
Absolute Maximum Ratings ....................................................................................... 20-1  
Operating Temperatures.............................................................................................. 20-1  
DC Electrical Specifications....................................................................................... 20-2  
Clock Timing Specification........................................................................................ 20-2  
Input AC Timing Specification................................................................................... 20-3  
Output AC Timing Specification................................................................................ 20-4  
Reset Timing Specification....................................................................................... 20-12  
Debug AC Timing Specification .............................................................................. 20-12  
Timer Module AC Timing Specification.................................................................. 20-14  
20-10 I2C Input Timing Specifications between SCL and SDA......................................... 20-15  
20-11 I2C Output Timing Specifications between SCL and SDA...................................... 20-15  
20-12 UART Module AC Timing Specifications ............................................................... 20-16  
20-13 General-Purpose I/O Port AC Timing Specifications............................................... 20-18  
20-14 DMA AC Timing Specifications .............................................................................. 20-19  
20-15 IEEE 1149.1 (JTAG) AC Timing Specifications ..................................................... 20-20  
A-1  
A-2  
A-3  
A-4  
A-5  
SIM Registers............................................................................................................... A-1  
Interrupt Controller Registers ...................................................................................... A-1  
Chip-Select Registers................................................................................................... A-2  
DRAM Controller Registers ........................................................................................ A-3  
General-Purpose Timer Registers................................................................................ A-4  
Tables  
xxix  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TABLES  
Table  
Number  
Page  
Number  
Title  
A-6  
A-7  
A-8  
A-9  
A-10  
UART0 Control Registers............................................................................................ A-4  
UART1 Control Registers............................................................................................ A-6  
Parallel Port Memory Map........................................................................................... A-7  
I2C Interface Memory Map.......................................................................................... A-8  
DMA Controller Registers........................................................................................... A-8  
xxx  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
About This Book  
The primary objective of this user’s manual is to dene the functionality of the MCF5307  
processors for use by software and hardware developers.  
The information in this book is subject to change without notice, as described in the  
disclaimers on the title page of this book. As with any technical documentation, it is the  
readers’ responsibility to be sure they are using the most recent version of the  
documentation.  
To locate any published errata or updates for this document, refer to the world-wide web at  
http://www.motorola.com/coldre.  
Audience  
This manual is intended for system software and hardware developers and applications  
programmers who want to develop products for the MCF5307. It is assumed that the reader  
understands operating systems, microprocessor system design, basic principles of software  
and hardware, and basic details of the ColdFire architecture.  
Organization  
Following is a summary and a brief description of the major sections of this manual:  
Chapter 1, “Overview,” includes general descriptions of the modules and features  
incorporated in the MCF5307, focussing in particular on new features.  
Part I is intended for system designers who need to understand the operation of the  
MCF5307 ColdFire core.  
— Chapter 2, “ColdFire Core,” provides an overview of the microprocessor core of  
the MCF5307. The chapter begins with a description of enhancements from the  
V2 ColdFire core, and then fully describes the V3 programming model as it is  
implemented on the MCF5307. It also includes a full description of exception  
handling, data formats, an instruction set summary, and a table of instruction  
timings.  
— Chapter 3, “Hardware Multiply/Accumulate (MAC) Unit,” describes the  
MCF5307 multiply/accumulate unit, which executes integer multiply,  
multiply-accumulate, and miscellaneous register instructions. The MAC is  
integrated into the operand execution pipeline (OEP).  
AboutThisBook  
xxxi  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
anization  
— Chapter 4, “Local Memory.” This chapter describes the MCF5307  
implementation of the ColdFireV3 local memory specication. It consists of the  
two following major sections.  
– Section 4.2, “SRAM Overview,” describes the MCF5307 on-chip static RAM  
(SRAM) implementation. It covers general operations, conguration, and  
initialization. It also provides information and examples showing how to  
minimize power consumption when using the SRAM.  
– Section 4.7, “Cache Overview,” describes the MCF5307 cache  
implementation, including organization, conguration, and coherency. It  
describes cache operations and how the cache interacts with other memory  
structures.  
— Chapter 5, “Debug Support,” describes the Revision C enhanced hardware debug  
support in the MCF5307. This revision of the ColdFire debug architecture  
encompasses earlier revisions.  
Part II, “System Integration Module (SIM),” describes the system integration  
module, which provides overall control of the bus and serves as the interface  
between the ColdFire core processor complex and internal peripheral devices. It  
includes a general description of the SIM and individual chapters that describe  
components of the SIM, such as the phase-lock loop (PLL) timing source, interrupt  
controller for peripherals, conguration and operation of chip selects, and the  
SDRAM controller.  
— Chapter 6, “SIM Overview,” describes the SIM programming model, bus  
arbitration, and system-protection functions for the MCF5307.  
Chapter 7, “Phase-Locked Loop (PLL),” describes conguration and operation  
of the PLL module. It describes in detail the registers and signals that support the  
PLL implementation.  
2
2
2
— Chapter 8, “I C Module,” describes the MCF5307 I C module, including I C  
2
protocol, clock synchronization, and the registers in the I C programing model.  
It also provides extensive programming examples.  
— Chapter 9, “Interrupt Controller,” describes operation of the interrupt controller  
portion of the SIM. Includes descriptions of the registers in the interrupt  
controller memory map and the interrupt priority scheme.  
— Chapter 10, “Chip-Select Module,” describes the MCF5307 chip-select  
implementation, including the operation and programming model, which  
includes the chip-select address, mask, and control registers.  
— Chapter 11, “Synchronous/Asynchronous DRAM Controller Module,”  
describes conguration and operation of the synchronous/asynchronous DRAM  
controller component of the SIM. It begins with a general description and brief  
glossary, and includes a description of signals involved in DRAM operations.  
The remainder of the chapter is divided between descriptions of asynchronous  
and synchronous operations.  
xxxii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
 
 
 
 
 
Freescale Semiconductor, Inc.  
Organization  
Part III, “Peripheral Module,” describes the operation and conguration of the  
MCF5307 DMA, timer, UART, and parallel port modules, and describes how they  
interface with the system integration unit, described in Part II.  
— Chapter 12, “DMA Controller Module,” provides an overview of the DMA  
controller module and describes in detail its signals and registers. The latter  
sections of this chapter describe operations, features, and supported data transfer  
modes in detail, showing timing diagrams for various operations.  
Chapter 13, “Timer Module,” describes conguration and operation of the two  
general-purpose timer modules, timer 0 and timer 1. It includes programming  
examples.  
Chapter 14, “UART Modules,” describes the use of the universal  
asynchronous/synchronous receiver/transmitters (UARTs) implemented on the  
MCF5307 and includes programming examples.  
Chapter 15, “Parallel Port (General-Purpose I/O),” describes the operation and  
programming model of the parallel port pin assignment, direction-control, and  
data registers. It includes a code example for setting up the parallel port.  
Part IV, Hardware Interface,” provides a pinout and both electrical and functional  
descriptions of the MCF5307 signals. It also describes how these signals interact to  
support the variety of bus operations shown in timing diagrams.  
Chapter 16, “Mechanical Data,” provides a functional pin listing and package  
diagram for the MCF5307.  
— Chapter 17, “Signal Descriptions,” provides an alphabetical listing of MCF5307  
signals. This chapter describes the MCF5307 signals. In particular, it shows  
which are inputs or outputs, how they are multiplexed, which signals require  
pull-up resistors, and the state of each signal at reset.  
Chapter 18, “Bus Operation,” describes data transfers, error conditions, bus  
arbitration, and reset operations. It describes transfers initiated by the MCF5307  
and by an external bus master, and includes detailed timing diagrams showing  
the interaction of signals in supported bus operations. Note that Chapter 11,  
“Synchronous/Asynchronous DRAM Controller Module,” describes DRAM  
cycles.  
— Chapter 19, “IEEE 1149.1 Test Access Port (JTAG),” describes conguration  
and operation of the MCF5307 JTAG test implementation. It describes the use of  
JTAG instructions and provides information on how to disable JTAG  
functionality.  
— Chapter 20, “Electrical Specications,” describes AC and DC electrical  
specications and thermal characteristics for the MCF5307. Because additional  
speeds may have become available since the publication of this book, consult  
Motorola’s ColdFire web page, http://www.motorola.com/coldre, to conrm  
that this is the latest information.  
AboutThisBook  
xxxiii  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
 
 
 
 
Freescale Semiconductor, Inc.  
This manual includes the following appendix:  
gested Reading  
Appendix A, “List of Memory Maps,” lists the entire address-map for MCF5307  
memory-mapped registers.  
This manual also includes a glossary and an index.  
Suggested Reading  
This section lists additional reading that provides background for the information in this  
manual as well as general information about the ColdFire architecture.  
General Information  
The following documentation provides useful information about the ColdFire architecture  
and computer architecture in general:  
ColdFire Documentation  
The ColdFire documentation is available from the sources listed on the back cover of this  
manual. Document order numbers are included in parentheses for ease in ordering.  
ColdFire Programmers Reference Manual, R1.0 (MCF5200PRM/AD)  
User’s manuals—These books provide details about individual ColdFire  
implementations and are intended to be used in conjunction with The ColdFire  
Programmers Reference Manual. These include the following:  
ColdFire MCF5102 User’s Manual (MCF5102UM/AD)  
ColdFire MCF5202 User’s Manual (MCF5202UM/AD)  
ColdFire MCF5204 User’s Manual (MCF5204UM/AD)  
ColdFire MCF5206 User’s Manual (MCF5206EUM/AD)  
ColdFire MCF5206E User’s Manual (MCF5206EUM/AD)  
ColdFire Programmers Reference Manual, R1.0 (MCF5200PRM/AD)  
Using Microprocessors and Microcomputers: The Motorola Family, William C.  
Wray, Ross Bannatyne, Joseph D. Greeneld  
Additional literature on ColdFire implementations is being released as new processors  
become available. For a current list of ColdFire documentation, refer to the World Wide  
Web at http://www.motorola.com/ColdFire/.  
Conventions  
This document uses the following notational conventions:  
MNEMONICS  
In text, instruction mnemonics are shown in uppercase.  
mnemonics  
In code and tables, instruction mnemonics are shown in lowercase.  
xxxiv  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Acronyms and Abbreviations  
italics  
Italics indicate variable command parameters.  
Book titles in text are set in italics.  
0x0  
Prex to denote hexadecimal number  
Prex to denote binary number  
0b0  
REG[FIELD]  
Abbreviations for registers are shown in uppercase. Specic bits,  
elds, or ranges appear in brackets. For example, RAMBAR[BA]  
identies the base address eld in the RAM base address register.  
nibble  
A 4-bit data unit  
byte  
An 8-bit data unit  
word  
A 16-bit data unit  
longword  
A 32-bit data unit  
x
n
¬
&
|
In some contexts, such as signal encodings, x indicates a don’t care.  
Used to express an undened numerical value  
NOT logical operator  
AND logical operator  
OR logical operator  
Acronyms and Abbreviations  
Table i lists acronyms and abbreviations used in this document.  
Table i. Acronyms and Abbreviated Terms  
Term  
ADC  
Meaning  
Analog-to-digital conversion  
Arithmetic logic unit  
ALU  
AVEC  
BDM  
BIST  
BSDL  
CODEC  
DAC  
Autovector  
Background debug mode  
Built-in self test  
Boundary-scan description language  
Code/decode  
Digital-to-analog conversion  
Direct memory access  
Digital signal processing  
Effective address  
DMA  
DSP  
EA  
EDO  
FIFO  
Extended data output (DRAM)  
First-in, first-out  
AboutThisBook  
xxxv  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
onyms and Abbreviations  
Table i. Acronyms and Abbreviated Terms (Continued)  
Term  
GPIO  
Meaning  
General-purpose I/O  
2
I C  
Inter-integrated circuit  
Institute for Electrical and Electronics Engineers  
Instruction fetch pipeline  
Interrupt priority level  
Joint Electron Device Engineering Council  
Joint Test Action Group  
Last-in, first-out  
IEEE  
IFP  
IPL  
JEDEC  
JTAG  
LIFO  
LRU  
LSB  
lsb  
Least recently used  
Least-significant byte  
Least-significant bit  
MAC  
MBAR  
MSB  
msb  
Mux  
NOP  
OEP  
PC  
Multiple accumulate unit  
Memory base address register  
Most-significant byte  
Most-significant bit  
Multiplex  
No operation  
Operand execution pipeline  
Program counter  
PCLK  
PLL  
Processor clock  
Phase-locked loop  
PLRU  
POR  
PQFP  
RISC  
Rx  
Pseudo least recently used  
Power-on reset  
Plastic quad flat pack  
Reduced instruction set computing  
Receive  
SIM  
System integration module  
Start of frame  
SOF  
TAP  
Test access port  
TTL  
Transistor-to-transistor logic  
Transmit  
Tx  
UART  
Universal asynchronous/synchronous receiver transmitter  
xxxvi  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Terminology and Notational Conventions  
Terminology and Notational Conventions  
Table ii shows notational conventions used throughout this document.  
Table ii Notational Conventions  
Instruction  
Operand Syntax  
Opcode Wildcard  
Logical condition (example: NE for not equal)  
Register Specifications  
cc  
An  
Ay,Ax  
Dn  
Any address register n (example: A3 is address register 3)  
Source and destination address registers, respectively  
Any data register n (example: D5 is data register 5)  
Source and destination data registers, respectively  
Any control register (example VBR is the vector base register)  
MAC registers (ACC, MAC, MASK)  
Dy,Dx  
Rc  
Rm  
Rn  
Any address or data register  
Rw  
Destination register w (used for MAC instructions only)  
Any source and destination registers, respectively  
index register i (can be an address or data register: Ai, Di)  
Ry,Rx  
Xi  
Register Names  
ACC  
CCR  
MACSR  
MASK  
PC  
MAC accumulator register  
Condition code register (lower byte of SR)  
MAC status register  
MAC mask register  
Program counter  
SR  
Status register  
Port Name  
PSTDDATA  
Processor status/debug data port  
Miscellaneous Operands  
#<data>  
Í
Immediate data following the 16-bit operation word of the instruction  
Effective address  
<ea>y,<ea>x  
<label>  
<list>  
Source and destination effective addresses, respectively  
Assembly language program label  
List of registers for MOVEM instruction (example: D3–D0)  
Shift operation: shift left (<<), shift right (>>)  
Operand data size: byte (B), word (W), longword (L)  
Both instruction and data caches  
<shift>  
<size>  
bc  
dc  
Data cache  
AboutThisBook  
xxxvii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
minology and Notational Conventions  
Table ii Notational Conventions (Continued)  
Instruction  
Operand Syntax  
ic  
Instruction cache  
# <vector>  
Identifies the 4-bit vector number for trap instructions  
identifies an indirect data address referencing memory  
<xxx>  
dn  
identifies an absolute address referencing memory  
Signal displacement value, n bits wide (example: d16 is a 16-bit displacement)  
Scale factor (x1, x2, x4 for indexed addressing mode, <<1n>> for MAC operations)  
SF  
Operations  
+
Arithmetic addition or postincrement indicator  
Arithmetic subtraction or predecrement indicator  
Arithmetic multiplication  
x
/
Arithmetic division  
~
Invert; operand is logically complemented  
Logical AND  
&
|
Logical OR  
^
Logical exclusive OR  
<<  
Shift left (example: D0 << 3 is shift D0 left 3 bits)  
Shift right (example: D0 >> 3 is shift D0 right 3 bits)  
Source operand is moved to destination operand  
Two operands are exchanged  
>>  
←→  
sign-extended  
All bits of the upper portion are made equal to the high-order bit of the lower portion  
If <condition>  
then  
<operations>  
else  
Test the condition. If true, the operations after ‘then’ are performed. If the condition is false and the  
optional ‘else’ clause is present, the operations after ‘else’ are performed. If the condition is false  
and else is omitted, the instruction performs no operation. Refer to the Bcc instruction description  
as an example.  
<operations>  
Subfields and Qualifiers  
Optional operation  
{}  
()  
Identifies an indirect address  
d
Displacement value, n-bits wide (example: d is a 16-bit displacement)  
16  
n
Address  
Bit  
Calculated effective address (pointer)  
Bit selection (example: Bit 3 of D0)  
Least significant bit (example: lsb of D0)  
Least significant byte  
lsb  
LSB  
LSW  
msb  
Least significant word  
Most significant bit  
MSB  
MSW  
Most significant byte  
Most significant word  
xxxviii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Terminology and Notational Conventions  
Table ii Notational Conventions (Continued)  
Operand Syntax  
Instruction  
Condition Code Register Bit Names  
C
N
V
X
Z
Carry  
Negative  
Overflow  
Extend  
Zero  
AboutThisBook  
xxxix  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
minology and Notational Conventions  
xl  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 1  
Overview  
This chapter is an overview of the MCF5307 ColdFire processor. It includes general  
descriptions of the modules and features incorporated in the MCF5307.  
1.1 Features  
The MCF5307 integrated microprocessor combines a V3 ColdFire processor core with the  
following components, as shown in Figure 1-1:  
8-Kbyte unied cache  
4-Kbyte on-chip SRAM  
Integer/fractional multiply-accumulate (MAC) unit  
Divide unit  
System debug interface  
DRAM controller for synchronous and asynchronous DRAM  
Four-channel DMA controller  
Two general-purpose timers  
Two UARTs  
2
I C™ interface  
Parallel I/O interface  
System integration module (SIM)  
Designed for embedded control applications, the MCF5307 delivers 75 Dhrystone 2.1  
MIPS at 90 MHz while minimizing system costs.  
Chapter 1. Overview  
1-1  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ures  
V3 COLDFIRE PROCESSOR COMPLEX  
Instruction Unit  
JTAG  
Instruction Fetch  
Pipeline (IFP)  
Branch Logic  
CCR  
IAG  
IC1  
IC2  
IED  
General-  
Purpose  
Registers  
A0–A7  
Eight-Instruction  
FIFO Buffer  
31  
0
Operand Execution  
Pipeline (OEP)  
DSOC  
DIV AGEX  
D0–D7  
31  
0
MAC  
Debug  
Module  
Local  
Memory  
PSTCLK  
SRAM Controller  
RAMBAR  
4-Kbyte  
SRAM  
BCLKO  
(sent off-chip  
and to on-chip  
peripherals)  
Cache Controller  
CACR  
ACR0  
8-Kbyte  
Cache  
CLKIN  
RSTI  
ACR1  
PCLK  
RSTO  
PLL  
Xn  
31  
0
4-Entry  
Store  
Local Memory Bus  
Buffer  
DMA  
SYSTEM INTEGRATION MODULE (SIM)  
Four  
Channels  
PLL Control  
PLL  
System Control  
RSR SWIVR  
Base Address  
MBAR  
Bus Master Park  
MPARK  
Parallel Port  
PLL  
Software  
Watchdog  
SYPCR SWSR  
2
DRAM Controller  
Chip-Select Module  
External  
Bus Interface  
Interrupt Controller  
I C Module  
DRAM Control  
DCR  
10 ICRs  
IRQPAR  
IPR  
Two UARTs  
8
8
8
CSARs CSCRs CSMRs  
Two  
Addr/Cntrl Mask  
DACR0/1 DMR0/1  
IMR  
General-  
Purpose  
Timers  
AVR  
8
32-Bit Address Bus  
32-Bit Data Bus  
Control Signals  
4
DRAM Controller  
Outputs  
CS[7:0]  
IRQ[1,3,5,7]  
Figure 1-1. MCF5307 Block Diagram  
1-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Features  
Features common to many embedded applications, such as DMAs, various DRAM  
controller interfaces, and on-chip memories, are integrated using advanced process  
technologies.  
The MCF5307 extends the legacy of Motorola’s 68K family by providing a compatible path  
for 68K and ColdFire customers in which development tools and customer code can be  
leveraged. In fact, customers moving from 68K to ColdFire can use code translation and  
emulation tools that facilitate modifying 68K assembly code to the ColdFire architecture.  
Based on the concept of variable-length RISC technology, the ColdFire family combines  
the architectural simplicity of conventional 32-bit RISC with a memory-saving,  
variable-length instruction set. In dening the ColdFire architecture for embedded  
processing applications, a 68K-code compatible core combines performance advantages of  
a RISC architecture with the optimum code density of a streamlined, variable-length  
M68000 instruction set.  
By using a variable-length instruction set architecture, embedded system designers using  
ColdFire RISC processors enjoy signicant advantages over conventional xed-length  
RISC architectures. The denser binary code for ColdFire processors consumes less memory  
than many xed-length instruction set RISC processors available. This improved code  
density means more efcient system memory use for a given application and allows use of  
slower, less costly memory to help achieve a target performance level.  
The MCF5307 is the rst standard product to implement the Version 3 ColdFire  
microprocessor core. To reach higher levels of frequency and performance, numerous  
enhancements were made to the V2 architecture. Most notable are a deeper instruction  
pipeline, branch acceleration, and a unied cache, which together provide 75 (Dhrystone  
2.1) MIPS at 90 MHz. Increasing the internal speed of the core also allows higher  
performance while providing the system designer with an easy-to-use lower speed system  
interface. The processor complex frequency is an integer multiple, 2 to 4 times, of the  
external bus frequency. The core clock can be stopped to support a low-power mode.  
2
Serial communication channels are provided by an I C interface module and two  
programmable full-duplex UARTs. Four channels of DMA allow for fast data transfer using  
a programmable burst mode independent of processor execution. The two 16-bit  
general-purpose multimode timers provide separate input and output signals. For system  
protection, the processor includes a programmable 16-bit software watchdog timer. In  
addition, common system functions such as chip selects, interrupt control, bus arbitration,  
and an IEEE 1149.1 JTAG module are included. A sophisticated debug interface supports  
background-debug mode plus real-time trace and debug with expanded exibility of  
on-chip breakpoint registers. This interface is present in all ColdFire standard products and  
allows common emulator support across the entire family of microprocessors.  
Chapter 1. Overview  
1-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
5307 Features  
1.2 MCF5307 Features  
The following list summarizes MCF5307 features:  
ColdFire processor core  
Variable-length RISC, clock-multiplied Version 3 microprocessor core  
— Fully code compatible with Version 2 processors  
— Two independent decoupled pipelines: four-stage instruction fetch pipeline (IFP)  
and two-stage operand execution pipeline (OEP)  
— Eight-instruction FIFO buffer provides decoupling between the pipelines  
— Branch prediction mechanisms for accelerating program execution  
— 32-bit internal address bus supporting 4 Gbytes of linear address space  
— 32-bit data bus  
— 16 user-accessible, 32-bit-wide, general-purpose registers  
— Supervisor/user modes for system protection  
Vector base register to relocate exception-vector table  
— Optimized for high-level language constructs  
Multiply and accumulate unit (MAC)  
— High-speed, complex arithmetic processing for DSP applications  
— Tightly coupled to the OEP  
— Three-stage execute pipeline with one clock issue rate for 16 x 16 operations  
— 16 x 16 and 32 x 32 multiplies support, all with 32-bit accumulate  
— Signed or unsigned integer support, plus signed fractional operands  
Hardware integer divide unit  
— Unsigned and signed integer divide support  
— Tightly coupled to the OEP  
— 32/16 and 32/32 operation support producing quotient and/or remainder results  
8-Kbyte unied cache  
— Four-way set-associative organization  
— Operates at higher processor core frequency  
— Provides pipelined, single-cycle access to critical code and data  
— Supports write-through and copyback modes  
— Four-entry, 32-bit store buffer to improve performance of operand writes  
4-Kbyte SRAM  
— Programmable location anywhere within 4-Gbyte linear address space  
— Higher core-frequency operation  
— Pipelined, single-cycle access to critical code or data  
1-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MCF5307 Features  
DMA controller  
— Four fully programmable channels: two support external requests  
— Dual-address and single-address transfer support with 8-, 16-, and 32-bit data  
capability  
— Source/destination address pointers that can increment or remain constant  
— 24-bit transfer counter per channel  
— Operand packing and unpacking supported  
— Auto-alignment transfers supported for efcient block movement  
— Bursting and cycle steal support  
— Two-bus-clock internal access  
— Automatic DMA transfers from on-chip UARTs using internal interrupts  
DRAM controller  
— Synchronous DRAM (SDRAM), extended-data-out (EDO) DRAM, and fast  
page mode support  
— Up to 512 Mbytes of DRAM  
— Programmable timer provides CAS-before-RAS refresh for asynchronous  
DRAMs  
— Support for two separate memory blocks  
Two UARTs  
— Full-duplex operation  
— Programmable clock  
— Modem control signals available (CTS, RTS)  
— Processor-interrupt capability  
Dual 16-bit general-purpose multiple-mode timers  
— 8-bit prescaler  
— Timer input and output pins  
— Processor-interrupt capability  
— Up to 22-nS resolution at 45 MHz  
2
I C module  
— Interchip bus interface for EEPROMs, LCD controllers, A/D converters, and  
keypads  
2
— Fully compatible with industry-standard I C bus  
— Master or slave modes support multiple masters  
— Automatic interrupt generation with programmable level  
System interface module (SIM)  
— Chip selects provide direct interface to 8-, 16-, and 32-bit SRAM, ROM,  
Chapter 1. Overview  
1-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
FLASH, and memory-mapped I/O devices  
5307 Features  
— Eight fully programmable chip selects, each with a base address register  
— Programmable wait states and port sizes per chip select  
— User-programmable processor clock/input clock frequency ratio  
— Programmable interrupt controller  
— Low interrupt latency  
— Four external interrupt request inputs  
— Programmable autovector generator  
— Software watchdog timer  
16-bit general-purpose I/O interface  
IEEE 1149.1 test (JTAG) module  
System debug support  
— Real-time trace for determining dynamic execution path while in emulator mode  
— Background debug mode (BDM) for debug features while halted  
— Real-time debug support, including 6 user-visible hardware breakpoint registers  
supporting a variety of breakpoint congurations  
— Supports comprehensive emulator functions through trace and breakpoint logic  
On-chip PLL  
— Supports processor clock/bus clock ratios of 66/33, 66/22, 66/16.5, 90/45, 90/30,  
and 90/22.5  
— Supports low-power mode  
Product offerings  
— 75 Dhrystone 2.1 MIPS at 90 MHz  
— Implemented in 0.35 µ, triple-layer-metal process technology with 3.3-V  
operation (5.0-V compliant I/O pads)  
— 208-pin plastic QFP package  
— 0°–70° C operating temperature  
1.2.1 Process  
The MCF5307 is manufactured in a 0.35-µ CMOS process with triple-layer-metal routing  
technology. This process combines the high performance and low power needed for  
embedded system applications. Inputs are 3.3-V tolerant; outputs are CMOS or open-drain  
CMOS with outputs operating from VDD + 0.5 V to GND - 0.5 V, with guaranteed  
TTL-level specications.  
1-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ColdFire Module Description  
1.3 ColdFire Module Description  
The following sections provide overviews of the various modules incorporated in the  
MCF5307.  
1.3.1 ColdFire Core  
The Version 4 ColdFire core consists of two independent and decoupled pipelines to  
maximize performance—the instruction fetch pipeline (IFP) and the operand execution  
pipeline (OEP).  
1.3.1.1 Instruction Fetch Pipeline (IFP)  
The four-stage instruction fetch pipeline (IFP) is designed to prefetch instructions for the  
operand execution pipeline (OEP). Because the fetch and execution pipelines are decoupled  
by a eight-instruction FIFO buffer, the fetch mechanism can prefetch instructions in  
advance of their use by the OEP, thereby minimizing the time stalled waiting for  
instructions. To maximize the performance of branch instructions, the Version 3 IFP  
implements a branch prediction mechanism. Backward branches are predicted to be taken.  
The prediction for forward branches is controlled by a bit in the Condition Code Register  
(CCR). These predictions allow the IFP to redirect the fetch stream down the path predicted  
to be taken well in advance of the actual instruction execution. The result is signicantly  
improved performance.  
1.3.1.2 Operand Execution Pipeline (OEP)  
The prefetched instruction stream is gated from the FIFO buffer into the two-stage OEP.  
The OEP consists of a traditional two-stage RISC compute engine with a register le access  
feeding an arithmetic/logic unit (ALU). The OEP decodes the instruction, fetches the  
required operands and then executes the required function.  
1.3.1.3 MAC Module  
The MAC unit provides signal processing capabilities for the MCF5307 in a variety of  
applications including digital audio and servo control. Integrated as an execution unit in the  
processor’s OEP, the MAC unit implements a three-stage arithmetic pipeline optimized for  
16 x 16 multiplies. Both 16- and 32-bit input operands are supported by this design in  
addition to a full set of extensions for signed and unsigned integers, plus signed, xed-point  
fractional input operands.  
1.3.1.4 Integer Divide Module  
Integrated into the OEP, the divide module performs operations using signed and unsigned  
integers. The module supports word and longword divides producing quotients and/or  
remainders.  
Chapter 1. Overview  
1-7  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
dFire Module Description  
1.3.1.5 8-Kbyte Unified Cache  
The MCF5307 architecture includes an 8-Kbyte unied cache. This four-way,  
set-associative cache provides pipelined, single-cycle access on cached instructions and  
operands.  
As with all ColdFire caches, the cache controller implements a non-lockup, streaming  
design. The use of processor-local memories decouples performance from external  
memory speeds and increases available bandwidth for external devices or the on-chip  
4-channel DMA.  
The cache implements line-ll buffers to optimize 16-byte line burst accesses. Additionally,  
the cache supports copyback, write-through, or cache-inhibited modes. A 4-entry, 32-bit  
buffer is used for cache line push operations and can be congured for deferred write  
buffering in write-through or cache-inhibited modes.  
1.3.1.6 Internal 4-Kbyte SRAM  
The 4-Kbyte on-chip SRAM module provides pipelined, single-cycle access to memory  
regions mapped to these devices. The memory can be mapped to any 0-modulo-32K  
location in the 4-Gbyte address space. The SRAM module is useful for storing time-critical  
functions, the system stack, or heavily-referenced data operands.  
1.3.2 DRAM Controller  
The MCF5307 DRAM controller provides a direct interface for up to two blocks of DRAM.  
The controller supports 8-, 16-, or 32-bit memory widths and can easily interface to PC-100  
DIMMs. A unique addressing scheme allows for increases in system memory size without  
rerouting address lines and rewiring boards. The controller operates in normal mode or in  
page mode and supports SDRAMs and EDO DRAMs.  
1.3.3 DMA Controller  
The MCF5307 provides four fully programmable DMA channels for quick data transfer.  
Dual- and single-address modes support bursting and cycle steal. Data transfers are 32 bits  
long with packing and unpacking supported along with an auto-alignment option for  
efcient block transfers. Automatic block transfers from on-chip serial UARTs are also  
supported through the DMA channels.  
1.3.4 UART Modules  
The MCF5307 contains two UARTs, which function independently. Either UART can be  
clocked by the system bus clock, eliminating the need for an external crystal. Each UART  
module interfaces directly to the CPU, as shown in Figure 1-2.  
1-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ColdFire Module Description  
UART  
CTS  
RTS  
RxD  
TxD  
Internal Channel  
Control Logic  
Serial  
Communications  
Channel  
System Integration  
Module (SIM)  
BCLKO  
or  
External clock (TIN)  
Programmable  
Clock  
Generation  
Interrupt Control  
Logic  
Interrupt  
Controller  
Figure 1-2. UART Module Block Diagram  
Each UART module consists of the following major functional areas:  
Serial communication channel  
16-bit divider for clock generation  
Internal channel control logic  
Interrupt control logic  
Each UART contains an programmable clock-rate generator. Data formats can be 5, 6, 7,  
or 8 bits with even, odd, or no parity, and up to 2 stop bits in 1/16 increments. The UARTs  
include 4-byte and 2-byte FIFO buffers. The UART modules also provide several  
error-detection and maskable-interrupt capabilities. Modem support includes  
request-to-send (RTS) and clear-to-send (CTS) lines.  
BCLKO provides the time base through a programmable prescaler. The UART time scale  
can also be sourced from a timer input. Full-duplex, auto-echo loopback, local loopback,  
and remote loopback modes allow testing of UART connections. The programmable  
UARTs can interrupt the CPU on various normal or error-condition events.  
1.3.5 Timer Module  
The timer module includes two general-purpose timers, each of which contains a  
free-running 16-bit timer for use in any of three modes. One mode captures the timer value  
with an external event.Another mode triggers an external signal or interrupts the CPU when  
the timer reaches a set value, while a third mode counts external events.  
The timer unit has an 8-bit prescaler that allows programming of the clock input frequency,  
which is derived from the system bus cycle or an external clock input pin (TIN). The  
programmable timer-output pin generates either an active-low pulse or toggles the output.  
2
1.3.6 I C Module  
2
The I C interface is a two-wire, bidirectional serial bus used for quick data exchanges  
2
between devices. The I C minimizes the interconnection between devices in the end system  
and is best suited for applications that need occasional bursts of rapid communication over  
Chapter 1. Overview  
1-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
dFire Module Description  
2
short distances among several devices. The I C can operate in master, slave, or  
multiple-master modes.  
1.3.7 System Interface  
The MCF5307 processor provides a direct interface to 8-, 16-, and 32-bit FLASH, SRAM,  
ROM, and peripheral devices through the use of fully programmable chip selects and write  
enables. Support for burst ROMs is also included. Through the on-chip PLL, users can  
input a slower clock (16.6 to 45 MHz) that is internally multiplied to create the faster  
processor clock (33.3 to 90 MHz).  
1.3.7.1 External Bus Interface  
The bus interface controller transfers information between the ColdFire core or DMA and  
memory, peripherals, or other devices on the external bus. The external bus interface  
provides up to 32 bits of address bus space, a 32-bit data bus, and all associated control  
signals. This interface implements an extended synchronous protocol that supports bursting  
operations.  
Simple two-wire request/acknowledge bus arbitration between the MCF5307 processor  
and another bus master, such as an external DMA device, is glueless with arbitration logic  
internal to the MCF5307 processor. Multiple-master arbitration is also available with some  
simple external arbitration logic.  
1.3.7.2 Chip Selects  
Eight fully programmable chip select outputs support the use of external memory and  
peripheral circuits with user-dened wait-state insertion. These signals interface to 8-, 16-,  
or 32-bit ports. The base address, access permissions, and internal bus transfer terminations  
are programmable with conguration registers for each chip select. CS0 also provides  
global chip select functionality of boot ROM upon reset for initializing the MCF5307.  
1.3.7.3 16-Bit Parallel Port Interface  
A 16-bit general-purpose programmable parallel port serves as either an input or an output  
on a pin-by-pin basis.  
1.3.7.4 Interrupt Controller  
The interrupt controller provides user-programmable control of ten internal peripheral  
interrupts and implements four external xed interrupt-request pins. Each internal interrupt  
can be programmed to any one of seven interrupt levels and four priority levels within each  
of these levels. Additionally, the external interrupt request pins can be mapped to levels 1,  
3, 5, and 7 or levels 2, 4, 6, and 7. Autovector capability is available for both internal and  
external interrupts.  
1-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ColdFire Module Description  
1.3.7.5 JTAG  
To help with system diagnostics and manufacturing testing, the MCF5307 processor  
includes dedicated user-accessible test logic that complies with the IEEE 1149.1a standard  
for boundary-scan testability, often referred to as the Joint Test Action Group, or JTAG. For  
more information, refer to the IEEE 1149.1a standard.  
1.3.8 System Debug Interface  
The ColdFire processor core debug interface is provided to support system debugging in  
conjunction with low-cost debug and emulator development tools. Through a standard  
debug interface, users can access real-time trace and debug information. This allows the  
processor and system to be debugged at full speed without the need for costly in-circuit  
emulators. The debug unit in the MCF5307 is a compatible upgrade to the MCF52xx debug  
module with added exibility in the breakpoint registers and a new command to view the  
program counter (PC).  
The on-chip breakpoint resources include a total of 6 programmable registers—a set of  
address registers (with two 32-bit registers), a set of data registers (with a 32-bit data  
register plus a 32-bit data mask register), and one 32-bit PC register plus a 32-bit PC mask  
register. These registers can be accessed through the dedicated debug serial communication  
channel or from the processor’s supervisor mode programming model. The breakpoint  
registers can be congured to generate triggers by combining the address, data, and PC  
conditions in a variety of single or dual-level denitions. The trigger event can be  
programmed to generate a processor halt or initiate a debug interrupt exception.  
The MCF5307’s new interrupt servicing options during emulator mode allow real-time  
critical interrupt service routines to be serviced while processing a debug interrupt event,  
thereby ensuring that the system continues to operate even during debugging.  
To support program trace, theVersion 3 debug module provides processor status (PST[3:0])  
and debug data (DDATA[3:0]) ports. These buses and the PSTCLK output provide  
execution status, captured operand data, and branch target addresses dening processor  
activity at the CPU’s clock rate.  
1.3.9 PLL Module  
The MCF5307 PLL module is shown in Figure 1-3.  
Chapter 1. Overview  
1-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
gramming Model, Addressing Modes, and Instruction Set  
RSTO  
PCLK  
PSTCLK  
BCLKO  
Divide by 2,  
3, or 4  
PLL  
CLKIN X 4  
Divide  
by 2  
CLKIN  
FREQ[1:0]  
RSTI  
DIVIDE[1:0]  
Figure 1-3. PLL Module  
The PLL module’s three modes of operation are described as follows.  
Reset mode—When RSTI is asserted, the PLL enters reset mode. At reset, the PLL  
asserts RSTO from the MCF5307. The core:bus frequency ratio and other MCF5307  
conguration information are sampled during reset.  
Normal mode—In normal mode, the input frequency programmed at reset is  
clock-multiplied to provide the processor clock (PCLK).  
Reduced-power mode—In reduced-power mode, the PCLK is disabled by executing  
a sequence that includes programming a control bit in the system conguration  
register (SCR) and then executing the STOP instruction. Register contents are  
retained in reduced-power mode, so the system can be reenabled quickly when an  
unmasked interrupt or reset is detected.  
1.4 Programming Model, Addressing Modes, and  
Instruction Set  
The ColdFire programming model has two privilege levels—supervisor and user. The S bit  
in the status register (SR) indicates the privilege level. The processor identies a logical  
address that differentiates between supervisor and user modes by accessing either the  
supervisor or user address space.  
User mode—When the processor is in user mode (SR[S] = 0), only a subset of  
registers can be accessed, and privileged instructions cannot be executed. Typically,  
most application processing occurs in user mode. User mode is usually entered by  
executing a return from exception instruction (RTE, assuming the value of SR[S]  
saved on the stack is 0) or a MOVE, SR instruction (assuming SR[S] is 0).  
Supervisor mode—This mode protects system resources from uncontrolled access  
by users. In supervisor mode, complete access is provided to all registers and the  
entire ColdFire instruction set. Typically, system programmers use the supervisor  
programming model to implement operating system functions and provide I/O  
1-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Model, Addressing Modes, and Instruction Set  
control. The supervisor programming model provides access to the same registers as  
the user model, plus additional registers for conguring on-chip system resources,  
as described in Section 1.4.3, “Supervisor Registers.”  
Exceptions (including interrupts) are handled in supervisor mode.  
1.4.1 Programming Model  
Figure 1-4 shows the MCF5307 programming model.  
31  
0
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
Data registers  
31  
0
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
PC  
CCR  
Address registers  
Stack pointer  
Program counter  
Condition code register  
31  
31  
0
MACSR  
ACC  
MASK  
MAC status register  
MAC accumulator  
MAC mask register  
15  
19  
(CCR) SR  
Status register  
Must be zeros  
VBR  
Vector base register  
CACR  
ACR0  
ACR1  
RAMBAR  
MBAR  
Cache control register  
Access control register 0  
Access control register 1  
RAM base address register  
Module base address register  
Figure 1-4. ColdFire MCF5307 Programming Model  
Chapter 1. Overview  
1-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
gramming Model, Addressing Modes, and Instruction Set  
1.4.2 User Registers  
The user programming model is shown in Figure 1-4 and summarized in Table 1-1.  
Table 1-1. User-Level Registers  
Register  
Description  
Data registers  
(D0–D7)  
These 32-bit registers are for bit, byte, word, and longword operands. They can also be used as  
index registers.  
Address registers These 32-bit registers serve as software stack pointers, index registers, or base address  
(A0–A7)  
registers. The base address registers can be used for word and longword operations. A7  
functions as a hardware stack pointer during stacking for subroutine calls and exception handling.  
Program counter  
(PC)  
Contains the address of the instruction currently being executed by the MCF5307 processor  
Condition code  
register (CCR)  
The CCR is the lower byte of the SR. It contains indicator flags that reflect the result of a previous  
operation and are used for conditional instruction execution.  
MAC status  
Defines the operating configuration of the MAC unit and contains indicator flags from the results  
register (MACSR) of MAC instructions.  
Accumulator  
(ACC)  
General-purpose register used to accumulate the results of MAC operations  
Mask register  
(MASK)  
General-purpose register provides an optional address mask for MAC instructions that fetch  
operands from memory. It is useful in the implementation of circular queues in operand memory.  
1.4.3 Supervisor Registers  
Table 1-2 summarizes the MCF5307 supervisor-level registers.  
Table 1-2. Supervisor-Level Registers  
Register  
Description  
Status register (SR)  
The upper byte of the SR provides interrupt information in addition to a variety of mode indicators  
signaling the operating state of the ColdFire processor. The lower byte of the SR is the CCR, as  
shown in Figure 1-4.  
Vector base register  
(VBR)  
Defines the upper 12 bits of the base address of the exception vector table used during exception  
processing. The low-order 20 bits are forced to zero, locating the vector table on 0-modulo-1  
Mbyte address.  
Cache configuration  
register (CACR)  
Defines the operating modes of the Version 4 cache memories. Control fields configuring the  
instruction, data, and branch cache are provided by this register, along with the default attributes  
for the 4-Gbyte address space.  
Access control  
registers (ACR0/1)  
Define address ranges and attributes associated with various memory regions within the 4-Gbyte  
address space. Each ACR defines the location of a given memory region and assigns attributes  
such as write-protection and cache mode (copyback, write-through, cacheability). Additionally,  
CACR fields assign default attributes to the instruction and data memory spaces.  
RAM base address  
register (RAMBAR)  
Provide the logical base address for the 4-Kbyte SRAM module and define attributes and access  
types allowed for the SRAM.  
Module base address Defines the logical base address for the memory-mapped space containing the control registers  
register (MBAR) for the on-chip peripherals.  
1-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Programming Model, Addressing Modes, and Instruction Set  
1.4.4 Instruction Set  
The ColdFire instruction set supports high-level languages and is optimized for those  
instructions most commonly generated by compilers in embedded applications. Table 2-8  
provides an alphabetized listing of the ColdFire instruction set opcodes, supported  
operation sizes, and assembler syntax. For two-operand instructions, the rst operand is  
generally the source operand and the second is the destination.  
Because the ColdFire architecture provides an upgrade path for 68K customers, its  
instruction set supports most of the common 68K opcodes. A majority of the instructions  
are binary compatible or optimized 68K opcodes. This feature, when coupled with the code  
conversion tools from third-party developers, generally minimizes software porting issues  
for customers with 68K applications.  
Chapter 1. Overview  
1-15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
gramming Model, Addressing Modes, and Instruction Set  
1-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Part I  
MCF5307 Processor Core  
Intended Audience  
Part I is intended for system designers who need a general understanding of the  
functionality supported by the MCF5307. It also describes the operation of the MCF5307  
Contents  
Chapter 2, “ColdFire Core,” provides an overview of the microprocessor core of the  
MCF5307. The chapter begins with a description of enhancements from the V2  
ColdFire core, and then fully describes the V3 programming model as it is  
implemented on the MCF5307. It also includes a full description of exception  
handling, data formats, an instruction set summary, and a table of instruction  
timings.  
Chapter 3, “Hardware Multiply/Accumulate (MAC) Unit,” describes the MCF5307  
multiply/accumulate unit, which executes integer multiply, multiply-accumulate,  
and miscellaneous register instructions. The MAC is integrated into the operand  
execution pipeline (OEP).  
Chapter 4, “Local Memory.” This chapter describes the MCF5307 implementation  
of the ColdFire V3 local memory specication. It consists of the two following  
major sections.  
Section 4.2, “SRAM Overview,” describes the MCF5307 on-chip static RAM  
(SRAM) implementation. It covers general operations, conguration, and  
initialization. It also provides information and examples showing how to  
minimize power consumption when using the SRAM.  
— Section 4.7, “Cache Overview,” describes the MCF5307 cache implementation,  
including organization, conguration, and coherency. It describes cache  
operations and how the cache interacts with other memory structures.  
Chapter 5, “Debug Support,” describes the Revision C enhanced hardware debug  
support in the MCF5307. This revision of the ColdFire debug architecture  
encompasses earlier revisions.  
Part I.MCF5307 Processor Core  
I-xvii  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Suggested Reading  
The following literature may be helpful with respect to the topics in Part I:  
ColdFire Programmers Reference Manual, R1.0 (MCF5200PRM/AD)  
Using Microprocessors and Microcomputers: The Motorola Family, William C.  
Wray, Ross Bannatyne, Joseph D. Greeneld  
Acronyms and Abbreviations  
Table I-i contains acronyms and abbreviations are used in Part I.  
Table I-i. Acronyms and Abbreviated Terms  
Term  
ADC  
Meaning  
Analog-to-digital conversion  
Arithmetic logic unit  
ALU  
BDM  
BIST  
BSDL  
CODEC  
DAC  
Background debug mode  
Built-in self test  
Boundary-scan description language  
Code/decode  
Digital-to-analog conversion  
Direct memory access  
Digital signal processing  
Effective address  
DMA  
DSP  
EA  
EDO  
FIFO  
GPIO  
Extended data output (DRAM)  
First-in, first-out  
2
I C  
Inter-integrated circuit  
IEEE  
IFP  
Institute for Electrical and Electronics Engineers  
Instruction fetch pipeline  
Interrupt priority level  
IPL  
JEDEC  
JTAG  
LIFO  
LRU  
LSB  
lsb  
Joint Electron Device Engineering Council  
Joint Test Action Group  
Last-in, first-out  
Least recently used  
Least-significant byte  
Least-significant bit  
I-xviii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table I-i. Acronyms and Abbreviated Terms (Continued)  
Term  
MAC  
Meaning  
Multiple accumulate unit  
Memory base address register  
Most-significant byte  
Most-significant bit  
MBAR  
MSB  
msb  
Mux  
NOP  
OEP  
PC  
Multiplex  
No operation  
Operand execution pipeline  
Program counter  
PCLK  
PLL  
Processor clock  
Phase-locked loop  
PLRU  
POR  
PQFP  
RISC  
Rx  
Pseudo least recently used  
Power-on reset  
Plastic quad flat pack  
Reduced instruction set computing  
Receive  
SIM  
System integration module  
Start of frame  
SOF  
TAP  
Test access port  
TTL  
Transistor-to-transistor logic  
Transmit  
Tx  
UART  
Universal asynchronous/synchronous receiver transmitter  
Part I.MCF5307 Processor Core  
I-xix  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
I-xx  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 2  
ColdFire Core  
This chapter provides an overview of the microprocessor core of the MCF5307. The  
chapter begins with a description of enhancements from the Version 2 (V2) ColdFire core,  
and then fully describes the V3 programming model as it is implemented on the MCF5307.  
It also includes a full description of exception handling, data formats, an instruction set  
summary, and a table of instruction timings.  
2.1 Features and Enhancements  
The MCF5307 is the rst standard product to contain a Version 3 ColdFire microprocessor  
core. To reach higher levels of frequency and performance, numerous enhancements were  
made to the V2 architecture. Most notable are a deeper instruction pipeline, branch  
acceleration, and a unied cache, which together provide 75 (Dhrystone 2.1) MIPS at 90  
MHz.  
The MCF5307 core design emphasizes performance, and backward compatibility  
represents the next step on the ColdFire performance roadmap.  
The following list summarizes MCF5307 features:  
Variable-length RISC, clock-multiplied Version 3 microprocessor core  
Two independent, decoupled pipelines—four-stage instruction fetch pipeline (IFP)  
and two-stage operand execution pipeline (OEP)  
Eight-instruction FIFO buffer provides decoupling between the pipelines  
Branch prediction mechanisms for accelerating program execution  
32-bit internal address bus supporting 4 Gbytes of linear address space  
32-bit data bus  
16 user-accessible, 32-bit-wide, general-purpose registers  
Supervisor/user modes for system protection  
Vector base register to relocate exception-vector table  
Optimized for high-level language constructs  
Chapter 2. ColdFire Core  
2-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ures and Enhancements  
2.1.1 Clock-Multiplied Microprocessor Core  
The MCF5307 incorporates a clock-multiplying phase-locked loop (PLL). Increasing the  
internal speed of the core also allows higher performance while providing the system  
designer with an easy-to-use lower speed system interface.  
The frequency of the processor complex can be 2x, 3x, or 4x the external bus speed.  
The processor, cache, integrated SRAM, and misalignment module operate at the higher  
speed clock (PCLK); other system integrated modules operate at the speed of the bus clock  
(BCLKO). When combined with the enhanced pipeline structure of the Version 3 ColdFire  
core, the processor and its local memories provide a high level of performance for today’s  
demanding embedded applications.  
PCLK can be disabled to minimize dissipation when a low-power mode is entered. This is  
described in Section 7.2.3, “Reduced-Power Mode.”  
2.1.2 Enhanced Pipelines  
The IFP prefetches instructions. The OEP decodes instructions, fetches required operands,  
then executes the specied function. The two independent, decoupled pipeline structures  
maximize performance while minimizing core size. Pipeline stages are shown in Figure 2-1  
and are summarized as follows:  
Four-stage IFP (plus optional instruction buffer stage)  
— Instruction address generation (IAG) calculates the next prefetch address.  
— Instruction fetch cycle 1 (IC1) initiates prefetch on the processor’s local  
instruction bus.  
— Instruction fetch cycle 2 (IC2) completes prefetch on the processor’s instruction  
local bus.  
— Instruction early decode (IED) generates time-critical decode signals needed for  
the OEP.  
— Instruction buffer (IB) optional stage uses FIFO queue to minimize effects of  
fetch latency.  
Two-stage OEP  
— Decode, select/operand fetch (DSOC) decodes the instruction and selects the  
required components for the effective address calculation, or the operand fetch  
cycle.  
— Address generation/execute (AGEX) Calculates the oeprand address, or  
performs the execution of the instruction.  
2-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Features and Enhancements  
Instruction  
Address  
IAG  
IC1  
IC2  
IED  
Generation  
Address [31:0]  
Instruction  
Fetch Cycle 1  
Instruction  
Fetch  
Pipeline  
Instruction  
Fetch Cycle 2  
Instruction  
Early Decode  
FIFO  
Instruction Buffer  
IB  
Data[31:0]  
Decode & Select,  
Operand Fetch  
DSOC  
AGEX  
Operand  
Execution  
Pipeline  
Address  
Generation,  
Execute  
Figure 2-1. ColdFire Enhanced Pipeline  
2.1.2.1 Instruction Fetch Pipeline (IFP)  
Because the fetch and execution pipelines are decoupled by an eight-instruction FIFO  
buffer, the IFP can prefetch instructions before the OEP needs them, minimizing stalls.  
2.1.2.1.1 Branch Acceleration  
Because the IFP and the OEP are decoupled by the instruction buffer, the increased depth  
of the IFP is generally hidden from the OEP’s instruction execution. The one exception is  
change-of-ow instructions such as unconditional branches or jumps, subroutine calls, and  
taken conditional branches. To minimize the effects of the increased depth of the IFP, the  
prefetched instruction stream is monitored for change-of-ow opcodes. When certain types  
of change-of-ow instructions are detected, the target instruction address is calculated, and  
fetching immediately begins in the target stream.  
Chapter 2. ColdFire Core  
2-23  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ures and Enhancements  
For example, if an unconditional BRA instruction is detected, the IED calculates the target  
of the BRA instruction, and the IAG immediately begins fetching at the target address.  
Because of the decoupled nature of the two pipelines, the target instruction is available to  
the OEP immediately after the BRA instruction, giving it a single-cycle execution time.  
The acceleration logic uses a static prediction algorithm when processing conditional  
branch (Bcc) instructions. The default scheme is forward Bcc instructions are predicted as  
not-taken, while backward Bcc instructions are predicted as taken. A user-mode control bit,  
CCR[7], allows users to dynamically alter the prediction algorithm for forward Bcc  
instructions. See Section 2.2.1.5, “Condition Code Register (CCR).  
2.1.2.2 Operand Execution Pipeline (OEP)  
The OEP is a two-stage pipeline featuring a traditional RISC datapath with a register le  
feeding an arithmetic/logic unit. For simple register-to-register instructions, the rst stage  
of the OEP performs the instruction decode and fetching of the required register operands  
(OC), while the actual instruction execution is performed in the second stage (EX).  
For memory-to-register instructions, the instruction is effectively staged through the OEP  
twice in the following way:  
The instruction is decoded and the components of the operand address are selected  
(DS).  
The operand address is generated using the “execute engine” (AG).  
The memory operand is fetched while any register operand is simultaneously  
fetched (OC).  
The instruction is executed (EX).  
For register-to-memory operations, the stage functions (DS/OC, AG/EX) are effectively  
performed simultaneously allowing single-cycle execution. For read-modify-write  
instructions, the pipeline effectively combines a memory-to-register operation with a store  
operation.  
2.1.2.2.1 Illegal Opcode Handling  
To aid in conversion from M68000 code, every 16-bit operation word is decoded to ensure  
that each instruction is valid. If the processor attempts execution of an illegal or  
unsupported instruction, an illegal instruction exception (vector 4) is taken.  
2.1.2.2.2 Hardware Multiply/Accumulate (MAC) Unit  
The MAC is an optional unit in Version 3 that provides hardware support for a limited set  
of digital signal processing (DSP) operations used in embedded code, while supporting the  
integer multiply instructions in the ColdFire microprocessor family. The MAC features a  
three-stage execution pipeline, optimized for 16 x 16 multiplies. It is tightly coupled to the  
OEP, which can issue a 16 x 16 multiply with a 32-bit accumulation plus fetch a 32-bit  
operand in a single cycle. A 32 x 32 multiply with a 32-bit accumulation requires three  
cycles before the next instruction can be issued.  
2-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Features and Enhancements  
Figure 2-2 shows basic functionality of the MAC. A full set of instructions are provided for  
signed and unsigned integers plus signed, xed-point fractional input operands.  
Operand Y  
Operand X  
X
Shift 0,1,-1  
+/-  
Accumulator  
Figure 2-2. ColdFire Multiply-Accumulate Functionality Diagram  
The MAC provides functionality in the following three related areas, which are described  
in detail in Chapter 3, “Hardware Multiply/Accumulate (MAC) Unit.”  
Signed and unsigned integer multiplies  
Multiply-accumulate operations with signed and unsigned fractional operands  
Miscellaneous register operations  
2.1.2.2.3 Hardware Divide Unit  
The hardware divide unit performs the following integer division operations:  
32-bit operand/16-bit operand producing a 16-bit quotient and a 16-bit remainder  
32-bit operand/32-bit operand producing a 32-bit quotient  
32-bit operand/32-bit operand producing a 32-bit remainder  
2.1.3 Debug Module Enhancements  
The ColdFire processor core debug interface supports system integration in conjunction  
with low-cost development tools. Real-time trace and debug information can be accessed  
through a standard interface, which allows the processor and system to be debugged at full  
speed without costly in-circuit emulators. The MCF5307 debug unit is a compatible  
upgrade to the MCF52xx debug module with enhancements that include:  
A new command to obtain the value of the program counter (PC)  
Allowing ORing of terms in creating breakpoints  
Increased exibility of the breakpoint registers  
Chapter 2. ColdFire Core  
2-25  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
On-chip breakpoint resources include the following:  
gramming Model  
Conguration/status register (CSR)  
Background debug mode (BDM) address attributes register (BAAR)  
Bus attributes and mask register (AATR)  
Breakpoint registers. These can be used to dene triggers combining address, data,  
and PC conditions in single- or dual-level denitions. They include the following:  
— PC breakpoint register (PBR)  
— PC breakpoint mask register (PBMR)  
— Data operand address breakpoint registers (ABHR/ABLR)  
— Data breakpoint register (DBR)  
Data breakpoint mask register (DBMR)  
Trigger denition register (TDR) can be programmed to generate a processor halt or  
initiate a debug interrupt exception.  
These registers can be accessed through the dedicated debug serial communication channel,  
or from the processor’s supervisor programming model, using the WDEBUG instruction.  
The enhancements of the Revision B debug specication are fully backward-compatible  
with the A revision. For more information, see Chapter 5, “Debug Support.”  
2.2 Programming Model  
The MCF5307 programming model consists of three instruction and register groups—user,  
MAC (also user-mode), and supervisor, shown in Figure 2-2. User mode programs are  
restricted to user and MAC instructions and programming models. Supervisor-mode  
system software can reference all user-mode and MAC instructions and registers and  
additional supervisor instructions and control registers. The user or supervisor  
programming model is selected based on SR[S]. The following sections describe the  
registers in the user, MAC, and supervisor programming models.  
2-26  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Programming Model  
31  
0
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
Data registers  
31  
0
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
PC  
CCR  
Address registers  
Stack pointer  
Program counter  
Condition code register  
31  
31  
0
MACSR  
ACC  
MASK  
MAC status register  
MAC accumulator  
MAC mask register  
15  
19  
(CCR) SR  
Status register  
Must be zeros  
VBR  
Vector base register  
CACR  
ACR0  
ACR1  
RAMBAR  
MBAR  
Cache control register  
Access control register 0  
Access control register 1  
RAM base address register  
Module base address register  
Figure 2-3. ColdFire Programming Model  
2.2.1 User Programming Model  
As Figure 2-3 shows, the user programming model consists of the following registers:  
16 general-purpose 32-bit registers, D0–D7 and A0–A7  
32-bit program counter  
8-bit condition code register  
2.2.1.1 Data Registers (D0–D7)  
Registers D0–D7 are used as data registers for bit, byte (8-bit), word (16-bit), and longword  
(32-bit) operations. They may also be used as index registers.  
2.2.1.2 Address Registers (A0–A6)  
The address registers (A0–A6) can be used as software stack pointers, index registers, or  
base address registers and may be used for word and longword operations.  
Chapter 2. ColdFire Core  
2-27  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
gramming Model  
2.2.1.3 Stack Pointer (A7, SP)  
The processor core supports a single hardware stack pointer (A7) used during stacking for  
subroutine calls, returns, and exception handling. The stack pointer is implicitly referenced  
by certain operations and can be explicitly referenced by any instruction specifying an  
address register. The initial value of A7 is loaded from the reset exception vector, address  
0x0000. The same register is used for user and supervisor modes, and may be used for word  
and longword operations.  
A subroutine call saves the program counter (PC) on the stack and the return restores the  
PC from the stack. The PC and the status register (SR) are saved on the stack during  
exception and interrupt processing. The return from exception instruction restores SR and  
PC values from the stack.  
2.2.1.4 Program Counter (PC)  
The PC holds the address of the executing instruction. For sequential instructions, the  
processor automatically increments PC. When program ow changes, the PC is updated  
with the target instruction. For some instructions, the PC species the base address for  
PC-relative operand addressing modes.  
2.2.1.5 Condition Code Register (CCR)  
The CCR, Figure 2-4, occupies SR[7–0], as shown in Figure 2-3. CCR[4–0] are indicator  
ags based on results generated by arithmetic operations.  
Table 2-1 describes the CCR eldsMAC Programming ModelFigure 2-3 shows the registers in the MAC portion of the user programming model. These registers are described as follows:Accumulator (ACC)—This 32-bit, read/write, general-purpose register is used to accumulate the results of MAC operations.  
7
6
5
4
3
2
1
0
Field  
P
X
N
Z
V
C
Reset  
0
00  
Undefined  
R/W R/W  
R
R/W  
R/W  
R/W  
R/W  
R/W  
Table 2-1. CCR Field Descriptions  
Bits Name  
Description  
7
P
Branch prediction bit. Alters the static prediction algorithm used by the branch acceleration logic in the  
IFP on forward conditional branches.  
0 Predicted as not-taken.  
1 Predicted as taken.  
6–5  
4
X
Reserved, should be cleared.  
Extend condition code bit. Assigned the value of the carry bit for arithmetic operations; otherwise not  
affected or set to a specified result. Also used as an input operand for multiple-precision arithmetic.  
3
2
N
Z
Negative condition code bit. Set if the msb of the result is set; otherwise cleared.  
Zero condition code bit. Set if the result equals zero; otherwise cleared.  
2-28  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Model  
Table 2-1. CCR Field Descriptions (Continued)  
Bits Name  
Description  
1
V
Overflow condition code bit. Set if an arithmetic overflow occurs, implying that the result cannot be  
represented in the operand size; otherwise cleared.  
0
C
Carry condition code bit. Set if a carry-out of the data operand msb occurs for an addition or if a  
borrow occurs in a subtraction; otherwise cleared.  
Mask register (MASK)—This 16-bit general-purpose register provides an optional  
address mask for MAC instructions that fetch operands from memory. It is useful in  
the implementation of circular queues in operand memory.  
MAC status register (MACSR)—This 8-bit register denes conguration of the  
MAC unit and contains indicator ags affected by MAC instructions. Unless noted  
otherwise, MACSR indicator ag settings are based on the nal result, that is, the  
result of the nal operation involving the product and accumulator.  
2.2.2 Supervisor Programming Model  
The MCF5307 supervisor programming model is shown in Figure 2-3. Typically, system  
programmers use the supervisor programming model to implement operating system  
functions and provide memory and I/O control. The supervisor programming model  
provides access to the user registers and additional supervisor registers, which include the  
upper byte of the status register (SR), the vector base register (VBR), and registers for  
conguring attributes of the address space connected to the Version 3 processor core. Most  
supervisor-mode registers are accessed by using the MOVEC instruction with the control  
register denitions in Table 2-2.  
Table 2-2. MOVEC Register Map  
Rc[11–0]  
Register Definition  
Cache control register (CACR)  
0x002  
0x004  
0x005  
0x801  
0xC04  
0xC0F  
Access control register 0 (ACR0)  
Access control register 1 (ACR1)  
Vector base register (VBR)  
RAM base address register (RAMBAR)  
Module base address register (MBAR)  
2.2.2.1 Status Register (SR)  
The SR stores the processor status, the interrupt priority mask, and other control bits.  
Supervisor software can read or write the entire SR; user software can read or write only  
SR[7–0], described in Section 2.2.1.5, “Condition Code Register (CCR).” The control bits  
indicate processor states—trace mode (T), supervisor or user mode (S), and master or  
interrupt state (M). SR is set to 0x27xx after reset.  
Chapter 2. ColdFire Core  
2-29  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
gramming Model  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
System byte  
Condition code register (CCR)  
Field  
T
0
0
S
1
M
0
0
I
P
0
00  
R
X
N
Z
V
C
Reset  
111  
R/W  
R/W R/W  
R
R/W R/W  
R
R/W  
R/W R/W R/W R/W R/W  
Figure 2-5. Status Register (SR)  
Table 2-3 describes SR elds.  
Table 2-3. Status Field Descriptions  
Bits Name  
Description  
15  
T
S
Trace enable. When T is set, the processor performs a trace exception after every instruction.  
13  
Supervisor/user state. Indicates whether the processor is in supervisor or user mode  
0 User mode  
1 Supervisor mode  
12  
M
I
Master/interrupt state. Cleared by an interrupt exception. It can be set by software during execution  
of the RTE or move to SR instructions so the OS can emulate an interrupt stack pointer.  
10–8  
Interrupt priority mask. Defines the current interrupt priority. Interrupt requests are inhibited for all  
priority levels less than or equal to the current priority, except the edge-sensitive level-7 request,  
which cannot be masked.  
7–0  
CCR  
Condition code register. See Table 2-1.  
2.2.2.2 Vector Base Register (VBR)  
The VBR holds the base address of the exception vector table in memory. The displacement  
of an exception vector is added to the value in this register to access the vector table.  
VBR[19–0] are not implemented and are assumed to be zero, forcing the vector table to be  
aligned on a 0-modulo-1-Mbyte boundary.  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Field Exception vector table base address  
Reset 0000_0000_0000_0000_0000_0000_0000_0000  
R/W Written from a BDM serial command or from the CPU using the MOVEC instruction. VBR can be read from  
the debug module only. The upper 12 bits are returned, the low-order 20 bits are undefined.  
Rc[11–0]  
0x801  
Figure 2-6. Vector Base Register (VBR)  
2.2.2.3 Cache Control Register (CACR)  
The CACR controls operation of both the instruction and data cache memory. It includes  
bits for enabling, freezing, and invalidating cache contents. It also includes bits for dening  
the default cache mode and write-protect elds. See Section 4.10.1, “Cache Control  
Register (CACR).”  
2-30  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Integer Data Formats  
2.2.2.4 Access Control Registers (ACR0–ACR1)  
The access control registers (ACR0–ACR1) dene attributes for two user-dened memory  
regions. Attributes include denition of cache mode, write protect and buffer write enables.  
See Section 4.10.2, “Access Control Registers (ACR0–ACR1).”  
2.2.2.5 RAM Base Address Register (RAMBAR)  
The RAMBAR register determines the base address location of the internal SRAM module  
and indicates the types of references mapped to it. The RAMBAR includes a base address,  
write-protect bit, address space mask bits, and an enable. The RAM base address must be  
aligned on a 0-modulo-32-Kbyte boundary. See Section 4.4.1, “SRAM Base Address  
Register (RAMBAR).”  
2.2.2.6 Module Base Address Register (MBAR)  
The module base address register (MBAR) denes the logical base address for the  
memory-mapped space containing the control registers for the on-chip peripherals. See  
Section 6.2.2, “Module Base Address Register (MBAR).”  
2.3 Integer Data Formats  
Table 2-4 lists the integer operand data formats. Integer operands can reside in registers,  
memory, or instructions. The operand size for each instruction is either explicitly encoded  
in the instruction or implicitly dened by the instruction operation.  
Table 2-4. Integer Data Formats  
Operand Data Format  
Size  
Bit  
1 bit  
Byte integer  
8 bits  
Word integer  
Longword integer  
16 bits  
32 bits  
2.4 Organization of Data in Registers  
The following sections describe data organization within the data, address, and control  
registers.  
2.4.1 Organization of Integer Data Formats in Registers  
Figure 2-7 shows the integer format for data registers. Each integer data register is 32 bits  
wide. Byte and word operands occupy the lower 8- and 16-bit portions of integer data  
registers, respectively. Longword operands occupy the entire 32 bits of integer data  
registers. A data register that is either a source or destination operand only uses or changes  
the appropriate lower 8 or 16 bits in byte or word operations, respectively. The remaining  
Chapter 2. ColdFire Core  
2-31  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
anization of Data in Registers  
high-order portion does not change. The least signicant bit (lsb) of all integer sizes is zero,  
the most-signicant bit (msb) of a longword integer is 31, the msb of a word integer is 15,  
and the msb of a byte integer is 7.  
31  
30  
1
0
msb  
lsb Bit (0 bit number 31)  
31  
7
0
Not used  
msb Low order byte lsb Byte (8 bits)  
0
31  
15  
Not used  
msb  
Lower order word  
lsb Word (16 bits)  
31  
0
msb  
Longword  
lsb Longword (32 bits)  
Figure 2-7. Organization of Integer Data Formats in Data Registers  
The instruction set encodings do not allow the use of address registers for byte-sized  
operands. When an address register is a source operand, either the low-order word or the  
entire longword operand is used, depending on the operation size. Word-length source  
operands are sign-extended to 32 bits and then used in the operation with anaddress register  
destination. When an address register is a destination, the entire register is affected,  
regardless of the operation size. Figure 2-8 shows integer formats for address registers.  
31  
16  
15  
0
Sign-Extended  
16-Bit Address Operand  
31  
0
Full 32-Bit Address Operand  
Figure 2-8. Organization of Integer Data Formats in Address Registers  
The size of control registers varies according to function. Some have undened bits  
reserved for future denition by Motorola. Those particular bits read as zeros and must be  
written as zeros for future compatibility.  
All operations to the SR and CCR are word-size operations. For all CCR operations, the  
upper byte is read as all zeros and is ignored when written, regardless of privilege mode.  
2.4.2 Organization of Integer Data Formats in Memory  
All ColdFire processors use a big-endian addressing scheme. The byte-addressable  
organization of memory allows lower addresses to correspond to higher order bytes. The  
address N of a longword data item corresponds to the address of the high-order word. The  
lower order word is located at address N + 2. The address N of a word data item corresponds  
to the address of the high-order byte. The lower order byte is located at address N + 1. This  
2-32  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Addressing Mode Summary  
organization is shown in Figure 2-9.  
31  
23  
15  
7
0
Longword 0x0000_0000  
Word 0x0000_0000  
Word 0x0000_0002  
Byte 0x0000_0000  
Byte 0x0000_0001  
Byte 0x0000_0002  
Byte 0x0000_0003  
Longword 0x0000_0004  
Word 0x0000_0004  
Byte 0x0000_0004 Byte 0x0000_0005  
Word 0x0000_0006  
Byte 0x0000_0006 Byte 0x0000_0007  
.
.
.
Longword 0xFFFF_FFFC  
Word 0xFFFF_FFFC  
Byte 0xFFFF_FFFC Byte 0xFFFF_FFFD  
Word 0xFFFF_FFFE  
Byte 0xFFFF_FFFE Byte 0xFFFF_FFFF  
Figure 2-9. Memory Operand Addressing  
2.5 Addressing Mode Summary  
Addressing modes are categorized by how they are used. Data addressing modes refer to  
data operands. Memory addressing modes refer to memory operands. Alterable addressing  
modes refer to alterable (writable) data operands. Control addressing modes refer to  
memory operands without an associated size.  
These categories sometimes combine to form more restrictive categories. Two combined  
classications are alterable memory (both alterable and memory) and data alterable (both  
alterable and data). Twelve of the most commonly used effective addressing modes from  
the M68000 Family are available on ColdFire microprocessors. Table 2-5 summarizes  
these modes and their categories;  
Chapter 2. ColdFire Core  
2-33  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ruction Set Summary  
Table 2-5. ColdFire Effective Addressing Modes  
Category  
Control  
Mode  
Field  
Reg.  
Field  
Addressing Modes  
Syntax  
Data  
Memory  
Alterable  
Register direct  
Data  
Address  
Dn  
An  
000  
001  
reg. no.  
reg. no.  
X
X
X
Register indirect  
Address  
(An)  
(An)+  
–(An)  
010  
011  
100  
101  
reg. no.  
reg. no.  
reg. no.  
reg. no.  
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Address with  
Postincrement  
Address with  
Predecrement  
Address with  
Displacement  
(d , An)  
16  
Address register indirect with  
index  
(d , An,  
8
110  
reg. no.  
X
X
X
X
8-bit displacement  
Xi)  
Program counter indirect  
with displacement  
(d , PC)  
111  
111  
010  
011  
X
X
X
X
X
X
16  
Program counter indirect  
with index  
(d , PC,  
8
8-bit displacement  
Xi)  
Absolute data addressing  
Short  
Long  
(xxx).W  
(xxx).L  
111  
111  
000  
001  
X
X
X
X
X
X
Immediate  
#<xxx>  
111  
100  
X
X
2.6 Instruction Set Summary  
The ColdFire instruction set is a simplied version of the M68000 instruction set. The  
removed instructions include BCD, bit eld, logical rotate, decrement and branch, and  
integer multiply with a 64-bit result. Nine new MAC instructions have been added.  
Table 2-6 lists notational conventions used throughout this manual.  
Table 2-6. Notational Conventions  
Instruction  
Operand Syntax  
Opcode Wildcard  
Logical condition (example: NE for not equal)  
cc  
2-34  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Instruction Set Summary  
Table 2-6. Notational Conventions (Continued)  
Operand Syntax  
Instruction  
Register Specifications  
An  
Ay,Ax  
Dn  
Any address register n (example: A3 is address register 3)  
Source and destination address registers, respectively  
Any data register n (example: D5 is data register 5)  
Source and destination data registers, respectively  
Any control register (example VBR is the vector base register)  
MAC registers (ACC, MAC, MASK)  
Dy,Dx  
Rc  
Rm  
Rn  
Any address or data register  
Rw  
Destination register w (used for MAC instructions only)  
Any source and destination registers, respectively  
index register i (can be an address or data register: Ai, Di)  
Ry,Rx  
Xi  
Register Names  
ACC  
CCR  
MACSR  
MASK  
PC  
MAC accumulator register  
Condition code register (lower byte of SR)  
MAC status register  
MAC mask register  
Program counter  
SR  
Status register  
Port Name  
DDATA  
PST  
Debug data port  
Processor status port  
Miscellaneous Operands  
#<data>  
Í
Immediate data following the 16-bit operation word of the instruction  
Effective address  
<ea>y,<ea>x  
<label>  
<list>  
Source and destination effective addresses, respectively  
Assembly language program label  
List of registers for MOVEM instruction (example: D3–D0)  
Shift operation: shift left (<<), shift right (>>)  
<shift>  
<size>  
uc  
Operand data size: byte (B), word (W), longword (L)  
Unified cache  
# <vector>  
Identifies the 4-bit vector number for trap instructions  
identifies an indirect data address referencing memory  
identifies an absolute address referencing memory  
Signal displacement value, n bits wide (example: d16 is a 16-bit displacement)  
Scale factor (x1, x2, x4 for indexed addressing mode, <<1n>> for MAC operations)  
<xxx>  
dn  
SF  
Chapter 2. ColdFire Core  
2-35  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ruction Set Summary  
Table 2-6. Notational Conventions (Continued)  
Instruction  
Operand Syntax  
Operations  
+
Arithmetic addition or postincrement indicator  
Arithmetic subtraction or predecrement indicator  
Arithmetic multiplication  
x
/
Arithmetic division  
~
Invert; operand is logically complemented  
Logical AND  
&
|
Logical OR  
^
Logical exclusive OR  
<<  
Shift left (example: D0 << 3 is shift D0 left 3 bits)  
Shift right (example: D0 >> 3 is shift D0 right 3 bits)  
Source operand is moved to destination operand  
Two operands are exchanged  
>>  
←→  
sign-extended  
All bits of the upper portion are made equal to the high-order bit of the lower portion  
If <condition>  
then  
<operations>  
else  
Test the condition. If the condition is true, the operations in the then clause are performed. If the  
condition is false and the optional else clause is present, the operations in the else claue are  
performed. If the condition is false and the else clause is omitted, the instruction performs no  
operation. Refer to the Bcc instruction description as an example.  
<operations>  
Subfields and Qualifiers  
Optional operation  
{}  
()  
Identifies an indirect address  
d
Displacement value, n-bits wide (example: d is a 16-bit displacement)  
16  
n
Address  
Bit  
Calculated effective address (pointer)  
Bit selection (example: Bit 3 of D0)  
Least significant bit (example: lsb of D0)  
Least significant byte  
lsb  
LSB  
LSW  
msb  
Least significant word  
Most significant bit  
MSB  
MSW  
Most significant byte  
Most significant word  
Condition Code Register Bit Names  
2-36  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Instruction Set Summary  
Table 2-6. Notational Conventions (Continued)  
Instruction  
Operand Syntax  
P
C
N
V
X
Z
Branch prediction  
Carry  
Negative  
Overflow  
Extend  
Zero  
2.6.1 Instruction Set Summary  
Table 2-7 lists implemented user-mode instructions by opcode.  
Table 2-7. User-Mode Instruction Set Summary  
Instruction  
Operand Syntax  
Operand Size  
Operation  
ADD  
Dy,<ea>x  
<ea>y,Dx  
.L  
.L  
Source + destination destination  
ADDA  
ADDI  
ADDQ  
ADDX  
AND  
<ea>y,Ax  
.L  
.L  
.L  
.L  
Source + destination destination  
#<data>,Dx  
#<data>,<ea>x  
Dy,Dx  
Immediate data + destination destination  
Immediate data + destination destination  
Source + destination + X destination  
Source & destination destination  
Dy,<ea>x  
<ea>y,Dx  
.L  
.L  
ANDI  
ASL  
#<data>,Dx  
.L  
Immediate data & destination destination  
Dy,Dx  
#<data>,Dx  
.L  
.L  
X/C (Dx << Dy) 0  
X/C (Dx << #<data>) 0  
ASR  
Dy,Dx  
#<data>,Dx  
.L  
.L  
MSB (Dx >> Dy) X/C  
MSB (Dx >> #<data>) X/C  
Bcc  
<label>  
.B,.W  
If condition true, then PC + 2 + d PC  
n
BCHG  
Dy,<ea>x  
#<data>,<ea-1>x  
.B,.L  
.B,.L  
~(<bit number> of destination) Z,  
Bit of destination  
BCLR  
Dy,<ea>x  
#<data>,<ea-1>x  
.B,.L  
.B,.L  
~(<bit number> of destination) Z;  
0 bit of destination  
BRA  
<label>  
.B,.W  
PC + 2 + d PC  
n
BSET  
Dy,<ea>x  
#<data>,<ea-1>x  
.B,.L  
.B,.L  
~(<bit number> of destination) Z;  
1→ bit of destination  
BSR  
<label>  
.B,.W  
SP – 4 SP; next sequential PC(SP); PC + 2 + d PC  
n
BTST  
Dy,<ea>x  
#<data>,<ea-1>x  
.B,.L  
.B,.L  
~(<bit number> of destination) Z  
CLR  
<ea>y,Dx  
<ea>y,Ax  
<ea>y,Dx  
.B,.W,.L  
0 destination  
CMP  
CMPA  
.L  
.L  
Destination – source  
Destination – source  
Chapter 2. ColdFire Core  
2-37  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ruction Set Summary  
Table 2-7. User-Mode Instruction Set Summary (Continued)  
Instruction  
Operand Syntax  
Operand Size  
Operation  
Destination – immediate data  
CMPI  
DIVS  
<ea>y,Dx  
.L  
<ea-1>y,Dx  
<ea>y,Dx  
.W  
.L  
Dx /<ea>y Dx {16-bit remainder; 16-bit quotient}  
Dx /<ea>y Dx {32-bit quotient}  
Signed operation  
DIVU  
<ea-1>y,Dx  
Dy,<ea>x  
.W  
.L  
Dx /<ea>y Dx {16-bit remainder; 16-bit quotient}  
Dx /<ea>y Dx {32-bit quotient}  
Unsigned operation  
EOR  
EORI  
EXT  
Dy,<ea>x  
.L  
.L  
Source ^ destination destination  
#<data>,Dx  
#<data>,Dx  
Immediate data ^ destination destination  
Sign-extended destination destination  
.B .W  
.W .L  
EXTB  
Dx  
.B .L  
Unsized  
Unsized  
Unsized  
.L  
Sign-extended destination destination  
Enter halted state  
1
HALT  
None  
JMP  
JSR  
LEA  
LINK  
LSL  
<ea-3>y  
<ea-3>y  
<ea-3>y,Ax  
Ax,#<d16>  
Address of <ea> PC  
SP – 4 SP; next sequential PC (SP); <ea> PC  
<ea> Ax  
.W  
SP – 4 SP; Ax (SP); SP Ax; SP + d16 SP  
Dy,Dx  
#<data>,Dx  
.L  
.L  
X/C (Dx << Dy) 0  
X/C (Dx << #<data>) 0  
LSR  
Dy,Dx  
#<data>,Dx  
.L  
.L  
0 (Dx >> Dy) X/C  
0 (Dx >> #<data>) X/C  
MAC  
Ry,RxSF  
.L + (.W × .W) .L  
.L + (.L × .L) .L  
ACC + (Ry × Rx){<< 1 | >> 1} ACC  
ACC + (Ry × Rx){<< 1 | >> 1} ACC; (<ea>y{&MASK}) →  
Rw  
MACL  
MOVE  
Ry,RxSF,<ea-1>y,Rw .L + (.W × .W) .L, .L ACC + (Ry × Rx){<< 1 | >> 1} ACC  
.L + (.L × .L) .L, .L  
ACC + (Ry × Rx){<< 1 | >> 1} ACC; (<ea-1>y{&MASK})  
Rw  
<ea>y,<ea>x  
.B,.W,.L  
.L  
<ea>y <ea>x  
Rm Rx  
MOVE from MASK,Rx  
MAC  
ACC,Rx  
MACSR,Rx  
MACSR,CCR  
.L  
.L  
MACSR CCR  
Ry Rm  
MOVE to  
MAC  
Ry,ACC  
Ry,MACSR  
Ry,MASK  
#<data>,ACC  
#<data>,MACSR  
#<data>,MASK  
.L  
#<data> Rm  
CCR Dx  
MOVE from CCR,Dx  
CCR  
.W  
MOVE to  
CCR  
Dy,CCR  
#<data>,CCR  
.B  
Dy CCR  
#<data> CCR  
MOVEA  
<ea>y,Ax  
.W,.L .L  
Source destination  
2-38  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Instruction Set Summary  
Table 2-7. User-Mode Instruction Set Summary (Continued)  
Instruction  
Operand Syntax  
Operand Size  
Operation  
MOVEM  
#<list>,<ea-2>x  
<ea-2>y,#<list>  
.L  
.L  
Listed registers destination  
Source listed registers  
MOVEQ  
MSAC  
#<data>,Dx  
Ry,RxSF  
.B .L  
Sign-extended immediate data destination  
ACC – (Ry × Rx){<< 1 | >> 1} ACC  
.L - (.W × .W) .L  
.L - (.L × .L) .L  
MSACL  
MULS  
MULU  
Ry,RxSF,<ea-1>y,Rw .L - (.W × .W) .L, .L ACC – (Ry × Rx){<< 1 | >> 1} ACC;  
.L - (.L × .L) .L, .L  
(<ea-1>y{&MASK}) Rw  
<ea>y,Dx  
<ea>y,Dx  
.W X .W .L  
.L X .L .L  
Source × destination destination  
Signed operation  
.W X .W .L  
.L X .L .L  
Source × destination destination  
Unsigned operation  
NEG  
NEGX  
NOP  
NOT  
OR  
Dx  
.L  
0 – destination destination  
Dx  
.L  
0 – destination – X destination  
Synchronize pipelines; PC + 2 PC  
~ Destination destination  
none  
Dx  
Unsized  
.L  
.L  
<ea>y,Dx  
Dy,<ea>x  
Source | destination destination  
ORI  
#<data>,Dx  
<ea-3>y  
none  
.L  
Immediate data | destination destination  
SP – 4 SP; Address of <ea> (SP)  
Set PST= 0x4  
PEA  
.L  
PULSE  
REMS  
Unsized  
.L  
<ea-1>,Dx  
Dx/<ea>y Dw {32-bit remainder}  
Signed operation  
REMU  
<ea-1>,Dx  
.L  
Dx/<ea>y Dw {32-bit remainder}  
Unsigned operation  
RTS  
Scc  
none  
Dx  
Unsized  
.B  
(SP) PC; SP + 4 SP  
If condition true, then 1s destination;  
Else 0s destination  
SUB  
<ea>y,Dx  
Dy,<ea>x  
.L  
.L  
Destination – source destination  
SUBA  
SUBI  
<ea>y,Ax  
#<data>,Dx  
#<data>,<ea>x  
Dy,Dx  
.L  
Destination – source destination  
Destination – immediate data destination  
Destination – immediate data destination  
Destination – source – X destination  
MSW of Dx ←→ LSW of Dx  
.L  
SUBQ  
SUBX  
SWAP  
TRAP  
.L  
.L  
Dx  
.W  
#<vector>  
Unsized  
SP – 4 SP;PC (SP);  
SP – 2 SP;SR (SP);  
SP – 2 SP; format (SP);  
Vector address PC  
TRAPF  
None  
#<data>  
Unsized  
.W  
.L  
PC + 2 PC  
PC + 4 PC  
PC + 6 PC  
Chapter 2. ColdFire Core  
2-39  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ruction Timing  
Table 2-7. User-Mode Instruction Set Summary (Continued)  
Instruction  
Operand Syntax  
<ea>y  
Operand Size  
.B,.W,.L  
Operation  
TST  
Set condition codes  
UNLK  
WDDATA  
Ax  
Unsized  
.B,.W,.L  
Ax SP; (SP) Ax; SP + 4 SP  
<ea>y DDATA port  
<ea>y  
1
By default the HALT instruction is a supervisor-mode instruction; however, it can be configured to allow user-mode  
execution by setting CSR[UHE].  
Table 2-8 describes supervisor-mode instructions.  
Table 2-8. Supervisor-Mode Instruction Set Summary  
Instruction  
CPUSHL  
Operand Syntax Operand Size  
Operation  
(An)  
Unsized  
Invalidate instruction cache line  
Push and invalidate data cache line  
Push data cache line and invalidate (I,D)-cache lines  
1
HALT  
none  
Unsized  
.W  
Enter halted state  
SR Dx  
MOVE from SR  
MOVE to SR  
SR, Dx  
Dy,SR  
.W  
Source SR  
#<data>,SR  
MOVEC  
Ry,Rc  
.L  
Ry Rc  
Rc  
Register Definition  
0x002 Cache control register (CACR)  
0x004 Access control register 0 (ACR0)  
0x005 Access control register 1 (ACR1)  
0x006 Access control register 2 (ACR2)  
0x007 Access control register 3 (ACR3)  
0x801 Vector base register (VBR)  
0xC04 RAM base address register 0 (RAMBAR0)  
0xC05 RAM base address register 1 (RAMBAR1)  
RTE  
None  
Unsized  
.W  
(SP+2) SR; SP+4 SP; (SP) PC; SP + formatfield SP  
Immediate data SR; enter stopped state  
<ea-2>y debug module  
STOP  
#<data>  
<ea-2>y  
WDEBUG  
.L  
1
The HALT instruction can be configured to allow user-mode execution by setting CSR[UHE].  
2.7 Instruction Timing  
The timing data presented in this section assumes the following:  
The OEP is loaded with the opword and all required extension words at the  
beginning of each instruction execution. This implies that the OEP spends no time  
waiting for the IFP to supply opwords and/or extension words.  
The OEP experiences no sequence-related pipeline stalls. For the MCF5307, the  
most common example of this type of stall involves consecutive store operations,  
excluding the MOVEM instruction. For all store operations (except MOVEM),  
2-40  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Instruction Timing  
certain hardware resources within the processor are marked as “busy” for two clock  
cycles after the nal DSOC cycle of the store instruction. If a subsequent store  
instruction is encountered within this two-cycle window, it is stalled until the  
resource again becomes available. Thus, the maximum pipeline stall involving  
consecutive store operations is two cycles.  
The OEP can complete all memory accesses without memory causing any stall  
conditions. Thus, timing details in this section assume an innite zero-wait state  
memory attached to the core.  
All operand data accesses are assumed to be aligned on the same byte boundary as  
the operand size:  
— 16-bit operands aligned on 0-modulo-2 addresses  
— 32-bit operands aligned on 0-modulo-4 addresses  
Operands that do not meet these guidelines are misaligned. Table 2-9 shows how the  
core decomposes a misaligned operand reference into a series of aligned accesses.  
Table 2-9. Misaligned Operand References  
1
A[1:0]  
Size  
Bus Operations  
Byte, Byte  
Additional C(R/W)  
x1  
Word  
2(1/0) if read  
1(0/1) if write  
x1  
10  
Long  
Long  
Byte, Word, Byte  
Word, Word  
3(2/0) if read  
2(0/2) if write  
2(1/0) if read  
1(0/1) if write  
1
Each timing entry is presented as C(r/w), described as follows:  
C is the number of processor clock cycles, including all applicable operand fetches and writes, as  
well as all internal core cycles required to complete the instruction execution.  
r/w is the number of operand reads (r) and writes (w) required by the instruction. An operation  
performing a read-modify write function is denoted as (1/1).  
2.7.1 MOVE Instruction Execution Times  
The execution times for the MOVE.{B,W,L} instructions are shown in the next tables.  
Table 2-12 shows the timing for the other generic move operations.  
NOTE:  
For all tables in this chapter, the execution time of any  
instruction using the PC-relative effective addressing modes is  
equivalent to the time using comparable An-relative mode.  
ET with {<ea> = (d16,PC)} equals ET with {<ea> = (d16,An)}  
ET with {<ea> = (d8,PC,Xi*SF)} equals ET with {<ea> = (d8,An,Xi*SF)}  
The nomenclature “(xxx).wl” refers to both forms of absolute  
addressing, (xxx).w and (xxx).l.  
Chapter 2. ColdFire Core  
2-41  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ruction Timing  
Table 2-10 lists execution times for MOVE.{B,W} instructions.  
Table 2-10. Move Byte and Word Execution Times  
Destination  
Source  
Rx  
(Ax)  
(Ax)+  
-(Ax)  
(d16,Ax)  
(d8,Ax,Xi*SF)  
(xxx).wl  
Dy  
Ay  
1(0/0)  
1(0/0)  
4(1/0)  
4(1/0)  
4(1/0)  
4(1/0)  
5(1/0)  
4(1/0)  
4(1/0)  
4(1/0)  
5(1/0)  
1(0/0)  
1(0/1)  
1(0/1)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
2(0/1)  
1(0/1)  
1(0/1)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
2(0/1)  
1(0/1)  
1(0/1)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
2(0/1)  
1(0/1)  
1(0/1)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
2(0/1)  
2(0/1)  
5(1/1)  
5(1/1)  
5(1/1)  
1(0/1)  
1(0/1)  
4(1/1)  
4(1/1)  
4(1/1)  
(Ay)  
(Ay)+  
-(Ay)  
(d16,Ay)  
(d8,Ay,Xi*SF)  
(xxx).w  
(xxx).l  
(d16,PC)  
(d8,PC,Xi*SF)  
#<xxx>  
4(1/1)  
Table 2-11 lists timings for MOVE.L.  
Table 2-11. Move Long Execution Times  
Destination  
Source  
Rx  
(Ax)  
(Ax)+  
-(Ax)  
(d16,Ax)  
(d8,Ax,Xi*SF)  
(xxx).wl  
Dy  
Ay  
1(0/0)  
1(0/0)  
3(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
4(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
4(1/0)  
1(0/0)  
1(0/1)  
1(0/1)  
3(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
4(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
4(1/1)  
2(0/1)  
1(0/1)  
1(0/1)  
3(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
4(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
4(1/1)  
2(0/1)  
1(0/1)  
1(0/1)  
3(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
4(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
4(1/1)  
2(0/1)  
1(0/1)  
1(0/1)  
3(1/1)  
3(1/1)  
3(1/1)  
3(1/1)  
2(0/1)  
2(0/1)  
4(1/1)  
4(1/1)  
4(1/1)  
1(0/1)  
1(0/1)  
3(1/1)  
3(1/1)  
3(1/1)  
(Ay)  
(Ay)+  
-(Ay)  
(d16,Ay)  
(d8,Ay,Xi*SF)  
(xxx).w  
(xxx).l  
(d16,PC)  
(d8,PC,Xi*SF)  
#<xxx>  
3(1/1)  
Table 2-12 gives execution times for MOVE.L instructions accessing program-visible  
registers of the MAC unit, along with other MOVE.L timings. Execution times for moving  
contents of the ACC or MACSR into a destination location represent the best-case scenario  
when the store instruction is executed and there are no load or MAC or MSAC instruction  
2-42  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
in the MAC execution pipeline.  
Instruction Timing  
Table 2-12. MAC Move Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An)  
(d16,An) (d8,An,Xi*SF) (xxx).wl  
#<xxx>  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
<ea>,ACC  
<ea>,MACSR  
<ea>,MASK  
ACC,Rx  
1(0/0)  
2(0/0)  
1(0/0)  
3(0/0)  
3(0/0)  
3(0/0)  
3(0/0)  
1(0/0)  
2(0/0)  
1(0/0)  
MACSR,CCR  
MACSR,Rx  
MASK,Rx  
2.7.2 Execution Timings—One-Operand Instructions  
Table 2-13 shows standard timings for single-operand instructions.  
Table 2-13. One-Operand Instruction Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
1(0/1)  
(An)+  
1(0/1)  
-(An)  
1(0/1)  
(d16,An) (d8,An,Xi*SF) (xxx).wl  
#xxx  
clr.b  
clr.w  
clr.l  
Í
Í
Í
1(0/0)  
1(0/0)  
1(0/0)  
1(0/1)  
1(0/1)  
1(0/1)  
2(0/1)  
2(0/1)  
2(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
1(0/1)  
ext.w  
ext.l  
Dx  
Dx  
Dx  
Dx  
Dx  
Dx  
Dx  
Dx  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
extb.l  
neg.l  
negx.l  
not.l  
scc  
swap  
tst.b  
tst.w  
tst.l  
Í
Í
Í
1(0/0)  
4(1/0)  
4(1/0)  
3(1/0)  
4(1/0)  
4(1/0)  
3(1/0)  
4(1/0)  
4(1/0)  
3(1/0)  
4(1/0)  
4(1/0)  
3(1/0)  
5(1/0)  
5(1/0)  
4(1/0)  
4(1/0)  
4(1/0)  
3(1/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
2.7.3 Execution Timings—Two-Operand Instructions  
Table 2-14 shows standard timings for two-operand instructions.  
Chapter 2. ColdFire Core  
2-43  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ruction Timing  
Table 2-14. Two-Operand Instruction Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An) (d16,An) (d8,An,Xi*SF) (xxx).wl  
#<xxx>  
add.l  
add.l  
addi.l  
addq.l  
addx.l  
and.l  
and.l  
andi.l  
asl.l  
<ea>,Rx  
Dy,<ea>  
#imm,Dx  
#imm,<ea>  
Dy,Dx  
1(0/0)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
5(1/0)  
5(1/1)  
4(1/0)  
4(1/1)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
4(1/1)  
<ea>,Rx  
Dy,<ea>  
#imm,Dx  
<ea>,Dx  
<ea>,Dx  
Dy,<ea>  
#imm,<ea>  
Dy,<ea>  
#imm,<ea>  
Dy,<ea>  
#imm,<ea>  
Dy,<ea>  
#imm,<ea>  
<ea>,Rx  
#imm,Dx  
<ea>,Dx  
<ea>,Dx  
<ea>,Dx  
<ea>,Dx  
Dy,<ea>  
#imm,Dx  
<ea>,Ax  
<ea>,Dx  
<ea>,Dx  
Ry,Rx  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
5(1/0)  
5(1/1)  
4(1/0)  
4(1/1)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
2(0/0)  
2(0/0)  
2(0/0)  
2(0/0)  
2(0/0)  
2(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
asr.l  
bchg  
bchg  
bclr  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
4(1/0)  
4(1/0)  
4(1/0)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
4(1/0)  
4(1/0)  
4(1/0)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
4(1/0)  
4(1/0)  
4(1/0)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
5(1/1)  
4(1/0)  
4(1/0)  
4(1/0)  
6(1/1)  
5(1/1)  
6(1/1)  
5(1/1)  
bclr  
bset  
6(1/1)  
5(1/1)  
bset  
btst  
5(1/0)  
4(1/0)  
btst  
cmp.l  
cmpi.l  
divs.w  
divu.w  
divs.l  
divu.l  
eor.l  
5(1/0)  
4(1/0)  
1(0/0)  
20(0/0) 23(1/0) 23(1/0) 23(1/0) 23(1/0)  
20(0/0) 23(1/0) 23(1/0) 23(1/0) 23(1/0)  
35(0/0) 35(1/0) 35(1/0) 35(1/0) 35(1/0)  
35(0/0) 35(1/0) 35(1/0) 35(1/0) 35(1/0)  
24(1/0)  
24(1/0)  
23(1/0)  
23(1/0)  
20(0/0)  
20(0/0)  
1(0/0)  
1(0/0)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
4(1/1)  
eori.l  
lea  
1(0/0)  
1(0/0)  
2(0/0)  
1(0/0)  
lsl.l  
1(0/0)  
1(0/0)  
1(0/0)  
3(0/0)  
1(0/0)  
3(0/0)  
1(0/0)  
1(0/0)  
lsr.l  
mac.w  
mac.l  
msac.w  
msac.l  
mac.w  
Ry,Rx  
Ry,Rx  
Ry,Rx  
Ry,Rx,ea,Rw  
3(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
2-44  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Instruction Timing  
Table 2-14. Two-Operand Instruction Execution Times (Continued)  
Effective Address  
-(An) (d16,An) (d8,An,Xi*SF) (xxx).wl  
Opcode  
Í
Rn  
(An)  
(An)+  
#<xxx>  
mac.l  
moveq  
msac.w  
msac.l  
muls.w  
mulu.w  
muls.l  
mulu.l  
or.l  
Ry,Rx,ea,Rw  
#imm,Dx  
Ry,Rx,ea,Rw  
Ry,Rx,ea,Rw  
<ea>,Dx  
<ea>,Dx  
<ea>,Dx  
<ea>,Dx  
<ea>,Rx  
Dy,<ea>  
5(1/0)  
5(1/0)  
5(1/0)  
5(1/0)  
1(0/0)  
3(1/0)  
5(1/0)  
6(1/0)  
6(1/0)  
8(1/0)  
8(1/0)  
4(1/0)  
4(1/1)  
3(1/0)  
5(1/0)  
6(1/0)  
6(1/0)  
8(1/0)  
8(1/0)  
4(1/0)  
4(1/1)  
3(1/0)  
5(1/0)  
6(1/0)  
6(1/0)  
8(1/0)  
8(1/0)  
4(1/0)  
4(1/1)  
3(1/0)  
5(1/0)  
6(1/0)  
6(1/0)  
8(1/0)  
8(1/0)  
4(1/0)  
4(1/1)  
3(0/0)  
3(0/0)  
5(0/0)  
5(0/0)  
1(0/0)  
7(1/0)  
7(1/0)  
6(1/0)  
6(1/0)  
3(0/0)  
3(0/0)  
5(1/0)  
5(1/1)  
4(1/0)  
4(1/1)  
1(0/0)  
or.l  
or.l  
#imm,Dx  
<ea>,Dx  
<ea>,Dx  
<ea>,Rx  
Dy,<ea>  
1(0/0)  
rems.l  
remu.l  
sub.l  
35(0/0) 35(1/0) 35(1/0) 35(1/0) 35(1/0)  
35(0/0) 35(1/0) 35(1/0) 35(1/0) 35(1/0)  
1(0/0)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
4(1/0)  
4(1/1)  
5(1/0)  
5(1/1)  
4(1/0)  
4(1/1)  
1(0/0)  
sub.l  
subi.l  
subq.l  
subx.l  
#imm,Dx  
#imm,<ea>  
Dy,Dx  
1(0/0)  
1(0/0)  
1(0/0)  
4(1/1)  
4(1/1)  
4(1/1)  
4(1/1)  
5(1/1)  
4(1/1)  
2.7.4 Miscellaneous Instruction Execution Times  
Table 2-15 lists timings for miscellaneous instructions.  
Table 2-15. Miscellaneous Instruction Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An)  
(d16,An) (d8,An,Xi*SF) (xxx).wl  
#<xxx>  
cpushl  
link.w  
(Ax)  
2(0/1)  
1(0/0)  
1(0/0)  
1(0/0)  
9(0/0)  
11(0/1)  
11(0/1)  
Ay,#imm  
CCR,Dx  
<ea>,CCR  
SR,Dx  
move.w  
move.w  
move.w  
move.w  
movec  
1(0/0)  
1
<ea>,SR  
Ry,Rc  
9(0/0)  
2
movem.l  
movem.l  
<ea>,&list  
&list,<ea>  
2+n(n/0)  
2+n(0/n)  
2+n(n/0)  
2+n(0/n)  
Chapter 2. ColdFire Core  
2-45  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ruction Timing  
Table 2-15. Miscellaneous Instruction Execution Times (Continued)  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An)  
(d16,An) (d8,An,Xi*SF) (xxx).wl  
#<xxx>  
nop  
pea  
3(0/0)  
3(0/1)  
2(0/1)  
3
4
Í
2(0/1)  
2(0/1)  
pulse  
stop  
1(0/0)  
5
#imm  
#imm  
3(0/0)  
trap  
18(1/2)  
trapf  
1(0/0)  
1(0/0)  
1(0/0)  
3(1/0)  
trapf.w  
trapf.l  
unlk  
Ax  
wddata.l  
wdebug.l  
Í
Í
7(1/0)  
10(2/0)  
7(1/0) 7(1/0)  
7(1/0)  
10(2/0)  
8(1/0)  
7(1/0)  
1
2
3
4
5
If a MOVE.W #imm,SR instruction is executed and #imm[13] = 1, the execution time is 1(0/0).  
n is the number of registers moved by the MOVEM opcode.  
PEA execution times are the same for (d16,PC).  
PEA execution times are the same for (d8,PC,Xi*SF).  
The execution time for STOP is the time required until the processor begins sampling continuously for  
interrupts.  
2.7.5 Branch Instruction Execution Times  
Table 2-16 shows general branch instruction timing.  
Table 2-16. General Branch Instruction Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An)  
(d16,An) (d8,An,Xi*SF)  
(xxx).wl  
#<xxx>  
1
bra  
bsr  
jmp  
jsr  
1(0/1)  
1(0/1)  
1
1
1
Í
Í
5(0/0)  
5(0/1)  
5(0/0)  
5(0/1)  
6(0/0)  
1(0/0)  
1
6(0/1)  
1(0/1)  
rte  
rts  
14(2/0)  
8(1/0)  
1
Assumes branch acceleration. Depending on the pipeline status, execution times may vary from 1 to 3 cycles.  
For the conditional branch opcodes (bcc), a static algorithm is used to determine the  
prediction state of the branch. This algorithm is:  
if bcc is a forward branch && CCR[7] == 0  
then the bcc is predicted as not-taken  
2-46  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Exception Processing Overview  
if bcc is a forward branch && CCR[7] == 1  
then the bcc is predicted as taken  
else if bcc is a backward branch  
then the bcc is predicted as taken  
Table 2-17 shows timing for Bcc instructions.  
Table 2-17. Bcc Instruction Execution Times  
Predicted  
Correctly as Not  
Taken  
Predicted  
Correctly as Taken  
Predicted  
Incorrectly  
Opcode  
bcc  
1(0/0)  
1(0/0)  
5(0/0)  
2.8 Exception Processing Overview  
Exception processing for ColdFire processors is streamlined for performance. Differences  
from previous M68000 Family processors include the following:  
A simplied exception vector table  
Reduced relocation capabilities using the vector base register  
A single exception stack frame format  
Use of a single, self-aligning system stack pointer  
ColdFire processors use an instruction restart exception model but require more software  
support to recover from certain access errors. See Table 2-18 for details.  
Exception processing can be dened as the time from the detection of the fault condition  
until the fetch of the rst handler instruction has been initiated. It is comprised of the  
following four major steps:  
1. The processor makes an internal copy of the SR and then enters supervisor mode by  
setting SR[S] and disabling trace mode by clearing SR[T]. The occurrence of an  
interrupt exception also forces SR[M] to be cleared and the interrupt priority mask  
to be set to the level of the current interrupt request.  
2. The processor determines the exception vector number. For all faults except  
interrupts, the processor performs this calculation based on the exception type. For  
interrupts, the processor performs an interrupt-acknowledge (IACK) bus cycle to  
obtain the vector number from a peripheral device. The IACK cycle is mapped to a  
special acknowledge address space with the interrupt level encoded in the address.  
3. The processor saves the current context by creating an exception stack frame on the  
system stack. ColdFire processors support a single stack pointer in the A7 address  
register; therefore, there is no notion of separate supervisor and user stack pointers.  
As a result, the exception stack frame is created at a 0-modulo-4 address on the top  
of the current system stack. Additionally, the processor uses a simplied  
Chapter 2. ColdFire Core  
2-47  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
eption Processing Overview  
xed-length stack frame for all exceptions. The exception type determines whether  
the program counter in the exception stack frame denes the address of the faulting  
instruction (fault) or of the next instruction to be executed (next).  
4. The processor acquires the address of the rst instruction of the exception handler.  
The exception vector table is aligned on a 1-Mbyte boundary. This instruction  
address is obtained by fetching a value from the table at the address dened in the  
vector base register. The index into the exception table is calculated as  
4 x vector_number. When the index value is generated, the vector table contents  
determine the address of the rst instruction of the desired handler. After the fetch  
of the rst opcode of the handler is initiated, exception processing terminates and  
normal instruction processing continues in the handler.  
ColdFire processors support a 1024-byte vector table aligned on any 1-Mbyte address  
boundary; see Table 2-18. The table contains 256 exception vectors where the rst 64 are  
dened by Motorola; the remaining 192 are user-dened interrupt vectors.  
Table 2-18. Exception Vector Assignments  
1
Vector Numbers  
Vector Offset (Hex)  
Stacked Program Counter  
Assignment  
Initial stack pointer  
0
1
000  
004  
Initial program counter  
Access error  
2
008  
Fault  
Fault  
Fault  
Fault  
3
00C  
Address error  
4
010  
Illegal instruction  
Divide by zero  
5
014  
6–7  
8
018–01C  
020  
Reserved  
Fault  
Next  
Fault  
Fault  
Next  
Privilege violation  
Trace  
9
024  
10  
028  
Unimplemented line-a opcode  
Unimplemented line-f opcode  
Debug interrupt  
11  
02C  
12  
030  
13  
034  
Reserved  
14  
038  
Fault  
Next  
Format error  
15  
03C  
Uninitialized interrupt  
Reserved  
16–23  
24  
040–05C  
060  
Next  
Next  
Next  
Spurious interrupt  
Level 1–7 autovectored interrupts  
Trap #0–15 instructions  
Reserved  
25–31  
32–47  
48–60  
61  
064–07C  
080–0BC  
0C0–0F0  
0F4  
Fault  
Unsupported instruction  
2-48  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Exception Processing Overview  
Table 2-18. Exception Vector Assignments (Continued)  
1
Vector Numbers  
Vector Offset (Hex)  
Stacked Program Counter  
Assignment  
62–63  
0F8–0FC  
100–3FC  
Reserved  
User-defined interrupts  
64–255  
Next  
1
The term ‘fault’ refers to the PC of the instruction that caused the exception. The term ‘next’ refers to the PC  
of the instruction that immediately follows the instruction that caused the fault.  
ColdFire processors inhibit sampling for interrupts during the rst instruction of all  
exception handlers. This allows any handler to effectively disable interrupts, if necessary,  
by raising the interrupt mask level contained in the status register.  
2.8.1 Exception Stack Frame Definition  
The exception stack frame is shown in Figure 2-10. The rst longword of the exception  
stack frame contains the 16-bit format/vector word (F/V) and the 16-bit status register. The  
second longword contains the 32-bit program counter address.  
31  
28 27  
26  
25  
18 17  
16 15  
0
A7→  
Format  
FS[3–2]  
Vector[7–0]  
FS[1–0]  
Status Register  
+ 0x04  
Program Counter [31–0]  
Figure 2-10. Exception Stack Frame Form  
The 16-bit format/vector word contains three unique elds:  
Format eld—This 4-bit eld at the top of the system stack is always written with a  
value of {4,5,6,7} by the processor indicating a 2-longword frame format. See  
Table 2-19. This eld records any longword misalignment of the stack pointer that  
may have existed when the exception occurred.  
Table 2-19. Format Field Encoding  
Original A7 at Time of  
Exception, Bits 1–0  
A7 at First Instruction of  
Handler  
Format Field Bits  
31–28  
00  
01  
10  
11  
Original A[7–8]  
Original A[7–9]  
Original A[7–10]  
Original A[7–11]  
0100  
0101  
0110  
0111  
Fault status eld—The 4-bit eld, FS[3–0], at the top of the system stack is dened  
for access and address errors along with interrupted debug service routines. See  
Table 2-20.  
Chapter 2. ColdFire Core  
2-49  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
eption Processing Overview  
Table 2-20. Fault Status Encodings  
FS[3–0]  
Definition  
0000  
0001-001x  
0100  
Not an access or address error  
Reserved  
Error on instruction fetch  
Reserved  
0101–011x  
1000  
Error on operand write  
Attempted write to write-protected space  
Reserved  
1001  
101x  
1100  
Error on operand read  
Reserved  
1101–111x  
Vector number—This 8-bit eld, vector[7–0], denes the exception type. It is  
calculated by the processor for internal faults and is supplied by the peripheral for  
interrupts. See Table 2-18.  
2.8.2 Processor Exceptions  
Table 2-21 describes MCF5307 exceptions.  
Table 2-21. MCF5307 Exceptions  
Exception  
Description  
Access Error Access errors are reported only in conjunction with an attempted store to write-protected memory.  
Thus, access errors associated with instruction fetch or operand read accesses are not possible.  
Address  
Error  
Caused by an attempted execution transferring control to an odd instruction address (that is, if bit 0 of  
the target address is set), an attempted use of a word-sized index register (Xi.w) or a scale factor of  
8 on an indexed effective addressing mode, or attempted execution of an instruction with a full-format  
indexed addressing mode.  
Illegal  
Instruction  
On Version 2 ColdFire implementations, only some illegal opcodes were decoded and generated an  
illegal instruction exception. The Version 3 processor decodes the full 16-bit opcode and generates  
this exception if execution of an unsupported instruction is attempted. Additionally, attempting to  
execute an illegal line A or line F opcode generates unique exception types: vectors 10 and 11,  
respectively.  
ColdFire processors do not provide illegal instruction detection on extension words of any instruction,  
including MOVEC. Attempting to execute an instruction with an illegal extension word causes  
undefined results.  
Divide by  
Zero  
Attempted division by zero causes an exception (vector 5, offset = 0x014) except when the PC points  
to the faulting instruction (DIVU, DIVS, REMU, REMS).  
Privilege  
Violation  
Caused by attempted execution of a supervisor mode instruction while in user mode. The ColdFire  
Programmer’s Reference Manual lists supervisor- and user-mode instructions.  
2-50  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Exception Processing Overview  
Table 2-21. MCF5307 Exceptions (Continued)  
Exception  
Description  
Trace  
Exception  
ColdFire processors provide instruction-by-instruction tracing. While the processor is in trace mode  
(SR[T] = 1), instruction completion signals a trace exception. This allows a debugger to monitor  
program execution.  
The only exception to this definition is the STOP instruction. If the processor is in trace mode, the  
instruction before the STOP executes and then generates a trace exception. In the exception stack  
frame, the PC points to the STOP opcode. When the trace handler is exited, the STOP instruction is  
executed, loading the SR with the immediate operand from the instruction. The processor then  
generates a trace exception. The PC in the exception stack frame points to the instruction after  
STOP, and the SR reflects the just-loaded value.  
If the processor is not in trace mode and executes a STOP instruction where the immediate operand  
sets the trace bit in the SR, hardware loads the SR and generates a trace exception. The PC in the  
exception stack frame points to the instruction after STOP, and the SR reflects the just-loaded value.  
Because ColdFire processors do not support hardware stacking of multiple exceptions, it is the  
responsibility of the operating system to check for trace mode after processing other exception types.  
As an example, consider a TRAP instruction executing in trace mode. The processor initiates the  
TRAP exception and passes control to the corresponding handler. If the system requires that a trace  
exception be processed, the TRAP exception handler must check for this condition (SR[15] in the  
exception stack frame asserted) and pass control to the trace handler before returning from the  
original exception.  
Debug  
Interrupt  
Caused by a hardware breakpoint register trigger. Rather than generating an IACK cycle, the  
processor internally calculates the vector number (12). Additionally, the M bit and the interrupt priority  
mask fields of the SR are unaffected by the interrupt. See Section 2.2.2.1, “Status Register (SR).”  
RTE and  
When an RTE instruction executes, the processor first examines the 4-bit format field to validate the  
Format Error frame type. For a ColdFire processor, any attempted execution of an RTE where the format is not  
Exceptions  
equal to {4,5,6,7} generates a format error. The exception stack frame for the format error is created  
without disturbing the original exception frame and the stacked PC points to RTE.The selection of the  
format value provides limited debug support for porting code from M68000 applications. On M68000  
Family processors, the SR was at the top of the stack. Bit 30 of the longword addressed by the  
system stack pointer is typically zero; so, attempting an RTE using this old format generates a format  
error on a ColdFire processor.  
If the format field defines a valid type, the processor does the following:  
1 Reloads the SR operand.  
2 Fetches the second longword operand.  
3 Adjusts the stack pointer by adding the format value to the auto-incremented address after the first  
longword fetch.  
4 Transfers control to the instruction address defined by the second longword operand in the stack  
frame.  
TRAP  
Executing TRAP always forces an exception and is useful for implementing system calls. The trap  
instruction may be used to change from user to supervisor mode.  
Interrupt  
Exception  
Interrupt exception processing, with interrupt recognition and vector fetching, includes uninitialized  
and spurious interrupts as well as those where the requesting device supplies the 8-bit interrupt  
vector. Autovectoring may optionally be configured through the system interface module (SIM). See  
Section 9.2.2, “Autovector Register (AVR).”  
Chapter 2. ColdFire Core  
2-51  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
eption Processing Overview  
Table 2-21. MCF5307 Exceptions (Continued)  
Exception  
Description  
Reset  
Exception  
Asserting the reset input signal (RSTI) causes a reset exception. Reset has the highest exception  
priority; it provides for system initialization and recovery from catastrophic failure. When assertion of  
RSTI is recognized, current processing is aborted and cannot be recovered. The reset exception  
places the processor in supervisor mode by setting SR[S] and disables tracing by clearing SR[T].  
This exception also clears SR[M] and sets the processor’s interrupt priority mask in the SR to the  
highest level (level 7). Next, the VBR is initialized to 0x0000_0000. Configuration registers controlling  
the operation of all processor-local memories (cache and RAM modules on the MCF5307) are  
invalidated, disabling the memories.  
Note: Other implementation-specific supervisor registers are also affected. Refer to each of the  
modules in this manual for details on these registers.  
After RSTI is negated, the processor waits 80 cycles before beginning the actual reset exception  
process. During this time, certain events are sampled, including the assertion of the debug  
breakpoint signal. If the processor is not halted, it initiates the reset exception by performing two  
longword read bus cycles. The longword at address 0 is loaded into the stack pointer and the  
longword at address 4 is loaded into the PC. After the initial instruction is fetched from memory,  
program execution begins at the address in the PC. If an access error or address error occurs before  
the first instruction executes, the processor enters the fault-on-fault halted state.  
Unsupported If the MCF5307 attempts to execute a valid instruction but the required optional hardware module is  
Instruction  
Exception  
not present in the OEP, a non-supported instruction exception is generated (vector 0x61). Control is  
then passed to an exception handler that can then process the opcode as required by the system.  
If a ColdFire processor encounters any type of fault during the exception processing of  
another fault, the processor immediately halts execution with the catastrophic fault-on-fault  
condition. A reset is required to force the processor to exit this halted state.  
2-52  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 3  
Hardware Multiply/Accumulate (MAC)  
Unit  
This chapter describes the MCF5307 multiply/accumulate (MAC) unit, which executes  
integer multiply, multiply-accumulate, and miscellaneous register instructions. The MAC  
is integrated into the operand execution pipeline (OEP).  
3.1 Overview  
The MAC unit provides hardware support for a limited set of digital signal processing  
(DSP) operations used in embedded code, while supporting the integer multiply  
instructions in the ColdFire microprocessor family.  
The MAC unit provides signal processing capabilities for the MCF5307 in a variety of  
applications including digital audio and servo control. Integrated as an execution unit in the  
processor’s OEP, the MAC unit implements a three-stage arithmetic pipeline optimized for  
16 x 16 multiplies. Both 16- and 32-bit input operands are supported by this design in  
addition to a full set of extensions for signed and unsigned integers plus signed, xed-point  
fractional input operands.  
The MAC unit provides functionality in three related areas:  
Signed and unsigned integer multiplies  
Multiply-accumulate operations supporting signed, unsigned, and signed fractional  
operands  
Miscellaneous register operations  
Each of the three areas of support is addressed in detail in the succeeding sections. Logic  
that supports this functionality is contained in a MAC module, as shown in Figure 3-1.  
The MAC unit is tightly coupled to the OEP and features a three-stage execution pipeline.  
To minimize silicon costs, the ColdFire MAC is optimized for 16 x 16 multiply  
instructions. The OEP can issue a 16 x 16 multiply with a 32-bit accumulation and fetch a  
32-bit operand in the same cycle. A 32 x 32 multiply with a 32-bit accumulation takes three  
cycles before the next instruction can be issued. Figure 3-1 shows the basic functionality of  
the ColdFire MAC. A full set of instructions is provided for signed and unsigned integers  
plus signed, xed-point, fractional input operands.  
Chapter 3. Hardware Multiply/Accumulate (MAC) Unit  
3-1  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
rview  
Operand Y  
Operand X  
X
Shift 0,1,-1  
+/-  
Accumulator  
Figure 3-1. ColdFire MAC Multiplication and Accumulation  
The MAC unit is an extension of the basic multiplier found on most microprocessors. It can  
perform operations native to signal processing algorithms in an acceptable number of  
cycles, given the application constraints. For example, small digital lters can tolerate some  
variance in the execution time of the algorithm; larger, more complicated algorithms such  
as orthogonal transforms may have more demanding speed requirements exceeding the  
scope of any processor architecture and requiring a fully developed DSP implementation.  
The M68000 architecture was not designed for high-speed signal processing, and a large  
DSP engine would be excessive in an embedded environment. In striking a middle ground  
between speed, size, and functionality, the ColdFire MAC unit is optimized for a small set  
of operations that involve multiplication and cumulative additions. Specically, the  
multiplier array is optimized for single-cycle, 16 x 16 multiplies producing a 32-bit result,  
with a possible accumulation cycle following. This is common in a large portion of signal  
processing applications. In addition, the ColdFire core architecture has been modied to  
allow for an operand fetch in parallel with a multiply, increasing overall performance for  
certain DSP operations.  
3.1.1 MAC Programming Model  
Figure 3-2 shows the registers in the MAC portion of the user programming model.  
31  
0
MACSR  
ACC  
MASK  
MAC status register  
MAC accumulator  
MAC mask register  
Figure 3-2. MAC Programming Model  
3-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
These registers are described as follows:  
Overview  
Accumulator (ACC)—This 32-bit, read/write, general-purpose register is used to  
accumulate the results of MAC operations.  
Mask register (MASK)—This 16-bit general-purpose register provides an optional  
address mask for MAC instructions that fetch operands from memory. It is useful in  
the implementation of circular queues in operand memory.  
MAC status register (MACSR)—This 8-bit register denes conguration of the  
MAC unit and contains indicator ags affected by MAC instructions. Unless noted  
otherwise, the setting of MACSR indicator ags is based on the nal result, that is,  
the result of the nal operation involving the product and accumulator.  
3.1.2 General Operation  
The MAC unit supports the ColdFire integer multiply instructions (MULS and MULU) and  
provides additional functionality for multiply-accumulate operations. The added MAC  
instructions to the ColdFire ISA provide for the multiplication of two numbers, followed  
by the addition or subtraction of this number to or from the value contained in the  
accumulator. The product may be optionally shifted left or right one bit before the addition  
or subtraction takes place. Hardware support for saturation arithmetic may be enabled to  
minimize software overhead when dealing with potential overow conditions using signed  
or unsigned operands.  
These MAC operations treat the operands as one of the following formats:  
Signed integers  
Unsigned integers  
Signed, xed-point, fractional numbers  
To maintain compactness, the MAC module is optimized for 16-bit multiplications. Two  
16-bit operands produce a 32-bit product. Longword operations are performed by reusing  
the 16-bit multiplier array at the expense of a small amount of extra control logic. Again,  
the product of two 32-bit operands is a 32-bit result. For longword integer operations, only  
the least signicant 32 bits of the product are calculated. For fractional operations, the  
entire 63-bit product is calculated and then either truncated or rounded to a 32-bit result  
using the round-to-nearest (even) method.  
Because the multiplier array is implemented in a 3-stage pipeline, MAC instructions can  
have an effective issue rate of one clock for word operations, three for longword integer  
operations, and four for 32-bit fractional operations. Arithmetic operations use  
register-based input operands, and summed values are stored internally in the accumulator.  
Thus, an additional MOVE instruction is necessary to store data in a general-purpose  
register. MAC instructions can choose the upper or lower word of a register as the input,  
which helps ltering operations in which one data register is loaded with input data and  
another is loaded with coefcient data. Two 16-bit MAC operations can be performed  
without fetching additional operands between instructions by alternating the word choice  
Chapter 3. Hardware Multiply/Accumulate (MAC) Unit  
3-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
rview  
during the calculations.  
The need to move large amounts of data quickly can limit throughput in DSP engines.  
However, data can be moved efciently by using the MOVEM instruction, which  
automatically generates line-sized burst references and is ideal for lling registers quickly  
with input data, lter coefcients, and output data. Loading an operand from memory into  
a register during a MAC operation makes some DSP operations, especially ltering and  
convolution, more manageable.  
The MACSR has a 4-bit operational mode eld and three condition ags. The operational  
mode bits control the overow/saturation mode, whether operands are signed or unsigned,  
whether operands are treated as integers or fractions, and how rounding is performed.  
Negative, zero and overow ags are also provided.  
The three program-visible MAC registers, a 32-bit accumulator (ACC), the MAC mask  
register (MASK), and MACSR, are described in Section 3.1.1, “MAC Programming  
Model.”  
3.1.3 MAC Instruction Set Summary  
The MAC unit supports the integer multiply operations dened by the baseline ColdFire  
architecture, as well as the new multiply-accumulate instructions. Table 3-1 summarizes  
the MAC unit instruction set.  
Table 3-1. MAC Instruction Summary  
Instruction  
Mnemonic  
Description  
Multiply Signed  
MULS <ea>y,Dx  
MULU <ea>y,Dx  
Multiplies two signed operands yielding a signed result  
Multiply Unsigned  
Multiply Accumulate  
Multiplies two unsigned operands yielding an unsigned result  
MAC Ry,RxSF  
MSAC Ry,RxSF  
Multiplies two operands, then adds or subtracts the product  
to/from the accumulator  
Multiply Accumulate  
with Load  
MAC Ry,RxSF,Rw  
MSAC Ry,RxSF,Rw  
Multiplies two operands, then adds or subtracts the product  
to/from the accumulator while loading a register with the  
memory operand  
Load Accumulator  
Store Accumulator  
Load MACSR  
MOV.L {Ry,#imm},ACC  
MOV.L ACC,Rx  
Loads the accumulator with a 32-bit operand  
Writes the contents of the accumulator to a register  
MOV.L {Ry,#imm},MACSR Writes a value to the MACSR  
MOV.L MACSR,Rx Write the contents of MACSR to a register  
Store MACSR  
Store MACSR to CCR MOV.L MACSR,CCR  
Write the contents of MACSR to the processor’s CCR register  
Writes a value to MASK  
Load MASK  
Store MASK  
MOV.L {Ry,#imm},MASK  
MOV.L MASK,Rx  
Writes the contents of MASK to a register  
3.1.4 Data Representation  
The MAC unit supports three basic operand types:  
3-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
MAC Instruction Execution Timings  
Two’s complement signed integer: In this format, an N-bit operand represents a  
(N-1)  
(N-1)  
number within the range -2  
< operand < 2  
- 1. The binary point is to the right  
of the least signicant bit.  
Two’s complement unsigned integer: In this format, an N-bit operand represents a  
N
number within the range 0 < operand < 2 - 1. The binary point is to the right of the  
least signicant bit.  
Two’s complement, signed fractional: In an N-bit number, the rst bit is the sign bit.  
The remaining bits signify the rst N-1 bits after the binary point. Given an N-bit  
number, a  
a
a
... a a a , its value is given by the following formula:  
N-1 N-2 N-3  
2 1 0  
N – 2  
(i + 1 – N)  
+
2
ai  
i = 0  
This format can represent numbers in the range -1 < operand < 1 - 2  
(N-1)  
.
For words and longwords, the greatest negative number that can be represented is -1,  
whose internal representation is 0x8000 and 0x0x8000_0000, respectively. The  
-15  
most positive word is 0x7FFF or (1 - 2 ); the most positive longword is  
-31  
0x7FFF_FFFF or (1 - 2 ).  
3.2 MAC Instruction Execution Timings  
Table 3-2 shows standard timings for two-operand MAC instructions.  
Table 3-2. Two-Operand MAC Instruction Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An) (d16,An) (d8,An,Xi*SF) (xxx).wl  
#<xxx>  
mac.w  
mac.l  
Ry,Rx  
Ry,Rx  
1(0/0)  
3(0/0)  
1(0/0)  
3(0/0)  
msac.w  
msac.l  
mac.w  
mac.l  
Ry,Rx  
Ry,Rx  
Ry,Rx,ea,Rw  
Ry,Rx,ea,Rw  
Ry,Rx,ea,Rw  
Ry,Rx,ea,Rw  
<ea>,Dx  
1(1/0)  
3(1/0)  
1(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
5(1/0)  
5(1/0)  
1(1/0)  
3(1/0)  
1(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
5(1/0)  
5(1/0)  
1(1/0)  
3(1/0)  
1(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
5(1/0)  
5(1/0)  
1(1/0)  
3(1/0)  
1(1/0)  
3(1/0)  
3(1/0)  
3(1/0)  
5(1/0)  
5(1/0)  
msac.w  
msac.l  
muls.w  
mulu.w  
muls.l  
3(0/0)  
3(0/0)  
5(0/0)  
5(0/0)  
4(1/0)  
4(1/0)  
3(1/0)  
3(1/0)  
3(0/0)  
3(0/0)  
<ea>,Dx  
<ea>,Dx  
mulu.l  
<ea>,Dx  
Chapter 3. Hardware Multiply/Accumulate (MAC) Unit  
3-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
C Instruction Execution Timings  
Table 3-3 shows standard timings for MAC move instructions.  
Table 3-3. MAC Move Instruction Execution Times  
Effective Address  
Opcode  
Í
Rn  
(An)  
(An)+  
-(An)  
(d16,An) (d8,An,Xi*SF) (xxx).wl  
#<xxx>  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
<ea>,ACC  
<ea>,MACSR  
<ea>,MASK  
ACC,Rx  
1(0/0)  
6(0/0)  
5(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
1(0/0)  
6(0/0)  
5(0/0)  
MACSR,CCR  
MACSR,Rx  
MASK,Rx  
3-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 4  
Local Memory  
This chapter describes the MCF5307 implementation of the ColdFire Version 3 local  
memory specication. It consists of two major sections.  
Section 4.2, “SRAM Overview,” describes the MCF5307 on-chip static RAM  
(SRAM) implementation. It covers general operations, conguration, and  
initialization. It also provides information and examples showing how to minimize  
power consumption when using the SRAM.  
Section 4.7, “Cache Overview,” describes the MCF5307 cache implementation,  
including organization, conguration, and coherency. It describes cache operations  
and how the cache interfaces with other memory structures.  
4.1 Interactions between Local Memory Modules  
Depending on conguration information, instruction fetches and data read accesses may be  
sent simultaneously to the RAM and cache controllers. This approach is required because  
both controllers are memory-mapped devices and the hit/miss determination is made  
concurrently with the read data access. Power dissipation can be minimized by conguring  
the RAMBARs to mask unused address spaces whenever possible.  
If the access address is mapped into the region dened by the RAM (and this region is not  
masked), the RAM provides the data back to the processor, and the cache data is discarded.  
Accesses from the RAM module are never cached. The complete denition of the  
processor’s local bus priority scheme for read references is as follows:  
if (RAM “hits”  
RAM supplies data to the processor  
else if (cache “hits”)  
)
cache supplies data to the processor  
else system memory reference to access data  
For data write references, the memory mapping into the local memories is resolved before  
the appropriate destination memory is accessed. Accordingly, only the targeted local  
memory is accessed for data write transfers.  
4.2 SRAM Overview  
The 4-Kbyte on-chip SRAM module is connected to the internal bus and provides pipelined,  
single-cycle access to memory mapped to the module. Memory can be mapped to any  
Chapter 4. Local Memory  
4-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
M Operation  
0-modulo-32K location in the 4-Gbyte address space and congured to respond to either  
instruction or data accesses.Time-critical functions can be mapped into instruction the  
system stack. Other heavily-referenced data can be mapped into memory.  
The following summarizes features of the MCF5307 SRAM implementation:  
4-Kbyte SRAM, organized as 1024 x 32 bits  
Single-cycle throughput. When the pipeline is full, one access can occur per clock  
cycle.  
Physical location on the processor’s high-speed local bus  
Memory location programmable on any 0-modulo-32K address boundary  
Byte, word, and longword address capabilities  
The RAM base address register (RAMBAR) denes the logical base address,  
attributes, and access types for the SRAM module.  
4.3 SRAM Operation  
The SRAM module provides a general-purpose memory block that the ColdFire processor  
can access with single-cycle throughput. The location of the memory block can be specied  
to any word-aligned address in the 4-Gbyte address space by RAMBAR[BA], described in  
Section 4.4.1, “SRAM Base Address Register (RAMBAR).” The memory is ideal for  
storing critical code or data structures or for use as the system stack. Because the SRAM  
module connects physically to the processor’s high-speed local bus, it can service  
processor-initiated accesses or memory-referencing debug module commands.  
Instruction fetches and data reads can be sent to both the cache and SRAM blocks  
simultaneously. If the reference is mapped into a region dened by the SRAM, the SRAM  
provides data to the processor and any cache data is discarded. Data accessed from the  
SRAM module are not cached.  
Note also that the SRAM cannot be accessed by the on-chip DMAs. The on-chip system  
conguration allows concurrent core and DMA execution, where the core can reference  
code or data from the internal SRAM or cache while performing a DMA transfer.  
4-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
SRAM Programming Model  
Accesses are attempted in the following order:  
1. SRAM  
2. Cache (if space is dened as cacheable)  
3. External access  
4.4 SRAM Programming Model  
The SRAM programming model consists of RAMBAR.  
4.4.1 SRAM Base Address Register (RAMBAR)  
The SRAM modules are congured through the RAMBAR, shown in Figure 4-1.  
RAMBAR holds the base address of the SRAM. The MOVEC instruction provides  
write-only access to this register from the processor.  
RAMBAR can be read or written from the debug module in a similar manner.  
All undened RAMBAR bits are reserved. These bits are ignored during writes to  
the RAMBAR and return zeros when read from the debug module.  
The valid bit, RAMBAR[V], is cleared at reset, disabling the SRAM module. All  
other bits are unaffected.  
31  
15 14  
9
8
7
6
5
4
3
2
1
0
Field  
Reset  
BA  
WP  
C/I SC SD UC UD  
V
0
R/W  
W for CPU; R/W for debug  
CPU space + 0xC04  
Address  
Figure 4-1. SRAM Base Address Register (RAMBAR)  
RAMBAR elds are described in detail in Table 4-1.  
Table 4-1. RAMBAR Field Description  
Bits  
Name  
Description  
31–15 BA  
Base address. Defines the SRAM module’s word-aligned base address. The SRAM module  
occupies a 4-Kbyte space defined by the contents of BA. SRAM may reside on any 32-Kbyte  
boundary in the 4-Gbyte address space.  
14–9  
8
Reserved, should be cleared.  
WP  
Write protect. Controls read/write properties of the SRAM.  
0 Allows read and write accesses to the SRAM module  
1 Allows only read accesses to the SRAM module. Any attempted write reference generates an  
access error exception to the ColdFire processor core.  
7–6  
Reserved, should be cleared.  
Chapter 4. Local Memory  
4-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
M Initialization  
Table 4-1. RAMBAR Field Description (Continued)  
Bits  
5–1  
Name  
Description  
C/I,  
SC,  
SD,  
UC,  
UD  
Address space masks (ASn). These fields allow certain types of accesses to be masked, or  
inhibited from accessing the SRAM module. These bits are useful for power management as  
described in Section 4.6, “Power Management.In particular, C/I is typically set.  
The address space mask bits are follows:  
C/I = CPU space/interrupt acknowledge cycle mask. Note that C/I must be set if BA = 0.  
SC = Supervisor code address space mask  
SD = Supervisor data address space mask  
UC = User code address space mask  
UD = User data address space mask  
For each ASn bit:  
0 An access to the SRAM module can occur for this address space  
1 Disable this address space from the SRAM module. If a reference using this address space is  
made, it is inhibited from accessing the SRAM module and is processed like any other  
non-SRAM reference.  
0
V
Valid. Enables/disables the SRAM module. V is cleared at reset.  
0 RAMBAR contents are not valid.  
1 RAMBAR contents are valid.  
The mapping of a given access into the RAM uses the following algorithm to determine if  
the access hits in the memory:  
if (RAMBAR[0] = 1)  
if (requested address[31:15] = RAMBAR[31:15])  
if (requested address[14:12] = 0)  
if (ASn of the requested type = 0)  
Access is mapped to the RAM module  
if (access = read)  
Read the RAM and return the data  
if (access = write)  
if (RAMBAR[8] = 0)  
Write the data into the RAM  
else Signal a write-protect access error  
ASn refers to the ve address space mask bits: C/I, SC, SD, UC, and UD.  
4.5 SRAM Initialization  
After a hardware reset, the contents of the SRAM module are undened. The valid bit,  
RAMBAR[V], is cleared, disabling the SRAM module. If the SRAM requires initialization  
with instructions or data, the following steps should be performed:  
1. Read the source data and write it to the SRAM. Various instructions support this  
function, including memory-to-memory move instructions and the move multiple  
instruction (MOVEM). MOVEM is optimized to generate line-sized burst fetches on  
line-aligned addresses, so it generally provides maximum performance.  
2. After the data is loaded into the SRAM, it may be appropriate to revise the  
RAMBAR attribute bits, including the write-protect and address space mask elds.  
Remember that the SRAM cannot be accessed by the on-chip DMAs. The on-chip system  
conguration allows concurrent core and DMA execution where the core can execute code  
4-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
out of internal SRAM or cache during DMA access.  
SRAM Initialization  
The ColdFire processor or an external emulator using the debug module can perform these  
initialization functions.  
4.5.1 SRAM Initialization Code  
The code segment below initializes the SRAM. The code sets the base address of the SRAM  
at 0x2000_0000 and then initializes the RAM to zeros.  
RAMBASE  
RAMVALID  
move.l  
EQU  
EQU  
0x20000000  
0x00000035  
;set this variable to 0x20000000  
#RAMBASE+RAMVALID,D0  
D0, RAMBAR  
;load RAMBASE + valid bit into D0  
;load RAMBAR and enable SRAM  
movec.l  
The following loop initializes the entire SRAM to zero:  
lea.l  
move.l  
RAMBASE,A0  
#1024,D0  
;load pointer to SRAM  
;load loop counter into D0  
SRAM_INIT_LOOP:  
clr.l  
subq.l  
bne.b  
(A0)+  
;clear 4 bytes of SRAM  
#1,D0  
;decrement loop counter  
SRAM_INIT_LOOP  
;exit if done; else continue looping  
The following function copies the number of bytesToMove from the source (*src) to the  
processor’s local RAM at an offset relative to the SRAM base address dened by  
destinationOffset. The bytesToMove must be a multiple of 16. For best performance, source  
and destination SRAM addresses should be line-aligned (0-modulo-16).  
; copyToCpuRam (*src, destinationOffset, bytesToMove)  
RAMBASE  
RAMFLAGS  
EQU  
EQU  
0x20000000  
0x00000035  
;SRAM base address  
;RAMBAR valid + mask bits  
lea.l  
movem.l  
-12(a7),a7  
#0x1c,(a7)  
;allocate temporary space  
;store D2/D3/D4 registers  
; stack arguments and locations  
; +0  
saved d2  
; +4  
saved d3  
; +8  
saved d4  
returnPc  
pointer to source operand  
destinationOffset  
bytesToMove  
; +12  
; +16  
; +20  
; +24  
move.l  
movec.l  
RAMBASE+RAMFLAGS,a0 ;define RAMBAR contents  
a0,rambar  
;load it  
move.l  
16(a7),a0  
;load argument defining *src  
lea.l  
add.l  
RAMBASE,a1  
20(a7),a1  
;memory pointer to RAM base  
;include destinationOffset  
Chapter 4. Local Memory  
4-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
er Management  
move.l  
asr.l  
24(a7),d4  
#4,d4  
;load byte count  
;divide by 16 to convert to loop count  
.align  
4
;force loop on 0-mod-4 address  
;read 16 bytes from source  
;store into RAM destination  
;increment source pointer  
loop:  
movem.l  
movem.l  
lea.l  
(a0),#0xf  
#0xf,(a1)  
16(a0),a0  
16(a1),a1  
#1,d4  
lea.l  
subq.l  
bne.b  
;increment destination pointer  
;decrement loop counter  
loop  
;if done, then exit, else continue  
movem.l  
lea.l  
rts  
(a7),#0x1c  
12(a7),a7  
;restore d2/d3/d4 registers  
;deallocate temporary space  
4.6 Power Management  
Because processor memory references may be simultaneously sent to an SRAM module  
and cache, power can be minimized by conguring RAMBAR address space masks as  
precisely as possible. For example, if an SRAM is mapped to the internal instruction bus  
and contains instruction data, setting the ASn mask bits associated with operand references  
can decrease power dissipation. Similarly, if the SRAM contains data, setting ASn bits  
associated with instruction fetches minimizes power.  
Table 4-2 shows typical RAMBAR congurations.  
.
Table 4-2. Examples of Typical RAMBAR Settings  
Data Contained in SRAM  
Code only  
RAMBAR[5–0]  
0x2B  
0x35  
0x21  
Data only  
Both code and data  
4.7 Cache Overview  
This section describes the MCF5307 cache implementation, including organization,  
conguration, and coherency. It describes cache operations and how the cache interacts  
with other memory structures.  
The MCF5307 processor contains a nonblocking, 8-Kbyte, 4-way set-associative, unied  
(instruction and data) cache with a 16-byte line size. The cache improves system  
performance by providing low-latency access to the instruction and data pipelines. This  
decouples processor performance from system memory performance, increasing bus  
availability for on-chip DMA or external devices. Figure 4-2 shows the organization and  
integration of the data cache.  
4-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Organization  
Cache  
External  
Bus  
Control  
Control  
Control Logic  
Control  
Data Array  
System  
ColdFire  
Processor  
Core  
Integration  
Module  
(SIM)  
Address/  
Data  
Directory Array  
Data  
Data  
Data Path  
Address Path  
Address  
Address  
Figure 4-2. Unified Cache Organization  
The cache supports operation of copyback, write-through, or cache-inhibited modes. The  
cache lock feature can be used to guarantee deterministic response for critical code or data  
areas.  
A nonblocking cache services read hits or write hits from the processor while a ll (caused  
by a cache allocation) is in progress. As Figure 4-2 shows, instruction and data accesses  
use a single bus connected to the cache.  
All addresses from the processor to the cache are physical addresses. A cache hit occurs  
when an address matches a cache entry. For a read, the cache supplies data to the processor.  
For a write, the processor updates the cache. If an access does not match a cache entry  
(misses the cache) or if a write access must be written through to memory, the cache  
performs a bus cycle on the internal bus and correspondingly on the external bus by way of  
the system integration module (SIM).  
The SRAM module does not implement bus snooping; cache coherency with other possible  
bus masters must be maintained in software.  
4.8 Cache Organization  
A four-way set associative cache is organized as four ways (levels). There are 128 sets in  
the 8-Kbyte cache with each line containing 16 bytes (4 longwords). Entire cache lines are  
loaded from memory by burst-mode accesses that cache 4 longwords of data or  
instructions. All 4 longwords must be loaded for the cache line to be valid.  
Figure 4-3 shows cache organization as well as terminology used.  
Chapter 4. Local Memory  
4-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
he Organization  
Way 0  
Way 1  
Way 2  
Way 3  
Set 0  
Set 1  
Line  
Set 126  
Set 127  
Cache Line Format  
Longword 1  
TAG  
V
M
Longword 0  
Longword 2  
Longword 3  
Where:  
TAG—21-bitaddresstag  
V—Validbitforline  
M—Modifiedbitforline  
Figure 4-3. Cache Organization and Line Format  
A set is a group of four lines (one from each level, or way), corresponding to the same index  
into the cache array.  
4.8.1 Cache Line States: Invalid, Valid-Unmodified, and  
Valid-Modified  
As shown in Table 4-3, a cache line can be invalid, valid-unmodied (often called  
exclusive), or valid-modied.  
Table 4-3. Valid and Modified Bit Settings  
V
M
Description  
Invalid. Invalid lines are ignored during lookups.  
0
1
1
x
0
1
Valid, unmodified. Cache line has valid data that matches system memory.  
Valid, modified. Cache line contains most recent data, data at system memory location is stale.  
A valid line can be explicitly invalidated by executing a CPUSHL instruction.  
4-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Organization  
4.8.2 The Cache at Start-Up  
As Figure 4-4 (A) shows, after power-up, cache contents are undened; V and M may be  
set on some lines even though the cache may not contain the appropriate data for start up.  
Because reset and power-up do not invalidate cache lines automatically, the cache should  
be cleared explicitly by setting CACR[CINVA] before the cache is enabled (B).  
After the entire cache is ushed, cacheable entries are loaded rst in way 0. If way 0 is  
occupied, the cacheable entry is loaded into the same set in way 1, as shown in Figure 4-4  
(D). This process is described in detail in Section 4.9, “Cache Operation.”  
Chapter 4. Local Memory  
4-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Organization  
Invalid (V = 0)  
Valid, not modified (V = 1, M = 0)  
Valid, modified (V = 1, M = 1)  
A:Cache population at  
start-up  
B:Cache after invalidation, C:Cache after loads in  
D:First load in Way 1  
before it is enabled  
Way 0  
Way 0 Way 1 Way 2 Way 3  
Way 0 Way 1 Way 2 Way 3  
Way 0 Way 1 Way 2 Way 3  
Way 0 Way 1 Way 2 Way 3  
Set 0  
Set 127  
A line is loaded in  
way 1 only if that set is  
full in way 0.  
Initial cacheable  
accesses to memory-fill  
positions in way 0.  
At reset, cache contents  
are indeterminate; V and  
M may be set. The cache cache.  
should be cleared  
Setting CACR[CINVA]  
invalidates the entire  
explicitly by setting  
CACR[CINVA] before the  
cache is enabled.  
Figure 4-4. Cache—A: at Reset, B: after Invalidation, C and D: Loading Pattern  
4-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Operation  
4.9 Cache Operation  
Figure 4-5 shows the general ow of a caching operation.  
Address  
31  
11 10  
4 3  
0
Way 3  
Way 2  
Way 1  
Way 0  
Tag Data/Tag Reference  
Index  
TAG  
Set 0  
Set 1  
STATUS LW0 LW1 LW2 LW3  
Set  
Select  
A[10:4]  
Set 127 TAG STATUS LW0 LW1 LW2 LW3  
Data or  
Instruction  
Address  
A[31:11]  
MUX  
3
Line Select  
Hit  
2
Hit 3  
Hit 2  
Hit 1  
Hit 0  
1
Logical OR  
0
Comparator  
Figure 4-5. Caching Operation  
The following steps determine if a cache line is allocated for a given address:  
1. The cache set index, A[10:4], selects one cache set.  
2. A[31:11] and the cache set index are used as a tag reference or are used to update  
the cache line tag eld. Note that A[31:11] can specify 21 possible addresses that  
can be mapped to one of the four ways.  
3. The four tags from the selected cache set are compared with the tag reference. A  
cache hit occurs if a tag matches the tag reference and the V bit is set, indicating that  
the cache line contains valid data. If a cacheable write access hits in a valid cache  
line, the write can occur to the cache line without having to load it from memory.  
If the memory space is copyback, the updated cache line is marked modied  
(M = 1), because the new data has made the data in memory out of date. If the  
memory location is write-through, the write is passed on to system memory and the  
M bit is never used. Note that the tag does not have TT or TM bits.  
To allocate a cache entry, the cache set index selects one of the cache’s 128 sets. The cache  
control logic looks for an invalid cache line to use for the new entry. If none is available,  
the cache controller uses a pseudo-round-robin replacement algorithm to choose the line to  
Chapter 4. Local Memory  
4-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Operation  
be deallocated and replaced. First the cache controller looks for an invalid line, with way 0  
the highest priority. If all lines have valid data, a 2-bit replacement counter is used to choose  
the way. After a line is allocated, the pointer increments to point to the next way.  
Cache lines from ways 0 and 1 can be protected from deallocation by enabling half-cache  
locking. If CACR[HLCK] = 1, the replacement pointer is restricted to way 2 or 3.  
As part of deallocation, a valid, unmodied cache line is invalidated. It is consistent with  
system memory, so memory does not need to be updated. To deallocate a modied cache  
line, data is placed in a push buffer (for an external cache line push) before being  
invalidated. After invalidation, the new entry can replace it. The old cache line may be  
written after the new line is read.  
When a cache line is selected to host a new cache entry, the following three things happen:  
1. The new address tag bits A[31:11] are written to the tag.  
2. The cache line is updated with the new memory data.  
3. The cache line status changes to a valid state (V = 1).  
Read cycles that miss in the cache allocate normally as previously described.  
Write cycles that miss in the cache do not allocate on a cacheable write-through region, but  
do allocate for addresses in a cacheable copyback region.  
A copyback byte, word, longword, or line write miss causes the following:  
1. The cache initiates a line ll or ush.  
2. Space is allocated for a new line.  
3. V and M are both set to indicate valid and modied.  
4. Data is written in the allocated space. No write to memory occurs.  
Note the following:  
Read hits cannot change the status bits and no deallocation or replacement occurs;  
the data or instructions are read from the cache.  
If the cache hits on a write access, data is written to the appropriate portion of the  
accessed cache line. Write hits in cacheable, write-through regions generate an  
external write cycle and the cache line is marked valid, but is never marked modied.  
Write hits in cacheable copyback regions do not perform an external write cycle; the  
cache line is marked valid and modied (V = 1 and M = 1).  
Misaligned accesses are broken into at least two cache accesses.  
Validity is provided only on a line basis. Unless a whole line is loaded on a cache  
miss, the cache controller does not validate data in the cache line.  
Write accesses designated as cache-inhibited by the CACR or ACR bypass the cache and  
perform a corresponding external write.  
4-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Cache Operation  
Normally, cache-inhibited reads bypass the cache and are performed on the external bus.  
The exception to this normal operation occurs when all of the following conditions are true  
during a cache-inhibited read:  
The cache-inhibited ll buffer bit, CACR[DNFB], is set.  
The access is an instruction read.  
The access is normal (that is, transfer type (TT) equals 0).  
In this case, an entire line is fetched and stored in the ll buffer. It remains valid there, and  
the cache can service additional read accesses from this buffer until either another ll or a  
cache-invalidate-all operation occurs.  
Valid cache entries that match during cache-inhibited address accesses are neither pushed  
nor invalidated. Such a scenario suggests that the associated cache mode for this address  
space was changed. To avoid this, it is generally recommended to use the CPUSHL  
instruction to push or invalidate the cache entry or set CACR[CINVA] to invalidate the  
cache before switching cache modes.  
4.9.1 Caching Modes  
For every memory reference generated by the processor or debug module, a set of effective  
attributes is determined based on the address and the ACRs. Caching modes determine how  
the cache handles an access. An access can be cacheable in either write-through or  
copyback mode; it can be cache-inhibited in precise or imprecise modes. For normal  
accesses, the ACRn[CM] bit corresponding to the address of the access species the  
caching modes. If an address does not match an ACR, the default caching mode is dened  
by CACR[DCM]. The specic algorithm is as follows:  
if (address == ACR0-address including mask)  
effective attributes = ACR0 attributes  
else if (address == ACR1-address including mask)  
effective attributes = ACR1 attributes  
else effective attributes = CACR default attributes  
Addresses matching an ACR can also be write-protected using ACR[W]. Addresses that do  
not match either ACR can be write-protected using CACR[DW].  
Reset disables the cache and clears all CACR bits. As shown in Figure 4-4, reset does not  
automatically invalidate cache entries; they must be invalidated through software.  
The ACRs allow the defaults selected in the CACR to be overridden. In addition, some  
instructions (for example, CPUSHL) and processor core operations perform accesses that  
have an implicit caching mode associated with them. The following sections discuss the  
different caching accesses and their associated cache modes.  
4.9.1.1 Cacheable Accesses  
If ACRn[CM] or the default eld of the CACR indicates write-through or copyback, the  
access is cacheable. A read access to a write-through or copyback region is read from the  
Chapter 4. Local Memory  
4-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
he Operation  
cache if matching data is found. Otherwise, the data is read from memory and the cache is  
updated. When a line is being read from memory for either a write-through or copyback  
read miss, the longword within the line that contains the core-requested data is loaded rst  
and the requested data is given immediately to the processor, without waiting for the three  
remaining longwords to reach the cache.  
The following sections describe write-through and copyback modes in detail.  
4.9.1.2 Write-Through Mode  
Write accesses to regions specied as write-through are always passed on to the external  
bus, although the cycle can be buffered, depending on the state of CACR[ESB]. Writes in  
write-through mode are handled with a no-write-allocate policy—that is, writes that miss  
in the cache are written to the external bus but do not cause the corresponding line in  
memory to be loaded into the cache. Write accesses that hit always write through to  
memory and update matching cache lines. The cache supplies data to data-read accesses  
that hit in the cache; read misses cause a new cache line to be loaded into the cache.  
4.9.1.3 Copyback Mode  
Copyback regions are typically used for local data structures or stacks to minimize external  
bus use and reduce write-access latency. Write accesses to regions specied as copyback  
that hit in the cache update the cache line and set the corresponding M bit without an  
external bus access.  
Be sure to ush the cache using the CPUSHL instruction before invalidating the cache in  
copyback mode. Modied cache data is written to memory only if the line is replaced  
because of a miss or a CPUSHL instruction pushes the line. If a byte, word, longword, or  
line write access misses in the cache, the required cache line is read from memory, thereby  
updating the cache. When a miss selects a modied cache line for replacement, the  
modied cache data moves to the push buffer. The replacement line is read into the cache  
and the push buffer contents are then written to memory.  
4.9.2 Cache-Inhibited Accesses  
Memory regions can be designated as cache-inhibited, which is useful for memory  
containing targets such as I/O devices and shared data structures in multiprocessing  
systems. It is also important to not cache the MCF5307 memory mapped registers. If the  
corresponding ACRn[CM] or CACR[DCM] indicates cache-inhibited, precise or  
imprecise, the access is cache-inhibited. The caching operation is identical for both  
cache-inhibited modes, which differ only regarding recovery from an external bus error.  
In determining whether a memory location is cacheable or cache-inhibited, the CPU checks  
memory-control registers in the following order:  
1. RAMBAR  
2. ACR0  
4-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Operation  
3. ACR1  
4. If an access does not hit in the RAMBAR or the ACRs, the default is provided for  
all accesses in CACR.  
Cache-inhibited write accesses bypass the cache and a corresponding external write is  
performed. Cache-inhibited reads bypass the cache and are performed on the external bus,  
except when all of the following conditions are true:  
The cache-inhibited ll-buffer bit, CACR[DNFB], is set.  
The access is an instruction read.  
The access is normal (that is, TT = 0).  
In this case, a fetched line is stored in the ll buffer and remains valid there; the cache can  
service additional read accesses from this buffer until another ll occurs or a  
cache-invalidate-all operation occurs.  
IfACRn[CM] indicates cache-inhibited mode, precise or imprecise, the controller bypasses  
the cache and performs an external transfer. If a line in the cache matches the address and  
the mode is cache-inhibited, the cache does not automatically push the line if it is modied,  
nor does it invalidate the line if it is valid. Before switching cache mode, execute a  
CPUSHL instruction or set CACR[CINVA] to invalidate the entire cache.  
If ACRn[CM] indicates precise mode, the sequence of read and write accesses to the region  
is guaranteed to match the instruction sequence. In imprecise mode, the processor core  
allows read accesses that hit in the cache to occur before completion of a pending write  
from a previous instruction. Writes are not deferred past data-read accesses that miss the  
cache (that is, that must be read from the bus).  
Precise operation forces data-read accesses for an instruction to occur only once by  
preventing the instruction from being interrupted after data is fetched. Otherwise, if the  
processor is not in precise mode, an exception aborts the instruction and the data may be  
accessed again when the instruction is restarted. These guarantees apply only when  
ACRn[CM] indicates precise mode and aligned accesses.  
CPU space-register accesses, such as MOVEC, are treated as cache-inhibited and precise.  
4.9.3 Cache Protocol  
The following sections describe the cache protocol for processor accesses and assumes that  
the data is cacheable (that is, write-through or copyback).  
4.9.3.1 Read Miss  
A processor read that misses in the cache requests the cache controller to generate a bus  
transaction. This bus transaction reads the needed line from memory and supplies the  
required data to the processor core. The line is placed in the cache in the valid state.  
Chapter 4. Local Memory  
4-15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Operation  
4.9.3.2 Write Miss  
The cache controller handles processor writes that miss in the cache differently for  
write-through and copyback regions. Write misses to copyback regions cause the cache line  
to be read from system memory, as shown in Figure 4-6.  
1. Writing character X to 0x0B generates a write miss. Data cannot be written to an invalid line.  
Cache Line  
0x0C 0x08 0x04 0x00  
V = 0  
M = 0  
MCF5307  
X
2. The cache line (characters A–P) is updated from system memory, and line is marked valid.  
0x0C 0x08 0x04 0x00  
V = 1  
M = 0  
System  
Memory  
ABCD EFGH IJKL MNOP  
3. After the cache line is filled, the write that initiated the write miss (the character X) completes to 0x0B.  
0x0C 0x08 0x04 0x00  
V = 1  
ABCD EXGH IJKL MNOP  
MCF5307  
M = 1  
Figure 4-6. Write-Miss in Copyback Mode  
The new cache line is then updated with write data and the M bit is set for the line, leaving  
it in modied state. Write misses to write-through regions write directly to memory without  
loading the corresponding cache line into the cache.  
4.9.3.3 Read Hit  
On a read hit, the cache provides the data to the processor core and the cache line state  
remains unchanged. If the cache mode changes for a specic region of address space, lines  
in the cache corresponding to that region that contain modied data are not pushed out to  
memory when a read hit occurs within that line. First execute a CPUSHL instruction or set  
CACR[CINVA] before switching the cache mode.  
4.9.3.4 Write Hit  
The cache controller handles processor writes that hit in the cache differently for  
write-through and copyback regions. For write hits to a write-through region, portions of  
cache lines corresponding to the size of the access are updated with the data. The data is  
4-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Operation  
also written to external memory. The cache line state is unchanged. For copyback accesses,  
the cache controller updates the cache line and sets the M bit for the line. An external write  
is not performed and the cache line state changes to (or remains in) the modied state.  
4.9.4 Cache Coherency  
The MCF5307 provides limited cache coherency support in multiple-master environments.  
Both write-through and copyback memory update techniques are supported to maintain  
coherency between the cache and memory.  
The cache does not support snooping (that is, cache coherency is not supported while  
external or DMA masters are using the bus). Therefore, on-chip DMAs of the MCF5307  
cannot access local memory and do not maintain coherency with the unied cache.  
4.9.5 Memory Accesses for Cache Maintenance  
The cache controller performs all maintenance activities that supply data from the cache to  
the core, including requests to the SIM for reading new cache lines and writing modied  
lines to memory. The following sections describe memory accesses resulting from cache  
ll and push operations. Chapter 18, “Bus Operation,” describes required bus cycles in  
detail.  
4.9.5.1 Cache Filling  
When a new cache line is required, a line read is requested from the SIM, which generates  
a burst-read transfer by indicating a line access with the size signals, SIZ[1:0].  
The responding device supplies 4 consecutive longwords of data. Burst operations can be  
inhibited or enabled through the burst read/write enable bits (BSTR/BSTW) in the  
chip-select control registers (CSCR0–CSCR7).  
SIM line accesses implicitly request burst-mode operations from memory. For more  
information regarding external bus burst-mode accesses, see Chapter 18, “Bus Operation.”  
The rst cycle of a cache-line read loads the longword entry corresponding to the requested  
address. Subsequent transfers load the remaining longword entries.  
A burst operation is aborted by an a write-protection fault, which is the only possible access  
error. Exception processing proceeds immediately. Because the write cycle can be  
decoupled from the processor’s issuing of the operation, error signaling appears to be  
decoupled from the instruction that generated the write. Accordingly, the PC in the  
exception stack frame represents the program location when the access error was signaled.  
See Section 2.8.2, “Processor Exceptions.”  
Chapter 4. Local Memory  
4-17  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Operation  
4.9.5.2 Cache Pushes  
Cache pushes occur for line replacement and as required for the execution of the CPUSHL  
instruction. To reduce the requested data’s latency in the new line, the modied line being  
replaced is temporarily placed in the push buffer while the new line is fetched from  
memory. After the bus transfer for the new line completes, the modied cache line is written  
back to memory and the push buffer is invalidated.  
4.9.5.2.1 Push and Store Buffers  
The 16-byte push buffer reduces latency for requested new data on a cache miss by holding  
a displaced modied cache line while the new data is read from memory.  
If a cache miss displaces a modied line, a miss read reference is immediately generated.  
While waiting for the response, the current contents of the cache location load into the push  
buffer. When the burst-read bus transaction completes, the cache controller can generate the  
appropriate line-write bus transaction to write the push buffer contents into memory.  
In imprecise mode, the FIFO store buffer can defer pending writes to maximize  
performance. The store buffer can support as many as four entries (16 bytes maximum) for  
this purpose.  
Data writes destined for the store buffer cannot stall the core. The store buffer effectively  
provides a measure of decoupling between the pipeline’s ability to generate writes (one per  
cycle maximum) and the external bus’s ability to retire those writes. In imprecise mode,  
writes stall only if the store buffer is full and a write operation is on the internal bus. The  
internal write cycle is held, stalling the data execution pipeline.  
If the store buffer is not used (that is, store buffer disabled or cache-inhibited precise mode),  
external bus cycles are generated directly for each pipeline write operation. The instruction  
is held in the pipeline until external bus transfer termination is received. Therefore, each  
write is stalled for 5 cycles, making the minimum write time equal to 6 cycles when the  
store buffer is not used. See Section 2.1.2.2, “Operand Execution Pipeline (OEP).”  
The store buffer enable bit, CACR[ESB], controls the enabling of the store buffer. This bit  
can be set and cleared by the MOVEC instruction. ESB is zero at reset and all writes are  
performed in order (precise mode). ACRn[CM] or CACR[DCM] generates the mode used  
when ESB is set. Cacheable write-through and cache-inhibited imprecise modes use the  
store buffer.  
The store buffer can queue data as much as 4 bytes wide per entry. Each entry matches the  
corresponding bus cycle it generates; therefore, a misaligned longword write to a  
write-through region creates two entries if the address is to an odd-word boundary. It  
creates three entries if it is to an odd-byte boundary—one per bus cycle.  
4.9.5.2.2 Push and Store Buffer Bus Operation  
As soon as the push or store buffer has valid data, the internal bus controller uses the next  
available external bus cycle to generate the appropriate write cycles. In the event that  
4-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Operation  
another cache ll is required (for example, cache miss to process) during the continued  
instruction execution by the processor pipeline, the pipeline stalls until the push and store  
buffers are empty, then generate the required external bus transaction.  
Supervisor instructions, the NOP instruction, and exception processing synchronize the  
processor core and guarantee the push and store buffers are empty before proceeding. Note  
that the NOP instruction should be used only to synchronize the pipeline. The preferred  
no-operation function is the TPF instruction.  
4.9.6 Cache Locking  
Ways 0 and 1 of the cache can be locked by setting CACR[HLCK]. If the cache is locked,  
cache lines in ways 0 and 1 are not subject to being deallocated by normal cache operations.  
As Figure 4-7 (B and C) shows, the algorithm for updating the cache and for identifying  
cache lines to be deallocated is otherwise unchanged. If ways 2 and 3 are entirely invalid,  
cacheable accesses are rst allocated in way 2. Way 3 is not used until the location in way 2  
is occupied.  
Ways 0 and 1 are still updated on write hits (D in Figure 4-7) and may be pushed or cleared  
only explicitly by using specic cache push/invalidate instructions. However, new cache  
lines cannot be allocated in ways 0 and 1.  
Chapter 4. Local Memory  
4-19  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Operation  
Invalid (V = 0)  
Valid, not modified (V = 1, M = 0)  
Valid, modified (V = 1, M = 1)  
A:Ways 0 and 1 are filled.  
Ways 2 and 3 are  
invalid.  
B:CACR[DHLCK] is set,  
locking ways 0 and 1.  
C:When a set in Way 2 is  
occupied, the set in way 3 and 1 update cache  
is used for a cacheable  
access.  
D:Write hits to ways 0  
lines.  
Way 0 Way 1 Way 2 Way 3  
Way 0 Way 1 Way 2 Way 3  
Way 0 Way 1 Way 2 Way 3  
Way 0 Way 1 Way 2 Way 3  
Set 0  
Set 127  
While the cache is  
locked and after a  
position in ways is full,  
the set in Way 3 is  
updated.  
While the cache is  
After reset, the cache is  
invalidated, ways 0 and 1  
are then written with data  
that should not be  
After CACR[HLCK] is  
set, subsequent cache  
accesses go to ways 2  
and 3.  
locked, ways 0 and 1 can  
be updated by write hits.  
In this example, memory  
is configured as  
deallocated.  
copyback, so updated  
cache lines are marked  
modified.  
Figure 4-7. Cache Locking  
4-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Cache Registers  
4.10 Cache Registers  
This section describes the MCF5307 implementation of the Version 3 cache registers.  
4.10.1 Cache Control Register (CACR)  
The CACR in Figure 4-8 contains bits for conguring the cache. It can be written by the  
MOVEC register instruction and can be read or written from the debug facility. A hardware  
reset clears CACR, which disables the cache; however, reset does not affect the tags, state  
information, or data in the cache.  
31  
30  
29  
28  
27  
26  
25  
24  
23  
20  
19  
18  
17  
16  
Field EC  
ESB DPI HLCK  
CINVA  
Reset  
R/W  
0000_0000_0000_0000  
Write (R/W by debug module)  
15  
14  
13  
12  
11  
10  
9
8
7
0
Field  
DNFB  
DCM  
DW  
Reset  
R/W  
Rc  
0000_0000_0000_0000  
Write (R/W by debug module)  
0x002  
Figure 4-8. Cache Control Register (CACR)  
Table 4-4 describes CACR elds.  
Table 4-4. CACR Field Descriptions  
Bits  
31  
Name  
Description  
EC  
Enable cache.  
0 Cache disabled. The cache is not operational, but data and tags are preserved.  
1 Cache enabled.  
30  
29  
Reserved, should be cleared.  
ESB  
Enable store buffer.  
0 Writes to write-through or noncachable in imprecise mode bypass the store buffer and  
generate bus cycles directly. Section 4.9.5.2.1, “Push and Store Buffers,describes the  
performance penalty for this.  
1 The four-entry FIFO store buffer is enabled; when imprecise mode is used, this buffer defers  
pending writes to write-through or cache-inhibited regions to maximize performance.  
Cache-inhibited, precise-mode accesses always bypass the store buffer.  
28  
DPI  
Disable CPUSHL invalidation.  
0 Normal operation. A CPUSHL instruction causes the selected line to be pushed if modified and  
then invalidated.  
1 No clear operation. A CPUSHL instruction causes the selected line to be pushed if modified,  
then left valid.  
Chapter 4. Local Memory  
4-21  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
he Registers  
Table 4-4. CACR Field Descriptions (Continued)  
Bits  
27  
Name  
Description  
HLCK  
Half-cache lock mode  
0 Normal operation. The cache allocates the lowest invalid way. If all ways are valid, the cache  
allocates the way pointed at by the counter and then increments this counter modulo-4.  
1 Half-cache operation. The cache allocates to the lower invalid way of levels 2 and 3; if both are  
valid, the cache allocates to way 2 if the high-order bit of the round-robin counter is zero;  
otherwise, it allocates way 3 and increments the round-robin counter modulo-2. This locks the  
content of ways 0 and 1. Ways 0 and 1 are still updated on write hits and may be pushed or  
cleared by specific cache push/invalidate instructions.  
This implementation allows maximum use of available cache memory and provides the flexibility  
of setting HLCK before, during, or after allocations occur.  
26–25  
24  
Reserved, should be cleared.  
CINVA Cache invalidate all. Writing a 1 to this bit initiates entire cache invalidation. Once invalidation is  
complete, this bit automatically returns to 0; it is not necessary to clear it explicitly. Note the  
caches are not cleared on power-up or normal reset, as shown in Figure 4-4.  
0 No invalidation is performed.  
1 Initiate invalidation of the entire cache. The cache controller sequentially clears V and M bits in  
all sets. Subsequent accesses stall until the invalidation is finished, at which point, this bit is  
automatically cleared. In copyback mode, the cache should be flushed using a CPUSHL  
instruction before setting this bit.  
23–11  
10  
Reserved, should be cleared.  
DNFB  
Default noncacheable fill buffer. Determines if the fill buffer can store noncacheable accesses  
0 Fill buffer not used to store noncacheable instruction accesses (16 or 32 bits).  
1 Fill buffer used to store noncacheable accesses. The fill buffer is used only for normal (TT = 0)  
instruction reads of a noncacheable region. Instructions are loaded into the fill buffer by a burst  
access (same as a line fill). They stay in the buffer until they are displaced, so subsequent  
accesses may not appear on the external bus.  
Note that this feature can cause a coherency problem for self-modifying code. If DNFB = 1 and a  
cache-inhibited access uses the fill buffer, instructions remain valid in the fill buffer until a  
cache-invalidate-all instruction, another cache-inhibited burst, or a miss that initiates a fill. A write  
to the line in the fill buffer goes to the external bus without updating or invalidating the buffer.  
Subsequent reads of that written data are serviced by the fill buffer and receive stale information.  
9–8  
DCM  
Default cache mode. Selects the default cache mode and access precision as follows:  
00 Cacheable, write-through  
01 Cacheable, copy-back  
10 Cache-inhibited, precise exception model  
11 Cache-inhibited, imprecise exception model. Precise and imprecise modes are described in  
Section 4.9.2, “Cache-Inhibited Accesses.”  
7–6  
5
Reserved, should be cleared.  
DW  
Default write protect. Use of this bit is described in Section 4.9.1, “Caching Modes.”  
0 Read and write accesses permitted  
1 Write accesses not permitted  
4–0  
Reserved, should be cleared.  
4.10.2 Access Control Registers (ACR0–ACR1)  
The ACRs, Figure 4-9, assign control attributes, such as cache mode and write protection,  
to specied memory regions. Registers are accessed with the MOVEC instruction with the  
Rc encodings in Figure 4-9.  
For overlapping regions, ACR0 takes priority. Data transfers to and from these registers are  
longword transfers. Bits 12–7, 4, 3, 1, and 0 are always read as zeros.  
4-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Cache Registers  
NOTE:  
The SIM MBAR region should be mapped as cache-inhibited  
through an ACR.  
31  
24 23  
16 15 14 13 12  
7
6
5
4
3
2
1
0
Field  
Reset  
R/W  
Rc  
Address Base  
Address Mask  
E
0
S
CM  
Uninitialized  
W
Uninitialized  
Write (R/W by debug module)  
ACR0: 0x004; ACR1: 0x005  
Figure 4-9. Access Control Register Format (ACRn)  
Table 4-5 describes ACRn elds.  
I
Table 4-5. ACRn Field Descriptions  
Bits  
Name  
Description  
31–24  
Address Address base. Compared with address bits A[31:24]. Eligible addresses that match are  
base assigned the access control attributes of this register.  
23–16  
15  
Address Address mask. Setting a mask bit causes the corresponding address base bit to be ignored.  
mask  
E
The low-order mask bits can be set to define contiguous regions larger than 16 Mbytes. The  
mask can define multiple noncontiguous regions of memory.  
Enable. Enables or disables the other ACRn bits.  
0 Access control attributes disabled  
1 Access control attributes enabled  
14–13  
S
Supervisor mode. Specifies whether only user or supervisor accesses are allowed in this  
address range or if the type of access is a don’t care.  
00 Match addresses only in user mode  
01 Match addresses only in supervisor mode  
1x Execute cache matching on all accesses  
12–7  
6–5  
Reserved; should be cleared.  
CM  
Cache mode. Selects the cache mode and access precision. Precise and imprecise modes are  
described in Section 4.9.2, “Cache-Inhibited Accesses.”  
00 Cacheable, write-through  
01 Cacheable, copyback  
10 Cache-inhibited, precise  
11 Cache-inhibited, imprecise  
4–3  
2
W
Reserved, should be cleared.  
Write protect. Selects the write privilege of the memory region.  
0 Read and write accesses permitted  
1 Write accesses not permitted  
1–0  
Reserved, should be cleared.  
Chapter 4. Local Memory  
4-23  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
he Management  
4.11 Cache Management  
The cache can be enabled and congured by using a MOVEC instruction to access CACR.  
A hardware reset clears CACR, disabling the cache and removing all conguration  
information; however, reset does not affect the tags, state information, and data in the cache.  
Set CACR[CINVA] to invalidate the cache before enabling it.  
The privileged CPUSHL instruction supports cache management by selectively pushing  
and invalidating cache lines. The address register used with CPUSHL directly addresses the  
cache’s directory array. The CPUSHL instruction ushes a cache line.  
The value of CACR[DPI] determines whether CPUSHL invalidates a cache line after it is  
pushed. To push the entire cache, implement a software loop to index through all sets and  
through each of the four lines within each set (a total of 512 lines). The state of CACR[EC]  
does not affect the operation of CPUSHL or CACR[CINVA]. Disabling the cache by setting  
CACR[EC] makes the cache nonoperational without affecting tags, state information, or  
contents.  
The contents of An used with CPUSHL specify cache row and line indexes. This differs  
from the MC68040 where a physical address is specied. Figure 4-10 shows theAn format.  
31  
11  
10  
4
3
0
0
Set Index  
Line Index  
Figure 4-10. An Format  
The following code example ushes the entire cache:  
_cache_disable:  
nop  
move.w  
jsr  
#0x2700,SR  
_cache_flush  
d0  
;mask off IRQs  
;flush the cache completely  
clr.l  
movec  
movec  
move.l  
movec  
rts  
d0,ACR0  
d0,ACR1  
;ACR0 off  
;ACR1 off  
#0x01000000,d0 ;Invalidate and disable cache  
d0,CACR  
_cache_flush:  
nop  
;synchronize—flush store buffer  
moveq.l  
moveq.l  
move.l  
#0,d0  
#0,d1  
d0,a0  
;initialize way counter  
;initialize set counter  
;initialize cpushl pointer  
setloop:  
cpushl  
add.l  
addq.l  
cmpi.l  
bne  
bc,(a0)  
#0x0010,a0  
#1,d1  
#128,d1  
setloop  
;push cache line a0  
;increment set index by 1  
;increment set counter  
;are sets for this way done?  
moveq.l  
addq.l  
#0,d1  
#1,d0  
;set counter to zero again  
;increment to next way  
4-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Operation Summary  
move.l  
cmpi.l  
bne  
d0,a0  
;set = 0, way = d0  
;flushed all the ways?  
#4,d0  
setloop  
rts  
The following CACR loads assume the default cache mode is copyback.  
CacheLoadAndLock:  
move.l #0xA1000100,d0; enable and invalidate cache ...  
movec  
d0,cacr ; ... in the CACR  
The following code preloads half of the cache (4 Kbytes). It assumes a contiguous block of  
data is to be mapped into the cache, starting at a 0-modulo-4K address.  
move.l #256,d0  
;256 16-byte lines in 4K space  
; load pointer defining data area  
lea  
CacheLoop:  
data_,a0  
tst.b  
lea  
(a0)  
;touch location + load into data cache  
;increment address to next line  
;decrement loop counter  
16(a0),a0  
subq.l #1,d0  
bne.b  
CacheLoop  
;if done, then exit, else continue  
; A 4K region has been loaded into levels 0 and 1 of the 8K cache. lock it!  
move.l #0xA8000100,d0 ;set the cache lock bit ...  
movec  
rts  
d0,cacr  
; ... in the CACR  
align  
16  
4.12 Cache Operation Summary  
This section gives operational details for the cache and presents cache-line state diagrams.  
4.12.1 Cache State Transitions  
Using the V and M bits, the cache supports a line-based protocol allowing individual cache  
lines to be invalid, valid, or modied. To maintain memory coherency, the cache supports  
both write-through and copyback modes, specied by the corresponding ACR[CM], or  
CACR[DCM] if no ACR matches.  
Read or write misses to copyback regions cause the cache controller to read a cache line  
from memory into the cache. If available, tag and data from memory update an invalid line  
in the selected set. The line state then changes from invalid to valid by setting the V bit. If  
all lines in the row are already valid or modied, the pseudo-round-robin replacement  
algorithm selects one of the four lines and replaces the tag and data. Before replacement,  
modied lines are temporarily buffered and later copied back to memory after the new line  
has been read from memory.  
Chapter 4. Local Memory  
4-25  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Operation Summary  
Figure 4-11 shows the three possible cache line states and possible processor-initiated  
transitions for memory congured as copyback. Transitions are labeled with a capital letter  
indicating the previous state and a number indicating the specic case listed in Table 4-11.  
CI5—CINVA  
CI6—CPUSHL & DPI  
CI7—CPUSHL & DPI  
CV1—CPU read miss  
CV2—CPU read hit  
CV7—CPUSHL & DPI  
CI1—CPU read miss  
Valid  
V = 1  
M = 0  
Invalid  
V = 0  
CV5—CINVA  
CV6—CPUSHL & DPI  
CI3—CPU  
write miss  
CD1—CPU  
read miss  
CD7—CPUSHL  
& DPI  
CD5—CINVA  
CD6—CPUSHL & DPI  
CV3—CPU write miss  
CV4—CPU write hit  
Modified  
V = 1  
M = 1  
CD2—CPU read hit  
CD3—CPU write miss  
CD4—CPU write hit  
Figure 4-11. Cache Line State Diagram—Copyback Mode  
Figure 4-12 shows the two possible states for a cache line in write-through mode.  
WV1—CPU read miss  
WI3—CPU write miss  
WI5—CINVA  
WI6—CPUSHL & DPI  
WI7—CPUSHL & DPI  
WV2—CPU read hit  
WV3—CPU write miss  
WV4—CPU write hit  
WV7—CPUSHL & DPI  
WI1—CPU read miss  
Invalid  
V = 0  
Valid  
V = 1  
WV5—CINVA  
WV6—CPUSHL & DPI  
Figure 4-12. Cache Line State Diagram—Write-Through Mode  
Table 4-6 describes cache line transitions and the accesses that cause them.  
4-26  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Cache Operation Summary  
Table 4-6. Cache Line State Transitions  
Current State  
Access  
Invalid (V = 0)  
(C,W)I1 Read line from  
Valid (V = 1, M = 0)  
Modified (V = 1, M = 1)  
Read  
miss  
(C,W)V1 Read new line from  
memory and update  
cache;  
CD1 Push modified line to  
buffer;  
memory and update  
cache;  
supply data to  
processor;  
go to valid state.  
read new line from memory  
and update cache;  
supply data to processor;  
write push buffer contents  
to memory;  
supply data to processor;  
stay in valid state.  
go to valid state.  
Read hit (C,W)I2 Not possible.  
(C,W)V2 Supply data to processor; CD2 Supply data to processor;  
stay in valid state.  
stay in modified state.  
Write  
miss  
(copy-  
back)  
CI3  
Read line from  
memory and update  
cache;  
write data to cache;  
go to modified state.  
CV3  
Read new line from  
memory and update  
cache;  
write data to cache;  
go to modified state.  
CD3 Push modified line to  
buffer;  
read new line from memory  
and update cache;  
write push buffer contents  
to memory;  
stay in modified state.  
Write  
miss  
(write-  
through)  
WI3  
Write data to  
memory;  
stay in invalid state.  
WV3  
Write data to memory;  
stay in valid state.  
WD3 Write data to memory;  
stay in modified state.  
Cache mode changed for  
the region corresponding to  
this line.To avoid this state,  
execute a CPUSHL  
instruction or set  
CACR[CINVA] before  
switching modes.  
Write hit CI4  
(copy-  
back)  
Not possible.  
Not possible.  
CV4  
Write data to cache;  
go to modified state.  
CD4 Write data to cache;  
stay in modified state.  
Write hit WI4  
(write-  
WV4  
Write data to memory and WD4 Write data to memory and  
to cache;  
to cache;  
through)  
stay in valid state.  
go to valid state.  
Cache mode changed for  
the region corresponding to  
this line.To avoid this state,  
execute a CPUSHL  
instruction or set  
CACR[CINVA] before  
switching modes.  
Cache  
invalidate  
(C,W)I5 No action;  
(C,W)V5 No action;  
go to invalid state.  
CD5 No action (modified data  
lost);  
stay in invalid state.  
go to invalid state.  
Cache  
push  
(C,W)I6 No action;  
(C,W)I7 stay in invalid state.  
(C,W)V6 No action;  
go to invalid state.  
CD6 Push modified line to  
memory;  
go to invalid state.  
(C,W)V7 No action;  
stay in valid state.  
CD7 Push modified line to  
memory;  
go to valid state.  
Chapter 4. Local Memory  
4-27  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Operation Summary  
The following tables present the same information as Table 4-6, organized by the current  
state of the cache line. In Table 4-7 the current state is invalid.  
Table 4-7. Cache Line State Transitions (Current State Invalid)  
Access  
Read miss  
Response  
(C,W)I1 Read line from memory and update cache;  
supply data to processor;  
go to valid state.  
Read hit  
(C,W)I2 Not possible  
Write miss (copyback)  
CI3  
Read line from memory and update cache;  
write data to cache;  
go to modified state.  
Write miss (write-through) WI3  
Write data to memory;  
stay in invalid state.  
Write hit (copyback)  
Write hit (write-through)  
Cache invalidate  
CI4  
Not possible  
Not possible  
WI4  
(C,W)I5 No action;  
stay in invalid state.  
Cache push  
Cache push  
(C,W)I6 No action;  
stay in invalid state.  
(C,W)I7 No action;  
stay in invalid state.  
In Table 4-8 the current state is valid.  
Table 4-8. Cache Line State Transitions (Current State Valid)  
Access  
Read miss  
Response  
(C,W)V1 Read new line from memory and update cache;  
supply data to processor; stay in valid state.  
Read hit  
(C,W)V2 Supply data to processor;  
stay in valid state.  
Write miss (copyback)  
CV3  
Read new line from memory and update cache;  
write data to cache;  
go to modified state.  
Write miss (write-through) WV3  
Write data to memory;  
stay in valid state.  
Write hit (copyback)  
Write hit (write-through)  
Cache invalidate  
Cache push  
CV4  
Write data to cache;  
go to modified state.  
WV4  
Write data to memory and to cache;  
stay in valid state.  
(C,W)V5 No action;  
go to invalid state.  
(C,W)V6 No action;  
go to invalid state.  
Cache push  
(C,W)V7 No action;  
stay in valid state.  
4-28  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Cache Initialization Code  
In the current state is modied.  
Table 4-9. Cache Line State Transitions (Current State Modified)  
Access  
Response  
Read miss  
CD1 Push modified line to buffer;  
read new line from memory and update cache;  
supply data to processor;  
write push buffer contents to memory;  
go to valid state.  
Read hit  
CD2 Supply data to processor;  
stay in modified state.  
Write miss  
(copyback)  
CD3 Push modified line to buffer;  
read new line from memory and update cache;  
write push buffer contents to memory;  
stay in modified state.  
Write miss  
WD3 Write data to memory;  
(write-through)  
stay in modified state.  
Cache mode changed for the region corresponding to this line. To avoid this state,  
execute a CPUSHL instruction or set CACR[CINVA] before switching modes.  
Write hit  
(copyback)  
CD4 Write data to cache;  
stay in modified state.  
Write hit  
WD4 Write data to memory and to cache;  
(write-through)  
go to valid state.  
Cache mode changed for the region corresponding to this line. To avoid this state,  
execute a CPUSHL instruction or set CACR[CINVA] before switching modes.  
Cache invalidate  
Cache push  
CD5 No action (modified data lost);  
go to invalid state.  
CD6 Push modified line to memory;  
go to invalid state.  
Cache push  
CD7 Push modified line to memory;  
go to valid state.  
4.13 Cache Initialization Code  
The following example sets up the cache for FLASH or ROM space only.  
move.l#0x81000300,D0 //enable cache, invalidate it,  
//default mode is cache-inhibited imprecise  
movecD0, CACR  
move.l #0xFF00C000,D0//cache FLASH space, enable,  
//ignore FC2, cacheable, writethrough  
movecD0,ACR0  
Chapter 4. Local Memory  
4-29  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
he Initialization Code  
4-30  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 5  
Debug Support  
This chapter describes the Revision B enhanced hardware debug support in the MC5307.  
This revision of the ColdFire debug architecture encompasses the earlier revision.  
5.1 Overview  
The debug module is shown in Figure 5-1.  
High-speed  
ColdFire CPU Core  
local bus  
Debug Module  
Trace Port  
PST[3:0], DDATA[3:0]  
PSTCLK  
Control  
BKPT  
Communication Port  
DSCLK, DSI, DSO  
Figure 5-1. Processor/Debug Module Interface  
Debug support is divided into three areas:  
Real-time trace support—The ability to determine the dynamic execution path  
through an application is fundamental for debugging. The ColdFire solution  
implements an 8-bit parallel output bus that reports processor execution status and  
data to an external emulator system. See Section 5.3, “Real-Time Trace Support.”  
Background debug mode (BDM)—Provides low-level debugging in the ColdFire  
processor complex. In BDM, the processor complex is halted and a variety of  
commands can be sent to the processor to access memory and registers. The external  
emulator uses a three-pin, serial, full-duplex channel. See Section 5.5, “Background  
Debug Mode (BDM),” and Section 5.4, “Programming Model.”  
Real-time debug support—BDM requires the processor to be halted, which many  
real-time embedded applications cannot do. Debug interrupts let real-time systems  
execute a unique service routine that can quickly save the contents of key registers  
and variables and return the system to normal operation. The emulator can access  
saved data because the hardware supports concurrent operation of the processor and  
BDM-initiated commands. See Section 5.6, “Real-Time Debug Support.”  
Chapter 5. Debug Support  
5-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
al Description  
The Version 2 ColdFire core implemented the original debug architecture, now called  
Revision A. Based on feedback from customers and third-party developers, enhancements  
have been added to succeeding generations of ColdFire cores. The Version 3 core  
implements Revision B of the debug architecture, providing more exibility for conguring  
the hardware breakpoint trigger registers and removing the restrictions involving  
concurrent BDM processing while hardware breakpoint registers are active.  
5.2 Signal Description  
Table 5-1 describes debug module signals. All ColdFire debug signals are unidirectional  
and related to a rising edge of the processor core’s clock signal. The standard 26-pin debug  
connector is shown in Section 5.7, “Motorola-Recommended BDM Pinout.”  
Table 5-1. Debug Module Signals  
Signal  
Description  
Development Serial Internally synchronized input. (The logic level on DSCLK is validated if it has the same value on  
Clock (DSCLK)  
two consecutive rising CLKIN edges.) Clocks the serial communication port to the debug  
module. Maximum frequency is 1/5 the processor CLK speed. At the synchronized rising edge  
of DSCLK, the data input on DSI is sampled and DSO changes state.  
Development Serial Internally synchronized input that provides data input for the serial communication port to the  
Input (DSI) debug module.  
Development Serial Provides serial output communication for debug module responses. DSO is registered  
Output (DSO) internally.  
Breakpoint (BKPT) Input used to request a manual breakpoint. Assertion of BKPT puts the processor into a halted  
state after the current instruction completes. Halt status is reflected on processor status/debug  
data signals (PST[3:0]) as the value 0xF. If CSR[BKD] is set (disabling normal BKPT  
functionality), asserting BKPT generates a debug interrupt exception in the processor.  
Processor Status  
Clock (PSTCLK)  
Delayed version of the processor clock. Its rising edge appears in the center of valid PST and  
DDATA output. See Figure 5-2. PSTCLK indicates when the development system should  
sample PST and DDATA values.  
If real-time trace is not used, setting CSR[PCD] keeps PSTCLK, PST and DDATA outputs from  
toggling without disabling triggers. Non-quiescent operation can be reenabled by clearing  
CSR[PCD], although the emulator must resynchronize with the PST and DDATA outputs.  
PSTCLK starts clocking only when the first non-zero PST value (0xC, 0xD, or 0xF) occurs  
during system reset exception processing. Table 5-2 describes PST values. Chapter 7,  
“Phase-Locked Loop (PLL),describes PSTCLK generation.  
Debug Data  
(DDATA[3:0])  
These output signals display the hardware register breakpoint status as a default, or optionally,  
captured address and operand values. The capturing of data values is controlled by the setting  
of the CSR. Additionally, execution of the WDDATA instruction by the processor captures  
operands which are displayed on DDATA. These signals are updated each processor cycle.  
Processor Status  
(PST[3:0])  
These output signals report the processor status. Table 5-2 shows the encoding of these  
signals.These outputs indicate the current status of the processor pipeline and, as a result, are  
not related to the current bus transfer. The PST value is updated each processor cycle.  
5-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Real-Time Trace Support  
Figure 5-2 shows PSTCLK timing with respect to PST and DDATA.  
PSTCLK  
PST or DDATA  
Figure 5-2. PSTCLK Timing  
5.3 Real-Time Trace Support  
Real-time trace, which denes the dynamic execution path, is a fundamental debug  
function. The ColdFire solution is to include a parallel output port providing encoded  
processor status and data to an external development system. This port is partitioned into  
two 4-bit nibbles: one nibble allows the processor to transmit processor status, (PST), and  
the other allows operand data to be displayed (debug data, DDATA). The processor status  
may not be related to the current bus transfer.  
External development systems can use PST outputs with an external image of the program  
to completely track the dynamic execution path. This tracking is complicated by any  
change in ow, especially when branch target address calculation is based on the contents  
of a program-visible register (variant addressing). DDATA outputs can be congured to  
display the target address of such instructions in sequential nibble increments across  
multiple processor clock cycles, as described in Section 5.3.1, “Begin Execution of Taken  
Branch (PST = 0x5).” Two 32-bit storage elements form a FIFO buffer connecting the  
processor’s high-speed local bus to the external development system through PST[3:0] and  
DDATA[3:0]. The buffer captures branch target addresses and certain data values for  
eventual display on the DDATA port, one nibble at a time starting with the lsb.  
Execution speed is affected only when both storage elements contain valid data to be  
dumped to the DDATA port. The core stalls until one FIFO entry is available.  
Table 5-2 shows the encoding of these signals.  
Chapter 5. Debug Support  
5-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
-Time Trace Support  
Table 5-2. Processor Status Encoding  
PST[3:0]  
Definition  
Hex Binary  
0x0  
0000 Continue execution. Many instructions execute in one processor cycle. If an instruction requires more  
clock cycles, subsequent clock cycles are indicated by driving PST outputs with this encoding.  
0x1  
0001 Begin execution of one instruction. For most instructions, this encoding signals the first clock cycle of  
an instruction’s execution. Certain change-of-flow opcodes, plus the PULSE and WDDATA instructions,  
generate different encodings.  
0x2  
0x3  
0010 Reserved  
0011 Entry into user-mode. Signaled after execution of the instruction that caused the ColdFire processor to  
enter user mode.  
0x4  
0100 Begin execution of PULSE and WDDATA instructions. PULSE defines logic analyzer triggers for debug  
and/or performance analysis. WDDATA lets the core write any operand (byte, word, or longword)  
directly to the DDATA port, independent of debug module configuration. When WDDATA is executed, a  
value of 0x4 is signaled on the PST port, followed by the appropriate marker, and then the data transfer  
on the DDATA port. Transfer length depends on the WDDATA operand size.  
0x5  
0101 Begin execution of taken branch. For some opcodes, a branch target address may be displayed on  
DDATA depending on the CSR settings. CSR also controls the number of address bytes displayed,  
indicated by the PST marker value preceding the DDATA nibble that begins the data output. See  
Section 5.3.1, “Begin Execution of Taken Branch (PST = 0x5).”  
0x6  
0x7  
0110 Reserved  
0111 Begin execution of return from exception (RTE) instruction.  
0x8– 1000– Indicates the number of bytes to be displayed on the DDATA port on subsequent clock cycles. The  
0xB  
1011 value is driven onto the PST port one clock PSTCLK cycle before the data is displayed on DDATA.  
0x8 Begin 1-byte transfer on DDATA.  
0x9 Begin 2-byte transfer on DDATA.  
0xA Begin 3-byte transfer on DDATA.  
0xB Begin 4-byte transfer on DDATA.  
0xC  
0xD  
0xE  
0xF  
1100 Exception processing. Exceptions that enter emulation mode (debug interrupt or optionally trace)  
generate a different encoding, as described below. Because the 0xC encoding defines a multiple-cycle  
mode, PST outputs are driven with 0xC until exception processing completes.  
1101 Entry into emulator mode. Displayed during emulation mode (debug interrupt or optionally trace).  
Because this encoding defines a multiple-cycle mode, PSToutputs are driven with 0xD until exception  
processing completes.  
1110 Processor is stopped. Appears in multiple-cycle format when the MCF5307 executes a STOP  
instruction. The ColdFire processor remains stopped until an interrupt occurs, thus PST outputs  
display 0xE until the stopped mode is exited.  
1111 Processor is halted. Because this encoding defines a multiple-cycle mode, the PST outputs display  
0xF until the processor is restarted or reset. (see Section 5.5.1, “CPU Halt”)  
5.3.1 Begin Execution of Taken Branch (PST = 0x5)  
PST is 0x5 when a taken branch is executed. For some opcodes, a branch target address may  
be displayed on DDATA depending on the CSR settings. CSR also controls the number of  
address bytes displayed, which is indicated by the PST marker value immediately  
preceding the DDATA nibble that begins the data output.  
5-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Programming Model  
Bytes are displayed in least-to-most-signicant order. The processor captures only those  
target addresses associated with taken branches which use a variant addressing mode, that  
is, RTE and RTS instructions, JMP and JSR instructions using address register indirect or  
indexed addressing modes, and all exception vectors.  
The simplest example of a branch instruction using a variant address is the compiled code  
for a C language case statement. Typically, the evaluation of this statement uses the variable  
of an expression as an index into a table of offsets, where each offset points to a unique case  
within the structure. For such change-of-ow operations, the MCF5307 uses the debug pins  
to output the following sequence of information on successive processor clock cycles:  
1. Use PST (0x5) to identify that a taken branch was executed.  
2. Using the PST pins, optionally signal the target address to be displayed sequentially  
on the DDATA pins. Encodings 0x9–0xB identify the number of bytes displayed.  
3. The new target address is optionally available on subsequent cycles using the  
DDATA port. The number of bytes of the target address displayed on this port is  
congurable (2, 3, or 4 bytes).  
Another example of a variant branch instruction would be a JMP (A0) instruction.  
Figure 5-3 shows when the PST and DDATA outputs that indicate when a JMP (A0)  
executed, assuming the CSR was programmed to display the lower 2 bytes of an address.  
PSTCLK  
PST  
0x5  
0x0  
0x9  
0x0  
DDATA  
A[3:0]  
A[7:4]  
A[11:8]  
A[15:12]  
Figure 5-3. Example JMP Instruction Output on PST/DDATA  
PST is driven with a 0x5 in the rst cycle and 0x9 in the second. The 0x5 indicates a taken  
branch and the marker value 0x9 indicates a 2-byte address. Thus, the 4 subsequent DDATA  
nibbles display the lower 2 bytes of address register A0 in least-to-most-signicant nibble  
order. The PST output after the JMP instruction completes depends on the target  
instruction. The PST can continue with the next instruction before the address has  
completely displayed on DDATA because of the DDATA FIFO. If the FIFO is full and the  
next instruction has captured values to display on DDATA, the pipeline stalls (PST = 0x0)  
until space is available in the FIFO.  
5.4 Programming Model  
In addition to the existing BDM commands that provide access to the processor’s registers  
and the memory subsystem, the debug module contains nine registers to support the  
required functionality. These registers are also accessible from the processor’s supervisor  
Chapter 5. Debug Support  
5-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
gramming Model  
programming model by executing the WDEBUG instruction. Thus, the breakpoint  
hardware in the debug module can be accessed by the external development system using  
the debug serial interface or by the operating system running on the processor core.  
Software is responsible for guaranteeing that accesses to these resources are serialized and  
logically consistent. Hardware provides a locking mechanism in the CSR to allow the  
external development system to disable any attempted writes by the processor to the  
breakpoint registers (setting CSR[IPW]). BDM commands must not be issued if the  
MCF5307 is using the WDEBUG instruction to access debug module registers or the  
resulting behavior is undened.  
These registers, shown in Figure 5-4, are treated as 32-bit quantities, regardless of the  
number of implemented bits.  
31  
15  
7
0
AATR  
Address attribute trigger register  
31  
15  
0
ABLR  
ABHR  
Address low breakpoint register  
Address high breakpoint register  
31  
31  
15  
15  
7
0
0
BAAR  
CSR  
BDM address attribute register  
Configuration/status register  
31  
31  
31  
15  
15  
15  
0
0
0
DBR  
Data breakpoint register  
DBMR Data breakpoint mask register  
PBR  
PC breakpoint register  
PBMR PC breakpoint mask register  
TDR  
Trigger definition register  
Note: Each debug register is accessed as a 32-bit register; shaded fields above are not used (don’t care).  
All debug control registers are writable from the external development system or the CPU via the  
WDEBUG instruction.  
CSR is write-only from the programming model. It can be read or written through the BDM port using the  
RDMREG and WDMREG commands.  
Figure 5-4. Debug Programming Model  
These registers are accessed through the BDM port by new BDM commands, WDMREG and  
RDMREG, described in Section 5.5.3.3, “Command Set Descriptions.” These commands  
contain a 5-bit eld, DRc, that species the register, as shown in Table 5-3.  
5-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Programming Model  
Table 5-3. BDM/Breakpoint Registers  
DRc[4–0]  
Register Name  
Abbreviation  
Initial State  
Page  
0x00  
Configuration/status register  
CSR  
0x0010_0000  
p. 5-10  
0x01–0x04 Reserved  
0x05  
0x06  
0x07  
0x08  
0x09  
BDM address attribute register  
BAAR  
AATR  
TDR  
0x0000_0005  
p. 5-9  
p. 5-7  
p. 5-14  
p. 5-13  
p. 5-13  
Address attribute trigger register  
Trigger definition register  
0x0000_0005  
0x0000_0000  
Program counter breakpoint register  
Program counter breakpoint mask register  
PBR  
PBMR  
0x0A–0x0B Reserved  
0x0C  
0x0D  
0x0E  
0x0F  
Address breakpoint high register  
ABHR  
ABLR  
DBR  
DBMR  
p. 5-8  
p. 5-8  
p. 5-12  
p. 5-12  
Address breakpoint low register  
Data breakpoint register  
Data breakpoint mask register  
NOTE:  
Debug control registers can be written by the external  
development system or the CPU through the WDEBUG  
instruction.  
CSR is write-only from the programming model. It can be read  
or written through the BDM port using the RDMREG and  
WDMREG commands.  
5.4.1 Address Attribute Trigger Register (AATR)  
The address attribute trigger register (AATR) denes address attributes and a mask to be  
matched in the trigger. The register value is compared with address attribute signals from  
the processor’s local high-speed bus, as dened by the setting of the trigger denition  
register (TDR).  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Field RM  
SZM  
TTM  
TMM  
R
SZ  
TT  
TM  
Reset  
0000_0000_0000_0101  
R/W Write only. AATR is accessible in supervisor mode as debug control register 0x06 using the WDEBUG  
instruction and through the BDM port using the WDMREG command.  
DRc[4–0]  
0x06  
Figure 5-5. Address Attribute Trigger Register (AATR)  
Table 5-4 describes AATR elds.  
Chapter 5. Debug Support  
5-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
gramming Model  
Bits Name  
Table 5-4. AATR Field Descriptions  
Description  
15  
RM  
Read/write mask. Setting RM masks R in address comparisons.  
14–13 SZM  
12–11 TTM  
Size mask. Setting an SZM bit masks the corresponding SZ bit in address comparisons.  
Transfer type mask. Setting a TTM bit masks the corresponding TT bit in address comparisons.  
10–8  
7
TMM Transfer modifier mask. Setting a TMM bit masks the corresponding TM bit in address comparisons.  
R
Read/write. R is compared with the R/W signal of the processor’s local bus.  
6–5  
SZ  
Size. Compared to the processor’s local bus size signals.  
00 Longword  
01 Byte  
10 Word  
11 Reserved  
4–3  
2–0  
TT  
Transfer type. Compared with the local bus transfer type signals.  
00 Normal processor access  
01 Reserved  
10 Emulator mode access  
11 Acknowledge/CPU space access  
These bits also define the TT encoding for BDM memory commands. In this case, the 01 encoding  
indicates an external or DMA access (for backward compatibility). These bits affect the TM bits.  
TM  
Transfer modifier. Compared with the local bus transfer modifier signals, which give supplemental  
information for each transfer type.  
TT = 00 (normal mode):  
000 Explicit cache line push  
001 User data access  
010 User code access  
011 Reserved  
100 Reserved  
101 Supervisor data access  
110 Supervisor code access  
111 Reserved  
TT = 10 (emulator mode):  
0xx–100 Reserved  
101 Emulator mode data access  
110 Emulator mode code access  
111 Reserved  
TT = 11 (acknowledge/CPU space transfers):  
000 CPU space access  
001–111 Interrupt acknowledge levels 1–7  
These bits also define the TM encoding for BDM memory commands (for backward compatibility).  
5.4.2 Address Breakpoint Registers (ABLR, ABHR)  
The address breakpoint low and high registers (ABLR, ABHR), Figure 5-6, dene regions  
in the processor’s data address space that can be used as part of the trigger. These register  
values are compared with the address for each transfer on the processor’s high-speed local  
bus. The trigger denition register (TDR) identies the trigger as one of three cases:  
1. identically the value in ABLR  
2. inside the range bound by ABLR and ABHR inclusive  
3. outside that same range  
5-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programming Model  
31  
0
Field  
Address  
Reset  
R/W Write only. ABHR is accessible in supervisor mode as debug control register 0x0C using the WDEBUG  
instruction and via the BDM port using the RDMREG and WDMREG commands.  
ABLR is accessible in supervisor mode as debug control register 0x0D using the WDEBUG instruction and  
via the BDM port using the WDMREG command.  
DRc[4–0]  
0x0D (ABLR); 0x0C (ABHR)  
Figure 5-6. Address Breakpoint Registers (ABLR, ABHR)  
Table 5-5 describes ABLR elds.  
Table 5-5. ABLR Field Description  
Bits  
Name  
Description  
31–0 Address Low address. Holds the 32-bit address marking the lower bound of the address breakpoint range.  
Breakpoints for specific addresses are programmed into ABLR.  
Table 5-6 describes ABHR elds.  
Table 5-6. ABHR Field Description  
Bits  
Name  
Description  
31–0 Address High address. Holds the 32-bit address marking the upper bound of the address breakpoint range.  
5.4.3 BDM Address Attribute Register (BAAR)  
The BAAR denes the address space for memory-referencing BDM commands. See  
Figure 5-7. The reset value of 0x5 sets supervisor data as the default address space.  
7
6
5
4
3
2
1
0
Field  
R
SZ  
TT  
0000_0101  
TM  
Reset  
R/W Write only. BAAR[R,SZ] are loaded directly from the BDM command; BAAR[TT,TM] can be programmed as  
debug control register 0x05 from the external development system. For compatibility with Rev. A, BAAR is  
loaded each time AATR is written.  
DRc[4–0]  
0x05  
Figure 5-7. BDM Address Attribute Register (BAAR)  
Table 5-7 describes BAAR elds.  
Chapter 5. Debug Support  
5-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
gramming Model  
Bits Name  
Table 5-7. BAAR Field Descriptions  
Description  
7
R
Read/write  
0 Write  
1 Read  
6–5  
SZ  
Size  
00 Longword  
01 Byte  
10 Word  
11 Reserved  
4–3  
2–0  
TT  
Transfer type. See the TT definition in Table 5-4.  
Transfer modifier. See the TM definition in Table 5-4.  
TM  
5.4.4 Configuration/Status Register (CSR)  
The conguration/status register (CSR) denes the debug conguration for the processor  
and memory subsystem and contains status information from the breakpoint logic.  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
Field  
BSTAT  
FOF TRG HALT BKPT  
HRL  
BKD  
IPW  
Reset  
0000  
R
0
0
0
0
0001  
R
0
1
R/W  
R
R
R
R
R/W  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
2
Field MAP TRC EMU  
Reset  
R/W R/W R/W R/W  
DRc[4–0]  
DDC  
UHE  
BTB  
00  
0
NPL IPI SSM  
0
0
0
00  
0
0
0
R/W  
R/W  
R/W  
R
R/W  
R/W  
0x00  
1
CSR is write-only from the programming model. It can be read from and written to through the BDM port. CSR  
is accessible in supervisor mode as debug control register 0x00 using the WDEBUG instruction and through  
the BDM port using the RDMREG and WDMREG commands.  
2
Bit 7 is reserved for Motorola use and must be written as a zero.  
Figure 5-8. Configuration/Status Register (CSR)  
Table 5-8 describes CSR elds.  
5-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programming Model  
Table 5-8. CSR Field Descriptions  
Bit  
Name  
Description  
31–28 BSTAT Breakpoint status. Provides read-only status information concerning hardware breakpoints. BSTAT  
is cleared by a TDR write or by a CSR read when either a level-2 breakpoint is triggered or a  
level-1 breakpoint is triggered and the level-2 breakpoint is disabled.  
0000 No breakpoints enabled  
0001 Waiting for level-1 breakpoint  
0010 Level-1 breakpoint triggered  
0101 Waiting for level-2 breakpoint  
0110 Level-2 breakpoint triggered  
27  
26  
FOF  
TRG  
Fault-on-fault. If FOF is set, a catastrophic halt occurred and forced entry into BDM.  
Hardware breakpoint trigger. If TRG is set, a hardware breakpoint halted the processor core and  
forced entry into BDM. Reset and the debug GO command clear TRG.  
25  
24  
HALT Processor halt. If HALT is set, the processor executed a HALT and forced entry into BDM. Reset  
and the debug GO command reset HALT.  
BKPT Breakpoint assert. If BKPT is set, BKPT was asserted, forcing the processor into BDM. Reset and  
the debug GO command clears this bit.  
23–20 HRL  
Hardware revision level. Indicates the level of debug module functionality. An emulator could use  
this information to identify the level of functionality supported.  
0000 Initial debug functionality (Revision A)  
0001 Revision B (this is the only valid value for the MCF5307)  
19  
18  
Reserved, should be cleared.  
BKD  
Breakpoint disable. Used to disable the normal BKPT input functionality and to allow the assertion  
of BKPT to generate a debug interrupt.  
0 Normal operation  
1 BKPT is edge-sensitive: a high-to-low edge on BKPT signals a debug interrupt to the processor.  
The processor makes this interrupt request pending until the next sample point, when the  
exception is initiated. In the ColdFire architecture, the interrupt sample point occurs once per  
instruction. There is no support for nesting debug interrupts.  
17  
16  
PCD  
IPW  
PSTCLK disable. Setting PCD disables generation of PSTCLK, PST and DDATA outputs and  
forces them to remain quiescent.  
Inhibit processor writes. Setting IPW inhibits processor-initiated writes to the debug module’s  
programming model registers. IPW can be modified only by commands from the external  
development system.  
15  
MAP  
Force processor references in emulator mode.  
0 All emulator-mode references are mapped into supervisor code and data spaces.  
1 The processor maps all references while in emulator mode to a special address space, TT = 10,  
TM = 101 or 110.  
14  
13  
TRC  
EMU  
Force emulation mode on trace exception. If TRC = 1, the processor enters emulator mode when a  
trace exception occurs.  
Force emulation mode. If EMU = 1, the processor begins executing in emulator mode. See  
Section 5.6.1.1, “Emulator Mode.”  
12–11 DDC  
Debug data control. Controls operand data capture for DDATA, which displays the number of bytes  
defined by the operand reference size before the actual data; byte displays 8 bits, word displays 16  
bits, and long displays 32 bits (one nibble at a time across multiple clock cycles). See Table 5-2.  
00 No operand data is displayed.  
01 Capture all write data.  
10 Capture all read data.  
11 Capture all read and write data.  
Chapter 5. Debug Support  
5-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
gramming Model  
Table 5-8. CSR Field Descriptions (Continued)  
Bit  
Name  
Description  
10  
UHE  
User halt enable. Selects the CPU privilege level required to execute the HALT instruction.  
0 HALT is a supervisor-only instruction.  
1 HALT is a supervisor/user instruction.  
9–8  
BTB  
Branch target bytes. Defines the number of bytes of branch target address DDATA displays.  
00 0 bytes  
01 Lower 2 bytes of the target address  
10 Lower 3 bytes of the target address  
11 Entire 4-byte target address  
See Section 5.3.1, “Begin Execution of Taken Branch (PST = 0x5).”  
7
6
Reserved, should be cleared.  
NPL  
Non-pipelined mode. Determines whether the core operates in pipelined or mode or not.  
0 Pipelined mode  
1 Nonpipelined mode.The processor effectively executes one instruction at a time with no overlap.  
This adds at least 5 cycles to the execution time of each instruction. Instruction folding is  
disabled. Given an average execution latency of 1.6, throughput in non-pipeline mode would be  
6.6, approximately 25% or less of pipelined performance.  
Regardless of the NPL state, a triggered PC breakpoint is always reported before the triggering  
instruction executes. In normal pipeline operation, the occurrence of an address and/or data  
breakpoint trigger is imprecise. In non-pipeline mode, triggers are always reported before the next  
instruction begins execution and trigger reporting can be considered precise.  
An address or data breakpoint should always occur before the next instruction begins execution.  
Therefore the occurrence of the address/data breakpoints should be guaranteed.  
5
4
IPI  
Ignore pending interrupts.  
1 Core ignores any pending interrupt requests signalled while in single-instruction-step mode.  
0 Core services any pending interrupt requests that were signalled while in single-step mode.  
SSM  
Single-step mode. Setting SSM puts the processor in single-step mode.  
0 Normal mode.  
1 Single-step mode. The processor halts after execution of each instruction. While halted, any  
BDM command can be executed. On receipt of the GO command, the processor executes the  
next instruction and halts again. This process continues until SSM is cleared.  
3–0  
Reserved, should be cleared.  
5.4.5 Data Breakpoint/Mask Registers (DBR, DBMR)  
The data breakpoint registers, Figure 5-9, specify data patterns used as part of the trigger  
into debug mode. Only DBR bits not masked with a corresponding zero in DBMR are  
compared with the data from the processor’s local bus, as dened in TDR.  
31  
0
Field  
Data (DBR); Mask (DBMR)  
Uninitialized  
Reset  
R/W DBR is accessible in supervisor mode as debug control register 0x0E, using the WDEBUG instruction and  
through the BDM port using the RDMREG and WDMREG commands.  
DBMR is accessible in supervisor mode as debug control register 0x0F using the WDEBUG instruction and  
via the BDM port using the WDMREG command.  
DRc[4–0]  
0x0E (DBR), 0x0F (DBMR)  
Figure 5-9. Data Breakpoint/Mask Registers (DBR and DBMR)  
5-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table 5-9 describes DBR elds.  
Programming Model  
Table 5-9. DBR Field Descriptions  
Bits Name  
Description  
31–0 Data  
Data breakpoint value. Contains the value to be compared with the data value from the processor’s  
local bus as a breakpoint trigger.  
Table 5-10 describes DBMR elds.  
Table 5-10. DBMR Field Descriptions  
Bits Name  
Description  
31–0 Mask  
Data breakpoint mask. The 32-bit mask for the data breakpoint trigger. Clearing a DBR bit allows  
the corresponding DBR bit to be compared to the appropriate bit of the processor’s local data bus.  
Setting a DBMR bit causes that bit to be ignored.  
The DBR supports both aligned and misaligned references. Table 5-11 shows relationships  
between processor address, access size, and location within the 32-bit data bus.  
Table 5-11. Access Size and Operand Data Location  
A[1:0]  
Access Size  
Operand Location  
00  
01  
10  
11  
0x  
1x  
xx  
Byte  
Byte  
D[31:24]  
D[23:16]  
D[15:8]  
D[7:0]  
Byte  
Byte  
Word  
D[31:16]  
D[15:0]  
D[31:0]  
Word  
Longword  
5.4.6 Program Counter Breakpoint/Mask Registers  
(PBR, PBMR)  
The PC breakpoint register (PBR) denes an instruction address for use as part of the  
trigger. This register’s contents are compared with the processor’s program counter register  
when TDR is congured appropriately. PBR bits are masked by clearing corresponding  
PBMR bits. Results are compared with the processor’s program counter register, as dened  
in TDR. Figure 5-10 shows the PC breakpoint register.  
Chapter 5. Debug Support  
5-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
gramming Model  
31  
1
0
Field  
Program Counter  
Reset  
R/W Write. PC breakpoint register is accessible in supervisor mode using the WDEBUG instruction and through  
the BDM port using the RDMREG and WDMREG commands using values shown in Section 5.5.3.3, “Command  
Set Descriptions.”  
DRc[4–0]  
0x08  
Figure 5-10. Program Counter Breakpoint Register (PBR)  
Table 5-12 describes PBR elds.  
Table 5-12. PBR Field Descriptions  
Bits  
Name  
Description  
31–0 Address PC breakpoint address. The 32-bit address to be compared with the PC as a breakpoint trigger.  
Figure 5-11 shows PBMR.  
31  
0
Field  
Reset  
R/W  
Mask  
Write. PBMR is accessible in supervisor mode as debug control register 0x09 using the WDEBUG  
instruction and via the BDM port using the wdmreg command.  
DRc[4–0]  
0x09  
Figure 5-11. Program Counter Breakpoint Mask Register (PBMR)  
Table 5-13 describes PBMR elds.  
Table 5-13. PBMR Field Descriptions  
Bits Name  
Description  
31–0 Mask  
PC breakpoint mask. A zero in a bit position causes the corresponding PBR bit to be compared to  
the appropriate PC bit. Set PBMR bits cause PBR bits to be ignored.  
5.4.7 Trigger Definition Register (TDR)  
The TDR, shown in Table 5-12, congures the operation of the hardware breakpoint logic  
that corresponds with the ABHR/ABLR/AATR, PBR/PBMR, and DBR/DBMR registers  
within the debug module. The TDR controls the actions taken under the dened conditions.  
Breakpoint logic may be congured as a one- or two-level trigger. TDR[31–16] dene the  
second-level trigger and bits 15–0 dene the rst-level trigger.  
5-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Model  
NOTE:  
The debug module has no hardware interlocks, so to prevent  
spurious breakpoint triggers while the breakpoint registers are  
being loaded, disable TDR (by clearing TDR[29,13] before  
dening triggers.  
A write to TDR clears the CSR trigger status bits, CSR[BSTAT].  
Section Table 5-14., “TDR Field Descriptions,” describes how to handle multiple  
breakpoint conditions.  
Second-Level Trigger  
31 30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
Field TRC  
EBL EDLW EDWL EDWU EDLL EDLM EDUM EDUU DI  
0000_0000_0000_0000  
EAI EAR EAL EPC PCI  
Reset  
First-Level Trigger  
15 14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Field LxT  
EBL EDLW EDWL EDWU EDLL EDLM EDUM EDUU DI  
0000_0000_0000_0000  
EAI EAR EAL EPC PCI  
Reset  
R/W Write only. Accessible in supervisor mode as debug control register 0x07 using the WDEBUG instruction and  
through the BDM port using the WDMREG command.  
DRc[4–0]  
0x07  
Figure 5-12. Trigger Definition Register (TDR)  
Table 5-14 describes TDR elds.  
Table 5-14. TDR Field Descriptions  
Bits  
Name  
Description  
31–30 TRC  
Trigger response control. Determines how the processor responds to a completed trigger condition. The  
trigger response is always displayed on DDATA.  
00 Display on DDATA only  
01 Processor halt  
10 Debug interrupt  
11 Reserved  
15:14  
LxT  
Level-x trigger. This is a Rev. B function. The Level-x Trigger bit determines the logic operation for the  
trigger between the PC_condition and the (Address_range & Data_condition) where the inclusion of a  
Data condition is optional. The ColdFire debug architecture supports the creation of single or double-level  
triggers.  
TDR[15]  
0 Level-2 trigger = PC_condition & Address_range & Data_condition  
1 Level-2 trigger = PC_condition | (Address_range & Data_condition)  
TDR[14]  
0 Level-1 trigger = PC_condition & Address_range & Data_condition  
1 Level-1 trigger = PC_condition | (Address_range & Data_condition)  
29/13  
EBL  
Enable breakpoint. Global enable for the breakpoint trigger. Setting TDR[EBL] enables a breakpoint  
trigger. Clearing it disables all breakpoints.  
Chapter 5. Debug Support  
5-15  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
Table 5-14. TDR Field Descriptions (Continued)  
Bits  
Name  
Description  
28–22 EDx  
12–6  
Setting an EDx bit enables the corresponding data breakpoint condition based on the size and placement  
on the processor’s local data bus. Clearing all EDx bits disables data breakpoints.  
28/12  
27/11  
26/10  
25/9  
EDLW Data longword. Entire processor’s local data bus.  
EDWL Lower data word.  
EDWU Upper data word.  
EDLL Lower lower data byte. Low-order byte of the low-order word.  
EDLM Lower middle data byte. High-order byte of the low-order word.  
EDUM Upper middle data byte. Low-order byte of the high-order word.  
EDUU Upper upper data byte. High-order byte of the high-order word.  
24/8  
23/7  
22/6  
21/5  
DI  
Data breakpoint invert. Provides a way to invert the logical sense of all the data breakpoint comparators.  
This can develop a trigger based on the occurrence of a data value other than the DBR contents.  
20–18/ EAx  
4–2  
Enable address bits. Setting an EA bit enables the corresponding address breakpoint. Clearing all three  
bits disables the breakpoint.  
20/4  
19/3  
18/2  
EAI  
Enable address breakpoint inverted. Breakpoint is based outside the range between ABLR and  
ABHR.  
EAR  
EAL  
Enable address breakpoint range. The breakpoint is based on the inclusive range defined by  
ABLR and ABHR.  
Enable address breakpoint low. The breakpoint is based on the address in the ABLR.  
17/1  
16/0  
EPC  
PCI  
Enable PC breakpoint. If set, this bit enables the PC breakpoint.  
Breakpoint invert. If set, this bit allows execution outside a given region as defined by PBR and PBMR to  
enable a trigger. If cleared, the PC breakpoint is defined within the region defined by PBR and PBMR.  
5.5 Background Debug Mode (BDM)  
The ColdFire Family implements a low-level system debugger in the microprocessor  
hardware. Communication with the development system is handled through a dedicated,  
high-speed serial command interface. The ColdFire architecture implements the BDM  
controller in a dedicated hardware module. Although some BDM operations, such as CPU  
register accesses, require the CPU to be halted, other BDM commands, such as memory  
accesses, can be executed while the processor is running.  
5.5.1 CPU Halt  
Although many BDM operations can occur in parallel with CPU operations, unrestricted  
BDM operation requires the CPU to be halted. The sources that can cause the CPU to halt  
are listed below in order of priority:  
1. A catastrophic fault-on-fault condition automatically halts the processor.  
5-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
2. A hardware breakpoint can be congured to generate a pending halt condition  
similar to the assertion of BKPT. This type of halt is always rst made pending in  
the processor. Next, the processor samples for pending halt and interrupt conditions  
once per instruction. When a pending condition is asserted, the processor halts  
execution at the next sample point. See Section 5.6.1, “Theory of Operation.”  
3. The execution of a HALT instruction immediately suspends execution. Attempting  
to execute HALT in user mode while CSR[UHE] = 0 generates a privilege violation  
exception. If CSR[UHE] = 1, HALT can be executed in user mode. After HALT  
executes, the processor can be restarted by serial shifting a GO command into the  
debug module. Execution continues at the instruction after HALT.  
4. The assertion of the BKPT input is treated as a pseudo-interrupt; that is, the halt  
condition is postponed until the processor core samples for halts/interrupts. The  
processor samples for these conditions once during the execution of each  
instruction. If there is a pending halt condition at the sample time, the processor  
suspends execution and enters the halted state.  
The assertion of BKPT should be considered in the following two special cases:  
After the system reset signal is negated, the processor waits for 16 processor clock  
cycles before beginning reset exception processing. If the BKPT input is asserted  
within eight cycles after RSTI is negated, the processor enters the halt state,  
signaling halt status (0xF) on the PST outputs. While the processor is in this state,  
all resources accessible through the debug module can be referenced. This is the  
only chance to force the processor into emulation mode through CSR[EMU].  
After system initialization, the processor’s response to the GO command depends on  
the set of BDM commands performed while it is halted for a breakpoint.  
Specically, if the PC register was loaded, the GO command causes the processor to  
exit halted state and pass control to the instruction address in the PC, bypassing  
normal reset exception processing. If the PC was not loaded, the GO command  
causes the processor to exit halted state and continue reset exception processing.  
The ColdFire architecture also handles a special case of BKPT being asserted while  
the processor is stopped by execution of the STOP instruction. For this case, the  
processor exits the stopped mode and enters the halted state, at which point, all BDM  
commands may be exercised. When restarted, the processor continues by executing  
the next sequential instruction, that is, the instruction following the STOP opcode.  
CSR[27–24] indicates the halt source, showing the highest priority source for multiple halt  
conditions.  
5.5.2 BDM Serial Interface  
When the CPU is halted and PST reects the halt status, the development system can send  
unrestricted commands to the debug module. The debug module implements a synchronous  
protocol using two inputs (DSCLK and DSI) and one output (DSO), where DSCLK and  
Chapter 5. Debug Support  
5-17  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
DSI must meet the required input setup and hold timings and the DSO is specied as a delay  
relative to the rising edge of the processor clock. See Table 5-1. The development system  
serves as the serial communication channel master and must generate DSCLK.  
The serial channel operates at a frequency from DC to 1/5 of the processor frequency. The  
channel uses full-duplex mode, where data is sent and received simultaneously by both  
master and slave devices. The transmission consists of 17-bit packets composed of a  
status/control bit and a 16-bit data word. As shown in Figure 5-13, all state transitions are  
enabled on a rising edge of the processor clock when DSCLK is high; that is, DSI is  
sampled and DSO is driven.  
C1  
C2  
C3  
C4  
CPU CLK  
PSTCLK  
DSCLK  
DSI  
Current  
Next  
BDM State  
Machine  
Current State  
Past  
Next State  
Current  
DSO  
Figure 5-13. BDM Serial Interface Timing  
DSCLK and DSI are synchronized inputs. DSCLK acts as a pseudo clock enable and is  
sampled on the rising edge of the processor CLK as well as the DSI. DSO is delayed from  
the DSCLK-enabled CLK rising edge (registered after a BDM state machine state change).  
All events in the debug module’s serial state machine are based on the processor clock  
rising edge. DSCLK must also be sampled low (on a positive edge of CLK) between each  
bit exchange. The MSB is transferred rst. Because DSO changes state based on an  
internally-recognized rising edge of DSCLK, DSDO cannot be used to indicate the start of  
a serial transfer. The development system must count clock cycles in a given transfer.  
C1–C4 are described as follows:  
C1—First synchronization cycle for DSI (DSCLK is high).  
C2—Second synchronization cycle for DSI (DSCLK is high).  
C3—BDM state machine changes state depending upon DSI and whether the entire  
input data transfer has been transmitted.  
C4—DSO changes to next value.  
NOTE:  
A not-ready response can be ignored except during a  
memory-referencing cycle. Otherwise, the debug module can  
accept a new serial transfer after 32 processor clock periods.  
5-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.2.1 Receive Packet Format  
The basic receive packet, Figure 5-14, consists of 16 data bits and 1 status bit.  
16  
S
15  
0
Data Field [15:0]  
Figure 5-14. Receive BDM Packet  
Table 5-15 describes receive BDM packet elds.  
Table 5-15. Receive BDM Packet Field Description  
Bits Name  
16  
Description  
S
Status. Indicates the status of CPU-generated messages listed below. The not-ready response can  
be ignored unless a memory-referencing cycle is in progress. Otherwise, the debug module can  
accept a new serial transfer after 32 processor clock periods.  
S
0
0
1
1
1
Data  
xxxx  
Message  
Valid data transfer  
0xFFFF Status OK  
0x0000  
0x0001  
Not ready with response; come again  
Error—Terminated bus cycle; data invalid  
0xFFFF Illegal command  
15–0 Data  
Data. Contains the message to be sent from the debug module to the development system. The  
response message is always a single word, with the data field encoded as shown above.  
5.5.2.2 Transmit Packet Format  
The basic transmit packet, Figure 5-15, consists of 16 data bits and 1 control bit.  
16  
C
15  
0
D[15:0]  
Figure 5-15. Transmit BDM Packet  
Table 5-16 describes transmit BDM packet elds.  
Table 5-16. Transmit BDM Packet Field Description  
Bits Name  
16  
Description  
C
Control. This bit is reserved. Command and data transfers initiated by the development system  
should clear C.  
15–0 Data  
Contains the data to be sent from the development system to the debug module.  
5.5.3 BDM Command Set  
Table 5-17 summarizes the BDM command set. Subsequent paragraphs contain detailed  
descriptions of each command. Issuing a BDM command when the processor is accessing  
debug module registers using the WDEBUG instruction causes undened behavior.  
Chapter 5. Debug Support  
5-19  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
Table 5-17. BDM Command Summary  
CPU  
State  
Command  
(Hex)  
Command Mnemonic  
Description  
Section  
1
Read A/D  
register  
RAREG/  
RDREG  
Read the selected address or data register and  
return the results through the serial interface.  
Halted  
Halted  
Steal  
5.5.3.3.1 0x218 {A/D,  
Reg[2:0]}  
Write A/D  
register  
WAREG/  
WDREG  
Write the data operand to the specified address or  
data register.  
5.5.3.3.2 0x208 {A/D,  
Reg[2:0]}  
Read  
memory  
location  
READ  
WRITE  
DUMP  
Read the data at the memory location specified by  
the longword address.  
5.5.3.3.3 0x1900—byte  
0x1940—word  
0x1980—lword  
Write  
memory  
location  
Write the operand data to the memory location  
specified by the longword address.  
Steal  
Steal  
5.5.3.3.4 0x1800—byte  
0x1840—word  
0x1880—lword  
Dump  
memory  
block  
Used with READ to dump large blocks of memory.  
An initial READ is executed to set up the starting  
address of the block and to retrieve the first result.  
A DUMP command retrieves subsequent operands.  
5.5.3.3.5 0x1D00—byte  
0x1D40—word  
0x1D80—lword  
Fill memory  
block  
FILL  
GO  
Used with WRITE to fill large blocks of memory. An  
initial WRITE is executed to set up the starting  
address of the block and to supply the first operand.  
A FILL command writes subsequent operands.  
Steal  
5.5.3.3.6 0x1C00—byte  
0x1C40—word  
0x1C80—lword  
Resume  
execution  
The pipeline is flushed and refilled before resuming  
instruction execution at the current PC.  
Halted  
5.5.3.3.7 0x0C00  
No operation NOP  
Perform no operation; may be used as a null  
command.  
Parallel 5.5.3.3.8 0x0000  
Parallel 5.5.3.3.9 0x0001  
Halted 5.5.3.3.10 0x2980  
Halted 5.5.3.3.11 0x2880  
Output the  
current PC  
SYNC_PC  
Capture the current PC and display it on the  
PST/DDATA output pins.  
Read control RCREG  
register  
Read the system control register.  
Write control WCREG  
register  
Write the operand data to the system control  
register.  
2
2
Read debug RDMREG  
module  
register  
Read the debug module register.  
Parallel 5.5.3.3.12 0x2D {0x4  
DRc[4:0]}  
Write debug WDMREG  
module  
Write the operand data to the debug module  
register.  
Parallel 5.5.3.3.13 0x2C {0x4  
Drc[4:0]}  
register  
1
General command effect and/or requirements on CPU operation:  
- Halted. The CPU must be halted to perform this command.  
- Steal. Command generates bus cycles that can be interleaved with bus accesses.  
- Parallel. Command is executed in parallel with CPU activity.  
2
0x4 is a three-bit field.  
Unassigned command opcodes are reserved by Motorola. All unused command formats  
within any revision level perform a NOP and return the illegal command response.  
5.5.3.1 ColdFire BDM Command Format  
All ColdFire Family BDM commands include a 16-bit operation word followed by an  
optional set of one or more extension words, as shown in Figure 5-16.  
5-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
15  
10  
9
8
7
6
5
4
3
2
0
Operation  
0
R/W  
Op Size  
0
0
A/D  
Register  
Extension Word(s)  
Figure 5-16. BDM Command Format  
Table 5-18 describes BDM elds.  
Table 5-18. BDM Field Descriptions  
Bit  
Name  
Description  
15–10 Operation Specifies the command. These values are listed in Table 5-17.  
9
8
0
Reserved  
R/W  
Direction of operand transfer.  
0 Data is written to the CPU or to memory from the development system.  
1 The transfer is from the CPU to the development system.  
7–6  
Operand  
Size  
Operand data size for sized operations. Addresses are expressed as 32-bit absolute values.  
Note that a command performing a byte-sized memory read leaves the upper 8 bits of the  
response data undefined. Referenced data is returned in the lower 8 bits of the response.  
Operand Size Bit Values  
00 Byte  
01 Word  
10 Longword  
11 Reserved  
8 bits  
16 bits  
32 bits  
5–4  
3
00  
Reserved  
A/D  
Address/data. Determines whether the register field specifies a data or address register.  
0 Indicates a data register.  
1 Indicates an address register.  
2–0  
Register  
Contains the register number in commands that operate on processor registers.  
5.5.3.1.1 Extension Words as Required  
Some commands require extension words for addresses and/or immediate data. Addresses  
require two extension words because only absolute long addressing is permitted. Longword  
accesses are forcibly longword-aligned and word accesses are forcibly word-aligned.  
Immediate data can be 1 or 2 words long. Byte and word data each requires a single  
extension word and longword data requires two extension words.  
Operands and addresses are transferred most-signicant word rst. In the following  
descriptions of the BDM command set, the optional set of extension words is dened as  
address, data, or operand data.  
5.5.3.2 Command Sequence Diagrams  
The command sequence diagram in Figure 5-17 shows serial bus trafc for commands.  
Each bubble represents a 17-bit bus transfer. The top half of each bubble indicates the data  
the development system sends to the debug module; the bottom half indicates the debug  
module’s response to the previous development system commands. Command and result  
transactions overlap to minimize latency.  
Chapter 5. Debug Support  
5-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
COMMANDS TRANSMITTED TO THE DEBUG MODULE  
COMMAND CODE TRANSMITTED DURING THIS CYCLE  
HIGH-ORDER 16 BITS OF MEMORY ADDRESS  
LOW-ORDER 16 BITS OF MEMORY ADDRESS  
NONSERIAL-RELATED ACTIVITY  
SEQUENCE TAKEN IF  
OPERATION HAS NOT  
COMPLETED  
NEXT  
COMMAND  
CODE  
READ  
MEMORY  
LOCATION  
READ (LONG)  
???  
MS ADDR  
"NOT READY"  
LS ADDR  
"NOT READY"  
XXX  
"NOT READY"  
XXX  
MS RESULT  
NEXT CMD  
LS RESULT  
XXX  
"ILLEGAL"  
NEXT CMD  
"NOT READY"  
XXX  
NEXT CMD  
"NOT READY"  
BERR  
DATA UNUSED FROM  
THIS TRANSFER  
SEQUENCE TAKEN IF BUS  
ERROR OCCURS ON  
MEMORY ACCESS  
SEQUENCE TAKEN IF  
ILLEGAL COMMAND  
IS RECEIVED BY DEBUG MODULE  
RESULTS FROM PREVIOUS COMMAND  
RESPONSES FROM THE DEBUG MODULE  
HIGH- AND LOW-ORDER  
16 BITS OF RESULT  
Figure 5-17. Command Sequence Diagram  
The sequence is as follows:  
In cycle 1, the development system command is issued (READ in this example). The  
debug module responds with either the low-order results of the previous command  
or a command complete status of the previous command, if no results are required.  
In cycle 2, the development system supplies the high-order 16 address bits. The  
debug module returns a not-ready response unless the received command is decoded  
as unimplemented, which is indicated by the illegal command encoding. If this  
occurs, the development system should retransmit the command.  
NOTE:  
A not-ready response can be ignored except during a  
memory-referencing cycle. Otherwise, the debug module can  
accept a new serial transfer after 32 processor clock periods.  
In cycle 3, the development system supplies the low-order 16 address bits. The  
debug module always returns a not-ready response.  
At the completion of cycle 3, the debug module initiates a memory read operation.  
Any serial transfers that begin during a memory access return a not-ready response.  
5-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
Results are returned in the two serial transfer cycles after the memory access  
completes. For any command performing a byte-sized memory read operation, the  
upper 8 bits of the response data are undened and the referenced data is returned in  
the lower 8 bits. The next command’s opcode is sent to the debug module during the  
nal transfer. If a memory or register access is terminated with a bus error, the error  
status (S = 1, DATA = 0x0001) is returned instead of result data.  
5.5.3.3 Command Set Descriptions  
The following sections describe the commands summarized in Table 5-17.  
NOTE:  
The BDM status bit (S) is 0 for normally completed  
commands; S = 1 for illegal commands, not-ready responses,  
and transfers with bus-errors. Section 5.5.2, “BDM Serial  
Interface,” describes the receive packet format.  
Motorola reserves unassigned command opcodes for future expansion. Unused command  
formats in any revision level perform a NOP and return an illegal command response.  
Chapter 5. Debug Support  
5-23  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
5.5.3.3.1 Read A/D Register (RAREG/RDREG)  
Read the selected address or data register and return the 32-bit result. A bus error response  
is returned if the CPU core is not halted.  
Command/Result Formats:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Command  
Result  
0x2  
0x1  
0x8  
A/D  
Register  
D[31:16]  
D[15:0]  
Figure 5-18. RAREG/RDREG Command Format  
Command Sequence:  
RAREG/RDREG  
???  
XXX  
MS RESULT  
NEXT CMD  
LS RESULT  
XXX  
NEXT CMD  
"NOT READY"  
BERR  
Figure 5-19. RAREG/RDREG Command Sequence  
Operand Data:  
Result Data:  
None  
The contents of the selected register are returned as a longword  
value, most-signicant word rst.  
5-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.2 Write A/D Register (WAREG/WDREG)  
The operand longword data is written to the specied address or data register. A write alters  
all 32 register bits. A bus error response is returned if the CPU core is not halted.  
Command Format:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
0x2  
0x0  
0x8  
A/D  
Register  
D[31:16]  
D[15:0]  
Figure 5-20. WAREG/WDREG Command Format  
Command Sequence  
WDREG/WAREG  
???  
MS DATA  
"NOT READY"  
LS DATA  
"NOT READY"  
NEXT CMD  
"CMD COMPLETE"  
XXX  
NEXT CMD  
BERR  
"NOT READY"  
Figure 5-21. WAREG/WDREG Command Sequence  
Operand Data  
Result Data  
Longword data is written into the specied address or data register.  
The data is supplied most-signicant word rst.  
Command complete status is indicated by returning 0xFFFF (with S  
cleared) when the register write is complete.  
Chapter 5. Debug Support  
5-25  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
5.5.3.3.3 Read Memory Location (READ)  
Read data at the longword address. Address space is dened by BAAR[TT,TM]. Hardware  
forces low-order address bits to zeros for word and longword accesses to ensure that word  
addresses are word-aligned and longword addresses are longword-aligned.  
Command/Result Formats:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Byte  
0x1  
0x1  
0x1  
0x9  
0x9  
0x9  
0x0  
0x4  
0x8  
0x0  
0x0  
0x0  
Command  
A[31:16]  
A[15:0]  
X
Result  
X
X
X
X
X
X
X
D[7:0]  
Word  
Command  
A[31:16]  
A[15:0]  
D[15:0]  
Result  
Longword Command  
A[31:16]  
A[15:0]  
D[31:16]  
D[15:0]  
Result  
Figure 5-22. READ Command/Result Formats  
Command Sequence:  
READ  
MEMORY  
LOCATION  
READ (B/W)  
???  
MS ADDR  
"NOT READY"  
LS ADDR  
"NOT READY"  
XXX  
"NOT READY"  
NEXT CMD  
RESULT  
XXX  
NEXT CMD  
"NOT READY"  
BERR  
READ  
MEMORY  
LOCATION  
READ (LONG)  
???  
MS ADDR  
"NOT READY"  
LS ADDR  
"NOT READY"  
XXX  
"NOT READY"  
XXX  
MS RESULT  
NEXT CMD  
LS RESULT  
XXX  
NEXT CMD  
"NOT READY"  
BERR  
Figure 5-23. READ Command Sequence  
Operand Data  
Result Data  
The only operand is the longword address of the requested location.  
Word results return 16 bits of data; longword results return 32. Bytes  
are returned in the LSB of a word result, the upper byte is undened.  
0x0001 (S = 1) is returned if a bus error occurs.  
5-26  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.4 Write Memory Location (WRITE)  
Write data to the memory location specied by the longword address. The address space is  
dened by BAAR[TT,TM]. Hardware forces low-order address bits to zeros for word and  
longword accesses to ensure that word addresses are word-aligned and longword addresses  
are longword-aligned.  
Command Formats:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
Byte  
Word  
0x1  
0x1  
0x1  
0x8  
0x8  
0x8  
0x0  
0x4  
0x8  
0x0  
A[31:16]  
A[15:0]  
X
X
X
X
X
X
X
X
D[7:0]  
0x0  
0x0  
A[31:16]  
A[15:0]  
D[15:0]  
Longword  
A[31:16]  
A[15:0]  
D[31:16]  
D[15:0]  
Figure 5-24. WRITE Command Format  
Chapter 5. Debug Support  
5-27  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
Command Sequence:  
WRITE  
MEMORY  
LOCATION  
WRITE (B/W)  
???  
MS ADDR  
"NOT READY"  
LS ADDR  
"NOT READY"  
DATA  
"NOT READY"  
XXX  
"NOT READY"  
NEXT CMD  
"CMD COMPLETE"  
XXX  
BERR  
NEXT CMD  
"NOT READY"  
WRITE (LONG)  
???  
MS ADDR  
"NOT READY"  
LS ADDR  
"NOT READY"  
MS DATA  
"NOT READY"  
WRITE  
MEMORY  
LOCATION  
LS DATA  
"NOT READY"  
XXX  
"NOT READY"  
NEXT CMD  
"CMD COMPLETE"  
XXX  
BERR  
NEXT CMD  
"NOT READY"  
Figure 5-25. WRITE Command Sequence  
Operand Data  
Result Data  
This two-operand instruction requires a longword absolute address  
that species a location to which the data operand is to be written.  
Byte data is sent as a 16-bit word, justied in the LSB; 16- and 32-bit  
operands are sent as 16 and 32 bits, respectively  
Command complete status is indicated by returning 0xFFFF (with S  
cleared) when the register write is complete.A value of 0x0001 (with  
S set) is returned if a bus error occurs.  
5-28  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.5 Dump Memory Block (DUMP)  
DUMP is used with the READ command to access large blocks of memory. An initial READ  
is executed to set up the starting address of the block and to retrieve the rst result. If an  
initial READ is not executed before the rst DUMP, an illegal command response is returned.  
The DUMP command retrieves subsequent operands. The initial address is incremented by  
the operand size (1, 2, or 4) and saved in a temporary register. Subsequent DUMP commands  
use this address, perform the memory read, increment it by the current operand size, and  
store the updated address in the temporary register.  
NOTE:  
DUMP does not check for a valid address; it is a valid command  
only when preceded by NOP, READ, or another DUMP command.  
Otherwise, an illegal command response is returned. NOP can  
be used for intercommand padding without corrupting the  
address pointer.  
The size eld is examined each time a DUMP command is processed, allowing the operand  
size to be dynamically altered.  
Command/Result Formats:  
15  
X
14  
X
13  
X
12  
X
11  
X
10  
9
8
7
6
5
4
3
2
1
0
Byte  
Command  
Result  
0x1  
0x1  
0x1  
0xD  
0x0  
0x4  
0x8  
0x0  
0x0  
0x0  
X
X
X
D[7:0]  
Word  
Command  
Result  
0xD  
0xD  
D[15:0]  
Longword Command  
Result  
D[31:16]  
D[15:0]  
Figure 5-26. DUMP Command/Result Formats  
Chapter 5. Debug Support  
5-29  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
Command Sequence:  
READ  
MEMORY  
LOCATION  
DUMP (B/W)  
???  
XXX  
"NOT READY"  
NEXT CMD  
RESULT  
XXX  
"ILLEGAL"  
XXX  
BERR  
NEXT CMD  
"NOT READY"  
NEXT CMD  
"NOT READY"  
READ  
MEMORY  
LOCATION  
DUMP (LONG)  
???  
XXX  
"NOT READY"  
NEXT CMD  
LS RESULT  
NEXT CMD  
MS RESULT  
XXX  
"ILLEGAL"  
XXX  
BERR  
NEXT CMD  
"NOT READY"  
NEXT CMD  
"NOT READY"  
Figure 5-27. DUMP Command Sequence  
Operand Data:  
Result Data:  
None  
Requested data is returned as either a word or longword. Byte data is  
returned in the least-signicant byte of a word result. Word results  
return 16 bits of signicant data; longword results return 32 bits. A  
value of 0x0001 (with S set) is returned if a bus error occurs.  
5-30  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.6 Fill Memory Block (FILL)  
A FILL command is used with the WRITE command to access large blocks of memory. An  
initial WRITE is executed to set up the starting address of the block and to supply the rst  
operand. The FILL command writes subsequent operands. The initial address is incremented  
by the operand size (1, 2, or 4) and saved in a temporary register after the memory write.  
Subsequent FILL commands use this address, perform the write, increment it by the current  
operand size, and store the updated address in the temporary register.  
If an initial WRITE is not executed preceding the rst FILL command, the illegal command  
response is returned.  
NOTE:  
The FILL command does not check for a valid address—FILL is  
a valid command only when preceded by another FILL, a NOP,  
or a WRITE command. Otherwise, an illegal command response  
is returned. The NOP command can be used for intercommand  
padding without corrupting the address pointer.  
The size eld is examined each time a FILL command is processed, allowing the operand  
size to be altered dynamically.  
Command Formats:  
15  
X
14  
X
13  
X
12  
X
11  
X
10  
9
8
7
6
5
4
3
2
1
0
Byte  
Word  
0x1  
0x1  
0x1  
0xC  
0x0  
0x4  
0x8  
0x0  
0x0  
0x0  
X
X
X
D[7:0]  
0xC  
0xC  
D[15:0]  
Longword  
D[31:16]  
D[15:0]  
Figure 5-28. FILL Command Format  
Chapter 5. Debug Support  
5-31  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
Command Sequence:  
WRITE  
MEMORY  
LOCATION  
FILL (LONG)  
LS DATA  
"NOT READY"  
XXX  
"NOT READY"  
MS DATA  
"NOT READY"  
???  
XXX  
NEXT CMD  
NEXT CMD  
"CMD COMPLETE"  
"ILLEGAL"  
"NOT READY"  
NEXT CMD  
XXX  
"NOT READY"  
BERR  
WRITE  
MEMORY  
LOCATION  
FILL (B/W)  
DATA  
"NOT READY"  
XXX  
"NOT READY"  
???  
NEXT CMD  
"CMD COMPLETE"  
XXX  
"ILLEGAL"  
NEXT CMD  
"NOT READY"  
NEXT CMD  
XXX  
"NOT READY"  
BERR  
Figure 5-29. FILL Command Sequence  
Operand Data:  
Result Data:  
A single operand is data to be written to the memory location. Byte  
data is sent as a 16-bit word, justied in the least-signicant byte; 16-  
and 32-bit operands are sent as 16 and 32 bits, respectively.  
Command complete status (0xFFFF) is returned when the register  
write is complete. A value of 0x0001 (with S set) is returned if a bus  
error occurs.  
5-32  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.7 Resume Execution (GO)  
The pipeline is ushed and relled before normal instruction execution resumes.  
Prefetching begins at the current address in the PC and at the current privilege level. If any  
register (such as the PC or SR) is altered by a BDM command while the processor is halted,  
the updated value is used when prefetching resumes. If a GO command is issued and the  
CPU is not halted, the command is ignored.  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
0x0  
0xC  
0x0  
0x0  
Figure 5-30. GO Command Format  
Command Sequence:  
GO  
???  
NEXT CMD  
"CMD COMPLETE"  
Figure 5-31. GO Command Sequence  
None  
Operand Data:  
Result Data:  
The command-complete response (0xFFFF) is returned during the  
next shift operation.  
Chapter 5. Debug Support  
5-33  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
5.5.3.3.8 No Operation (NOP)  
NOP performs no operation and may be used as a null command where required.  
Command Formats:  
15  
12  
11  
8
7
4
3
0
0x0  
0x0  
0x0  
0x0  
Figure 5-32. NOP Command Format  
Command Sequence:  
NOP  
???  
NEXT CMD  
"CMD COMPLETE"  
Figure 5-33. NOP Command Sequence  
None  
Operand Data:  
Result Data:  
The command-complete response, 0xFFFF (with S cleared), is  
returned during the next shift operation.  
5-34  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.9 Synchronize PC to the PST/DDATA Lines (SYNC_PC)  
The SYNC_PC command captures the current PC and displays it on the PST/DDATA  
outputs. After the debug module receives the command, it sends a signal to the ColdFire  
processor that the current PC must be displayed. The processor then forces an instruction  
fetch at the next PC with the address being captured in the DDATA logic under control of  
CSR[BTB]. The specic sequence of PST and DDATA values is as follows:  
1. Debug signals a SYNC_PC command is pending.  
2. CPU completes the current instruction.  
3. CPU forces an instruction fetch to the next PC, generates a PST = 0x5 value  
indicating a taken branch and signals the capture of DDATA.  
4. The instruction address corresponding to the PC is captured.  
5. The PST marker (0x9–0xB) is generated and displayed as dened by CSR[BTB]  
followed by the captured PC address.  
The SYNC_PC command can be used to dynamically access the PC for performance  
monitoring. The execution of this command is considerably less obtrusive to the real-time  
operation of an application than a HALT-CPU/READ-PC/RESUME command sequence.  
Command Formats:  
15  
12  
11  
8
7
4
3
0
0x0  
0x0  
0x0  
0x1  
Figure 5-34. SYNC_PC Command Format  
Command Sequence:  
SYNC_PC  
P  
???  
NEXT CMD  
"CMD COMPLETE"  
Figure 5-35. SYNC_PC Command Sequence  
Operand Data:  
Result Data:  
None  
Command complete status (0xFFFF) is returned when the register  
write is complete.  
Chapter 5. Debug Support  
5-35  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
5.5.3.3.10 Read Control Register (RCREG)  
Read the selected control register and return the 32-bit result. Accesses to the  
processor/memory control registers are always 32 bits wide, regardless of register width.  
The second and third words of the command form a 32-bit address, which the debug  
module uses to generate a special bus cycle to access the specied control register. The  
12-bit Rc eld is the same as that used by the MOVEC instruction.  
Command/Result Formats:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Command  
Result  
0x2  
0x0  
0x0  
0x9  
0x0  
0x8  
0x0  
Rc  
0x0  
0x0  
D[31:16]  
D[15:0]  
Figure 5-36. RCREG Command/Result Formats  
Rc encoding:  
Table 5-19. Control Register Map  
Rc  
Register Definition  
Rc  
Register Definition  
1
0x002 Cache control register (CACR)  
0x004 Access control register 0 (ACR0)  
0x005 Access control register 1 (ACR1)  
0x801 Vector base register (VBR)  
0x805 MAC mask register (MASK)  
1
0x806 MAC accumulator (ACC)  
0x80E Status register (SR)  
0x80F Program register (PC)  
1
0x804 MAC status register (MACSR)  
0xC04 RAM base address register (RAMBAR)  
1
Available if the optional MAC unit is present.  
Command Sequence:  
READ  
XXX  
MS ADDR  
MS ADDR  
RCREG  
???  
EXT WORD  
CONTROL  
"NOT READY"  
"NOT READY"  
"NOT READY"  
REGISTER  
NEXT CMD  
LS RESULT  
XXX  
MS RESULT  
XXX  
NEXT CMD  
"NOT READY"  
BERR  
Figure 5-37. RCREG Command Sequence  
Operand Data:  
Result Data:  
The only operand is the 32-bit Rc control register select eld.  
Control register contents are returned as a longword,  
most-signicant word rst. The implemented portion of registers  
smaller than 32 bits is guaranteed correct; other bits are undened.  
5-36  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Background Debug Mode (BDM)  
5.5.3.3.11 Write Control Register (WCREG)  
The operand (longword) data is written to the specied control register. The write alters all  
32 register bits.  
Command/Result Formats:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Command  
Result  
0x2  
0x0  
0x0  
0x8  
0x0  
0x8  
0x0  
Rc  
0x0  
0x0  
D[31:16]  
D[15:0]  
Figure 5-38. WCREG Command/Result Formats  
Command Sequence:  
WCREG  
???  
MS ADDR  
MS ADDR  
EXT WORD  
EXT WORD  
MS DATA  
"NOT READY"  
"NOT READY"  
"NOT READY"  
WRITE  
LS DATA  
"NOT READY"  
XXX  
"NOT READY"  
CONTROL  
REGISTER  
NEXT CMD  
"CMD COMPLETE"  
XXX  
BERR  
NEXT CMD  
"NOT READY"  
Figure 5-39. WCREG Command Sequence  
Operand Data:  
Result Data:  
This instruction requires two longword operands. The rst selects the  
register to which the operand data is to be written; the second  
contains the data.  
Successful write operations return 0xFFFF. Bus errors on the write  
cycle are indicated by the setting of bit 16 in the status message and  
by a data pattern of 0x0001.  
Chapter 5. Debug Support  
5-37  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
kground Debug Mode (BDM)  
5.5.3.3.12 Read Debug Module Register (RDMREG)  
Read the selected debug module register and return the 32-bit result. The only valid register  
selection for the RDMREG command is CSR (DRc = 0x00). Note that this read of the CSR  
clears the trigger status bits (CSR[BSTAT]) if either a level-2 breakpoint has been triggered  
or a level-1 breakpoint has been triggered and no level-2 breakpoint has been enabled.  
Command/Result Formats:  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
1
Command  
Result  
0x2  
0xD  
0x4  
DRc  
D[31:16]  
D[15:0]  
Figure 5-40. RDMREG BDM Command/Result Formats  
Note 0x4 is a 3-bit eld  
1
Table 5-20 shows the denition of DRc encoding.  
Table 5-20. Definition of DRc Encoding—Read  
DRc[4:0]  
Debug Register Definition  
Mnemonic  
Initial State  
Page  
0x00  
Conguration/Status  
CSR  
0x0  
p. 5-10  
0x010x1F  
Reserved  
Command Sequence:  
RDMREG  
???  
XXX  
MS RESULT  
NEXT CMD  
LS RESULT  
XXX  
NEXT CMD  
"ILLEGAL"  
"NOT READY"  
Figure 5-41. RDMREG Command Sequence  
Operand Data:  
Result Data:  
None  
The contents of the selected debug register are returned as a  
longword value. The data is returned most-signicant word rst.  
5-38  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Real-Time Debug Support  
5.5.3.3.13 Write Debug Module Register (WDMREG)  
The operand (longword) data is written to the specied debug module register. All 32 bits  
of the register are altered by the write. DSCLK must be inactive while the debug module  
register writes from the CPU accesses are performed using the WDEBUG instruction.  
Command Format:  
Figure 5-42. WDMREG BDM Command Format  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
1
0x2  
0xC  
0x4  
DRc  
D[31:16]  
D[15:0]  
1
Note: 0x4 is a three-bit eld  
Table 5-3 shows the denition of the DRc write encoding.  
Command Sequence:  
WDMREG  
???  
MS DATA  
"NOT READY"  
LS DATA  
"NOT READY"  
NEXT CMD  
"CMD COMPLETE"  
XXX  
NEXT CMD  
"ILLEGAL"  
"NOT READY"  
Figure 5-43. WDMREG Command Sequence  
Operand Data:  
Result Data:  
Longword data is written into the specied debug register. The data  
is supplied most-signicant word rst.  
Command complete status (0xFFFF) is returned when register write  
is complete.  
5.6 Real-Time Debug Support  
The ColdFire Family provides support debugging real-time applications. For these types of  
embedded systems, the processor must continue to operate during debug. The foundation  
of this area of debug support is that while the processor cannot be halted to allow  
debugging, the system can generally tolerate small intrusions into the real-time operation.  
The debug module provides three types of breakpoints—PC with mask, operand address  
range, and data with mask. These breakpoints can be congured into one- or two-level  
triggers with the exact trigger response also programmable. The debug module  
programming model can be written from either the external development system using the  
debug serial interface or from the processor’s supervisor programming model using the  
WDEBUG instruction. Only CSR is readable using the external development system.  
Chapter 5. Debug Support  
5-39  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
-Time Debug Support  
5.6.1 Theory of Operation  
Breakpoint hardware can be congured to respond to triggers in several ways. The response  
desired is programmed into TDR. As shown in Table 5-21, when a breakpoint is triggered,  
an indication (CSR[BSTAT]) is provided on the DDATA output port when it is not  
displaying captured processor status, operands, or branch addresses.  
Table 5-21. DDATA[3:0]/CSR[BSTAT] Breakpoint Response  
1
DDATA[3:0]/CSR[BSTAT]  
Breakpoint Status  
No breakpoints enabled  
0000/0000  
0010/0001  
Waiting for level-1 breakpoint  
Level-1 breakpoint triggered  
Waiting for level-2 breakpoint  
Level-2 breakpoint triggered  
0100/0010  
1010/0101  
1100/0110  
1
Encodings not shown are reserved for future use.  
The breakpoint status is also posted in CSR. Note that CSR[BSTAT] is cleared by a CSR  
read when either a level-2 breakpoint is triggered or a level-1 breakpoint is triggered and a  
level-2 breakpoint is not enabled. Status is also cleared by writing to TDR.  
BDM instructions use the appropriate registers to load and congure breakpoints. As the  
system operates, a breakpoint trigger generates the response dened in TDR.  
PC breakpoints are treated in a precise manner—exception recognition and processing are  
initiated before the excepting instruction is executed. All other breakpoint events are  
recognized on the processor’s local bus, but are made pending to the processor and sampled  
like other interrupt conditions. As a result, these interrupts are imprecise.  
In systems that tolerate the processor being halted, a BDM-entry can be used. With  
TDR[TRC] = 01, a breakpoint trigger causes the core to halt (PST = 0xF).  
If the processor core cannot be halted, the debug interrupt can be used. With this  
conguration, TDR[TRC] = 10, the breakpoint trigger becomes a debug interrupt to the  
processor, which is treated higher than the nonmaskable level-7 interrupt request. As with  
all interrupts, it is made pending until the processor reaches a sample point, which occurs  
once per instruction. Again, the hardware forces the PC breakpoint to occur before the  
targeted instruction executes. This is possible because the PC breakpoint is enabled when  
interrupt sampling occurs. For address and data breakpoints, reporting is considered  
imprecise because several instructions may execute after the triggering address or data is  
detected.  
As soon as the debug interrupt is recognized, the processor aborts execution and initiates  
exception processing. This event is signaled externally by the assertion of a unique PST  
value (PST = 0xD) for multiple cycles. The core enters emulator mode when exception  
processing begins. After the standard 8-byte exception stack is created, the processor  
5-40  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Real-Time Debug Support  
fetches a unique exception vector, 12, from the vector table.  
Execution continues at the instruction address in the vector corresponding to the breakpoint  
triggered. All interrupts are ignored while the processor is in emulator mode. The debug  
interrupt handler can use supervisor instructions to save the necessary context such as the  
state of all program-visible registers into a reserved memory area.  
When debug interrupt operations complete, the RTE instruction executes and the processor  
exits emulator mode. After the debug interrupt handler completes execution, the external  
development system can use BDM commands to read the reserved memory locations.  
The generation of another debug interrupt during the rst instruction after the RTE exits  
emulator mode is inhibited. This behavior is consistent with the existing logic involving  
trace mode where the rst instruction executes before another trace exception is generated.  
Thus, all hardware breakpoints are disabled until the rst instruction after the RTE  
completes execution, regardless of the programmed trigger response.  
5.6.1.1 Emulator Mode  
Emulator mode is used to facilitate non-intrusive emulator functionality. This mode can be  
entered in three different ways:  
Setting CSR[EMU] forces the processor into emulator mode. EMU is examined  
only if RSTI is negated and the processor begins reset exception processing. It can  
be set while the processor is halted before reset exception processing begins. See  
Section 5.5.1, “CPU Halt.”  
A debug interrupt always puts the processor in emulation mode when debug  
interrupt exception processing begins.  
Setting CSR[TRC] forces the processor into emulation mode when trace exception  
processing begins.  
While operating in emulation mode, the processor exhibits the following properties:  
All interrupts are ignored, including level-7 interrupts.  
If CSR[MAP] = 1, all caching of memory and the SRAM module are disabled. All  
memory accesses are forced into a specially mapped address space signaled by  
TT = 0x2, TM = 0x5 or 0x6. This includes stack frame writes and the vector fetch  
for the exception that forced entry into this mode.  
The RTE instruction exits emulation mode. The processor status output port provides a  
unique encoding for emulator mode entry (0xD) and exit (0x7).  
5.6.2 Concurrent BDM and Processor Operation  
The debug module supports concurrent operation of both the processor and most BDM  
commands. BDM commands may be executed while the processor is running, except those  
following operations that access processor/memory registers:  
Chapter 5. Debug Support  
5-41  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
orola-Recommended BDM Pinout  
Read/write address and data registers  
Read/write control registers  
For BDM commands that access memory, the debug module requests the processor’s local  
bus. The processor responds by stalling the instruction fetch pipeline and waiting for  
current bus activity to complete before freeing the local bus for the debug module to  
perform its access. After the debug module bus cycle, the processor reclaims the bus.  
Breakpoint registers must be carefully congured in a development system if the processor  
is executing. The debug module contains no hardware interlocks, so TDR should be  
disabled while breakpoint registers are loaded, after which TDR can be written to dene the  
exact trigger. This prevents spurious breakpoint triggers.  
Because there are no hardware interlocks in the debug unit, no BDM operations are allowed  
while the CPU is writing the debug’s registers (DSCLK must be inactive).  
5.7 Motorola-Recommended BDM Pinout  
The ColdFire BDM connector, Figure 5-44, is a 26-pin Berg connector arranged 2 x 13.  
1
1
2
4
Developer reserved  
BKPT  
3
GND  
DSCLK  
Developer reserved  
DSI  
1
GND  
5
6
RESET  
7
8
2
Pad-Voltage  
9
10  
12  
14  
16  
18  
20  
22  
24  
26  
DSO  
11  
13  
15  
17  
19  
21  
23  
25  
PST3  
GND  
PST2  
PST1  
DDATA3  
DDATA1  
GND  
PST0  
DDATA2  
DDATA0  
Motorola reserved  
CLK_CPU  
TA  
Motorola reserved  
GND  
Core-Voltage  
1
Pins reserved for BDM developer use.  
Supplied by target  
2
Figure 5-44. Recommended BDM Connector  
5.8 Processor Status, DDATA Definition  
This section species the ColdFire processor and debug module’s generation of the  
processor status (PST) and debug data (DDATA) output on an instruction basis. In general,  
the PST/DDATA output for an instruction is dened as follows:  
PST = 0x1, {PST = [0x89B], DDATA= operand}  
where the {...} denition is optional operand information dened by the setting of the CSR.  
5-42  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Processor Status, DDATA Definition  
The CSR provides capabilities to display operands based on reference type (read, write, or  
both). Additionally, for certain change-of-ow branch instructions, another CSR eld  
provides the capability to display {0x2, 0x3, 0x4} bytes of the target instruction address.  
For both situations, an optional PST value {0x8, 0x9, 0xB} provides the marker identifying  
the size and presence of valid data on the DDATA output.  
5.8.1 User Instruction Set  
Table 5-22 shows the PST/DDATA specication for user-mode instructions. Rn represents  
any {Dn, An} register. In this denition, the ‘y’ sufx generally denotes the source and ‘x’  
denotes the destination operand. For a given instruction, the optional operand data is  
displayed only for those effective addresses referencing memory. The ‘DD’ nomenclature  
refers to the DDATA outputs.  
Table 5-22. PST/DDATA Specification for User-Mode Instructions  
Instruction  
add.l  
Operand Syntax  
PST/DDATA  
<ea>y,Rx  
Dy,<ea>x  
#imm,Dx  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
add.l  
addi.l  
addq.l  
addx.l  
and.l  
and.l  
andi.l  
asl.l  
#imm,<ea>x  
Dy,Dx  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
<ea>y,Dx  
Dy,<ea>x  
#imm,Dx  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
{Dy,#imm},Dx  
{Dy,#imm},Dx  
PST = 0x1  
asr.l  
PST = 0x1  
bcc.{b,w}  
bchg  
bchg  
bclr  
if taken, then PST = 0x5, else PST = 0x1  
#imm,<ea>x  
Dy,<ea>x  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x5  
#imm,<ea>x  
Dy,<ea>x  
bclr  
bra.{b,w}  
bset  
#imm,<ea>x  
Dy,<ea>x  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x5, {PST = 0xB, DD = destination operand}  
PST = 0x1, {PST = 0x8, DD = source operand}  
PST = 0x1, {PST = 0x8, DD = source operand}  
PST = 0x1, {PST = 0x8, DD = destination operand}  
PST = 0x1, {PST = 0xB, DD = destination operand}  
PST = 0x1, {PST = 0x9, DD = destination operand}  
bset  
bsr.{b,w}  
btst  
#imm,<ea>x  
Dy,<ea>x  
<ea>x  
btst  
clr.b  
clr.l  
<ea>x  
clr.w  
<ea>x  
Chapter 5. Debug Support  
5-43  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
cessor Status, DDATA Definition  
Table 5-22. PST/DDATA Specification for User-Mode Instructions (Continued)  
Instruction  
cmp.l  
Operand Syntax  
PST/DDATA  
<ea>y,Rx  
#imm,Dx  
<ea>y,Dx  
<ea>y,Dx  
<ea>y,Dx  
<ea>y,Dx  
Dy,<ea>x  
#imm,Dx  
Dx  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1  
cmpi.l  
divs.l  
divs.w  
divu.l  
divu.w  
eor.l  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0x9, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0x9, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
eori.l  
ext.l  
PST = 0x1  
ext.w  
extb.l  
jmp  
Dx  
PST = 0x1  
Dx  
PST = 0x1  
1
<ea>x  
PST = 0x5, {PST = [0x9AB], DD = target address}  
jsr  
<ea>x  
PST = 0x5, {PST = [0x9AB], DD = target address},  
1
{PST = 0xB , DD = destination operand}  
lea  
<ea>y,Ax  
PST = 0x1  
link.w  
lsl.l  
Ay,#imm  
PST = 0x1, {PST = 0xB, DD = destination operand}  
{Dy,#imm},Dx  
{Dy,#imm},Dx  
PST = 0x1  
lsr.l  
PST = 0x1  
mac.l  
PST = 0x1  
mac.l  
Ry,Rx  
PST = 0x1  
mac.l  
Ry,Rx,ea,Rw  
PST = 0x1, {PST = 0xB, DD = source operand}  
mac.w  
mac.w  
mac.w  
move.b  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
move.l  
move.w  
move.w  
move.w  
PST = 0x1  
Ry,Rx  
PST = 0x1  
Ry,Rx,ea,Rw  
<ea>y,<ea>x  
<ea>y,<ea>x  
<ea>y,ACC  
<ea>y,MACSR  
<ea>y,MASK  
ACC,Rx  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
PST = 0x1  
PST = 0x1  
PST = 0x1  
MACSR,CCR  
MACSR,Rx  
MASK,Rx  
PST = 0x1  
PST = 0x1  
PST = 0x1  
<ea>y,<ea>x  
CCR,Dx  
PST = 0x1, {PST = 0x9, DD = source}, {PST = 0x9, DD = destination}  
PST = 0x1  
PST = 0x1  
{Dy,#imm},CCR  
5-44  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Processor Status, DDATA Definition  
Table 5-22. PST/DDATA Specification for User-Mode Instructions (Continued)  
Instruction  
movem.l  
Operand Syntax  
PST/DDATA  
2
#list,<ea>x  
<ea>y,#list  
#imm,Dx  
Ry,Rx  
PST = 0x1, {PST = 0xB, DD = destination},...  
2
movem.l  
moveq  
msac.l  
msac.l  
msac.w  
msac.w  
muls.l  
muls.w  
mulu.l  
mulu.w  
neg.l  
PST = 0x1, {PST = 0xB, DD = source},...  
PST = 0x1  
PST = 0x1  
Ry,Rx,ea,Rw  
Ry,Rx  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
Ry,Rx,ea,Rw  
<ea>y,Dx  
<ea>y,Dx  
<ea>y,Dx  
<ea>y,Dx  
Dx  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0x9, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0x9, DD = source operand}  
PST = 0x1  
negx.l  
nop  
Dx  
PST = 0x1  
PST = 0x1  
not.l  
Dx  
PST = 0x1  
or.l  
<ea>y,Dx  
Dy,<ea>x  
#imm,Dx  
<ea>y  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
or.l  
ori.l  
pea  
PST = 0x1, {PST = 0xB, DD = destination operand}  
PST = 0x4  
pulse  
rems.l  
remu.l  
rts  
<ea>y,Dx:Dw  
<ea>y,Dx:Dw  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source operand},  
PST = 0x5, {PST = [0x9AB], DD = target address}  
scc  
Dx  
PST = 0x1  
sub.l  
sub.l  
subi.l  
subq.l  
subx.l  
swap  
trap  
<ea>y,Rx  
Dy,<ea>x  
#imm,Dx  
#imm,<ea>x  
Dy,Dx  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}  
PST = 0x1  
PST = 0x1  
Dx  
3
#imm  
PST = 0x1  
trapf  
tst.b  
tst.l  
PST = 0x1  
<ea>x  
<ea>x  
<ea>x  
PST = 0x1, {PST = 0x8, DD = source operand}  
PST = 0x1, {PST = 0xB, DD = source operand}  
PST = 0x1, {PST = 0x9, DD = source operand}  
tst.w  
Chapter 5. Debug Support  
5-45  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
cessor Status, DDATA Definition  
Table 5-22. PST/DDATA Specification for User-Mode Instructions (Continued)  
Instruction  
unlk  
Operand Syntax  
PST/DDATA  
Ax  
PST = 0x1, {PST = 0xB, DD = destination operand}  
PST = 0x4, {PST = 0x8, DD = source operand  
PST = 0x4, {PST = 0xB, DD = source operand  
PST = 0x4, {PST = 0x9, DD = source operand  
wddata.b  
wddata.l  
wddata.w  
<ea>y  
<ea>y  
<ea>y  
1
For JMP and JSR instructions, the optional target instruction address is displayed only for those effective  
address elds dening variant addressing modes. This includes the following <ea>x values: (An), (d16,An),  
(d8,An,Xi), (d8,PC,Xi).  
2
For Move Multiple instructions (MOVEM), the processor automatically generates line-sized transfers if the  
operand address reaches a 0-modulo-16 boundary and there are four or more registers to be transferred. For  
these line-sized transfers, the operand data is never captured nor displayed, regardless of the CSR value.  
The automatic line-sized burst transfers are provided to maximize performance during these sequential  
memory access operations.  
3
During normal exception processing, the PST output is driven to a 0xC indicating the exception processing  
state. The exception stack write operands, as well as the vector read and target address of the exception  
handler may also be displayed.  
Exception Processing PST = 0xC, {PST = 0xB, DD = destination},// stack frame  
{PST = 0xB, DD = destination},// stack frame  
{PST = 0xB, DD = source},// vector read  
PST = 0x5, {PST = [0x9AB], DD = target}//PC of handler  
The PST/DDATA specication for the reset exception is shown below:  
Exception Processing PST = 0xC,  
PST = 0x5,{PST = [0x9AB], DD = target}// PC of handler  
The initial references at address 0 and 4 are never captured nor displayed since these  
accesses are treated as instruction fetches.  
For all types of exception processing, the PST = 0xC value is driven at all times, unless the  
PST output is needed for one of the optional marker values or for the taken branch indicator  
(0x5).  
5.8.2 Supervisor Instruction Set  
The supervisor instruction set has complete access to the user mode instructions plus the  
opcodes shown below. The PST/DDATA specication for these opcodes is shown in  
Table 5-23.  
Table 5-23. PST/DDATA Specification for Supervisor-Mode Instructions  
Instruction  
cpushl  
Operand Syntax  
PSTDDATA  
PST = 0x1  
halt  
PST = 0x1,  
PST = 0xF  
move.w  
move.w  
SR,Dx  
PST = 0x1  
{Dy,#imm},SR  
PST = 0x1, {PST = 3}  
5-46  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Processor Status, DDATA Definition  
Table 5-23. PST/DDATA Specification for Supervisor-Mode Instructions  
Instruction  
movec  
Operand Syntax  
PSTDDATA  
Ry,Rc  
PST = 0x1  
rte  
PST = 0x7, {PST = 0xB, DD = source operand}, {PST = 3},{ PST =0xB,  
DD =source operand},  
PST = 0x5, {[PST = 0x9AB], DD = target address}  
stop  
#imm  
PST = 0x1,  
PST = 0xE  
wdebug  
<ea>y  
PST = 0x1, {PST = 0xB, DD = source, PST = 0xB, DD = source}  
The move-to-SR and RTE instructions include an optional PST = 0x3 value, indicating an  
entry into user mode. Additionally, if the execution of a RTE instruction returns the  
processor to emulator mode, a multiple-cycle status of 0xD is signaled.  
Similar to the exception processing mode, the stopped state (PST = 0xE) and the halted  
state (PST = 0xF) display this status throughout the entire time the ColdFire processor is in  
the given mode.  
Chapter 5. Debug Support  
5-47  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
cessor Status, DDATA Definition  
5-48  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Part II  
System Integration Module (SIM)  
Intended Audience  
Part II is intended for users who need to understand the interface between the ColdFire core  
processor complex, described in Part I, and internal peripheral devices, described in  
Part III. It includes a general description of the SIM and individual chapters that describe  
components of the SIM, such as the phase-lock loop (PLL) timing source, interrupt  
controller for both on-chip and external peripherals, conguration and operation of chip  
selects, and the SDRAM controller.  
Contents  
Part II contains the following chapters:  
Chapter 6, “SIM Overview,” describes the SIM programming model, bus  
arbitration, and system-protection functions for the MCF5307.  
Chapter 7, “Phase-Locked Loop (PLL),” describes conguration and operation of  
the PLL module. It describes in detail the registers and signals that support the PLL  
implementation.  
Chapter 8, “I2C Module,” describes the MCF5307 I2C module, including I2C  
protocol, clock synchronization, and the registers in the I2C programing model. It  
also provides extensive programming examples.  
Chapter 9, “Interrupt Controller,” describes operation of the interrupt controller  
portion of the SIM. Includes descriptions of the registers in the interrupt controller  
memory map and the interrupt priority scheme.  
Chapter 10, “Chip-Select Module,” describes the MCF5307 chip-select  
implementation, including the operation and programming model, which includes  
the chip-select address, mask, and control registers.  
Chapter 11, “Synchronous/Asynchronous DRAM Controller Module,” describes  
conguration and operation of the synchronous/asynchronous DRAM controller  
component of the SIM. It begins with a general description and brief glossary, and  
Part II.System Integration Module (SIM)  
II-i  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
includes a description of signals involved in DRAM operations. The remainder of  
the chapter is divided between descriptions of asynchronous and synchronous  
operations.  
Suggested Reading  
The following literature may be helpful with respect to the topics in Part II:  
2
The I C Bus Specification, Version 2.1 (January 2000)  
Acronyms and Abbreviations  
Table II-i contains acronyms and abbreviations are used in Part II.  
Table II-i. Acronyms and Abbreviated Terms  
Term  
ADC  
Meaning  
Analog-to-digital conversion  
Background debug mode  
Code/decode  
BDM  
CODEC  
DAC  
Digital-to-analog conversion  
Direct memory access  
Digital signal processing  
Extended data output (DRAM)  
First-in, rst-out  
DMA  
DSP  
EDO  
FIFO  
GPIO  
2
I C  
Inter-integrated circuit  
IEEE  
IPL  
Institute for Electrical and Electronics Engineers  
Interrupt priority level  
JEDEC  
LIFO  
LRU  
LSB  
Joint Electron Device Engineering Council  
Last-in, rst-out  
Least recently used  
Least-signicant byte  
lsb  
Least-signicant bit  
MBAR  
MSB  
msb  
Memory base address register  
Most-signicant byte  
Most-signicant bit  
Mux  
Multiplex  
II-ii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table II-i. Acronyms and Abbreviated Terms (Continued)  
Term  
NOP  
Meaning  
No operation  
PCLK  
PLL  
POR  
Rx  
Processor clock  
Phase-locked loop  
Power-on reset  
Receive  
SIM  
SOF  
TAP  
TTL  
Tx  
System integration module  
Start of frame  
Test access port  
Transistor-to-transistor logic  
Transmit  
UART  
Universal asynchronous/synchronous receiver transmitter  
Part II.System Integration Module (SIM)  
II-iii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
II-iv  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 6  
SIM Overview  
This chapter provides detailed operation information regarding the system integration  
module (SIM). It describes the SIM programming model, bus arbitration, and  
system-protection functions for the MCF5307.  
6.1 Features  
The SIM, shown in Figure 6-1, provides overall control of the bus and serves as the  
interface between the ColdFire core processor complex and the internal peripheral devices.  
BCLKO (to on-chip peripherals)  
V3 COLDFIRE PROCESSOR COMPLEX  
CLKIN  
PCLK  
RSTO  
PLL  
Xn  
RSTI  
DMA  
SYSTEM INTEGRATION MODULE (SIM)  
Four  
Channels  
PLL Control  
PLL  
System Control  
RSR SWIVR  
Base Address  
MBAR  
Bus Master Park  
MPARK  
Parallel Port  
PAR  
Software  
Watchdog  
SYPCR SWSR  
2
DRAM Controller  
Chip Select Module  
External  
Bus Interface  
Interrupt Controller  
I C Module  
DRAM Control  
DCR  
10 ICRs  
IRQPAR  
IPR  
Two UARTs  
8
8
8
CSARs CSCRs CSMRs  
Two  
Addr/Cntrl Mask  
DACR0/1 DMR0/1  
IMR  
General-  
Purpose  
Timers  
AVR  
8
4
32-Bit Data Bus  
32-Bit Address Bus  
Control Signals  
DRAM Controller Outputs  
CS[7:0]  
IRQ[1,3,5,7]  
Figure 6-1. SIM Block Diagram  
Chapter 6. SIM Overview  
6-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
The following is a list of the key SIM features:  
ures  
Module base address register (MBAR)  
— Base address location of all internal peripherals and SIM resources  
— Address space masking to internal peripherals and SIM resources  
Phase-locked loop (PLL) clock control register (PLLCR) for CPU STOP instruction  
— Control for turning off clocks to core and interrupt levels that turn clocks back on  
Chapter 7, “Phase-Locked Loop (PLL).”  
Interrupt controller  
— Programmable interrupt level (1–7) for internal peripheral interrupts  
— Programmable priority level (0–3) within each interrupt level  
— Four external interrupts; one set to interrupt level 7; three others programmable  
to two interrupt levels  
See Chapter 9, “Interrupt Controller.”  
Chip select module  
Eight independent, user-programmable chip-select signals (CS[7:0]) that can  
interface with SRAM, PROM, EPROM, EEPROM, Flash, and peripherals  
— Address masking for 64-Kbyte to 4-Gbyte memory block sizes  
— Programmable wait states and port sizes  
External master access to chip selects  
See Chapter 10, “Chip-Select Module.”  
System protection and reset status  
— Reset status indicating the cause of last reset  
— Software watchdog timer with programmable secondary bus monitor  
See Section 6.2.4, “Software Watchdog Timer.”  
Pin assignment register (PAR) congures the parallel port. See Section 6.2.9, “Pin  
Assignment Register (PAR).”  
Bus arbitration  
— Default bus master park register (MPARK) controls internal and external bus  
arbitration and enables display of internal accesses on the external bus for  
debugging  
— Supports several arbitration algorithms  
See Section 6.2.10, “Bus Arbitration Control.”  
6-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programming Model  
6.2 Programming Model  
The following sections describe the registers incorporated into the SIM.  
6.2.1 SIM Register Memory Map  
Table 6-1 shows the memory map for the SIM registers. The internal registers in the SIM  
are memory-mapped registers offset from the MBAR address pointer dened in  
MBAR[BA]. This supervisor-level register is described in Section 6.2.2, “Module Base  
Address Register (MBAR).” Because SIM registers depend on the base address dened in  
MBAR[BA], MBAR must be programmed before SIM registers can be accessed.  
NOTE:  
Although external masters cannot access the MCF5307’s  
on-chip memories or MBAR, they can access any of the SIM  
memory map and peripheral registers, such as those belonging  
to the interrupt controller, chip-select module, UARTs, timers,  
2
DMA, and I C.  
Table 6-1. SIM Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x000  
Reset status register  
(RSR) [p. 6-5]  
System protection  
control register  
Software watchdog  
interrupt vector register service register (SWSR)  
Software watchdog  
(SYPCR) [p. 6-8]  
(SWIVR) [p. 6-9]  
[p. 6-9]  
0x004  
Pin assignment register (PAR) [p. 6-10]  
Interrupt port  
assignment register  
(IRQPAR) [p. 9-7]  
Reserved  
0x008  
0x00C  
PLL control (PLLCR)  
[p. 7-3]  
Reserved  
Default bus master park  
register (MPARK)  
[p. 6-11]  
Reserved  
0x010–  
Reserved  
0x03C  
Interrupt Controller Registers [p. 9-2]  
Interrupt pending register (IPR) [p. 9-6]  
Interrupt mask register (IMR) [p. 9-6]  
Reserved  
0x040  
0x044  
0x048  
Autovector register  
(AVR) [p. 9-5]  
Interrupt Control Registers (ICRs) [p. 9-3]  
Chapter 6. SIM Overview  
6-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
gramming Model  
MBAR  
Table 6-1. SIM Registers (Continued)  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
Offset  
2
0x04C  
Software watchdog  
timer (ICR0) [p. 9-3]  
Timer0 (ICR1) [p. 9-3]  
Timer1 (ICR2) [p. 9-3]  
I C (ICR3) [p. 9-3]  
0x050  
0x054  
UART0 (ICR4) [p. 9-3]  
DMA2 (ICR8) [p. 9-3]  
UART1 (ICR5) [p. 9-3]  
DMA3 (ICR9) [p. 9-3]  
DMA0 (ICR6) [p. 9-3]  
DMA1 (ICR7) [p. 9-3]  
Reserved  
6.2.2 Module Base Address Register (MBAR)  
The supervisor-level MBAR, Figure 6-2, species the base address and allowable access  
types for all internal peripherals. It is written with a MOVEC instruction using the CPU  
address 0xC0F. (See the ColdFire Family Programmer’s Reference Manual.) MBAR can  
be read or written through the debug module as a read/write register, as described in  
Chapter 5, “Debug Support.” Only the debug module can read MBAR.  
The valid bit, MBAR[V], is cleared at system reset to prevent incorrect references before  
MBAR is written; other MBAR bits are uninitialized at reset. To access internal peripherals,  
write MBAR with the appropriate base address (BA) and set MBAR[V] after system reset.  
All internal peripheral registers occupy a single relocatable memory block along 4-Kbyte  
boundaries. If MBAR[V] is set, MBAR[BA] is compared to the upper 20 bits of the full  
32-bit internal address to determine if an internal peripheral is being accessed. MBAR  
masks specic address spaces using the address space elds. Attempts to access a masked  
address space generate an external bus access.  
Addresses hitting overlapping memory spaces take the following priority:  
1. MBAR  
2. SRAM and caches  
3. Chip select  
NOTE:  
The MBAR region must be mapped to non-cacheable space.  
Attribute Mask Bits  
31  
12 11 10  
9
8
7
6
5
4
3
2
1
0
Field  
Reset  
BA  
WP AM C/I SC SD UC UD  
V
Undened  
0
R/W  
W (supervisor only); R/W through debug module (only the debug module can read MBAR)  
CPU + 0x0C0F  
Address  
Figure 6-2. Module Base Address Register (MBAR)  
6-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Table 6-2 describes MBAR elds.  
Programming Model  
Table 6-2. MBAR Field Descriptions  
Bits  
Field  
Description  
3112  
119  
8
BA Base address. Denes the base address for a 4-Kbyte address range.  
Reserved, should be cleared.  
WP Write protect. Mask bit for write cycles in the MBAR-mapped register address range.  
0 Module address range is read/write.  
1 Module address range is read only.  
7
6
Reserved, should be cleared.  
AM Alternate master mask. When AM = 0 and an alternate master (external master or DMA) accesses  
MBAR-mapped registers, MBAR[SC,SD,UC,UD] are ignored in address decoding. These elds  
mask address space, placing the MBAR-mapped register in a specic address space or spaces.  
5
C/I Mask CPU space and interrupt acknowledge cycles.  
0 Activates the corresponding MBAR-mapped register  
1 Regular external bus access  
4
3
2
1
0
SC Setting masks supervisor code space in MBAR address range  
SD Setting masks supervisor data space in MBAR address range  
UC Setting masks user code space in MBAR address range  
UD Setting masks user data space in MBAR address range  
V
Valid. Determines whether MBAR settings are valid.  
0 MBAR contents are invalid.  
1 MBAR contents are valid.  
The following example shows how to set the MBAR to location 0x1000_0000 using the D0  
register. Setting MBAR[V] validates the MBAR location. This example assumes all  
accesses are valid:  
move.1 #0x10000001,DO  
movec DO,MBAR  
6.2.3 Reset Status Register (RSR)  
The reset status register (RSR), Figure 6-3, contains two status bits, HRST and SWTR.  
Reset control logic sets one of the bits depending on whether the last reset was caused by  
an external device asserting RSTI (HRST = 1) or by the software watchdog timer  
(SWTR = 1). Only one RSR bit can be set at any time. If a reset occurs, reset control logic  
sets only the bit that indicates the cause of reset.  
7
6
5
4
0
Field HRST  
SWTR  
Reset  
R/W  
1/0  
0
1/0  
0_0000  
Read/Write  
Address  
MBAR + 0x000  
Figure 6-3. Reset Status Register (RSR)  
Chapter 6. SIM Overview  
6-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
gramming Model  
Table 6-3 describes RSR elds.  
Table 6-3. RSR Field Descriptions  
Bits  
Name  
Description  
7
HRST  
Hardware or system reset  
1 An external device driving RSTI caused the last reset. Assertion of reset by an external  
device causes the core processor to take a reset exception. All registers in internal  
peripherals and the SIM are reset.  
6
5
Reserved, should be cleared.  
SWTR  
Software watchdog timer reset  
1 The last reset was caused by the software watchdog timer. If SYPCR[SWRI] = 1 and the  
software watchdog timer times out, a hardware reset occurs.  
40  
Reserved, should be cleared.  
6.2.4 Software Watchdog Timer  
The software watchdog timer prevents system lockup should the software become trapped  
in loops with no controlled exit. The software watchdog timer can be enabled or disabled  
through SYPCR[SWE]. If enabled, the watchdog timer requires the periodic execution of  
a software watchdog servicing sequence. If this periodic servicing action does not occur,  
the timer times out, resulting in a watchdog timer IRQ or hardware reset with RSTO driven  
low, as programmed by SYPCR[SWRI].  
If the timer times out and the software watchdog transfer acknowledge enable bit  
(SYPCR[SWTA]) is set, a watchdog timer IRQ is asserted. Note that the software watchdog  
timer IACK cycle cannot be autovectored.  
If a software watchdog timer IACK cycle has not occurred after another timeout, SWT TA  
is asserted in an attempt to terminate the bus cycle and allow the IACK cycle to proceed.  
The setting of SYPCR[SWTAVAL] indicates that the watchdog timer TA was asserted.  
Figure 6-4 shows termination of a locked bus.  
6-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Model  
Code in the watchdog timer interrupt  
handler polls SYPCR[SWTAVAL] to  
determine if SWT TA was needed. If so,  
execute code to identify bad address.  
Code enables software watchdog timer interrupt and  
SWTA functionality by writing SYPCR.  
Problem:  
1. Watchdog timer times out due to unterminated bus  
NOTE: The watchdog timer IRQ should  
be set to the highest level in the system.  
Software  
watchdog  
timer IRQ  
Timeout  
2. Watchdog timer interrupt cannot be serviced due to hung bus  
cycle. Wait for another timeout before setting SYPCR[SWTA].  
3. TA held until another  
bus cycle starts  
Software  
watchdog  
timer TA  
Timeout  
1
SYPCR[SWTAVAL]  
1
Watchdog timer  
IACK cycle  
SWTAVAL is set if watchdog timer TA is asserted.  
Figure 6-4. MCF5307 Embedded System Recovery from Unterminated Access  
When the watchdog timer times out and SYPCR[SWRI] is programmed for a software  
reset, an internal reset is asserted and RSR[SWTR] is set.  
To prevent the watchdog timer from interrupting or resetting, the SWSR must be serviced  
by performing the following sequence:  
1. Write 0x55 to SWSR.  
2. Write 0xAA to the SWSR.  
Both writes must occur in order before the timeout, but any number of instructions or  
SWSR accesses can be executed between the two writes. This order allows interrupts and  
exceptions to occur, if necessary, between the two writes.  
Caution should be exercised when changing SYPCR values after the software watchdog  
timer has been enabled with the setting of SYPCR[SWE], because it is difcult to  
determine the state of the watchdog timer while it is running. The countdown value is  
constantly compared with the timeout period specied by SYPCR[SWP,SWT]. Therefore,  
altering SWP and SWT improperly causes unpredictable processor behavior. The following  
steps must be taken to change SWP or SWT:  
Chapter 6. SIM Overview  
6-7  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
gramming Model  
1. Disable the software watchdog timer by clearing SYPCR[SWE].  
2. Reset the counter by writing 0x55 and then 0xAA to SWSR.  
3. Update SYPCR[SWT,SWP].  
4. Reenable the watchdog timer by setting SYPCR[SWE]. This can be done in step 3.  
6.2.5 System Protection Control Register (SYPCR)  
The SYPCR, Figure 6-5, controls the software watchdog timer, timeout periods, and  
software watchdog timer transfer acknowledge. The SYPCR can be read at any time, but  
can be written only if a software watchdog timer IRQ is not pending. At system reset, the  
software watchdog timer is disabled.  
7
6
5
4
3
2
1
0
Field  
Reset  
SWE  
SWRI  
SWP  
SWT  
SWTA SWTAVAL  
0000_0000  
R/W  
R/W  
Address  
MBAR + 0x01  
Figure 6-5. System Protection Control Register (SYPCR)  
Table 6-4 describes SYPCR elds.  
Table 6-4. SYPCR Field Descriptions  
Bits  
Name  
Description  
7
SWE  
Software watchdog timer enable  
0 Software watchdog timer disabled  
1 Software watchdog timer enabled  
6
SWRI  
Software watchdog reset/interrupt select  
0 If a timeout occurs, the watchdog timer generates an interrupt to the core processor at the  
level programmed into ICR0[IL].  
1 The software watchdog timer causes soft reset to be asserted for all modules of the part  
except for the PLL (reset mode selects, such as PP_RESET_SEL or chip-select settings,  
should not change).  
5
SWP  
SWT  
Software watchdog prescaler. This bit interacts with SYPCR[SWT].  
0 Software watchdog timer clock not prescaled.  
1 Software watchdog timer clock prescaled by 8192.  
43  
Software watchdog timing delay. SWT and SWP select the timeout period for the watchdog  
timer. At system reset, the software watchdog timer is set to the minimum timeout period.  
SWP = 0  
SWP = 1  
9
22  
00 2 /system frequency  
00 2 /system frequency  
11  
24  
01 2 /system frequency  
01 2 /system frequency  
13  
26  
10 2 /system frequency  
10 2 /system frequency  
15  
28  
11 2 /system frequency  
11 2 /system frequency  
Note that if SWP and SWT are modied to select a new software timeout, the software service  
sequence must be performed (0x55 followed by 0xAA written to the SWSR) before the new  
timeout period takes effect.  
6-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Programming Model  
Table 6-4. SYPCR Field Descriptions (Continued)  
Bits  
Name  
Description  
2
SWTA  
Software watchdog transfer acknowledge enable  
0 SWTA transfer acknowledge disabled  
1 SWTA asserts transfer acknowledge enabled. After one timeout period of the unacknowledged  
assertion of the software watchdog timer interrupt, the software watchdog transfer  
acknowledge asserts, which allows the watchdog timer to terminate a bus cycle and allow the  
IACK to occur.  
1
SWTAVAL Software watchdog transfer acknowledge valid  
0 SWTA transfer acknowledge has not occurred.  
1 SWTA transfer acknowledge has occurred. Write a 1 to clear this ag bit.  
6.2.6 Software Watchdog Interrupt Vector Register (SWIVR)  
The SWIVR, shown in Figure 6-6, contains the 8-bit interrupt vector (SWIV) that the SIM  
returns during an interrupt-acknowledge cycle in response to a software watchdog  
timer-generated interrupt. SWIVR is set to the uninitialized vector 0x0F at system reset.  
7
0
Field  
Reset  
SWIV  
0000_1111  
R/W  
Supervisor write only  
MBAR + 0x002  
Address  
Figure 6-6. Software Watchdog Interrupt Vector Register (SWIVR)  
Note that the software watchdog interrupt cannot be autovectored.  
6.2.7 Software Watchdog Service Register (SWSR)  
The SWSR, shown in Figure 6-7, is where the software watchdog timer servicing sequence  
should be written. To prevent a watchdog timer timeout, the software service sequence must  
be performed (0x55 followed by 0xAA written to the SWSR). Both writes must be  
performed in order before the timeout, but any number of instructions or accesses to the  
SWSR can be executed between the two writes. If the timer has timed out, writing to SWSR  
does not cancel the interrupt (that is, IPR[SWT] remains set). The interrupt is cancelled  
(and SWT is cleared) automatically when the IACK cycle is run.  
7
0
Field  
Reset  
SWSR  
Undetermined  
R/W  
Supervisor write only  
MBAR + 0x003  
Address  
Figure 6-7. Software Watchdog Service Register (SWSR)  
Chapter 6. SIM Overview  
6-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
 
Freescale Semiconductor, Inc.  
gramming Model  
6.2.8 PLL Clock Control for CPU STOP Instruction  
The SIM contains the PLL clock control register, which is described in detail in  
Section 7.2.4, “PLL Control Register (PLLCR).” PLLCR[ENBSTOP,PLLIPL] are  
signicant to the operation of the SIM, and are described as follows:  
PLLCR[ENBSTOP] must be set for the ColdFire CPU STOP instruction to be  
acknowledged. This bit is cleared at reset and must be set for the MCF5307 to enter  
low-power modes. The CPU STOP instruction stops only clocks to the core  
processor. All internal modules remain clocked and can generate interrupts to restart  
the ColdFire core. For example, the on-chip timer can be used to interrupt the  
processor after a given timer countdown.  
PLLCR[PLLIPL] determines the minimum level at which an interrupt (decoded as  
an interrupt priority level or IPL) must occur to awaken the PLL. The PLL then turns  
clocks back on to the core processor and interrupt exception processing takes place.  
Table 6-5 describes PLLIPL settings to be compared against the interrupt ranges that  
awaken the core processor from a CPU STOP instruction.  
Table 6-5. PLLIPL Settings  
PLLIPL  
Description  
000  
001  
010  
011  
100  
101  
110  
111  
Any interrupts can wake core  
Interrupts 27  
Interrupts 37  
Interrupts 47  
Interrupts 57  
Interrupts 67  
Interrupt 7 only  
No interrupts can wake core  
6.2.9 Pin Assignment Register (PAR)  
The pin assignment register (PAR), Figure 6-8, allows the selection of pin assignments.  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Field PAR15 PAR14 PAR13 PAR12 PAR11 PAR10 PAR9 PAR8 PAR7 PAR6 PAR5 PAR4 PAR3 PAR2 PAR1 PAR0  
PARn = 0 PP15 PP14 PP13 PP12 PP11 PP10 PP9 PP8 PP7 PP6  
PP5 PP4 PP3  
PP2 PP1 PP0  
TM0 TT1 TT0  
PARn = 1 A31 A30 A29 A28 A27 A26 A25 A24 TIP DREQ0 DREQ1 TM2 TM1  
Reset Determined by driving D4/ADDR_CONFIG with a 1 or 0 when RSTI negates. The system is congured as PP[15:0] if  
D4 is low; otherwise alternate pin functions selected by PAR = 1 are used.  
R/W  
R/W  
Address  
Address MBAR + 0x004  
Figure 6-8. Pin Assignment Register (PAR)  
6-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Programming Model  
6.2.10 Bus Arbitration Control  
This section describes the bus arbitration register and the four arbitration schemes.  
6.2.10.1 Default Bus Master Park Register (MPARK)  
The MPARK, shown in Figure 6-9, determines the default bus master arbitration between  
internal transfers (core and DMA module) and between internal and external transfers to  
internal resources. This arbitration is needed because external masters can access internal  
registers within the MCF5307 peripherals.  
7
6
5
4
3
2
0
Field  
Reset  
PARK  
IARBCTRL EARBCTRL SHOWDATA  
BCR24BIT  
0000_0000  
R/W  
R/W  
Address  
MBAR + 0x0C  
Figure 6-9. Default Bus Master Register (MPARK)  
Table 6-6 describes MPARK bits.  
Table 6-6. MPARK Field Descriptions  
Bits  
Name  
Description  
76  
PARK  
Park. Indicates the arbitration priority of internal transfers among MCF5307 resources.  
00 Round-robin between DMA and ColdFire core  
01 Park on master ColdFire core  
10 Park on master DMA module  
11 Park on current master  
Use of this eld is described in detail in Section 6.2.10.1.1, Arbitration for Internally  
Generated Transfers (MPARK[PARK]).”  
5
IARBCTRL Internal bus arbitration control. Controls external device access to the MCF5307 internal bus.  
0 Arbitration disabled (single-master system)  
1 Arbitration enabled. IARBCTRL must be set if external masters are using internal  
resources like the DRAM controller or chip selects.  
Use of this bit depends on whether the system has single or multiple masters, as follows:  
In a single-master system, IARBCTRL should stay cleared, disabling internal arbitration  
by external masters. In this scenario, MPARK[PARK] applies only to priority of internal  
masters over one another. Note that the internal DMA (master 3) has priority over the  
ColdFire core (master 2), if internal DMA bandwidth is at its maximum (BWC = 000).  
In multiple master systems that expect to use internal resources like the DRAM controller  
or chip selects, internal arbitration should be enabled.The external master defaults to the  
highest priority internal master anytime BG is negated.  
4
EARBCTRL External bus arbitration control. Enables internal register memory space to external bus  
arbitration. Internal registers are those accessed at offsets to the MBAR. These include the  
2
SIM, DMA, chip selects, timers, UARTs, I C, and parallel port registers. These registers do  
not include the MBAR; only the core can access the MBAR.  
0 Arbitration disabled  
1 Arbitration enabled  
The use of this eld is described in detail in Section 6.2.10.1.2, Arbitration between Internal  
and External Masters for Accessing Internal Resources.”  
Chapter 6. SIM Overview  
6-11  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
gramming Model  
Table 6-6. MPARK Field Descriptions (Continued)  
Bits  
Name  
Description  
3
SHOWDATA Enable internal register data bus to be driven on external bus. EARBCTRL must be set for  
this function to work. Section 6.2.10.1.2, Arbitration between Internal and External Masters  
for Accessing Internal Resources,describes the proper use of SHOWDATA.  
0 Do not drive internal register data bus values to external bus.  
1 Drive internal register data bus values to external bus.  
21  
Reserved, should be cleared.  
0
BCR24BIT Controls the BCR and address mapping for DMA. Allows the BCR to be used as a 24-bit  
register. Chapter 12, DMA Controller Module,describes the BCRs.  
0 DMA BCRs function as 16-bit counters.  
1 DMA BCRs function as 24-bit counters.  
6.2.10.1.1 Arbitration for Internally Generated Transfers (MPARK[PARK])  
MPARK[PARK] prioritizes internal transfers, which can be initiated by the core and the  
on-chip DMA module, which contains all four DMA channels. Priority among the four  
DMA channels in the module is determined by the BWC bits in their respective DMA  
control registers (see Chapter 12, “DMA Controller Module”).  
The four arbitration schemes for internally generated transfers are described as follows:  
Round-robin scheme (PARK = 00)—Figure 6-10 shows round-robin arbitration  
between the core and DMA module. Bus mastership alternates between the core and  
DMA module.  
Internal Bus Mastership  
(Alternates between Core and DMA Module)  
DMA MODULE  
CORE  
Channel 0  
Channel 1  
Channel 2  
Channel 3  
5th  
3rd  
1st  
4th  
2nd  
Figure 6-10. Round Robin Arbitration (PARK = 00)  
The DMA module presents only the highest-priority DMA request, and bus  
mastership alternates between the core and DMA channel as long as both are  
requesting bus mastership. Section 12.5.4.1, “External Request and Acknowledge  
Operation,” includes a timing diagram showing a lower-priority DMA transfer.  
When the processor is initialized, the core has rst priority. If DMA channels 0 and  
1 (both set to BWC = 010) assert an internal bus request during a core-generated bus  
transfer, DMA channel 0 would gain bus mastership next. However, if the core  
requests the bus during this DMA transfer, bus mastership returns to the core rather  
than being granted to DMA channel 1.  
6-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Model  
Note that the internal DMA has higher priority than the core if the internal DMA has  
its bandwidth BWC bits set to 000 (maximum bandwidth).  
Park on master core priority (PARK = 01)—The core retains bus mastership as long  
as it needs it. After it negates its internal bus request, the core does not have to  
rearbitrate for the bus unless the DMA module has requested the bus when it is idle.  
The DMA module can be granted bus mastership only when the core is not asserting  
its bus request. See Figure 6-11.  
Core BR negated  
DMA module BR asserted  
Core BR negated  
DMA module BR negated  
Core  
DMA Module  
Core BR asserted  
DMA module BR negated/asserted  
Figure 6-11. Park on Master Core Priority (PARK = 01)  
Park on master DMA priority (PARK = 10)—The DMA module retains bus  
mastership as long as it needs it. After it negates its internal bus request, the DMA  
module does not have to rearbitrate for the bus unless the core has requested the bus  
when it is idle. The core can be granted bus mastership only when the DMA module  
is not asserting its bus request. See Figure 6-12.  
DMA module BR asserted  
Core BR negated/asserted  
DMA BR negated  
Core BR negated  
Core  
DMA Module  
Core BR asserted  
DMA module BR negated  
Figure 6-12. Park on DMA Module Priority (PARK = 10)  
Chapter 6. SIM Overview  
6-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
gramming Model  
Park on current master priority (PARK = 11)—The current bus master retains  
mastership as long as it needs the bus. The other device can become the bus master  
only when the bus is idle. For example, if the core is bus master out of reset, it retains  
mastership as long as it needs the bus. It loses mastership only when it negates its  
bus request signal and the DMA asserts its internal bus request signal. At this point  
the DMA module is the bus master, and retains bus mastership as long as it needs  
the bus. See Figure 6-13.  
DMA module BR asserted  
Core BR negated  
DMA module BR negated  
DMA module BR negated  
Core BR negated  
Core BR negated  
Core  
DMA Module  
Core BR asserted  
DMA module BR asserted  
DMA module BR asserted  
Core BR asserted  
Core BR asserted  
DMA module BR negated  
Figure 6-13. Park on Current Master Priority (PARK = 01)  
6.2.10.1.2 Arbitration between Internal and External Masters for  
Accessing Internal Resources  
If an external device is programmed to access internal MCF5307 resources  
(EARBCTRL = 1), the external device can gain bus mastership only when BG is negated.  
This means neither the core nor the DMA controller can access the external bus until the  
external device asserts BG. After the external master nishes its bus transfer and asserts  
BG, the core has priority on the next available bus cycle regardless of the value of PARK.  
Thus if the core asserts its internal bus request on this rst bus cycle, it executes a bus cycle  
even if PARK indicates the DMA should have priority. Then, after the bus transfer, the  
PARK scheme returns to programmed functioning and the DMA is given bus mastership.  
NOTE:  
In all arbitration modes, if BG is negated, the external master  
interface has highest priority. In this case, the ColdFire core has  
second-highest priority, until the internal bus grant is asserted.  
In a single-master system, the setting of EARBCTRL does not affect arbitration  
performance. Typically, BG is tied low and the MCF5307 always owns the external  
bus and internal register transfers are already shown on the external bus. In a system  
where MCF5307 is the only master, this bit may remain cleared.  
If the system needs external visibility of the data bus values during internal register  
transfers for system debugging, both EARBCTRL and SHOWDATA must be set.  
Note that when an internal register transfer is driven externally, TA becomes an  
output, which is asserted (normally an input) to prevent external devices and  
6-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Programming Model  
memories from responding to internal register transfers that go to the external bus.  
The AS signal and all chip-select-related strobe signals are not asserted.  
Do not immediately follow a cycle in which SHOWDATA is set with a cycle using  
fast termination.  
In multiple-master systems, disabling arbitration with EARBCTRL allows  
performance improvement because internal register bus transfer cycles do not  
interfere with the external bus.  
Having internal transfers go external may affect performance in two ways:  
— If the internal device does not control the bus immediately, the core stalls until it  
wins arbitration of the external bus.  
— If the core wins arbitration instantly, it may kick the external master off of the  
external bus unnecessarily for a transfer that did not need the external bus. For  
debug, where this performance penalty is not a concern, setting EARBCTRL and  
SHOWDATA provides external visibility of the internal bus cycles.  
Chapter 6. SIM Overview  
6-15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
gramming Model  
6-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 7  
Phase-Locked Loop (PLL)  
This chapter describes conguration and operation of the phase-locked loop (PLL) module.  
It describes in detail the registers and signals that support the PLL implementation.  
7.1 Overview  
The basic features of the MCF5307 PLL implementation are as follows:  
The PLL locks to the clock input (CLKIN) frequency. It provides a processor clock  
(PCLK) that is twice the input clock frequency and a programmable system bus  
clock output (BCLKO) that is 1/2, 1/3, or 1/4 the PCLK frequency.  
A buffered processor status clock (PSTCLK) is equal to the PCLK frequency, as  
indicated in Figure 7-1. This signal is made available for system development.  
The PLL module has the following three modes of operation:  
Reset mode—In reset mode, the core/bus frequency ratio and other conguration  
information is sampled. At reset, the PLL asserts the reset out signal, RSTO.  
Normal mode—During normal operations, the divide ratio is programmed at reset  
and is clock-multiplied to provide a maximum frequency of 90 MHz  
Reduced-power mode—In reduced-power mode, the high-speed processor core  
clocks are turned off without losing the register contents so that the system can be  
reenabled by an unmasked interrupt or reset.  
Figure 7-1 shows the frequency relationships of PLL module clock signals.  
z
RSTO  
PCLK  
PSTCLK  
BCLKO  
Divide by 2,  
3, or 4  
PLL  
CLKIN X 4  
Divide  
by 2  
CLKIN  
FREQ[1:0]  
RSTI  
DIVIDE[1:0]  
Figure 7-1. PLL Module Block Diagram  
Chapter 7. Phase-Locked Loop (PLL)  
7-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Operation  
7.1.1 PLL:PCLK Ratios  
The specications for the clocks in the PLL module are summarized in Table 0-1.  
Table 0-1. PLL Clock Specifications  
Symbol  
Description  
PLL lock time  
Input clock  
Internal processor clock 33.34 MHz90 MHz (CLKIN x 2)  
Frequency  
2.2 mS with CLKIN running at 45 MHz  
16.67 MHz45 MHz  
CLKIN  
PCLK  
PSTCLK  
BCLKO  
Processor status clock  
Output clock  
33.34 MHz90 MHz (CLKIN x 2)  
16.67 MHz45 MHz  
11.11 MHz30 MHz 8.24 MHz22.5 MHz  
1/3 1/4  
BCLKO/PCLK ratio  
1/2  
7.2 PLL Operation  
The following sections provide detailed information about the three PLL modes.  
7.2.1 Reset/Initialization  
The PLL receives RSTI as an input directly from the pin. Additionally, signals are  
multiplexed with D[3:0]/FREQ[1:0]:DIVIDE[1:0] while RSTI is asserted. These signals  
are sampled during reset and registered by the PLL on the negation of RSTI to provide  
initialization information. FREQ[1:0] and DIVIDE[1:0] are used by the PLL to select the  
CLKIN frequency range and set the CLKIN/PCLK ratio, respectively.  
7.2.2 Normal Mode  
PCLK is divided to create the system bus clock, BCLKO. At reset, the logic level of  
DIVIDE[1:0]/D[1:0] determines the BCLKO divisor. The bus clock can be 1/2, 1/3, or 1/4  
of the PCLK frequency.  
7.2.3 Reduced-Power Mode  
The PCLK can be turned off in a predictable manner to conserve system power. To allow  
fast restart of the MCF5307 processor core, the PLL continues to operate at the frequency  
congured at reset. PCLK is disabled using the CPU STOP instruction and resumes normal  
operation on interrupt, as described in Section 7.2.4, “PLL Control Register (PLLCR).”  
7-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
PLL Port List  
7.2.4 PLL Control Register (PLLCR)  
The PLL control register (PLLCR), Figure 7-2, provides control over the PLL.  
7
6
5
4
3
2
1
0
Field ENBSTOP  
PLLIPL  
Reset  
R/W  
0000_0000  
R/W  
Address  
MBAR + 0x08  
Figure 7-2. PLL Control Register (PLLCR)  
Table 7-1 describes PLLCR bits.  
Table 7-1. PLLCR Field Descriptions  
Bit  
Name  
Description  
7
ENBSTOP Enable CPU STOP instruction. Must be set for the ColdFire CPU STOP instruction to be  
acknowledged. Cleared at reset and must be subsequently set for the processor to enter  
low-power modes. Only clocks to the core are turned off because of the CPU STOP instruction.  
Internal modules remain clocked and can generate interrupts to restart the ColdFire core.  
0 Disable CPU STOP  
1 Enable CPU STOP; STOP instruction turns off clocks to the ColdFire core.  
64  
PLLIPL  
PLL interrupt priority level to wake up from CPU STOP. Determines the minimum level an  
interrupt (decoded as an interrupt priority level) must be to waken the PLL. The PLL then turns  
clocks back on to the core processor and interrupt exception processing occurs.  
000 Any interrupts can wake core  
001 Interrupts 27  
010 Interrupts 37  
011 Interrupts 47  
100 Interrupts 57  
101 Interrupts 67  
110 Interrupt 7 only  
111 No interrupts can wake core. Any reset, including a watchdog reset, can wake the core.  
No PLL phase lock time is required.  
30  
Reserved, should be cleared.  
7.3 PLL Port List  
Table 7-2 describes PLL module inputs.  
Table 7-2. PLL Module Input SIgnals  
SIgnal  
CLKIN  
Description  
Input clock to the PLL. Input frequency must not be changed during operation. Changes are  
recognized only at reset.  
RSTI  
Active-low asynchronous input that, when asserted, indicates PLL is to enter reset mode. As long as  
RSTI is asserted, the PLL is held in reset and does not begin to lock.  
Chapter 7. Phase-Locked Loop (PLL)  
7-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
 
Freescale Semiconductor, Inc.  
ng Relationships  
SIgnal  
Table 7-2. PLL Module Input SIgnals  
Description  
FREQ[1:0]  
Input bus indicating the CLKIN frequency range. FREQ[1:0] are multiplexed with D[3:2] and are  
sampled while RSTI is asserted. FREQ[1:0] must be correctly set for proper operation. These signals  
do not affect CLKIN frequency but are required to set up the analog PLL to handle the input clock  
frequency.  
00 16.627.999 MHz  
01 2838.999 MHz  
10 3945 MHz  
11 Not used  
DIVIDE[1:0] The MCF5307 samples clock ratio encodings on the lower data bits of the bus to determine the  
CLKIN-to-processor clock ratio. D[1:0]/DIVIDE[1:0] support the divide-ratio combinations.  
00 1/4  
01 Not used  
10 1/2  
11 1/3  
Table 7-3 describes PLL module outputs.  
Table 7-3. PLL Module Output Signals  
Output  
Description  
BCLKO  
This bus clock output provides a divided version of the processor clock frequency, determined by  
DIVIDE[1:0].  
PSTCLK  
RSTO  
Provides a buffered processor status clock at 2X the CLKIN frequency. PSTCLK is a delayed version of  
PCLK. See Section 7.4.1, PCLK, PSTCLK, and BCLKO,and Figure 7-1.  
This output provides an external reset for peripheral devices.  
7.4 Timing Relationships  
The MCF5307 uses CLKIN and BCLKO, which is generated by the PLL and may be used  
as the bus timing reference for external devices. The MCF5307 BCLKO frequency can be  
1/2, 1/3, or 1/4 the processor clock. In this document, bus timings are referenced from  
BCLKO. Furthermore, depending on the user conguration, the BCLKO-to-processor  
clock ratio may differ from the CLKIN-to-processor clock ratio.  
7.4.1 PCLK, PSTCLK, and BCLKO  
Figure 7-3 shows the frequency relationships between PCLK, PSTCLK,CLKIN, and the  
three possible versions of BCLKO. This gure does not show the skew between CLKIN  
and PCLK, PSTCLK, and BCLKO. PSTCLK is equal to frequency of PCLK. Similarly, the  
skew between PCLK and BCLKO is unspecied.  
7-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Timing Relationships  
CLKIN  
PCLK  
PSTCLK  
BCLKO (/2)  
BCLKO (/3)  
BCLKO (/4)  
NOTE: The clock signals are shown with edges aligned to show frequency relationships only.  
Actual signal edges have some skew between them.  
Figure 7-3. CLKIN, PCLK, PSTCLK, and BCLKO Timing  
7.4.2 RSTI Timing  
Figure 7-4 shows PLL timing during reset. As shown, RSTI must be asserted for at least 80  
CLKIN cycles to give the MCF5307 time to begin its initialization sequence. At this time,  
the conguration pins should be asserted (D[3:2] for FREQ[1:0] and D[1:0] for  
DIVIDE[1:0]), meeting the minimum setup and hold times to RSTI given in Chapter 20,  
“Electrical Specications.”  
On the rising edge of BCLKO before the rising edge of RSTI, the data on D[7:0] is latched  
and the PLL begins ramping to its nal operating frequency. During this ramp and lock  
time, BCLKO and PSTCLK are held low. The PLL locks in about 2.2 mS with a 45-MHz  
CLKIN, at which time BCLKOand PSTCLK begin normal operation in the specied mode.  
The PLL requires 100,000 CLKIN cycles to guarantee PLL lock. To allow for reset of  
external peripherals requiring a clock source, RSTO remains asserted for a number of  
BCLKO cycles, as shown in Figure 7-4.  
Chapter 7. Phase-Locked Loop (PLL)  
7-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Power Supply Filter Circuit  
100K CLKIN  
Cycle Lock Time  
>80 CLKIN  
CLKIN  
30 BCLKO  
20 BCLKO  
BCLKO  
(1/2 MODE)  
BCLKO  
(1/3 MODE)  
15 BCLKO  
BCLKO  
(1/4 MODE)  
PSTCLK  
RSTI  
D[7:0]  
D[7:0] latched  
RSTO  
Figure 7-4. Reset and Initialization Timing  
7.5 PLL Power Supply Filter Circuit  
To ensure PLL stability, the power supply to the PLL power pin should be ltered using a  
circuit similar to the one in Figure 7-5. The circuit should be placed as close as possible to  
the PLL power pin to ensure maximum noise ltering.  
10 Ω  
Vdd  
PLL power pin  
10 µF  
0.1 µF  
Figure 7-5. PLL Power Supply Filter Circuit  
7-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Chapter 8  
2
I C Module  
This chapter describes the MCF5307 I C module, including I C protocol, clock  
2
2
2
synchronization, and the registers in the I C programing model. It also provides extensive  
programming examples.  
8.1 Overview  
2
I C is a two-wire, bidirectional serial bus that provides a simple, efcient method of data  
exchange, minimizing the interconnection between devices. This bus is suitable for  
applications requiring occasional communications over a short distance between many  
2
devices. The exible I C allows additional devices to be connected to the bus for expansion  
and system development.  
2
The I C system is a true multiple-master bus including arbitration and collision detection  
that prevents data corruption if multiple devices attempt to control the bus simultaneously.  
This feature supports complex applications with multiprocessor control and can be used for  
rapid testing and alignment of end products through external connections to an  
assembly-line computer.  
8.2 Interface Features  
2
The I C module has the following key features:  
2
Compatibility with I C bus standard  
Support for 3.3-V tolerant devices  
Multiple-master operation  
Software-programmable for one of 64 different serial clock frequencies  
Software-selectable acknowledge bit  
Interrupt-driven, byte-by-byte data transfer  
Arbitration-lost interrupt with automatic mode switching from master to slave  
Calling address identication interrupt  
Start and stop signal generation/detection  
Repeated START signal generation  
2
Chapter 8. I C Module  
8-1  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
rface Features  
Acknowledge bit generation/detection  
Bus-busy detection  
2
Figure 8-1 is a block diagram of the I C module.  
Internal Bus  
Address  
IRQ  
Data  
Registers and ColdFire Interface  
Address Decode  
Data MUX  
2
2
2
2
2
I C Frequency  
I C Control  
I C Status  
I C Data  
I C Address  
Register  
(IADR)  
Divider Register  
(IFDR)  
Register  
(I2CR)  
Register  
(I2SR)  
I/O Register  
(I2DR)  
In/Out  
Clock  
Data  
Shift  
Control  
Register  
Start, Stop,  
and  
Arbitration  
Control  
Input  
Sync  
Address  
Compare  
SCL  
SDA  
Figure 8-1. I2C Module Block Diagram  
2
Figure 8-1 shows the relationships of the I C registers, listed below:  
2
I C address register (IADR)  
2
I C frequency divider register (IFDR)  
2
I C control register (I2CR)  
2
I C status register (I2SR)  
2
I C data I/O register (I2DR)  
These registers are described in Section 8.5, “Programming Model.”  
8-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
2
I C System Configuration  
2
8.3 I C System Configuration  
2
The I C module uses a serial data line (SDA) and a serial clock line (SCL) for data transfer.  
2
For I C compliance, all devices connected to these two signals must have open drain or  
open collector outputs. (There is no such requirement for inputs.) The logic AND function  
is exercised on both lines with external pull-up resistors.  
2
Out of reset, the I C default is as slave receiver. Thus, when not programmed to be a master  
2
or responding to a slave transmit address, the I C module should return to the default slave  
receiver state. See Section 8.6.1, “Initialization Sequence,” for exceptions.  
NOTE:  
2
The I C module is designed to be compatible with the Philips  
2
I C bus protocol. For information on system conguration,  
2
protocol, and restrictions, see The I C Bus Specification,  
Version 2.1.  
2
8.4 I C Protocol  
Normally, a standard communication is composed of the following parts:  
1. START signal—When no other device is bus master (both SCL and SDA lines are  
at logic high), a device can initiate communication by sending a START signal (see  
A in Figure 8-2). A START signal is dened as a high-to-low transition of SDA  
while SCL is high. This signal denotes the beginning of a data transfer (each data  
transfer can be several bytes long) and awakens all slaves.  
msb  
1
lsb  
8
msb  
1
lsb  
8
SCL  
2
3
4
5
6
7
9
2
3
4
5
6
7
9
SDA  
A
AD7 AD6AD5 AD4 AD3 AD2 AD1 R/W  
Calling Address  
XXX  
D7 D6 D5 D4 D3 D2 D1 D0  
Data Byte  
E
No  
ACK  
Bit  
ACK  
Bit  
STOP  
Signal  
START  
Signal  
R/W  
C
B
D
F
Figure 8-2. I2C Standard Communication Protocol  
2. Slave address transmission—The master sends the slave address in the rst byte  
after the START signal (B). After the seven-bit calling address, it sends the R/W bit  
(C), which tells the slave data transfer direction.  
2
Each slave must have a unique address. An I C master must not transmit an address  
that is the same as its slave address; it cannot be master and slave at the same time.  
2
Chapter 8. I C Module  
8-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Protocol  
The slave whose address matches that sent by the master pulls SDA low at the ninth  
clock (D) to return an acknowledge bit.  
3. Data transfer—When successful slave addressing is achieved, the data transfer can  
proceed (E) on a byte-by-byte basis in the direction specied by the R/W bit sent by  
the calling master.  
Data can be changed only while SCL is low and must be held stable while SCL is  
high, as Figure 8-2 shows. SCL is pulsed once for each data bit, with the msb being  
sent rst. The receiving device must acknowledge each byte by pulling SDA low at  
the ninth clock; therefore, a data byte transfer takes nine clock pulses.  
If it does not acknowledge the master, the slave receiver must leave SDA high. The  
master can then generate a STOP signal to abort the data transfer or generate a  
START signal (repeated start, shown in Figure 8-3) to start a new calling sequence.  
If the master receiver does not acknowledge the slave transmitter after a byte  
transmission, it means end-of-data to the slave. The slave releases SDA for the  
master to generate a STOP or START signal.  
4. STOP signal—The master can terminate communication by generating a STOP  
signal to free the bus. A STOP signal is dened as a low-to-high transition of SDA  
while SCL is at logical high (F). Note that a master can generate a STOP even if the  
slave has made an acknowledgment, at which point the slave must release the bus.  
Instead of signalling a STOP, the master can repeat the START signal, followed by a calling  
command, (A in Figure 8-3). A repeated START occurs when a START signal is generated  
without rst generating a STOP signal to end the communication.  
msb  
1
lsb  
8
lsb  
8
msb  
1
SCL  
SDA  
2
3
4
5
6
7
9
2
3
4
5
6
7
9
AD7 AD6AD5 AD4 AD3 AD2 AD1R/W  
Calling Address  
XX  
AD7 AD6 AD5 AD4AD3 AD2 AD1R/W  
New Calling Address  
Stop  
ACK Repeated  
R/W  
START  
Signal  
No STOP  
ACK Signal  
Bit  
R/W  
Bit  
START  
Signal  
A
Figure 8-3. Repeated START  
The master uses a repeated START to communicate with another slave or with the same  
slave in a different mode (transmit/receive mode) without releasing the bus.  
8.4.1 Arbitration Procedure  
If multiple devices simultaneously request the bus, the bus clock is determined by a  
synchronization procedure in which the low period equals the longest clock-low period  
among the devices and the high period equals the shortest. A data arbitration procedure  
8-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
2
I C Protocol  
determines the relative priority of competing devices. A device loses arbitration if it sends  
logic high while another sends logic low; it immediately switches to slave-receive mode  
and stops driving SDA. In this case, the transition from master to slave mode does not  
generate a STOP condition. Meanwhile, hardware sets I2SR[IAL] to indicate loss of  
arbitration.  
8.4.2 Clock Synchronization  
Because wire-AND logic is used, a high-to-low transition on SCL affects devices  
connected to the bus. Devices start counting their low period when the master drives SCL  
low. When a device clock goes low, it holds SCL low until the clock high state is reached.  
However, the low-to-high change in this device clock may not change the state of SCL if  
another device clock is still in its low period. Therefore, the device with the longest low  
period holds the synchronized clock SCL low. Devices with shorter low periods enter a high  
wait state during this time (See Figure 8-4). When all devices involved have counted off  
their low period, the synchronized clock SCL is released and pulled high. There is then no  
difference between device clocks and the state of SCL, so all of the devices start counting  
their high periods. The rst device to complete its high period pulls SCL low again.  
Start counting high period  
Wait  
SCL1  
SCL2  
SCL  
Internal Counter Reset  
Figure 8-4. Synchronized Clock SCL  
8.4.3 Handshaking  
The clock synchronization mechanism can be used as a handshake in data transfers. Slave  
devices can hold SCL low after completing one byte transfer (9 bits). In such a case, the  
clock mechanism halts the bus clock and forces the master clock into wait states until the  
slave releases SCL.  
8.4.4 Clock Stretching  
Slaves can use the clock synchronization mechanism to slow down the transfer bit rate.  
After the master has driven SCL low, the slave can drive SCL low for the required period  
and then release it. If the slave SCL low period is longer than the master SCL low period,  
the resulting SCL bus signal low period is stretched.  
2
Chapter 8. I C Module  
8-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
gramming Model  
8.5 Programming Model  
2
Table 8-1 lists the conguration registers used in the I C interface.  
Table 8-1. I2C Interface Memory Map  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
2
0x280 I C address register (IADR) [p. 8-6]  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
2
0x284 I C frequency divider register (IFDR) [p. 8-7]  
2
0x288 I C control register (I2CR) [p. 8-8]  
2
0x28C I C status register (I2SR) [p. 8-9]  
2
0x290 I C data I/O register (I2DR) [p. 8-10]  
NOTE:  
External masters cannot access the MCF5307’s on-chip  
2
memories or MBAR, but can access any I C module register.  
2
8.5.1 I C Address Register (IADR)  
2
The IADR holds the address the I C responds to when addressed as a slave. Note that it is  
not the address sent on the bus during the address transfer.  
7
6
5
4
3
2
1
0
Field  
Reset  
ADR  
0000_0000  
Read/Write  
MBAR + 0x280  
R/W  
Address  
Figure 8-5. I2C Address Register (IADR)  
Table 8-2 describes IADR elds.  
Table 8-2. I2C Address Register Field Descriptions  
Bits  
71  
Name  
Description  
2
ADR  
Slave address. Contains the specic slave address to be used by the I C module. Slave mode is  
the default I C mode for an address match on the bus.  
2
0
Reserved, should be cleared.  
8-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Programming Model  
2
8.5.2 I C Frequency Divider Register (IFDR)  
The IFDR, Figure 8-6, provides a programmable prescaler to congure the clock for  
bit-rate selection.  
7
6
5
4
3
2
1
0
Field  
Reset  
IC  
0000_0000  
Read/Write  
R/W  
Address  
MBAR + 0x284  
Figure 8-6. I2C Frequency Divider Register (IFDR)  
Table 8-3 describes IFDR[IC].  
Table 8-3. IFDR Field Descriptions  
Bits Name  
76  
50 IC  
Description  
Reserved, should be cleared.  
2
I C clock rate. Prescales the clock for bit-rate selection. Due to potentially slow SCL and SDA rise and  
fall times, bus signals are sampled at the prescaler frequency.The serial bit clock frequency is equal to  
BCLK0 divided by the divider shown below. Note that IC can be changed anywhere in a program.  
IC  
Divider  
IC  
Divider  
IC  
Divider  
IC  
Divider  
0x00  
0x01  
0x02  
0x03  
0x04  
0x05  
0x06  
0x07  
0x08  
0x09  
0x0A  
0x0B  
0x0C  
0x0D  
0x0E  
0x0F  
28  
30  
0x10  
0x11  
0x12  
0x13  
0x14  
0x15  
0x16  
0x17  
0x18  
0x19  
0x1A  
0x1B  
0x1C  
0x1D  
0x1E  
0x1F  
288  
320  
0x20  
0x21  
0x22  
0x23  
0x24  
0x25  
0x26  
0x27  
0x28  
0x29  
0x2A  
0x2B  
0x2C  
0x2D  
0x2E  
0x2F  
20  
22  
24  
26  
28  
32  
36  
40  
48  
56  
64  
72  
80  
96  
112  
128  
0x30  
0x31  
0x32  
0x33  
0x34  
0x35  
0x36  
0x37  
0x38  
0x39  
0x3A  
0x3B  
0x3C  
0x3D  
0x3E  
0x3F  
160  
192  
34  
384  
224  
40  
480  
256  
44  
576  
320  
48  
640  
384  
56  
768  
448  
68  
960  
512  
80  
1152  
1280  
1536  
1920  
2304  
2560  
3072  
3840  
640  
88  
768  
104  
128  
144  
160  
192  
240  
896  
1024  
1280  
1536  
1792  
2048  
2
Chapter 8. I C Module  
8-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
gramming Model  
2
8.5.3 I C Control Register (I2CR)  
2
2
The I2CR is used to enable the I C module and the I C interrupt. It also contains bits that  
govern operation as a slave or a master.  
7
6
5
4
3
2
1
0
Field IEN  
IIEN  
MSTA  
MTX  
TXAK RSTA  
Reset  
R/W  
0000_0000  
Read/Write  
Address  
MBAR + 0x288  
Figure 8-7. I2C Control Register (I2CR)  
Table 8-4 describes I2CR elds.  
Table 8-4. I2CR Field Descriptions  
Bits  
Name  
Description  
2
2
7
IEN  
I C enable. Controls the software reset of the entire I C module. If the module is enabled in the  
middle of a byte transfer, slave mode ignores the current bus transfer and starts operating when the  
next start condition is detected. Master mode is not aware that the bus is busy; so initiating a start  
2
cycle may corrupt the current bus cycle, ultimately causing either the current master or the I C  
module to lose arbitration, after which bus operation returns to normal.  
0 The module is disabled, but registers can still be accessed.  
2
1 The I C module is enabled. This bit must be set before any other I2CR bits have any effect.  
2
6
5
IIEN  
I C interrupt enable.  
2
0 I C module interrupts are disabled, but currently pending interrupt condition are not cleared.  
1 I C module interrupts are enabled. An I C interrupt occurs if I2SR[IIF] is also set.  
2
2
MSTA Master/slave mode select bit. If the master loses arbitration, MSTA is cleared without generating a  
STOP signal.  
0 Slave mode. Changing MSTA from 1 to 0 generates a STOP and selects slave mode.  
1 Master mode. Changing MSTA from 0 to 1 signals a START on the bus and selects master mode.  
4
MTX  
Transmit/receive mode select bit. Selects the direction of master and slave transfers.  
0 Receive  
1 Transmit. When a slave is addressed, software should set MTX according to I2SR[SRW]. In  
master mode, MTX should be set according to the type of transfer required.Therefore, for address  
cycles, MTX is always 1.  
3
2
TXAK Transmit acknowledge enable. Species the value driven onto SDA during acknowledge cycles for  
2
both master and slave receivers. Note that writing TXAK applies only when the I C bus is a receiver.  
0 An acknowledge signal is sent to the bus at the ninth clock bit after receiving one byte of data.  
1 No acknowledge signal response is sent (that is, acknowledge bit = 1).  
RSTA Repeat start. Always read as 0. Attempting a repeat start without bus mastership causes loss of  
arbitration.  
0 No repeat start  
1 Generates a repeated START condition.  
10  
Reserved, should be cleared.  
8-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Model  
2
8.5.4 I C Status Register (I2SR)  
This I2SR contains bits that indicate transaction direction and status.  
7
6
5
4
3
2
1
0
Field  
Reset  
ICF  
IAAS  
IBB  
IAL  
SRW  
IIF  
RXAK  
1000_0001  
R/W  
MBAR + 0x28C  
R/W  
R
R
R/W  
R
Address  
Figure 8-8. I2CR Status Register (I2SR)  
Table 8-5 describes I2SR elds.  
Table 8-5. I2SR Field Descriptions  
Bits  
Name  
Description  
7
ICF  
Data transferring bit. While one byte of data is transferred, ICF is cleared.  
0 Transfer in progress  
1 Transfer complete. Set by the falling edge of the ninth clock of a byte transfer.  
2
6
IAAS  
I C addressed as a slave bit. The CPU is interrupted if I2CR[IIEN] is set. Next, the CPU must check  
SRW and set its TX/RX mode accordingly. Writing to I2CR clears this bit.  
0 Not addressed.  
1 Addressed as a slave. Set when its own address (IADR) matches the calling address.  
2
5
4
IBB  
IAL  
I C bus busy bit. Indicates the status of the bus.  
0 Bus is idle. If a STOP signal is detected, IBB is cleared.  
1 Bus is busy. When START is detected, IBB is set.  
Arbitration lost. Set by hardware in the following circumstances. (IAL must be cleared by software by  
writing zero to it.)  
SDA sampled low when the master drives high during an address or data-transmit cycle.  
SDA sampled low when the master drives high during the acknowledge bit of a data-receive  
cycle.  
A start cycle is attempted when the bus is busy.  
A repeated start cycle is requested in slave mode.  
A stop condition is detected when the master did not request it.  
3
2
Reserved, should be cleared.  
SRW  
Slave read/write. When IAAS is set, SRW indicates the value of the R/W command bit of the calling  
address sent from the master. SRW is valid only when a complete transfer has occurred, no other  
transfers have been initiated, and the I C module is a slave and has an address match.  
2
0 Slave receive, master writing to slave.  
1 Slave transmit, master reading from slave.  
2
1
0
IIF  
I C interrupt. Must be cleared by software by writing a zero to it in the interrupt routine.  
2
0 No I C interrupt pending  
1 An interrupt is pending, which causes a processor interrupt request (if IIEN = 1). Set when one of  
the following occurs:  
Complete one byte transfer (set at the falling edge of the ninth clock)  
Reception of a calling address that matches its own specic address in slave-receive mode  
Arbitration lost  
RXAK Received acknowledge. The value of SDA during the acknowledge bit of a bus cycle.  
0 An acknowledge signal was received after the completion of 8-bit data transmission on the bus  
1 No acknowledge signal was detected at the ninth clock.  
2
Chapter 8. I C Module  
8-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Programming Examples  
2
8.5.5 I C Data I/O Register (I2DR)  
In master-receive mode, reading the I2DR, Figure 8-9, allows a read to occur and initiates  
next byte data receiving. In slave mode, the same function is available after it is addressed.  
7
6
5
4
3
2
1
0
Field  
Reset  
D
0000_0000  
Read/Write  
R/W  
Address  
MBAR + 0x290  
Figure 8-9. I2C Data I/O Register (I2DR)  
2
8.6 I C Programming Examples  
The following examples show programming for initialization, signalling START,  
post-transfer software response, signalling STOP, and generating a repeated START.  
8.6.1 Initialization Sequence  
Before the interface can transfer serial data, registers must be initialized, as follows:  
1. Set IFDR[IC] to obtain SCL frequency from the system bus clock. See  
Section 8.5.2, “I2C Frequency Divider Register (IFDR).”  
2. Update the IADR to dene its slave address.  
2
3. Set I2CR[IEN] to enable the I C bus interface system.  
4. Modify the I2CR to select master/slave mode, transmit/receive mode, and  
interrupt-enable or not.  
NOTE:  
2
If IBSR[IBB] when the I C bus module is enabled, execute the  
following code sequence before proceeding with normal  
initialization code. This issues a STOP command to the slave  
device, placing it in idle state as if it were just power-cycled on.  
I2CR = 0x0  
I2CR = 0xA  
dummy read of I2DR  
IBSR = 0x0  
I2CR = 0x0  
8.6.2 Generation of START  
After completion of the initialization procedure, serial data can be transmitted by selecting  
the master transmitter mode. On a multiple-master bus system, IBSR[IBB] must be tested  
to determine whether the serial bus is free. If the bus is free (IBB = 0), the START signal  
8-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
2
I C Programming Examples  
and the rst byte (the slave address) can be sent. The data written to the data register  
comprises the address of the desired slave and the lsb indicates the transfer direction.  
The free time between a STOP and the next START condition is built into the hardware that  
generates the START cycle. Depending on the relative frequencies of the system clock and  
2
the SCL period, it may be necessary to wait until the I C is busy after writing the calling  
address to the I2DR before proceeding with the following instructions.  
The following example signals START and transmits the rst byte of data (slave address):  
CHFLAG MOVE.B I2SR,-(A0);Check I2SR[MBB]  
BTST.B #5, (A0)+  
BNE.S CHFLAG;If I2SR[MBB] = 1, wait until it is clear  
TXSTART MOVE.B I2CR,-(A0);Set transmit mode  
BSET.B #4,(A0)  
MOVE.B (A0)+, I2CR  
MOVE.B I2CR, -(A0);Set master mode  
BSET.B #5, (A0);Generate START condition  
MOVE.B (A0)+, I2CR  
MOVE.B CALLING,-(A0);Transmit the calling address, D0=R/W  
MOVE.B (A0)+, I2DR  
IFREE  
MOVE.B I2SR,-(A0);Check I2SR[MBB]  
;If it is clear, wait until it is set.  
BTST.B #5, (A0)+;  
BEQ.S IFREE;  
8.6.3 Post-Transfer Software Response  
Sending or receiving a byte sets the I2SR[ICF], which indicates one byte communication  
is nished. I2SR[IIF] is also set. An interrupt is generated if the interrupt function is  
enabled during initialization by setting I2CR[IIEN]. Software must rst clear IIF in the  
interrupt routine. ICF is cleared either by reading from I2DR in receive mode or by writing  
to I2DR in transmit mode.  
2
Software can service the I C I/O in the main program by monitoring IIF if the interrupt  
function is disabled. Polling should monitor IIF rather than ICF because that operation is  
different when arbitration is lost.  
When an interrupt occurs at the end of the address cycle, the master is always in transmit  
mode; that is, the address is sent. If master receive mode is required (I2DR[R/W],  
I2CR[MTX] should be toggled.  
During slave-mode address cycles (I2SR[IAAS] = 1), I2SR[SRW] is read to determine the  
direction of the next transfer. MTX is programmed accordingly. For slave-mode data cycles  
(IAAS = 0), SRW is invalid. MTX should be read to determine the current transfer  
direction.  
The following is an example of a software response by a master transmitter in the interrupt  
routine (see Figure 8-10).  
I2SR  
LEA.L I2SR,-(A7);Load effective address  
BCLR.B #1,(A7)+;Clear the IIF flag  
MOVE.B I2CR,-(A7);Push the address on stack,  
2
Chapter 8. I C Module  
8-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programming Examples  
BTST.B #5,(A7)+;check the MSTA flag  
BEQ.S SLAVE;Branch if slave mode  
MOVE.B I2CR,-(A7);Push the address on stack  
BTST.B #4,(A7)+;check the mode flag  
BEQ.S RECEIVE;Branch if in receive mode  
MOVE.B I2SR,-(A7);Push the address on stack,  
BTST.B #0,(A7)+;check ACK from receiver  
BNE.B END;If no ACK, end of transmission  
TRANSMITMOVE.B DATABUF,-(A7);Stack data byte  
MOVE.B (A7)+, I2DR;Transmit next byte of data  
8.6.4 Generation of STOP  
A data transfer ends when the master signals a STOP, which can occur after all data is sent,  
as in the following example.  
MASTX  
MOVE.B I2SR, -(A7);If no ACK, branch to end  
BTST.B #0,(A7)+  
BNE.B END  
MOVE.B TXCNT,D0;Get value from the transmitting counter  
BEQ.S END;If no more data, branch to end  
MOVE.B DATABUF,-(A7);Transmit next byte of data  
MOVE.B (A7)+,I2DR  
MOVE.B TXCNT,D0;Decrease the TXCNT  
SUBQ.L #1,D0  
MOVE.B D0,TXCNT  
BRA.S EMASTX;Exit  
END  
LEA.L I2CR,-(A7);Generate a STOP condition  
BCLR.B #5,(A7)+  
EMASTX RTE;Return from interrupt  
For a master receiver to terminate a data transfer, it must inform the slave transmitter by not  
acknowledging the last data byte. This is done by setting I2CR[TXAK] before reading the  
next-to-last byte. Before the last byte is read, a STOP signal must be generated, as in the  
following example.  
MASR  
MOVE.B RXCNT,D0;Decrease RXCNT  
SUBQ.L #1,D0  
MOVE.B D0,RXCNT  
BEQ.S ENMASR;Last byte to be read  
MOVE.B RXCNT,D1;Check second-to-last byte to be read  
EXTB.L D1  
SUBI.L #1,D1;  
BNE.S NXMAR;Not last one or second last  
LAMAR BSET.B #3,I2CR;Disable ACK  
BRA NXMAR  
ENMASR BCLR.B #5,I2CR;Last one, generate STOP signal  
NXMAR MOVE.B I2DR,RXBUF;Read data and store RTE  
8.6.5 Generation of Repeated START  
After the data transfer, if the master still wants the bus, it can signal another START  
followed by another slave address without signalling a STOP, as in the following example.  
RESTART MOVE.B I2CR,-(A7);Repeat START (RESTART)  
BSET.B #2, (A7)  
MOVE.B (A7)+, I2CR  
MOVE.B CALLING,-(A7);Transmit the calling address, D0=R/W-  
MOVE.B CALLING,-(A7);  
MOVE.B (A7)+, I2DR  
8-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
2
I C Programming Examples  
8.6.6 Slave Mode  
In the slave interrupt service routine, the module addressed as slave bit (IAAS) should be  
tested to check if a calling of its own address has just been received. If IAAS is set, software  
should set the transmit/receive mode select bit (I2CR[MTX]) according to the I2SR[SRW].  
Writing to the I2CR clears the IAAS automatically. The only time IAAS is read as set is  
from the interrupt at the end of the address cycle where an address match occurred;  
interrupts resulting from subsequent data transfers will have IAAS cleared. A data transfer  
can now be initiated by writing information to I2DR for slave transmits, or read from I2DR  
in slave-receive mode. A dummy read of I2DR in slave/receive mode releases SCL,  
allowing the master to send data.  
In the slave transmitter routine, I2SR[RXAK] must be tested before sending the next byte  
of data. Setting RXAK means an end-of-data signal from the master receiver, after which  
software must switch it from transmitter to receiver mode. Reading I2DR then releases SCL  
so that the master can generate a STOP signal.  
8.6.7 Arbitration Lost  
If several devices try to engage the bus at the same time, one becomes master. Hardware  
immediately switches devices that lose arbitration to slave receive mode. Data output to  
SDA stops, but SCL is still generated until the end of the byte during which arbitration is  
lost. An interrupt occurs at the falling edge of the ninth clock of this transfer with  
I2SR[IAL] = 1 and I2CR[MSTA] = 0.  
If a device that is not a master tries to transmit or do a START, hardware inhibits the  
transmission, clears MSTA without signalling a STOP, generates an interrupt to the CPU,  
and sets IAL to indicate a failed attempt to engage the bus. When considering these cases,  
the slave service routine should rst test IAL and software should clear it if it is set.  
2
Chapter 8. I C Module  
8-13  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Programming Examples  
Clear  
IIF  
Y
N
Master  
Mode?  
Y
TX  
RX  
TX/Rx  
?
Arbitration  
Lost?  
N
Last Byte  
Clear IAL  
Y
N
Transmitted  
?
N
Last  
Byte to be  
N
Y
RXAK= 0  
?
IAAS=1  
?
IAAS=1  
?
Y
?
Read  
Y
N
Y
N
Address  
Cycle  
Data  
Cycle  
End of  
2nd Last  
Byte to be  
Read?  
Y
(Read)  
Y
SRW=1  
?
Tx/Rx  
?
RX  
ADDR Cycle  
Y
(Master RX)  
?
(WRITE)  
TX  
N
N
N
Y
ACK from  
Receiver  
?
Generate  
STOP Signal  
Write Next  
Byte to I2DR  
Set TX  
Mode  
Set TXAK =1  
N
Read Data  
from I2DR  
and Store  
Tx Next  
Byte  
Write Data  
to I2DR  
Switch to  
Rx Mode  
Switch to  
Rx Mode  
Set RX  
Mode  
Read Data  
from I2DR  
And Store  
Generate  
STOP Signal  
Dummy Read  
from I2DR  
Dummy Read  
from I2DR  
Dummy Read  
from I2DR  
RTE  
Figure 8-10. Flow-Chart of Typical I2C Interrupt Routine  
8-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 9  
Interrupt Controller  
This chapter describes the operation of the interrupt controller portion of the system  
integration module (SIM). It includes descriptions of the registers in the interrupt controller  
memory map and the interrupt priority scheme.  
9.1 Overview  
The SIM provides a centralized interrupt controller for all MCF5307 interrupt sources,  
which consist of the following:  
External interrupts  
Software watchdog timer  
Timer modules  
2
I C module  
UART modules  
DMA module  
Figure 9-1 is a block diagram of the interrupt controller.  
System Integration Module (SIM)  
DMA  
Four  
Channels  
Software  
Watchdog  
Interrupt Controller  
2
12 ICRs  
IRQPAR  
IPR  
I C Module  
IMR  
Two UARTs  
AVR  
Two  
General-  
Purpose  
Timers  
4
IRQ[1,3,5,7]  
Figure 9-1. Interrupt Controller Block Diagram  
Chapter 9. Interrupt Controller  
9-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
rrupt Controller Registers  
The SIM provides the following registers for managing interrupts:  
Each potential interrupt source is assigned one of the 10 interrupt control registers  
(ICR0–ICR9), which are used to prioritize the interrupt sources.  
The interrupt mask register (IMR) provides bits for masking individual interrupt  
sources.  
The interrupt pending register (IPR) provides bits for indicating when an interrupt  
request is being made (regardless of whether it is masked in the IMR).  
The autovector register (AVEC) controls whether the SIM supplies an autovector or  
executes an external interrupt acknowledge cycle for each IRQ.  
The interrupt port assignment register (IRQPAR) provides the level assignment of  
the primary external interrupt pins—IRQ5, IRQ3, and IRQ1.  
9.2 Interrupt Controller Registers  
The interrupt controller register portion of the SIM memory map is shown in Table 9-2.  
Table 9-1. Interrupt Controller Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x040  
0x044  
0x048  
Interrupt pending register (IPR) [p. 9-6]  
Interrupt mask register (IMR) [p. 9-6]  
Reserved  
Autovector register  
(AVR) [p. 9-5]  
Interrupt Control Registers (ICRs) [p. 9-3]  
2
0x04C  
Software watchdog  
timer (ICR0) [p. 9-3]  
Timer0 (ICR1) [p. 9-3]  
Timer1 (ICR2) [p. 9-3]  
I C (ICR3) [p. 9-3]  
0x050  
0x054  
UART0 (ICR4) [p. 9-3]  
DMA2 (ICR8) [p. 9-3]  
UART1 (ICR5) [p. 9-3]  
DMA3 (ICR9) [p. 9-3]  
DMA0 (ICR6) [p. 9-3]  
DMA1 (ICR7) [p. 9-3]  
Reserved  
Each internal interrupt source has its own interrupt control register (ICR0–ICR9), shown in  
Table 9-2 and described in Section 9.2.1, “Interrupt Control Registers (ICR0–ICR9).”  
Table 9-2. Interrupt Control Registers  
MBAR Offset Register  
Name  
0x04C  
0x04D  
0x04E  
0x04F  
0x050  
0x051  
0x052  
ICR0  
ICR1  
ICR2  
ICR3  
ICR4  
ICR5  
ICR6  
Software watchdog timer  
Timer0  
Timer1  
2
I C  
UART0  
UART1  
DMA0  
9-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Interrupt Controller Registers  
Table 9-2. Interrupt Control Registers (Continued)  
MBAR Offset Register  
Name  
0x053  
0x054  
0x055  
ICR7  
ICR8  
ICR9  
DMA1  
DMA2  
DMA3  
Internal interrupts are programmed to a level and priority. Each internal interrupt has a  
unique ICR. Each of the 7 interrupt levels has 5 priorities, for a total of 35 possible priority  
levels, encompassing internal and external interrupts. The four external interrupt pins offer  
seven possible settings at a xed interrupt level and priority.  
The IRQPAR determines these settings for external interrupt request levels. External  
interrupts can be programmed to supply an autovector or execute an external interrupt  
acknowledge cycle. This is described in Section 9.2.2, “Autovector Register (AVR).”  
9.2.1 Interrupt Control Registers (ICR0–ICR9)  
The interrupt control registers (ICR0–ICR9) provide bits for dening the interrupt level and  
priority for the interrupt source assigned to the ICR, shown in Table 9-2.  
7
6
5
4
3
2
1
0
Field  
Reset  
AVEC  
IL  
IP  
0
0_00  
00  
R/W  
R/W  
Address  
MBAR + 0x04C (ICR0); 0x04D (ICR1); 0x04E (ICR2); 0x04F (ICR3); 0x050 (ICR4); 0x051 (ICR5);  
0x052 (ICR6); 0x053 (ICR7); 0x054 (ICR8); 0x055 (ICR9)  
Figure 9-2. Interrupt Control Registers (ICR0–ICR9)  
Table 9-3 describes ICR elds.  
Table 9-3. ICRn Field Descriptions  
Bits Field  
Description  
7
AVEC Autovector enable. Determines whether the interrupt-acknowledge cycle input (for the internal  
interrupt level indicated in IL for each interrupt) requires an autovector response.  
0 Interrupting source returns vector during interrupt-acknowledge cycle.  
1 SIM generates autovector during interrupt acknowledge cycle.  
65  
42  
10  
IL  
Reserved, should be cleared.  
Interrupt level. Indicates the interrupt level assigned to each interrupt input. See Table 9-4.  
IP  
Interrupt priority. Indicates the interrupt priority for internal modules within the interrupt-level  
assignment. See Table 9-4.  
00 Lowest  
01 Low  
10 High  
11 Highest  
Chapter 9. Interrupt Controller  
9-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
rrupt Controller Registers  
NOTE:  
Assigning the same interrupt level and priority to multiple  
ICRs causes unpredictable system behavior.  
Table 9-4 shows possible priority schemes for internal and external sources of the  
MCF5307. The internal module interrupt source in this table can be any internal interrupt  
source programmed to the given level and priority.  
This table shows how external interrupts are prioritized with respect to internal interrupt  
sources within the same level. For example, UART0 and UART1 sources are programmed  
to IL = 110; in this case, UART0 is given lower priority than UART1, so ICR4[IP] = 01 and  
the ICR5[IP] = 10. IRQ3 is programmed to level 6. If all three assert an interrupt request at  
the same time, they are serviced in the following order:  
1. ICR5[IL] = 110 and ICR5[IP] = 10, so UART1 is serviced rst (priority 7 in  
Table 9-4).  
2. External interrupt IRQ3, set to level 6, is serviced next (priority 8).  
3. ICR4[IL] = 110 and ICR5[IP] = 01, so UART0 is serviced last (priority 9).  
Table 9-4. Interrupt Priority Scheme  
ICR  
Interrupt  
Priority  
Interrupt Source  
IRQPAR[IRQPAR]  
Level  
IL  
IP  
1
2
7
111  
111  
xxx  
11 Internal module  
10  
xxx  
xxx  
xxx  
xxx  
xxx  
xxx  
xxx  
x1x  
xxx  
xxx  
xxx  
xxx  
0xx  
xxx  
xxx  
3
xx External interrupt pin IRQ7  
4
111  
111  
110  
110  
xxx  
01 Internal module  
5
00  
6
6
5
11 Internal module  
7
10  
8
xx External interrupt pin IRQ3 (programmed as IRQ6)  
9
110  
110  
101  
101  
xxx  
01 Internal module  
10  
11  
12  
13  
14  
15  
00  
11 Internal module  
10  
xx External interrupt pin IRQ5  
101  
101  
01 Internal module  
00  
9-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Interrupt Controller Registers  
Table 9-4. Interrupt Priority Scheme (Continued)  
ICR  
Interrupt  
Level  
Priority  
Interrupt Source  
IRQPAR[IRQPAR]  
IL  
IP  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
4
3
2
1
100  
100  
xxx  
11 Internal module  
xxx  
xxx  
1xx  
xxx  
xxx  
xxx  
xxx  
x0x  
xxx  
xxx  
xxx  
xxx  
xx1  
xxx  
xxx  
xxx  
xxx  
xx0  
xxx  
xxx  
10  
xx External interrupt pin IRQ5 (programmed as IRQ4)  
100  
100  
011  
011  
xxx  
01 Internal module  
00  
11 Internal module  
10  
xx External interrupt pin IRQ3  
011  
011  
010  
010  
xxx  
010  
010  
001  
001  
xxx  
001  
001  
01 Internal module  
00  
11 Internal module  
10  
xx External interrupt pin IRQ1 (programmed as IRQ2)  
01 Internal module  
00  
11 Internal module  
10  
xx External interrupt pin IRQ1  
01 Internal module  
00  
9.2.2 Autovector Register (AVR)  
The autovector register (AVR), shown in Figure 9-3, enables external interrupt sources to  
be autovectored, using the vector offset dened in Table 2-19 in Section 2.8, “Exception  
Processing Overview.” Note that the autovector enable for internal interrupt sources applies  
for respective ICRs.  
7
6
5
4
3
2
1
0
Field  
Reset  
AVEC  
BLK  
0000_0000  
R/W  
R/W  
Address  
MBAR + 0x04B  
Figure 9-3. Autovector Register (AVR)  
Chapter 9. Interrupt Controller  
9-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
rrupt Controller Registers  
Table 9-5 describes AVR elds.  
.
Table 9-5. AVR Field Descriptions  
Bit  
Name  
Description  
71  
AVEC Autovector control. Determines whether the external interrupt at that level is autovectored.  
0 Interrupting source returns vector during interrupt-acknowledge cycle.  
1 SIM generates autovector during interrupt-acknowledge cycle.  
0
BLK  
Block address strobe (AS) for external AVEC access. Available for users who use AS as a global  
chip select for peripherals and do not want to enable them during an AVEC cycle.  
0 Do not block address strobe.  
1 Block address strobe from asserting.  
Table 9-6 shows the correlation between AVR[AVEC] and the external interrupts. Note that  
an AVECn bit is valid only when the corresponding external interrupt request level is  
enabled in the IRQPAR.  
Table 9-6. Autovector Register Bit Assignments  
Autovector Interrupt Source  
Autovector Register Bit Location  
Vector Offset  
External interrupt request 1  
External interrupt request 2  
External interrupt request 3  
External interrupt request 4  
External interrupt request 5  
External interrupt request 6  
External interrupt request 7  
AVEC1  
AVEC2  
AVEC3  
AVEC4  
AVEC5  
AVEC6  
AVEC7  
0x64  
0x68  
0x6C  
0x70  
0x74  
0x78  
0x7C  
9.2.3 Interrupt Pending and Mask Registers (IPR and IMR)  
The interrupt pending register (IPR), Figure 9-4, makes visible the interrupt sources that  
have an interrupt pending. The interrupt mask register (IMR), also shown in Figure 9-4, is  
used to mask the internal and external interrupt sources.  
NOTE:  
To mask interrupt sources, rst set the core’s status register  
interrupt mask level to that of the source being masked in the  
IMR. Then, the IMR bit can be masked.  
An interrupt is masked by setting, and enabled by clearing, the corresponding IMR bit.  
When a masked interrupt occurs, the corresponding IPR bit is still set, but no interrupt  
request is passed to the core.  
9-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Interrupt Controller Registers  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
Field  
Reset  
R/W  
DMA3 DMA2  
1
1
Read-only (IPR); R/W (IMR)  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Field DMA1 DMA0 UART1 UART0 I2C TIMER2 TIMER1 SWT EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1  
Reset  
R/W  
1111  
1111  
Read-only (IPR); R/W (IMR)  
MBAR + 0x040 (IPR); + 0x044 (IMR)  
1111  
1
1
1
Addr  
Figure 9-4. Interrupt Pending Register (IPR) and Interrupt Mask Register (IMR)  
Table 9-7 describes IPR and IMR elds.  
Table 9-7. IPR and IMR Field Descriptions  
Bits  
Name  
Description  
3118  
171  
Reserved, should be cleared.  
Interrupt pending/mask. Each bit corresponds to an interrupt source dened by the ICR. The  
See  
Figure corresponding IMR bit determines whether an interrupt condition can generate an interrupt. At  
9-4  
every clock, the IPR samples the signal generated by the interrupting source. The corresponding  
IPR bit reects the state of the interrupt signal even if the corresponding IMR bit is set.  
0 The corresponding interrupt source is not masked (IMR) and has no interrupt pending (IPR).  
1 The corresponding interrupt source is masked (IMR) and has an interrupt pending (IPR)  
9.2.4 Interrupt Port Assignment Register (IRQPAR)  
The interrupt port assignment register (IRQPAR), shown in Figure 9-5, provides the level  
assignment of the primary external interrupt pins—IRQ5, IRQ3, and IRQ1. The setting of  
IRQPAR2–IRQPAR0 determines the interrupt level of these external interrupt pins.  
7
6
5
4
3
2
1
0
Field IRQPAR2  
IRQPAR1  
IRQPAR0  
Reset  
R/W  
0000_0000  
R/W  
Address  
MBAR + 0x06  
Figure 9-5. Interrupt Port Assignment Register (IRQPAR)  
Table 9-8 describes IRQPAR elds.  
Chapter 9. Interrupt Controller  
9-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
rrupt Controller Registers  
Table 9-8. IRQPAR Field Descriptions  
Bits  
75  
Name  
Description  
IRQPARn  
Congures the IRQ pin assignments and priorities  
IRQPARn  
IRQPAR2  
IRQPAR1  
IRQPAR0  
External Pin  
IRQ5  
IRQ3  
IRQPARn = 0  
Level 5  
Level 3  
IRQPARn = 1  
Level 4  
Level 6  
IRQ1  
Level 1  
Level 2  
40  
Reserved, should be cleared.  
9-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 10  
Chip-Select Module  
This chapter describes the MCF5307 chip-select module, including the operation and  
programming model of the chip-select registers, which include the chip-select address,  
mask, and control registers.  
10.1 Overview  
The following list summarizes the key chip-select features:  
Eight independent, user-programmable chip-select signals (CS[7:0]) that can  
interface with SRAM, PROM, EPROM, EEPROM, Flash, and peripherals  
Address masking for 64-Kbyte to 4-Gbyte memory block sizes  
Programmable wait states and port sizes  
External master access to chip selects  
10.2 Chip-Select Module Signals  
Table 10-1 lists signals used by the chip-select module.  
Table 10-1. Chip-Select Module Signals  
Signal  
Description  
Chip Selects  
(CS[7:0])  
Each CSn can be independently programmed for an address location as well as for masking, port  
size, read/write burst-capability, wait-state generation, and internal/external termination. Only CS0  
is initialized at reset when it acts as a global chip select that allows boot ROM to be at any dened  
address space. Port size and termination (internal versus external) and byte enables for CS0 are  
congured by the logic levels of D[7:5] when RSTI negates.  
Output  
Enable (OE)  
Interfaces to memory or to peripheral devices and enables a read transfer. It is asserted and  
negated on the falling edge of the clock. OE is asserted only when one of the chip selects matches  
for the current address decode.  
Byte Enables/ These multiplexed signals are individually programmed through the byte enable mode bit,  
Byte Write  
Enables  
(BE[3:0]/  
BWE[3:0])  
CSCRn[BEM], described in Section 10.4.1.3, Chip-Select Control Registers (CSCR0CSCR7).”  
These generated signals provide byte data select signals, which are decoded from the transfer  
size, A1, and A0 signals in addition to the programmed port size and burstability of the memory  
accessed, as Table 10-2 shows.  
Table 10-2 shows the interaction of the byte enable/byte-write enables with related signals.  
Chapter 10. Chip-Select Module  
10-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
p-Select Operation  
Table 10-2. Byte Enables/Byte Write Enable Signal Settings  
BE0/BWE0 BE1/BWE1 BE2/BWE2 BE3/BWE3  
Transfer Size  
Port Size  
A1  
A0  
D[31:24]  
D[23:16]  
D[15:8]  
D[7:0]  
Byte  
8-bit  
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
1
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
16-bit  
32-bit  
8-bit  
Word  
16-bit  
32-bit  
8-bit  
Longword  
16-bit  
32-bit  
8-bit  
Line  
16-bit  
32-bit  
10.3 Chip-Select Operation  
Each chip select has a dedicated set of the following registers for conguration and control.  
Chip-select address registers (CSARn) control the base address space of the chip  
select. See Section 10.4.1.1, “Chip-Select Address Registers (CSAR0–CSAR7).”  
10-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chip-Select Operation  
Chip-select mask registers (CSMRn) provide 16-bit address masking and access  
control. See Section 10.4.1.2, “Chip-Select Mask Registers (CSMR0–CSMR7).”  
Chip-select control registers (CSCRn) provide port size and burst capability  
indication, wait-state generation, and automatic acknowledge generation features.  
See Section 10.4.1.3, “Chip-Select Control Registers (CSCR0–CSCR7).”  
Each CSn can assert during specic CPU space accesses such as interrupt-acknowledge  
cycles and each can be accessed by an external master. CS0 is a global chip select after reset  
and provides relocatable boot ROM capability.  
10.3.1 General Chip-Select Operation  
When a bus cycle is initiated, the MCF5307 rst compares its address with the base address  
and mask congurations programmed for chip selects 0–7 (congured in CSCR0–CSCR7)  
and DRAM block 0 and 1 address and control registers (congured in DACR0 and  
DACR1). If the driven address matches a programmed chip select or DRAM block, the  
appropriate chip select is asserted or the DRAM block is selected using the specications  
programmed in the respective conguration register. Otherwise, the following occurs:  
If the address and attributes do not match in CSCR or DACR, the MCF5307 runs an  
external burst-inhibited bus cycle with a default of external termination on a 32-bit  
port.  
Should an address and attribute match in multiple CSCRs, the matching chip-select  
signals are driven; however, the MCF5307 runs an external burst-inhibited bus cycle  
with external termination on a 32-bit port.  
Should an address and attribute match both DACRs or a DACR and a CSCR, the  
operation is undened.  
Table 10-3 shows the type of access as a function of match in the CSCRs and DACRs.  
Table 10-3. Accesses by Matches in CSCRs and DACRs  
Number of CSCR Matches  
Number of DACR Matches  
Type of Access  
0
0
0
0
1
1
1
External  
1
Dened by CSCR  
External, burst-inhibited, 32-bit  
Dened by DACRs  
Undened  
Multiple  
0
1
Multiple  
Undened  
0
Multiple  
Multiple  
Multiple  
Undened  
1
Undened  
Multiple  
Undened  
Chapter 10. Chip-Select Module  
10-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
p-Select Operation  
10.3.1.1 8-, 16-, and 32-Bit Port Sizing  
Static bus sizing is programmable through the port size bits, CSCR[PS]. See  
Section 10.4.1.3, “Chip-Select Control Registers (CSCR0–CSCR7).” Figure 10-1 shows  
the correspondence between data byte lanes and the external chip-select memory. Note that  
all lanes are driven, although unused lines are undened.  
BE0  
BE1  
BE2  
BE3  
External  
data bus  
D[31:24] D[23:16] D[15:8]  
D[7:0]  
32-bit port  
memory  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
16-bit port  
memory  
Byte 0  
Byte 2  
Byte 1  
Byte 3  
Driven, undefined  
8-bit port  
memory  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Driven, undefined  
Figure 10-1. Connections for External Memory Port Sizes  
10.3.1.2 Global Chip-Select Operation  
CS0, the global (boot) chip select, allows address decoding for boot ROM before system  
initialization. Its operation differs from other external chip-select outputs after system reset.  
After system reset, CS0 is asserted for every external access. No other chip-select can be  
used until the valid bit, CSMR0[V], is set, at which point CS0 functions as congured and  
CS[7:1] can be used. At reset, the port size and automatic acknowledge functions of the  
global chip-select are determined by the logic levels of the inputs on D[7:5]. Table 10-4 and  
Table 10-5list the various reset encodings for the conguration signals multiplexed with  
D[7:5].  
Table 10-4. D7/AA, Automatic Acknowledge of Boot CS0  
D7/AA  
Boot CS0 AA Configuration at Reset  
0
1
Disabled  
Enable with 15 wait states  
Provided the required address range is in the chip-select address register (CSAR0), CS0 can  
Table 10-5. D[6:5]/PS[1:0], Port Size of Boot CS0  
D[6:5]/PS[1:0]  
Boot CS0 Port Size at Reset  
00  
01  
1x  
32-bit port  
8-bit port  
16-bit port  
10-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Chip-Select Registers  
be programmed to continue decoding for a range of addresses after the CSMR0[V] is set,  
after which the global chip-select can be restored only by a system reset.  
10.4 Chip-Select Registers  
Table 10-6Table 10-6 is the chip-select register memory map. Reading reserved locations  
returns zeros.  
Table 10-6. Chip-Select Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
1
0x080  
0x084  
0x088  
Chip-select address registerbank 0 (CSAR0) [p. 10-6]  
Reserved  
Chip-select mask registerbank 0 (CSMR0) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 0  
(CSCR0) [p. 10-8]  
1
0x08C  
0x090  
0x094  
Chip-select address registerbank 1 (CSAR1) [p. 10-6]  
Reserved  
Chip-select mask registerbank 1 (CSMR1) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 1  
(CSCR1) [p. 10-8]  
1
0x098  
0x09C  
0x0A0  
Chip-select address registerbank 2 (CSAR2) [p. 10-6]  
Reserved  
Chip-select mask registerbank 2 (CSMR2) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 2  
(CSCR2) [p. 10-8]  
1
0x0A4  
0x0A8  
0x0AC  
Chip-select address registerbank 3 (CSAR3) [p. 10-6]  
Reserved  
Chip-select mask registerbank 3 (CSMR3) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 3  
(CSCR3) [p. 10-8]  
1
0x0B0  
0x0B4  
0x0B8  
Chip-select address registerbank 4 (CSAR4) [p. 10-6]  
Reserved  
Chip-select mask registerbank 4 (CSMR4) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 4  
(CSCR4) [p. 10-8]  
1
0x0BC  
0x0C0  
0x0C4  
Chip-select address registerbank 5 (CSAR5) [p. 10-6]  
Reserved  
Chip-select mask registerbank 5 (CSMR5) [p. 10-6]  
Reserved  
Chip-select control registerbank 5  
(CSCR5) [p. 10-8]  
1
0x0C8  
0x0CC  
0x0D0  
Chip-select address registerbank 6 (CSAR6) [p. 10-6]  
Reserved  
Chip-select mask registerbank 6 (CSMR6) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 6  
(CSCR6) [p. 10-8]  
1
0x0D4  
Chip-select address registerbank 7 (CSAR7) [p. 10-6]  
Reserved  
Chapter 10. Chip-Select Module  
10-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
p-Select Registers  
MBAR  
Table 10-6. Chip-Select Registers (Continued)  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
Offset  
0x0D8  
0x0DC  
Chip-select mask registerbank 7 (CSMR7) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 7  
(CSCR7) [p. 10-8]  
1
Addresses not assigned to a register and undefined register bits are reserved for expansion. Write accesses to  
these reserved address spaces and reserved register bits have no effect.  
NOTE:  
External masters cannot access MCF5307 on-chip memories or  
MBAR, but can access any of the chip-select module registers.  
10.4.1 Chip-Select Module Registers  
The chip-select module is programmed through the chip select address registers  
(CSAR0–CSAR7), chip select mask registers (CSMR0–CSMR7), and the chip select  
control registers (CSCR0–CSCR7).  
10.4.1.1 Chip-Select Address Registers (CSAR0–CSAR7)  
Chip select address registers, Figure 10-2, specify the chip select base addresses.  
15  
0
Field  
Reset  
R/W  
BA  
Uninitialized  
R/W  
Addr  
0x080 (CSAR0); 0x08C (CSAR1); 0x098 (CSAR2); 0x0A4 (CSAR3);  
0x0B0 (CSAR4); 0x0BC (CSAR5); 0x0C8 (CSAR6); 0x0D4 (CSAR7)  
Figure 10-2. Chip Select Address Registers (CSAR0–CSAR7)  
Table 10-7 describes CSAR[BA].  
Table 10-7. CSARn Field Description  
Bits Name  
150 BA  
Description  
Base address. Denes the base address for memory dedicated to chip select CS[7:0]. BA is compared  
to bits 3116 on the internal address bus to determine if chip-select memory is being accessed.  
10.4.1.2 Chip-Select Mask Registers (CSMR0–CSMR7)  
The chip select mask registers, Figure 10-3, are used to specify the address mask and  
allowable access types for the respective chip selects.  
10-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Chip-Select Registers  
.
31  
16 15  
9
8
7
6
5
4
3
2
1
0
V
0
Field  
Reset  
R/W  
BAM  
WP AM C/I SC SD UC UD  
Unitialized  
R/W  
Addr  
0x084 (CSMR0); 0x090 (CSMR1); 0x09C (CSMR2); 0x0A8 (CSMR3);  
0x0B4 (CSMR4); 0x0C0 (CSMR5); 0x0CC (CSMR6); 0x0D8 (CSMR7)  
Figure 10-3. Chip Select Mask Registers (CSMRn)  
Table 10-8 describes CSMR elds.  
Table 10-8. CSMRn Field Descriptions  
Bits  
Name  
Description  
3116  
BAM Base address mask. Denes the chip select block by masking address bits. Setting a BAM bit  
causes the corresponding CSAR bit to be ignored in the decode.  
0 Corresponding address bit is used in chip-select decode.  
1 Corresponding address bit is a dont care in chip-select decode.  
n
The block size for CS[7:0] is 2 ; n = (number of bits set in respective CSMR[BAM]) + 16.  
So, if CSAR0 = 0x0000 and CSMR0[BAM] = 0x0008, CS0 would address two discontinuous  
64-Kbyte memory blocks: one from 0x00000xFFFF and one from 0x8_00000x8_FFFF.  
Likewise, for CS0 to access 32 Mbytes of address space starting at location 0x0, CS1 must begin  
at the next byte after CS0 for a 16-Mbyte address space. Then CSAR0 = 0x0000,  
CSMR0[BAM] = 0x01FF, CSAR1 = 0x0200, and CSMR1[BAM] = 0x00FF.  
8
WP  
Write protect. Controls write accesses to the address range in the corresponding CSAR.  
Attempting to write to the range of addresses for which CSARn[WP] = 1 results in the appropriate  
chip select not being selected. No exception occurs.  
0 Both read and write accesses are allowed.  
1 Only read accesses are allowed.  
7
6
Reserved, should be cleared.  
AM  
Alternate master. When AM = 0 during an external master or DMA access, SC, SD, UC, and UD  
are dont cares in the chip-select decode.  
51  
C/I,  
SC,  
SD,  
UC,  
UD  
Address space mask bits. These bits determine whether the specied accesses can occur to the  
address space dened by the BAM for this chip select.  
C/I CPU space and interrupt acknowledge cycle mask  
SC Supervisor code address space mask  
SD Supervisor data address space mask  
UC User code address space mask  
UD User data address space mask  
0 The address space assigned to this chip select. is available to the specied access type.  
1 The address space assigned to this chip select. is not available (masked) to the specied access  
type. If this address space is accessed, chip select is not activated and a regular external bus  
cycle occurs.  
Note that if if AM = 0, SC, SD, UC, and UD are ignored in the chip select decode on external  
master or DMA access.  
0
V
Valid bit. Indicates whether the corresponding CSAR, CSMR, and CSCR contents are valid.  
Programmed chip selects do not assert until V is set (except for CS0, which acts as the global chip  
select). Reset clears each CSMRn[V].  
0 Chip select invalid  
1 Chip select valid  
Chapter 10. Chip-Select Module  
10-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
p-Select Registers  
10.4.1.3 Chip-Select Control Registers (CSCR0–CSCR7)  
Each chip-select control register, Figure 10-4, controls the auto acknowledge, external  
master support, port size, burst capability, and activation of each chip select. Note that to  
support the global chip select, CS0, the CSCR0 reset values differ from the other CSCRs.  
CS0 allows address decoding for boot ROM before system initialization.  
15  
14  
13  
10  
9
8
7
6
5
4
3
2
0
Field  
Reset: CSCR0  
Reset: Other CSCRs  
R/W  
WS  
AA PS1 PS0 BEM BSTR BSTW  
11_11  
D7 D6 D5  
Unitialized  
R/W  
Address  
0x08A (CSCR0); 0x096 (CSCR1); 0x0A2 (CSCR2); 0x0AE (CSCR3);  
0x0BA (CSCR4); 0x0C6 (CSCR5); 0x0D2 (CSCR6); 0x0DE (CSCR7)  
Figure 10-4. Chip-Select Control Registers (CSCR0–CSCR7)  
Table 10-9 describes CSCRn elds.  
Table 10-9. CSCRn Field Descriptions  
Bits Name  
Description  
1514  
1310  
Reserved, should be cleared.  
WS  
Wait states.The number of wait states inserted before an internal transfer acknowledge is generated  
(WS = 0 inserts zero wait states, WS = 0xF inserts 15 wait states). If AA = 0, TA must be asserted by  
the external system regardless of the number of wait states generated. In that case, the external  
transfer acknowledge ends the cycle. An external TA supersedes the generation of an internal TA.  
9
8
Reserved, should be cleared.  
AA  
Auto-acknowledge enable. Determines the assertion of the internal transfer acknowledge for  
accesses specied by the chip-select address.  
0 No internal TA is asserted. Cycle is terminated externally.  
1 Internal TA is asserted as specied by WS. Note that if AA = 1 for a corresponding CSn and the  
external system asserts an external TA before the wait-state countdown asserts the internal TA, the  
cycle is terminated. Burst cycles increment the address bus between each internal termination.  
76  
PS  
Port size. Species the width of the data associated with each chip select. It determines where data  
is driven during write cycles and where data is sampled during read cycles. See Section 10.3.1.1,  
8-, 16-, and 32-Bit Port Sizing.”  
00 32-bit port size. Valid data sampled and driven on D[31:0]  
01 8-bit port size. Valid data sampled and driven on D[31:24]  
1x 16-bit port size. Valid data sampled and driven on D[31:16]  
5
4
BEM Byte enable mode. Species the byte enable operation. Certain SRAMs have byte enables that must  
be asserted during reads as well as writes. BEM can be set in the relevant CSCR to provide the  
appropriate mode of byte enable in support of these SRAMs.  
0 Neither BE nor BWE is asserted for read. BWE is generated for data write only.  
1 BE is asserted for read; BWE is asserted for write.  
BSTR Burst read enable. Species whether burst reads are used for memory associated with each CSn.  
0 Data exceeding the specied port size is broken into individual, port-sized non-burst reads. For  
example, a longword read from an 8-bit port is broken into four 8-bit reads.  
1 Enables data burst reads larger than the specied port size, including longword reads from 8- and  
16-bit ports, word reads from 8-bit ports, and line reads from 8-, 16-, and 32-bit ports.  
10-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Chip-Select Registers  
Table 10-9. CSCRn Field Descriptions  
Bits Name  
Description  
3
BSTW Burst write enable. Species whether burst writes are used for memory associated with each CSn.  
0 Break data larger than the specied port size into individual port-sized, non-burst writes. For  
example, a longword write to an 8-bit port takes four byte writes.  
1 Enables burst write of data larger than the specied port size, including longword writes to 8 and  
16-bit ports, word writes to 8-bit ports and line writes to 8-, 16-, and 32-bit ports.  
20  
Reserved, should be cleared.  
10.4.1.4 Code Example  
The code below provides an example of how to initialize the chip-selects. Only chip selects  
0, 1, 2, and 3 are programmed here; chip selects 4, 5, 6, and 7 are left invalid. MBARx  
denes the base of the module address space.  
CSAR0 EQU MBARx+0x080  
CSMR0 EQU MBARx+0x084  
CSCR0 EQU MBARx+0x08A  
;Chip select 0 address register  
;Chip select 0 mask register  
;Chip select 0 control register  
CSAR1 EQU MBARx+0x08C  
CSMR1 EQU MBARx+0x090  
CSCR1 EQU MBARx+0x096  
;Chip select 1 address register  
;Chip select 1 mask register  
;Chip select 1 control register  
CSAR2 EQU MBARx+0x098  
CSMR2 EQU MBARx+0x09C  
CSCR2 EQU MBARx+0x0A2  
;Chip select 2 address register  
;Chip select 2 mask register  
;Chip select 2 control register  
CSAR3 EQU MBARx+0x0A4  
CSMR3 EQU MBARx+0x0A8  
CSCR3 EQU MBARx+0x0AE  
;Chip select 3 address register  
;Chip select 3 mask register  
;Chip select 3 control register  
CSAR4 EQU MBARx+0x0B0  
CSAR4 EQU MBARx+0x0B4  
CSMR4 EQU MBARx+0x0BA  
;Chip select 4 address register  
;Chip select 4 mask register  
;Chip select 4 control register  
CSAR5 EQU MBARx+0x0BC  
CSMR5 EQU MBARx+0x0C0  
CSCR5 EQU MBARx+0x0C6  
;Chip select 5 address register  
;Chip select 5 mask register  
;Chip select 5 control register  
CSAR6 EQU MBARx+0x0C8  
CSMR6 EQU MBARx+0x0CC  
CSCR6 EQU MBARx+0x0D2  
;Chip select 6 address register  
;Chip select 6 mask register  
;Chip select 6 control register  
CSAR7 EQU MBARx+0x0D4  
CSMR7 EQU MBARx+0x0D8  
CSCR7 EQU MBARx+0x0DE  
;Chip select 7 address register  
;Chip select 7 mask register  
;Chip select 7 control register  
; All other chip selects should be programmed and made valid before global  
; chip select is de-activated by validating CS0  
; Program Chip Select 3 Registers  
move.w #0x0040,D0  
move.w D0,CSAR3  
;CSAR3 base address 0x00400000  
move.w #0x00A0,D0  
move.w D0,CSCR3  
;CSCR3 = no wait states, AA=0, PS=16-bit, BEM=1,  
;BSTR=0, BSTW=0  
move.l #0x001F016B,D0  
move.l D0,CSMR3  
;Address range from 0x00400000 to 0x005FFFFF  
;WP,EM,C/I,SD,UD,V=1; SC,UC=0  
; Program Chip Select 2 Registers  
move.w #0x0020,D0 ;CSAR2 base address 0x00200000 (to 0x003FFFFF)  
Chapter 10. Chip-Select Module  
10-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
p-Select Registers  
move.w D0,CSAR2  
move.w #0x0538,D0  
move.w D0,CSCR2  
;CSCR2 = 1 wait state, AA=1, PS=32-bit, BEM=1,  
;BSTR=1, BSTW=1  
move.l #0x001F0001,D0 ;Address range from 0x00200000 to 0x003FFFFF  
move.l D0,CSMR2 ;WP,EM,C/I,SC,SD,UC,UD=0; V=1  
; Program Chip Select 1 Registers  
move.w #0x0000,D0  
move.w D0,CSAR1  
;CSAR1 base addresses 0x00000000 (to 0x001FFFFF)  
;and 0x80000000 (to 0x801FFFFF)  
move.w #0x09B0,D0  
move.w D0,CSCR1  
;CSCR1 = 2 wait states, AA=1, PS=16-bit, BEM=1,  
;BSTR=1, BSTW=0  
move.l #0x801F0001,D0 ;Address range from 0x00000000 to 0x001FFFFF and  
move.l D0,CSMR1  
;0x80000000 to 0x801FFFFF  
;WP, EM, C/I, SC, SD, UC, UD=0, V=1  
; Program Chip Select 0 Registers  
move.w #0x0080,D0  
move.w D0,CSAR0  
;CSAR0 base address 0x00800000 (to 0x009FFFFF)  
move.w #0x0D80,D0  
move.w D0,CSCR0  
;CSCR0 = three wait states, AA=1, PS=16-bit, BEM=0,  
;BSTR=0, BSTW=0  
; Program Chip Select 0 Mask Register (validate chip selects)  
move.l #0x001F0001,D0 ;Address range from 0x00800000 to 0x009FFFFF  
move.l D0,CSMR0  
;WP,EM,C/I,SC,SD,UC,UD=0; V=1  
10-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 11  
Synchronous/Asynchronous DRAM  
Controller Module  
This chapter describes conguration and operation of the synchronous/asynchronous  
DRAM controller component of the system integration module (SIM). It begins with a  
general description and brief glossary, and includes a description of signals involved in  
DRAM operations. The remainder of the chapter consists of the two following parts:  
Section 11.3, “Asynchronous Operation,” describes the programming model and  
signal timing for the four basic asynchronous modes.  
— Non-page mode  
— Burst page mode  
— Continuous page mode  
— Extended data-out mode  
Section 11.4, “Synchronous Operation,” describes the programming model and  
signal timing, as well as the command set required for synchronous operations. This  
section also includes extensive examples the designer can follow to better  
understand how to congure the DRAM controller for synchronous operations.  
11.1 Overview  
The DRAM controller module provides glueless integration of DRAM with the ColdFire  
product. The key features of the DRAM controller include the following:  
Support for two independent blocks of DRAM  
Interface to standard synchronous/asynchronous dynamic random access memory  
(ADRAM/SDRAM) components  
Programmable SRAS, SCAS, and refresh timing  
Support for page mode  
Support for 8-, 16-, and 32-bit wide DRAM blocks  
Support for synchronous and asynchronous DRAMs, including EDO DRAM,  
SDRAM, and fast page mode  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
rview  
11.1.1 Definitions  
The following terminology is used in this chapter:  
A/SDRAM block—Any group of DRAM memories selected by one of the  
MCF5307 RAS[1:0] signals. Thus, the MCF5307 can support two independent  
memory blocks. The base address of each block is programmed in the DRAM  
address and control registers (DACR0 and DACR1).  
SDRAM—RAMs that operate like asynchronous DRAMs but with a synchronous  
clock, a pipelined, multiple-bank architecture, and faster speed.  
SDRAM bank—An internal partition in an SDRAM device. For example, a 64-Mbit  
SDRAM component might be congured as four 512K x 32 banks. Banks are  
selected through the SDRAM component’s bank select lines.  
11.1.2 Block Diagram and Major Components  
The basic components of the DRAM controller are shown in Figure 11-1.  
DRAM Controller Module  
A[31:0]  
Address  
Multiplexing  
A[31:0]  
Internal  
Bus  
Page Hit  
Logic  
Control Logic  
and  
State Machine  
RAS[1:0]  
CAS[3:0]  
DRAMW  
SCAS  
SRAS  
SCKE  
Memory Block 0 Hit Logic  
DRAM Address/Control Register 0  
(DACR0)  
These signals  
are used for  
SDRAM only  
DRAM Control  
Register (DCR)  
Memory Block 1 Hit Logic  
DRAM Address/Control Register 1  
(DACR1)  
Refresh Counter  
Figure 11-1. Asynchronous/Synchronous DRAM Controller Block Diagram  
The DRAM controller’s major components, shown in Figure 11-1, are described as  
follows:  
DRAM address and control registers (DACR0 and DACR1)—The DRAM  
controller consists of two conguration register units, one for each supported  
memory block. DACR0 is accessed at MBAR + 0x0108; DACR1 is accessed at  
0x010. The register information is passed on to the hit logic.  
11-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DRAM Controller Operation  
Control logic and state machine—Generates all DRAM signals, taking bus cycle  
characteristic data from the block logic, along with hit information to generate  
DRAM accesses. Handles refresh requests from the refresh counter.  
— DRAM control register (DCR)—Contains data to control refresh operation of  
the DRAM controller. Both memory blocks are refreshed concurrently as  
controlled by DCR[RC].  
— Refresh counter—Determines when refresh should occur, determined by the  
value of DCR[RC]. It generates a refresh request to the control block.  
Hit logic—Compares address and attribute signals of a current DRAM bus cycle to  
both DACRs to determine if a DRAM block is being accessed. Hits are passed to the  
control logic along with characteristics of the bus cycle to be generated.  
Page hit logic—Determines if the next DRAM access is in the same DRAM page as  
the previous one. This information is passed on to the control logic.  
Address multiplexing—Multiplexes addresses to allow column and row addresses  
to share pins. This allows glueless interface to DRAMs.  
11.2 DRAM Controller Operation  
The DRAM controller mode is programmed through DCR[SO]. Asynchronous mode  
(SO = 0) includes support for page mode and EDO DRAMs. Synchronous mode is  
designed to work with industry-standard SDRAMs. These modes act very differently from  
one another, especially regarding the use of DRAM registers and pins. Memory blocks  
cannot operate in different modes; both are either synchronous or asynchronous.  
11.2.1 DRAM Controller Registers  
The DRAM controller registers memory map, Table 11-1, is the same regardless of whether  
asynchronous or synchronous DRAM is used, although bit congurations may vary.  
Table 11-1. DRAM Controller Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x100  
0x104  
0x108  
0x10C  
0x110  
0x114  
DRAM control register (DCR) [p. 11-4]  
Reserved  
Reserved  
DRAM address and control register 0 (DACR0) [p. 11-5]  
DRAM mask register block 0 (DMR0) [p. 11-7]  
DRAM address and control register 1 (DACR1) [p. 11-5]  
DRAM mask register block 1 (DMR1) [p. 11-7]  
NOTE:  
External masters cannot access MCF5307 on-chip memories or  
MBAR, but they can access DRAM controller registers.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
nchronous Operation  
11.3 Asynchronous Operation  
The DRAM controller supports asynchronous DRAMs for cost-effective systems. Typical  
access times for the DRAM controller interfacing to ADRAM are 4-3-3-3. The DRAM  
controller supports the following four asynchronous modes:  
Non-page mode  
Burst page mode  
Continuous page mode  
Extended data-out mode  
In asynchronous mode, RAS and CAS always transition at the falling clock edge. As  
summarized previously, operation and timing of each ADRAM block is controlled by  
separate registers, but refresh is the same for both. All ADRAM accesses should be  
terminated by the DRAM controller. There is no priority encoding between memory  
blocks, so programming blocks to overlap with other blocks or with other internal resources  
causes undened behavior.  
11.3.1 DRAM Controller Signals in Asynchronous Mode  
Table 11-2 summarizes DRAM signals used in asynchronous mode.  
Table 11-2. SDRAM Signal Summary  
Signal  
Description  
RAS[1:0]  
Row address strobes. Interface to RAS inputs on industry-standard ADRAMs. When SDRAMs are used,  
these signals interface to the chip-select lines within an SDRAMs memory block.Thus, there is one RAS  
line for each of the two blocks.  
CAS[3:0]  
DRAMW  
Column address strobes. Interface to CAS inputs on industry-standard DRAMs. These provide CAS for  
a given ADRAM block.When SDRAMs are used, CAS[3:0] control the byte enables (DQMx) for standard  
SDRAMs. CAS[3:0] strobes data in least-to-most signicant byte order (CAS0 is MSB).  
DRAM read/write. Asserted when a DRAM write cycle is underway. Negated for read bus cycles.  
11.3.2 Asynchronous Register Set  
The following register congurations apply when DCR[SO] is 0, indicating the DRAM  
controller is interfacing to asynchronous DRAMs.  
11.3.2.1 DRAM Control Register (DCR) in Asynchronous Mode  
The DCR provides programmable options for the refresh logic as well as the control bit to  
determine if the module is operating with synchronous or asynchronous DRAMs. The DCR  
is shown in Figure 11-2.  
11-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Asynchronous Operation  
15  
14  
13  
12  
11  
10  
9
8
0
Field SO  
NAM  
RRA  
RRP  
RC  
Reset  
R/W  
0
Uninitialized  
R/W  
Address  
MBAR + 0x100  
Figure 11-2. DRAM Control Register (DCR) (Asynchronous Mode)  
Table 11-3 describes DCR elds.  
Table 11-3. DCR Field Descriptions (Asynchronous Mode)  
Bits  
15  
Name  
Description  
SO  
Synchronous operation. Selects synchronous or asynchronous mode. A DRAM controller in  
synchronous mode can be switched to ADRAM mode only by resetting the MCF5307.  
0 Asynchronous DRAMs. Default at reset.  
1 Synchronous DRAMs  
14  
13  
Reserved, should be cleared.  
NAM No address multiplexing. Some implementations require external multiplexing. For example, when  
linear addressing is required, the DRAM should not multiplex addresses on DRAM accesses.  
0 The DRAM controller multiplexes the external address bus to provide column addresses.  
1 The DRAM controller does not multiplex the external address bus to provide column addresses.  
1211  
109  
RRA Refresh RAS asserted. Determines how long RAS is asserted during a refresh operation.  
00 2 clocks  
01 3 clocks  
10 4 clocks  
11 5 clocks  
RRP Refresh RAS precharge. Controls how many clocks RAS is precharged after a refresh operation  
before accesses are allowed to DRAM.  
00 1 clock  
01 2 clocks  
10 3 clocks  
11 4 clocks  
80  
RC  
Refresh count. Controls refresh frequency. The number of bus clocks between refresh cycles is  
(RC + 1) * 16. Refresh can range from 168192 bus clocks to accommodate both standard and  
low-power DRAMs with bus clock operation from less than 2 MHz to greater than 50 MHz.  
The following example calculates RC for an auto-refresh period for 4096 rows to receive 64 mS of  
refresh every 15.625 µs for each row (625 bus clocks at 40 MHz).  
# of bus clocks = 625 = (RC eld + 1) * 16  
RC = (625 bus clocks/16) -1 = 38.06, which rounds to 38; therefore, RC = 0x26.  
11.3.2.2 DRAM Address and Control Registers (DACR0/DACR1)  
DACR0 and DACR1, Figure 11-3, contain the base address compare value and the control  
bits for memory blocks 0 and 1. Address and timing are also controlled by these registers.  
Memory areas dened for each block should not overlap; operation is undened for  
accesses in overlapping regions.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
nchronous Operation  
31  
18 17 16 15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
Field  
Reset  
R/W  
BA  
RE  
0
CAS RP RNCN RCD  
EDO PS  
PM  
Unitialized  
Unitialized  
R/W  
MBAR + 0x10C (DACR0); 0x110 (DACR1)  
Addr  
Figure 11-3. DRAM Address and Control Registers (DACR0/DACR1)  
Table 11-4 describes DACRn elds.  
Table 11-4. DACR0/DACR1 Field Description  
Bits  
Name  
Description  
3118  
BA  
Base address. Used with DMR[BAM] to determine the address range in which the associated  
DRAM block is located. Each BA bit is compared with the corresponding address of the bus cycle in  
progress. If each bit matches, or if bits that do not match are masked in the BAM, the address  
selects the associated DRAM block.  
1716  
Reserved, should be cleared.  
15  
RE  
Refresh enable. Determines whether the DRAM controller generates a refresh to the associated  
DRAM block. DRAM contents are not preserved during hard reset or software watchdog reset.  
0 Do not refresh associated DRAM block. (Default at reset)  
1 Refresh associated DRAM block.  
14  
Reserved, should be cleared.  
1312 CAS CAS timing. Determines how long CAS is asserted during a DRAM access.  
00 1 clock cycle  
01 2 clock cycles  
10 3 clock cycles  
11 4 clock cycles  
1110  
RP  
RAS precharge timing. Determines how long RAS is precharged between accesses. Note that RP  
is different from DCR[RRP].  
00 1 clock cycle  
01 2 clock cycles  
10 3 clock cycles  
11 4 clock cycles  
9
8
RNCN RAS-negate-to-CAS-negate. Controls whether RAS and CAS negate concurrently or one clock  
apart. RNCN is ignored if CAS is asserted for only one clock and both RAS and CAS are negated.  
RNCN is used only for non-page-mode accesses and single accesses in page mode.  
0 RAS negates concurrently with CAS.  
1 RAS negates one clock before CAS.  
RCD RAS-to-CAS delay. Determines the number of system clocks between assertions of RAS and CAS.  
0 1 clock cycle  
1 2 clock cycles  
7
6
Reserved, should be cleared.  
EDO Extended data out. Determines whether the DRAM block operates in a mode to take advantage of  
industry-standard EDO DRAMs. Do not use EDO mode with non-EDO DRAM.  
0 EDO operation disabled.  
1 EDO operation enabled.  
11-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Asynchronous Operation  
Table 11-4. DACR0/DACR1 Field Description (Continued)  
Bits  
Name  
Description  
54  
PS  
Port size. Determines the port size of the associated DRAM block. For example, if two 16-bit wide  
DRAM components form one DRAM block, the port size is 32 bits. Programming PS allows the  
DRAM controller to execute dynamic bus sizing for associated accesses.  
00 32-bit port  
01 8-bit port  
1x 16-bit port  
32  
10  
PM  
Page mode. Congures page-mode operation for the memory block.  
00 No page mode  
01 Burst page mode (page mode for bursts only)  
10 Reserved  
11 Continuous page mode  
Reserved, should be cleared.  
11.3.2.3 DRAM Controller Mask Registers (DMR0/DMR1)  
The DRAM controller mask registers (DMR0 and DMR1), shown in Figure 11-4, include  
mask bits for the base address and for address attributes.  
31  
18 17  
9
8
7
6
5
4
3
2
1
0
Field  
Reset  
R/W  
BAM  
Uninitialized  
R/W  
WP  
C/I AM SC SD UC UD  
V
0
Addr  
MBAR + 0x10C (DMR0), 0x114 (DMR1)  
Figure 11-4. DRAM Controller Mask Registers (DMR0 and DMR1)  
Table 11-5 describes DMRn elds.  
Table 11-5. DMR0/DMR1 Field Descriptions  
Bits  
Name  
Description  
3118  
BAM  
Base address mask. Masks the associated DACRn[BA]. Lets the DRAM controller connect to various  
DRAM sizes. Mask bits need not be contiguous (see Section 11.5, SDRAM Example.)  
0 The associated address bit is used in decoding the DRAM hit to a memory block.  
1 The associated address bit is not used in the DRAM hit decode.  
179  
Reserved, should be cleared.  
8
WP  
Write protect. Determines whether the associated block of DRAM is write protected.  
0 Allow write accesses  
1 Ignore write accesses. The DRAM controller ignores write accesses to the memory block and an  
address exception occurs. Write accesses to a write-protected DRAM region are compared in the  
chip select module for a hit. If no hit occurs, an external bus cycle is generated. If this external bus  
cycle is not acknowledged, an access exception occurs.  
7
Reserved, should be cleared.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
nchronous Operation  
Table 11-5. DMR0/DMR1 Field Descriptions (Continued)  
Bits  
Name  
Description  
61  
AMx  
Address modier masks. Determine which accesses can occur in a given DRAM block.  
0 Allow access type to hit in DRAM  
1 Do not allow access type to hit in DRAM  
Bit  
Associated Access Type  
Access Definition  
C/I CPU space/interrupt acknowledge  
AM Alternate master  
SC Supervisor code  
SD Supervisor data  
UC User code  
MOVEC instruction or interrupt acknowledge cycle  
External or DMA master  
Any supervisor-only instruction access  
Any data fetched during the instruction access  
Any user instruction  
UD User data  
Any user data  
0
V
Valid. Cleared at reset to ensure that the DRAM block is not erroneously decoded.  
0 Do not decode DRAM accesses.  
1 Registers controlling the DRAM block are initialized; DRAM accesses can be decoded.  
11.3.3 General Asynchronous Operation Guidelines  
The DRAM controller provides control for RAS, CAS, and DRAMW signals, as well as  
address multiplexing and bus cycle termination. Whether the mode is synchronous or  
asynchronous determines signal control and termination. To reduce complexity,  
multiplexing is the same for both modes. Table 11-6 shows the scheme for DRAM  
congurations. This scheme works for symmetric congurations (in which the number of  
rows equals the number of columns) as well as asymmetric congurations (in which the  
number of rows and columns are different).  
Table 11-6. Generic Address Multiplexing Scheme  
Address Pin Row Address Column Address  
Notes Relating to Port Sizes  
17  
16  
15  
14  
13  
12  
11  
10  
9
17  
16  
15  
14  
13  
12  
11  
10  
9
0
1
8-bit port only  
8- and 16-bit ports only  
2
3
4
5
6
7
8
17  
18  
19  
17  
18  
19  
16  
17  
18  
32-bit port only  
16-bit port only or 32-bit port with only 8 column address lines  
16-bit port only when at least 9 column address lines are used  
11-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Asynchronous Operation  
Table 11-6. Generic Address Multiplexing Scheme (Continued)  
Address Pin Row Address Column Address  
Notes Relating to Port Sizes  
20  
21  
22  
23  
24  
25  
20  
21  
22  
23  
24  
25  
19  
20  
21  
22  
23  
24  
Note the following:  
Each MCF5307 address bit drives both a row address and a column address bit.  
As the user upgrades ADRAM, corresponding MCF5307 address bits must be  
connected. This multiplexing scheme allows various memory widths to be  
connected to the address bus.  
Some differences exist for each of the three possible port sizes. Note that only 8-bit  
ports use an A0 address from the MCF5307. Because 16- and 32-bit ports issue  
either words or longwords when accessed, they do not use the MCF5307 A0 signal.  
Likewise, the conguration for 32-bit ports uses neither A0 or A1. This presents a  
slight problem because DRAM address signal A0 is issued on physical pin A17 of  
the MCF5307 along with the ADRAM address signal A17. Although A0 is not used  
for larger ports, A17 is still needed. The MCF5307 DRAM controller provides for  
this by changing the column address that appears on physical pin A17 of the  
processor whenever an 8-bit port is not selected. This is determined by the  
DACRn[PS] settings. For 8-bit ports, MCF5307 physical pin A17 drives logical  
address A0 during the CAS cycle. When 16- or 32-bit port sizes are programmed,  
the CAS cycle pin A17 drives logical address A16, as indicated in the generic  
connection scheme.  
If a 32-bit port is used with only eight column address lines, A18 must drive DRAM  
address bit A18. Otherwise, in 32-bit port congurations, the MCF5307 physical  
address line is not connected with more than eight column address lines.  
All ADRAM blocks have a xed page size of 512 bytes for page-mode operation.  
The addresses are connected differently for various width combinations.  
Table 11-7, Table 11-8, and Table 11-9 show how 8-, 16-, and 32-bit symmetrical ADRAM  
memories are connected to the address bus. The memory sizes show what DRAM size is  
accessed if the corresponding bits are connected to the memory. In each case, there is a base  
memory size. This limitation exists to allow simple page-mode multiplexing. Notice also  
that MCF5307 pin 17 is treated differently in byte-wide operations. In byte-wide  
operations, address bits 16 and 17 are driven on MCF5307 physical address pins 16 and 17,  
rather than the two bits being driven solely on A17, as they are for 32-wide memories.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
nchronous Operation  
Table 11-7. DRAM Addressing for Byte-Wide Memories  
MCF5307 Address Bit  
Driven for RAS  
MCF5307 Address Bit Driven  
when CAS is Asserted  
MCF5307 Address Pin  
Memory Size  
17  
16  
15  
14  
13  
12  
11  
10  
9
17  
16  
15  
14  
13  
12  
11  
10  
9
0
1
Base memory size of  
256 Kbytes  
2
3
4
5
6
7
8
19  
21  
23  
25  
19  
21  
23  
25  
18  
20  
22  
24  
1 Mbyte  
4 Mbytes  
16 Mbytes  
64 Mbytes  
Note that in Table 11-8, MCF5307 pin A19 is not connected because DRAM address bit 18  
is already provided on MCF5307 pinA18; thus, the next MCF5307 pin used should beA20.  
Table 11-8. DRAM Addressing for 16-Bit Wide Memories  
MCF5307 Address Bit MCF5307 Address Bit Driven  
MCF5307 Address Pin  
Memory Size  
Driven for RAS  
when CAS is Asserted  
16  
15  
14  
13  
12  
11  
10  
9
16  
15  
14  
13  
12  
11  
10  
9
1
2
Base memory size of  
128 Kbytes  
3
4
5
6
7
8
18  
20  
22  
24  
18  
20  
22  
24  
17  
19  
21  
23  
512 Kbytes  
2 Mbytes  
8 Mbytes  
32 Mbytes  
11-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Asynchronous Operation  
Table 11-9. DRAM Addressing for 32-Bit Wide Memories  
MCF5307 Address  
MCF5307 Address Bit MCF5307 Address Bit Driven  
Memory Size  
Pin  
Driven for RAS  
when CAS is Asserted  
15  
14  
13  
12  
11  
10  
9
15  
14  
13  
12  
11  
10  
9
2
3
4
Base Memory Size of  
64 Kbytes  
5
6
7
8
17  
19  
21  
23  
25  
17  
19  
21  
23  
25  
16  
18  
20  
22  
24  
256 Kbytes  
1 Mbyte  
4 Mbytes  
16 Mbytes  
64 Mbytes  
11.3.3.1 Non-Page-Mode Operation  
In non-page mode, the simplest mode, the DRAM controller provides termination and runs  
a separate bus cycle for each data transfer. Figure 11-5 shows a non-page-mode access in  
which a DRAM read is followed by a write. Addresses for a new bus cycle are driven at the  
rising clock edge.  
For a DRAM block hit, the associated RAS is driven at the next falling edge. Here  
DACRn[RCD] = 0, so the address is multiplexed at the next rising edge to provide the  
column address. The required CAS signals are then driven at the next falling edge and  
remain asserted for the period programmed in DACRn[CAS]. Here, DACRn[RNCN] = 1,  
so it is precharged one clock before CAS is negated. On a read, data is sampled on the last  
rising edge of the clock that CAS is valid.  
BCLKO  
Row  
Column  
A[31:0]  
RAS[1] or [0]  
CAS[3:0]  
DACRn[RCD] = 0  
DACRn[RNCN] = 1  
DACRn[CAS] = 01]  
DRAMW  
D[31:0]  
Figure 11-5. Basic Non-Page-Mode Operation RCD = 0, RNCN = 1 (4-4-4-4)  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
nchronous Operation  
Figure 11-6 shows a variation of the basic cycle. In this case, RCD is 1, so there are two  
clocks between RAS and CAS. Note that the address is multiplexed on the rising clock  
immediately before CAS is asserted. Because RNCN = 0, RAS and CAS are negated  
together. The next bus cycle is initiated, but because DACRn[RP] requires RAS to be  
precharged for two clocks, RAS is delayed for a clock in the bus cycle. Note that this does  
not delay the address signals, only RAS.  
BCLKO  
Row  
Column  
A[31:0]  
RAS[1] or [0]  
CAS[3:0]  
RP = 01  
RCD = 1  
RNCN = 0  
CAS = 01  
DRAMW  
D[31:0]  
Figure 11-6. Basic Non-Page-Mode Operation RCD = 1, RNCN = 0 (5-5-5-5)  
11.3.3.2 Burst Page-Mode Operation  
Burst page-mode operation (DACRn[PM] = 01) optimizes memory accesses in page mode  
by allowing a row address to remain registered in the DRAM while accessing data in  
different columns. This eliminates the setup and hold times associated with the need to  
precharge and assert RAS. Therefore, only the rst bus cycle in the page takes the full  
access time; subsequent accesses are streamlined. Single accesses look the same as  
non-page-mode accesses.  
Burst page-mode accesses of any size—byte, word, longword, or line—are assumed to  
reside in the same page. In this mode, the DRAM controller generates a burst transfer only  
when the operand is larger than the DRAM block port size (such as, a line transfer to a  
32-bit port or a longword transfer to an 8-bit port). The primary cycle asserts RAS and  
CAS; subsequent cycles assert only CAS. At the end of the access, RAS is precharged. The  
DRAM controller increments addresses between cycles.  
Figure 11-7 shows a read access in burst page mode. Four accesses take place, which could  
be a 32-bit access to an 8-bit port or a line access to a 32-bit port. Other burst page-mode  
operations may be from 2 to 16 accesses long, depending on the access and port sizes. In  
those cases, timing is similar with more or fewer accesses.  
11-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Asynchronous Operation  
BCLKO  
A[31:0]  
Row  
Column  
Column  
Column  
Column  
RAS[1] or [0]  
CAS[3:0]  
DRAMW  
RCD = 0  
CAS = 01  
D[31:0]  
Figure 11-7. Burst Page-Mode Read Operation (4-3-3-3)  
Figure 11-8 shows the write operation with the same conguration.  
BCLKO  
Row  
Column  
Column  
Column  
Column  
A[31:0]  
RAS[1] or [0]  
CAS[3:0]  
RCD = 0  
CAS = 01  
DRAMW  
D[31:0]  
Figure 11-8. Burst Page-Mode Write Operation (4-3-3-3)  
11.3.3.3 Continuous Page Mode  
Continuous page mode (DACRn[PM] = 11) is a type of page mode that balances  
performance, complexity, and size. In typical page-mode implementations, sequential  
addresses are checked for multiple hits in a DRAM block. On a hit, RAS remains asserted  
and CAS is asserted with the new column address. On a miss, RAS must be precharged  
again before the bus cycle begins.  
Continuous page mode supports page-mode operation without requiring an address holding  
register per memory block and eliminates the delay for a miss-to-precharge RAS for the  
upcoming bus cycle. Because the internal MCF5307 address bus is pipelined, addresses for  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-13  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
nchronous Operation  
the next bus cycle are often available before the current cycle completes. The two addresses  
are compared at the end of the cycle to determine if the next address hits the same page. If  
so, RAS remains asserted. If not, or if no access is pending, RAS is precharged before the  
next bus cycle is active on the external bus. As a result, a page miss suffers no penalty.  
Single accesses not followed by a hit in the page look like non-page-mode accesses.  
Figure 11-9 shows a write cycle followed by a read cycle in continuous page mode. The  
read hits in the same page as the write so RAS is not negated before the second cycle. Note  
that the row address does not appear on the pins for a bus cycle that hits in the page. Column  
addresses are immediately multiplexed onto the pins. The third bus cycle is a page miss, so  
RAS is precharged before the end of the bus cycle and no extra precharge delay is incurred.  
BCLKO  
A[31:0]  
Row  
Column  
Column  
Page Miss  
Row  
Column  
Page Hit  
RAS[1] or [0]  
RNCN=1  
RCD=0  
CAS=01  
CAS[3:0]  
DRAMW  
D[31:0]  
Bus Cycle 1  
Bus Cycle 2  
Bus Cycle 3  
Figure 11-9. Continuous Page-Mode Operation  
If a write cycle hits in the page, CAS must be delayed by one clock to allow data to become  
valid, as shown in Figure 11-10.  
11-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Asynchronous Operation  
BCLKO  
A[31:0]  
Row  
Column  
Column  
Page Miss  
Page Hit  
RAS[1] or [0]  
RCD = 0  
CAS[3:0]  
DRAMW  
CAS = 01  
D[31:0]  
Bus Cycle 1  
Bus Cycle 2  
Figure 11-10. Write Hit in Continuous Page Mode  
11.3.3.4 Extended Data Out (EDO) Operation  
EDO is a variation of page mode that allows the DRAM to continue driving data out of the  
device while CAS is precharging. To support EDO DRAMs, the DRAM controller delays  
internal termination of the cycle by one clock so data can continue to be captured as CAS  
is being precharged. For data to be driven by the DRAMs, RAS is held after CAS is  
negated. EDO operation does not affect write operations. EDO DRAMs can be used in  
continuous page or burst page modes. Single accesses not followed by a hit in the page look  
like non-page-mode accesses.  
Figure 11-11 shows four consecutive EDO accesses. Note that data is sampled after CAS  
is negated and that on the last page access, CAS is held until after data is sampled to assure  
that the data is driven. This allows RAS to be precharged before the end of the cycle.  
BCLKO  
A[31:0]  
RAS[1] or [0]  
RCD = 0  
CAS[3:0]  
CAS = 00  
DRAMW  
D[31:0]  
Figure 11-11. EDO Read Operation (3-2-2-2)  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-15  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
chronous Operation  
11.3.3.5 Refresh Operation  
The DRAM controller supports CAS-before-RAS refresh operations that are not  
synchronized to bus activity. A special DRAMW pin is provided so refresh can occur  
regardless of the state of the processor bus.  
When the refresh counter rolls over, it sets an internal ag to indicate that a refresh is  
pending. If that happens during a continuous page-mode access, the page is closed (RAS  
precharged) when the data transfer completes to allow the refresh to occur. The ag is  
cleared when the refresh cycle is run. Both memory blocks are simultaneously refreshed as  
determined by the DCR. DRAM accesses are delayed during refresh. Only an active bus  
access to a DRAM block can delay refresh.  
Figure 11-12 shows a bus cycle delayed by a refresh operation. Notice that DRAMW is  
forced high during refresh. The row address is held until the pending DRAM access.  
BCLKO  
A[31:0]  
RRP = 01  
RAS[1] or [0]  
RRA = 01  
CAS[3:0]  
DRAMW  
Refresh  
Access  
Figure 11-12. DRAM Access Delayed by Refresh  
11.4 Synchronous Operation  
By running synchronously with the system clock instead of responding to asynchronous  
control signals, SDRAM can (after an initial latency period) be accessed on every clock;  
5-1-1-1 is a typical MCF5307 burst rate to SDRAM.  
Note that because the MCF5307 cannot have more than one page open at a time, it does not  
support interleaving.  
SDRAM controllers are more sophisticated than asynchronous DRAM controllers. Not  
only must they manage addresses and data, but they must send special commands for such  
functions as precharge, read, write, burst, auto-refresh, and various combinations of these  
functions. Table 11-10 lists common SDRAM commands.  
11-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Synchronous Operation  
Table 11-10. SDRAM Commands  
Command  
Definition  
ACTV  
MRS  
NOP  
PALL  
Activate. Executed before READ or WRITE executes; SDRAM registers and decodes row address.  
Mode register set.  
No-op. Does not affect SDRAM state machine; DRAM controller control signals negated; RAS asserted.  
Precharge all. Precharges all internal banks of an SDRAM component; executed before new page is  
opened.  
READ  
REF  
Read access. SDRAM registers column address and decodes that a read access is occurring.  
Refresh. Refreshes internal bank rows of an SDRAM component.  
SELF  
Self refresh. Refreshes internal bank rows of an SDRAM component when it is in low-power mode.  
Exit self refresh. This command is sent to the DRAM controller when DCR[IS] is cleared.  
Write access. SDRAM registers column address and decodes that a write access is occurring.  
SELFX  
WRITE  
SDRAMs operate differently than asynchronous DRAMs, particularly in the use of data  
pipelines and commands to initiate special actions. Commands are issued to memory using  
specic encodings on address and control pins. Soon after system reset, a command must  
be sent to the SDRAM mode register to congure SDRAM operating parameters. Note that,  
after synchronous operation is selected by setting DCR[SO], DRAM controller registers  
reect the synchronous operation and there is no way to return to asynchronous operation  
without resetting the processor.  
11.4.1 DRAM Controller Signals in Synchronous Mode  
Table 11-11 shows the behavior of DRAM signals in synchronous mode.  
Table 11-11. Synchronous DRAM Signal Connections  
Signal  
SRAS  
Description  
Synchronous row address strobe. Indicates a valid SDRAM row address is present and can be latched  
by the SDRAM. SRAS should be connected to the corresponding SDRAM SRAS. Do not confuse SRAS  
with the DRAM controllers RAS[1:0], which should not be interfaced to the SDRAM SRAS signals.  
SCAS  
Synchronous column address strobe. Indicates a valid column address is present and can be latched by  
the SDRAM. SCAS should be connected to the corresponding signal labeled SCAS on the SDRAM. Do  
not confuse SCAS with the DRAM controllers CAS[3:0] signals.  
DRAMW  
RAS[1:0]  
DRAM read/write. Asserted for write operations and negated for read operations.  
Row address strobe. Select each memory block of SDRAMs connected to the MCF5307. One RAS  
signal selects one SDRAM block and connects to the corresponding CS signals.  
SCKE  
Synchronous DRAM clock enable. Connected directly to the CKE (clock enable) signal of SDRAMs.  
Enables and disables the clock internal to SDRAM. When CKE is low, memory can enter a power-down  
mode where operations are suspended or they can enter self-refresh mode. SCKE functionality is  
controlled by DCR[COC]. For designs using external multiplexing, setting COC allows SCKE to provide  
command-bit functionality.  
CAS[3:0]  
Column address strobe. For synchronous operation, CAS[3:0] function as byte enables to the SDRAMs.  
They connect to the DQM signals (or mask qualiers) of the SDRAMs.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-17  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
chronous Operation  
Table 11-11. Synchronous DRAM Signal Connections (Continued)  
Signal  
Description  
BCLKO  
Bus clock output. Connects to the CLK input of SDRAMs.  
EDGESEL Synchronous edge select. Provides additional output hold time for signals that interface to external  
SDRAMs. EDGESEL supports the three following modes for SDRAM interface signals:  
Tied high. Signals change on the rising edge of BCLKO.  
Tied low. Signals change on the falling edge of BCLKO.  
Tied to buffered BCLKO. Signals change on the rising edge of the buffered clock.  
EDGESEL can provide additional output hold time for SDRAM interface signals, however the SDRAM  
clock and BCLKO frequencies must be the same. See Section 11.4.2, Using Edge Select (EDGESEL).”  
Figure 11-13 shows a typical signal conguration for synchronous mode.  
MCF5307  
A[31:0]  
SDRAM  
ADDRESS  
D[31:0]  
CAS  
DRAMW  
SCAS  
SRAS  
SCKE  
DATA  
DQM  
WE  
CAS  
RAS  
CKE  
1
EDGESEL  
BCLKO  
CLK  
1
Trace length from buffer to CLK must equal length from buffer to EDGESEL.  
Figure 11-13. MCF5307 SDRAM Interface  
11.4.2 Using Edge Select (EDGESEL)  
EDGESEL can ease system-level timings (note that the optional buffer in Figure 11-13 is  
for memories that need extra delay). The clock at the input to the SDRAM is monitored and  
data is held until the next edge of the bus clock, adding required output hold time to the  
address, data, and control signals.  
To generate SDRAM interface timing, address, data, and control signals are clocked  
through a two-stage shift register. The rst stage is clocked on the rising edge of BCLKO;  
the second is clocked on the falling edge. This makes the signal available for up to an  
additional half bus clock cycle, of which only a small amount is needed for proper timing.  
Using the connection shown in Figure 11-13 ensures that data remains held for a longer  
time after the rising edge of the SDRAM clock input. This helps to match the MCF5307  
output timing with the SDRAM clock.  
Figure 11-14 shows the output wave forms for the interface signals changing on the rising  
edge (A) and falling edge (B) of BCLKO as determined by whether EDGESEL is tied high  
or low. It also shows timing (C) with EDGESEL tied to buffered BCLKO.  
11-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Synchronous Operation  
BCLKO  
BCLKO  
Address/  
Data  
Address/  
VALID  
VALID  
VALID  
VALID  
VALID  
VALID  
VALID  
Data  
A: Address and Data Timing with EDGESEL Tied High  
Buffer Delay  
B: Address and Data Timing with EDGESEL Tied Low  
BCLKO  
Buffered  
BCLKO  
Address/  
Data  
VALID  
VALID  
VALID  
VALID  
C: Address and Data Timing with EDGESEL Tied to Buffered Clock  
Figure 11-14. Using EDGESEL to Change Signal Timing  
11.4.3 Synchronous Register Set  
The memory map in Table 11-1 is the same for both synchronous and asynchronous  
operation. However, some bits are different, as noted in the following sections.  
11.4.3.1 DRAM Control Register (DCR) in Synchronous Mode  
The DRAM control register (DCR), Figure 11-15, controls refresh logic.  
15  
14  
13  
12  
11  
IS  
10  
9
8
7
6
5
4
3
2
1
0
Field SO  
NAM COC  
RTIM  
RC  
Reset  
R/W  
0
Uninitialized  
R/W  
Addr  
MBAR + 0x100  
Figure 11-15. DRAM Control Register (DCR) (Synchronous Mode)  
Table 11-12 describes DCR elds.  
Table 11-12. DCR Field Descriptions (Synchronous Mode)  
Bits Name  
Description  
15  
SO  
Synchronous operation. Selects synchronous or asynchronous mode. When in synchronous mode,  
the DRAM controller can be switched to ADRAM mode only by resetting the MCF5307.  
0 Asynchronous DRAMs. Default at reset.  
1 Synchronous DRAMs  
14  
13  
Reserved, should be cleared.  
NAM No address multiplexing. Some implementations require external multiplexing. For example, when  
linear addressing is required, the DRAM should not multiplex addresses on DRAM accesses.  
0 The DRAM controller multiplexes the external address bus to provide column addresses.  
1 The DRAM controller does not multiplex the external address bus to provide column addresses.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-19  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
chronous Operation  
Table 11-12. DCR Field Descriptions (Synchronous Mode) (Continued)  
Bits Name  
Description  
12  
11  
COC Command on SDRAM clock enable (SCKE). Implementations that use external multiplexing  
(NAM = 1) must support command information to be multiplexed onto the SDRAM address bus.  
0 SCKE functions as a clock enable; self-refresh is initiated by the DRAM controller through DCR[IS].  
1 SCKE drives command information. Because SCKE is not a clock enable, self-refresh cannot be  
used (setting DCR[IS]). Thus, external logic must be used if this functionality is desired. External  
multiplexing is also responsible for putting the command information on the proper address bit.  
IS  
Initiate self-refresh command.  
0 Take no action or issue a SELFX command to exit self refresh.  
1 If DCR[COC] = 0, the DRAM controller sends a SELF command to both SDRAM blocks to put them  
in low-power, self-refresh state where they remain until IS is cleared, at which point the controller  
sends a SELFX command for the SDRAMs to exit self-refresh. The refresh counter is suspended  
while the SDRAMs are in self-refresh; the SDRAM controls the refresh period.  
109 RTIM Refresh timing. Determines the timing operation of auto-refresh in the DRAM controller. Specically,  
it determines the number of clocks inserted between a REF command and the next possible ACTV  
command. This same timing is used for both memory blocks controlled by the DRAM controller. This  
corresponds to t  
00 3 clocks  
01 6 clocks  
1x 9 clocks  
in the SDRAM specications.  
RC  
80  
RC  
Refresh count. Controls refresh frequency. The number of bus clocks between refresh cycles is  
(RC + 1) * 16. Refresh can range from 168192 bus clocks to accommodate both standard and  
low-power DRAMs with bus clock operation from less than 2 MHz to greater than 50 MHz.  
The following example calculates RC for an auto-refresh period for 4096 rows to receive 64 mS of  
refresh every 15.625 µs for each row (625 bus clocks at 40 MHz). This operation is the same as in  
asynchronous mode.  
# of bus clocks = 625 = (RC eld + 1) * 16  
RC = (625 bus clocks/16) -1 = 38.06, which rounds to 38; therefore, RC = 0x26.  
11.4.3.2 DRAM Address and Control Registers (DACR0/DACR1) in  
Synchronous Mode  
The DRAM address and control registers (DACR0 and DACR1), shown in Figure 11-16,  
contain the base address compare value and the control bits for both memory blocks 0 and  
1 of the DRAM controller. Address and timing are also controlled by bits in DACRn.  
31  
18 17 16  
15  
14 13 12 11 10  
9
8
7
6
5
4
3
2
1 0  
Field  
Reset  
R/W  
BA  
RE  
CASL  
CBM  
IMRS PS IP PM —  
Uninitialized  
Uninitialized  
0
Uninitialized  
0
R/W  
Addr  
MBAR+0x108 (DACR0); 0x110(DACR1)  
Figure 11-16. DACR0 and DACR1 Registers (Synchronous Mode)  
11-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Synchronous Operation  
Table 11-13 describes DACRn elds.  
Table 11-13. DACR0/DACR1 Field Descriptions (Synchronous Mode)  
Bit  
Name  
Description  
3118  
BA  
Base address register. With DCMR[BAM], determines the address range in which the associated  
DRAM block is located. Each BA bit is compared with the corresponding address of the current bus  
cycle. If all unmasked bits match, the address hits in the associated DRAM block. BA functions the  
same as in asynchronous operation.  
1716  
Reserved, should be cleared.  
15  
RE  
Refresh enable. Determines when the DRAM controller generates a refresh cycle to the DRAM  
block.  
0 Do not refresh associated DRAM block  
1 Refresh associated DRAM block  
14  
Reserved, should be cleared.  
1312 CASL CAS latency. Affects the following SDRAM timing specications. Timing nomenclature varies with  
manufacturers. Refer to the SDRAM specication for the appropriate timing nomenclature:  
Number of Bus Clocks  
Parameter  
CASL= 00 CASL = 01 CASL= 10 CASL= 11  
t
RCDSRAS assertion to SCAS assertion  
1
1
2
1
1
2
2
4
2
1
3
3
6
3
1
3
3
6
3
1
tCASLSCAS assertion to data out  
tRASACTV command to precharge command  
tRPPrecharge command to ACTV command  
tRWL, RDL  
t
Last data input to precharge  
command  
tEPLast data out to precharge command)  
1
1
1
1
11  
Reserved, should be cleared.  
108  
CBM Command and bank MUX [2:0]. Because different SDRAM congurations cause the command and  
bank select lines to correspond to different addresses, these resources are programmable. CBM  
determines the addresses onto which these functions are multiplexed.  
CBM Command Bit  
Bank Select Bits  
18 and up  
19 and up  
20 and up  
21 and up  
22 and up  
23 and up  
24 and up  
25 and up  
000  
001  
010  
011  
100  
101  
110  
111  
17  
18  
19  
20  
21  
22  
23  
24  
This encoding and the address multiplexing scheme handle common SDRAM organizations. Bank  
select bits include a base bit and all address bits above for SDRAMs with multiple bank select bits.  
7
Reserved, should be cleared.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
chronous Operation  
Table 11-13. DACR0/DACR1 Field Descriptions (Synchronous Mode) (Continued)  
Bit  
Name  
Description  
6
IMRS Initiate mode register set (MRS) command. Setting IMRS generates a MRS command to the  
associated SDRAMs. In initialization, IMRS should be set only after all DRAM controller registers are  
initialized and PALL and REFRESH commands have been issued. After IMRS is set, the next access to  
an SDRAM block programs the SDRAMs mode register. Thus, the address of the access should be  
programmed to place the correct mode information on the SDRAM address pins. Because the  
SDRAM does not register this information, it doesnt matter if the IMRS access is a read or a write or  
what, if any, data is put onto the data bus. The DRAM controller clears IMRS after the MRS command  
nishes.  
0 Take no action  
1 Initiate MRS command  
54  
PS  
IP  
Port size. Indicates the port size of the associated block of SDRAM, which allows for dynamic sizing  
of associated SDRAM accesses. PS functions the same in asynchronous operation.  
00 32-bit port  
01 8-bit port  
1x 16-bit port  
3
Initiate precharge all (PALL) command. The DRAM controller clears IP after the PALL command is  
nished. Accesses via IP should be no wider than the port size programmed in PS.  
0 Take no action.  
1 A PALL command is sent to the associated SDRAM block. During initialization, this command is  
executed after all DRAM controller registers are programmed. After IP is set, the next write to an  
appropriate SDRAM address generates the PALL command to the SDRAM block.  
2
PM  
Page mode. Indicates how the associated SDRAM block supports page-mode operation.  
0 Page mode on bursts only. The DRAM controller dynamically bursts the transfer if it falls within a  
single page and the transfer size exceeds the port size of the SDRAM block. After the burst, the  
page closes and a precharge is issued.  
1 Continuous page mode. The page stays open and only SCAS needs to be asserted for sequential  
SDRAM accesses that hit in the same page, regardless of whether the access is a burst.  
10  
Reserved, should be cleared.  
11.4.3.3 DRAM Controller Mask Registers (DMR0/DMR1)  
The DMRn, Figure 11-17, include mask bits for the base address and for address attributes.  
They are the same as in asynchronous operation.  
31  
18 17  
9
8
7
6
5
4
3
2
1
0
Field  
Reset  
R/W  
BAM  
Uninitialized  
R/W  
WP  
C/I AM SC SD UC UD  
V
0
Addr  
MBAR + 0x10C (DMR0), 0x114 (DMR1)  
Figure 11-17. DRAM Controller Mask Registers (DMR0 and DMR1)  
Table 11-14 describes DMRn elds.  
11-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Synchronous Operation  
Table 11-14. DMR0/DMR1 Field Descriptions  
Bits  
Name  
Description  
3118  
BAM  
Base address mask. Masks the associated DACRn[BA]. Lets the DRAM controller connect to various  
DRAM sizes. Mask bits need not be contiguous (see Section 11.5, SDRAM Example.)  
0 The associated address bit is used in decoding the DRAM hit to a memory block.  
1 The associated address bit is not used in the DRAM hit decode.  
179  
Reserved, should be cleared.  
8
WP  
Write protect. Determines whether the associated block of DRAM is write protected.  
0 Allow write accesses  
1 Ignore write accesses. The DRAM controller ignores write accesses to the memory block and an  
address exception occurs. Write accesses to a write-protected DRAM region are compared in the  
chip select module for a hit. If no hit occurs, an external bus cycle is generated. If this external bus  
cycle is not acknowledged, an access exception occurs.  
7
Reserved, should be cleared.  
61  
AMx  
Address modier masks. Determine which accesses can occur in a given DRAM block.  
0 Allow access type to hit in DRAM  
1 Do not allow access type to hit in DRAM  
Bit  
Associated Access Type  
Access Definition  
C/I CPU space/interrupt acknowledge  
AM Alternate master  
SC Supervisor code  
SD Supervisor data  
UC User code  
MOVEC instruction or interrupt acknowledge cycle  
External or DMA master  
Any supervisor-only instruction access  
Any data fetched during the instruction access  
Any user instruction  
UD User data  
Any user data  
0
V
Valid. Cleared at reset to ensure that the DRAM block is not erroneously decoded.  
0 Do not decode DRAM accesses.  
1 Registers controlling the DRAM block are initialized; DRAM accesses can be decoded.  
11.4.4 General Synchronous Operation Guidelines  
To reduce system logic and to support a variety of SDRAM sizes, the DRAM controller  
provides SDRAM control signals as well as a multiplexed row address and column address  
to the SDRAM.  
When SDRAM blocks are accessed, the DRAM controller can operate in either burst or  
continuous page mode. The following sections describe the DRAM controller interface to  
SDRAM, the supported bus transfers, and initialization.  
11.4.4.1 Address Multiplexing  
Table 11-6 shows the generic address multiplexing scheme for SDRAM congurations. All  
possible address connection congurations can be derived from this table.  
The following tables provide a more comprehensive, step-by-step way to determine the  
correct address line connections for interfacing the MCF5307 to SDRAM. To use the  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-23  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
chronous Operation  
tables, nd the one that corresponds to the number of column address lines on the SDRAM  
and to the port size as seen by the MCF5307, which is not necessarily the SDRAM port  
size. For example, if two 1M x 16-bit SDRAMs together form a 2M x 32-bit memory, the  
port size is 32 bits. Most SDRAMs likely have fewer address lines than are shown in the  
tables, so follow only the connections shown until all SDRAM address lines are connected.  
Table 11-15. MCF5307 to SDRAM Interface (8-Bit Port, 9-Column Address Lines)  
MCF5307 A17 A16 A15 A14 A13 A12 A11 A10 A9 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
17 16 15 14 13 12 11 10  
9
8
18 19 20 21 22 23 24 25 26 27 28 29 30 31  
Column  
0
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22  
Pins  
Table 11-16. MCF5307 to SDRAM Interface (8-Bit Port,10-Column Address Lines)  
MCF5307 A17 A16 A15 A14 A13 A12 A11 A10 A9 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
17 16 15 14 13 12 11 10  
9
8
19 20 21 22 23 24 25 26 27 28 29 30 31  
18  
Column  
0
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21  
Pins  
Table 11-17. MCF5307 to SDRAM Interface (8-Bit Port,11-Column Address  
Lines)  
MCF5307 A17 A16 A15 A14 A13 A12 A11 A10 A9 A19 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
17 16 15 14 13 12 11 10  
9
8
19 21 22 23 24 25 26 27 28 29 30 31  
18 20  
Column  
0
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  
Pins  
Table 11-18. MCF5307 to SDRAM Interface (8-Bit Port,12-Column Address Lines)  
MCF5307 A17 A16 A15 A14 A13 A12 A11 A10 A9 A19 A21 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
17 16 15 14 13 12 11 10  
9
8
19 21 23 24 25 26 27 28 29 30 31  
18 20 22  
Column  
0
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19  
Pins  
11-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Synchronous Operation  
Table 11-19. MCF5307 to SDRAM Interface (8-Bit Port,13-Column Address  
Lines)  
MCF5307 A17 A16 A15 A14 A13 A12 A11 A10 A9 A19 A21 A23 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
17 16 15 14 13 12 11 10  
9
8
19 21 23 25 26 27 28 29 30 31  
18 20 22 24  
Column  
0
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18  
Pins  
Table 11-20. MCF5307 to SDRAM Interface (16-Bit Port, 8-Column Address Lines)  
MCF5307 A16 A15 A14 A13 A12 A11 A10 A9 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
16 15 14 13 12 11 10  
9
8
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  
Column  
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22  
Pins  
Table 11-21. MCF5307 to SDRAM Interface (16-Bit Port, 9-Column Address Lines)  
MCF5307 A16 A15 A14 A13 A12 A11 A10 A9 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
16 15 14 13 12 11 10  
9
8
18 19 20 21 22 23 24 25 26 27 28 29 30 31  
17  
Column  
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21  
Pins  
Table 11-22. MCF5307 to SDRAM Interface (16-Bit Port, 10-Column Address Lines)  
MCF5307 A16 A15 A14 A13 A12 A11 A10 A9 A18 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
16 15 14 13 12 11 10  
9
8
18 20 21 22 23 24 25 26 27 28 29 30 31  
17 19  
Column  
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  
Pins  
Table 11-23. MCF5307 to SDRAM Interface (16-Bit Port, 11-Column Address Lines)  
MCF5307 A16 A15 A14 A13 A12 A11 A10 A9 A18 A20 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
16 15 14 13 12 11 10  
9
8
18 20 22 23 24 25 26 27 28 29 30 31  
17 19 21  
Column  
1
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19  
Pins  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-25  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
chronous Operation  
Table 11-24. MCF5307 to SDRAM Interface (16-Bit Port, 12-Column Address Lines)  
MCF5307  
Pins  
A16 A15 A14 A13 A12 A11 A10 A9 A18 A20 A22 A24 A25 A26 A27 A28 A29 A30 A31  
Row  
16 15 14 13 12 11 10  
9
8
18 20 22 24 25 26 27 28 29 30 31  
17 19 21 23  
Column  
1
2
3
4
5
6
7
SDRAM  
Pins  
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18  
Table 11-25. MCF5307to SDRAM Interface (16-Bit Port, 13-Column-Address Lines)  
MCF5307 A16 A15 A14 A13 A12 A11 A10 A9 A18 A20 A22 A24 A26 A27 A28 A29 A30 A31  
Pins  
Row  
16  
1
15  
2
14  
3
13  
4
12  
5
11  
6
10  
7
9
8
18  
17  
20  
19  
22  
21  
24  
23  
26  
25  
27  
28  
29  
30  
31  
Column  
SDRAM  
Pins  
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17  
Table 11-26. MCF5307 to SDRAM Interface (32-Bit Port, 8-Column Address Lines)  
MCF5307 A15 A14 A13 A12 A11 A10 A9 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
15 14 13 12 11 10  
9
8
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  
16  
Column  
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21  
Pins  
Table 11-27. MCF5307 to SDRAM Interface (32-Bit Port, 9-Column Address Lines)  
MCF5307 A15 A14 A13 A12 A11 A10 A9 A17 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
15 14 13 12 11 10  
9
8
17 19 20 21 22 23 24 25 26 27 28 29 30 31  
16 18  
Column  
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20  
Pins  
Table 11-28. MCF5307 to SDRAM Interface (32-Bit Port, 10-Column Address Lines)  
MCF5307 A15 A14 A13 A12 A11 A10 A9 A17 A19 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
15 14 13 12 11 10  
9
8
17 19 21 22 23 24 25 26 27 28 29 30 31  
16 18 20  
Column  
2
3
4
5
6
7
SDRAM A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19  
Pins  
11-26  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Synchronous Operation  
Table 11-29. MCF5307 to SDRAM Interface (32-Bit Port, 11-Column Address Lines)  
MCF5307 A15 A14 A13 A12 A11 A10 A9 A17 A19 A21 A23 A24 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
15 14 13 12 11 10  
9
8
17 19 21 23 24 25 26 27 28 29 30 31  
16 18 20 22  
Column  
2
3
4
5
6
7
SDRAM  
Pins  
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18  
Table 11-30. MCF5307 to SDRAM Interface (32-Bit Port, 12-Column Address Lines)  
MCF5307 A15 A14 A13 A12 A11 A10 A9 A17 A19 A21 A23 A25 A26 A27 A28 A29 A30 A31  
Pins  
Row  
15  
2
14  
3
13  
4
12  
5
11  
6
10  
7
9
8
17  
16  
19  
18  
21  
20  
23  
22  
25  
24  
26  
27  
28  
29  
30  
31  
Column  
SDRAM  
Pins  
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17  
11.4.4.2 Interfacing Example  
The tables in the previous section can be used to congure the interface in the following  
example. To interface one 2M x 32-bit x 4 bank SDRAM component (8 columns) to the  
MCF5307, the connections would be as shown in Table 11-31.  
Table 11-31. SDRAM Hardware Connections  
SDRAM  
Pins  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
A8  
A9  
A10 = CMD  
BA0  
A21  
BA1  
A22  
MCF5307 A15 A14 A13 A12 A11 A10 A9 A17 A18 A19  
Pins  
A20  
11.4.4.3 Burst Page Mode  
SDRAM can efciently provide data when an SDRAM page is opened. As soon as SCAS  
is issued, the SDRAM accepts a new address and asserts SCAS every clock for as long as  
accesses are in that page. In burst page mode, there are multiple read or write operations for  
every ACTV command in the SDRAM if the requested transfer size exceeds the port size of  
the associated SDRAM. The primary cycle of the transfer generates the ACTV and READ or  
WRITE commands; secondary cycles generate only READ or WRITE commands. As soon as  
the transfer completes, the PALL command is generated to prepare for the next access.  
Note that in synchronous operation, burst mode and address incrementing during burst  
cycles are controlled by the MCF5307 DRAM controller. Thus, instead of the SDRAM  
enabling its internal burst incrementing capability, the MCF5307 controls this function.  
This means that the burst function that is enabled in the mode register of SDRAMs must be  
disabled when interfacing to the MCF5307.  
Figure 11-18 shows a burst read operation. In this example, DACR[CASL] = 01, for an  
SRAS-to-SCAS delay (t  
) of 2 BCLKO cycles. Because t  
is equal to the read CAS  
RCD  
RCD  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-27  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
chronous Operation  
latency (SCAS assertion to data out), this value is also 2 BCLKO cycles. Notice that NOPs  
are executed until the last data is read. A PALL command is executed one cycle after the last  
data transfer.  
BCLKO  
A[31:0]  
SRAS  
Row  
Column Column Column Column  
t
= 2  
RCD  
SCAS  
t
EP  
DRAMW  
D[31:0]  
t
= 2  
CASL  
RAS[0] or [1]  
CAS[3:0]  
ACTV  
NOP  
READ  
NOP  
NOP  
PALL  
Figure 11-18. Burst Read SDRAM Access  
Figure 11-19 shows the burst write operation. In this example, DACR[CASL] = 01, which  
creates an SRAS-to-SCAS delay (t ) of 2 BCLKO cycles. Note that data is available  
RCD  
upon SCAS assertion and a burst write cycle completes two cycles sooner than a burst read  
cycle with the same t The next bus cycle is initiated sooner, but cannot begin an  
RCD.  
SDRAM cycle until the precharge-to-ACTV delay completes.  
11-28  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Synchronous Operation  
BCLKO  
A[31:0]  
SRAS  
Row  
Column  
Column Column  
Column  
t
RP  
SCAS  
t
= 2  
CASL  
t
RWL  
DRAMW  
D[31:0]  
RAS[0] or [1]  
CAS[3:0]  
ACTV  
NOP  
WRITE  
NOP  
PALL  
Figure 11-19. Burst Write SDRAM Access  
Accesses in synchronous burst page mode always cause the following sequence:  
1. ACTV command  
2. NOP commands to assure SRAS-to-SCAS delay (if CAS latency is 1, there are no  
NOP commands).  
3. Required number of READ or WRITE commands to service the transfer size with the  
given port size.  
4. Some transfers need more NOP commands to assure the ACTV-to-precharge delay.  
5. PALL command  
6. Required number of idle clocks inserted to assure precharge-to-ACTV delay.  
11.4.4.4 Continuous Page Mode  
Continuous page mode is identical to burst page mode, except that it allows the processor  
core to handle successive bus cycles that hit the same page without having to close the page.  
When the current bus cycle nishes, the MCF5307 core internal pipelined bus can predict  
whether the upcoming cycle will hit in the same page.  
If the next bus cycle is not pending or misses in the page, the PALL command is  
generated to the SDRAM.  
If the next bus cycle is pending and hits in the page, the page is left open, and the  
next SDRAM access begins with a READ or WRITE command.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-29  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
chronous Operation  
Because of the nature of the internal CPU pipeline this condition does not occur  
often; however, the use of continuous page mode is recommended because it can  
provide a slight performance increase.  
Figure 11-20 shows two read accesses in continuous page mode. Note that there is no  
precharge between the two accesses. Also notice that the second cycle begins with a read  
operation with no ACTV command.  
BCLKO  
Row  
Column  
Column  
A[31:0]  
SRAS  
SCAS  
t
EP  
t
= 2  
RCD  
DRAMW  
t
= 2  
t
= 2  
CASL  
CASL  
D[31:0]  
RAS[0] or [1]  
CAS[3:0]  
PALL  
NOP  
ACTV  
NOP  
READ  
NOP  
READ  
NOP  
Figure 11-20. Synchronous, Continuous Page-Mode Access—Consecutive Reads  
Figure 11-21 shows a write followed by a read in continuous page mode. Because the bus  
cycle is terminated with a WRITE command, the second cycle begins sooner after the write  
than after the read. A read requires data to be returned before the bus cycle can terminate.  
Note that in continuous page mode, secondary accesses output the column address only.  
11-30  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Synchronous Operation  
BCLKO  
Row  
Column  
Column  
A[31:0]  
SRAS  
SCAS  
t
EP  
t
= 3  
RCD  
DRAMW  
t
= 3  
CASL  
D[31:0]  
RAS[0] or [1]  
CAS[3:0]  
NOP  
ACTV  
NOP  
WRITE  
NOP  
READ  
NOP  
NOP  
PALL  
Figure 11-21. Synchronous, Continuous Page-Mode Access—Read after Write  
11.4.4.5 Auto-Refresh Operation  
The DRAM controller is equipped with a refresh counter and control. This logic is  
responsible for providing timing and control to refresh the SDRAM. Once the refresh  
counter is set, and refresh is enabled, the counter counts to zero. At this time, an internal  
refresh request ag is set and the counter begins counting down again. The DRAM  
controller completes any active burst operation and then performs a PALL operation. The  
DRAM controller then initiates a refresh cycle and clears the refresh request ag. This  
refresh cycle includes a delay from any precharge to the auto-refresh command, the  
auto-refresh command, and then a delay until any ACTV command is allowed. Any SDRAM  
access initiated during the auto-refresh cycle is delayed until the cycle is completed.  
Figure 11-22 shows the auto-refresh timing. In this case, there is an SDRAM access when  
the refresh request becomes active. The request is delayed by the precharge to ACTV delay  
programmed into the active SDRAM bank by the CAS bits. The REF command is then  
generated and the delay required by DCR[RTIM] is inserted before the next ACTV  
command is generated. In this example, the next bus cycle is initiated, but does not generate  
an SDRAM access until T is nished. Because both chip selects are active during the REF  
RC  
command, it is passed to both blocks of external SDRAM.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-31  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
chronous Operation  
BCLKO  
A[31:0]  
SRAS  
t
= 6  
RC  
t
= 2  
RCD  
SCAS  
DRAMW  
RAS[0] or [1]  
PALL  
NOP  
REF  
NOP  
ACTV  
Figure 11-22. Auto-Refresh Operation  
11.4.4.6 Self-Refresh Operation  
Self-refresh is a method of allowing the SDRAM to enter into a low-power state, while at  
the same time to perform an internal refresh operation and to maintain the integrity of the  
data stored in the SDRAM. The DRAM controller supports self-refresh with DCR[IS].  
When IS is set, the SELF command is sent to the SDRAM. When IS is cleared, the SELFX  
command is sent to the DRAM controller. Figure 11-23 shows the self-refresh operation.  
BCLKO  
SRAS  
t
= 2  
RCD  
SCAS  
t
= 6  
RC  
DRAMW  
RAS[0] or [1]  
SCKE  
(DCR[COC] = 0)  
First  
Possible  
ACTV  
Self-  
Refresh  
Active  
PALL  
NOP  
SELF  
SELFX  
NOP  
Figure 11-23. Self-Refresh Operation  
11-32  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Synchronous Operation  
11.4.5 Initialization Sequence  
Synchronous DRAMs have a prescribed initialization sequence. The DRAM controller  
supports this sequence with the following procedure:  
1. SDRAM control signals are reset to idle state. Wait the prescribed period after reset  
before any action is taken on the SDRAMs. This is normally around 100 µs.  
2. Initialize the DCR, DACR, and DMR in their operational conguration. Do not yet  
enable PALL or REF commands.  
3. Issue a PALL command to the SDRAMs by setting DCR[IP] and accessing a  
SDRAM location. Wait the time (determined by t ) before any other execution.  
RP  
4. Enable refresh (set DACR[RE]) and wait for at least 8 refreshes to occur.  
5. Before issuing the MRS command, determine if the DMR mask bits need to be  
modied to allow the MRS to execute properly  
6. Issue the MRS command by setting DACR[IMRS] and accessing a location in the  
SDRAM. Note that mode register settings are driven on the SDRAM address bus, so  
care must be taken to change DMR[BAM] if the mode register conguration does  
not fall in the address range determined by the address mask bits. After the mode  
register is set, DMR mask bits can be restored to their desired conguration.  
11.4.5.1 Mode Register Settings  
It is possible to congure the operation of SDRAMs, namely their burst operation and CAS  
latency, through the SDRAM component’s mode register. CAS latency is a function of the  
speed of the SDRAM and the bus clock of the DRAM controller. The DRAM controller  
operates at a CAS latency of 1, 2, or 3.  
Although the MCF5307 DRAM controller supports bursting operations, it does not use the  
bursting features of the SDRAMs. Because the MCF5307 can burst operand sizes of 1, 2,  
4, or 16 bytes long, the concept of a xed burst length in the SDRAMs mode register  
becomes problematic. Therefore, the MCF5307 DRAM controller generates the burst  
cycles rather than the SDRAM device. Because the MCF5307 generates a new address and  
a READ or WRITE command for each transfer within the burst, the SDRAM mode register  
should be set either to a burst length of one or to not burst. This allows bursting to be  
controlled by the MCF5307 instead.  
The SDRAM mode register is written by setting the associated block’s DACR[IMRS].  
First, the base address and mask registers must be set to the appropriate conguration to  
allow the mode register to be set. Note that improperly set DMR mask bits may prevent  
access to the mode register address. Thus, the user should determine the mapping of the  
mode register address to the MCF5307 address bits to nd out if an access is blocked. If the  
DMR setting prohibits mode register access, the DMR should be recongured to enable the  
access and then set to its necessary conguration after the MRS command executes.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-33  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
AM Example  
The associated CBM bits should also be initialized. After DACR[IMRS] is set, the next  
access to the SDRAM address space generates the MRS command to that SDRAM. The  
address of the access should be selected to place the correct mode information on the  
SDRAM address pins. The address is not multiplexed for the MRS command. The MRS  
access can be a read or write. The important thing is that the address output of that access  
needs the correct mode programming information on the correct address bits.  
Figure 11-24 shows the MRS command, which occurs in the rst clock of the bus cycle.  
BCLKO  
A[31:0]  
SRAS, SCAS  
DRAMW  
D[31:0]  
RAS[1] or [0]  
MRS  
Figure 11-24. Mode Register Set (MRS) Command  
11.5 SDRAM Example  
This example interfaces a 2M x 32-bit x 4 bank SDRAM component to a MCF5307  
operating at 40 MHz. Table 11-32 lists design specications for this example.  
Table 11-32. SDRAM Example Specifications  
Parameter  
Specification  
Speed grade (-8E)  
10 rows, 8 columns  
40 MHz (25-nS period)  
Two bank-select lines to access four internal banks  
ACTV-to-read/write delay (t  
)
20 nS (min.)  
70 nS  
RCD  
Period between auto refresh and ACTV command (t  
)
RC  
ACTV command to precharge command (t  
)
48 nS (min.)  
20 nS (min.)  
1 bus clock (25 nS)  
64 mS  
RAS  
Precharge command to ACTV command (t  
)
RP  
Last data input to PALL command (t  
)
RWL  
Auto refresh period for 4096 rows (t  
)
REF  
11-34  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
SDRAM Example  
11.5.1 SDRAM Interface Configuration  
To interface this component to the MCF5307 DRAM controller, use the connection table  
that corresponds to a 32-bit port size with 8 columns (Table 11-26). Two pins select one of  
four banks when the part is functional. Table 11-33 shows the proper hardware hook-up.  
Table 11-33. SDRAM Hardware Connections  
MCF5307  
Pins  
A15  
A0  
A14 A13 A12 A11 A10  
A9  
A17 A18 A19  
A20  
A21 A22  
BA0 BA1  
SDRAM  
Pins  
A1 A2 A3 A4 A5  
A6  
A7 A8 A9  
A10 = CMD  
11.5.2 DCR Initialization  
At power-up, the DCR has the following conguration if synchronous operation and  
SDRAM address multiplexing is desired.  
15  
14  
13  
12  
11  
10  
9
8
0
Field SO  
res NAM COC IS  
RTIM  
RC  
0
Setting  
(hex)  
1
X
0
0
0
0
0
0
0
0
1
0
1
1
0
8
0
2
6
Figure 11-25. Initialization Values for DCR  
This conguration results in a value of 0x8026 for DCR, as shown in Table 11-34.  
Table 11-34. DCR Initialization Values  
Bits  
Name Setting  
Description  
15  
14  
13  
12  
SO  
1
x
0
0
Indicating synchronous operation  
Dont care (reserved)  
NAM  
COC  
Indicating SDRAM controller multiplexes address lines internally  
SCKE is used as clock enable instead of command bit because user is not multiplexing  
address lines externally and requires external command feed.  
11  
IS  
0
At power-up, allowing power self-refresh state is not appropriate because registers are  
being set up.  
109  
80  
RTIM  
RC  
00  
Because t value is 70 nS, indicating a 3-clock refresh-to-ACTV timing.  
RC  
0x26  
Specication indicates auto-refresh period for 4096 rows to be 64 mS or refresh every  
15.625 µs for each row, or 625 bus clocks at 40 MHz. Because DCR[RC] is incremented by  
1 and multiplied by 16, RC = (625 bus clocks/16) -1 = 38.06 = 0x38  
11.5.3 DACR Initialization  
As shown in Figure 11-26, in this example the SDRAM is programmed to access only the  
second 512-Kbyte block of each 1-Mbyte partition in the SDRAM (each 16 Mbytes). The  
starting address of the SDRAM is 0xFF80_0000. Continuous page mode feature is used.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-35  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
AM Example  
Accessible  
Memory  
SDRAM Component  
Bank 0  
Bank 1  
Bank 2  
Bank 3  
512 Kbyte  
512 Kbyte  
512 Kbyte  
512 Kbyte  
512 Kbyte  
1 Mbyte  
1 Mbyte  
1 Mbyte  
1 Mbyte  
512 Kbyte  
512 Kbyte  
512 Kbyte  
Figure 11-26. SDRAM Configuration  
The DACRs should be programmed as shown in Figure 11-27.  
31  
18  
17  
16  
Field  
Setting  
(hex)  
BA  
1111_1111_1000_10  
15  
xx  
15  
8
8
15  
14  
13  
12  
11  
10  
8
7
6
5
4
3
2
1
0
Field RE  
Setting  
(hex)  
CASL  
00  
CBM  
011  
IMRS  
0
PS  
00  
IP  
PM  
0
X
X
X
0
1
xx  
0
3
0
4
Figure 11-27. DACR Register Configuration  
This conguration results in a value of DACR0 = 0xFF88_0304, as described in  
Table 11-35. DACR1 initialization is not needed because there is only one block.  
Subsequently, DACR1[RE,IMRS,IP] should be cleared; everything else is a don’t care.  
Table 11-35. DACR Initialization Values  
Bits  
Name Setting  
Description  
3118  
BA  
Base address. So DACR0[3116] = 0xFF88, which places the starting address of the  
SDRAM accessible memory at 0xFF88_0000.  
1716  
15  
Reserved. Dont care.  
RE  
0
0, which keeps auto-refresh disabled because registers are being set up at this time.  
Reserved. Dont care.  
14  
1312  
11  
CASL  
00  
Indicates a delay of data 1 cycle after CAS is asserted  
Reserved. Dont care.  
108  
7
CBM  
011  
Command bit is pin 20 and bank selects are 21 and up.  
Reserved. Dont care.  
6
IMRS  
PS  
0
00  
0
Indicates MRS command has not been initiated.  
32-bit port.  
54  
3
IP  
Indicates precharge has not been initiated.  
11-36  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
SDRAM Example  
Table 11-35. DACR Initialization Values  
Bits  
Name Setting  
Description  
2
PM  
1
Indicates continuous page mode  
10  
Reserved. Dont care.  
11.5.4 DMR Initialization  
In this example, again, only the second 512-Kbyte block of each 1-Mbyte space is accessed  
in each bank. In addition the SDRAM component is mapped only to readable and writable  
supervisor and user data. The DMRs have the following conguration.  
31  
18  
17  
16  
Field  
Setting  
(hex)  
BAM  
0
0
0
0
0
0
0
0
8
0
1
1
1
0
1
X
X
0
0
7
4
15  
X
9
7
6
5
4
3
2
1
0
Field  
Setting  
(hex)  
WP  
0
C/I  
AM  
SC  
SD  
UC  
UD  
V
X
X
X
X
X
X
X
1
1
1
0
1
0
1
0
0
7
5
Figure 11-28. DMR0 Register  
With this conguration, the DMR0 = 0x0074_0075, as described in Table 11-36.  
Table 11-36. DMR0 Initialization Values  
Bits  
Name Setting  
Description  
3116 BAM  
With bits 17 and 16 as dont cares, BAM = 0x0074, which leaves bank select bits and  
upper 512K select bits unmasked. Note that bits 22 and 21 are set because they are used  
as bank selects; bit 20 is set because it controls the 1-Mbyte boundary address.  
159  
WP  
Reserved. Dont care.  
8
7
6
5
4
3
2
1
0
0
Allow reads and writes  
Reserved  
C/I  
AM  
SC  
SD  
UC  
UD  
V
1
1
1
0
1
0
1
Disable CPU space access  
Disable alternate master access  
Disable supervisor code accesses  
Enable supervisor data accesses  
Disable user code accesses  
Enable user data accesses  
Enable accesses.  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-37  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
AM Example  
11.5.5 Mode Register Initialization  
When DACR[IMRS] is set, a bus cycle initializes the mode register. If the mode register  
setting is read on A[10:0] of the SDRAM on the rst bus cycle, the bit settings on the  
corresponding MCF5307 address pins must be determined while being aware of masking  
requirements.  
Table 11-37 lists the desired initialization setting:  
Table 11-37. Mode Register Initialization  
MCF5307 Pins  
SDRAM Pins  
Mode Register Initialization  
A20  
A19  
A18  
A17  
A9  
A10  
A9  
A8  
A7  
A6  
A5  
A4  
A3  
A2  
A1  
A0  
Reserved  
WB  
X
0
0
0
0
0
1
0
0
0
0
Opmode  
Opmode  
CASL  
CASL  
CASL  
BT  
A10  
A11  
A12  
A13  
A14  
A15  
BL  
BL  
BL  
Next, this information is mapped to an address to determine the hexadecimal value.  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
X
Field  
Setting  
(hex)  
X
X
X
X
X
X
X
X
X
X
X
X
0
0
0
0
0
0
0
15  
0
14  
0
13  
0
12  
0
11  
1
10  
0
9
8
7
6
5
4
3
2
1
0
Field  
Setting  
(hex)  
V
0
X
X
X
X
X
X
X
X
X
0
8
0
0
Figure 11-29. Mode Register Mapping to MCF5307 A[31:0]  
Although A[31:20] corresponds to the address programmed in DACR0, according to how  
DACR0 and DMR0 are initialized, bit 19 must be set to hit in the SDRAM. Thus, before  
the mode register bit is set, DMR0[19] must be set to enable masking.  
11-38  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
SDRAM Example  
11.5.6 Initialization Code  
The following assembly code initializes the SDRAM example.  
Power-Up Sequence:  
move.w #0x8026, d0  
move.w d0, DCR  
//Initialize DCR  
//Initialize DACR0  
//Initialize DMR0  
move.l #0xFF880300, d0  
move.l d0, DACR0  
move.l #0x00740075, d0  
move.l d0, DMR0  
Precharge Sequence:  
move.l #0xFF880308, d0  
move.l d0, DACR0  
move.l #0xBEADDEED, d0  
move.l d0, 0xFF880000  
//Set DACR0[IP]  
//Write to memory location to init. precharge  
Refresh Sequence:  
move.l #0xFF888300, d0  
move.l d0, DACR0  
//Enable refresh bit in DACR0  
Mode Register Initialization Sequence:  
move.l #0x00600075, d0  
move.l d0, DMR0  
//Mask bit 19 of address  
move.l #0xFF888340, d0  
move.l d0, DACR0  
move.l #0x00000000, d0  
register  
//Enable DACR0[IMRS]; DACR0[RE] remains set  
//Access SDRAM address to initialize mode  
move.l d0, 0xFF800800  
Chapter 11. Synchronous/Asynchronous DRAM Controller Module  
11-39  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
AM Example  
11-40  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Part III  
Peripheral Module  
Intended Audience  
Part III describes the operation and conguration of the MCF5307 DMA, timer, UART, and  
parallel port modules, and describes how they interface with the system integration unit,  
described in Part II.  
Contents  
Part III contains the following chapters:  
Chapter 12, “DMA Controller Module,” provides an overview of the DMA  
controller module and describes in detail its signals and registers. The latter sections  
of this chapter describe operations, features, and supported data transfer modes in  
detail, showing timing diagrams for various operations.  
Chapter 13, “Timer Module,” describes conguration and operation of the two  
general-purpose timer modules, timer 0 and timer 1. It includes programming  
examples.  
Chapter 14, “UART Modules,” describes the use of the universal  
asynchronous/synchronous receiver/transmitters (UARTs) implemented on the  
MCF5307 and includes programming examples.  
Chapter 15, “Parallel Port (General-Purpose I/O),” describes the operation and  
programming model of the parallel port pin assignment, direction-control, and data  
registers. It includes a code example for setting up the parallel port.  
Part III.PeripheralModule  
III-i  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Acronyms and Abbreviations  
Table III-i describes acronyms and abbreviations used in Part III.  
Table III-i. Acronyms and Abbreviated Terms  
Term  
ADC  
Meaning  
Analog-to-digital conversion  
Built-in self test  
BIST  
CODEC  
DAC  
Code/decode  
Digital-to-analog conversion  
Direct memory access  
Digital signal processing  
Extended data output (DRAM)  
First-in, rst-out  
DMA  
DSP  
EDO  
FIFO  
GPIO  
2
I C  
Inter-integrated circuit  
IEEE  
IFP  
Institute for Electrical and Electronics Engineers  
Instruction fetch pipeline  
Interrupt priority level  
Joint Electron Device Engineering Council  
Joint Test Action Group  
Last-in, rst-out  
IPL  
JEDEC  
JTAG  
LIFO  
LRU  
LSB  
lsb  
Least recently used  
Least-signicant byte  
Least-signicant bit  
MAC  
MBAR  
MSB  
msb  
Mux  
NOP  
OEP  
PC  
Multiple accumulate unit  
Memory base address register  
Most-signicant byte  
Most-signicant bit  
Multiplex  
No operation  
Operand execution pipeline  
Program counter  
PCLK  
PLL  
Processor clock  
Phase-locked loop  
III-ii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table III-i. Acronyms and Abbreviated Terms (Continued)  
Term  
PLRU  
Meaning  
Pseudo least recently used  
Power-on reset  
POR  
PQFP  
RISC  
Rx  
Plastic quad at pack  
Reduced instruction set computing  
Receive  
SIM  
System integration module  
Start of frame  
SOF  
TAP  
TTL  
Test access port  
Transistor-to-transistor logic  
Transmit  
Tx  
UART  
Universal asynchronous/synchronous receiver transmitter  
Part III.PeripheralModule  
III-iii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
III-iv  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 12  
DMA Controller Module  
This chapter describes the MCF5307 DMA controller module. It provides an overview of  
the module and describes in detail its signals and registers. The latter sections of this  
chapter describe operations, features, and supported data transfer modes in detail.  
12.1 Overview  
The direct memory access (DMA) controller module provides an efcient way to move  
blocks of data with minimal processor interaction. The DMA module, shown in  
Figure 12-1, provides four channels that allow byte, word, or longword operand transfers.  
Each channel has a dedicated set of registers that dene the source and destination  
addresses (SARn and DARn), byte count (BCRn), and control and status (DCRn and  
DSRn). Transfers can be dual or single address to off-chip devices or dual address to  
on-chip devices, such as UART, SDRAM controller, and parallel port.  
Channel 0 Channel 1 Channel 2 Channel 3  
Internal  
Bus  
SAR0  
DAR0  
BCR0  
DCR0  
DSR0  
SAR1  
DAR1  
BCR1  
DCR1  
DSR1  
SAR2  
DAR2  
BCR2  
DCR2  
DSR2  
SAR3  
DAR3  
BCR3  
DCR3  
DSR3  
Interrupts  
External  
Requests  
Channel  
Requests  
Channel  
Attributes  
Channel  
Enables  
External Bus Address  
External Bus Size  
MUX  
Current Master Attributes  
MUX  
Control  
Arbitration/  
Control  
Data Path  
Interface Bus  
Data Path  
Control  
Registered  
Bus Signals  
Read Bus Data  
Write Bus Data  
Figure 12-1. DMA Signal Diagram  
Chapter 12. DMA Controller Module  
12-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
A Signal Description  
12.1.1 DMA Module Features  
The DMA controller module features are as follows:  
Four fully independent, programmable DMA controller channels/bus modules  
Auto-alignment feature for source or destination accesses  
Dual- and single-address transfers  
Two external request pins (DREQ[1:0]) provided for channels 1 and 0  
Channel arbitration on transfer boundaries  
Data transfers in 8-, 16-, 32-, or 128-bit blocks using a 16-byte buffer  
Continuous-mode and cycle-steal transfers  
Independent transfer widths for source and destination  
Independent source and destination address registers  
Data transfer can occur in as few as two clocks  
12.2 DMA Signal Description  
Table 12-1 briey describes the DMA module signals that provide handshake control for  
either a source or destination external device.  
Table 12-1. DMA Signals  
Signal  
I/O  
Description  
DREQ[1:0]/  
PP[6:5]  
I
External DMA request. DREQ[1:0] can serve as the DMA request inputs or as two parallel port  
bits. They are programmable individually through the PAR. A peripheral device asserts these  
inputs to request an operand transfer between it and memory.  
DREQ signals are asserted to initiate DMA accesses in the respective channels. The system  
should drive unused DREQ signals to logic high. Although each channel has an individual  
DREQ signal, in the MCF5307 only channels 0 and 1 connect to external DREQ pins.DREQ  
signals for channels 2 and 3 are connected to the UART0 and UART1 bus interrupt signals.  
TT[1:0]/  
PP[1:0]  
O
O
Transfer type. A DMA access is indicated by the transfer type pins, TT[1:0] = 01. The transfer  
modier, TM[2:0] congurations shown below are meaningful only if TT[1:0] = 01, indicating an  
external master or DMA access.  
TM[2:0]  
/PP[4:2]  
Multiplexed transfer attribute pins. The encodings below are valid when TT[1:0] = 01 and  
internal DMA channels are driving the bus. DMA transfer information on TM[2:1] can be  
provided on every DMA transfer or only on the last transfer by programming DCR[AT].  
TM[2:1]Encoding  
00  
01  
10  
11  
DMA acknowledge information not provided  
DMA transfer, channel 0  
DMA transfer, channel 1  
Reserved  
TM0 Encoding for DMA as master (TT = 01)  
0
1
Single-address access negated  
Single-address access  
For TT[1:0] = 01, the TM0 encoding is independent of TM[2:1]. If DCR[SAA] is set, TM0  
designates a single-address DMA access.  
12-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DMA Transfer Overview  
12.3 DMA Transfer Overview  
The DMA module usually transfers data faster than the ColdFire core can under software  
control. The term ‘direct memory access’ refers to peripheral device’s ability to access  
system memory directly, greatly improving overall system performance. The DMA module  
consists of four independent, functionally equivalent channels, so references to DMA in  
this chapter apply to any of the channels. It is not possible to implicitly address all four  
channels at once. The MCF5307 on-chip peripherals do not support single-address  
transfers.  
The processor generates DMA requests internally by setting DCR[START]; a device can  
generate a DMA request externally by using DREQ pins. The processor can program bus  
bandwidth for each channel. The channels support cycle-steal and continuous transfer  
modes; see Section 12.5.1, “Transfer Requests (Cycle-Steal and Continuous Modes).”  
The DMA controller supports dual- and single-address transfers as follows. In both, the  
DMA channel supports 32 address bits and 32 data bits.  
Dual-address transfers—A dual-address transfer consists of a read followed by a  
write and is initiated by an internal request using the START bit or by an external  
device using DREQ. Two types of transfer can occur, a read from a source device or  
a write to a destination device; see Figure 12-2.  
Control and Data  
Memory/  
Peripheral  
DMA  
Memory/  
Peripheral  
Control and Data  
Figure 12-2. Dual-Address Transfer  
Single-address transfers—An external device can initiate a single-address transfer  
by asserting DREQ. The MCF5307 provides address and control signals for  
single-address transfers. The external device reads to or writes from the specied  
address, as Figure 12-3 shows. External logic is required.  
Chapter 12. DMA Controller Module  
12-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
A Controller Module Programming Model  
Write:  
DMA  
Data  
Control Signals  
Control Signals  
Memory  
Control Signals  
Memory  
Peripheral  
Control Signals  
Peripheral  
Read:  
DMA  
Data  
Figure 12-3. Single-Address Transfers  
Any operation involving the DMA module follows the same three steps:  
1. Channel initialization—Channel registers are loaded with control information,  
address pointers, and a byte-transfer count.  
2. Data transfer—The DMA accepts requests for operand transfers and provides  
addressing and bus control for the transfers.  
3. Channel termination—Occurs after the operation is nished, either successfully or  
due to an error. The channel indicates the operation status in the channel’s DSR,  
described in Section 12.4.5, “DMA Status Registers (DSR0–DSR3).”  
12.4 DMA Controller Module Programming Model  
This section describes each internal register and its bit assignment. Note that there is no way  
to prevent a write to a control register during a DMA transfer. Table 12-2 shows the  
mapping of DMA controller registers. Note the differences for the byte count registers  
depending on the value of MPARK[BCR24BIT].  
12-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA Controller Module Programming Model  
Table 12-2. Memory Map for DMA Controller Module Registers  
DMA  
Channel Offset  
MBAR  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0
1
2
0x300  
0x304  
0x308  
0x30C  
0x30C  
Source address register 0 (SAR0) [p. 12-6]  
Destination address register 0 (DAR0) [p. 12-7]  
DMA control register 0 (DCR0) [p. 12-8]  
1
Byte count register 0 (BCR24BIT = 0)  
Reserved  
1
Reserved  
Byte count register 0 (BCR24BIT = 1) (BCR0) [p. 12-7]  
Reserved  
0x310 DMA status register 0  
(DSR0) [p. 12-10]  
0x314 DMA interrupt vector  
register 0 (DIVR0)  
[p. 12-11]  
Reserved  
0x340  
0x344  
0x348  
0x34C  
Source address register 1 (SAR1) [p. 12-6]  
Destination address register 1 (DAR1) [p. 12-7]  
DMA control register 1 (DCR1) [p. 12-8]  
1
Byte count register 1 (BCR24BIT = 0)  
Reserved  
1
0x34C  
Reserved  
Byte count register 1 (BCR24BIT = 1) (BCR1) [p. 12-7]  
0x350 DMA status register 1  
(DSR1) [p. 12-10]  
Reserved  
0x354 DMA interrupt vector  
register 1 (DIVR1)  
[p. 12-11]  
Reserved  
0x380  
0x384  
0x388  
0x38C  
Source address register 2 (SAR2) [p. 12-6]  
Destination address register 2 (DAR2) [p. 12-7]  
DMA control register 2 (DCR2) [p. 12-8]  
1
Byte count register 2 (BCR24BIT = 0)  
Reserved  
1
0x38C  
Reserved  
Byte count register 2 (BCR24BIT = 1) (BCR2) [p. 12-7]  
0x390 DMA status register 2  
(DSR2) [p. 12-10]  
Reserved  
0x394 DMA interrupt vector  
register 2 (DIVR2)  
[p. 12-11]  
Reserved  
Chapter 12. DMA Controller Module  
12-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
A Controller Module Programming Model  
Table 12-2. Memory Map for DMA Controller Module Registers (Continued)  
DMA  
Channel Offset  
MBAR  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
3
0x3C0  
0x3C4  
0x3C8  
0x3CC  
0x3CC  
Source address register 3 (SAR3) [p. 12-6]  
Destination address register 3 (DAR3) [p. 12-7]  
DMA control register 3 (DCR3) [p. 12-8]  
1
Byte count register 3 (BCR24BIT = 0)  
Reserved  
1
Reserved  
Byte count register 3 (BCR24BIT = 1) (BCR3) [p. 12-7]  
Reserved  
0x3D0 DMA status register 3  
(DSR3) [p. 12-10]  
0x3D4 DMA interrupt vector  
register 3 (DIVR3)  
[p. 12-11]  
Reserved  
1
On the original MCF5307 mask set (H55J), the BCR of the DMA channels can accommodate only 16 bits.  
However, because the revised MCF5307 supports a 24-bit byte count range, the position of the BCR in the  
memory map depends on whether a 16- or 24-bit byte counter is selected. The 24-bit byte count can be  
selected by setting BCR24BIT = 1, making DCR[AT] available. The AT bit selects whether DMA channels  
assert acknowledge during the entire transfer or only at the nal transfer of a DMA transaction.  
New applications should take advantage of the full range of the 24-bit byte counter, including the AT bit. The  
16-bit byte count option (BCR24BIT = 0) retains compatibility with older MCF5307 revisions.  
NOTE:  
External masters cannot access MCF5307 on-chip memories or  
MBAR, but they can access DMA module registers.  
12.4.1 Source Address Registers (SAR0–SAR3)  
SARn, Figure 12-4, contains the address from which the DMA controller requests data. In  
single-address mode, SARn provides the address regardless of the direction.  
31  
0
Field  
Reset  
SAR  
0000_0000_0000_0000_0000_0000_0000_0000  
R/W  
R/W  
Address  
MBAR + 0x300, 0x340, 0x380, 0x3C0  
Figure 12-4. Source Address Registers (SARn)  
NOTE:  
SAR/DAR address ranges cannot be programmed to on-chip  
SRAM because it cannot be accessed by on-chip DMA.  
12-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA Controller Module Programming Model  
12.4.2 Destination Address Registers (DAR0–DAR3)  
For dual-address transfers only, DARn, Figure 12-5, holds the address to which the DMA  
controller sends data.  
31  
0
Field  
Reset  
DAR  
0000_0000_0000_0000_0000_0000_0000_0000  
R/W  
R/W  
Address  
MBAR + 304, 0x344, 0x384, 0x3C4  
Figure 12-5. Destination Address Registers (DARn)  
NOTE:  
On-chip DMAs do not maintain coherency with MCF5307  
caches and so must not transfer data to cacheable memory.  
12.4.3 Byte Count Registers (BCR0–BCR3)  
BCRn, Figure 12-6 and Figure 12-7, holds the number of bytes yet to be transferred for a  
given block.The offset within the memory map is based on the value of  
MPARK[BCR24BIT]. BCRn decrements on the successful completion of the address  
transfer of either a write transfer in dual-address mode or any transfer in single-address  
mode. BCRn decrements by 1, 2, 4, or 16 for byte, word, longword, or line accesses,  
respectively.  
Figure 12-6 shows BCR for BCR24BIT = 1.  
31  
24 23  
0
Field  
Reset  
BCR  
0000_0000_0000_0000_0000_0000  
R/W  
R/W  
Address  
MBAR + 0x30C, 0x34C, 0x38C, 0x3AC  
Figure 12-6. Byte Count Registers (BCRn)—BCR24BIT = 1  
Figure 12-7 shows BCR for BCR24BIT = 0.  
Chapter 12. DMA Controller Module  
12-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
A Controller Module Programming Model  
Bit  
Field  
Reset  
R/W  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
BCR  
0000_0000_0000_0000  
Addr  
MBAR + 0x30C, 0x34C, 0x38C, 0x3AC  
Figure 12-7. BCRn—BCR24BIT = 0  
DSR[DONE], shown in Figure 12-9, is set when the block transfer is complete.  
When a transfer sequence is initiated and BCRn[BCR] is not divisible by 16, 4, or 2 when  
the DMA is congured for line, longword, or word transfers, respectively, DSRn[CE] is set  
and no transfer occurs. See Section 12.4.5, “DMA Status Registers (DSR0–DSR3).”  
12.4.4 DMA Control Registers (DCR0–DCR3)  
DCRn, Figure 12-8, is used for conguring the DMA controller module. Note that  
DCR[AT] is available only if BCR24BIT = 1.  
31  
30  
29  
28  
27  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
Field INT EEXT CS  
AA  
BWC  
SAA S_RW SINC  
SSIZE  
DINC  
DSIZE  
START  
Reset  
R/W  
0000_0000_0000_0000  
R/W  
15  
14  
0
1
Field AT  
N/A  
Reset  
R/W  
0
R/W  
Address  
MBAR + 0x308, 0x348, 0x388, 0x3A8  
Figure 12-8. DMA Control Registers (DCRn)  
Available only if BCR24BIT = 1, otherwise reserved.  
1
Table 12-3 describes DCR elds.  
Table 12-3. DCRn Field Descriptions  
Bits  
31  
Name  
Description  
INT  
Interrupt on completion of transfer. Determines whether an interrupt is generated by completing a  
transfer or by the occurrence of an error condition.  
0 No interrupt is generated.  
1 Internal interrupt signal is enabled.  
30  
EEXT  
Enable external request. Care should be taken because a collision can occur between the START  
bit and DREQ when EEXT = 1.  
0 External request is ignored.  
1 Enables external request to initiate transfer. Internal request is always enabled. It is initiated by  
writing a 1 to the START bit.  
12-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
DMA Controller Module Programming Model  
Table 12-3. DCRn Field Descriptions (Continued)  
Bits  
29  
Name  
Description  
CS  
Cycle steal.  
0 DMA continuously makes read/write transfers until the BCR decrements to 0.  
1 Forces a single read/write transfer per request.The request may be internal by setting the START  
bit, or external by asserting DREQ.  
28  
AA  
Auto-align. AA and SIZE determine whether the source or destination is auto-aligned, that is,  
transfers are optimized based on the address and size. See Section 12.5.4.2, Auto-Alignment.”  
0 Auto-align disabled  
1 If SSIZE indicates a transfer no smaller than DSIZE, source accesses are auto-aligned;  
otherwise, destination accesses are auto-aligned. Source alignment takes precedence over  
destination alignment. If auto-alignment is enabled, the appropriate address register increments,  
regardless of DINC or SINC.  
2725 BWC  
Bandwidth control. Indicates the number of bytes in a block transfer. When the byte count reaches  
a multiple of the BWC value, the DMA releases the bus. For example, if BCR24BIT is 0, BWC is  
001 (512 bytes or value of 0x0200), and BCR is 0x1000, the bus is relinquished after BCR values of  
0x2000, 0x1E00, 0x1C00, 0x1A00, 0x1800, 0x1600, 0x1400, 0x1200, 0x1000, 0x0E00, 0x0C00,  
0x0A00, 0x0800, 0x0600, 0x0400, and 0x0200. If BCR24BIT is 0, BWC is 110, and BCR is 33000,  
the bus is released after 232 bytes because the BCR is at 32768, a multiple of 16384.  
BWC BCR24BIT = 0  
BCR24BIT = 1  
000  
001  
010  
011  
100  
101  
110  
111  
DMA has priority. It does not negate its request until its transfer completes.  
512  
16384  
32768  
1024  
2048  
4096  
8192  
16384  
32768  
65536  
131072  
262144  
524288  
1048576  
24  
SAA  
Single-address access. Determines whether the DMA channel is in dual- or single-address mode  
0 Dual-address mode.  
1 Single-address mode. The DMA provides an address from the SAR and directional control, bit  
S_RW, to allow two peripherals (one might be memory) to exchange data within a single access.  
Data is not stored by the DMA.  
23  
22  
S_RW Single-address access read/write value.Valid only if SAA = 1. Species the value of the read signal  
during single-address accesses. This provides directional control to the bus controller.  
0 Forces the read signal to 0.  
1 Forces the read signal to 1.  
SINC  
Source increment. Controls whether a source address increments after each successful transfer.  
0 No change to SAR after a successful transfer.  
1 The SAR increments by 1, 2, 4, or 16, as determined by the transfer size.  
2120 SSIZE Source size. Determines the data size of the source bus cycle for the DMA control module.  
00 Longword  
01 Byte  
10 Word  
11 Line  
19  
DINC  
Destination increment. Controls whether a destination address increments after each successful  
transfer.  
0 No change to the DAR after a successful transfer.  
1 The DAR increments by 1, 2, 4, or 16, depending upon the size of the transfer.  
1817 DSIZE Destination size. Determines the data size of the destination bus cycle for the DMA controller.  
00 Longword  
01 Byte  
10 Word  
11 Line  
Chapter 12. DMA Controller Module  
12-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
A Controller Module Programming Model  
Table 12-3. DCRn Field Descriptions (Continued)  
Bits  
16  
Name  
Description  
START Start transfer.  
0 DMA inactive  
1 The DMA begins the transfer in accordance to the values in the control registers. START is  
cleared automatically after one clock and is always read as logic 0.  
15  
AT  
AT is available only if BCR24BIT = 1.  
DMA acknowledge type. Controls whether acknowledge information is provided for the entire  
transfer or only the nal transfer.  
0 Entire transfer. DMA acknowledge information is displayed anytime the channel is selected as the  
result of an external request.  
1 Final transfer (when BCR reaches zero). For dual-address transfer, the acknowledge information  
is displayed for both the read and write cycles.  
140  
Reserved, should be cleared.  
12.4.5 DMA Status Registers (DSR0–DSR3)  
In response to an event, the DMA controller writes to the appropriate DSRn bit,  
Figure 12-9. Only a write to DSRn[DONE] results in action.  
7
6
5
4
3
2
1
0
Field  
Reset  
CE  
BES  
BED  
REQ  
BSY  
DONE  
0
0
0
0
0
0
R/W  
R/W  
MBAR + 0x310, 0x350, 0x390, 0x3D0  
Address  
Figure 12-9. DMA Status Registers (DSRn)  
Table 12-4 describes DSRn elds.  
Table 12-4. DSRn Field Descriptions  
Bits Name  
Description  
7
Reserved, should be cleared.  
6
CE  
Conguration error. Occurs when BCR, SAR, or DAR does not match the requested transfer size,  
or if BCR = 0 when the DMA receives a start condition. CE is cleared at hardware reset or by  
writing a 1 to DSR[DONE].  
0 No conguration error exists.  
1 A conguration error has occurred.  
5
BES  
Bus error on source  
0 No bus error occurred.  
1 The DMA channel terminated with a bus error either during the read portion of a transfer or  
during an access in single-address mode (SAA = 1).  
4
3
BED  
Bus error on destination  
0 No bus error occurred.  
1 The DMA channel terminated with a bus error during the write portion of a transfer.  
Reserved, should be cleared.  
12-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
DMA Controller Module Functional Description  
Table 12-4. DSRn Field Descriptions (Continued)  
Bits Name  
Description  
2
REQ  
Request  
0 No request is pending or the channel is currently active. Cleared when the channel is selected.  
1 The DMA channel has a transfer remaining and the channel is not selected.  
1
0
BSY  
Busy  
0 DMA channel is inactive. Cleared when the DMA has nished the last transaction.  
1 BSY is set the rst time the channel is enabled after a transfer is initiated.  
DONE Transactions done. Set when all DMA controller transactions complete normally, as determined by  
transfer count and error conditions. When BCR reaches zero, DONE is set when the nal transfer  
completes successfully. DONE can also be used to abort a transfer by resetting the status bits.  
When a transfer completes, software must clear DONE before reprogramming the DMA.  
0 Writing or reading a 0 has no effect.  
1 DMA transfer completed. Writing a 1 to this bit clears all DMA status bits and can be used as an  
interrupt handler to clear the DMA interrupt and error bits.  
12.4.6 DMA Interrupt Vector Registers (DIVR0–DIVR3)  
The contents of a DMA interrupt vector register (DIVRn), Figure 12-10, are driven onto the  
internal bus in response to an interrupt acknowledge cycle.  
7
0
Field  
Reset  
Interrupt Vector Bits  
0000_1111  
R/W  
R/W  
Address  
MBAR + 0x314, 0x354, 0x394, 0x3D4  
Figure 12-10. DMA Interrupt Vector Registers (DIVRn)  
12.5 DMA Controller Module Functional Description  
In the following discussion, the term ‘DMA request’ implies that DCR[START] or  
DCR[EEXT] is set, followed by assertion of DREQ. The START bit is cleared when the  
channel begins an internal access.  
Before initiating a dual-address access, the DMA module veries that DCR[SSIZE,DSIZE]  
are consistent with the source and destination addresses. If the source and destination are  
not the same size, the conguration error bit, DSR[CE], is also set. If misalignment is  
detected, no transfer occurs, CE is set, and, depending on the DCR conguration, an  
interrupt event is issued. Note that if the auto-align bit, DCR[AA], is set, error checking is  
performed on appropriate registers.  
A read/write transfer reads bytes from the source address and writes them to the destination  
address. The number of bytes is the larger of the sizes specied by SSIZE and DSIZE. See  
Section 12.4.4, “DMA Control Registers (DCR0–DCR3).”  
Source and destination address registers (SAR and DAR) can be programmed in the DCR  
Chapter 12. DMA Controller Module  
12-11  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
A Controller Module Functional Description  
to increment at the completion of a successful transfer. BCR decrements when an address  
transfer write completes for a single-address access (DCR[SAA] = 0) or when SAA = 1.  
12.5.1 Transfer Requests (Cycle-Steal and Continuous  
Modes)  
The DMA channel supports internal and external requests. A request is issued by setting  
DCR[START] or by asserting DREQ. Setting DCR[EEXT] enables recognition of external  
interrupts. Internal interrupts are always recognized. Bus usage is minimized for either  
internal or external requests by selecting between cycle-steal and continuous modes.  
Cycle-steal mode (DCR[CS] = 1)—Only one complete transfer from source to  
destination occurs for each request. If DCR[EEXT] is set, a request can be either  
internal or external. Internal request is selected by setting DCR[START]. An  
external request is initiated by asserting DREQ while EEXT is set.  
Continuous mode (DCR[CS] = 0)—After an internal or external request, the DMA  
continuously transfers data until BCR reaches zero or a multiple of DCR[BWC] or  
DSR[DONE] is set. If BCR is a multiple of BWC, the DMA request signal is  
negated until the bus cycle terminates to allow the internal arbiter to switch masters.  
DCR[BWC] = 000 species the maximum transfer rate; other values specify a  
transfer rate limit.  
The DMA performs the specied number of transfers, then relinquishes bus control.  
The DMA negates its internal bus request on the last transfer before the BCR reaches  
a multiple of the boundary specied in BWC. On completion, the DMA reasserts its  
bus request to regain mastership at the earliest opportunity. The minimum time that  
the DMA loses bus control is one bus cycle.  
12.5.2 Data Transfer Modes  
Each channel supports dual- and single-address transfers, described in the next sections.  
12.5.2.1 Dual-Address Transfers  
Dual-address transfers consist of a source operand read and a destination operand write.  
The DMA controller module begins a dual-address transfer sequence when DCR[SAA] is  
cleared during a DMA request. If no error condition exists, DSR[REQ] is set.  
Dual-address read—The DMA controller drives the SAR value onto the internal  
address bus. If DCR[SINC] is set, the SAR increments by the appropriate number  
of bytes upon a successful read cycle. When the appropriate number of read cycles  
complete (multiple reads if the destination size is wider than the source), the DMA  
initiates the write portion of the transfer.  
If a termination error occurs, DSR[BES,DONE] are set and DMA transactions stop.  
12-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA Controller Module Functional Description  
Dual-address write—The DMA controller drives the DAR value onto the address  
bus. If DCR[DINC] is set, DAR increments by the appropriate number of bytes at  
the completion of a successful write cycle. The BCR decrements by the appropriate  
number of bytes. DSR[DONE] is set when BCR reaches zero. If the BCR is greater  
than zero, another read/write transfer is initiated. If the BCR is a multiple of  
DCR[BWC], the DMA request signal is negated until termination of the bus cycle  
to allow the internal arbiter to switch masters.  
If a termination error occurs, DSR[BES,DONE] are set and DMA transactions stop.  
12.5.2.2 Single-Address Transfers  
Single-address transfers consist of one DMA bus cycle, allowing either a read or a write  
cycle to occur. The DMA controller begins a single-address transfer sequence when  
DCR[SAA] is set during a DMA request. If no error condition exists, DSR[REQ] is set.  
When the channel is enabled, DSR[BSY] is set and REQ is cleared. SAR contents are then  
driven onto the address bus and the value of DCR[S_RW] is driven on R/W. The BCR  
decrements on each successful address access until it is zero, when DSR[DONE] is set.  
If a termination error occurs, DSR[BES,DONE] are set and DMA transactions stop.  
12.5.3 Channel Initialization and Startup  
Before a block transfer starts, channel registers must be initialized with information  
describing conguration, request-generation method, and the data block.  
12.5.3.1 Channel Prioritization  
The four DMA channels are prioritized in ascending order (channel 0 having highest  
priority and channel 3 having the lowest) or as determined by DCR[BWC]. If BWC for a  
DMA channel is 000, that channel has priority only over the channel immediately  
preceding it. For example, if DCR3[BWC] = 000, DMA channel 3 has priority over DMA  
channel 2 (assuming DCR2[BWC] 000) but not over DMA channel 1.  
If DCR1[BWC] = DCR2[BWC] = 000, DMA 1 has priority over DMA 0 and DMA 2.  
DCR2[BWC] = 000 in this case does not affect prioritization.  
Prioritization of simultaneous external requests is either ascending or as determined by  
each channel’s BWC bits as described in the previous paragraphs.  
12.5.3.2 Programming the DMA Controller Module  
Note the following general guidelines for programming the DMA:  
No mechanism exists to prevent writes to control registers during DMA accesses.  
If the BWC of sequential channels are equal, channel priority is in ascending order.  
The SAR is loaded with the source (read) address. If the transfer is from a peripheral device  
to memory, the source address is the location of the peripheral data register. If the transfer  
Chapter 12. DMA Controller Module  
12-13  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
A Controller Module Functional Description  
is from memory to either a peripheral device or memory, the source address is the starting  
address of the data block. This can be any aligned byte address. In single-address mode, this  
data register is used regardless of transfer direction.  
The DAR should contain the destination (write) address. If the transfer is from a peripheral  
device to memory, or memory to memory, the DAR is loaded with the starting address of  
the data block to be written. If the transfer is from memory to a peripheral device, DAR is  
loaded with the address of the peripheral data register. This address can be any aligned byte  
address. DAR is not used in single-address mode.  
SAR and DAR change after each cycle depending on DCR[SSIZE,DSIZE,SINC,DINC]  
and on the starting address. Increment values can be 1, 2, 4, or 16 for byte, word, longword,  
or line transfers, respectively. If the address register is programmed to remain unchanged  
(no count), the register is not incremented after the data transfer.  
BCRn[BCR] must be loaded with the number of byte transfers to occur. It is decremented  
by 1, 2, 4, or 16 at the end of each transfer, depending on the transfer size. DSR must be  
cleared for channel startup.  
As soon as the channel has been initialized, it is started by writing a one to DCR[START]  
or asserting DREQ, depending on the status of DCR[EEXT]. Programming the channel for  
internal request causes the channel to request the bus and start transferring data  
immediately. If the channel is programmed for external request, DREQ must be asserted  
before the channel requests the bus.  
Changes to DCR are effective immediately while the channel is active. To avoid problems  
with changing a DMA channel setup, write a one to DSR[DONE] to stop the DMA channel.  
12.5.4 Data Transfer  
This section includes timing diagrams that illustrate the interaction of signals in DMA data  
transfers. It also describes auto-alignment and bandwidth control.  
12.5.4.1 External Request and Acknowledge Operation  
Channels 0 and 1 initiate transfers to an external module by means of DREQ[1:0]. The  
request for channels 2 and 3 are connected internally to the UART0 and UART1 interrupt  
signals, respectively. If DCR[EEXT] = 1 and the channel is idle, the DMA initiates a  
transfer when DREQ is asserted.  
Figure 12-11 shows the minimum 4-clock cycle delay from when DREQ is sampled  
asserted to when a DMA bus cycle begins. This delay may be longer, depending on DMA  
priority, bus arbitration, DRAM refresh operations, and other factors.  
12-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA Controller Module Functional Description  
0
1
2
3
4
5
6
7
8
9
10  
11  
CLKIN  
DREQ0  
TM0  
TT1  
TT0  
TS  
CS  
TA  
R/W  
A[31:0]  
Read  
Write  
Figure 12-11. DREQ Timing Constraints, Dual-Address DMA Transfer  
Although Figure 12-11 does not show TM0 signaling a DMA acknowledgement, this signal  
can provide an external request acknowledge response, as shown in subsequent diagrams.  
To initiate a request, DREQ need only be asserted long enough to be sampled on one rising  
clock edge. However, note the following regarding the negation of DREQ:  
In cycle-steal mode (DCR[CS] = 1), the read/write transaction is limited to a single  
transfer. DREQ must be negated appropriately to avoid generating another request.  
— For dual-address transfers, DREQ must be negated before TS is asserted for the  
write portion, as shown in Figure 12-11, clock cycle 7.  
— For single-address transfers, DREQ must be negated before TS is asserted for the  
transfer, as shown in Figure 12-13, clock cycle 4.  
In burst mode, (DCR[CS] = 0), multiple read/write transfers can occur on the bus as  
programmed. DREQ need not be negated until DSR[DONE] is set, indicating the  
block transfer is complete. Another transfer cannot be initiated until the DMA  
registers are reprogrammed.  
Figure 12-12 shows a dual-address, peripheral-to-SDRAM DMA transfer. The DMA is not  
parked on the bus, so the diagram shows how the CPU can generate multiple bus cycles  
during DMA transfers. It also shows TM0 timing. The TT signals indicate whether the CPU  
(0) or DMA (1) has bus mastership. TM2 indicates dual-address mode.  
If DCR[AT] is 1, TM is asserted during the nal transfer. If DCR[AT] is 0, TM asserts  
during all DMA accesses.  
Chapter 12. DMA Controller Module  
12-15  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
A Controller Module Functional Description  
CLKIN  
TS  
AS  
TIP  
A[31:0]  
R/W  
SIZ[1:0]  
D[31:0]  
CSx  
TA  
DRAMW  
SRAS  
SCAS  
RAS[1:0]  
CAS[3:0]  
Precharge  
TT[1:0]  
TM2  
0
1
0
1
0
TM0  
DREQ0  
CPU  
DMA Read  
CPU  
DMA Write  
CPU  
Figure 12-12. Dual-Address, Peripheral-to-SDRAM, Lower-Priority DMA Transfer  
Figure 12-13 shows a single-address DMA transfer in which the peripheral is reading from  
memory. Note that TM2 is high, indicating a single-address transfer. Note that DREQ is  
negated in clock 4, before the assertion of TS in clock 6.  
12-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
DMA Controller Module Functional Description  
0
1
2
3
4
5
6
7
8
9
10  
11  
CLKIN  
DREQ0  
TM0  
TS  
A[31:0], SIZ[1:0]  
TIP  
R/W  
TM2  
TT0  
TT1  
CSx, AS  
OE, BE/BWE  
TA  
D[31:0]  
Figure 12-13. Single-Address DMA Transfer  
12.5.4.2 Auto-Alignment  
Auto-alignment allows block transfers to occur at the optimal size based on the address,  
byte count, and programmed size. To use this feature, DCR[AA] must be set. The source is  
auto-aligned if SSIZE indicates a transfer size larger than DSIZE. Source alignment takes  
precedence over the destination when the source and destination sizes are equal. Otherwise,  
the destination is auto-aligned. The address register chosen for alignment increments  
regardless of the increment value. Conguration error checking is performed on registers  
not chosen for alignment.  
If BCR is greater than 16, the address determines transfer size. Bytes, words, or longwords  
are transferred until the address is aligned to the programmed size boundary, at which time  
accesses begin using the programmed size.  
If BCR is less than 16 at the start of a transfer, the number of bytes remaining dictates  
transfer size. For example, AA = 1, SAR = 0x0001, BCR = 0x00F0, SSIZE = 00  
(longword), and DSIZE = 01 (byte). Because SSIZE > DSIZE, the source is auto-aligned.  
Error checking is performed on destination registers. The access sequence is as follows:  
1. Read byte from 0x0001—write 1 byte, increment SAR.  
2. Read word from 0x0002—write 2 bytes, increment SAR.  
3. Read longword from 0x0004—write 4 bytes, increment SAR.  
Chapter 12. DMA Controller Module  
12-17  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
A Controller Module Functional Description  
4. Repeat longwords until SAR = 0x00F0.  
5. Read byte from 0x00F0—write byte, increment SAR.  
If DSIZE is another size, data writes are optimized to write the largest size allowed based  
on the address, but not exceeding the congured size.  
12.5.4.3 Bandwidth Control  
Bandwidth control makes it possible to force the DMA off the bus to allow access to  
another device. DCR[BWC] provides seven levels of block transfer sizes. If the BCR  
decrements to a multiple of the decode of the BWC, the DMA bus request negates until the  
bus cycle terminates. If a request is pending, the arbiter may then pass bus mastership to  
another device. If auto-alignment is enabled, DCR[AA] = 1, the BCR may skip over the  
programmed boundary, in which case, the DMA bus request is not negated.  
If BWC = 000, the request signal remains asserted until BCR reaches zero. DMA has  
priority over the core. Note that in this scheme, the arbiter can always force the DMA to  
relinquish the bus. See Section 6.2.10.1, “Default Bus Master Park Register (MPARK).”  
12.5.5 Termination  
An unsuccessful transfer can terminate for one of the following reasons:  
Error conditions—When the MCF5307 encounters a read or write cycle that  
terminates with an error condition, DSR[BES] is set for a read and DSR[BED] is set  
for a write before the transfer is halted. If the error occurred in a write cycle, data in  
the internal holding register is lost.  
Interrupts—If DCR[INT] is set, the DMA drives the appropriate internal interrupt  
signal. The processor can read DSR to determine whether the transfer terminated  
successfully or with an error. DSR[DONE] is then written with a one to clear the  
interrupt and the DONE and error bits.  
12-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 13  
Timer Module  
This chapter describes the conguration and operation of the two general-purpose timer  
modules (timer 0 and timer 1). It includes programming examples.  
13.1 Overview  
The timer module incorporates two independent, general-purpose 16-bit timers, timer 0 and  
timer 1. The output of an 8-bit prescaler clocks each timer. There are two sets of registers,  
one for each timer. The timers can operate from the system bus clock (BCLKO) or from an  
external clocking source using one of the TIN signals. If BCLKO is selected, it can be  
divided by 16 or 1.  
Figure 13-1 is a block diagram of one of the two identical ti5mer modules.  
GENERAL-PURPOSE TIMER  
System Bus  
Clock  
(÷1 or ÷16)  
Timer Mode Register (TMRn)  
Timer  
Clock  
Generator  
Prescaler  
Mode Bits  
TIN  
Divider  
clock  
15  
0
Capture  
Timer Counter (TCNn)  
(contains incrementing value)  
Detection  
15  
0
15  
0
Timer Capture Register (TCRn)  
(latches TCN value when triggered by TIN)  
Timer Reference Register (TRRn)  
(reference value for comparison with TCN)  
TOUT  
Timer Event Register (TERn)  
(indicates capture or when TCN = TRRn)  
IRQn  
Figure 13-1. Timer Block Diagram  
Chapter 13. Timer Module  
13-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
eral-Purpose Timer Units  
13.1.1 Key Features  
Each general-purpose 16-bit timer unit has the following features:  
Maximum period of 5.96 seconds at 45 MHz  
27-nS resolution at 45 MHz  
Programmable sources for the clock input, including external clock  
Input-capture capability with programmable trigger edge on input pin  
Output-compare with programmable mode for the output pin  
Free run and restart modes  
Maskable interrupts on input capture or reference-compare  
13.2 General-Purpose Timer Units  
The general-purpose timer units provide the following features:  
Each timer can be programmed to count and compare to a reference value stored in  
a register or capture the timer value at an edge detected on TIN.  
System bus clock can be divided by 16 or 1. This clock is input to the prescaler.  
TIN is fed directly into the 8-bit prescaler. The maximum value of TIN is 1/5 of  
CLKIN, as described in Chapter 20, “Electrical Specications.”  
The 8-bit prescaler clock divides the clocking source and is user-programmable  
from 1 to 256.  
Programmed events generate interrupts.  
The timer output signal (TOUT) can be congured to toggle or pulse on an event.  
13.3 General-Purpose Timer Programming Model  
The following features are programmable through the timer registers, shown in Table 13-1:  
Prescaler—The prescaler clock input is selected from BCLKO (divided by 1 or 16)  
or from the corresponding timer input, TIN. TIN is synchronized to BCLKO. The  
synchronization delay is between two and three BCLKO clocks. The corresponding  
TMRn[ICLK] selects the clock input source. A programmable prescaler divides the  
clock input by values from 1 to 256. The prescaler is an input to the 16-bit counter.  
Capture mode—Each timer has a 16-bit timer capture register (TCR0 and TCR1)  
that latches the counter value when the corresponding input capture edge detector  
senses a dened TIN transition. The capture edge bits (TMRn[CE]) select the type  
of transition that triggers the capture, sets the timer event register capture event bit,  
TERn[CAP], and issues a maskable interrupt.  
13-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General-Purpose Timer Programming Model  
Reference compare—A timer can be congured to count up to a reference value, at  
which point TERn[REF] is set. If TMRn[ORI] is one, an interrupt is issued. If the  
free run/restart bit TMRn[FRR] is set, a new count starts. If it is clear, the timer  
keeps running.  
Output mode—When a timer reaches the reference value selected by TMRn[OM],  
it can send an output signal on TOUTn. TOUTn can be an active-low pulse or a  
toggle of the current output under program control.  
NOTE:  
Although external devices cannot access MCF5307 on-chip  
memories or MBAR, they can access timer module registers.  
The timer module registers, shown in Table 13-1, can be modied at any time.  
Table 13-1. General-Purpose Timer Module Memory Map  
MBAR  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
Offset  
0x140  
0x144  
0x148  
0x14C  
Timer 0 mode register (TMR0) [p. 13-3]  
Timer 0 reference register (TRR0) [p. 13-4]  
Timer 0 capture register (TCR0) [p. 13-4]  
Timer 0 counter (TCN0) [p. 13-5]  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Timer 0 event register  
(TER0) [p. 13-5]  
0x150  
0x180  
0x184  
0x188  
0x18C  
Timer 1 mode register (TMR1) [p. 13-3]  
Timer 1 reference register (TRR1) [p. 13-4]  
Timer 1 capture register (TCR1) [p. 13-4]  
Timer 1 counter (TCN1) [p. 13-5]  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Timer 1 event register  
(TER1) [p. 13-5]  
0x190  
13.3.1 Timer Mode Registers (TMR0/TMR1)  
Timer mode registers (TMR0/TMR1), Figure 13-2, program the prescaler and various  
timer modes.  
15  
8
7
6
5
4
3
2
1
0
Field  
Reset  
PS  
CE  
OM ORI FRR  
CLK  
RST  
0000_0000_0000_0000  
R/W  
R/W  
Address  
MBAR + 0x140 (TMR0); + 0x180 (TMR1)  
Figure 13-2. Timer Mode Registers (TMR0/TMR1)  
Table 13-2 describes TMRn elds.  
Chapter 13. Timer Module  
13-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
eral-Purpose Timer Programming Model  
Table 13-2. TMRn Field Descriptions  
Bits Name  
Description  
158  
PS  
Prescaler value.The prescaler is programmed to divide the clock input (BCLKO/(16 or 1) or clock on  
TIN) by values from 1 (PS = 0000_0000) to 256 (PS = 1111_1111).  
76  
CE  
Capture edge and enable interrupt  
00 Disable interrupt on capture event  
01 Capture on rising edge only and enable interrupt on capture event  
10 Capture on falling edge only and enable interrupt on capture event  
11 Capture on any edge and enable interrupt on capture event  
5
4
OM  
Output mode  
0 Active-low pulse for one BCLKO cycle (22 nS at 45 MHz, 33 nS at 30 MHz, 44 nS at 22.5 MHz).  
1 Toggle output.  
ORI  
Output reference interrupt enable. If ORI is set when TERn[REF] = 1, an interrupt occurs.  
0 Disable interrupt for reference reached (does not affect interrupt on capture function).  
1 Enable interrupt upon reaching the reference value.  
3
FRR Free run/restart  
0 Free run. Timer count continues to increment after reaching the reference value.  
1 Restart. Timer count is reset immediately after reaching the reference value.  
21  
CLK Input clock source for the timer  
00 Stop count  
01 System bus clock divided by 1  
10 System bus clock divided by 16. Note that this clock source is not synchronized to the timer; thus  
successive time-outs may vary slightly.  
11 TIN pin (falling edge)  
0
RST Reset timer. Performs a software timer reset similar to an external reset, although other register  
values can still be written while RST = 0. A transition of RST from 1 to 0 resets register values. The  
timer counter is not clocked unless the timer is enabled.  
0 Reset timer (software reset)  
1 Enable timer  
13.3.2 Timer Reference Registers (TRR0/TRR1)  
Each timer reference register (TRR0/TRR1), Figure 13-3, contains the reference value  
compared with the respective free-running timer counter (TCN0/TCN1) as part of the  
output-compare function. The reference value is not matched until TCNn equals TRRn.  
=
15  
0
Field  
Reset  
REF  
1111_1111_1111_1111  
R/W  
R/W  
Address  
MBAR + 0x144 (TRR0),+ 0x184 (TRR1)  
Figure 13-3. Timer Reference Registers (TRR0/TRR1)  
13.3.3 Timer Capture Registers (TCR0/TCR1)  
Each timer capture register (TCR0/TCR1), Figure 13-4, latches the corresponding TCNn  
value during a capture operation when an edge occurs on TIN, as programmed in TMRn.  
13-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
General-Purpose Timer Programming Model  
BCLKO is assumed to be the clock source. TIN cannot simultaneously function as a  
clocking source and as an input capture pin.  
15  
0
Field  
Reset  
CAP (16-bit capture counter value)  
0000_0000_0000_0000  
R/W  
Read only  
Address  
MBAR + 0x148 (TCR0); + 0x188 (TCR1)  
Figure 13-4. Timer Capture Register (TCR0/TCR1)  
13.3.4 Timer Counters (TCN0/TCN1)  
The current value of the 16-bit, incrementing timer counters (TCN0/TCN1), Figure 13-5,  
can be read anytime without affecting counting. Writing to TCNn clears it. The timer  
counter decrements on the clock source rising edge (BCLKO ÷ 1, BCLKO ÷ 16, or TIN).  
15  
0
Field  
Reset  
16-bit timer counter value count  
0000_0000_0000_0000  
R/W  
R/W (to reset)  
Address  
MBAR + 0x14C (TCN0); + 0x18C (TCN1)  
Figure 13-5. Timer Counters (TCN0/TCN1)  
13.3.5 Timer Event Registers (TER0/TER1)  
Each timer event register (TER0/TER1), Figure 13-6, reports capture or reference events  
events the timer recognizes by setting TERn[CAP] or TERn[REF], which it does regardless  
of the corresponding interrupt-enable bit values, TMRn[ORI,CE].  
Writing a 1 to either REF or CAP clears it (writing a 0 does not affect bit value); both bits  
can be cleared at the same time. REF and CAP must be cleared early in the exception  
handler, before the timer negates the IRQn to the interrupt controller.  
7
2
1
0
Field  
Reset  
REF  
CAP  
0000_0000  
R/W  
R/W (ones clear/zeros have no effect)  
MBAR + 0x151 (TER0); + 0x191 (TER1)  
Address  
Figure 13-6. Timer Event Registers (TER0/TER1)  
Chapter 13. Timer Module  
13-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
e Example  
Table 13-3 describes TERn elds.  
Table 13-3. TERn Field Descriptions  
Bits Name  
Description  
72  
Reserved  
1
REF  
Output reference event. The counter has reached the TRRn value. Setting TMRn[ORI] enables the  
interrupt request caused by this event. Writing a one to REF clears the event condition.  
0
CAP  
Capture event. The counter value has been latched into TCRn. Setting TMRn[CE] enables the  
interrupt request caused by this event. Writing a 1 to CAP clears the event condition.  
13.4 Code Example  
The following code provides an example of how to initialize timer 0 and how to use the  
timer for counting time-out periods.  
MBARx EQU 0x10000 ;Defines the module base address at 0x10000  
TMR0 EQU MBARx+0x140;Timer 0 register  
TMR1 EQU MBARx+0x180 ;Timer 1 register  
TRR0 EQU MBARx+0x144 ;Timer 0 reference register  
TRR1 EQU MBARx+0x184 ;Timer 1 reference register  
TCR0 EQU MBARx+0x148 ;Timer 0 capture register  
TCR1 EQU MBARx+0x188 ;Timer 1 capture register  
TCN0 EQU MBARx+0x14C ;Timer 0 counter  
TCN1 EQU MBARx+0x18C ;Timer 1 counter  
TER0 EQU MBARx+0x151 ;Timer 0 event register  
TER1 EQU MBARx+0x191 ;Timer 1 event register  
* TMR0 is defined as: *  
*[PS]= 0xFF, divide clock by 256  
*[CE] = 00disable interrupt  
*[OM] = 0 output=active-low pulse  
*[ORI] = 0, disable ref.interrupt  
*[FRR] = 1, restart mode enabled  
*[CLK] = 10, BCLKO/16  
*[RST] = 0, timer 0 disabled  
move.w #0xFF0C,D0  
move.w D0,TMR0  
move.w #0x0000,D0;writing to the timer counter with any  
move.w DO,TCN0 ;value resets it to zero  
move.w #AFAF,DO ;set the timer 0 reference to be  
move.w #D0,TRR0 ;defined as 0xAFAF  
The simple example below uses 0 to count time-out loops. A time-out occurs when the  
reference value, 0xAFAF, is reached.  
timer0_ex  
clr.l DO  
clr.l D1  
clt.l D2  
move.w #0x0000,D0  
move,w D0,TCN0;reset the counter to 0x0000  
move.b #0x03,D0 ;writing ones to TER0[REF,CAP]  
move.b D0,TER0 ;clears the event flags  
13-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Calculating Time-Out Values  
move.w TMR0,D0;save the contents of TMR0 while setting  
bset #0,D0 ;the 0 bit. This enables timer 0 and starts counting  
move.w D0, TMR0 ;load the value back into the register, setting TMR0[RST]  
T0_LOOP  
move.b TER0,D1 ;load TER0 and see if  
btst #1,D1 ;TER0[REF] has been set  
beq T0_LOOP  
addi.l #1,D2;Increment D2  
cmp.l #5,D2;Did D2 reach 5? (i.e. timer ref has timed)  
beq T0_FINISH;If so, end timer0 example. Otherwise jump back.  
move.b #0x02,D0 ;writing one to TER0[REF] clears the event flag  
move.b D0,TER0  
jmp T0_LOOP  
T0_FINISH  
HALT;End processing. Example is finished  
13.5 Calculating Time-Out Values  
The formula below determines time-out periods for various reference values:  
Time-out period = (1/clock frequency) x (1 or 16) x (TMRn[PS] + 1) x  
(TRRn[REF])  
When calculating time-out periods, add 1 to the prescaler to simplify calculating, because  
TMRn[PS] = 0x00 yields a prescaler of 1 and TMRn[PS] = 0xFF yields a prescaler of 256.  
For example, if a 45-MHz timer clock is divided by 16, TMRn[PS] = 0x7F, and the timer  
is referenced at 0xABCD (43,981 decimal), the time-out period is as follows:  
Time-out period = (1/45) x (16) x (127 + 1) x (43,981) = 1.67 S  
The time-out values in Table 13-5 represent the time it takes the counter value in TCNn  
value to go from 0x0000 to the default reference value, TRRn[REF] = 0xFFFF. Time-out  
values shown for BCLKO are divided by 1 and by 16 (TMRn[CLK] is 01 or 10,  
respectively).  
Any clock source (BCLKO ÷ 1, BCLKO ÷ 16, or TIN) can be prescaled using TMRn[PS].  
The BCLKO frequency depends on the prescaler value (TMRn[PS]) and on the PLL clock  
setting, as described inChapter 7, “Phase-Locked Loop (PLL).”  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
0
1
2
3
4
5
0
1
2
3
4
5
0.0233  
0.0466  
0.03495  
0.06991  
0.10486  
0.13981  
0.17476  
0.20972  
0.0466  
0.09321  
0.13981  
0.18641  
0.23302  
0.27962  
0.00146  
0.00291  
0.00437  
0.00583  
0.00728  
0.00874  
0.00218  
0.00437  
0.00655  
0.00874  
0.01092  
0.01311  
0.00291  
0.00583  
0.00874  
0.01165  
0.01456  
0.01748  
0.06991  
0.09321  
0.11651  
0.13981  
Chapter 13. Timer Module  
13-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
ulating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
6
6
0.16311  
0.18641  
0.20972  
0.23302  
0.25632  
0.27962  
0.30292  
0.32622  
0.34953  
0.37283  
0.39613  
0.41943  
0.44273  
0.46603  
0.48934  
0.51264  
0.53594  
0.55924  
0.58254  
0.60584  
0.62915  
0.65245  
0.67575  
0.69905  
0.72235  
0.74565  
0.76896  
0.79226  
0.81556  
0.83886  
0.86216  
0.88546  
0.90877  
0.93207  
0.95537  
0.97867  
1.00197  
1.02527  
1.04858  
1.07188  
0.24467  
0.27962  
0.31457  
0.34953  
0.38448  
0.41943  
0.45438  
0.48934  
0.52429  
0.55924  
0.59419  
0.62915  
0.6641  
0.32622  
0.37283  
0.41943  
0.46603  
0.51264  
0.55924  
0.60584  
0.65245  
0.69905  
0.74565  
0.79226  
0.83886  
0.88546  
0.93207  
0.97867  
1.02527  
1.07188  
1.11848  
1.16508  
1.21169  
1.25829  
1.30489  
1.3515  
0.01019  
0.01165  
0.01311  
0.01456  
0.01602  
0.01748  
0.01893  
0.02039  
0.02185  
0.0233  
0.01529  
0.01748  
0.01966  
0.02185  
0.02403  
0.02621  
0.0284  
0.02039  
0.0233  
7
7
8
8
0.02621  
0.02913  
0.03204  
0.03495  
0.03787  
0.04078  
0.04369  
0.0466  
9
9
10  
11  
12  
13  
14  
15  
16  
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  
0A  
0B  
0C  
0D  
0E  
0F  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
1A  
1B  
1C  
1D  
1E  
1F  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
2A  
2B  
2C  
2D  
0.03058  
0.03277  
0.03495  
0.03714  
0.03932  
0.04151  
0.04369  
0.04588  
0.04806  
0.05024  
0.05243  
0.05461  
0.0568  
0.02476  
0.02621  
0.02767  
0.02913  
0.03058  
0.03204  
0.0335  
0.04952  
0.05243  
0.05534  
0.05825  
0.06117  
0.06408  
0.06699  
0.06991  
0.07282  
0.07573  
0.07864  
0.08156  
0.08447  
0.08738  
0.09029  
0.09321  
0.09612  
0.09903  
0.10194  
0.10486  
0.10777  
0.11068  
0.1136  
0.69905  
0.734  
0.76896  
0.80391  
0.83886  
0.87381  
0.90877  
0.94372  
0.97867  
1.01362  
1.04858  
1.08353  
1.11848  
1.15343  
1.18839  
1.22334  
1.25829  
1.29324  
1.3282  
0.03495  
0.03641  
0.03787  
0.03932  
0.04078  
0.04223  
0.04369  
0.04515  
0.0466  
0.05898  
0.06117  
0.06335  
0.06554  
0.06772  
0.06991  
0.07209  
0.07427  
0.07646  
0.07864  
0.08083  
0.08301  
0.0852  
1.3981  
1.4447  
1.49131  
1.53791  
1.58451  
1.63112  
1.67772  
1.72432  
1.77093  
1.81753  
1.86414  
1.91074  
1.95734  
2.00395  
2.05055  
2.09715  
2.14376  
0.04806  
0.04952  
0.05097  
0.05243  
0.05389  
0.05534  
0.0568  
1.36315  
1.3981  
0.05825  
0.05971  
0.06117  
0.06262  
0.06408  
0.06554  
0.06699  
0.08738  
0.08957  
0.09175  
0.09393  
0.09612  
0.0983  
0.11651  
0.11942  
0.12233  
0.12525  
0.12816  
0.13107  
0.13398  
1.43305  
1.46801  
1.50296  
1.53791  
1.57286  
1.60782  
0.10049  
13-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Calculating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
46  
47  
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  
79  
80  
81  
82  
83  
84  
85  
2E  
2F  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
3A  
3B  
3C  
3D  
3E  
3F  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
4A  
4B  
4C  
4D  
4E  
4F  
50  
51  
52  
53  
54  
55  
1.09518  
1.11848  
1.14178  
1.16508  
1.18839  
1.21169  
1.23499  
1.25829  
1.28159  
1.30489  
1.3282  
1.64277  
1.67772  
1.71267  
1.74763  
1.78258  
1.81753  
1.85248  
1.88744  
1.92239  
1.95734  
1.99229  
2.02725  
2.0622  
2.19036  
2.23696  
2.28357  
2.33017  
2.37677  
2.42338  
2.46998  
2.51658  
2.56319  
2.60979  
2.65639  
2.703  
0.06845  
0.06991  
0.07136  
0.07282  
0.07427  
0.07573  
0.07719  
0.07864  
0.0801  
0.10267  
0.10486  
0.10704  
0.10923  
0.11141  
0.1136  
0.1369  
0.13981  
0.14272  
0.14564  
0.14855  
0.15146  
0.15437  
0.15729  
0.1602  
0.11578  
0.11796  
0.12015  
0.12233  
0.12452  
0.1267  
0.08156  
0.08301  
0.08447  
0.08592  
0.08738  
0.08884  
0.09029  
0.09175  
0.09321  
0.09466  
0.09612  
0.09758  
0.09903  
0.10049  
0.10194  
0.1034  
0.16311  
0.16602  
0.16894  
0.17185  
0.17476  
0.17768  
0.18059  
0.1835  
1.3515  
1.3748  
2.7496  
0.12889  
0.13107  
0.13326  
0.13544  
0.13763  
0.13981  
0.14199  
0.14418  
0.14636  
0.14855  
0.15073  
0.15292  
0.1551  
1.3981  
2.09715  
2.1321  
2.7962  
1.4214  
2.84281  
2.88941  
2.93601  
2.98262  
3.02922  
3.07582  
3.12243  
3.16903  
3.21563  
3.26224  
3.30884  
3.35544  
3.40205  
3.44865  
3.49525  
3.54186  
3.58846  
3.63506  
3.68167  
3.72827  
3.77487  
3.82148  
3.86808  
3.91468  
3.96129  
4.00789  
1.4447  
2.16706  
2.20201  
2.23696  
2.27191  
2.30687  
2.34182  
2.37677  
2.41172  
2.44668  
2.48163  
2.51658  
2.55153  
2.58649  
2.62144  
2.65639  
2.69135  
2.7263  
1.46801  
1.49131  
1.51461  
1.53791  
1.56121  
1.58451  
1.60782  
1.63112  
1.65442  
1.67772  
1.70102  
1.72432  
1.74763  
1.77093  
1.79423  
1.81753  
1.84083  
1.86414  
1.88744  
1.91074  
1.93404  
1.95734  
1.98064  
2.00395  
0.18641  
0.18933  
0.19224  
0.19515  
0.19806  
0.20098  
0.20389  
0.2068  
0.10486  
0.10631  
0.10777  
0.10923  
0.11068  
0.11214  
0.1136  
0.15729  
0.15947  
0.16166  
0.16384  
0.16602  
0.16821  
0.17039  
0.17258  
0.17476  
0.17695  
0.17913  
0.18132  
0.1835  
0.20972  
0.21263  
0.21554  
0.21845  
0.22137  
0.22428  
0.22719  
0.2301  
2.76125  
2.7962  
0.11505  
0.11651  
0.11796  
0.11942  
0.12088  
0.12233  
0.12379  
0.12525  
0.23302  
0.23593  
0.23884  
0.24176  
0.24467  
0.24758  
0.25049  
2.83116  
2.86611  
2.90106  
2.93601  
2.97097  
3.00592  
0.18569  
0.18787  
Chapter 13. Timer Module  
13-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ulating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
86  
87  
56  
57  
58  
59  
5A  
5B  
5C  
5D  
5E  
5F  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
6A  
6B  
6C  
6D  
6E  
6F  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
7A  
7B  
7C  
7D  
2.02725  
2.05055  
2.07385  
2.09715  
2.12045  
2.14376  
2.16706  
2.19036  
2.21366  
2.23696  
2.26026  
2.28357  
2.30687  
2.33017  
2.35347  
2.37677  
2.40007  
2.42338  
2.44668  
2.46998  
2.49328  
2.51658  
2.53988  
2.56319  
2.58649  
2.60979  
2.63309  
2.65639  
2.67969  
2.703  
3.04087  
3.07582  
3.11078  
3.14573  
3.18068  
3.21563  
3.25059  
3.28554  
3.32049  
3.35544  
3.3904  
4.05449  
4.1011  
0.1267  
0.12816  
0.12962  
0.13107  
0.13253  
0.13398  
0.13544  
0.1369  
0.19005  
0.19224  
0.19442  
0.19661  
0.19879  
0.20098  
0.20316  
0.20535  
0.20753  
0.20972  
0.2119  
0.25341  
0.25632  
0.25923  
0.26214  
0.26506  
0.26797  
0.27088  
0.27379  
0.27671  
0.27962  
0.28253  
0.28545  
0.28836  
0.29127  
0.29418  
0.2971  
88  
4.1477  
89  
4.1943  
90  
4.24091  
4.28751  
4.33411  
4.38072  
4.42732  
4.47392  
4.52053  
4.56713  
4.61373  
4.66034  
4.70694  
4.75354  
4.80015  
4.84675  
4.89335  
4.93996  
4.98656  
5.03316  
5.07977  
5.12637  
5.17297  
5.21958  
5.26618  
5.31279  
5.35939  
5.40599  
5.4526  
91  
92  
93  
94  
0.13835  
0.13981  
0.14127  
0.14272  
0.14418  
0.14564  
0.14709  
0.14855  
0.15  
95  
96  
97  
3.42535  
3.4603  
0.21408  
0.21627  
0.21845  
0.22064  
0.22282  
0.22501  
0.22719  
0.22938  
0.23156  
0.23375  
0.23593  
0.23811  
0.2403  
98  
99  
3.49525  
3.53021  
3.56516  
3.60011  
3.63506  
3.67002  
3.70497  
3.73992  
3.77487  
3.80983  
3.84478  
3.87973  
3.91468  
3.94964  
3.98459  
4.01954  
4.05449  
4.08945  
4.1244  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
118  
119  
120  
121  
122  
123  
124  
125  
0.30001  
0.30292  
0.30583  
0.30875  
0.31166  
0.31457  
0.31749  
0.3204  
0.15146  
0.15292  
0.15437  
0.15583  
0.15729  
0.15874  
0.1602  
0.16166  
0.16311  
0.16457  
0.16602  
0.16748  
0.16894  
0.17039  
0.17185  
0.17331  
0.17476  
0.17622  
0.17768  
0.17913  
0.18059  
0.18204  
0.1835  
0.24248  
0.24467  
0.24685  
0.24904  
0.25122  
0.25341  
0.25559  
0.25777  
0.25996  
0.26214  
0.26433  
0.26651  
0.2687  
0.32331  
0.32622  
0.32914  
0.33205  
0.33496  
0.33787  
0.34079  
0.3437  
2.7263  
2.7496  
5.4992  
2.7729  
4.15935  
4.1943  
5.5458  
0.34661  
0.34953  
0.35244  
0.35535  
0.35826  
0.36118  
0.36409  
0.367  
2.7962  
5.59241  
5.63901  
5.68561  
5.73222  
5.77882  
5.82542  
5.87203  
2.8195  
4.22926  
4.26421  
4.29916  
4.33411  
4.36907  
4.40402  
2.84281  
2.86611  
2.88941  
2.91271  
2.93601  
0.27088  
0.27307  
0.27525  
13-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Calculating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
126  
127  
128  
129  
130  
131  
132  
133  
134  
135  
136  
137  
138  
139  
140  
141  
142  
143  
144  
145  
146  
147  
148  
149  
150  
151  
152  
153  
154  
155  
156  
157  
158  
159  
160  
161  
162  
163  
164  
165  
7E  
7F  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
8A  
8B  
8C  
8D  
8E  
8F  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
9A  
9B  
9C  
9D  
9E  
9F  
A0  
A1  
A2  
A3  
A4  
A5  
2.95931  
2.98262  
3.00592  
3.02922  
3.05252  
3.07582  
3.09912  
3.12243  
3.14573  
3.16903  
3.19233  
3.21563  
3.23893  
3.26224  
3.28554  
3.30884  
3.33214  
3.35544  
3.37874  
3.40205  
3.42535  
3.44865  
3.47195  
3.49525  
3.51856  
3.54186  
3.56516  
3.58846  
3.61176  
3.63506  
3.65837  
3.68167  
3.70497  
3.72827  
3.75157  
3.77487  
3.79818  
3.82148  
3.84478  
3.86808  
4.43897  
4.47392  
4.50888  
4.54383  
4.57878  
4.61373  
4.64869  
4.68364  
4.71859  
4.75354  
4.7885  
5.91863  
5.96523  
6.01184  
6.05844  
6.10504  
6.15165  
6.19825  
6.24485  
6.29146  
6.33806  
6.38466  
6.43127  
6.47787  
6.52447  
6.57108  
6.61768  
6.66428  
6.71089  
6.75749  
6.80409  
6.8507  
0.18496  
0.18641  
0.18787  
0.18933  
0.19078  
0.19224  
0.1937  
0.27744  
0.27962  
0.2818  
0.36991  
0.37283  
0.37574  
0.37865  
0.38157  
0.38448  
0.38739  
0.3903  
0.28399  
0.28617  
0.28836  
0.29054  
0.29273  
0.29491  
0.2971  
0.19515  
0.19661  
0.19806  
0.19952  
0.20098  
0.20243  
0.20389  
0.20535  
0.2068  
0.39322  
0.39613  
0.39904  
0.40195  
0.40487  
0.40778  
0.41069  
0.4136  
0.29928  
0.30147  
0.30365  
0.30583  
0.30802  
0.3102  
4.82345  
4.8584  
4.89335  
4.92831  
4.96326  
4.99821  
5.03316  
5.06812  
5.10307  
5.13802  
5.17297  
5.20793  
5.24288  
5.27783  
5.31279  
5.34774  
5.38269  
5.41764  
5.4526  
0.20826  
0.20972  
0.21117  
0.21263  
0.21408  
0.21554  
0.217  
0.31239  
0.31457  
0.31676  
0.31894  
0.32113  
0.32331  
0.3255  
0.41652  
0.41943  
0.42234  
0.42526  
0.42817  
0.43108  
0.43399  
0.43691  
0.43982  
0.44273  
0.44564  
0.44856  
0.45147  
0.45438  
0.4573  
6.8973  
6.9439  
6.99051  
7.03711  
7.08371  
7.13032  
7.17692  
7.22352  
7.27013  
7.31673  
7.36333  
7.40994  
7.45654  
7.50314  
7.54975  
7.59635  
7.64295  
7.68956  
7.73616  
0.21845  
0.21991  
0.22137  
0.22282  
0.22428  
0.22574  
0.22719  
0.22865  
0.2301  
0.32768  
0.32986  
0.33205  
0.33423  
0.33642  
0.3386  
0.34079  
0.34297  
0.34516  
0.34734  
0.34953  
0.35171  
0.35389  
0.35608  
0.35826  
0.36045  
0.36263  
5.48755  
5.5225  
0.46021  
0.46312  
0.46603  
0.46895  
0.47186  
0.47477  
0.47768  
0.4806  
5.55745  
5.59241  
5.62736  
5.66231  
5.69726  
5.73222  
5.76717  
5.80212  
0.23156  
0.23302  
0.23447  
0.23593  
0.23739  
0.23884  
0.2403  
0.24176  
0.48351  
Chapter 13. Timer Module  
13-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ulating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
166  
167  
168  
169  
170  
171  
172  
173  
174  
175  
176  
177  
178  
179  
180  
181  
182  
183  
184  
185  
186  
187  
188  
189  
190  
191  
192  
193  
194  
195  
196  
197  
198  
199  
200  
201  
202  
203  
204  
205  
A6  
A7  
A8  
A9  
AA  
AB  
AC  
AD  
AE  
AF  
B0  
B1  
B2  
B3  
B4  
B5  
B6  
B7  
B8  
B9  
BA  
BB  
BC  
BD  
BE  
BF  
C0  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
CA  
CB  
CC  
CD  
3.89138  
3.91468  
3.93799  
3.96129  
3.98459  
4.00789  
4.03119  
4.05449  
4.0778  
5.83707  
5.87203  
5.90698  
5.94193  
5.97688  
6.01184  
6.04679  
6.08174  
6.11669  
6.15165  
6.1866  
7.78276  
7.82937  
7.87597  
7.92257  
7.96918  
8.01578  
8.06238  
8.10899  
8.15559  
8.20219  
8.2488  
0.24321  
0.24467  
0.24612  
0.24758  
0.24904  
0.25049  
0.25195  
0.25341  
0.25486  
0.25632  
0.25777  
0.25923  
0.26069  
0.26214  
0.2636  
0.36482  
0.367  
0.48642  
0.48934  
0.49225  
0.49516  
0.49807  
0.50099  
0.5039  
0.36919  
0.37137  
0.37356  
0.37574  
0.37792  
0.38011  
0.38229  
0.38448  
0.38666  
0.38885  
0.39103  
0.39322  
0.3954  
0.50681  
0.50972  
0.51264  
0.51555  
0.51846  
0.52138  
0.52429  
0.5272  
4.1011  
4.1244  
4.1477  
6.22155  
6.2565  
8.2954  
4.171  
8.342  
4.1943  
6.29146  
6.32641  
6.36136  
6.39631  
6.43127  
6.46622  
6.50117  
6.53612  
6.57108  
6.60603  
6.64098  
6.67593  
6.71089  
6.74584  
6.78079  
6.81574  
6.8507  
8.38861  
8.43521  
8.48181  
8.52842  
8.57502  
8.62162  
8.66823  
8.71483  
8.76144  
8.80804  
8.85464  
8.90125  
8.94785  
8.99445  
9.04106  
9.08766  
9.13426  
9.18087  
9.22747  
9.27407  
9.32068  
9.36728  
9.41388  
9.46049  
9.50709  
9.55369  
9.6003  
4.21761  
4.24091  
4.26421  
4.28751  
4.31081  
4.33411  
4.35742  
4.38072  
4.40402  
4.42732  
4.45062  
4.47392  
4.49723  
4.52053  
4.54383  
4.56713  
4.59043  
4.61373  
4.63704  
4.66034  
4.68364  
4.70694  
4.73024  
4.75354  
4.77685  
4.80015  
0.26506  
0.26651  
0.26797  
0.26943  
0.27088  
0.27234  
0.27379  
0.27525  
0.27671  
0.27816  
0.27962  
0.28108  
0.28253  
0.28399  
0.28545  
0.2869  
0.39759  
0.39977  
0.40195  
0.40414  
0.40632  
0.40851  
0.41069  
0.41288  
0.41506  
0.41725  
0.41943  
0.42161  
0.4238  
0.53011  
0.53303  
0.53594  
0.53885  
0.54176  
0.54468  
0.54759  
0.5505  
0.55342  
0.55633  
0.55924  
0.56215  
0.56507  
0.56798  
0.57089  
0.5738  
0.42598  
0.42817  
0.43035  
0.43254  
0.43472  
0.43691  
0.43909  
0.44128  
0.44346  
0.44564  
0.44783  
0.45001  
6.88565  
6.9206  
0.28836  
0.28981  
0.29127  
0.29273  
0.29418  
0.29564  
0.2971  
0.57672  
0.57963  
0.58254  
0.58545  
0.58837  
0.59128  
0.59419  
0.59711  
0.60002  
6.95555  
6.99051  
7.02546  
7.06041  
7.09536  
7.13032  
7.16527  
7.20022  
0.29855  
0.30001  
13-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Calculating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
206  
207  
208  
209  
210  
211  
212  
213  
214  
215  
216  
217  
218  
219  
220  
221  
222  
223  
224  
225  
226  
227  
228  
229  
230  
231  
232  
233  
234  
235  
236  
237  
238  
239  
240  
241  
242  
243  
244  
245  
CE  
CF  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D8  
D9  
DA  
DB  
DC  
DD  
DE  
DF  
E0  
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
E9  
EA  
EB  
EC  
ED  
EE  
EF  
F0  
F1  
F2  
F3  
F4  
F5  
4.82345  
4.84675  
4.87005  
4.89335  
4.91666  
4.93996  
4.96326  
4.98656  
5.00986  
5.03316  
5.05647  
5.07977  
5.10307  
5.12637  
5.14967  
5.17297  
5.19628  
5.21958  
5.24288  
5.26618  
5.28948  
5.31279  
5.33609  
5.35939  
5.38269  
5.40599  
5.42929  
5.4526  
7.23517  
7.27013  
7.30508  
7.34003  
7.37498  
7.40994  
7.44489  
7.47984  
7.51479  
7.54975  
7.5847  
9.6469  
0.30147  
0.30292  
0.30438  
0.30583  
0.30729  
0.30875  
0.3102  
0.4522  
0.45438  
0.45657  
0.45875  
0.46094  
0.46312  
0.46531  
0.46749  
0.46967  
0.47186  
0.47404  
0.47623  
0.47841  
0.4806  
0.60293  
0.60584  
0.60876  
0.61167  
0.61458  
0.61749  
0.62041  
0.62332  
0.62623  
0.62915  
0.63206  
0.63497  
0.63788  
0.6408  
9.6935  
9.74011  
9.78671  
9.83331  
9.87992  
9.92652  
9.97312  
0.31166  
0.31312  
0.31457  
0.31603  
0.31749  
0.31894  
0.3204  
10.01973  
10.06633  
10.11293  
10.15954  
10.20614  
10.25274  
10.29935  
10.34595  
10.39255  
10.43916  
10.48576  
10.53236  
10.57897  
10.62557  
10.67217  
10.71878  
10.76538  
10.81198  
10.85859  
10.90519  
10.95179  
10.9984  
7.61965  
7.6546  
7.68956  
7.72451  
7.75946  
7.79441  
7.82937  
7.86432  
7.89927  
7.93423  
7.96918  
8.00413  
8.03908  
8.07404  
8.10899  
8.14394  
8.17889  
8.21385  
8.2488  
0.32185  
0.32331  
0.32477  
0.32622  
0.32768  
0.32914  
0.33059  
0.33205  
0.33351  
0.33496  
0.33642  
0.33787  
0.33933  
0.34079  
0.34224  
0.3437  
0.48278  
0.48497  
0.48715  
0.48934  
0.49152  
0.4937  
0.64371  
0.64662  
0.64953  
0.65245  
0.65536  
0.65827  
0.66119  
0.6641  
0.49589  
0.49807  
0.50026  
0.50244  
0.50463  
0.50681  
0.509  
0.66701  
0.66992  
0.67284  
0.67575  
0.67866  
0.68157  
0.68449  
0.6874  
0.51118  
0.51337  
0.51555  
0.51773  
0.51992  
0.5221  
5.4759  
5.4992  
5.5225  
8.28375  
8.3187  
11.045  
0.34516  
0.34661  
0.34807  
0.34953  
0.35098  
0.35244  
0.35389  
0.35535  
0.35681  
0.35826  
0.69031  
0.69323  
0.69614  
0.69905  
0.70196  
0.70488  
0.70779  
0.7107  
5.5458  
11.0916  
5.5691  
8.35366  
8.38861  
8.42356  
8.45851  
8.49347  
8.52842  
8.56337  
8.59832  
11.13821  
11.18481  
11.23141  
11.27802  
11.32462  
11.37122  
11.41783  
11.46443  
5.59241  
5.61571  
5.63901  
5.66231  
5.68561  
5.70891  
5.73222  
0.52429  
0.52647  
0.52866  
0.53084  
0.53303  
0.53521  
0.5374  
0.71361  
0.71653  
Chapter 13. Timer Module  
13-13  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ulating Time-Out Values  
Table 13-5. Calculated Time-out Values (90-MHz Processor Clock) (Continued)  
TMR[PS]  
TMR[CLK] = 10 (System Bus Clock/16)  
TMR[CLK] = 01 (System Bus Clock/1)  
Decimal Hex  
45 MHz  
30 MHz  
22.5 MHz  
45 MHz  
30 MHz  
22.5 MHz  
246  
247  
248  
249  
250  
251  
252  
253  
254  
255  
F6  
F7  
F8  
F9  
FA  
FB  
FC  
FD  
FE  
FF  
5.75552  
5.77882  
5.80212  
5.82542  
5.84872  
5.87203  
5.89533  
5.91863  
5.94193  
5.96523  
8.63328  
8.66823  
8.70318  
8.73813  
8.77309  
8.80804  
8.84299  
8.87794  
8.9129  
11.51103  
11.55764  
11.60424  
11.65084  
11.69745  
11.74405  
11.79065  
11.83726  
11.88386  
11.93046  
0.35972  
0.36118  
0.36263  
0.36409  
0.36555  
0.367  
0.53958  
0.54176  
0.54395  
0.54613  
0.54832  
0.5505  
0.71944  
0.72235  
0.72527  
0.72818  
0.73109  
0.734  
0.36846  
0.36991  
0.37137  
0.37283  
0.55269  
0.55487  
0.55706  
0.55924  
0.73692  
0.73983  
0.74274  
0.74565  
8.94785  
13-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 14  
UART Modules  
This chapter describes the use of the universal asynchronous/synchronous  
receiver/transmitters (UARTs) implemented on the MCF5307 and includes programming  
examples. All references to UART refer to one of these modules.  
14.1 Overview  
The MCF5307 contains two independent UARTs. Each UART can be clocked by BCLKO,  
eliminating the need for an external crystal. As Figure 14-1 shows, each UART module  
interfaces directly to the CPU and consists of the following:  
Serial communication channel  
Programmable transmitter and receiver clock generation  
Internal channel control logic  
Interrupt control logic  
UART  
CTS  
RTS  
RxD  
TxD  
Internal Channel  
Control Logic  
Serial  
Communications  
Channel  
System Integration  
Programmable  
BCLKO  
or  
External clock (TIN)  
Module (SIM)  
Interrupt Control  
Logic  
Clock  
Interrupt  
Generation  
Controller  
Figure 14-1. Simplified Block Diagram  
The serial communication channel provides a full-duplex asynchronous/synchronous  
receiver and transmitter deriving an operating frequency from BCLKO or an external clock  
using the timer pin. The transmitter converts parallel data from the CPU to a serial bit  
stream, inserting appropriate start, stop, and parity bits. It outputs the resulting stream on  
the channel transmitter serial data output (TxD). See Section 14.5.2.1, “Transmitting.”  
The receiver converts serial data from the channel receiver serial data input (RxD) to  
parallel format, checks for a start, stop, and parity bits, or break conditions, and transfers  
the assembled character onto the bus during read operations. The receiver may be polled-  
or interrupt-driven. See Section 14.5.2.2, “Receiver.”  
Chapter 14. UART Modules  
14-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
al Module Overview  
14.2 Serial Module Overview  
The MCF5307 contains two independent UART modules, whose features are as follows:  
Each can be clocked by BCLKO, eliminating a need for an external crystal  
Full-duplex asynchronous/synchronous receiver/transmitter channel  
Quadruple-buffered receiver  
Double-buffered transmitter  
Independently programmable receiver and transmitter clock sources  
Programmable data format:  
— 5–8 data bits plus parity  
— Odd, even, no parity, or force parity  
— One, one-and-a-half, or two stop bits  
Each channel programmable to normal (full-duplex), automatic echo, local  
loop-back, or remote loop-back mode  
Automatic wake-up mode for multidrop applications  
Four maskable interrupt conditions  
UART0 and UART1 have interrupt capability to DMA channels 2 and 3,  
respectively, when either the RxRDY or FFULL bit is set in the USR.  
Parity, framing, and overrun error detection  
False-start bit detection  
Line-break detection and generation  
Detection of breaks originating in the middle of a character  
Start/end break interrupt/status  
14.3 Register Descriptions  
This section contains a detailed description of each register and its specic function.  
Flowcharts in Section 14.5.6, “Programming,” describe basic UART module programming.  
The operation of the UART module is controlled by writing control bytes into the  
appropriate registers. Table 14-1 is a memory map for UART module registers.  
14-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Register Descriptions  
Table 14-1. UART Module Programming Model  
MBAR Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
UART0 UART1  
0x1C0  
0x200 UART mode  
1
registers (UMR1n)  
[p. 14-4], (UMR2n) [p.  
14-6]  
0x1C4  
0x204 (Read) UART status  
registers(USRn) [p.  
14-7]  
(Write) UART  
clock-select  
1
register (UCSRn)  
[p. 14-8]  
2
0x1C8  
0x1CC  
0x208 (Read) Do not access  
(Write) UART  
command  
registers(UCRn) [p.  
14-9]  
0x20C (UART/Read) UART  
receiver  
buffers(URBn) [p.  
14-11]  
(UART/Write) UART  
transmitter  
buffers(UTBn) [p.  
14-11]  
0x1D0  
0x210 (Read) UART input  
port change  
registers(UIPCRn)  
[p. 14-12]  
(Write) UART auxiliary  
control  
1
registers (UACRn)  
[p. 14-12]  
0x1D4  
0x214 (Read) UART interrupt  
status  
registers(UISRn) [p.  
14-13]  
(Write) UART interrupt  
mask  
registers(UIMRn) [p.  
14-13]  
0x1D8  
0x1DC  
0x218 UART divider upper  
registers(UDUn) [p.  
14-14]  
0x21C UART divider lower  
registers(UDLn) [p.  
14-14]  
Chapter 14. UART Modules  
14-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ister Descriptions  
Table 14-1. UART Module Programming Model (Continued)  
MBAR Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
UART0 UART1  
2
0x1E00x220Do not access  
0x1EC  
0x22C  
0x1F0  
0x230 UART interrupt vector  
register(UIVRn) [p.  
14-15]  
0x1F4  
0x1F8  
0x234 (Read) UART input  
port registers(UIPn)  
[p. 14-15]  
2
(Write) Do not access  
2
0x238 (Read) Do not access  
(Write) UART output  
port bit set command  
3
registers(UOP1n )  
[p. 14-15]  
2
0x1FC  
0x23C (Read) Do not access  
(Write) UART output  
port bit reset  
command  
registers(UOP0n )  
3
[p. 14-15]  
1
2
3
UMR1n, UMR2n, and UCSRn should be changed only after the receiver/transmitter is issued a software reset  
command. That is, if channel operation is not disabled, undesirable results may occur.  
This address is for factory testing. Reading this location results in undesired effects and possible incorrect  
transmission or reception of characters. Register contents may also be changed.  
Address-triggered commands  
NOTE:  
UART registers are accessible only as bytes. Although external  
masters cannot access on-chip memories or MBAR, they can  
access any UART registers.  
14.3.1 UART Mode Registers 1 (UMR1n)  
The UART mode registers 1 (UMR1n) control conguration. UMR1n can be read or  
written when the mode register pointer points to it, at RESET or after a RESET MODE  
REGISTER POINTER command using UCRn[MISC]. After UMR1n is read or written, the  
pointer points to UMR2n.  
14-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Register Descriptions  
7
6
5
4
3
2
1
0
Field  
Reset  
R/W  
RxRTS  
RxIRQ/FFULL  
ERR  
PM  
PT  
B/C  
0000_0000  
R/W  
Address MBAR + 0x1C0 (UART0), 0x200 (UART1). After UMR1n is read or written, the pointer points to UMR2n.  
Figure 14-2. UART Mode Registers 1 (UMR1n)  
Table 14-2 describes UMR1n elds.  
Table 14-2. UMR1n Field Descriptions  
Bits Name  
Description  
7
RxRTS Receiver request-to-send. Allows the RTS output to control the CTS input of the transmitting device  
to prevent receiver overrun. If both the receiver and transmitter are incorrectly programmed for RTS  
control, RTS control is disabled for both. Transmitter RTS control is congured in UMR2n[TxRTS].  
0 The receiver has no effect on RTS.  
1 When a valid start bit is received, RTS is negated if the UART's FIFO is full. RTS is reasserted  
when the FIFO has an empty position available.  
6
5
RxIRQ/ Receiver interrupt select.  
FFULL 0 RxRDY is the source that generates IRQ.  
1 FFULL is the source that generates IRQ.  
ERR  
Error mode. Congures the FIFO status bits, USRn[RB,FE,PE].  
0 Character mode. The USRn values reect the status of the character at the top of the FIFO. ERR  
must be 0 for correct A/D ag information when in multidrop mode.  
1 Block mode.The USRn values are the logical OR of the status for all characters reaching the top of  
the FIFO because the last RESET ERROR STATUS command for the channel was issued. See  
Section 14.3.5, UART Command Registers (UCRn).”  
43 PM  
Parity mode. Selects the parity or multidrop mode for the channel. The parity bit is added to the  
transmitted character, and the receiver performs a parity check on incoming data. The value of PM  
affects PT, as shown below.  
2
PT  
Parity type. PM and PT together select parity type (PM = 0x) or determine whether a data or address  
character is transmitted (PM = 11).  
PM  
Parity Mode  
With parity  
Parity Type (PT= 0)  
Parity Type (PT= 1)  
Odd parity  
High parity  
n/a  
Address character  
00  
01  
10  
11  
Even parity  
Low parity  
Force parity  
No parity  
Multidrop mode  
Data character  
10 B/C  
Bits per character. Select the number of data bits per character to be sent. The values shown do not  
include start, parity, or stop bits.  
00 5 bits  
01 6 bits  
10 7 bits  
11 8 bits  
Chapter 14. UART Modules  
14-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ister Descriptions  
14.3.2 UART Mode Register 2 (UMR2n)  
UART mode registers 2 (UMR2n) control UART module conguration. UMR2n can be  
read or written when the mode register pointer points to it, which occurs after any access to  
UMR1n. UMR2n accesses do not update the pointer.  
7
6
5
4
3
0
Field  
Reset  
CM  
TxRTS  
TxCTS  
SB  
0000_0000  
R/W  
R/W  
Address  
MBAR + 0x1C0, 0x200. After UMR1n is read or written, the pointer points to UMR2n.  
Figure 14-3. UART Mode Register 2 (UMR2n)  
Table 14-3 describes UMR2n elds.  
Table 14-3. UMR2n Field Descriptions  
Bits Name  
Description  
76  
CM  
Channel mode. Selects a channel mode. Section 14.5.3, Looping Modes,describes individual  
modes.  
00 Normal  
01 Automatic echo  
10 Local loop-back  
11 Remote loop-back  
5
TxRTS Transmitter ready-to-send. Controls negation of RTS to automatically terminate a message  
transmission. Attempting to program a receiver and transmitter in the same channel for RTS control is  
not permitted and disables RTS control for both.  
0 The transmitter has no effect on RTS.  
1 In applications where the transmitter is disabled after transmission completes, setting this bit  
automatically clears UOP[RTS] one bit time after any characters in the channel transmitter shift and  
holding registers are completely sent, including the programmed number of stop bits.  
4
TxCTS Transmitter clear-to-send. If both TxCTS and TxRTS are enabled, TxCTS controls the operation of the  
transmitter.  
0 CTS has no effect on the transmitter.  
1 Enables clear-to-send operation. The transmitter checks the state of CTS each time it is ready to  
send a character. If CTS is asserted, the character is sent; if it is negated, the channel TxD remains  
in the high state and transmission is delayed until CTS is asserted. Changes in CTS as a character is  
being sent do not affect its transmission.  
14-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Register Descriptions  
Table 14-3. UMR2n Field Descriptions (Continued)  
Bits Name  
30 SB  
Description  
Stop-bit length control. Selects the length of the stop bit appended to the transmitted character.  
Stop-bit lengths of 9/16th to 2 bits are programmable for 68 bit characters. Lengths of 1 1/16th to 2  
bits are programmable for 5-bit characters. In all cases, the receiver checks only for a high condition at  
the center of the rst stop-bit position, that is, one bit time after the last data bit or after the parity bit, if  
parity is enabled. If an external 1x clock is used for the transmitter, clearing bit 3 selects one stop bit  
and setting bit 3 selects 2 stop bits for transmission.  
SB 5 Bits 6–8 Bits  
SB  
5 Bits 6–8 Bits  
SB 5–8 Bits  
SB  
5–8 Bits  
1.813  
0000 1.063  
0001 1.125  
0010 1.188  
0011 1.250  
0.563  
0.625  
0.688  
0.750  
0100 1.313  
0101 1.375  
0110 1.438  
0111 1.500  
0.813  
0.875  
0.938  
1.000  
1000  
1001  
1010  
1011  
1.563  
1.625  
1.688  
1.750  
1100  
1101  
1110  
1111  
1.875  
1.938  
2.000  
14.3.3 UART Status Registers (USRn)  
The USRn, Figure 14-4, shows status of the transmitter, the receiver, and the FIFO.  
7
6
5
4
3
2
1
0
Field  
Reset  
RB  
FE  
PE  
OE  
TxEMP  
TxRDY  
FFULL  
RxRDY  
0000_0000  
Read only  
MBAR + 0x1C4 (USR0), 0x204 (USR1)  
R/W  
Address  
Figure 14-4. UART Status Register (USRn)  
Table 14-4 describes USRn elds.  
Table 14-4. USRn Field Descriptions  
Bits  
Name  
Description  
7
RB  
Received break.The received break circuit detects breaks that originate in the middle of a received  
character. However, a break in the middle of a character must persist until the end of the next  
detected character time.  
0 No break was received.  
1 An all-zero character of the programmed length was received without a stop bit. RB is valid only  
when RxRDY = 1. Only a single FIFO position is occupied when a break is received. Further  
entries to the FIFO are inhibited until RxD returns to the high state for at least one-half bit time,  
which is equal to two successive edges of the UART clock.  
6
FE  
Framing error.  
0 No framing error occurred.  
1 No stop bit was detected when the corresponding data character in the FIFO was received. The  
stop-bit check occurs in the middle of the rst stop-bit position. FE is valid only when RxRDY = 1.  
Chapter 14. UART Modules  
14-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
ister Descriptions  
Table 14-4. USRn Field Descriptions (Continued)  
Bits  
Name  
Description  
5
PE  
Parity error. Valid only if RxRDY = 1.  
0 No parity error occurred.  
1 If UMR1n[PM] = 0x (with parity or force parity), the corresponding character in the FIFO was  
received with incorrect parity. If UMR1n[PM] = 11 (multidrop), PE stores the received A/D bit.  
4
OE  
Overrun error. Indicates whether an overrun occurs.  
0 No overrun occurred.  
1 One or more characters in the received data stream have been lost. OE is set upon receipt of a  
new character when the FIFO is full and a character is already in the shift register waiting for an  
empty FIFO position. When this occurs, the character in the receiver shift register and its break  
detect, framing error status, and parity error, if any, are lost. OE is cleared by the RESET ERROR  
STATUS command in UCRn.  
3
2
TxEMP Transmitter empty.  
0 The transmitter buffer is not empty. Either a character is being shifted out, or the transmitter is  
disabled. The transmitter is enabled/disabled by programming UCRn[TC].  
1 The transmitter has underrun (both the transmitter holding register and transmitter shift registers  
are empty). This bit is set after transmission of the last stop bit of a character if there are no  
characters in the transmitter holding register awaiting transmission.  
TxRDY Transmitter ready.  
0 The CPU loaded the transmitter holding register or the transmitter is disabled.  
1 The transmitter holding register is empty and ready for a character. TxRDY is set when a  
character is sent to the transmitter shift register and when the transmitter is rst enabled. If the  
transmitter is disabled, characters loaded into the transmitter holding register are not sent.  
1
0
FFULL FIFO full.  
0 The FIFO is not full but may hold up to two unread characters.  
1 A character was received and is waiting in the receiver buffer FIFO.  
RxRDY Receiver ready  
0 The CPU has read the receiver buffer and no characters remain in the FIFO after this read.  
1 One or more characters were received and are waiting in the receiver buffer FIFO.  
14.3.4 UART Clock-Select Registers (UCSRn)  
The UART clock-select registers (UCSRn) select an external clock on the TIN input  
(divided by 1 or 16) or a prescaled BCLKO as the clocking source for the transmitter and  
receiver. See Section 14.5.1, “Transmitter/Receiver Clock Source.” The transmitter and  
receiver can use different clock sources. To use BCLKO for both, set UCSRn to 0xDD.  
7
4
3
0
Field  
Reset  
RCS  
TCS  
0000_0000  
Write only  
R/W  
Address  
MBAR + 0x1C4 (UCSR0), 0x204 (UCSR1)  
Figure 14-5. UART Clock-Select Register (UCSRn)  
14-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Register Descriptions  
Table 14-5 describes UCSRn elds.  
Table 14-5. UCSRn Field Descriptions  
Bits  
Name  
Description  
74  
RCS  
Receiver clock select. Selects the clock source for the receiver channel.  
1101 Prescaled BCLKO  
1110 TIN divided by 16  
1111 TIN  
30  
TCS  
Transmitter clock select. Selects the clock source for the transmitter channel.  
1101 Prescaled BCLKO  
1110 TIN divided by 16  
1111 TIN  
14.3.5 UART Command Registers (UCRn)  
The UART command registers (UCRn), Figure 14-6, supply commands to the UART. Only  
multiple commands that do not conict can be specied in a single write to a UCRn. For  
example, RESET TRANSMITTER and ENABLE TRANSMITTER cannot be specied in one  
command.  
7
6
4
3
2
1
0
Field  
Reset  
MISC  
TC  
RC  
0000_0000  
Write only  
MBAR + 0x1C8, 0x208  
R/W  
Address  
Figure 14-6. UART Command Register (UCRn)  
Table 14-6 describes UCRn elds and commands. Examples in Section 14.5.2,  
“Transmitter and Receiver Operating Modes,” show how these commands are used.  
Table 14-6. UCRn Field Descriptions  
Bits Value  
Command  
Description  
7
Reserved, should be cleared.  
Chapter 14. UART Modules  
14-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
ister Descriptions  
Table 14-6. UCRn Field Descriptions (Continued)  
Bits Value  
Command  
Description  
64  
MISC Field (This eld selects a single command.)  
000  
001  
NO COMMAND  
RESET MODE  
Causes the mode register pointer to point to UMR1n.  
REGISTER POINTER  
010  
RESET RECEIVER  
Immediately disables the receiver, clears USRn[FFULL,RxRDY], and reinitializes  
the receiver FIFO pointer. No other registers are altered. Because it places the  
receiver in a known state, use this command instead of RECEIVER DISABLE when  
reconguring the receiver.  
011  
RESET  
disables the transmitter and clears USRn[TxEMP,TxRDY]. No other registers  
are altered. Because it places the transmitter in a known state, use this  
command instead of TRANSMITTER DISABLE when reconguring the transmitter.  
TRANSMITTER  
100  
101  
110  
RESET ERROR  
STATUS  
lears USRn[RB,FE,PE,OE]. Also used in block mode to clear all error bits after a  
data block is received.  
RESET BREAK–  
CHANGE INTERRUPT  
Clears the delta break bit, UISRn[DB].  
START BREAK  
Forces TxD low. If the transmitter is empty, the break may be delayed up to one  
bit time. If the transmitter is active, the break starts when character transmission  
completes. The break is delayed until any character in the transmitter shift  
register is sent. Any character in the transmitter holding register is sent after the  
break. The transmitter must be enabled for the command to be accepted. This  
command ignores the state of CTS.  
111  
STOP BREAK  
Causes TxD to go high (mark) within two bit times. Any characters in the  
transmitter buffer are sent.  
32  
TC Field (This eld selects a single command)  
00  
NO ACTION TAKEN  
Causes the transmitter to stay in its current mode: if the transmitter is enabled, it  
remains enabled; if the transmitter is disabled, it remains disabled.  
01  
10  
TRANSMITTER  
ENABLE  
Enables operation of the channels transmitter. USRn[TxEMP,TxRDY] are set. If  
the transmitter is already enabled, this command has no effect.  
TRANSMITTER  
DISABLE  
Terminates transmitter operation and clears USRn[TxEMP,TxRDY]. If a character  
is being sent when the transmitter is disabled, transmission completes before the  
transmitter becomes inactive. If the transmitter is already disabled, the command  
has no effect.  
11  
Reserved, do not use.  
14-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Register Descriptions  
Table 14-6. UCRn Field Descriptions (Continued)  
Bits Value  
Command  
Description  
10  
RC (This eld selects a single command)  
00  
01  
NO ACTION TAKEN  
RECEIVER ENABLE  
Causes the receiver to stay in its current mode. If the receiver is enabled, it  
remains enabled; if disabled, it remains disabled.  
If the UART module is not in multidrop mode (UMR1n[PM] 11), RECEIVER  
ENABLE enables the channel's receiver and forces it into search-for-start-bit state.  
If the receiver is already enabled, this command has no effect.  
10  
11  
RECEIVER DISABLE  
Disables the receiver immediately. Any character being received is lost. The  
command does not affect receiver status bits or other control registers. If the  
UART module is programmed for local loop-back or multidrop mode, the receiver  
operates even though this command is selected. If the receiver is already  
disabled, the command has no effect.  
Reserved, do not use.  
14.3.6 UART Receiver Buffers (URBn)  
The receiver buffers contain one serial shift register and three receiver holding registers,  
which act as a FIFO. RxD is connected to the serial shift register. The CPU reads from the  
top of the stack while the receiver shifts and updates from the bottom when the shift register  
is full (see Figure 14-20). RB contains the character in the receiver.  
7
0
Field  
Reset  
RB  
0000_0000  
R/W  
Read only  
Address  
MBAR + 0x1CC,0x20C  
Figure 14-7. UART Receiver Buffer (URB0)  
14.3.7 UART Transmitter Buffers (UTBn)  
The transmitter buffers consist of the transmitter holding register and the transmitter shift  
register. The holding register accepts characters from the bus master if channel’s  
USRn[TxRDY] is set. A write to the transmitter buffer clears TxRDY, inhibiting any more  
characters until the shift register can accept more data. When the shift register is empty, it  
checks if the holding register has a valid character to be sent (TxRDY = 0). If there is a valid  
character, the shift register loads it and sets USRn[TxRDY] again. Writes to the transmitter  
buffer when the channel’s TxRDY = 0 and when the transmitter is disabled have no effect  
on the transmitter buffer.  
Figure 14-8 shows UTB0. TB contains the character in the transmitter buffer.  
Chapter 14. UART Modules  
14-11  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
ister Descriptions  
7
0
Field  
TB  
Reset  
R/W  
0000_0000  
Write only  
Address  
MBAR + 0x1CC,0x20C  
Figure 14-8. UART Transmitter Buffer (UTB0)  
14.3.8 UART Input Port Change Registers (UIPCRn)  
The input port change registers (UIPCRn), Figure 14-9, hold the current state and the  
change-of-state for CTS.  
7
5
4
3
1
0
Field  
Reset  
COS  
111  
CTS  
0000  
0
11  
CTS  
R/W  
Read only  
MBAR + 0x1D0 (UIPCR0), 0x210 (UIPCR1)  
Address  
Figure 14-9. UART Input Port Change Register (UIPCRn)  
Table 14-7 describes UIPCRn elds.  
Table 14-7. UIPCRn Field Descriptions  
Bits Name  
Description  
75  
Reserved, should be cleared.  
4
COS Change of state (high-to-low or low-to-high transition).  
0 No change-of-state since the CPU last read UIPCRn. Reading UIPCRn clears UISRn[COS].  
1 A change-of-state longer than 2550 µs occurred on the CTS input. UACRn can be programmed to  
generate an interrupt to the CPU when a change of state is detected.  
31  
Reserved, should be cleared.  
0
CTS Current state. Starting two serial clock periods after reset, CTS reects the state of CTS. If CTS is  
detected asserted at that time, COS is set, which initiates an interrupt if UACRn[IEC] is enabled.  
0 The current state of the CTS input is asserted.  
1 The current state of the CTS input is negated.  
14.3.9 UART Auxiliary Control Register (UACRn)  
The UART auxiliary control registers (UACRn), Figure 14-7, control the input enable.  
14-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Register Descriptions  
7
1
0
Field  
Reset  
IEC  
0000_0000  
Write only  
R/W  
Address  
MBAR + 0x1D0 (UACR0), 0x210 (UACR1)  
Figure 14-10. UART Auxiliary Control Register (UACRn)  
Table 14-8 describes UACRn elds.  
Table 14-8. UACRn Field Descriptions  
Bits Name  
Description  
71  
Reserved, should be cleared.  
Input enable control.  
0
IEC  
0 Setting the corresponding UIPCRn bit has no effect on UISRn[COS].  
1 UISRn[COS] is set and an interrupt is generated when the UIPCRn[COS] is set by an external  
transition on the CTS input (if UIMRn[COS] = 1).  
14.3.10 UART Interrupt Status/Mask Registers  
(UISRn/UIMRn)  
The UART interrupt status registers (UISRn), Figure 14-11, provide status for all potential  
interrupt sources. UISRn contents are masked by UIMRn. If corresponding UISRn and  
UIMRn bits are set, the internal interrupt output is asserted. If a UIMRn bit is cleared, the  
state of the corresponding UISRn bit has no effect on the output.  
NOTE:  
True status is provided in the UISRn regardless of UIMRn  
settings. UISRn is cleared when the UART module is reset.  
7
6
3
2
1
0
Field  
Reset  
COS  
DB  
FFULL/RxRDY  
TxRDY  
0000_0000  
R/W  
Read only for status, write only for mask.  
MBAR + 0x1D4 (UISR0), 0x214 (UISR1); MBAR + 0x1D4 (UIMR0), 0x214 (UIMR1)  
Address  
Figure 14-11. UART Interrupt Status/Mask Registers (UISRn/UIMRn)  
Table 14-9 describes UISRn and UIMRn elds.  
Chapter 14. UART Modules  
14-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
ister Descriptions  
Bits Name  
Table 14-9. UISRn/UIMRn Field Descriptions  
Description  
7
COS  
Change-of-state.  
0 UIPCRn[COS] is not selected.  
1 Change-of-state occurred on CTS and was programmed in UACRn[IEC] to cause an interrupt.  
63  
Reserved, should be cleared.  
2
DB  
Delta break.  
0 No new break-change condition to report. Section 14.3.5, UART Command Registers (UCRn),”  
describes the RESET BREAK-CHANGE INTERRUPT command.  
1 The receiver detected the beginning or end of a received break.  
1
0
FFULL/ RxRDY (receiver ready) if UMR1n[FFULL/RxRDY] = 0; FIFO full (FFULL) if UMR1n[FFULL/RxRDY]  
RxRDY = 1. Duplicate of USRn[FFULL/RxRDY]. If FFULL is enabled for UART0 or UART1, DMA channels 2  
or 3 are respectively interrupted when the FIFO is full.  
TxRDY Transmitter ready. This bit is the duplication of USRn[TxRDY].  
0 The transmitter holding register was loaded by the CPU or the transmitter is disabled. Characters  
loaded into the transmitter holding register when TxRDY = 0 are not sent.  
1 The transmitter holding register is empty and ready to be loaded with a character.  
14.3.11 UART Divider Upper/Lower Registers (UDUn/UDLn)  
The UDUn registers (formerly called UBG1n) holds the MSB, and the UDLn registers  
(formerly UBG2n) hold the LSB of the preload value. UDUn and UDLn concatenate to  
provide a divider to BCLKO for transmitter/receiver operation, as described in  
Section 14.5.1.2.1, “BCLKO Baud Rates.”  
7
0
Field  
Reset  
Divider MSB  
0000_0000  
R/W  
R/W  
Address  
MBAR + 0x1D8 (UDU0), 0x218 (UDU1)  
Figure 14-12. UART Divider Upper Register (UDUn)  
7
0
Field  
Reset  
Divider LSB  
0000_0000  
R/W  
R/W  
Address  
MBAR + 0x1DC (UDL0), 0x21C (UDL1)  
Figure 14-13. UART Divider Lower Register (UDLn)  
NOTE:  
The minimum value that can be loaded on the concatenation of  
UDUn with UDLn is 0x0002. Both UDUn and UDLn are  
write-only and cannot be read by the CPU.  
14-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Register Descriptions  
14.3.12 UART Interrupt Vector Register (UIVRn)  
The UIVRn, Figure 14-14, contain the 8-bit internal interrupt vector number (IVR).  
7
0
Field  
Reset  
IVR  
0000_1111  
R/W  
R/W  
Address  
MBAR + 0x1F0 (UIVR0), 0x230 (UIVR1)  
Figure 14-14. UART Interrupt Vector Register (UIVRn)  
Table 14-10 describes UIVRn elds.  
Table 14-10. UIVRn Field Descriptions  
Bits  
Name  
Description  
70  
IVR  
Interrupt vector. Indicates the vector number where the address of the exception handler for the  
specied interrupt is located. UIVRn is reset to 0x0F, indicating an uninitialized interrupt condition.  
14.3.13 UART Input Port Register (UIPn)  
The UART input port registers (UIPn), Figure 14-15, show the current state of the CTS  
input.  
7
1
0
Field  
Reset  
CTS  
1111_1111  
Read only  
R/W  
Address  
MBAR + 0x1F4 (UIP0), 0x234 (UIP1)  
Figure 14-15. UART Input Port Register (UIPn)  
Table 14-11 describes UIPn elds.  
Table 14-11. UIPn Field Descriptions  
Bits Name  
Description  
71  
Reserved, should be cleared.  
0
CTS Current state. The CTS value is latched and reects the state of the input pin when UIPn is read.  
Note: This bit has the same function and value as UIPCRn[RTS].  
0 The current state of the CTS input is logic 0.  
1 The current state of the CTS input is logic 1.  
14.3.14 UART Output Port Command Registers  
(UOP1n/UOP0n)  
In UART mode, the RTS output can be asserted by writing a 1 to UOP1n[RTS] and negated  
by writing a 1 to UOP0n[RTS]. See Figure 14-16.  
Chapter 14. UART Modules  
14-15  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
 
 
Freescale Semiconductor, Inc.  
T Module Signal Definitions  
7
1
0
Field  
Reset  
R/W  
RTS  
0000_0000  
Write only  
Addr  
UART0: MBAR + 0x1F8 (UOP1), 0x1FC (UOP0); UART1 0x238 (UOP1), 0x23C (UOP0)  
Figure 14-16. UART Output Port Command Register (UOP1/UOP0)  
Table 14-12 describes UOP1 elds.  
Table 14-12. UOP1/UOP0 Field Descriptions  
Bits Name  
Description  
71  
Reserved, should be cleared.  
0
RTS  
Output port parallel output. Controls assertion (UOP1)/negation (UOP0) of RTS output.  
0 Not affected.  
1 Asserts RTS (UOP1). Negates RTS (UOP0).  
14.4 UART Module Signal Definitions  
Figure 14-17 shows both the external and internal signal groups.  
BCLKO  
or  
External Clock (TIN)  
Clock Source  
Generator  
RTS  
CTS  
Output Port  
Input Port  
UART Module  
Internal Bus  
Control  
External  
Interface  
Signals  
Internal  
Control  
Logic  
RxD  
TxD  
Four-Character  
Receive Buffer  
Address Bus  
Interface  
to CPU  
Data  
Two-Character  
Transmit Buffer  
To Interrupt  
Controller  
(SIM)  
IRQ  
Figure 14-17. UART Block Diagram Showing External and Internal Interface Signals  
An internal interrupt request signal (IRQ) is provided to notify the interrupt controller of an  
interrupt condition. The output is the logical NOR of unmasked UISRn bits. The interrupt  
level of a UART module is programmed in the interrupt controller in the system integration  
module (SIM). The UART can use the autovector for the programmed interrupt level or  
supply the vector from the UIVRn when the UART interrupt is acknowledged.  
14-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
UART Module Signal Definitions  
The interrupt level, priority, and auto-vectoring capability is programmed in SIM register  
ICR4 for UART0 and ICR5 for UART1. See Section 9.2.1, “Interrupt Control Registers  
(ICR0–ICR9).”  
Note that the UARTs can also automatically transfer data by using the DMA rather than  
interrupting the core. When UIMR[FFULL] is 1 and a receiver’s FIFO is full, it can send  
an interrupt to a DMA channel so the FIFO data can be transferred to memory. Note also  
that UART0 and UART1’s interrupt requests are connected to DMA channel 2 and  
channel 3, respectively.  
Table 14-13 briey describes the UART module signals.  
NOTE:  
The terms ‘assertion’ and ‘negation’ are used to avoid  
confusion between active-low and active-high signals.  
‘Asserted’ indicates that a signal is active, independent of the  
voltage level; ‘negated’ indicates that a signal is inactive.  
Table 14-13. UART Module Signals  
Signal  
Description  
Transmitter  
Serial Data  
TxD is held high (mark condition) when the transmitter is disabled, idle, or operating in the local  
loop-back mode. Data is shifted out on TxD on the falling edge of the clock source, with the least  
Output (TxD) signicant bit (lsb) sent rst.  
Receiver  
Data received on RxD is sampled on the rising edge of the clock source, with the lsb received rst.  
Serial Data  
Input (RxD)  
Clear-to-  
This input can generate an interrupt on a change of state.  
Send (CTS)  
Request-to-  
Send (RTS)  
This output can be programmed to be negated or asserted automatically by either the receiver or the  
transmitter. When connected to a transmitters CTS, RTS can control serial data ow.  
Figure 14-18 shows a signal conguration for a UART/RS-232 interface.  
UART  
RTS  
RS-232 Transceiver  
DI2  
CTS  
TxD  
RxD  
DO2  
DI1  
DO1  
Figure 14-18. UART/RS-232 Interface  
Chapter 14. UART Modules  
14-17  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
ration  
14.5 Operation  
This section describes operation of the clock source generator, transmitter, and receiver.  
14.5.1 Transmitter/Receiver Clock Source  
BCLKO serves as the basic timing reference for the clock source generator logic, which  
consists of a clock generator and a programmable 16-bit divider dedicated to the UART.  
The clock generator cannot produce standard baud rates if BCLKO is used, so the 16-bit  
divider should be used.  
14.5.1.1 Programmable Divider  
As Figure 14-19 shows, the UART transmitter and receiver can use the following clock  
sources:  
An external clock signal on the TIN pin that can be divided by 16. When not divided,  
TIN provides a synchronous clock mode; when divided by 16, it is asynchronous.  
BCLKO supplies an asynchronous clock source that is divided by 32 and then  
divided by the 16-bit value programmed in UDUn and UDLn. See Section 14.3.11,  
“UART Divider Upper/Lower Registers (UDUn/UDLn).”  
The choice of TIN or BCLKO is programmed in the UCSR.  
TOUT  
On-Chip  
Timer Module  
TIN  
UART  
Clocking sources programmed in UCSR  
TxD  
Tx Buffer  
TIN  
x1  
Prescaler  
Tx  
Rx  
TIN  
x16  
Prescaler  
16-Bit  
Divider  
x32  
Prescaler  
Clock  
Generator  
RxD  
Rx Buffer  
BCLKO  
Figure 14-19. Clocking Source Diagram  
NOTE:  
If TIN is a clocking source for either the timer or UART, the  
timer module cannot use TIN for timer capture.  
14-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
14.5.1.2 Calculating Baud Rates  
Operation  
The following sections describe how to calculate baud rates.  
14.5.1.2.1 BCLKO Baud Rates  
When BCLKO is the UART clocking source, it goes through a divide-by-32 prescaler and  
then passes through the 16-bit divider of the concatenated UDUn and UDLn registers.  
Using a 45-MHz BCLKO, the baud-rate calculation is as follows:  
45MHz  
Baudrate = -----------------------------------  
[32 × divider]  
let baud rate = 9600, then  
45MHz  
Divider = ---------------------------- = 146(decimal) = 0092(hexadecimal)  
[32 × 9600]  
therefore UDU = 0x00 and UDL = 0x92.  
14.5.1.2.2 External Clock  
An external source clock (TIN) can be used as is or divided by 16.  
Externalclockfrequency  
Baudrate = --------------------------------------------------------------------  
16or1  
14.5.2 Transmitter and Receiver Operating Modes  
Figure 14-20 is a functional block diagram of the transmitter and receiver showing the  
command and operating registers, which are described generally in the following sections  
and described in detail in Section 14.3, “Register Descriptions.”  
Chapter 14. UART Modules  
14-19  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ration  
UART0  
UART Command Register (UCR0)  
W
UART Mode Register 1 (UMR1)  
UART Mode Register 2 (UMR2)  
R/W  
R/W  
R
UART Status Register (USR0)  
External  
Interface  
UART  
W
Transmitter Holding Register  
Transmitter Shift Register  
Transmitter Buffer  
(UTB0)  
TXD  
(2 Registers)  
FIFO  
R
Receiver Holding Register 1  
Receiver Holding Register 2  
Receiver Holding Register 3  
Receiver Shift Register  
UART Receive  
Buffer (URB0)  
(4 Registers)  
RXD  
Figure 14-20. Transmitter and Receiver Functional Diagram  
14-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
14.5.2.1 Transmitting  
Operation  
The transmitter is enabled through the UART command register (UCRn). When it is ready  
to accept a character, the UART sets USRn[TxRDY]. The transmitter converts parallel data  
from the CPU to a serial bit stream on TxD. It automatically sends a start bit followed by  
the programmed number of data bits, an optional parity bit, and the programmed number  
of stop bits. The lsb is sent rst. Data is shifted from the transmitter output on the falling  
edge of the clock source.  
After the stop bits are sent, if no new character is in the transmitter holding register, the TxD  
output remains high (mark condition) and the transmitter empty bit, USRn[TxEMP], is set.  
Transmission resumes and TxEMP is cleared when the CPU loads a new character into the  
UART transmitter buffer (UTBn). If the transmitter receives a disable command, it  
continues until any character in the transmitter shift register is completely sent.  
If the transmitter is reset through a software command, operation stops immediately (see  
Section 14.3.5, “UART Command Registers (UCRn)”). The transmitter is reenabled  
through the UCRn to resume operation after a disable or software reset.  
If the clear-to-send operation is enabled, CTS must be asserted for the character to be  
transmitted. If CTS is negated in the middle of a transmission, the character in the shift  
register is sent and TxD remains in mark state until CTS is reasserted. If the transmitter is  
forced to send a continuous low condition by issuing a SEND BREAK command, the  
transmitter ignores the state of CTS.  
If the transmitter is programmed to automatically negate RTS when a message transmission  
completes, RTS must be asserted manually before a message is sent. In applications in  
which the transmitter is disabled after transmission is complete and RTS is appropriately  
programmed, RTS is negated one bit time after the character in the shift register is  
completely transmitted. The transmitter must be manually reenabled by reasserting RTS  
before the next message is to be sent.  
Figure 14-21 shows the functional timing information for the transmitter.  
Chapter 14. UART Modules  
14-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ration  
C1 in transmission  
1
C4  
C6  
TxD  
C1  
C2  
C3  
Break  
Transmitter  
Enabled  
USRn[TxRDY]  
internal  
module  
select  
2
W
W
W
W
W
W
W
W
1
C1  
C2  
C3 Start  
break  
C4 Stop  
break  
C5  
not  
transmitted  
C6  
3
CTS  
4
Manually asserted  
by BIT SET command  
Manually  
asserted  
RTS  
-
1
Cn = transmit characters  
W = write  
UMR2n[TxCTS] = 1  
2
3
4 UMR2n[TxRTS] = 1  
Figure 14-21. Transmitter Timing Diagram  
14.5.2.2 Receiver  
The receiver is enabled through its UCRn, as described in Section 14.3.5, “UART  
Command Registers (UCRn).” Figure 14-22 shows receiver functional timing.  
14-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Operation  
C8  
TxD  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C6, C7, and C8 will be lost  
Receiver  
Enabled  
USRn[RxRDY]  
USRn[FFULL]  
internal  
module  
select  
Status  
Data  
Status Status Status  
Data Data Data  
C5 will  
be lost  
(C1)  
(C2) (C3) (C4)  
Reset by  
command  
Overrun  
USRn[OE]  
Manually asserted first time,  
automatically negated if overrun occurs  
Automatically asserted  
when ready to receive  
4
RTS  
UOP0[RTS] = 1  
Figure 14-22. Receiver Timing  
When the receiver detects a high-to-low (mark-to-space) transition of the start bit on RxD,  
the state of RxD is sampled each 16× clock for eight clocks, starting one-half clock after  
the transition (asynchronous operation) or at the next rising edge of the bit time clock  
(synchronous operation). If RxD is sampled high, the start bit is invalid and the search for  
the valid start bit begins again.  
If RxD is still low, a valid start bit is assumed and the receiver continues sampling the input  
at one-bit time intervals, at the theoretical center of the bit, until the proper number of data  
bits and parity, if any, is assembled and one stop bit is detected. Data on the RxD input is  
sampled on the rising edge of the programmed clock source. The lsb is received rst. The  
data is then transferred to a receiver holding register and USRn[RxRDY] is set. If the  
character is less than eight bits, the most signicant unused bits in the receiver holding  
register are cleared.  
After the stop bit is detected, the receiver immediately looks for the next start bit. However,  
if a non-zero character is received without a stop bit (framing error) and RxD remains low  
for one-half of the bit period after the stop bit is sampled, the receiver operates as if a new  
start bit were detected. Parity error, framing error, overrun error, and received break  
conditions set the respective PE, FE, OE, RB error and break ags in the USRn at the  
received character boundary and are valid only if USRn[RxRDY] is set.  
If a break condition is detected (RxD is low for the entire character including the stop bit),  
a character of all zeros is loaded into the receiver holding register (RHR) and  
USRn[RB,RxRDY] are set. RxD must return to a high condition for at least one-half bit  
time before a search for the next start bit begins.  
Chapter 14. UART Modules  
14-23  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ration  
The receiver detects the beginning of a break in the middle of a character if the break  
persists through the next character time. If the break begins in the middle of a character, the  
receiver places the damaged character in the Rx FIFO stack and sets the corresponding  
USRn error bits and USRn[RxRDY]. Then, if the break lasts until the next character time,  
the receiver places an all-zero character into the Rx FIFO and sets USRn[RB,RxRDY].  
14.5.2.3 FIFO Stack  
The FIFO stack is used in the UART’s receiver buffer logic. The stack consists of three  
receiver holding registers. The receive buffer consists of the FIFO and a receiver shift  
register connected to the RxD (see Figure 14-20). Data is assembled in the receiver shift  
register and loaded into the top empty receiver holding register position of the FIFO. Thus,  
data owing from the receiver to the CPU is quadruple-buffered.  
In addition to the data byte, three status bits, parity error (PE), framing error (FE), and  
received break (RB), are appended to each data character in the FIFO; OE (overrun error)  
is not appended. By programming the ERR bit in the channel’s mode register (UMR1n),  
status is provided in character or block modes.  
USRn[RxRDY] is set when at least one character is available to be read by the CPU. A read  
of the receiver buffer produces an output of data from the top of the FIFO stack. After the  
read cycle, the data at the top of the FIFO stack and its associated status bits are popped and  
the receiver shift register can add new data at the bottom of the stack. The FIFO-full status  
bit (FFULL) is set if all three stack positions are lled with data. Either the RxRDY or  
FFULL bit can be selected to cause an interrupt.  
The two error modes are selected by UMR1n[ERR] as follows:  
In character mode (UMR1n[ERR] = 0, status is given in the USRn for the character  
at the top of the FIFO.  
In block mode, the USRn shows a logical OR of all characters reaching the top of  
the FIFO stack since the last RESET ERROR STATUS command. Status is updated as  
characters reach the top of the FIFO stack. Block mode offers a data-reception speed  
advantage where the software overhead of error-checking each character cannot be  
tolerated. However, errors are not detected until the check is performed at the end of  
an entire message—the faulting character is not identied.  
In either mode, reading the USRn does not affect the FIFO. The FIFO is popped only when  
the receive buffer is read. The USRn should be read before reading the receive buffer. If all  
three receiver holding registers are full, a new character is held in the receiver shift register  
until space is available. However, if a second new character is received, the contents of the  
the character in the receiver shift register is lost, the FIFOs are unaffected, and USRn[OE]  
is set when the receiver detects the start bit of the new overrunning character.  
To support ow control, the receiver can be programmed to automatically negate and assert  
RTS, in which case the receiver automatically negates RTS when a valid start bit is detected  
and the FIFO stack is full. The receiver asserts RTS when a FIFO position becomes  
14-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Operation  
available; therefore, overrun errors can be prevented by connecting RTS to the CTS input  
of the transmitting device.  
NOTE:  
The receiver can still read characters in the FIFO stack if the  
receiver is disabled. If the receiver is reset, the FIFO stack, RTS  
control, all receiver status bits, and interrupt requests are reset.  
No more characters are received until the receiver is reenabled.  
14.5.3 Looping Modes  
The UART can be congured to operate in various looping modes as shown in Figure 14-22  
on page 14-23. These modes are useful for local and remote system diagnostic functions.  
The modes are described in the following paragraphs and in Section 14.3, “Register  
Descriptions.”  
The UART’s transmitter and receiver should be disabled when switching between modes.  
The selected mode is activated immediately upon mode selection, regardless of whether a  
character is being received or transmitted.  
14.5.3.1 Automatic Echo Mode  
In automatic echo mode, shown in Figure 14-23, the UART automatically resends received  
data bit by bit. The local CPU-to-receiver communication continues normally, but the  
CPU-to-transmitter link is disabled. In this mode, received data is clocked on the receiver  
clock and resent on TxD. The receiver must be enabled, but the transmitter need not be.  
RxD Input  
TxD Input  
Rx  
Tx  
CPU  
Disabled  
Disabled  
Figure 14-23. Automatic Echo  
Because the transmitter is inactive, USRn[TxEMP,TxRDY] are inactive and data is sent as  
it is received. Received parity is checked but is not recalculated for transmission. Character  
framing is also checked, but stop bits are sent as they are received. A received break is  
echoed as received until the next valid start bit is detected.  
14.5.3.2 Local Loop-Back Mode  
Figure 14-24 shows how TxD and RxD are internally connected in local loop-back mode.  
This mode is for testing the operation of a local UART module channel by sending data to  
the transmitter and checking data assembled by the receiver to ensure proper operations.  
Chapter 14. UART Modules  
14-25  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ration  
Disabled  
RxD Input  
TxD Input  
Rx  
Tx  
CPU  
Disabled  
Figure 14-24. Local Loop-Back  
Features of this local loop-back mode are as follows:  
Transmitter and CPU-to-receiver communications continue normally in this mode.  
RxD input data is ignored  
TxD is held marking  
The receiver is clocked by the transmitter clock. The transmitter must be enabled,  
but the receiver need not be.  
14.5.3.3 Remote Loop-Back Mode  
In remote loop-back mode, shown in Figure 14-25, the channel automatically transmits  
received data bit by bit on the TxD output. The local CPU-to-transmitter link is disabled.  
This mode is useful in testing receiver and transmitter operation of a remote channel. For  
this mode, the transmitter uses the receiver clock.  
Because the receiver is not active, received data cannot be read by the CPU and error status  
conditions are inactive. Received parity is not checked and is not recalculated for  
transmission. Stop bits are sent as they are received. A received break is echoed as received  
until the next valid start bit is detected.  
Disabled  
Disabled  
RxD Input  
TxD Input  
Rx  
Tx  
CPU  
Disabled  
Disabled  
Figure 14-25. Remote Loop-Back  
14.5.4 Multidrop Mode  
Setting UMR1n[PM] programs the UART to operate in a wake-up mode for multidrop or  
multiprocessor applications. In this mode, a master can transmit an address character  
followed by a block of data characters targeted for one of up to 256 slave stations.  
Although slave stations have their channel receivers disabled, they continuously monitor  
the master’s data stream. When the master sends an address character, the slave receiver  
channel noties its respective CPU by setting USRn[RxRDY] and generating an interrupt  
(if programmed to do so). Each slave station CPU then compares the received address to its  
station address and enables its receiver if it wishes to receive the subsequent data characters  
or block of data from the master station. Slave stations not addressed continue monitoring  
the data stream. Data elds in the data stream are separated by an address character. After  
14-26  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Operation  
a slave receives a block of data, its CPU disables the receiver and repeats the  
process.Functional timing information for multidrop mode is shown in Figure 14-26.  
Master Station  
A/D  
A/D  
C0  
A/D  
TxD  
ADD11  
ADD21  
Transmitter  
Enabled  
USRn[TxRDY]  
internal  
module  
select  
UMR1n[PM] = 11 ADD 1  
C0  
ADD 2  
UMR1n[PT] = 2  
UMR1n[PT] = 1  
UMR1n[PT] = 0  
Peripheral Station  
A/D  
A/D  
A/D  
A/D  
A/D  
0
RxD  
0
ADD11  
C0  
ADD21  
Receiver  
Enabled  
USRn[RxRDY]  
internal  
module  
select  
UMR1n[PM] = 11  
UMR1n[PM] = 11  
ADD 1  
Status Data  
(C0)  
Status Data  
(ADD 2)  
Figure 14-26. Multidrop Mode Timing Diagram  
A character sent from the master station consists of a start bit, a programmed number of  
data bits, an address/data (A/D) bit ag, and a programmed number of stop bits. A/D = 1  
indicates an address character; A/D = 0 indicates a data character. The polarity of A/D is  
selected through UMR1n[PT]. UMR1n should be programmed before enabling the  
transmitter and loading the corresponding data bits into the transmit buffer.  
In multidrop mode, the receiver continuously monitors the received data stream, regardless  
of whether it is enabled or disabled. If the receiver is disabled, it sets the RxRDY bit and  
loads the character into the receiver holding register FIFO stack provided the received A/D  
bit is a one (address tag). The character is discarded if the received A/D bit is zero (data  
tag). If the receiver is enabled, all received characters are transferred to the CPU through  
the receiver holding register stack during read operations.  
In either case, the data bits are loaded into the data portion of the stack while the A/D bit is  
loaded into the status portion of the stack normally used for a parity error (USRn[PE]).  
Framing error, overrun error, and break detection operate normally. The A/D bit takes the  
place of the parity bit; therefore, parity is neither calculated nor checked. Messages in this  
Chapter 14. UART Modules  
14-27  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ration  
mode may still contain error detection and correction information. One way to provide error  
detection, if 8-bit characters are not required, is to use software to calculate parity and  
append it to the 5-, 6-, or 7-bit character.  
14.5.5 Bus Operation  
This section describes bus operation during read, write, and interrupt acknowledge cycles  
to the UART module.  
14.5.5.1 Read Cycles  
The UART module responds to reads with byte data. Reserved registers return zeros.  
14.5.5.2 Write Cycles  
The UART module accepts write data as bytes. Write cycles to read-only or reserved  
registers complete normally without exception processing, but data is ignored.  
NOTE:  
The UART module is accessed by the CPU with zero wait  
states, as BCLKO is used for the UART module.  
14.5.5.3 Interrupt Acknowledge Cycles  
The UART module supplies the interrupt vector in response to a UART IACK cycle. If  
UIVRn is not initialized to provide a vector number, a spurious exception is taken if an  
interrupt is generated. This works in conjunction with the interrupt controller, which allows  
a programmable priority level.  
14.5.6 Programming  
The software owchart, Figure 14-27, consists of the following:  
UART module initialization—These routines consist of SINIT and CHCHK (sheets  
1 and 2). Before SINIT is called at system initialization, the calling routine allocates  
2 words on the system stack. On return to the calling routine, SINIT passes UART  
status data on the stack. If SINIT nds no errors, the transmitter and receiver are  
enabled. SINIT calls CHCHK to perform the checks. When called, SINIT places the  
UART in local loop-back mode and checks for the following errors:  
— Transmitter never ready  
— Receiver never ready  
— Parity error  
— Incorrect character received  
I/O driver routine—This routine (sheets 4 and 5) consists of INCH, the terminal  
input character routine which gets a character from the receiver, and OUTCH, which  
sends a character to the transmitter.  
14-28  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Operation  
Interrupt handling—Consists of SIRQ (sheet 4), which is executed after the UART  
module generates an interrupt caused by a change-in-break (beginning of a break).  
SIRQ then clears the interrupt source, waits for the next change-in-break interrupt  
(end of break), clears the interrupt source again, then returns from exception  
processing to the system monitor.  
14.5.6.1 UART Module Initialization Sequence  
NOTE:  
UART module registers can be accessed by word or byte  
operations, but only data byte D[7:0] is valid.  
Table 14-14 shows the UART module initialization sequence.  
Table 14-14. UART Module Initialization Sequence  
Register  
Setting  
UCRn  
Reset the receiver and transmitter.  
Reset the mode pointer (MISC[20] = 0b001).  
UIVRn  
UIMRn  
UACRn  
UCSRn  
UMR1n  
Program the vector number for a UART module interrupt.  
Enable the preferred interrupt sources.  
Initialize the input enable control (IEC bit).  
Select the receiver and transmitter clock. Use timer as source if required.  
If preferred, program operation of receiver ready-to-send (RxRTS bit).  
Select receiver-ready or FIFO-full notication (RxRDY/FFULL bit).  
Select character or block error mode (ERR bit).  
Select parity mode and type (PM and PT bits).  
Select number of bits per character (B/Cx bits).  
UMR2n  
Select the mode of operation (CMx bits).  
If preferred, program operation of transmitter ready-to-send (TxRTS).  
If preferred, program operation of clear-to-send (TxCTS bit).  
Select stop-bit length (SBx bits).  
UCR  
Chapter 14. UART Modules  
14-29  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ration  
ENABLE  
A  
SERIAL MODULE  
SINIT  
ANY  
Y
ERRORS  
?
INITIATE:  
N
CHANNEL  
INTERRUPTS  
ENABLE RECEIVER  
CHK1  
CALL CHCHK  
ASSERT  
REQUEST TO SEND  
SINITR  
SAVE CHANNEL  
STATUS  
RETURN  
Figure 14-27. UART Mode Programming Flowchart (Sheet 1 of 5)  
14-30  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Operation  
CHCHK  
CHCHK  
PLACE CHANNEL IN  
LOCAL LOOPBACK  
MODE  
ENABLE  
TRANSMITTER CLEAR  
STATUS WORD  
TxCHK  
N
IS  
TRANSMITTER  
READY  
?
WAITED  
TOO LONG  
?
N
SET TRANSMITTER-  
NEVER-READY FLAG  
Y
N
Y
SNDCHR  
SEND CHARACTER  
TO TRANSMITTER  
RxCHK  
N
HAS  
CHARACTER BEEN  
RECEIVED  
?
WAITED  
TOO LONG  
?
SET RECEIVER-  
N
Y
NEVER-READY FLAG  
Y
A
B
Figure 14-27. UART Mode Programming Flowchart (Sheet 2 of 5)  
Chapter 14. UART Modules  
14-31  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ration  
B
A
FRCHK  
RSTCHN  
DISABLE  
HAVE  
N
TRANSMITTER  
FRAMING ERROR  
?
Y
RESTORE  
TO ORIGINAL MODE  
SET FRAMING  
ERROR FLAG  
PRCHK  
RETURN  
HAVE  
N
PARITY ERROR  
?
Y
SET PARITY  
ERROR FLAG  
A
CHRCHK  
GET CHARACTER  
FROM RECEIVER  
SAME AS  
TRANSMITTED  
CHARACTER  
?
Y
N
SET INCORRECT  
CHARACTER FLAG  
B
Figure 14-27. UART Mode Programming Flowchart (Sheet 3 of 5)  
14-32  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Operation  
INCH  
SIRQ  
ABRKI  
DOES  
WAS  
IRQ CAUSED  
BY BEGINNING  
OF A BREAK  
?
CHANNEL A  
RECEIVER HAVE A  
CHARACTER  
?
N
N
Y
Y
PLACE CHARACTER  
IN D0  
CLEAR CHANGE-IN-  
BREAK STATUS BIT  
ABRKI1  
HAS  
END-OF-BREAK  
IRQ ARRIVED  
YET  
RETURN  
N
?
Y
CLEAR CHANGE-IN-  
BREAK STATUS BIT  
REMOVE BREAK  
CHARACTER FROM  
RECEIVER FIFO  
REPLACE RETURN  
ADDRESS ON SYSTEM  
STACK AND MONITOR  
WARM START ADDRESS  
SIRQR  
RTE  
Figure 14-27. UART Mode Programming Flowchart (Sheet 4 of 5)  
Chapter 14. UART Modules  
14-33  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ration  
OUTCH  
IS  
N
TRANSMITTER  
READY  
?
Y
SEND CHARACTER  
TO TRANSMITTER  
RETURN  
Figure 14-27. UART Mode Programming Flowchart (Sheet 5 of 5)  
14-34  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 15  
Parallel Port (General-Purpose I/O)  
This chapter describes the operation and programming model of the parallel port pin  
assignment, direction-control, and data registers. It includes a code example for setting up  
the parallel port.  
15.1 Parallel Port Operation  
The MCF5307 parallel port module has 16 signals, which are programmed as follows:  
The pin assignment register (PAR) selects the function of the 16 multiplexed pins.  
Port A data direction register (PADDR) determines whether pins congured as  
parallel port signals are inputs or outputs.  
The Port A data register (PADAT) shows the status of the parallel port signals.  
The operations of the PAR, PADDR, and PADAT are described in the following sections.  
15.1.1 Pin Assignment Register (PAR)  
The pin assignment register (PAR), which is part of the system integration module (SIM),  
denes how each PAR bit determines each pin function, as shown in Figure 15-1.  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Field PAR15 PAR14 PAR13 PAR12 PAR11 PAR10 PAR9 PAR8 PAR7 PAR6 PAR5 PAR4 PAR3 PAR2 PAR1 PAR0  
PAR[n] = 0 PP15 PP14 PP13 PP12 PP11 PP10 PP9 PP8 PP7 PP6  
PP5 PP4 PP3  
PP2 PP1 PP0  
TM0 TT1 TT0  
PAR[n] = 1 A31 A30 A29 A28 A27 A26 A25 A24 TIP DREQ0 DREQ1 TM2 TM1  
Reset Determined by driving D4/ADDR_CONFIG with a 1 or 0 when RSTI negates. The system is congured as  
PP[15:0] if D4 is low; otherwise alternate pin functions selected by PAR[n] = 1 are used.  
R/W  
R/W  
Address  
Address MBAR + 0x004  
Figure 15-1. Parallel Port Pin Assignment Register (PAR)  
If PP[9:8]/A[25:24] are unavailable because A[25:0] are needed for external addressing,  
PP[15:10]/A[31:26] can be congured as general-purpose I/O. Table 15-1 summarizes  
MCF5307 parallel port pins, described in detail in Chapter 17, “Signal Descriptions.”  
Chapter 15. Parallel Port (General-Purpose I/O)  
15-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
llel Port Operation  
Table 15-1. Parallel Port Pin Descriptions  
Pin  
Description  
PP[15:8]/  
A[31:24]  
MSB of the address bus/parallel port. Programmed through PAR[158]. If a PAR bit is 0, the associated  
pin functions as a parallel port signal. If a bit is 1, the pin functions as an address bus signal. If all pins  
are address signals, as much as 4 Gbytes of memory space are available.  
TIP/PP7  
Transfer-in-progress output/parallel port bit 7. Programmed through PAR[7]. Assertion indicates a bus  
transfer is in progress; negation indicates an idle bus cycle if the bus is still granted to the processor.  
Note that TIP is held asserted on back-to-back bus cycles.  
DREQ[1:0]/ DMA request inputs/two bits of the parallel port. Programmed through PAR[65]. These inputs are  
PP[6:5]  
asserted by a peripheral device to request a DMA transfer.  
TM[2:0]/  
PP[4:2]]  
Transfer type outputs/parallel port bits 42. Programmed through PAR[42]. For DMA transfers, these  
signals provide acknowledge information. For emulation transfers, TM[2:0] indicate user or data transfer  
types. For CPU space transfers, TM[2:0] are low. For interrupt acknowledge transfers, TM[2:0] carry the  
interrupt level being acknowledged.  
TT[1:0]/  
PP[1:0]  
Transfer type outputs/parallel port bits 10. Programmed through PAR[10].  
When the MCF5307 is bus master, it outputs these signals. They indicate the current bus access type.  
15.1.2 Port A Data Direction Register (PADDR)  
The PADDR determines the signal direction of each parallel port pin programmed as a  
general-purpose I/O port in the PAR.  
15  
0
PADDR  
0000_0000_0000_0000  
R/W  
Field  
Reset  
R/W  
Address  
Address MBAR + 0x244  
Figure 15-2. Port A Data Direction Register (PADDR)  
Table 15-2 describes PADDR elds.  
Table 15-2. PADDR Field Description  
Bits  
Name  
Description  
150 PADDR Data direction bits. Each data direction bit selects the direction of the signal as follows:  
0 Signal is dened as an input.  
1 Signal is dened as an output.  
15.1.3 Port A Data Register (PADAT)  
The PADAT value for inputs corresponds to the logic level at the pin; for outputs, the value  
corresponds to the logic level driven onto the pin. Note the following:  
PADAT has no effect on pins not congured for general-purpose I/O.  
PADAT settings do not affect inputs. PADAT bit values determine the corresponding  
logic levels of pins congured as outputs.  
15-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Parallel Port Operation  
PADAT can be written to anytime. A read from PADAT returns values of  
corresponding pins congured as general-purpose I/O in the PAR and designated as  
inputs by the PADDR.  
15  
0
Field  
Reset  
PADAT  
0000_0000_0000_0000  
R/W  
R/W  
Address  
Address MBAR+0x248  
Figure 15-3. Port A Data Register (PADAT)  
Table 15-3 shows relationships between PADAT bits and parallel port pins when PADAT is  
accessed. The effect differs when the parallel port pin is an input or output.  
The following results occur when a parallel port pin is congured as an input:  
When the PADAT is read, the value returned is the logic value on the pin.  
When the PADAT is written, the register contents are updated without affecting the  
logic value on the pin.  
The following results occur when a parallel port pin is congured as an output:  
When the PADAT is read, the register contents are returned and the pin is the logic  
value of the register.  
When the PADAT is written, the register contents are updated and the pin is the logic  
value of the register.  
These relationships are also described in Table 15-3.  
Table 15-3. Relationship between PADAT Register and Parallel Port Pin (PP)  
PP Status PADAT R/W  
Effect on PADAT  
Effect on PP  
Read  
Register bit value is the pins logic value  
Register contents updated  
No effect. Source of logic value  
Input  
Write  
No effect on the logic value at the pin  
Pin is the logic value of the register bit  
Pin is the logic value of the register bit  
Read  
Output  
Register contents are returned  
Register contents updated  
Write  
NOTE:  
Although external devices cannot access the MCF5307’s  
on-chip memories or MBAR, they can access any parallel port  
module registers in the SIM.  
15.1.4 Code Example  
The following code example shows how to set up the parallel port. Here, PP[7:0] are  
general-purpose I/O, PP[3:0] are inputs, and PP[7:4] are outputs.  
Chapter 15. Parallel Port (General-Purpose I/O)  
15-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
llel Port Operation  
MBARx  
PAR  
PADDR  
PADAT  
EQU  
EQU  
EQU  
EQU  
0x00010000  
MBARx+0x004  
MBARx+0x244  
MBARx+0x248  
move.l #MBARx,D0  
;because MBAR is an internal register, MBARx is used as  
;label for the memory map address  
movec  
D0, MBAR  
move.w #0x00FF,D0  
move.w D0,PAR  
;set up the PAR. PP[7:0] set up as I/O  
move.w #0x00F0,D0  
move.w D0,PADDR  
move.b #0xA0,D0  
move.b D0,PADAT  
;set PP[7:4] as outputs; PP[3:0] as inputs  
;0xA0 written into PADAT; PP[7:4] being outputs,  
;PP[7:4] becomes 1010; i.e. PP7, PP5 = 1 and  
;PP6, PP4 = 0  
15-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Part IV  
Hardware Interface  
Intended Audience  
Part IV is intended for hardware designers who need to know the functions and electrical  
characteristics of the MCF5407 interface. It includes a pinout, and both electrical and  
functional descriptions of the MCF5307 signals. It also describes how these signals interact  
to support the variety of bus operations shown in timing diagrams.  
Contents  
Part IV contains the following chapters:  
Chapter 16, “Mechanical Data,” provides a functional pin listing and package  
diagram for the MCF5307.  
Chapter 17, “Signal Descriptions,” provides an alphabetical listing of MCF5307  
signals. This chapter describes the MCF5307 signals. In particular, it shows which  
are inputs or outputs, how they are multiplexed, which signals require pull-up  
resistors, and the state of each signal at reset.  
Chapter 18, “Bus Operation,” describes data transfers, error conditions, bus  
arbitration, and reset operations. It describes transfers initiated by the MCF5307 and  
by an external bus master, and includes detailed timing diagrams showing the  
interaction of signals in supported bus operations. Note that Chapter 11,  
“Synchronous/Asynchronous DRAM Controller Module,” describes DRAM cycles.  
Chapter 19, “IEEE 1149.1 Test Access Port (JTAG),” describes conguration and  
operation of the MCF5307 JTAG test implementation. It describes the use of JTAG  
instructions and provides information on how to disable JTAG functionality.  
Chapter 20, “Electrical Specications,” describes AC and DC electrical  
specications and thermal characteristics for the MCF5307. Because additional  
speeds may have become available since the publication of this book, consult  
Motorola’s ColdFire web page, http://www.motorola.com/coldre, to conrm that  
this is the latest information.  
Part IV.HardwareInterface  
IV-i  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Suggested Reading  
The following literature may be helpful with respect to the topics in Part IV:  
IEEE Standard Test Access Port and Boundary-Scan Architecture  
IEEE Supplement to Standard Test Access Port and Boundary-Scan Architecture  
(1149.1)  
Acronyms and Abbreviations  
Table IV-i describes acronyms and abbreviations used in Part IV.  
Table IV-i. Acronyms and Abbreviated Terms  
Term  
BDM  
Meaning  
Background debug mode  
Built-in self test  
BIST  
BSDL  
DMA  
DSP  
Boundary-scan description language  
Direct memory access  
Digital signal processing  
Extended data output (DRAM)  
EDO  
GPIO  
2
I C  
Inter-integrated circuit  
IEEE  
IPL  
Institute for Electrical and Electronics Engineers  
Interrupt priority level  
JEDEC  
JTAG  
LSB  
Joint Electron Device Engineering Council  
Joint Test Action Group  
Least-signicant byte  
Least-signicant bit  
lsb  
MAC  
MBAR  
MSB  
msb  
Multiple accumulate unit  
Memory base address register  
Most-signicant byte  
Most-signicant bit  
Mux  
Multiplex  
PCLK  
PLL  
Processor clock  
Phase-locked loop  
POR  
PQFP  
Power-on reset  
Plastic quad at pack  
IV-ii  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table IV-i. Acronyms and Abbreviated Terms (Continued)  
Term  
RISC  
Meaning  
Reduced instruction set computing  
Receive  
Rx  
SIM  
TAP  
TTL  
Tx  
System integration module  
Test access port  
Transistor-to-transistor logic  
Transmit  
Part IV.HardwareInterface  
IV-iii  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
IV-iv  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 16  
Mechanical Data  
This chapter provides a function pin listing and package diagram for the MCF5307. See the  
website [http://www.motorola.com/coldre] for any updated information.  
16.1 Package  
The MCF5307 is assembled in a 208-pin, thermally enhanced plastic QFP package.  
16.2 Pinout  
The MCF5307 pinout is detailed in the following tables, including the primary and  
secondary functions of multiplexed signals. Additional columns indicate the output drive  
capability of each pin, whether it is internally synchronized, and if the signal can change  
on a negative clock transition.  
These tables show MCF5307 pin numbers, including signal multiplexing. Additional  
columns indicate the direction, description, and output drive capability of each pin.  
Table 16-1. Pins 1–52 (Left, Top-to-Bottom)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No Name  
1
2
VCC  
A0  
I/O  
I/O  
Power input  
8
Address bus bit  
Address bus bit  
Ground pin  
3
A1  
8
4
GND  
A2  
8
5
I/O  
I/O  
Address bus bit  
Address bus bit  
Power input  
6
A3  
8
7
VCC  
A4  
8
8
I/O  
I/O  
Address bus bit  
Address bus bit  
Ground pin  
9
A5  
8
10  
11  
12  
GND  
A6  
8
I/O  
I/O  
Address bus bit  
Address bus bit  
A7  
8
Chapter 16. Mechanical Data  
16-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
ut  
Table 16-1. Pins 1–52 (Left, Top-to-Bottom) (Continued)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No Name  
13  
14  
15  
16  
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  
VCC  
A8  
I/O  
I/O  
I/O  
Power input  
8
Address bus bit  
A9  
Address bus bit  
8
A10  
Address bus bit  
8
GND  
A11  
Ground pin  
8
I/O  
I/O  
I/O  
Address bus bit  
A12  
Address bus bit  
8
A13  
Address bus bit  
8
VCC  
A14  
Power input  
8
I/O  
I/O  
I/O  
Address bus bit  
A15  
Address bus bit  
8
A16  
Address bus bit  
8
GND  
A17  
Ground pin  
8
I/O  
I/O  
I/O  
Address bus bit  
A18  
Address bus bit  
8
A19  
Address bus bit  
8
VCC  
A20  
Power input  
8
I/O  
I/O  
I/O  
Address bus bit  
A21  
Address bus bit  
8
A22  
Address bus bit  
8
GND  
A23  
Ground pin  
8
I/O  
I/O  
I/O  
Address bus bit  
PP8  
PP9  
VCC  
PP10  
PP11  
PP12  
GND  
PP13  
PP14  
PP15  
VCC  
SIZ0  
SIZ1  
A24  
A25  
Parallel port bit/Address bus bit  
Parallel port bit/Address bus bit  
Power input  
8
8
8
A26  
A27  
A28  
I/O  
I/O  
I/O  
Parallel port bit/Address bus bit  
Parallel port bit/Address bus bit  
Parallel port bit/Address bus bit  
Ground pin  
8
8
8
A29  
A30  
A31  
I/O  
I/O  
I/O  
Parallel port bit/Address bus bit  
Parallel port bit/Address bus bit  
Parallel port bit/Address bus bit  
Power input  
8
8
8
I/O  
I/O  
Size attribute  
Size attribute  
8
16-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Pinout  
Table 16-1. Pins 1–52 (Left, Top-to-Bottom) (Continued)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No Name  
48  
49  
50  
51  
52  
GND  
OE  
O
Ground pin  
8
Output enable for chip selects  
Chip select  
CS0  
CS1  
VCC  
O
8
O
Chip select  
8
Power input  
Table 16-2. Pins 53–104 (Bottom, Left-to-Right)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
Name  
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  
GND  
CS2  
CS3  
CS4  
VCC  
CS5  
CS6  
CS7  
GND  
AS  
O
O
O
O
O
O
I/O  
I/O  
I/O  
I/O  
I
Ground pin  
8
Chip select  
Chip select  
8
Chip select  
8
Power input  
Chip select  
8
Chip select  
8
Chip select  
8
Ground pin  
8
Address strobe  
Read/Write  
R/W  
TA  
8
Transfer acknowledge  
Power input  
Transfer start  
Reset  
8
VCC  
TS  
8
RSTI  
IRQ7  
GND  
IRQ5  
IRQ3  
IRQ1  
VCC  
BR  
8
I
Interrupt request  
Ground pin  
I
IRQ4  
IRQ6  
IRQ2  
Interrupt request  
Interrupt request  
Interrupt request  
Power input  
Bus request  
Bus driven  
I
I
O
O
I
BD  
8
BG  
Bus grant  
GND  
Ground pin  
Chapter 16. Mechanical Data  
16-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ut  
Table 16-2. Pins 53–104 (Bottom, Left-to-Right) (Continued)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
Name  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
TOUT1  
TOUT0  
TIN0  
O
O
Timer output  
8
Timer output  
8
I
Timer input  
16  
16  
16  
16  
16  
16  
16  
16  
16  
16  
8
VCC  
I
Power input  
TIN1  
Timer input  
RAS0  
RAS1  
GND  
O
DRAM row address strobe  
DRAM row address strobe  
Ground pin  
O
O
CAS0  
CAS1  
CAS2  
VCC  
DRAM column address strobe  
DRAM column address strobe  
DRAM column address strobe  
Power input  
O
O
O
CAS3  
DRAM column address strobe  
DRAM write  
91 DRAMW  
O
92  
93  
SRAS  
GND  
SCAS  
SCKE  
BE0  
O
SDRAM row address strobe  
Ground pin  
O
94  
SDRAM column address strobe  
SDRAM clock enable  
Byte enable/byte write enable  
Power input  
95  
O
96  
BWE0  
O
97  
VCC  
BE1  
O
8
98  
BWE1  
BWE2  
BWE3  
Byte enable/byte write enable  
Byte enable/byte write enable  
Byte enable/byte write enable  
Ground pin  
99  
BE2  
O
8
100  
101  
102  
103  
104  
BE3  
O
8
GND  
SCL  
I/OD  
I/OD  
8
1
1
Serial clock line  
SDA  
GND  
Serial data line  
8
Ground pin  
1
OD: Open-drain output  
Table 16-3. Pins 105–156 (Right, Bottom-to-Top)  
Pin  
Name  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
105  
106  
VCC  
D31  
Power input  
I/O Data bus  
8
16-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Pinout  
Table 16-3. Pins 105–156 (Right, Bottom-to-Top) (Continued)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
Name  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
118  
119  
120  
121  
122  
123  
124  
125  
126  
127  
128  
129  
130  
131  
132  
133  
134  
135  
136  
137  
138  
139  
140  
141  
D30  
D29  
GND  
D28  
D27  
D26  
VCC  
D25  
D24  
D23  
GND  
D22  
D21  
D20  
VCC  
D19  
D18  
D17  
GND  
D16  
D15  
D14  
VCC  
D13  
D12  
D11  
GND  
D10  
D9  
I/O Data bus  
I/O Data bus  
8
8
Ground pin  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
8
Power input  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
8
Ground pin  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
8
Power input  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
8
Ground pin  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
8
Power input  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
8
Ground pin  
8
I/O Data bus  
I/O Data bus  
I/O Data bus  
8
D8  
8
VCC  
D7  
Power input  
8
CS_CONF2  
CS_CONF1  
CS_CONF0  
I/O Data bus/Chip select conguration  
I/O Data bus/Chip select conguration  
I/O Data bus/Chip select conguration  
D6  
8
D5  
8
GND  
Ground pin  
Chapter 16. Mechanical Data  
16-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ut  
Table 16-3. Pins 105–156 (Right, Bottom-to-Top) (Continued)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
Name  
142  
143  
144  
145  
146  
147  
148  
149  
150  
151  
152  
153  
154  
155  
156  
D4  
D3  
ADDR_CONF  
FREQ1  
FREQ0  
I/O Data bus/Address conguration  
I/O Data bus/CLKIN Frequency  
I/O Data bus/CLKIN Frequency  
8
8
D2  
8
VCC  
D1  
Power input  
8
DIVIDE1  
DIVIDE0  
I/O Data bus/Divide control PCLK:BCLKO  
I/O Data bus/Divide control PCLK:BCLKO  
D0  
8
GND  
DSCLK  
TCK  
DSO  
VCC  
DSI  
I
Ground pin  
8
TRST  
TCK  
Debug serial clock/JTAG Reset  
JTAG clock  
I
TDO  
O
I
Debug serial out/JTAG data out  
Power input  
TDI  
Debug serial input/JTAG data in  
Debug breakpoint/JTAG mode select  
High impedance override  
Ground pin  
BKPT  
HIZ  
TMS  
I
I
GND  
Table 16-4. Pins 157–208 (Top, Right-to-Left)  
Pin  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
Name  
157  
158  
159  
160  
161  
162  
163  
164  
165  
166  
167  
168  
169  
170  
VCC  
CTS1  
RTS1  
RXD1  
TXD1  
GND  
I
Power input  
8
UART1 clear-to-send  
UART1 request-to-send  
UART1 receive data  
UART1 transmit data  
Ground pin  
O
I
8
O
I
8
CTS0  
RTS0  
RXD0  
TXD0  
VCC  
UART0 clear-to-send  
UART0 request-to-send  
UART0 receive data  
UART0 transmit data  
Power input  
O
I
8
O
I
16  
EDGESEL  
GND  
SDRAM bus clock edge select  
Ground pin  
O
BCLKO  
Bus clock output  
16-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Pinout  
Table 16-4. Pins 157–208 (Top, Right-to-Left) (Continued)  
Pin  
Name  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
171  
172  
173  
174  
175  
176  
177  
178  
179  
180  
181  
182  
183  
184  
185  
186  
187  
188  
189  
190  
191  
192  
193  
194  
195  
196  
197  
198  
199  
200  
201  
202  
203  
204  
205  
VCC  
RSTO  
GND  
O
I
Power input  
8
Processor reset output  
Ground pin  
8
CLKIN  
VCC  
Clock input  
I
Power input  
MTMOD0  
MTMOD1  
PGND  
NC  
JTAG/BDM select (Tie high or low)  
Tie high or low  
I
O
I
PLL ground pin  
PVCC  
MTMOD2  
MTMOD3  
GND  
Filter supply for PLL  
Tie high or low  
Tie high or low  
Ground pin  
I
O
O
O
O
O
O
O
O
O
PSTCLK  
VCC  
Processor status clock  
Power input  
8
DDATA0  
DDATA1  
GND  
Debug data  
Debug data  
8
Ground pin  
8
DDATA2  
DDATA3  
VCC  
Debug data  
Debug data  
8
Power input  
8
PST0  
PST1  
GND  
Processor status  
Processor status  
Ground pin  
8
8
PST2  
PST3  
VCC  
Processor status  
Processor status  
Power input  
8
8
PP7  
TIP  
DREQ0  
DREQ1  
I/O Parallel port bit/transfer in progress  
I/O Parallel port bit/DMA request  
I/O Parallel port bit/DMA request  
PP6  
8
PP5  
8
GND  
Ground pin  
8
PP4  
TM2  
TM1  
TM0  
I/O Parallel port bit/Transfer modier  
I/O Parallel port bit/Transfer modier  
I/O Parallel port bit/Transfer modier  
PP3  
8
PP2  
8
VCC  
Power input  
Chapter 16. Mechanical Data  
16-7  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
hanical Diagram  
Table 16-4. Pins 157–208 (Top, Right-to-Left) (Continued)  
Pin  
Name  
Alternate  
Function  
Drive  
(mA)  
I/O  
Description  
No  
206  
207  
208  
PP1  
PP0  
GND  
TT1  
TT0  
I/O Parallel port bit/Transfer type  
I/O Parallel port bit/Transfer type  
8
8
Ground pin  
16.3 Mechanical Diagram  
Figure 16-1 is a mechanical diagram of the 208-pin QFP MCF5307.  
16-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Case Drawing  
208  
157  
1
156  
VCC  
A0  
GND  
HIZ  
155  
150  
A1  
BKPT  
DSI  
GND  
A2  
5
VCC  
DSO  
TCK  
DSCLK  
GND  
D0  
A3  
VCC  
A4  
A5  
GND  
A6  
10  
15  
20  
25  
30  
35  
40  
45  
50  
D1  
A7  
145  
140  
135  
130  
125  
120  
115  
110  
105  
VCC  
D2  
VCC  
A8  
D3  
D4  
A9  
A10  
GND  
A11  
A12  
A13  
VCC  
A14  
A15  
A16  
GND  
A17  
A18  
A19  
VCC  
A20  
A21  
A22  
GND  
A23  
PP8  
PP9  
VCC  
PP10  
PP11  
PP12  
GND  
PP13  
PP14  
PP15  
VCC  
SIZ0  
SIZ1  
GND  
OE  
GND  
D5  
D6  
D7  
VCC  
D8  
D9  
D10  
GND  
D11  
D12  
D13  
VCC  
D14  
D15  
D16  
GND  
D17  
D18  
D19  
VCC  
D20  
D21  
D22  
GND  
D23  
D24  
D25  
VCC  
D26  
D27  
D28  
GND  
D29  
D30  
D31  
VCC  
CS0  
CS1  
VCC  
52  
105  
53  
104  
Figure 16-1. Mechanical Diagram  
16.4 Case Drawing  
Figure 16-2 and Figure 16-3 show the MCF5307 case drawings.  
Chapter 16. Mechanical Data  
16-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
e Drawing  
Figure 16-2. MCF5307 Case Drawing (General View)  
16-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Case Drawing  
View A: Three Places  
Section A-A: 160 Places Rotated 90° CW  
View B  
Figure 16-3. Case Drawing (Details)  
The dimensions in Figure 16-2 and Figure 16-3 are referenced in Table 16-5.  
Table 16-5. Dimensions  
Dimension (Millimeters)  
Reference  
Minimum  
Maximum  
A
A1  
A2  
b
4.10  
0.50  
3.60  
0.27  
0.23  
0.20  
0.16  
0.25  
3.20  
0.17  
0.17  
0.09  
0.09  
b1  
c
c1  
D
30.60 BSC  
Chapter 16. Mechanical Data  
16-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
e Drawing  
Table 16-5. Dimensions (Continued)  
Dimension (Millimeters)  
Reference  
Minimum  
Maximum  
D1  
e
28.00 BSC  
0.50 BSC  
30.60 BSC  
28.00 BSC  
E
E1  
L
0.45  
0.75  
L1  
R1  
R2  
S
1.30 REF  
0.08  
0.08  
0.20  
0*  
0.25  
ϑ
8*  
ϑ1  
ϑ2  
0*  
5*  
16*  
16-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 17  
Signal Descriptions  
This chapter describes MCF5307 signals. It includes an alphabetical listing of signals,  
showing multiplexing, whether it is an input or output to the MCF5307, the state at reset,  
and whether a pull-up resistor should be used. The following chapter, Chapter 18, “Bus  
Operation,” describes how these signals interact.  
NOTE:  
The terms ‘assertion’ and ‘negation’ are used to avoid  
confusion when dealing with a mixture of active-low and  
active-high signals. The term ‘asserted’ indicates that a signal  
is active, independent of the voltage level. The term ‘negated’  
indicates that a signal is inactive.  
Active-low signals, such as SRAS and TA, are indicated with  
an overbar.  
17.1 Overview  
Figure 17-1 shows the block diagram of the MCF5307 with the signal interface.  
Chapter 17. Signal Descriptions  
17-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
rview  
TDO/DSO  
TCK  
BR  
BG  
BD  
RSTI  
RSTO  
JTAG  
TMS/BKPT  
Port  
TDI/DSI  
TRST/DSCLK  
ColdFire V3 Core  
AS  
TA  
Test  
Controller  
TS  
2
2
Bus  
Interface  
Debug Module  
TT[1:0]]/PP[1:0]  
PST[3:0]  
4
4
SIZ[1:0]  
R/W  
TIP/PP7  
DDATA[3:0]  
4-Kbyte SRAM  
32  
D[31:0]  
DIV  
MAC  
24  
8
External  
to Internal  
Bus  
8-Kbyte  
Parallel  
A[23:0]  
Unified Cache  
1
Port  
A[31:24]/PP[15:8]  
TM[2:0]/PP[4:2]  
2
8
CS[7:0]  
BE[3:0]/BWE[3:0]  
Chip  
Selects  
Internal Bus Arbiter  
4
OE  
IRQ7  
IRQ5  
IRQ3  
IRQ1  
Interrupt  
Controller  
2
4
System  
Integration  
Module  
RAS[1:0]  
CAS[3:0]  
DRAMW  
SRAS  
SCAS  
SCKE  
Dual  
UART0 UART1  
2
DMA  
Module  
I C  
Timer  
Serial  
I/O  
Serial  
I/O  
2
(SIM)  
Module  
DRAM  
Controller  
Module  
EDGESEL  
BCLKO  
CLKIN  
PLL  
PSTCLK  
1
2
Note: Parallel port pins (PPn) are multiplexed with other bus functions as shown.  
I C is a Philips proprietary interface  
2
Figure 17-1. MCF5307 Block Diagram with Signal Interfaces  
Table 17-1 lists the MCF5307 signals grouped by functionality.  
17-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Overview  
Table 17-1. MCF5307 Signal Index  
Signal Name  
Abbreviation  
Function  
I/O  
Reset  
Pull-Up Page  
17-7  
Section 17.2, “MCF5307 Bus Signals”  
Address  
A[31:0]  
32-bit address bus. A[4:2] indicate  
the interrupt level for external  
interrupts.  
I/O  
Three  
state  
17-7  
Data  
D[31:0]  
R/W  
Data bus. D[7:0] are loaded at reset I/O  
for bus conguration.  
Three  
state  
17-8  
Read/Write  
Identies read and write transfers  
Indicates the data transfer size  
Indicates the start of a bus transfer  
I/O  
I/O  
I/O  
I/O  
I/O  
O
Three  
state  
Up  
17-8  
17-8  
17-9  
17-9  
17-9  
17-10  
17-10  
Size  
SIZ[1:0]  
TS  
Three  
state  
Transfer start  
Address strobe  
Transfer acknowledge  
Transfer in progress  
Transfer type  
Three  
state  
AS  
Indicates a bus cycle has been  
initiated and address is stable  
Three  
state  
Up  
Up  
TA  
Assertion terminates transfer  
synchronously  
Three  
state  
TIP/PP7  
TT[1:0]  
Indicates a bus cycle is in progress;  
multiplexed with PP7  
Parallel  
port  
Indicates transfer type: normal, CPU  
space, emulator mode, or DMA;  
multiplexed with PP[1:0]  
O
Parallel  
port  
Transfer modier  
TM[2:0]  
Provides transfer modier  
information; Multiplexed with  
PP[4:2].  
O
Parallel  
port  
17-10  
17-12  
17-12  
Section 17.3, “Interrupt Control Signals”  
Interrupt request  
IRQ7, IRQ5,  
IRQ3, IRQ1  
Four external interrupts are set to  
default levels 1,3,5,7; user-alterable.  
I
Up  
17-12  
Section 17.4, “Bus Arbitration Signals”  
Bus request  
Bus grant  
BR  
BG  
BD  
Indicates processor needs bus  
Arbiter asserts to grant mastership.  
Indicates processor is driving bus  
O
I
High  
17-12  
17-12  
17-13  
17-13  
1
Note  
Up  
Bus driven  
O
High  
Section 17.5, “Clock and Reset Signals”  
Reset in  
RSTI  
Processor reset input  
I
I
17-13  
17-13  
17-13  
17-13  
17-14  
Clock input  
Bus clock out  
Reset out  
CLKIN  
BCLKO  
RSTO  
Input used to clock internal logic  
Bus clock reference output  
Processor reset output  
O
O
I
Low  
Auto-acknowledge  
conguration  
AA_CONFIG  
Controls auto acknowledge timing  
for CS0 at reset  
2
2
Port size conguration  
Address conguration  
PS_CONFIG[1:0] Controls port size for CS0 at reset  
ADDR_CONFIG Programs parallel I/O ports  
I
I
User cfg 17-14  
User cfg 17-14  
2
Chapter 17. Signal Descriptions  
17-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
rview  
Table 17-1. MCF5307 Signal Index (Continued)  
Signal Name  
Abbreviation  
Function  
I/O  
Reset  
Pull-Up Page  
Frequency control PLL FREQ[1:0]  
Indicates CLKIN frequency range.  
Indicates the BCLKO/PSTCLK ratio.  
I
I
17-15  
17-15  
Divide control PCLK to DIVIDE[1:0]  
BCLKO  
17-15  
17-16  
Section 17.6, “Chip-Select Module Signals”  
Chip selects[7:0]  
CS[7:0]  
Enables peripherals at programmed  
addresses; CS0 provides boot ROM  
selection.  
O
High  
Byte enable[3:0]/  
Byte write enable[3:0]  
BE[3:0]/  
BWE[3:0]  
BE[3:0] select bytes in memory.  
O
O
High  
High  
17-16  
17-16  
17-16  
Output enable  
OE  
Output enable for chip select read  
cycles  
Section 17.7, “DRAM Controller Signals”  
Row address strobe  
RAS[1:0]  
DRAM row address strobe  
O
O
O
High  
High  
High  
17-16  
17-16  
17-17  
Column address strobe CAS[3:0]  
DRAM column address strobe  
DRAM write  
DRAMW  
Asserted for DRAM write; negated  
for DRAM read  
Synchronous column  
address strobe  
SCAS  
SDRAM column address strobe  
O
O
O
I
High  
High  
Low  
17-17  
17-17  
Synchronous row  
address strobe  
SRAS  
SDRAM row address strobe  
Synchronous clock  
enable  
SCKE  
Clock enable for external SDRAM  
Timing select for external SDRAM  
17-17  
Synchronous edge  
select  
EDGESEL  
User cfg 17-17  
17-17  
17-18  
Section 17.8, “DMA Controller Module Signals”  
DMA request  
DREQ[1:0]  
External DMA transfer request;  
multiplexed with PP[6:5]  
I
17-18  
Section 17.9, “Serial Module Signals”  
Receive data  
RxD[1:0]  
TxD[1:0]  
RTS[1:0]  
Receive serial data input for UART  
Transmit serial data output for UART  
I
17-18  
17-18  
17-18  
Transmit data  
Request-to-send  
O
O
High  
High  
UART asserts when ready to  
receive data query.  
Clear-to-send  
CTS[1:0]  
Signals UART that data can be sent  
to peripheral  
I
17-18  
17-18  
17-19  
Section 17.10, “Timer Module Signals”  
Timer input  
TIN[1:0]  
Clock input to timer or trigger to  
timer value capture logic  
I
Timer outputs  
TOUT[1:0]  
Outputs waveform or pulse.  
O
High  
17-19  
17-19  
Section 17.11, “Parallel I/O Port (PP[15:0])”  
17-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Overview  
Table 17-1. MCF5307 Signal Index (Continued)  
Signal Name  
Parallel port  
Abbreviation  
PP[15:0]  
Function  
I/O  
Reset  
Pull-Up Page  
Interfaces with I/O; multiplexed with I/O  
bus address and attribute signals.  
Input  
17-19  
2
17-19  
Section 17.12, “I C Module Signals”  
2
Serial clock line  
Serial data line  
SCL  
SDA  
Clock signal for I C operation  
I/O  
I/O  
Open  
drain  
Up  
Up  
17-19  
17-19  
17-20  
2
Serial data port for I C operation  
Open  
drain  
Section 17.13, “Debug and Test Signals”  
Motorola test mode  
MTMOD0  
Puts processor in functional or  
emulator mode  
I
User cfg 17-20  
Motorola test mode  
High impedance  
Processor clock out  
Processor status  
Debug data  
MTMOD[3:1]  
HIZ  
Reserved  
I
Down 17-20  
Assertion three-states all outputs  
Output clock used for PSTDDATA  
Displays captured processor data .  
I
Up  
17-20  
17-20  
17-20  
17-20  
PSTCLK  
PST[3:0]  
DDATA[3:0]  
O
O
O
Driven  
Driven  
Displays captured processor data  
and breakpoint status.  
17-21  
Section 17.14, “Debug Module/JTAG Signals”  
Test clock  
TCK  
Clock signal for IEEE 1149.1 JTAG  
I
I
Low  
Up  
17-23  
17-21  
Test reset/  
Development serial  
clock  
TRST/DSCLK  
Asynchronous reset for JTAG;  
debug module clock input  
Test mode select/  
Breakpoint  
TMS/BKPT  
TDI/DSI  
TMS (JTAG)/hardware breakpoint  
(debug)  
I
I
Up  
Up  
17-22  
17-22  
Test data input/  
Development serial  
input  
Multiplexed serial input for the JTAG  
or background debug module  
Test data output/  
Development serial  
output  
TDO/DSO  
Multiplexed serial output for the  
JTAG or background debug module  
O
Driven  
17-22  
1
If there is no arbiter, BG should be tied low; otherwise, it should be negated.  
2
These data pins are sampled at reset for conguration.  
Table 17-2 lists signals in alphabetical order by abbreviated name.  
Table 17-2. MCF507 Alphabetical Signal Index  
Abbreviation  
Signal Name  
Function  
Clock/reset  
I/O  
Page  
AA_CONFIG  
Auto-acknowledge conguration  
I
17-14  
17-14  
17-9  
ADDR_CONFIG Address conguration  
Clock/reset  
Bus  
I
AS  
Address strobe  
Address  
I/O  
I/O  
A[31:0]  
Bus  
17-7  
Chapter 17. Signal Descriptions  
17-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
rview  
Table 17-2. MCF507 Alphabetical Signal Index (Continued)  
Abbreviation  
Signal Name  
Function  
Clock/reset  
I/O  
Page  
BCLKO  
BD  
Bus clock out  
Bus driven  
O
O
O
I
17-13  
17-13  
17-16  
17-12  
17-12  
17-16  
17-13  
17-16  
17-18  
17-20  
17-15  
17-17  
17-18  
17-8  
Bus arbitration  
Chip select  
Bus arbitration  
Bus arbitration  
DRAM  
BE[3:0]/BWE[3:0] Byte enable[3:0]/Byte write enable[3:0]  
BG  
Bus grant  
BR  
Bus request  
O
O
I
CAS[3:0]  
CLKIN  
CS[7:0]  
CTS[1:0]  
DDATA[3:0]  
Column address strobe  
Clock input  
Clock/reset  
UART  
Chip selects[7:0]  
Clear-to-send  
Debug data  
O
I
Serial module  
Debug  
O
I
Clock/Reset  
DRAM  
DRAMW  
DREQ[1:0]  
D[31:0]  
DRAM write  
DMA request  
Data  
O
I
DMA  
Bus  
I/O  
I
EDGESEL  
Sync edge select  
DRAM  
17-17  
17-15  
17-20  
17-12  
Clock/Reset  
Debug  
I
HIZ  
High impedance  
Interrupt request  
I
IRQ7, IRQ5,  
IRQ3, IRQ1  
Interrupt control  
I
MTMOD[3:0]  
OE  
Motorola test mode  
Output enable  
Debug  
I
O
I/O  
O
O
I
17-20  
17-16  
17-19  
17-20  
17-20  
17-14  
17-8  
Chip select  
Parallel port  
Debug  
PP[15:0]  
PSTCLK  
PST[:0]  
Parallel port  
Processor clock out  
Processor status  
Debug  
PS_CONFIG[1:0] Port size conguration  
Clock/reset  
Bus  
R/W  
Read/Write  
I/O  
O
I
RAS[1:0]  
RSTI  
Row address strobe  
Reset In  
DRAM  
17-16  
17-13  
17-13  
17-18  
17-18  
17-17  
17-17  
17-19  
17-19  
17-8  
Clock/reset  
Clock/reset  
Serial module  
Serial module  
DRAM  
RSTO  
RTS[1:0]  
RxD[1:0]  
SCAS  
SCKE  
SCL  
Reset Out  
O
O
I
Request-to-send  
Receive data  
Synchronous column address strobe  
Synchronous clock enable  
Serial clock line  
Serial data line  
Size  
O
O
I/O  
I/O  
I/O  
DRAM  
2
I C  
2
SDA  
I C  
SIZ[1:0]  
Bus  
17-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
MCF5307 Bus Signals  
Table 17-2. MCF507 Alphabetical Signal Index (Continued)  
Abbreviation  
SRAS  
Signal Name  
Function  
I/O  
Page  
Synchronous row address strobe  
Transfer acknowledge  
Test clock  
DRAM  
Bus  
O
I/O  
I
17-17  
17-9  
TA  
TCK  
JTAG  
JTAG  
JTAG  
Timer  
Bus  
17-23  
17-22  
17-22  
17-19  
17-10  
17-22  
17-10  
17-19  
17-21  
17-9  
TDI/DSI  
TDO/DSO  
TIN[1:0]  
TIP  
Test data input/Development serial input  
Test data output/Development serial output  
Timer input  
I
O
I
Transfer in progress  
O
I
TMS/BKPT  
TM[2:0]  
TOUT[1:0]  
TRST/DSCLK  
TS  
Test mode select/Breakpoint  
Transfer modier  
JTAG  
Bus  
O
O
I
Timer outputs  
Timer  
JTAG  
Bus  
Test reset/Development serial clock  
Transfer start  
I/O  
O
O
TT[1:0]  
TxD[1:0]  
Transfer type  
Bus  
17-10  
17-18  
Transmit data  
Serial module  
17.2 MCF5307 Bus Signals  
The bus signals provide the external bus interface to the MCF5307.  
17.2.1 Address Bus  
The address bus provides the address of the byte or most-signicant byte (MSB) of the  
word or longword being transferred. The address lines also serve as the DRAM addressing,  
providing multiplexed row and column address signals. When an external device has  
ownership of the MCF5307 bus, the device must drive the address bus and assert TS or AS  
to indicate the start of a bus cycle. During an interrupt acknowledge access, A[4:2] indicate  
the interrupt level being acknowledged.  
17.2.1.1 Address Bus (A[23:0])  
The lower 24 bits of the address bus become valid when TS is asserted. A[4:2] indicate the  
interrupt level during interrupt acknowledge cycles.  
17.2.1.2 Address Bus (A[31:24]/PP[15:8])  
These multiplexed pins can serve as the most-signicant byte of the address bus, or as the  
most-signicant byte of the parallel port. Programming the PAR in the system integration  
module (SIM) determines the function of each of these eight multiplexed pins. These pins  
are programmable on a bit-by-bit basis.  
Chapter 17. Signal Descriptions  
17-7  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
5307 Bus Signals  
A[31:24]—Pins are congured as address bits by setting corresponding PAR bits;  
they represent the most-signicant address bus bits. As much as 4 Gbytes of  
memory are available when all of these pins are programmed as address signals.  
PP[15:8]—Pins are congured as parallel port signals by clearing corresponding  
PAR bits; these represent the most-signicant parallel port bits.  
17.2.2 Data Bus (D[31:0])  
The data bus is bidirectional and non-multiplexed. Data is sampled by the MCF5307 on the  
rising BCLKO edge. The data bus port width, wait states, and internal termination are  
initially dened for the boot chip select by D[7:0] during reset. The port width for each chip  
select and DRAM bank are programmable. The data bus uses a default conguration if none  
of the chip selects or DRAM bank match the address decode. The default conguration is  
a 32-bit port with external termination and burst-inhibited transfers. The data bus can  
transfer byte, word, or longword data widths. All 32 data bus signals are driven during  
writes, regardless of port width and operand size.  
D[7:0] are used during reset initialization as inputs to congure the functions as described  
in Table 17-3. They are dened in Section 17.5.5, “Data/Conguration Pins (D[7:0]).”  
Table 17-3. Data Pin Configuration  
Pin  
Function  
Section  
D7  
Auto-acknowledge conguration  
(AA_CONFIG)  
Section 17.5.5.2, D7Auto Acknowledge Conguration  
(AA_CONFIG)”  
D[6:5] Port size conguration (PS_CONFIG[1:0])  
Section 17.5.5.3, D[6:5]Port Size Conguration  
(PS_CONFIG[1:0])”  
D4  
Address conguration (ADDR_CONFIG/D4) Section 17.5.6, D4Address Conguration  
(ADDR_CONFIG)”  
D[3:2] Frequency Control PLL (FREQ[1:0])  
D[1:0] Divide Control (DIVIDE[1:0])  
Section 17.5.7, D[3:2]Frequency Control PLL (FREQ[1:0] )  
Section 17.5.8, D[1:0]Divide Control PCLK to BCLKO  
(DIVIDE[1:0])  
17.2.3 Read/Write (R/W)  
When the MCF5307 is the bus master, it drives the R/W signal to indicate the direction of  
subsequent data transfers. It is driven high during read bus cycles and driven low during  
write bus cycles. This signal is an input during an external master access.  
17.2.4 Size (SIZ[1:0])  
When it is the bus master, the MCF5307 outputs these signals to indicate the requested data  
transfer size. Table 17-4 shows the denition of the bus request size encodings. When the  
MCF5307 device is not the bus master, these signals function as inputs.  
Note that for misaligned transfers, SIZ[1:0] indicate the size of each transfer. For example,  
if a longword access occurs at a misaligned offset of 0x1, a byte is transferred rst (SIZ[1:0]  
17-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
MCF5307 Bus Signals  
= 01), a word is next transferred at offset 0x2 (SIZ[1:0] = 10), then the nal byte is  
transferred at offset 0x4 (SIZ[1:0] = 01).  
For aligned transfers larger than the port size, SIZ[1:0] behaves as follows:  
If bursting is used, SIZ[1:0] stays at the size of transfer.  
If bursting is inhibited, SIZ[1:0] rst shows the size of the transfer and then shows  
the port size.  
Table 17-4. Bus Cycle Size Encoding  
SIZ[1:0]  
Port Size  
Longword  
00  
01  
10  
11  
Byte  
Word  
Line  
For burst-inhibited transfers, SIZ[1:0] changes with each TS assertion to reect the next  
transfer size. For transfers to port sizes smaller than the transfer size, SIZ[1:0] indicates the  
size of the entire transfer on the rst access and the size of the current port transfer on  
subsequent transfers. For example, for a longword write to an 8-bit port, SIZ[1:0] = 00 for  
the rst byte transfer and 01 for the next three.  
17.2.5 Transfer Start (TS)  
The MCF5307 asserts TS during the rst clock cycle when address and attributes (TM, TT,  
TIP, R/W, and SIZ) are valid. TS is negated in the following clock cycle. When the  
MCF5307 is not the bus master, TS is an input.  
17.2.6 Address Strobe (AS)  
Address strobe (AS) is asserted to indicate when the address is stable at the start of a bus  
cycle. The address and attributes are guaranteed to be valid during the entire period that AS  
is asserted. This signal is asserted and negated on the falling edge of the clock. When the  
MCF5307 is not the bus master, AS is an input.  
17.2.7 Transfer Acknowledge (TA)  
When the MCF5307 is bus master, the external system drives this input to terminate the bus  
transfer. The bus continues to be driven until this synchronous signal is asserted. For write  
cycles, the processor continues to drive data one clock after TA is asserted. During read  
cycles, the peripheral must continue to drive data until TA is recognized.  
If all bus cycles support fast termination, TA can be tied low. However, note that TA cannot  
be tied low if potential external bus masters are present. The MCF5307 drives TA for an  
Chapter 17. Signal Descriptions  
17-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
5307 Bus Signals  
external master access. This condition is indicated by the AM bit in the chip-select mask  
register (CSMR) being cleared. See Chapter 10, “Chip-Select Module.”  
17.2.8 Transfer In Progress (TIP/PP7)  
The TIP/PP7 pin is programmed in the PAR to serve as the transfer-in-progress output or  
as a parallel port bits. The TIP output is asserted indicating a bus transfer is in progress. It  
is negated during idle bus cycles if the bus is still granted to the processor. It is three-stated  
for external master accesses. Note that TIP is held asserted on back-to-back bus cycles.  
17.2.9 Transfer Type (TT[1:0]/PP[1:0])  
The TT[1:0]/PP[1:0] pins are programmed in the PAR to serve as the transfer type outputs  
or as two parallel port bits. When the MCF5307 is bus master and TT[1:0] are enabled,  
these signals are driven as outputs only. If an external master owns the bus and TT[1:0] are  
enabled, these pins are three-stated by the MCF5307 and can be driven by the external  
master. Table 17-5 shows the denition of the encodings.  
Table 17-5. Bus Cycle Transfer Type Encoding  
TT[1:0]  
Transfer Type  
00  
01  
10  
11  
Normal access  
DMA access  
Emulator access  
CPU space or interrupt acknowledge  
17.2.10 Transfer Modifier (TM[2:0]/PP[4:2])  
The TM[2:0]/PP[4:2] pins are programmed in the PAR to serve as the transfer modier  
outputs or as three parallel port bits. These outputs provide supplemental information for  
each transfer type; see Table 17-6 through Table 17-10.  
When the MCF5307 is the bus master and TM[2:0] are enabled, these signals are driven as  
outputs only. If an external device is bus master and TM[2:0] are enabled, these pins are  
three-stated by the MCF5307 and can be driven by the external master.  
Table 17-6. TM[2:0] Encodings for TT = 00 (Normal Access)  
TM[2:0]  
Transfer Modifier  
000  
001  
Cache push access  
User data access  
User code access  
Reserved  
010  
011100  
101  
Supervisor data access  
17-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
MCF5307 Bus Signals  
Table 17-6. TM[2:0] Encodings for TT = 00 (Normal Access) (Continued)  
TM[2:0]  
Transfer Modifier  
110  
111  
Supervisor code access  
Reserved  
As shown in Table 17-7, if the DMA is bus master (TT = 01), TM[2:0] indicate the type of  
DMA access and provide the DMA acknowledgement information for channels 0 and 1.  
NOTE:  
When TT= 01, the TM0 encoding is independent from TM[2:1]  
encoding.  
Table 17-7. TM0 Encoding for DMA as Master (TT = 01)  
TM0  
Transfer Modifier Encoding  
0
1
Single-address access negated  
Single-address access  
Table 17-8. TM[2:1] Encoding for DMA as Master (TT = 01)  
TM[2:1]  
Transfer Modifier Encoding  
00  
01  
10  
11  
DMA acknowledges negated  
DMA acknowledge, channel 0  
DMA acknowledge, channel 1  
Reserved  
Table 17-9 shows TM[2:0] encodings for emulator mode accesses.  
Table 17-9. TM[2:0] Encodings for TT = 10 (Emulator Access)  
TM[2:0]  
Transfer Modifier  
000100  
101  
Reserved  
Emulator mode data access  
Emulator mode code access  
Reserved  
110  
111  
The TM signals indicate user or data transfer types during emulation transfers, while for  
interrupt acknowledge transfers, the TM signals carry the interrupt level being  
acknowledged; see Table 17-10.  
Table 17-10. TM[2:0] Encodings for TT = 11 (Interrupt Level)  
TM[2:0]  
Transfer Modifier  
CPU Space  
Interrupt level 1 acknowledge  
000  
001  
Chapter 17. Signal Descriptions  
17-11  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
rrupt Control Signals  
Table 17-10. TM[2:0] Encodings for TT = 11 (Interrupt Level) (Continued)  
TM[2:0]  
Transfer Modifier  
010  
011  
100  
101  
110  
111  
Interrupt level 2 acknowledge  
Interrupt level 3 acknowledge  
Interrupt level 4 acknowledge  
Interrupt level 5 acknowledge  
Interrupt level 6 acknowledge  
Interrupt level 7 acknowledge  
17.3 Interrupt Control Signals  
The interrupt control signals supply the external interrupt level to the MCF5307 device.  
17.3.1 Interrupt Request (IRQ1/IRQ2, IRQ3/IRQ6, IRQ5/IRQ4,  
and IRQ7)  
The IRQ1, IRQ3, IRQ5, and IRQ7 signals are the default interrupt request signals (IRQn).  
However, by setting the appropriate bit in the interrupt port assignment register (IRQPAR),  
IRQ1, IRQ3, and IRQ5 can be changed to function as IRQ2, IRQ6, and IRQ4, respectively.  
See Section 9.2.4, “Interrupt Port Assignment Register (IRQPAR).”  
17.4 Bus Arbitration Signals  
The bus arbitration signals provide the external bus arbitration control for the MCF5307.  
17.4.1 Bus Request (BR)  
The BR output indicates to an external arbiter that the processor is requesting to be bus  
master for one or more bus cycles. BR is negated when the MCF5307 begins an access to  
the external bus with no other internal accesses pending. BR remains negated until another  
internal request occurs.  
17.4.2 Bus Grant (BG)  
An external arbiter asserts the BG input to indicate that the MCF5307 can take control of  
the bus on the next rising edge of BCLKO. When the arbiter negates BG, the MCF5307 will  
release the bus as soon as the current transfer completes. The external arbiter must not grant  
the bus to any other master until both BD and BG are negated.  
17-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Clock and Reset Signals  
17.4.3 Bus Driven (BD)  
The MCF5307 asserts BD to indicate that it is the current master and is driving the bus. The  
MCF5307 behaves as follows:  
If the MCF5307 is the bus master but is not using the bus, BD is asserted.  
If the MCF5307 loses mastership during a transfer, it completes the last transfer of  
the access, negates BD, and three-states all bus signals on the rising edge of  
BCLKO.  
If the MCF5307 loses bus mastership during an idle clock cycle, it three-states all  
bus signals on the rising edge of BCLKO.  
BD cannot be negated unless BG is negated.  
17.5 Clock and Reset Signals  
The clock and reset signals congure the MCF5307 and provide interface signals to the  
external system.  
17.5.1 Reset In (RSTI)  
Asserting RSTI causes the MCF5307 to enter reset exception processing. When RSTI is  
recognized, BR and BD are negated and the address bus, data bus, TT, SIZ, R/W, AS, and  
TS are three-stated. RSTO is asserted automatically when RSTI is asserted.  
17.5.2 Clock Input (CLKIN)  
CLKIN is the MCF5307 input clock frequency to the on-board phase-locked-loop (PLL)  
clock generator. CLKIN is used to internally clock or sequence the MCF5307 internal bus  
interface at a selected multiple of the input frequency used for internal module logic.  
17.5.3 Bus Clock Output (BCLKO)  
The internal PLL generates BCLKO and can be programmed to be 1/2, 1/3, or 1/4 of the  
processor clock frequency. BCLKO should be used as the bus timing reference.  
17.5.4 Reset Out (RSTO)  
After RSTI is asserted, the PLL temporarily loses its lock, during which time RSTO is  
asserted. When the PLL regains its lock, RSTO negates again. This signal can be used to  
reset external devices.  
17.5.5 Data/Configuration Pins (D[7:0])  
This section describes data pins, D[7:0], that are read at reset for conguration. Table 17-11  
shows pin assignments.  
Chapter 17. Signal Descriptions  
17-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
k and Reset Signals  
Table 17-11. Data Pin Configuration  
Pin  
Function  
D7  
Auto-acknowledge conguration (AA_CONFIG)  
D[6:5] Port size conguration (PS_CONFIG[1:0])  
D4 Address conguration (ADDR_CONFIG/D4)  
D[3:2] Frequency Control PLL (FREQ[1:0])  
D[1:0] Divide Control (DIVIDE[1:0])  
17.5.5.1 D[7:5Boot Chip-Select (CS0) Configuration  
D[7:5] determine defaults for the global chip select (CS0), the only chip select valid at reset.  
These signals correspond to bits in chip-select conguration register 0 (CSCR0).  
17.5.5.2 D7—Auto Acknowledge Configuration (AA_CONFIG)  
At reset, the enabling and disabling of auto acknowledge for boot CS0 is determined by the  
logic level driven on D7 at the rising edge of RSTI. AA_CONFIG is multiplexed with D7  
and sampled only at reset. The D7 logic level is reected as the reset value of CSCR[AA].  
Table 17-12 shows how the D7 logic level corresponds to the auto acknowledge timing for  
CS0 at reset. Note that auto acknowledge can be disabled by driving a logic 0 on D7 at reset.  
Table 17-12. D7 Selection of CS0 Automatic Acknowledge  
D7 (CSCR0[AA])  
Boot CS0 AA  
0
1
Disabled  
Enabled with 15 wait states  
17.5.5.3 D[6:5]—Port Size Configuration (PS_CONFIG[1:0])  
The default port size value of the boot CS0 is determined by the logic levels driven on  
D[6:5] at the rising edge of RSTI, which are reected as the reset value of CSCR[PS]. Table  
17-13 shows how the logic levels of D[6:5] correspond to the CS0 port size at reset.  
Table 17-13. D6 and D5 Selection of CS0 Port Size  
D[6:5] (CSCR0[PS])  
Boot CS0 Port Size  
00  
01  
1x  
32-bit port  
8-bit port  
16-bit port  
17.5.6 D4—Address Configuration (ADDR_CONFIG)  
The address conguration signal (ADDR_CONFIG) programs the PAR of the parallel I/O  
port to be either parallel I/O or to be the upper address bus bits along with various attribute  
and control signals at reset to give the user the option to access a broader addressing range  
17-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Chip-Select Module Signals  
of memory if desired. ADDR_CONFIG is multiplexed with D4 and its conguration is  
sampled at reset as shown in Table 17-14.  
Table 17-14. D4/ADDR_CONFIG, Address Pin Assignment  
D4/ADDR_CONFIG  
PAR Configuration at Reset  
PP[15:0], defaulted to inputs upon reset  
A[31:24]/TIP/DREQ[1:0]/TM[2:0]/TT[1:0]  
0
1
17.5.7 D[3:2]—Frequency Control PLL (FREQ[1:0])  
The frequency control PLL input bus (FREQ[1:0]) indicates the CLKIN frequency range.  
These signals are multiplexed with D[3:2] and are sampled during the assertion of RESET.  
These signals indicate the operating frequency range to the PLL, as shown in Table 17-15.  
Note that these signals do not affect the PLL frequency but are required to set up the analog  
PLL.  
Table 17-15. CLKIN Frequency  
FREQ[1:0]/D[3:2]  
CLKIN Frequency (MHz)  
00  
01  
10  
11  
16.627.999  
2838.999  
3945  
Reserved  
17.5.8 D[1:0]—Divide Control PCLK to BCLKO (DIVIDE[1:0])  
This 2-bit input bus indicates the BCLKO/PSTCLK ratio. These signals are sampled during  
the assertion of RESET and indicate the ratios shown in Table 17-16.  
Table 17-16. BCLKO/PSTCLK Divide Ratios  
DIVIDE[1:0]/D[1:0]  
Ratio of BCLKO/PSTCLK  
00  
01  
10  
11  
1/4  
Reserved  
1/2  
1/3  
17.6 Chip-Select Module Signals  
The MCF5307 device provides eight programmable chip-select signals that can directly  
interface with SRAM, EPROM, EEPROM, and peripherals. These signals are asserted and  
negated on the falling edge of the clock.  
Chapter 17. Signal Descriptions  
17-15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
M Controller Signals  
17.6.1 Chip-Select (CS[7:0])  
Each chip select can be programmed for a base address location and for masking addresses,  
port size and burst-capability indication, wait-state generation, and internal/external  
termination.  
Reset clears all chip select programming; CS0 is the only chip select initialized out of reset.  
CS0 is also unique because it can function at reset as a global chip select that allows boot  
ROM to be selected at any dened address space. Port size and termination (internal vs.  
external) for boot CS0 are congured by the levels on D[7:5] on the rising edge of RSTI,  
as described in Section 17.5.5.1, “D[7:5Boot Chip-Select (CS0) Conguration.”  
The chip-select implementation is described in Chapter 10, “Chip-Select Module.”  
17.6.2 Byte Enables/Byte Write Enables (BE[3:0]/BWE[3:0])  
The four byte enables are multiplexed with the MCF5307 byte-write-enable signals. Each  
pin can be individually programmed through the chip-select control registers (CSCRs). For  
each chip select, assertion of byte enables for reads and byte-write enables for write cycles  
can be programmed. Alternatively, users can program byte-write enables to assert on writes  
and no byte enable assertion for read transfers.  
17.6.3 Output Enable (OE)  
The output enable (OE) signal is sent to the interfacing memory and/or peripheral to enable  
a read transfer. OE is asserted only when a chip select matches the current address decode.  
17.7 DRAM Controller Signals  
The DRAM signals in the following sections interface to external DRAM. DRAM with  
widths of 8, 16, and 32 bits are supported and can access as much as 512 Mbytes of DRAM.  
17.7.1 Row Address Strobes (RAS[1:0])  
The row address strobes (RAS[1:0]) interface to RAS inputs on industry-standard  
ADRAMs. When SDRAMs are used, these signals interface to the chip-select lines of the  
SDRAMs within a memory block. Thus, there is one RAS line for each memory block.  
17.7.2 Column Address Strobes (CAS[3:0])  
The column address strobes (CAS[3:0]) interface to CAS inputs on industry-standard  
DRAMs. These provide CAS for a given ADRAM block. When SDRAMs are used, CAS  
signals control the byte enables for standard SDRAMs (referred to as DQMx). CAS3  
accesses the LSB and CAS0 accesses the MSB of data.  
17-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
DMA Controller Module Signals  
17.7.3 DRAM Write (DRAMW)  
The DRAM write signal (DRAMW) is asserted to signify that a DRAM write cycle is  
underway. A read bus cycle is indicated by the negation of DRAMW.  
17.7.4 Synchronous DRAM Column Address Strobe (SCAS)  
The synchronous DRAM column address strobe (SCAS) is registered during synchronous  
mode to route directly to the SCAS signal of SDRAMs.  
17.7.5 Synchronous DRAM Row Address Strobe (SRAS)  
The synchronous DRAM row address strobe output (SRAS) is registered during  
synchronous mode to route directly to the SRAS signal of external SDRAMs.  
17.7.6 Synchronous DRAM Clock Enable (SCKE)  
The synchronous DRAM clock enable output (SCKE) is registered during synchronous  
mode to route directly to the SCKE signal of external SDRAMs. This signal provides the  
clock enable to the SDRAM.  
17.7.7 Synchronous Edge Select (EDGESEL)  
The synchronous edge select input (EDGESEL) helps select additional output hold times  
for signals that interface to external SDRAMs. It provides the following three modes of  
operation for SDRAM control signals:  
When EDGESEL is tied high, SDRAM control signals change on the rising edge of  
BCLKO.  
When EDGESEL is tied low, SDRAM control signals change on the falling edge of  
BCLKO.  
When EDGESEL is tied to the external clock (normally buffered BCLKO), which  
drives the SDRAM and other devices, SDRAM signals are generated within the  
MCF5307 make a transition on the rising edge of the SDRAM clock. See  
Figure 11-14 on page 11-19. This loop-back conguration provides additional  
output hold time for MCF5307 interface signals provided to the SDRAM. In this  
case, the SDRAM clock operates at the BCLKO frequency, with a possible slight  
phase delay.  
17.8 DMA Controller Module Signals  
The DMA controller module uses the signals in the following subsections to provide  
external request for either a source or destination.  
Chapter 17. Signal Descriptions  
17-17  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
al Module Signals  
17.8.1 DMA Request (DREQ[1:0]/PP[6:5])  
The DMA request pins (DREQ[1:0]/PP[6:5]) can serve as the DMA request inputs or as  
two bits of the parallel port, as determined by individually programmable bits in the PAR.  
These inputs are asserted by a peripheral device to request an operand transfer between that  
peripheral and memory by either channel 0 or 1 of the on-chip DMA.  
Note that DMA acknowledge indication is displayed on TM[2:0], during DMA transfers of  
channel 0 and 1.  
17.9 Serial Module Signals  
The signals in the following sections are used to transfer serial data between the two UART  
modules and external peripherals.  
17.9.1 Transmitter Serial Data Output (TxD)  
TxD is held high (mark condition) when the transmitter is disabled, idle, or operating in the  
local loop-back mode. Data is shifted out least-signicant bit (lsb) rst on TxD on the  
falling edge of the clock source.  
17.9.2 Receiver Serial Data Input (RxD)  
Data received on RxD is sampled on the rising edge of the clock source, with the lsb  
received rst.  
17.9.3 Clear to Send (CTS)  
This input can generate an interrupt on a change of state.  
17.9.4 Request to Send (RTS)  
This output can be programmed to be negated or asserted automatically by either the  
receiver or the transmitter. When connected to a transmitter’s CTS, RTS can control serial  
data ow.  
17.10 Timer Module Signals  
The signals in the following sections are external interfaces to the two general-purpose  
MCF5307 timers. These 16-bit timers can capture timer values, trigger external events or  
internal interrupts, or count external events.  
17-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
Parallel I/O Port (PP[15:0])  
17.10.1 Timer Inputs (TIN[1:0])  
TIN[1:0] can be programmed as clocks that cause events in the counter and prescalers.  
They can also cause captures on the rising edge, falling edge, or both edges.  
17.10.2 Timer Outputs (TOUT1, TOUT0)  
The programmable timer outputs (TOUT1 and TOUT0) pulse or toggle on various timer  
events.  
17.11 Parallel I/O Port (PP[15:0])  
This 16-bit bus is dedicated for general-purpose I/O. The parallel port is multiplexed with  
the A[31:24], TT[1:0], TM[2:0], TIP, and DREQ[1:0]. These 16 bits are programmed for  
functionality with the PAR in the SIM.  
The system designer controls the reset value of this register by driving D4 with a 1 or 0 on  
the rising edge of RSTI (reset input to MCF5307 device). At reset, the system is congured  
as PP[15:0] if D4 is 0; otherwise alternate pin functions selected by PAR = 1 are used.  
Motorola recommends that D4 be driven during reset to a logic level.  
2
17.12 I C Module Signals  
2
The I C module acts as a two-wire, bidirectional serial interface between the MCF5307 and  
2
peripherals with an I C interface (such as LED controller, A-to-D converter, or D-to-A  
2
converter). Devices connected to the I C must have open-drain or open-collector outputs.  
2
17.12.1 I C Serial Clock (SCL)  
2
2
The bidirectional, open-drain I C serial clock signal (SCL) is the clock signal for I C  
2
module operation. The I C module controls this signal when the bus is in master mode; all  
I C devices drive this signal to synchronize I C timing.  
2
2
2
17.12.2 I C Serial Data (SDA)  
2
The bidirectional, open-drain I C serial data signal (SDA) is the data input/output for the  
2
serial I C interface.  
Chapter 17. Signal Descriptions  
17-19  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ug and Test Signals  
17.13 Debug and Test Signals  
The signals in this section interface with external I/O to provide processor status signals.  
17.13.1 Test Mode (MTMOD[3:0])  
The test mode signals choose between multiplexed debug module and JTAG signals. If  
MTMOD0 is low, the part is in normal and background debug mode (BDM); if it is high,  
it is in normal and JTAG mode. All other MTMOD values are reserved; MTMOD[3:1]  
should be tied to ground and MTMOD[3:0] should not be changed while RSTI is negated.  
17.13.2 High Impedance (HIZ)  
The assertion of HIZ forces all output drivers to high-impedance state. The timing on HIZ  
is independent of the clock. Note that HIZ does not override the JTAG operation;  
TDO/DSO can be forced to high impedance by asserting TRST.  
17.13.3 Processor Clock Output (PSTCLK)  
The internal PLL generates this output signal, and is the processor clock output that is used  
as the timing reference for the debug bus timing (DDATA[3:0] and PST[3:0]). PSTCLK is  
at the same frequency as the core processor and cache memory. The frequency is 2x the  
CLKIN.  
17.13.4 Debug Data (DDATA[3:0])  
The debug data signals (DDATA[3:0]) display captured processor data and breakpoint  
status. See Chapter 5, “Debug Support,” for additional information on this bus.  
17.13.5 Processor Status (PST[3:0])  
The processor status pins indicate the MCF5307 processor status. During debug mode, the  
timing is synchronous with the processor clock (PSTCLK) and the status is not related to  
the current bus transfer. Table 2-11 shows the encodings of these signals.  
17-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Debug Module/JTAG Signals  
.
Table 17-17. Processor Status Signal Encodings  
PST[3:0]  
Definition  
Hex  
Binary  
0x0  
0x1  
0x2  
0x3  
0x4  
0x5  
0x6  
0x7  
0x8  
0x9  
0xA  
0xB  
0xC  
0xD  
0xE  
0xF  
0000  
0001  
0010  
0011  
0100  
0101  
0110  
0111  
1000  
1001  
1010  
1011  
1100  
1101  
1110  
1111  
Continue execution  
Begin execution of an instruction  
Reserved  
Entry into user-mode  
Begin execution of PULSE and WDDATA instructions  
1
Begin execution of taken branch or Synch_PC  
Reserved  
Begin execution of RTE instruction  
Begin 1-byte data transfer on DDATA  
Begin 2-byte data transfer on DDATA  
Begin 3-byte data transfer on DDATA  
Begin 4-byte data transfer on DDATA  
2
Exception processing  
2
Emulator mode entry exception processing  
2
Processor is stopped, waiting for interrupt  
2
Processor is halted  
1
2
Rev. B enhancement.  
These encodings are asserted for multiple cycles.  
17.14 Debug Module/JTAG Signals  
The MCF5307 complies with the IEEE 1149.1a JTAG testing standard. JTAG test pins are  
multiplexed with background debug pins. Except for TCK, these signals are selected by the  
value of MTMOD0. If MTMOD0 is high, JTAG signals are chosen; if it is low, debug  
module signals are chosen. MTMOD0 should be changed only while RSTI is asserted.  
17.14.1 Test Reset/Development Serial Clock  
(TRST/DSCLK)  
If MTMOD0 is high, TRST is selected. TRST asynchronously resets the internal JTAG  
controller to the test logic reset state, causing the JTAG instruction register to choose the  
bypass instruction. When this occurs, JTAG logic is benign and does not interfere with  
normal MCF5307 functionality.  
Although TRST is asynchronous, Motorola recommends that it makes an  
asserted-to-negated transition only while TMS is held high. TRST has an internal pull-up  
resistor so if it is not driven low, it defaults to a logic level of 1. If TRST is not used, it can  
be tied to ground or, if TCK is clocked, to V . Tying TRST to ground places the JTAG  
DD  
Chapter 17. Signal Descriptions  
17-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ug Module/JTAG Signals  
controller in test logic reset state immediately. Tying it to V causes the JTAG controller  
DD  
(if TMS is a logic level of 1) to eventually enter test logic reset state after 5 TCK clocks.  
If MTMOD0 is low, DSCLK is selected. DSCLK is the development serial clock for the  
serial interface to the debug module. The maximum DSCLK frequency is 1/5 CLKIN. See  
Chapter 5, “Debug Support.”  
17.14.2 Test Mode Select/Breakpoint (TMS/BKPT)  
If MTMOD0 is high, TMS is selected. The TMS input provides information to determine  
the JTAG test operation mode. The state of TMS and the internal 16-state JTAG controller  
state machine at the rising edge of TCK determine whether the JTAG controller holds its  
current state or advances to the next state. This directly controls whether JTAG data or  
instruction operations occur. TMS has an internal pull-up resistor so that if it is not driven  
low, it defaults to a logic level of 1. But if TMS is not used, it should be tied to V  
.
DD  
If MTMOD0 is low, BKPT is selected. BKPT signals a hardware breakpoint to the  
processor in debug mode. See Chapter 5, “Debug Support.”  
17.14.3 Test Data Input/Development Serial Input (TDI/DSI)  
If MTMOD0 is high, TDI is selected. TDI provides the serial data port for loading the  
various JTAG boundary scan, bypass, and instruction registers. Shifting in data depends on  
the state of the JTAG controller state machine and the instruction in the instruction register.  
Shifts occur on the TCK rising edge. TDI has an internal pull-up resistor, so when not  
driven low it defaults to high. But if TDI is not used, it should be tied to V  
.
DD  
If MTMOD0 is low, DSI is selected. DSI provides the single-bit communication for debug  
module commands. See Chapter 5, “Debug Support.”  
17.14.4 Test Data Output/Development Serial Output  
(TDO/DSO)  
If MTMOD0 is high, TDO is selected. The TDO output provides the serial data port for  
outputting data from JTAG logic. Shifting out data depends on the JTAG controller state  
machine and the instruction in the instruction register. Data shifting occurs on the falling  
edge of TCK. When TDO is not outputting test data, it is three-stated. TDO can be  
three-stated to allow bused or parallel connections to other devices having JTAG.  
If MTMOD0 is low, DSO is selected. DSO provides single-bit communication for debug  
module responses. See Chapter 5, “Debug Support.”  
17-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Debug Module/JTAG Signals  
17.14.5 Test Clock (TCK)  
TCK is the dedicated JTAG test logic clock independent of the MCF5307 processor clock.  
Various JTAG operations occur on the rising or falling edge of TCK. Holding TCK high or  
low for an indenite period does not cause JTAG test logic to lose state information. If TCK  
is not used, it must be tied to ground.  
Chapter 17. Signal Descriptions  
17-23  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
ug Module/JTAG Signals  
17-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 18  
Bus Operation  
This chapter describes data-transfer operations, error conditions, bus arbitration, and reset  
operations. It describes transfers initiated by the MCF5307 and by an external bus master,  
and includes detailed timing diagrams showing the interaction of signals in supported bus  
operations. Chapter 11, “Synchronous/Asynchronous DRAM Controller Module,”  
describes DRAM cycles.  
18.1 Features  
The following list summarizes bus operation features:  
Up to 32 bits of address and data  
8-, 16-, and 32-bit port sizes  
Byte, word, longword, and line size transfers  
Bus arbitration for external devices  
Burst and burst-inhibited transfer support  
Internal termination for core and DMA bus cycles  
External termination of bus cycles controlled by an external bus master  
Note that, throughout this manual, an overbar indicates an active-low signal.  
18.2 Bus and Control Signals  
Table 18-1 summarizes MCF5307 bus signals described in Chapter 17, “Signal  
Descriptions.”  
Table 18-1. ColdFire Bus Signal Summary  
Signal Name  
Description  
Address strobe  
MCF5307 Master  
External Master  
Edge  
AS  
O
I
I
Falling  
Rising  
Falling  
Falling  
Rising  
A[31:0]  
Address bus  
O
1
BE/BWE  
Byte enable/Byte write enable  
Chip selects  
O
O
1
CS[7:0]  
O
O
D[31:0]  
Data bus  
I/O  
I/O  
Chapter 18. Bus Operation  
18-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Characteristics  
Table 18-1. ColdFire Bus Signal Summary (Continued)  
Signal Name  
Description  
Interrupt request  
MCF5307 Master  
External Master  
Edge  
IRQ[7,5,3,1]  
I
I
I
I
I
Rising  
Falling  
Rising  
Rising  
Rising  
Rising  
Rising  
Rising  
Rising  
1
OE  
Output enable  
Read/write  
O
O
O
I
R/W  
SIZ[1:0]  
TA  
Transfer size  
Transfer acknowledge  
Transfer in progress  
Transfer modier  
Transfer start  
O
TIP  
O
O
O
O
Three-state  
Three-state  
I
TM[2:0]  
TS  
TT[1:0]  
Transfer type  
Three-state  
1
These signals change after the falling edge. In Chapter 20, Electrical Specications,these signals are specied  
off the rising edge because CLKIN is squared up internally.  
18.3 Bus Characteristics  
The MCF5307 uses an input clock signal (CLKIN) to generate its internal clock. BCLKO  
is the bus clock rate, where all bus operations are synchronous to the rising edge of  
BCLKO. Some of the bus control signals (BE/BWE, OE, CSx, and AS) are synchronous to  
the falling edge, shown in Figure 18-1. Bus characteristics may differ somewhat for  
interfacing with external DRAM.  
BCLKO  
t
t
ho  
vo  
Rising-Edge  
Signals  
t
t
ho  
vo  
Falling-Edge  
Signals  
t
t
hi  
si  
Inputs  
t
t
=Propagation delay of signal relative to BCLKO edge  
vo  
=Output hold time relative to BCLKO edge  
ho  
t =Required input setup time relative to BCLKO edge  
si  
t =Required input hold time relative to BCLKO edge  
hi  
Figure 18-1. Signal Relationship to BCLKO for Non-DRAM Access  
18-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
18.4 Data Transfer Operation  
Data transfers between the MCF5307 and other devices involve the following signals:  
Address bus (A[31:0])  
Data bus (D[31:0])  
Control signals (TS and TA)  
AS, CSx, OE, BE/BWE  
Attribute signals (R/W, SIZ, TT, TM, and TIP)  
The address bus, write data, TS, and all attribute signals change on the rising edge of  
BCLKO. Read data is latched into the MCF5307 on the rising edge of BCLKO. AS, CSx,  
OE, and BE/BWE change on the falling edge.  
The MCF5307 bus supports byte, word, and longword operand transfers and allows  
accesses to 8-, 16-, and 32-bit data ports. Transfer parameters such as port size, the number  
of wait states for the external slave being accessed, and whether internal transfer  
termination is enabled, can be programmed in the chip-select control registers (CSCRs) and  
DRAM control registers (DACRs).  
For aligned transfers larger than the port size, SIZ[1:0] behaves as follows:  
If bursting is used, SIZ[1:0] stays at the size of transfer.  
If bursting is inhibited, SIZ[1:0] rst shows the size of the transfer and then shows  
the port size.  
Table 18-2 shows encoding for SIZ[1:0].  
Table 18-2. Bus Cycle Size Encoding  
SIZ[1:0]  
Port Size  
Longword  
00  
01  
10  
11  
Byte  
Word  
Line  
Figure 18-2 shows the byte lanes that external memory should be connected to and the  
sequential transfers if a longword is transferred for three port sizes. For example, an 8-bit  
memory should be connected to D[31:24] (BE0). A longword transfer takes four transfers  
on D[31:24], starting with the MSB and going to the LSB.  
Chapter 18. Bus Operation  
18-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Transfer Operation  
Byte Enable  
BE0  
BE1  
BE2  
BE3  
Processor  
External  
Data Bus  
D[31:24]  
D[23:16]  
D[15:8]  
D[7:0]  
32-Bit Port  
Memory  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
16-Bit Port  
Memory  
Byte 0  
Byte 2  
Byte 1  
Byte 3  
Driven with  
indeterminate values  
8-Bit Port  
Memory  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Driven with  
indeterminate values  
Figure 18-2. Connections for External Memory Port Sizes  
The timing relationships between BCLKOchip select (CS[7:0]), byte enable/byte write  
enables (BE/BWE[3:0]), and output enable (OE) are similar to their relationships with  
address strobe (AS) in that all transitions occur during the low phase of BCLKO. However,  
as shown in Figure 18-3, differences in on-chip signal routing and external loading may  
prevent signals from asserting simultaneously.  
BCLKO  
CS[7:0]  
BE/BWE[3:0]  
AS, OE  
Figure 18-3. Chip-Select Module Output Timing Diagram  
18.4.1 Bus Cycle Execution  
When a bus cycle is initiated, the MCF5307 rst compares its address with the base address  
and mask congurations programmed for chip selects 0–7 (CSCR0–CSCR7) and for  
DRAM blocks 0 and 1 address and control registers (DACR0 and DACR1). If the driven  
address matches a programmed chip select or DRAM block, the appropriate chip select is  
asserted or the DRAM block is selected using the specications programmed in the  
respective conguration register. Otherwise, the following occurs:  
If the address and attributes do not match in CSCR or DACR, the MCF5307 runs an  
external burst-inhibited bus cycle with a default of external termination on a 32-bit  
port.  
If an address and attribute match in multiple CSCRs, the matching chip-select  
signals are driven; however, the MCF5307 runs an external burst-inhibited bus cycle  
with external termination on a 32-bit port.  
If an address and attribute match both DACRs or a DACR and a CSCR, the operation  
is undened.  
18-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
Table 18-3 shows the type of access as a function of match in the CSCRs and DACRs.  
Table 18-3. Accesses by Matches in CSCRs and DACRs  
Number of CSCR Matches  
Number of DACR Matches  
Type of Access  
0
0
0
0
1
1
1
External  
1
Dened by CSCRs  
External, burst-inhibited, 32-bit  
Dened by DACRs  
Undened  
Multiple  
0
1
Multiple  
Undened  
0
Multiple  
Multiple  
Multiple  
Undened  
1
Undened  
Multiple  
Undened  
Basic bus operations occur in three clocks, as follows:  
1. During the rst clock, the address, attributes, and TS are driven. AS is asserted at the  
falling edge of the clock to indicate that address and attributes are valid and stable.  
2. Data and TA are sampled during the second clock of a bus-read cycle. During a read,  
the external device provides data and is sampled at the rising edge at the end of the  
second bus clock. This data is concurrent with TA, which is also sampled at the  
rising clock edge.  
During a write, the MCF5307 drives data from the rising clock edge at the end of the  
rst clock to the rising clock edge at the end of the bus cycle. Wait states can be  
added between the rst and second clocks by delaying the assertion of TA. TA can  
be congured to be generated internally through the DACRs and CSCRs. If TA is  
not generated internally, the system must provide it externally.  
3. The last clock of the bus cycle uses what would be an idle clock between cycles to  
provide hold time for address, attributes, and write data. Figure 18-6 and  
Figure 18-8 show the basic read and write operations.  
18.4.2 Data Transfer Cycle States  
The data transfer operation in the MCF5307 is controlled by an on-chip state machine. Each  
bus clock cycle is divided into two states. Even states occur when BCLKO is high and odd  
states occur when BCLKO is low. The state transition diagram for basic and  
fast-termination read and write cycles is shown in Figure 18-4.  
Chapter 18. Bus Operation  
18-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Transfer Operation  
Next Cycle  
S0  
S5  
S1  
Basic  
Read/Write  
Fast  
Termination  
S4  
S2  
Wait  
States  
S3  
Figure 18-4. Data Transfer State Transition Diagram  
Table 18-4 describes the states as they appear in subsequent timing diagrams. Note that the  
TT[1:0], TM[2:0], and TIP functions are chosen in the PAR, as described in Section 15.1.1,  
“Pin Assignment Register (PAR).”  
Table 18-4. Bus Cycle States  
State  
Cycle  
BCLKO  
Description  
S0  
All  
All  
High  
The read or write cycle is initiated. On the rising edge of BCLKO, the MCF5307  
places a valid address on the address bus, asserts TIP, and drives R/W high for  
a read and low for a write, if these signals are not already in the appropriate  
state. The MCF5307 asserts TT[1:0], TM[2:0], SIZ[1:0], and TS on the rising  
edge of BCLKO.  
S1  
S2  
S3  
S4  
Low  
High  
Low  
High  
AS asserts on the falling edge of BCLKO, indicating that the address and  
attributes are stable. The appropriate CSx, BE/BWE, and OE signals assert on  
the BCLKO falling edge.  
Fast termination  
TA must be asserted during S1. Data is made available by the external device  
and is sampled on the rising edge of BCLKO with TA asserted.  
Read/write  
(skipped for fast  
termination)  
TS is negated on the rising edge of BCLKO.  
Write  
The data bus is driven out of high impedance as data is placed on the bus on  
the rising edge of BCLKO.  
Read/write  
(skipped for fast  
termination)  
The MCF5307 waits for TA assertion. If TA is not sampled as asserted before  
the rising edge of BCLKO at the end of the rst clock cycle, the MCF5307  
inserts wait states (full clock cycles) until TA is sampled as asserted.  
Read  
Data is made available by the external device on the falling edge of BCLKO and  
is sampled on the rising edge of BCLKO with TA asserted.  
All  
The external device should negate TA.  
Read (including  
fast termination)  
The external device can stop driving data after the rising edge of BCLKO.  
However, data could be driven up to S5.  
18-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
Table 18-4. Bus Cycle States (Continued)  
State  
Cycle  
BCLKO  
Description  
S5  
S5  
Low  
AS, CS, BE/BWE, and OE are negated on the BCLKO falling edge. The  
MCF5307 stops driving address lines and R/W on the rising edge of BCLKO,  
terminating the read or write cycle. At the same time, the MCF5307 negates  
TT[1:0], TM[2:0], TIP, and SIZ[1:0] on the rising edge of BCLKO.  
Note that the rising edge of BCLKO may be the start of S0 for the next access  
cycle; in this case, TIP remains asserted and R/W may not transition,  
depending on the nature of the back-to-back cycles.  
Read  
Write  
The external device stops driving data between S4 and S5.  
The data bus returns to high impedance on the rising edge of BCLKO. The  
rising edge of BCLKO may be the start of S0 for the next access.  
NOTE:  
An external device has at most two BCLKO cycles after the  
start of S4 to three-state the data bus after data is sampled in S3.  
This applies to basic read cycles, fast-termination cycles, and  
the last transfer of a burst.  
18.4.3 Read Cycle  
During a read cycle, the MCF5307 receives data from memory or from a peripheral device.  
Figure 18-5 is a read cycle owchart.  
System  
MCF5307  
1. Set R/W to read  
2. Place address on A[31:0]  
3. Assert TT[1:0], TM[2:0], TIP,  
and SIZ[1:0]  
4. Assert TS  
5. Assert AS  
6. Negate TS  
1. Decode address and select the  
appropriate slave device.  
2. Drive data on D[31:0]  
3. Assert TA  
1. Sample TA low and latch data  
1. Start next cycle  
1. Negate TA.  
2. Stop driving D[31:0]  
Figure 18-5. Read Cycle Flowchart  
The read cycle timing diagram is shown in Figure 18-6.  
NOTE:  
In the following timing diagrams, TA waveforms apply for chip  
selects programmed to enable either internal or external  
termination. TA assertion should look the same in either case.  
Chapter 18. Bus Operation  
18-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Transfer Operation  
S0  
S1  
S2  
S3  
S4  
S5  
BCLKO  
R/W  
TT[1:0], TM[2:0]  
SIZ[1:0], A[31:0]  
TIP  
TS  
AS, CSx  
BEx, OE  
Read  
D[31:0]  
TA  
Figure 18-6. Basic Read Bus Cycle  
Note the following characteristics of a basic read:  
In S3, data is made available by the external device on the falling edge of BCLKO  
and is sampled on the rising edge of BCLKO with TA asserted.  
In S4, the external device can stop driving data after the rising edge of BCLKO.  
However, data could be driven up to S5.  
For a read cycle, the external device stops driving data between S4 and S5.  
States are described in Table 18-4.  
18.4.4 Write Cycle  
During a write cycle, the MCF5307 sends data to memory or to a peripheral device. The  
write cycle owchart is shown in Figure 18-7.  
18-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
System  
MCF5307  
1. Set R/W to write  
2. Place address on A[31:0]  
3. Assert TT[1:0], TM[2:0], TIP,  
and SIZ[1:0]  
4. Assert TS  
5. Assert AS  
6. Place data on D[31:0]  
7. Negate TS  
1. Decode address  
2. Store data on D[31:0]  
3. Assert TA  
1. Sample TA low  
1. Negate TA  
1. Tree-state D[31:0]  
2. Start next cycle  
Figure 18-7. Write Cycle Flowchart  
The write cycle timing diagram is shown in Figure 18-8.  
S0  
S1  
S2  
S3  
S4  
S5  
BCLKO  
A[31:0], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BWEx  
Write  
D[31:0]  
TA  
Figure 18-8. Basic Write Bus Cycle  
Table 18-4 describes the six states of a basic write cycle.  
18.4.5 Fast-Termination Cycles  
Two clock-cycle transfers are supported on the MCF5307 bus. In most cases, this is  
impractical to use in a system because the termination must take place in the same half  
clock during which AS is asserted. Because this is atypical, it is not referred to as the  
zero-wait-state case but is called the fast-termination case. A fast-termination cycle is one  
in which an external device or memory asserts TA as soon as TS is detected. This means  
that the MCF5307 samples TA on the rising edge of the second cycle of the bus transfer.  
Figure 18-9 shows a read cycle with fast termination. Note that fast termination cannot be  
used with internal termination.  
Chapter 18. Bus Operation  
18-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Transfer Operation  
S0  
S1  
S4  
S5  
BCLKO  
A[31:0],TT[1:0]  
TM[2:0, SIZ[1:0]]  
R/W  
TIP  
TS  
AS, CSx  
BEx, OE  
Read  
D[31:0]  
TA  
Figure 18-9. Read Cycle with Fast Termination  
Figure 18-10 shows a write cycle with fast termination.  
S0  
S1  
S4  
S5  
BCLKO  
A[31:0], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BWEx, OE  
D[31:0]  
TA  
Write  
Figure 18-10. Write Cycle with Fast Termination  
18.4.6 Back-to-Back Bus Cycles  
The MCF5307 runs back-to-back bus cycles whenever possible. For example, when a  
longword read is started on a word-size bus, the processor performs two back-to-back word  
read accesses. Back-to-back accesses are distinguished by the continuous assertion of TIP  
throughout the cycle. Figure 18-11 shows a read back-to-back with a write.  
18-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
S0  
S1  
S2  
S3  
S4  
S5  
S0  
S1  
S2 S3 S4 S5  
BCLKO  
A[31:0], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BE/BWEx  
OE  
D[31:0]  
TA  
Read  
Write  
Figure 18-11. Back-to-Back Bus Cycles  
Basic read and write cycles are used to show a back-to-back cycle, but there is no restriction  
as to the type of operations to be placed back to back. The initiation of a back-to-back cycle  
is not user denable.  
18.4.7 Burst Cycles  
The MCF5307 can be programmed to initiate burst cycles if its transfer size exceeds the  
size of the port it is transferring to. For example, with bursting enabled, a word transfer to  
an 8-bit port would take a 2-byte burst cycle for which SIZ[1:0] = 10 throughout. A line  
transfer to a 32-bit port would take a 4-longword burst cycle, for which SIZ[1:0] = 11  
throughout.  
The MCF5307 bus can support 2-1-1-1 burst cycles to maximize cache performance and  
optimize DMA transfers. A user can add wait states by delaying termination of the cycle.  
The initiation of a burst cycle is encoded on the size pins. For burst transfers to smaller port  
sizes, SIZ[1:0] indicates the size of the entire transfer. For example, if the MCF5307 writes  
a longword to an 8-bit port, SIZ[1:0] = 00 for the rst byte transfer and does not change.  
CSCRs are used to enable bursting for reads, writes, or both. MCF5307 memory space can  
be declared burst-inhibited for reads and writes by clearing the appropriate  
CSCRx[BSTR,BSTW]. A line access to a burst-inhibited region is broken into separate  
port-width accesses. Unlike a burst access, SIZ[1:0] = 11 only for the rst port-width  
access; for the remaining accesses, SIZ[1:0] reects the port width, with individual  
accesses separated by AS negations. The address changes if internal termination is used but  
does not change if external termination is used, as shown in Figure 18-12 and Figure 18-14.  
Chapter 18. Bus Operation  
18-11  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Transfer Operation  
18.4.7.1 Line Transfers  
A line is a 16-byte-aligned, 16-byte value. Despite the alignment, a line access may not  
begin on the aligned address; therefore, the bus interface supports line transfers on multiple  
address boundaries. Table 18-5 shows allowable patterns for line accesses.  
Table 18-5. Allowable Line Access Patterns  
A[3:2]  
Longword Accesses  
00  
01  
10  
11  
048C  
48C0  
8C04  
C048  
18.4.7.2 Line Read Bus Cycles  
Figure 18-12 shows line read with zero wait states. The access starts like a basic read bus  
cycle with the rst data transfer sampled on the rising edge of S4, but the next pipelined  
burst data is sampled a cycle later on the rising edge of S6. Each subsequent pipelined data  
burst is single cycle until the last one, which can be held for up to 2 BCLKO cycles after  
TA is asserted. Note that AS and CSx are asserted throughout the burst transfer. This  
example shows the timing for external termination, which differs only from the internal  
termination example in Figure 18-13 in that the address lines change only at the beginning  
(assertion of TS and TIP) and end (negation of TIP) of the transfer.  
S0  
S1 S2 S3 S4 S5  
S6  
S7 S8 S9 S10 S11 S12  
BCLKO  
A[31:0], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BE/BWEx, OE  
Read  
Read  
Read  
Read  
D[31:0]  
TA  
Figure 18-12. Line Read Burst (2-1-1-1), External Termination  
Figure 18-13 shows timing when internal termination is used.  
18-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
S0  
S1 S2 S3 S4 S5  
S6  
S7 S8 S9 S10 S11 S12  
BCLKO  
A[31:0]  
TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BE/BWEx, OE  
Read  
Read  
Read  
Read  
D[31:0]  
TA  
Figure 18-13. Line Read Burst (2-1-1-1), Internal Termination  
Figure 18-14 shows a line access read with one wait state programmed in CSCRx to give  
the peripheral or memory more time to return read data. This gure follows the same  
execution as a zero-wait state read burst with the exception of an added wait state.  
.
S11  
S13  
WS  
WS S10  
S12  
WS  
S0  
S4  
WS  
S8 S9  
S1 S2 S3  
S5  
S7  
S6  
BCLKO  
A[31:0], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BE/BWEx, OE  
Read  
Read  
Read  
Read  
D[31:0]  
TA  
Figure 18-14. Line Read Burst (3-2-2-2), External Termination  
Figure 18-15 shows a burst-inhibited line read access with fast termination. The external  
device executes a basic read cycle while determining that a line is being transferred. The  
external device uses fast termination for subsequent transfers.  
Chapter 18. Bus Operation  
18-13  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Transfer Operation  
S0 S1 S2 S3 S4 S5 S0 S1 S4 S5 S0 S1 S4 S5 S0 S1 S4 S5 S6 S7  
BCLKO  
A[31:0]  
R/W  
A[3:2] = 00  
A[3:2] = 01  
A[3:2] = 10  
A[3:2] = 11  
TT[1:0]  
TM[2:0]  
TIP  
SIZ[1:0]  
TS  
Line  
Longword  
AS, CSx  
BE/BWEx, OE  
Read  
Fast  
Read  
Fast  
Read  
Read  
Fast  
D[31:0]  
TA  
Basic  
Figure 18-15. Line Read Burst-Inhibited, Fast, External Termination  
18.4.7.3 Line Write Bus Cycles  
Figure 18-16 shows a line access write with zero wait states. It begins like a basic write bus  
cycle with data driven one clock after TS. The next pipelined burst data is driven a cycle  
after the write data is registered (on the rising edge of S6). Each subsequent burst takes a  
single cycle. Note that as with the line read example in Figure 18-12, AS and CSx remain  
asserted throughout the burst transfer. This example shows the behavior of the address lines  
for both internal and external termination. Note that with external termination, address  
lines, like SIZ, TT, and TM, hold the same value for the entire transfer.  
S0  
S1  
S2  
S3 S4  
S5 S6  
S7 S8 S9 S10 S11  
BCLKO  
A[31:0]  
Internal Termination  
A[31:0]  
External Termination  
SIZ[1:0]  
TM[1:0], TT[1:0]  
R/W, TIP  
TS  
AS, CSx  
OE, BE/BWE  
Write  
Write  
Write  
Write  
D[31:0]  
TA  
Figure 18-16. Line Write Burst (2-1-1-1), Internal/External Termination  
18-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Data Transfer Operation  
Figure 18-17 shows a line burst write with one wait-state insertion.  
S0 S1 S2 S3  
S4 S5  
S6 S7  
S8 S9  
S10S11  
WS  
WS  
WS  
WS  
BCLKO  
A[31:0]  
R/W, TIP  
TM[2:0], TT[1:0]  
SIZ[1:0]  
TS  
AS, CSx  
OE, BWE  
Write  
Write  
Write  
D[31:0]  
TA  
Write  
Figure 18-17. Line Write Burst (3-2-2-2) with One Wait State, Internal Termination  
Figure 18-18 shows a burst-inhibited line write. The external device executes a basic write  
cycle while determining that a line is being transferred. The external device uses fast  
termination to end each subsequent transfer.  
S0 S1 S2 S3 S4 S5 S0 S1 S4 S5 S0 S1 S4 S5 S0 S1 S4 S5  
BCLKO  
A[31:0]  
A[3:2] = 00  
A[3:2] = 01  
A[3:2] = 10  
Longword  
A[3:2] = 11  
R/W, TIP  
TT[1:0]  
TM[2:0]  
SIZ[1:0]  
TS  
Line  
AS, CSx  
OE, BWE  
Write  
Write  
Fast  
Write  
Fast  
Write  
Fast  
D[31:0]  
TA  
Basic  
Figure 18-18. Line Write Burst-Inhibited, Internal Termination  
18.4.7.4 Transfers Using Mixed Port Sizes  
Figure 18-19 shows timing for a longword read from an 8-bit port using external  
termination. Figure 18-20 shows the same transfer with internal termination. For both,  
SIZ[1:0] change only at the start of a new transfer because this burst is implemented as one  
Chapter 18. Bus Operation  
18-15  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
aligned Operands  
transfer.  
S0  
S1 S2 S3 S4 S5  
S6  
S7 S8 S9 S10 S11 S12  
BCLKO  
A[31:0], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BE/BWEx, OE  
Read  
Read  
Read  
Read  
D[31:0]  
TA  
Figure 18-19. Longword Read from an 8-Bit Port, External Termination  
Note that with external termination, address signals do not change. With internal  
termination, Figure 18-20, A[1:0] increment for the same longword transfer.  
S0  
S1 S2 S3 S4 S5  
S6  
S7 S8 S9 S10 S11 S12  
BCLKO  
A[1:0]  
A[31:2], TT[1:0]  
TM[2:0], SIZ[1:0]  
R/W  
TIP  
TS  
AS, CSx  
BE/BWEx, OE  
Read  
Read  
Read  
Read  
D[31:0]  
TA  
Figure 18-20. Longword Read from an 8-Bit Port, Internal Termination  
18.5 Misaligned Operands  
Because operands, unlike opcodes, can reside at any byte boundary, they are allowed to be  
misaligned. A byte operand is properly aligned at any address, a word operand is  
misaligned at an odd address, and a longword is misaligned at an address not a multiple of  
four. Although the MCF5307 enforces no alignment restrictions for data operands  
(including program counter (PC) relative data addressing), additional bus cycles are  
required for misaligned operands.  
18-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Bus Errors  
Instruction words and extension words (opcodes) must reside on word boundaries.  
Attempting to prefetch a misaligned instruction word causes an address error exception.  
The MCF5307 converts misaligned, cache-inhibited operand accesses to multiple aligned  
accesses. Figure 18-21 shows the transfer of a longword operand from a byte address to a  
32-bit port. In this example, SIZ[1:0] specify a byte transfer and a byte offset of 0x1. The  
slave device supplies the byte and acknowledges the data transfer. When the MCF5307  
starts the second cycle, SIZ[1:0] specify a word transfer with a byte offset of 0x2. The next  
two bytes are transferred in this cycle. In the third cycle, byte 3 is transferred. The byte  
offset is now 0x0, the port supplies the nal byte, and the operation is complete.  
A[2:0]  
001  
31  
24 23  
16 15  
8 7  
0
Transfer 1  
Transfer 2  
Transfer 3  
Byte 0  
Byte 1  
Byte 2  
010  
100  
Byte 3  
Figure 18-21. Example of a Misaligned Longword Transfer (32-Bit Port)  
If an operand is cacheable and is misaligned across a cache-line boundary, both lines are  
loaded into the cache. The example in Figure 18-22 differs from the one in Figure 18-21 in  
that the operand is word-sized and the transfer takes only two bus cycles.  
A[2:0]  
001  
31  
24 23  
16 15  
8 7  
0
Transfer 1  
Transfer 2  
Byte 0  
Byte 0  
100  
Figure 18-22. Example of a Misaligned Word Transfer (32-Bit Port)  
NOTE:  
External masters using internal MCF5307 chip selects and  
default memory control signals must initiate aligned transfers.  
18.6 Bus Errors  
The MCF5307 has no bus monitor. If the auto-acknowledge feature is not enabled for the  
address that generates the error, the bus cycle can be terminated by asserting TA or by using  
the software watchdog timer. If it is required that the MCF5307 handle a bus error  
differently, an interrupt handler can be invoked by asserting an interrupt to the core along  
with TA when the bus error occurs.  
18.7 Interrupt Exceptions  
A peripheral device uses the interrupt-request signals (IRQx) to signal the core to take an  
interrupt exception when it needs the MCF5307 or is ready to send information to it. The  
interrupt transfers control to an appropriate routine.  
Chapter 18. Bus Operation  
18-17  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
The MCF5307 has the following two levels of interrupt masking:  
rrupt Exceptions  
Interrupt mask registers in the SIM compare interrupt inputs with programmable  
interrupt mask levels. The SIM outputs only unmasked interrupts.  
The status register uses a 3-bit interrupt priority mask. The core recognizes only  
interrupt requests of higher priority than the value in the mask. See Section 2.2.2.1,  
“Status Register (SR).”  
NOTE:  
To mask a level 1–6 interrupt source, write a higher-level SR  
interrupt mask before setting IMR. Then restore the mask to its  
previous value. Do not mask a level 7 interrupt source.  
The MCF5307 continuously samples and synchronizes external interrupt inputs. An  
interrupt request must be held for at least two consecutive BCLKO periods to be considered  
valid. To guarantee that the interrupt is recognized, the request level must be maintained  
until the MCF5307 acknowledges the interrupt with an interrupt-acknowledge cycle.  
NOTE:  
Interrupt levels 1–7 are level-sensitive. Level 7 is also  
edge-triggered. See Section 18.7.1, “Level 7 Interrupts.”  
The MCF5307 takes an interrupt exception for a pending interrupt within one instruction  
boundary after processing any higher-priority pending exception. Thus, the MCF5307  
executes at least one instruction in an interrupt exception handler before recognizing  
another interrupt request.  
If autovector generation is used for internal interrupts (ICRn[AVEC] = 1), the interrupt  
acknowledge vector is generated internally and no interrupt acknowledge cycle is generated  
on the external bus.  
If autovector generation is used for external interrupts, no interrupt acknowledge cycle is  
shown on the external bus (AS is not asserted) unless AVR[BLK] is 0. Consequently, the  
external interrupt must be cleared in the interrupt service routine. See Section 9.2.2,  
“Autovector Register (AVR).”  
18.7.1 Level 7 Interrupts  
Level 7 interrupts are nonmaskable and are handled differently than other interrupts.  
Level 7 interrupts are edge triggered by a transition from a lower priority request to the  
level 7 request. Interrupts at all other levels are level sensitive. Therefore, if IRQ7 remains  
asserted, the MCF5307 recognizes only one level 7 interrupt because only one transition  
from a lower level request to a level 7evel 7 request occurred. For the processor to  
recognize two consecutive level 7 interrupts, one of the following must occur:  
18-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Interrupt Exceptions  
The interrupt request on the interrupt control pins is raised to level 7 and stays there  
until an interrupt-acknowledge cycle begins. The level later drops but then returns to  
level 7, causing a second transition on the interrupt control lines.  
The interrupt request on the interrupt control pins is raised to level 7 and stays there.  
If the level 7 interrupt routine lowers the mask level, a second level 7 interrupt is  
recognized without a transition of the interrupt control pins. After the level 7 routine  
completes, the MCF5307 compares the mask level to the request level on the IRQx  
signals. Because the mask level is lower than the requested level, the interrupt mask  
is set back to level 7. To ensure it is recognized, the level 7 request on IRQ7 must be  
held until the second interrupt-acknowledge bus cycle begins.  
18.7.2 Interrupt-Acknowledge Cycle  
When the MCF5307 processes an interrupt exception, it performs an interrupt-  
acknowledge bus cycle to obtain the vector number that contains the starting location of the  
interrupt exception handler. The interrupt-acknowledge bus cycle is a read transfer that  
differs from normal read cycles in the following respects:  
TT[1:0] = 0x3 to indicate a CPU space or acknowledge bus cycle.  
TM[2:0] = the level of interrupt being acknowledged.  
A[31:5] = 0x7F_FFFF.  
A[4:2] = the interrupt request level being acknowledged (same as TM[2:0]).  
A[1:0] = 00.  
During the interrupt-acknowledge bus cycle (a read cycle), the responding device places the  
vector number on D[31:24] and the cycle is terminated normally with TA. Figure 18-23 is  
a ow diagram for an interrupt-acknowledge cycle terminated with TA.  
Chapter 18. Bus Operation  
18-19  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Arbitration  
MCF5307  
SYSTEM  
1. Drive 0x7FFFFF on A[31:5]  
2. Drive 0x0 on A[1:0]  
3. Drive interrupt level on A[4:2]  
4. Drive R/W to read (R/W = 1)  
5. Drive SIZ[1:0] to indicate byte (SIZ[1:0] = 01)  
6. Drive TT[1:0] and TM[2:0] to indicate interrupt  
acknowledge (TT[1:0] = 11; TM[2:0] = interrupt  
level)  
7. Assert TS for one BCLKO cycle  
1. Negate TS  
2. Drive TM[2:0] to indicate interrupt  
acknowledge (TM[2:0] = interrupt level)  
1. Decode address and select the appropriate slave  
device.  
1. Read and store data (D[31:24])  
2. Recognize the transfer is done  
2. Drive data on D[31:24]  
3. Assert TA for one BCLKO cycle  
Figure 18-23. Interrupt-Acknowledge Cycle Flowchart  
18.8 Bus Arbitration  
The MCF5307 bus protocol gives either the MCF5307 or an external device access to the  
external bus. If more than one external device uses the bus, an external arbiter can prioritize  
requests and determine which device is bus master. When the MCF5307 is bus master, it  
uses the bus to fetch instructions and transfer data to and from external memory. When an  
external device is bus master, the MCF5307 can monitor the external master’s transfers and  
interact through its chip-select, DRAM control, and transfer termination signals. See  
Section 10.4.1.3, “Chip-Select Control Registers (CSCR0–CSCR7),” and Chapter 11,  
“Synchronous/Asynchronous DRAM Controller Module.”  
Two-wire bus arbitration is used where the MCF5307 shares the bus with a single external  
device. This mode uses BG and BD. The external device can ignore BR. Three-wire mode  
is used where the MCF5307 shares the bus with multiple external devices. This requires an  
external bus arbiter and uses BG, BD, and BR. In either mode, the MCF5307 bus arbiter  
operates synchronously and transitions between states on the rising edge of BCLKO.  
Table 18-6 shows the four arbitration states the MCF5307 can be in during bus operation.  
Table 18-6. MCF5307 Arbitration Protocol States  
State  
Master  
Bus  
BD  
Description  
Reset  
None  
Not  
driven  
Negated The MCF5307 enters reset state from any other state when RSTI or  
software watchdog reset is asserted. If both are negated, the MCF5307  
enters implicit or external device mastership state, depending on BG.  
Implicit  
master  
MCF5307  
Not  
driven  
Negated The MCF5307 is bus master (BG input is asserted) but is not ready to  
begin a bus cycle. It continues to three-state the bus until an internal bus  
request.  
18-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
General Operation of External Master Transfers  
Table 18-6. MCF5307 Arbitration Protocol States (Continued)  
State  
Master  
Bus  
BD  
Description  
Explicit  
master  
MCF5307 Driven Asserted The MCF5307 is explicit bus master when BG is asserted and at least  
one bus cycle has been initiated. It asserts BD and retains explicit  
mastership until BG is negated even if no active bus cycles are executed.  
It releases the bus at the end of the current bus cycle, then negates BD  
and three-states the bus signals.  
External External  
master  
Not  
driven  
Negated An external device is bus master (BG negated to MCF5307). The  
MCF5307 can assert OE, CS[7:0], BE/BWE[3:0], TA, and all DRAM  
controller signals (RAS[1:0], CAS[3:0], SRAS, SCAS, DRAMW, SCKE).  
If the MCF5307 is the only possible master, BG can be tied to GND—no arbiter is needed.  
18.8.1 Bus Arbitration Signals  
Bus arbitration signal timings in Table 18-7 are referenced to the system clock, which is not  
considered a bus signal. Clock routing is expected to meet application requirements.  
Table 18-7. ColdFire Bus Arbitration Signal Summary  
Signal  
I/O  
Description  
BR  
O
Bus request. Indicates to an external arbiter that the processor needs to become bus master. BR is  
negated when the MCF5307 begins an access to the external bus with no other internal accesses  
pending. BR remains negated until another internal request occurs.  
BG  
BD  
I
Bus grant. An external arbiter asserts BG to indicate that the MCF5307 can control the bus at the  
next rising edge of BCLKO. When the arbiter negates BG, the MCF5307 must release the bus as  
soon as the current transfer completes. The external arbiter must not grant the bus to any other  
device until both BD and BG are negated.  
O
Bus driven.The MCF5307 asserts BD to indicate it is current master and is driving the bus. If it loses  
bus mastership during a transfer, it completes the last transfer of the current access, negates BD,  
and three-states all bus signals on the rising edge of BCLKO. If it loses mastership during an idle  
clock cycle, it three-states all bus signals on the rising edge of BCLKO.  
18.9 General Operation of External Master Transfers  
An external master asserts its hold signal (such as HOLDREQ) when it executes a bus  
cycle, driving BG high and forcing the MCF5307 to hold all bus requests. During an  
external master cycle, the MCF5307 can provide memory control signals (OE, CS[7:0],  
BE/BWE[3:0], RAS[1:0], CAS[3:0]) and TA while the external master drives the address  
and data bus and other required bus control signals. When the external master asserts TS or  
AS to the MCF5307, the beginning of a bus cycle is identied and the MCF5307 starts  
decoding the address driven.  
Chapter 18. Bus Operation  
18-21  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
eral Operation of External Master Transfers  
Note the following regarding external master accesses:  
For the MCF5307 to assert a CSx during external master accesses, CSMRn[AM]  
must be set. External master hits use the corresponding CSCRn settings for  
auto-acknowledge, byte enables, and wait states. See Section 10.4.1.3, “Chip-Select  
Control Registers (CSCR0–CSCR7).”  
To enable DRAM control signals during external master accesses, DCMRn[AM]  
must be set.  
During external master bus cycles, either TS or AS (but not both) should be driven  
to the MCF5307. Driving both during a bus cycle causes indeterminate results.  
External master transfers that use the MCF5307 to drive memory control signals and TA  
are like normal MCF5307 transfers. Figure 18-24 shows timing for basic back-to-back bus  
cycles during an external master transfer.  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
C10  
C11  
BCLKO  
A[31:0], TT[1:0]  
SIZ[1:0], TM[2:0]  
R/W  
TIP  
TS  
AS  
1
CS  
1
BE/BWE  
D[31:0]  
1
TA  
2
BR  
2
BG, BD  
HOLDREQ  
External Master  
1
2
Depending on programming, these signals may or may not be driven by the processor.  
This signal is driven by the processor for an external master transfer.  
Figure 18-24. Basic No-Wait-State External Master Access  
R/W is asserted high for reads and low for writes; otherwise, the transfers are the same. In  
Figure 18-24, the MCF5307 chip select’s internal transfer acknowledge is enabled and the  
MCF5307 drives TA as an output after a programmed number of wait states.  
18-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
General Operation of External Master Transfers  
NOTE:  
Bus timing diagrams for external master transfers are not valid  
for on-chip internal four-channel DMA accesses on the  
MCF5307.  
Timing diagrams describe transactions in general terms of bus  
cycles (Cn) rather than the states (Sn) used in the bus diagrams.  
Table 18-8 denes the cycles for Figure 18-24.  
Table 18-8. Cycles for Basic No-Wait-State External Master Access  
Cycle  
Definition  
C1  
The external master asserts HOLDREQ, signaling the MCF5307 to hold bus requests. BD should not be  
asserted. The external master drives address, TS, R/W, TT[1:0], TM[2:0], TIP, and SIZ[1:0] as MCF5307  
inputs.  
C2C3 The MCF5307 decodes the external masters address and control signals to identify the proper chip select  
and byte enable assertion. The external master negates TS in C2.  
C4  
C5  
C6  
On the falling edge of BCLKO, the MCF5307 asserts the appropriate chip select for the external master  
access along with the appropriate byte enables.  
On the rising edge of BCLKO, data is driven onto the bus by the device selected by CS. On the rising edge,  
the MCF5307 asserts TA to indicate the cycle is complete.  
TA negates on the rising edge of BCLKO. On the falling edge, the MCF5307 negates the chip select and  
byte enables and the next cycle can begin.  
C7  
C8  
The external master negates TIP on the rising edge of BCLKO.  
The external device retains bus mastership and drives the address bus, TS, R/W, TT[1:0], TM[2:0], TIP, and  
SIZ[1:0] as inputs to the MCF5307.  
C9  
The MCF5307 decodes the external masters address and control signals to identify the proper chip select  
and byte enable assertion.The external master negates TS.The MCF5307 asserts BR on the rising edge of  
BCLKO, signalling that it wants to arbitrate for the bus when the current cycle completes.  
C10  
C11  
The MCF5307 continues to decode the external devices address and control signals to identify the proper  
chip select and byte enable assertion.  
On the falling edge of BCLKO, the MCF5307 asserts the appropriate chip select for the external master  
access along with the appropriate byte enables.  
Figure 18-25 shows a burst line access for an external master transfer with the chip select  
set to no-wait states and with internal transfer-acknowledge assertion enabled.  
Chapter 18. Bus Operation  
18-23  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
eral Operation of External Master Transfers  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
C10  
C11  
BCLKO  
A[31:0]  
R/W  
TT[1:0], TM[2:0]  
SIZ[1:0]  
TIP  
TS  
2
AS, BR  
1
CS  
BE/BWE 1  
D[31:0]  
1
TA  
2
BG, BD  
HOLDREQ  
External Master  
1
Depending on programming, these signals may or may not be driven by the processor.  
These signals are driven by the processor for an external master transfer.  
2
Figure 18-25. External Master Burst Line Access to 32-Bit Port  
Table 18-9 denes the cycles for Figure 18-25.  
Table 18-9. Cycles for External Master Burst Line Access to 32-Bit Port  
Cycle  
Definition  
C1  
The external device is bus master and asserts HOLDREQ, indicating to the MCF5307 to hold all bus  
requests. In other words, BD should not be asserted.The external master drives address, TS, R/W, TT[1:0],  
TM[2:0], TIP, and SIZ[1:0] as inputs to the MCF5307. SIZ[1:0] inputs indicate a line transfer. The MCF5307  
is not asserting BR.  
C2C3 The MCF5307 decodes the external devices address and control signals to identify the proper chip-select  
and byte-enable assertion. The external device negates TS in C2. Address and R/W are latched in the  
MCF5307 on the rising edge of BCLKO in C2. After C2, the address and R/W are ignored for the rest of the  
burst transfer.  
C4  
On the falling edge of BCLKO, the MCF5307 asserts the appropriate chip select for the external device  
access along with the appropriate byte enables.  
C5  
On the rising edge of BCLKO, data is driven onto the bus by the device selected by CS. The MCF5307  
asserts TA on the rising edge of BCLKO, indicating the rst data transfer is complete.  
18-24  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Operation of External Master Transfers  
Table 18-9. Cycles for External Master Burst Line Access to 32-Bit Port (Continued)  
Cycle  
Definition  
C6C8 No-wait state data transfers 24 occur on the rising edges of BCLKO. TA continues to be asserted  
indicating completion of each transfer. TIP, CSx, and BE/BWE[3:0] are driven.  
C9  
TA negates on the rising edge of BCLKO along with external devices negation of TIP. On the falling edge,  
the MCF5307 negates chip select and byte enables, creating an opportunity for another cycle to begin.  
18.9.1 Two-Device Bus Arbitration Protocol (Two-Wire  
Mode)  
Two-wire mode bus arbitration lets the MCF5307 share the external bus with a single  
external bus device without requiring an external bus arbiter. Figure 18-26 shows the  
MCF5307 connecting to an external device using the two-wire mode. The MCF5307 BG  
input is connected to the HOLDREQ output of the external device; the MCF5307 BD  
output is connected to the HOLDACK input of the external device. Because the external  
device controls the state of HOLDREQ, it controls when the MCF5307 is granted the bus,  
giving the MCF5307 lower priority.  
BG  
BD  
HOLDREQ  
HOLDACK  
BR  
A[31:0]  
D[31:0]  
TS  
A[31:0]  
D[31:0]  
TS  
R/W  
R/W  
SIZ[1:0]  
TA  
SIZ[1:0]  
TA  
External Bus Master  
MCF5307  
To/from external memory and control  
Figure 18-26. MCF5307 Two-Wire Mode Bus Arbitration Interface  
When the external device is not using the bus, it negates HOLDREQ, driving BG low and  
granting the bus to the MCF5307. When the MCF5307 has an internal bus request pending  
and BG is low, the MCF5307 drives BD low, negating HOLDACK to the external device.  
When the external bus device needs the external bus, it asserts HOLDREQ, driving BG  
high, requesting the MCF5307 to release the bus. If BG is negated while a bus cycle is in  
progress, the MCF5307 releases the bus at the completion of the bus cycle. Note that the  
MCF5307 considers the individual transfers of a burst or burst-inhibited access to be a  
single bus cycle and does not release the bus until the last transfer of the series completes.  
When the bus has been granted to the MCF5307, one of two situations can occur. In the rst  
case, if the MCF5307 has an internal bus request pending, the MCF5307 asserts BD to  
indicate explicit bus mastership and begins the pending bus cycle by asserting TS. As  
Chapter 18. Bus Operation  
18-25  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
eral Operation of External Master Transfers  
shown in Figure 18-25, the MCF5307 continues to assert BD until the completion of the  
bus cycle. If BG is negated by the end of the bus cycle, the MCF5307 negates BD. While  
BG is asserted, BD remains asserted to indicate the MCF5307 is master, and it continuously  
drives the address bus, attributes, and control signals.  
s
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
BCLKO  
A[31:0], TT[1:0]  
SIZ[1:0], TM[2:0]  
R/W  
TIP  
TS  
AS  
D[31:0]  
TA  
BG  
BD  
External Master  
MCF5307  
Figure 18-27. Two-Wire Bus Arbitration with Bus Request Asserted  
In the second situation, the bus is granted to the MCF5307, but it does not have an internal  
bus request pending, so it takes implicit bus mastership. The MCF5307 does not drive the  
bus and does not assert BD if the bus has an implicit master. If an internal bus request is  
generated, the MCF5307 assumes explicit bus mastership. If explicit mastership was  
assumed because an internal request was generated, the MCF5307 immediately begins an  
access and asserts BD.  
In Figure 18-28, the external device is bus master during C1 and C2. During C3 the external  
device releases control of the bus by asserting BG to the MCF5307. At this point, there is  
an internal access pending so the MCF5307 asserts BD during C4 and begins the access.  
Thus, the MCF5307 becomes the explicit external bus master. Also during C4, the external  
device removes the grant from the MCF5307 by negating BG. As the current bus master,  
the MCF5307 continues to assert BD until the current transfer completes. Because BG is  
negated, the MCF5307 negates BD during C9 and three-states the external bus, thereby  
returning external bus mastership to the external device.  
18-26  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Operation of External Master Transfers  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
BCLKO  
A[31:0], TT[1:0]  
SIZ[1:0], TM[2:0]  
R/W  
TIP  
TS  
AS  
D[31:0]  
TA  
BG  
BD  
Implicit  
Mastership  
Explicit  
Mastership  
External Master  
MCF5307  
Figure 18-28. Two-Wire Implicit and Explicit Bus Mastership  
In Figure 18-28, the external device is master during C1 and C2. It releases bus control in  
C3 by asserting BG to the MCF5307. During C4 and C5, the MCF5307 is implicit master  
because no internal access is pending. In C5, an internal bus request becomes pending,  
causing the MCF5307 to become explicit bus master in C6 by asserting BD. In C7, the  
external device removes the bus grant to the MCF5307. The MCF5307 does not release the  
bus (the MCF5307 continues to assert BD) until the transfer ends.  
NOTE:  
The MCF5307 can start a transfer in the clock cycle after BG  
is asserted. The external master must not assert BG to the  
MCF5307 while driving the bus or the part may be damaged.  
Chapter 5, “Debug Support is a MCF5307 bus arbitration state diagram. States are  
described in Table 18-6.  
Chapter 18. Bus Operation  
18-27  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
eral Operation of External Master Transfers  
A1  
A2  
Reset  
A4  
A3  
B1  
D3  
External  
Master  
Implicit  
Master  
D1  
B3  
D2  
D4  
B2  
B4  
C3  
C5  
Explicit  
Master  
C1  
C2  
C4  
Figure 18-29. MCF5307 Two-Wire Bus Arbitration Protocol State Diagram  
Table 18-10 describes the two-wire bus arbitration protocol transition conditions.  
Table 18-10. MCF5307 Two-Wire Bus Arbitration Protocol Transition Conditions  
Present  
State  
Condition  
Label  
Software Watchdog  
Reset  
Bus  
Request  
Transfer in End of  
Next  
State  
RSTI  
BG  
1
Progress  
Cycle  
2
A1  
A2  
A3  
A
N
Reset  
Reset  
A
3
N
Reset  
4
N
N
EM  
A4  
B1  
B2  
B3  
B4  
C1  
C2  
C3  
C4  
C5  
D1  
D2  
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
A
N
A
A
A
A
N
N
N
N
N
A
N
N
N
Implicit mas  
EM  
Explicit mas  
Implicit mas  
Explicit mas  
Explicit mas  
Explicit mas  
EM  
Implicit  
Master  
A
Explicit  
Master  
A
Explicit mas  
EM  
A
A
EM mas  
Explicit mas  
External  
Master  
D3  
D4  
N
N
N
N
A
A
N
A
Implicit mas  
Explicit mas  
18-28  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
General Operation of External Master Transfers  
1
Both normal terminations and terminations due to bus errors generate an end of cycle. Bus cycles resulting from  
a burst-inhibited transfer are considered part of that original transfer.  
2
3
4
A means asserted.  
N means negated.  
EM means external master.  
18.9.2 Multiple External Bus Device Arbitration Protocol  
(Three-Wire Mode)  
Three-wire mode lets the MCF5307 share the external bus with multiple external devices.  
This mode requires an external arbiter to assign priorities to each potential master and to  
determine which device accesses the external bus. The arbiter uses the MCF5307 bus  
arbitration signals, BR, BD, and BG, to control use of the external bus by the MCF5307.  
The MCF5307 requests the bus from the external bus arbiter by asserting BR when the core  
requests an access. It continues to assert BR until after the transfer starts. It can negate BR  
at any time regardless of the BG status. If the MCF5307 is granted the bus when an internal  
bus request is generated, it asserts BD and the access begins immediately. The MCF5307  
always drives BR and BD, which cannot be directly wire-ORed with other devices.  
The external arbiter asserts BG to grant the bus to MCF5307, which can begin a bus cycle  
after the next rising edge of BCLKO. If BG is negated during a bus cycle, the MCF5307  
releases the bus when the cycle completes. To guarantee that the bus is released, BG must  
be negated before the rising edge of the BCLKO in which the last TA is asserted. Note that  
the MCF5307 treats any series of burst or a burst-inhibited transfers as a single bus cycle  
and does not release the bus until the last transfer of the series completes.  
When the MCF5307 is granted the bus after it asserts BR, one of two things can occur. If  
the MCF5307 has an internal bus request pending, it asserts BD, indicating explicit bus  
mastership, and begins the pending bus cycle by asserting TS. The MCF5307 continues to  
assert BD until the external bus arbiter negates BG, after which BD is negated at the  
completion of the bus cycle. As long as BG is asserted, BD remains asserted to indicate that  
the MCF5307 is bus master, and the MCF5307 continuously drives the address bus,  
attributes, and control signals.  
If no internal request is pending, the MCF5307 takes implicit bus mastership. It does not  
drive the bus and does not assert BD if the bus has an implicit master. If an internal bus  
request is generated, the MCF5307 assumes explicit bus mastership and immediately  
begins an access and asserts BD. Figure 18-30 shows implicit and explicit bus mastership  
due to generation of an internal bus request.  
Chapter 18. Bus Operation  
18-29  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
eral Operation of External Master Transfers  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
BCLKO  
A[31:0], TT[1:0]  
SIZ[1:0], TM[2:0]  
R/W  
TIP  
TS  
AS  
D[31:0]  
TA  
BR  
BG  
BD  
Implicit  
Mastership  
Explicit  
Mastership  
External Master  
MCF5307  
Figure 18-30. Three-Wire Implicit and Explicit Bus Mastership  
In Figure 18-30, the external device is bus master during C1 and C2, releasing control in  
C3, at which time the external arbiter asserts BG to the MCF5307. During C4 and C5, the  
MCF5307 is implicit master because no internal access is pending. In C5, an internal bus  
request becomes pending, causing the MCF5307 to take explicit bus mastership in C6 by  
asserting BR and BD. In C7, the external device removes the bus grant to the MCF5307.  
The MCF5307 does not release the bus (the MCF5307 asserts BD) until the transfer ends.  
NOTE:  
The MCF5307 can start a transfer in the cycle after BG is  
asserted. The external arbiter should not assert BG to the  
MCF5307 until the previous external master stops driving the  
bus. Asserting BG during another external master’s transfer  
may damage the part.  
18-30  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
General Operation of External Master Transfers  
C1  
C2  
C3  
C4  
C5  
C6  
C7  
C8  
C9  
BCLKO  
A[31:0], TT[1:0]  
SIZ[1:0], TM[2:0]  
R/W  
TIP  
TS  
AS  
D[31:0]  
TA  
BR  
BG  
BD  
External  
Master  
MCF5307  
Figure 18-31. Three-Wire Bus Arbitration  
In Figure 18-31, the external device is bus master during C1 and C2. During C2, the  
MCF5307 requests the external bus because of a pending internal transfer. On C3, the  
external releases mastership and the external arbiter grants the bus to the MCF5307 by  
asserting BG. At this point, an internal is access pending so the MCF5307 asserts BD  
during C4 and begins the access. Thus, the MCF5307 becomes the explicit bus master. Also  
during C4, the external arbiter removes the grant from the MCF5307 by negating BG.  
Because the MCF5307 is bus master, it continues to assert BD until the current transfer  
completes. Because BG is negated, the MCF5307 negates BD during C9 and three-states  
the external bus, thereby passing mastership to an external device.  
The MCF5307 can assert BR to signal the external arbiter that it needs the bus. However,  
there is no guarantee that when the bus is granted to the MCF5307 that a bus cycle will be  
performed. At best, BR must be used as a status output that indicates when the MCF5307  
needs the bus, but not as an indication that the MCF5307 is in a certain bus arbitration state.  
Figure 18-32 is a high-level state diagram for MCF5307 bus arbitration protocol.  
Table 18-6 describes the four states shown in Figure 18-32.  
Chapter 18. Bus Operation  
18-31  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
eral Operation of External Master Transfers  
A1  
A2  
Reset  
A4  
A3  
B1  
D3  
Implicit  
Master  
External  
Master  
D1  
B3  
D2  
D4  
B2  
B4  
C3  
C5  
Explicit  
Master  
C1  
C2  
C4  
Figure 18-32. Three-Wire Bus Arbitration Protocol State Diagram  
Table 18-11 lists conditions that cause state transitions.  
Table 18-11. Three-Wire Bus Arbitration Protocol Transition Conditions  
Software  
Watchdog  
Reset  
Transfer  
in  
Progress  
Current  
State  
Condition  
Label  
Bus  
Request  
End of  
Cycle  
RSTI  
BG  
Next State  
1
Reset  
A1  
A2  
A3  
A4  
Asserted  
Negated  
Negated  
Negated  
Reset  
Reset  
EM  
Asserted  
Negated  
Negated  
Negated  
Asserted  
Implicit  
master  
Implicit  
master  
B1  
Negated  
Negated  
Negated  
External  
device  
master  
B2  
B3  
B4  
Negated  
Negated  
Negated  
Negated  
Negated  
Negated  
Asserted  
Asserted  
Asserted  
Explicit  
master  
Negated  
Asserted  
Implicit  
master  
Explicit  
master  
18-32  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Reset Operation  
Table 18-11. Three-Wire Bus Arbitration Protocol Transition Conditions (Continued)  
Software  
Watchdog  
Reset  
Transfer  
in  
Progress  
Current  
State  
Condition  
Label  
Bus  
Request  
End of  
Cycle  
RSTI  
BG  
Next State  
1
Explicit  
master  
C1  
C2  
C3  
Negated  
Negated  
Negated  
Negated  
Negated  
Negated  
Asserted  
Negated  
Negated  
Explicit  
master  
Explicit  
master  
Negated  
External  
device  
master  
C4  
C5  
Negated  
Negated  
Negated  
Negated  
Negated  
Negated  
Yes  
Yes  
Negated  
Yes  
Explicit  
master  
External  
device  
master  
1
External  
master  
D1  
Negated  
Negated  
Negated  
External  
device  
master  
D2  
D3  
D4  
Negated  
Negated  
Negated  
Negated  
Negated  
Negated  
Asserted  
Asserted  
Asserted  
Explicit  
master  
Negated  
Asserted  
Implicit  
master  
Explicit  
master  
1
Both normal terminations and terminations due to bus errors generate an end of cycle. Bus cycles resulting from  
a burst-inhibited transfer are considered part of that original transfer.  
The bus arbitration state diagram can be used for the MCF5307 three-wire bus arbitration  
protocol to approximate the high-level behavior of the MCF5307. It is assumed that all TS  
or AS signals in a system are tied together and each bus device’s BD and BR signals are  
connected individually to the external arbiter. The external arbiter must ensure that any  
external masters will have released the bus after the next rising edge of before asserting BG  
to the MCF5307. The MCF5307 does not monitor external bus master operation regarding  
bus arbitration.  
NOTE:  
The MCF5307 can start a transfer on the rising edge of the  
cycle after BG is asserted. The external arbiter should not assert  
BG to the MCF5307 until the previous external master stops  
driving the bus or the part may be damaged.  
18.10 Reset Operation  
The MCF5307 supports two types of reset. Asserting RSTI resets the entire MCF5307. A  
software watchdog reset resets everything but the internal PLL module.  
Chapter 18. Bus Operation  
18-33  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
et Operation  
18.10.1 Master Reset  
To perform a master reset, an external device asserts RSTI. When power is applied to the  
system, external circuitry should assert RSTI for a minimum of 80 CLKIN cycles after Vcc  
is within tolerance. Figure 18-33 is a functional timing diagram of the master reset  
operation, showing relationships among Vcc, RSTI, mode selects, and bus signals. CLKIN  
must be stable by the time Vcc reaches the minimum operating specication. CLKIN  
should start oscillating as Vcc is ramped up to clear out contention internal to the MCF5307  
caused by the random states of internal ip-ops on power up. RSTI is internally  
synchronized for two CLKIN cycles before being used and must meet the specied setup  
and hold times in relationship to CLKIN to be recognized.  
100K CLKIN cycles  
>80 CLKIN cycles  
PLL lock time  
CLKIN  
VCC  
RSTI  
RSTO  
D[7:0]  
Bus Signals  
BR  
BD  
Figure 18-33. Master Reset Timing  
During the master reset period, all signals capable of being three-stated are driven to a  
high-impedance; all others are negated. When RSTI negates, all bus signals remain in a  
high-impedance state until the MCF5307 is granted the bus and the core begins the rst bus  
cycle for reset exception processing. A master reset causes any bus cycle (including DRAM  
refresh cycle) to terminate and initializes registers appropriately for a reset exception.  
Note that during reset D[7:0] are sampled on the negating edge of RSTI for initial  
MCF5307 congurations listed in Table 18-12.  
18-34  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
Reset Operation  
Table 18-12. Data Pin Configuration  
Pin  
Function  
D7  
Auto-Acknowledge Conguration (AA_CONFIG)  
D[6:5] Port Size Conguration (PS_CONFIG[1:0])  
D4 Address Conguration (ADDR_CONFIG/D4)  
D[3:2] Frequency of CLKIN (FREQ[1:0])  
D[1:0] Ratio of BCLKO/Processor Clock {DIVIDE[1:0])  
See Section 17.5.5, “Data/Conguration Pins (D[7:0]).” Motorola recommends that the  
data pins be driven rather than using a weak pull-up or pull-down resistor. Table 17-1 lists  
the encoding of these pins sampled at reset.  
18.10.2 Software Watchdog Reset  
A software watchdog reset is performed if the executing software does not provide the  
correct write data sequence with the enable-control bit set. This reset helps prevent runaway  
software or unterminated bus cycles. Figure 18-34 is a functional timing diagram of the  
software watchdog reset operation, showing RSTO and bus signal relationships.  
Chapter 18. Bus Operation  
18-35  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
et Operation  
100K CLKIN  
Cycle Lock Time  
>80 CLKIN  
CLKIN  
30 BCLKO  
20 BCLKO  
BCLKO  
(1/2 MODE)  
BCLKO  
(1/3 MODE)  
15 BCLKO  
BCLKO  
(1/4 MODE)  
PSTCLK  
RSTI  
D[7:0]  
D[7:0] latched  
RSTO  
Figure 18-34. Software Watchdog Reset Timing  
During the software watchdog reset period, all signals that can be are driven to a  
high-impedance state; all those that cannot be are negated. When RSTO negates, bus  
signals remain in a high-impedance state until the MCF5307 is granted the bus and the  
ColdFire core begins the rst bus cycle for reset exception processing.  
18-36  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 19  
IEEE 1149.1 Test Access Port (JTAG)  
This chapter describes conguration and operation of the MCF5307 JTAG test  
implementation. It describes the use of JTAG instructions and provides information on how  
to disable JTAG functionality.  
19.1 Overview  
The MCF5307 dedicated user-accessible test logic is fully compliant with the publication  
Standard Test Access Port and Boundary-Scan Architecture, IEEE Standard 1149.1. Use the  
following description in conjunction with the supporting IEEE document listed above. This  
section includes the description of those chip-specic items that the IEEE standard requires  
as well as those items specic to the MCF5307 implementation.  
The MCF5307 JTAG test architecture supports circuit board test strategies based on the  
IEEE standard. This architecture provides access to all data and chip control pins from the  
board-edge connector through the standard four-pin test access port (TAP) and the JTAG  
reset pin, TRST. Test logic design is static and is independent of the system logic except  
where the JTAG is subordinate to other complimentary test modes, as described in  
Chapter 5, “Debug Support.” When in subordinate mode, JTAG test logic is placed in reset  
and the TAP pins can be used for other purposes, as described in Table 19-1.  
The MCF5307 JTAG implementation can do the following:  
Perform boundary-scan operations to test circuit board electrical continuity  
Bypass the MCF5307 by reducing the shift register path to a single cell  
Set MCF5307 output drive pins to xed logic values while reducing the shift register  
path to a single cell  
Sample MCF5307 system pins during operation and transparently shift out the result  
Protect MCF5307 system output and input pins from backdriving and random  
toggling (such as during in-circuit testing) by placing all system pins in high-  
impedance state  
NOTE:  
IEEE Standard 1149.1 may interfere with system designs that do  
not incorporate JTAG capability. Section 19.6, “Disabling IEEE  
Standard 1149.1 Operation,” describes precautions for ensuring  
that this logic does not affect system or debug operation.  
Chapter 19. IEEE 1149.1Test Access Port (JTAG)  
19-1  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
G Signal Descriptions  
Figure 19-1 is a block diagram of the MCF5307 implementation of the 1149.1 IEEE  
standard. The test logic includes several test data registers, an instruction register,  
instruction register control decode, and a 16-state dedicated TAP controller.  
Test Data Registers  
Boundary Scan Register  
V+  
M
TDI  
U
X
ID Code  
Bypass  
3-Bit Instruction Decode  
3-Bit Instruction Register  
M
U
X
TDO  
V+  
V+  
TMS  
TCK  
TAP  
TRST  
Figure 19-1. JTAG Test Logic Block Diagram  
19.2 JTAG Signal Descriptions  
JTAG operation on the MCF5307 is enabled when MTMOD0 is high (logic 1), as described  
in Table 19-1. Otherwise, JTAG TAP signals, TCK, TMS, TDI, TDO, and TRST, are  
interpreted as the debug port pins. MTMOD0 should not be changed while RSTI is  
asserted.  
Table 19-1. JTAG Pin Descriptions  
Pin  
Description  
TCK  
Test clock. The dedicated JTAG test logic clock is independent of the MCF5307 processor clock. Various  
JTAG operations occur on the rising or falling edge of TCK. Internal JTAG controller logic is designed such  
that holding TCK high or low indenitely does cause the JTAG test logic to lose state information. If TCK is  
not used, it should be tied to ground.  
TMS/ Test mode select (MTMOD0 high)/breakpoint (MTMOD0 low). TMS provides the JTAG controller with  
BKPT information to determine the test operation mode. The states of TMS and of the internal 16-state JTAG  
controller state machine at the rising edge of TCK determine whether the JTAG controller holds its current  
state or advances to the next state. This directly controls whether JTAG data or instruction operations  
occur. TMS has an internal pull-up, so if it is not driven low, its value defaults to a logic level of 1. If TMS is  
not used, it should be tied to VDD. BKPT signals a hardware breakpoint to the processor in debug mode.  
See Chapter 5, Debug Support.”  
19-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
TAP Controller  
Table 19-1. JTAG Pin Descriptions  
Pin  
Description  
TDI/DSI Test data input (MTMOD0 high)/development serial input (MTMOD0 low).TDI provides the serial data port  
for loading the JTAG boundary-scan, bypass, and instruction registers. Shifting in of data depends on the  
state of the JTAG controller state machine and the instruction in the instruction register.This shift occurs on  
the rising edge of TCK.TDI has an internal pull-up so if it is not driven low its value defaults to a logical 1. If  
TDI is not used, it should be tied to VDD.  
DSI provides single-bit communication for debug module commands. See Chapter 5, Debug Support.”  
TDO/ Test data output (MTMOD0 high)/development serial output (MTMOD0 low).TDO is the serial data port for  
DSO  
outputting data from JTAG logic. Shifting data out depends on the state of the JTAG controller state  
machine and the instruction currently in the instruction register.This shift occurs on the falling edge of TCK.  
When not outputting test data, TDO is three-stated. It can also be placed in three-state mode to allow  
bussed or parallel connections to other devices having JTAG. DSO provides single-bit communication for  
debug module commands. See Chapter 5, Debug Support.”  
TRST/ Test reset (MTMOD0 high)/development serial clock (MTMOD0 low). As TRST, this pin asynchronously  
DSCLK resets the internal JTAG controller to the test logic reset state, causing the JTAG instruction register to  
choose the IDCODE instruction. When this occurs, all JTAG logic is benign and does not interfere with  
normal MCF5307 functionality. Although this signal is asynchronous, Motorola recommends that TRST  
make only an asserted-to-negated transition while TMS is held at a logic 1 value. TRST has an internal  
pull-up; if it is not driven low its value defaults to a logic level of 1. However, if TRST is not used, it can  
either be tied to ground or, if TCK is clocked, to VDD. The former connection places the JTAG controller in  
the test logic reset state immediately; the latter connection eventually puts the JTAG controller (if TMS is a  
logic 1) into the test logic reset state after 5 TCK cycles.  
DSCLK is the development serial clock for the serial interface to the debug module.The maximum DSCLK  
frequency is 1/2 the BCLKO frequency. See Chapter 5, Debug Support.”  
19.3 TAP Controller  
The state of TMS at the rising edge of TCK determines the current state of the TAP  
controller. The TAP controller can follow two basic two paths, one for executing JTAG  
instructions and the other for manipulating JTAG data based on JTAG instructions. The  
various states of the TAP controller are shown in Figure 19-2. For more detail on each state,  
see the IEEE Standard 1149.1 JTAG document. Note that regardless of the TAP controller  
state, test-logic-reset can be entered if TMS is held high for at least ve rising edges of  
TCK. Figure 19-2 shows the JTAG TAP controller state machine.  
Chapter 19. IEEE 1149.1Test Access Port (JTAG)  
19-3  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
G Register Descriptions  
Test-Logic-Reset  
1
TLR  
0
<-- Value of TMS at rising edge of TCK  
1
1
1
Run-Test-Idle  
RTI  
Select-IR-Scan  
SeIR  
Select-DR-Scan  
SeDR  
0
0
0
1
1
Capture-IR  
CaIR  
Capture-DR  
CaDR  
0
0
Shift-IR  
ShIR  
Shift-DR  
ShDR  
0
1
0
1
1
1
Exit1-DR  
E1DR  
Exit1-IR  
E1IR  
0
0
Pause-DR  
PaDR  
Pause-IR  
PaIR  
0
0
1
1
0
0
Exit2-DR  
E2DR  
Exit2-IR  
E2IR  
1
1
Update-DR  
UpDR  
Update-IR  
UpIR  
1
0
1
0
Figure 19-2. JTAG TAP Controller State Machine  
19.4 JTAG Register Descriptions  
The following sections describe the JTAG registers implemented on the MCF5307.  
19-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
JTAG Register Descriptions  
19.4.1 JTAG Instruction Shift Register  
The MCF5307 IEEE Standard 1149.1 implementation uses a 3-bit instruction-shift register  
(IR) without parity. This register transfers its value to a parallel hold register and applies  
one of six instructions on the falling edge of TCK when the TAP state machine is in  
Update-IR state. To load instructions into the shift portion of the register, place the serial  
data on TDI before each rising edge of TCK. The msb of the instruction shift register is the  
bit closest to the TDI pin, and the lsb is the bit closest to TDO.  
Table 19-2 describes customer-usable instructions.  
Table 19-2. JTAG Instructions  
Instruction  
Class  
IR  
Description  
EXTEST  
(EXT)  
Required 000 Selects the boundary-scan register. Forces all output pins and bidirectional pins  
congured as outputs to the preloaded xed values (with the SAMPLE/PRELOAD  
instruction) and held in the boundary-scan update registers. EXTEST can also  
congure the direction of bidirectional pins and establish high-impedance states on  
some pins. EXTEST becomes active on the falling edge of TCK in the Update-IR state  
when the data held in the instruction-shift register is equivalent to octal 0.  
IDCODE  
(IDC)  
Optional  
001 Selects the IDCODE register for connection as a shift path between TDI and TDO.  
Interrogates the MCF5307 for version number and other part identication. The  
IDCODE register is implemented in accordance with IEEE Standard 1149.1 so the lsb  
of the shift register stage is set to logic 1 on the rising edge of TCK following entry into  
the capture-DR state. Therefore, the rst bit shifted out after selecting the IDCODE  
register is always a logic 1. The remaining 31-bits are also set to xed values. See  
Section 19.4.2, IDCODE Register.”  
IDCODE is the default value in the IR when a JTAG reset occurs by either asserting  
TRST or holding TMS high while clocking TCK through at least ve rising edges and  
the falling edge after the fth rising edge. A JTAG reset causes the TAP state machine  
to enter test-logic-reset state (normal operation of the TAP state machine into the  
test-logic-reset state also places the default value of octal 1 into the instruction  
register). The shift register portion of the instruction register is loaded with the default  
value of octal 1 in Capture-IR state and a TCK rising edge occurs.  
SAMPLE/ Required 100 Provides two separate functions. It obtains a sample of the system data and control  
PRELOAD  
(SMP)  
signals at the MCF5307 input pins and before the boundary-scan cell at the output  
pins.This sampling occurs on the rising edge of TCK in the capture-DR state when an  
instruction encoding of octal 4 is in the instruction register. Sampled data is observed  
by shifting it through the boundary-scan register to TDO by using shift-DR state. The  
data capture and shift are transparent to system operation. The users must provide  
external synchronization to achieve meaningful results because there is no internal  
synchronization between TCK and CLK.  
SAMPLE/PRELOAD also initializes the boundary-scan register update cells before  
selecting EXTEST or CLAMP. This is done by ignoring data shifted out of TDO while  
shifting in initialization data. The Update-DR state in conjunction with the falling edge  
of TCK can then transfer this data to the update cells. This data is applied to external  
outputs when an instruction listed above is applied.  
HIGHZ  
(HIZ)  
Optional  
101 Anticipates the need to backdrive outputs and protects inputs from random toggling  
during board testing. Selects the bypass register, forcing all output and bidirectional  
pins into high-impedance.  
HIGHZ goes active on the falling edge of TCK in the Update-IR state when instruction  
shift register data held is equivalent to octal 5.  
Chapter 19. IEEE 1149.1Test Access Port (JTAG)  
19-5  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
G Register Descriptions  
Table 19-2. JTAG Instructions (Continued)  
Instruction  
Class  
IR  
Description  
CLAMP  
(CMP)  
Optional  
110 Selects the bypass register and asserts functional reset while forcing all output and  
bidirectional pins congured as outputs to xed, preloaded values in the  
boundary-scan update registers. Enhances test efciency by reducing the overall shift  
path to one bit (the bypass register) while conducting an EXTEST type of instruction  
through the boundary-scan register. CLAMP becomes active on the falling edge of  
TCK in the Update-IR state when instruction-shift register data is equivalent to octal 6.  
BYPASS  
(BYP)  
Required 111 Selects the single-bit bypass register, creating a single-bit shift register path from TDI  
to the bypass register to TDO. Enhances test efciency by reducing the overall shift  
path when a device other than the MCF5307 is under test on a board design with  
multiple chips on the overall 1149.1 dened boundary-scan chain.The bypass register  
is implemented in accordance with 1149.1 so the shift register stage is set to logic 0  
on the rising edge of TCK following entry into the capture-DR state.Therefore, the rst  
bit shifted out after selecting the bypass register is always a logic 0 (to differentiate a  
part that supports an IDCODE register from a part that supports only the bypass  
register).  
BYPASS goes active on the falling edge of TCK in the Update-IR state when  
instruction shift register data is equivalent to octal 7.  
The IEEE Standard 1149.1 requires the EXTEST, SAMPLE/PRELOAD, and BYPASS  
instructions. IDCODE, CLAMP, and HIGHZ are optional standard instructions that the  
MCF5307 implementation supports and are described in the IEEE Standard 1149.1.  
19.4.2 IDCODE Register  
The MCF5307 includes an IEEE Standard 1149.1-compliant JTAG identication register,  
IDCODE, which is read by the MCF5307 JTAG instruction encoded as octal 1.  
31  
30  
29  
28  
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9
8
7
6
5
4
3
2
1
0
Version Number  
(0000 forH55J, 0001 for J20C)  
0
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
0
1
Table 19-3 describes IDCODE bit assignments.  
Table 19-3. IDCODE Bit Assignments  
Bits  
Description  
3128 Version number. Indicates the revision number of the MCF5307  
2722 Design center. Indicates the ColdFire design center  
2112 Device number. Indicates an MCF5307  
111  
Indicates the reduced JEDEC ID for Motorola. Joint Electron Device Engineering Council (JEDEC)  
Publication 106-A and Chapter 11 of the IEEE Standard 1149.1 give more information on this eld.  
0
Identies this as the JTAG IDCODE register (and not the bypass register) according to the IEEE Standard  
1149.1  
19-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
JTAG Register Descriptions  
19.4.3 JTAG Boundary-Scan Register  
The MCF5307 model includes an IEEE Standard 1149.1-compliant boundary-scan register  
connected between TDI and TDO when the EXTEST or SAMPLE/PRELOAD instructions  
are selected. This register captures signal data on the input pins, forces xed values on the  
output pins, and selects the direction and drive characteristics (a logic value or high  
impedance) of the bidirectional and three-state pins. Table 19-4 shows MCF5307  
boundary-scan register bits.  
Table 19-4. Boundary-Scan Bit Definitions  
Bit  
Cell Type  
Pin Cell  
Pin Type  
Bit  
Cell Type  
Pin Cell  
Pin Type  
0
O.Ctl  
O.Pin  
I.Pin  
PP0 enable  
PP0  
I/O  
I/O  
120  
121  
122  
123  
124  
125  
126  
127  
128  
129  
130  
131  
132  
133  
134  
135  
136  
137  
138  
139  
140  
141  
142  
143  
144  
145  
146  
147  
148  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
I.Pin  
BE0  
O
O
O
O
O
O
O
O
O
O
O
I
1
SCKE  
SCAS  
SRAS  
DRAMW  
CAS3  
CAS2  
CAS1  
CAS0  
RAS1  
RAS0  
TIN1  
TIN0  
TOUT0  
TOUT1  
BG  
2
PP0  
3
IO.Ctl  
O.Pin  
I.Pin  
PP1 enable  
PP1  
4
I/O  
I/O  
5
PP1  
6
IO.Ctl  
O.Pin  
I.Pin  
PP2 enable  
PP2  
7
I/O  
I/O  
8
PP2  
9
IO.Ctl  
O.Pin  
I.Pin  
PP3 enable  
PP3  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
I/O  
I/O  
PP3  
IO.Ctl  
O.Pin  
I.Pin  
PP4 enable  
PP4  
I.Pin  
I
I/O  
I/O  
O.Pin  
O.Pin  
I.Pin  
O
O
I
PP4  
IO.Ctl  
O.Pin  
I.Pin  
PP5 enable  
PP5  
I/O  
I/O  
O.Pin  
O.Pin  
I.Pin  
BD  
O
O
I
PP5  
BR  
IO.Ctl  
O.Pin  
I.Pin  
PP6 enable  
PP6  
IRQ1  
IRQ3  
IRQ5  
IRQ7  
RSTI  
TS  
I/O  
I/O  
I.Pin  
I
PP6  
I.Pin  
I
IO.Ctl  
O.Pin  
I.Pin  
PP7 enable  
PP7  
I.Pin  
I
I/O  
I/O  
O
I.Pin  
I
PP7  
O.Pin  
I.Pin  
I/O  
I/O  
I/O  
I/O  
I/O  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
PST3  
TS  
PST2  
O
IO.Ctl  
O.Pin  
I.Pin  
TA enable  
TA  
PST1  
O
PST0  
O
TA  
DDATA3  
O
O.Pin  
R/W  
Chapter 19. IEEE 1149.1Test Access Port (JTAG)  
19-7  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
G Register Descriptions  
Table 19-4. Boundary-Scan Bit Definitions  
Bit  
Cell Type  
Pin Cell  
DDATA2  
Pin Type  
Bit  
Cell Type  
Pin Cell  
Pin Type  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
I.Pin  
O
O
149  
150  
151  
152  
153  
154  
155  
156  
157  
158  
159  
160  
161  
162  
163  
164  
165  
166  
167  
168  
169  
170  
171  
172  
173  
174  
175  
176  
177  
178  
179  
180  
181  
182  
183  
184  
I.Pin  
O.Pin  
I.Pin  
R/W  
AS  
I/O  
I/O  
I/O  
O
DDATA1  
DDATA0  
PSTCLK  
CLKIN  
RSTO enable  
RSTO  
RSTO  
BCLKO  
EDGESEL  
TXD0  
RXD0  
RTS0  
CTS0  
TXD1  
RXD1  
RTS1  
CTS1  
HIZ  
O
AS  
O
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
O.Pin  
I.Pin  
CS7  
CS6  
CS5  
CS4  
CS3  
CS2  
CS1  
CS0  
OE  
I
O
IO.Ctl  
O.Pin  
I.Pin  
I/O  
I/O  
O
O
O
O
O.Pin  
I.Pin  
O
I
O
O.Pin  
I.Pin  
O
O
I
O
O.Pin  
I.Pin  
O
SIZ1  
SIZ1  
SIZ0  
SIZ0  
I/O  
I/O  
I/O  
I/O  
I
O.Pin  
I.Pin  
O
O.Pin  
I.Pin  
I
O.Pin  
I.Pin  
O
IO.Ctl  
I.Pin  
PP15 enable  
PP15  
I
I/O  
I/O  
I.Pin  
I
O.Pin  
IO.Ctl  
I.Pin  
PP15  
IO.Ctl  
O.Pin  
I.Pin  
Data enable  
D0  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
PP14 enable  
PP14  
I/O  
I/O  
D0  
O.Pin  
IO.Ctl  
I.Pin  
PP14  
O.Pin  
I.Pin  
D1  
PP13 enable  
PP13  
D1  
I/O  
I/O  
O.Pin  
I.Pin  
D2  
O.Pin  
IO.Ctl  
I.Pin  
PP13  
D2  
PP12 enable  
PP12  
O.Pin  
I.Pin  
D3  
I/O  
I/O  
D3  
O.Pin  
IO.Ctl  
I.Pin  
PP12  
O.Pin  
I.Pin  
D4  
PP11 enable  
PP11  
D4  
I/O  
I/O  
O.Pin  
I.Pin  
D5  
O.Pin  
IO.Ctl  
I.Pin  
PP11  
D5  
PP10 enable  
PP10  
O.Pin  
I.Pin  
D6  
I/O  
I/O  
D6  
O.Pin  
IO.Ctl  
I.Pin  
PP10  
O.Pin  
I.Pin  
D7  
PP9 enable  
PP9  
D7  
I/O  
19-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
JTAG Register Descriptions  
Table 19-4. Boundary-Scan Bit Definitions  
Bit  
Cell Type  
Pin Cell  
Pin Type  
Bit  
Cell Type  
Pin Cell  
Pin Type  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
O.Pin  
I.Pin  
D8  
D8  
D9  
D9  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
185  
186  
187  
188  
189  
190  
191  
192  
193  
194  
195  
196  
197  
198  
199  
200  
201  
202  
203  
204  
205  
206  
207  
208  
209  
210  
211  
212  
213  
214  
215  
216  
217  
218  
219  
220  
O.Pin  
IO.Ctl  
I.Pin  
PP9  
I/O  
PP8 enable  
O.Pin  
I.Pin  
PP8  
I/O  
I/O  
O.Pin  
IO.Ctl  
IO.Ctl  
O.Pin  
I.Pin  
PP8  
O.Pin  
I.Pin  
D10  
D10  
D11  
D11  
D12  
D12  
D13  
D13  
D14  
D14  
D15  
D15  
D16  
D16  
D17  
D17  
D18  
D18  
D19  
D19  
D20  
D20  
D21  
D21  
D22  
D22  
D23  
D23  
D24  
D24  
D25  
D25  
TS/R/W/SIZ enable  
Address enable  
A23  
A23  
A22  
A22  
A21  
A21  
A20  
A20  
A19  
A19  
A18  
A18  
A17  
A17  
A16  
A16  
A15  
A15  
A14  
A14  
A13  
A13  
A12  
A12  
A11  
A11  
A10  
A10  
A9  
O.Pin  
I.Pin  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
A9  
Chapter 19. IEEE 1149.1Test Access Port (JTAG)  
19-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
trictions  
Table 19-4. Boundary-Scan Bit Definitions  
Bit  
Cell Type  
Pin Cell  
D26  
Pin Type  
Bit  
Cell Type  
Pin Cell  
Pin Type  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
118  
119  
O.Pin  
I.Pin  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
OD  
I
221  
222  
223  
224  
225  
226  
227  
228  
229  
230  
231  
232  
233  
234  
235  
236  
237  
238  
O.Pin  
I.Pin  
A8  
A8  
A7  
A7  
A6  
A6  
A5  
A5  
A4  
A4  
A3  
A3  
A2  
A2  
A1  
A1  
A0  
A0  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
D26  
D27  
D27  
D28  
D28  
D29  
D29  
D30  
D30  
D31  
D31  
SDA  
SDA  
SCL  
SCL  
BE3  
BE2  
BE1  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
O.Pin  
I.Pin  
OD  
I
O.Pin  
I.Pin  
O.Pin  
O.Pin  
O.Pin  
O
O.Pin  
I.Pin  
O
O
19.4.4 JTAG Bypass Register  
The IEEE Standard 1149.1-compliant bypass register creates a single-bit shift register path  
from TDI to the bypass register to TDO when the BYPASS instruction is selected.  
19.5 Restrictions  
Test logic design is static, so TCK can be stopped in high or low state with no data loss.  
However, system logic uses a different system clock not internally synchronized to TCK.  
Operation mixing 1149.1 test logic with system functional logic that uses both clocks must  
coordinate and synchronize these clocks externally to the MCF5307.  
19-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Disabling IEEE Standard 1149.1 Operation  
19.6 Disabling IEEE Standard 1149.1 Operation  
There are two ways to use the MCF5307 without IEEE Standard 1149.1 test logic being  
active:  
Nonuse of JTAG test logic by either nontermination (disconnection) or intentionally  
xing TAP logic values. The following issues must be addressed if IEEE Standard  
1149.1 logic is not to be used when the MCF5307 is assembled onto a board.  
IEEE Standard 1149.1 test logic must remain transparent and benign to the  
system logic during functional operation. To ensure that the part enters the  
test-logic-reset state requires either connecting TRST to logic 0 or connecting  
TCK to a source that supplies ve rising edges and a falling edge after the fth  
rising edge. The recommended solution is to connect TRST to logic 0.  
— TCK has no internal pull-up as is required on TMS, TDI, and TRST; therefore,  
it must be terminated to preclude mid-level input values. Figure 19-4 shows pin  
values recommended for disabling JTAG with the MCF5307 in JTAG mode.  
VDD  
TMS/BKPT  
TDI/DSI  
TRST/DSCLK  
TCK  
Note: MTMOD0 high allows JTAG mode.  
Figure 19-4. Disabling JTAG in JTAG Mode  
Disabling JTAG test logic by holding MTMOD0 low during reset (debug mode).  
This allows the IEEE Standard 1149.1 test controller to enter test-logic-reset state  
when TRST is internally asserted to the controller. TAP pins function as debug mode  
pins. In JTAG mode, inputs TDI/DSI, TMS/BKPT, and TRST/DSCLK have internal  
pull-ups enabled. Figure 19-5 shows pin values recommended for disabling JTAG in  
debug mode.  
TDI/DSI  
Debug Interface  
TMS/BKPT  
TRST/DSCLK  
TCK  
Note: MTMOD0 low prohibits JTAG.  
Figure 19-5. Disabling JTAG in Debug Mode  
Chapter 19. IEEE 1149.1Test Access Port (JTAG)  
19-11  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
aining the IEEE Standard 1149.1  
19.7 Obtaining the IEEE Standard 1149.1  
The IEEE Standard 1149.1 JTAG specication is a copyrighted document and must be  
obtained directly from the IEEE:  
IEEE Standards Department  
445 Hoes Lane  
P.O. Box 1331  
Piscataway, NJ 08855-1331  
USA  
http://stdsbbs.ieee.org/  
FAX: 908-981-9667  
Information: 908-981-0060 or 1-800-678-4333  
19-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Chapter 20  
Electrical Specifications  
This chapter describes the AC and DC electrical specications and thermal characteristics  
for the MCF5307. Note that this information was correct at the time this book was  
published. As process technologies improve, there is a likelihood that this information may  
change. To conrm that this is the latest information, see Motorola’s ColdFire webpage,  
http://www.motorola.com/coldre.  
20.1 General Parameters  
Table 20-1 lists maximum and minimum ratings for supply and operating voltages and  
storage temperature. Operating outside of these ranges may cause erratic behavior or  
damage to the processor.  
Table 20-1. Absolute Maximum Ratings  
Rating  
Symbol  
Value  
Units  
Supply voltage  
V
V
V
-0.3 to +4.0  
+3.6  
V
V
V
V
cc  
cc  
cc  
Maximum operating voltage  
Minimum operating voltage  
Input voltage  
+3.0  
V
-0.5 to +5.5  
-55 to +150  
in  
o
Storage temperature range  
T
C
stg  
Table 20-2 lists junction and ambient operating temperatures.  
Table 20-2. Operating Temperatures  
Characteristic  
Symbol  
Value  
Units  
o
o
o
Maximum operating junction temperature  
Maximum operating ambient temperature  
Minimum operating ambient temperature  
T
105  
j
C
C
C
1
T
70  
Amax  
T
0
Amin  
1
This published maximum operating ambient temperature should be used only as a system design guideline. All  
device operating parameters are guaranteed only when the junction temperature lies within the specified range.  
Table 20-3 lists DC electrical operating temperatures. This table is based on an operating  
Chapter 20. Electrical Specifications  
20-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
k Timing Specifications  
voltage of Vcc = 3.3 Vdc ± 0.3 Vdc.  
Table 20-3. DC Electrical Specifications  
Characteristic  
Symbol  
Min  
Max  
Units  
Operation voltage range  
Input high voltage  
V
V
3.0  
2.0  
-0.5  
3.6  
3.6  
0.8  
0.8  
0.8  
20  
V
V
cc  
IH  
Input low voltage  
V
V
IL  
Input signal undershoot  
Input signal overshoot  
V
V
Input leakage current @ 0.5/2.4 V during normal operation  
I
µA  
µA  
in  
High impedance (three-state) leakage current @ 0.5/2.4 V during  
normal operation  
I
20  
TSI  
1
Signal low input current, V = 0.8 V  
I
0
0
1
1
mA  
mA  
V
IL  
IL  
1
Signal high input current, V  
2.0 V  
2
I
IH =  
IH  
3
Output high voltage I = 6 mA , 12 mA  
V
2.4  
0.5  
50  
10  
OH  
OH  
2
3
Output low voltage I = 6 mA , 12 mA  
OL  
V
V
OL  
Load capacitance (all outputs)  
4
C
pF  
pF  
L
Capacitance , V = 0 V, f = 1 MHz  
in  
C
IN  
1
2
BKPT/TMS, DSI/TDI, DSCLK/TRST  
D[31:0], A[23:0], PP[15:0],TS, TA, SIZ[1:0], R/W, BR, BD, RSTO, AS, CS[7:0], BE[3:0], OE, PSTCLK,  
PST[3:0], DDATA[3:0], DSO, TOUT[1:0], SCL, SDA, RTS[1:0], TXD[1:0]  
3
4
BCLKO, RAS[1:0], CAS[3:0], DRAMW, SCKE, SRAS, SCAS  
Capacitance C is periodically sampled rather than 100% tested.  
IN  
20.2 Clock Timing Specifications  
Table 20-4 lists specications for the clock timing parameters shown in Figure 20-1 and  
Figure 20-2.  
Table 20-4. Clock Timing Specification  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
C1  
CLKIN cycle time  
30  
40  
15  
40  
30  
45  
5
22  
40  
11  
40  
22  
45  
5
nS  
nS  
nS  
%
C2  
C3  
C4  
C5  
C6  
C7  
C8  
CLKIN rise time (0.5V to 2.4 V)  
CLKIN fall time (2.4V to 0.5 V)  
CLKIN duty cycle (at 1.5 V)  
PSTCLK cycle time  
5
5
60  
60  
55  
60  
60  
55  
nS  
%
PSTCLK duty cycle (at 1.5 V)  
BCLKO cycle time  
nS  
%
BCLKO duty cycle (at 1.5 V)  
20-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
Input/Output AC Timing Specifications  
Figure 20-1 shows timings for the parameters listed in Table 20-4.  
C1  
C3  
C4  
C4  
BCLKO  
C2  
C7  
C8  
C8  
BCLKO  
Note: Input and output AC timing specications are measured to BCLKO with a 50-pF load capacitance  
(not including pin capacitance).  
Figure 20-1. Clock Timing  
Figure 20-2 shows PSTCLK timings for parameters listed in Table 20-4.  
C5  
C6  
C6  
PSTCLK  
Figure 20-2. PSTCLK Timing  
20.3 Input/Output AC Timing Specifications  
Table 20-5 lists specications for parameters shown in Figure 20-3 and Figure 20-4. Note  
that inputs IRQ[7,5,3,1], BKPT, and AS are synchronized internally; that is, the logic level  
is validated if the value does not change for two consecutive rising BCLKO edges. Setup  
and hold times must be met only if recognition on a particular clock edge is required.  
Table 20-5. Input AC Timing Specification  
66 MHz  
Min  
90 MHz  
Min  
Num  
Characteristic  
Units  
Max  
Max  
1
B1  
Valid to BCLKO rising (setup)  
BCLKO rising to invalid (hold)  
Valid to BCLKO falling (setup)  
BCLKO falling to invalid (hold)  
7.5  
3
5.5  
2
nS  
nS  
nS  
nS  
1
B2  
2
B3  
7.5  
3
5.5  
2
2
B4  
Chapter 20. Electrical Specifications  
20-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
t/Output AC Timing Specifications  
Table 20-5. Input AC Timing Specification  
66 MHz  
Min  
90 MHz  
Num  
Characteristic  
Units  
Max  
Min  
Max  
3
B5  
BCLKO to input high impedance  
BCLKO to EDGESEL delay  
2
2
Bus clock  
nS  
B6  
0
7.5  
0
5.5  
1
2
3
Inputs: BG, TA, A[23:0], PP[15:0], SIZ[1:0], R/W, TS, EDGESEL, D[31:0], IRQ[7,5,3,1], and BKPT  
Inputs: AS  
Inputs: D[31:0]  
Table 20-6 lists specications for timings in Figure 20-3, Figure 20-4, and Figure 20-10.  
Although output signals that share a specication number have approximately the same  
timing, due to loading differences, they do not necessarily change at the same time.  
However, they have similar timings; that is, minimum and maximum times are not mixed.  
Table 20-6. Output AC Timing Specification  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
1,2,3  
B10  
BCLKO rising to valid  
1
15  
1
11  
nS  
nS  
1,2,3,4  
1,2,3,5  
B11  
BCLKO rising to invalid (hold)  
BCLKO rising to invalid (hold)  
BCLKO to high impedance (three-state)  
BCLKO rising to valid  
B11a  
0.5  
3
0.5  
2
6,7  
B12  
B13  
B14  
B15  
B16  
H1  
15  
15  
11  
11  
nS  
nS  
nS  
nS  
nS  
nS  
nS  
8,2,3  
8,2,3  
2,3  
BCLKO rising to invalid (hold)  
EDGESEL to valid  
3
18.5  
2
13.5  
2,3  
EDGESEL to invalid (hold)  
HIZ to high impedance  
60  
60  
60  
60  
H2  
HIZ to low Impedance  
1
2
3
4
Outputs that only change on rising edge of BCLKO: RSTO, TS, BR, BD, TA, R/W, SIZ[1:0], PP[7:0] (and  
PP[15:8] when congured as parallel port outputs).  
Outputs that can change on either BCLKO edge depending only upon EDGESEL: D[31:0], A[23:0], SCKE,  
SRAS, SCAS, DRAMW (and PP[15:8] when individually congured as address outputs).  
Outputs that can change on either BCLKO edge depending only upon EDGESEL: D[31:0], A[23:0], SCKE,  
SRAS, SCAS, DRAMW (and PP[15:8] when individually congured as address outputs).  
Applies to D[31:0], A[23:0], RSTO, TS, BR, BD, TA, R/W, SIZ[1:0], PP[7:0] (and PP[15:8] when congured as  
parallel port outputs).  
5
6
7
Applies to RAS[1:0], CAS[1:0], SCKE, SRAS, SCAS, DRAMW  
High Impedance (three-state): D[31:0]  
Outputs that transition to high-impedance due to bus arbitration: A[23:0], R/W, SIZ[1:0], TS, AS, TA, (and  
PP[15:0] when individually congured as address outputs)  
8
Outputs that only change on falling edge of BCLKO: AS, CS[7:0], BE[3:0], OE  
Note that these gures show two representative bus operations and do not attempt to show  
all cases. For explanations of the states, S0–S5, see Section 18.4, “Data Transfer  
20-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
Freescale Semiconductor, Inc.  
Input/Output AC Timing Specifications  
Operation.” Note that Figure 20-4 does not show all signals that apply to each timing  
specication. See the previous tables for a complete listing.  
Figure 20-3 shows AC timings for normal read and write bus cycles.  
S0  
S1  
S2  
S3  
S4  
S5  
S0  
S1  
S2  
S3  
S4  
S5  
BCLKO  
B11  
B10  
A[31:0]  
TM[2:0]  
TT[1:0]  
SIZ[1:0]  
R/W  
B11  
TS  
TIP  
B14  
B13  
AS, CS, OE  
BE/BWE[3:0]  
B12  
B2  
B1  
B10  
B5  
D[31:0]  
TA  
Figure 20-3. AC Timings—Normal Read and Write Bus Cycles  
Figure 20-4 shows timings for a read cycle with EDGESEL tied to buffered BCLKO.  
Chapter 20. Electrical Specifications  
20-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
t/Output AC Timing Specifications  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
BCLKO  
B6  
EDGESEL  
B15  
Row  
Column  
A[31:0]  
TS  
B16  
SRAS  
B15  
1
SCAS  
B16  
DRAMW  
D[31:0]  
RAS  
B1  
B16  
B2  
B16  
CAS  
ACTV  
NOP  
READ  
NOP  
NOP  
PALL  
NOP  
1
DACR[CASL] = 2  
Figure 20-4. SDRAM Read Cycle with EDGESEL Tied to Buffered BCLKO  
Figure 20-5 shows an SDRAM write cycle with EDGESEL tied to buffered BCLKO.  
20-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Input/Output AC Timing Specifications  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
BCLKO  
B6  
EDGESEL  
B15  
Row  
Column  
A[31:0]  
TS  
B16  
SRAS  
B15  
1
SCAS  
B16  
DRAMW  
D[31:0]  
RAS  
B15  
B16  
B16  
CAS  
NOP  
ACTV  
WRITE  
PALL  
NOP  
1
DACR[CASL] = 2  
Figure 20-5. SDRAM Write Cycle with EDGESEL Tied to Buffered BCLKO  
Figure 20-6 shows an SDRAM read cycle with EDGESEL tied high.  
Chapter 20. Electrical Specifications  
20-7  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
t/Output AC Timing Specifications  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
BCLKO  
B10  
Row  
Column  
A[31:0]  
TS  
B11  
B11a  
SRAS  
B10  
1
SCAS  
B11a  
DRAMW  
D[31:0]  
RAS  
B1  
B2  
B11a  
B11a  
CAS  
NOP  
ACTV  
NOP  
READ  
NOP  
PALL  
1
DACR[CASL] = 2  
Figure 20-6. SDRAM Read Cycle with EDGESEL Tied High  
Figure 20-7 shows an SDRAM write cycle with EDGESEL tied high.  
20-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Input/Output AC Timing Specifications  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
BCLKO  
B10  
Row  
Column  
A[31:0]  
B11  
TS  
B11a  
SRAS  
B10  
1
SCAS  
B11a  
DRAMW  
D[31:0]  
RAS  
B10  
B11  
B11a  
B11a  
PALL  
CAS  
ACTV  
NOP  
WRITE  
NOP  
1
DACR[CASL] = 2  
Figure 20-7. SDRAM Write Cycle with EDGESEL Tied High  
Figure 20-8 shows an SDRAM read cycle with EDGESEL tied low.  
Chapter 20. Electrical Specifications  
20-9  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
t/Output AC Timing Specifications  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
BCLKO  
B13  
Row  
Column  
A[31:0]  
TS  
B14  
SRAS  
B13  
1
SCAS  
B14  
DRAMW  
D[31:0]  
RAS  
B1  
B2  
B14  
B14  
CAS  
ACTV  
NOP  
READ  
NOP  
NOP  
PALL  
1
DACR[CASL] = 2  
Figure 20-8. SDRAM Read Cycle with EDGESEL Tied Low  
Figure 20-9 shows an SDRAM write cycle with EDGESEL tied low.  
20-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Input/Output AC Timing Specifications  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
BCLKO  
B13  
Row  
Column  
A[31:0]  
TS  
B14  
SRAS  
B13  
1
SCAS  
B14  
DRAMW  
D[31:0]  
RAS  
B13  
B14  
B14  
CAS  
ACTV  
NOP  
WRITE  
NOP  
PALL  
1
DACR[CASL] = 2  
Figure 20-9. SDRAM Write Cycle with EDGESEL Tied Low  
Figure 20-10 shows AC timing showing high impedance.  
H1  
H2  
HIZ  
OUTPUTS  
Figure 20-10. AC Output Timing—High Impedance  
Chapter 20. Electrical Specifications  
20-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
et Timing Specifications  
20.4 Reset Timing Specifications  
Table 20-7 lists specications for the reset timing parameters shown in Figure 20-11.  
Table 20-7. Reset Timing Specification  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
1
R1  
Valid to CLKIN (setup)  
CLKIN to invalid (hold)  
RSTI to invalid (hold)  
7.5  
3
5.5  
2
nS  
nS  
nS  
R2  
R3  
3
2
1
RSTI and D[7:0] are synchronized internally. Setup and hold times must be met  
only if recognition on a particular clock is required.  
Figure 20-11 shows reset timing for the values in Table 20-7.  
CLKIN  
R1  
R2  
RSTI  
D[7:0]  
R1  
R3  
Note: Mode selects are registered on the rising CLKIN edge before the cycle in which RSTI is  
recognized as being negated.  
Figure 20-11. Reset Timing  
20.5 Debug AC Timing Specifications  
Table 20-8 lists specications for the debug AC timing parameters shown in Figure 20-13.  
Table 20-8. Debug AC Timing Specification  
66 MHz  
Min Max  
90 MHz  
Min Max  
Num  
Characteristic  
Units  
D1  
PST, DDATA to PSTCLK setup  
PSTCLK to PST, DDATA hold  
DSI-to-DSCLK setup  
7.5  
7.5  
1
5.5  
5.5  
1
nS  
nS  
D2  
D3  
PSTCLKs  
20-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
 
 
Freescale Semiconductor, Inc.  
Debug AC Timing Specifications  
Table 20-8. Debug AC Timing Specification  
66 MHz  
Min Max  
90 MHz  
Min Max  
Num  
Characteristic  
Units  
1
D4  
D5  
DSCLK-to-DSO hold  
DSCLK cycle time  
4
5
4
5
PSTCLKs  
PSTCLKs  
1
DSCLK and DSI are synchronized internally. D4 is measured from the synchronized  
DSCLK input relative to the rising edge of PSTCLK.  
Figure 20-12 shows real-time trace timing for the values in Table 20-8.  
PSTCLK  
D1  
D2  
PST[3:0]  
DDATA[3:0]  
Figure 20-12. Real-Time Trace AC Timing  
Figure 20-13 shows BDM serial port AC timing for the values in Table 20-8.  
PSTCLK  
D5  
DSCLK  
D3  
DSI  
Current  
Past  
Next  
D4  
DSO  
Current  
Figure 20-13. BDM Serial Port AC Timing  
Chapter 20. Electrical Specifications  
20-13  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
er Module AC Timing Specifications  
20.6 Timer Module AC Timing Specifications  
Table 20-9 lists specications for timer module AC timing parameters shown in  
Figure 20-14.  
Figure 20-14 shows timings for Table 20-9.  
Table 20-9. Timer Module AC Timing Specification  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
T1  
TIN cycle time  
3
7.5  
3
15  
3
5.5  
2
11  
Bus clocks  
nS  
T2  
T3  
T4  
T5  
T6  
T7  
TIN valid to BCLKO (input setup)  
BCLKO to TIN invalid (input hold)  
BCLKO to TOUT valid (output valid)  
BCLKO to TOUT invalid (output hold)  
TIN pulse width  
nS  
1.5  
1
1.5  
1
nS  
nS  
Bus clocks  
Bus clocks  
TOUT pulse width  
1
1
BCLKO  
T6  
T2  
T3  
TIN  
TIN  
T1  
T7  
TOUT  
T4  
T5  
Figure 20-14. Timer Module AC Timing  
20-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
2
I C Input/Output Timing Specifications  
2
20.7 I C Input/Output Timing Specifications  
2
Table 20-10 lists specications for the I C input timing parameters shown in Figure 20.8.  
Table 20-10. I2C Input Timing Specifications between SCL and SDA  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
I1  
Start condition hold time  
Clock low period  
SCL/SDA rise time (V = 0.5 V to V = 2.4 V)  
2
8
1
2
8
1
Bus clocks  
Bus clocks  
mS  
I2  
I3  
I4  
I5  
I6  
I7  
I8  
I9  
0
0
IL  
IH  
Data hold time  
SCL/SDA fall time (V = 2.4 V to V = 0.5 V)  
1
1
nS  
4
4
mS  
IH  
IL  
Clock high time  
Data setup time  
Bus clocks  
nS  
0
0
Start condition setup time (for repeated start condition only)  
Stop condition setup time  
2
2
Bus clocks  
Bus clocks  
2
2
2
Table 20-11 lists specications for the I C output timing parameters shown in Figure 20.8.  
Table 20-11. I2C Output Timing Specifications between SCL and SDA  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
1
I1  
Start condition hold time  
Clock low period  
SCL/SDA rise time (V = 0.5 V to V = 2.4 V)  
6
10  
7
3
6
10  
7
3
Bus clocks  
Bus clocks  
µS  
1
2
1
3
1
1
1
I2  
I3  
I4  
I5  
I6  
I7  
I8  
IL  
IH  
Data hold time  
SCL/SDA fall time (V = 2.4 V to V = 0.5 V)  
Bus clocks  
nS  
10  
2
10  
2
IH  
IL  
Clock high time  
Data setup time  
Bus clocks  
Bus clocks  
Bus clocks  
Start condition setup time (for repeated start  
condition only)  
20  
20  
1
I9  
Stop condition setup time  
10  
10  
Bus clocks  
1
Note: Output numbers depend on the value programmed into the IFDR; an IFDR programmed with the maximum  
frequency (IFDR = 0x20) results in minimum output timings as shown in Table 20-11. The I C interface is  
2
designed to scale the actual data transition time to move it to the middle of the SCL low period. The actual  
position is affected by the prescale and division values programmed into the IFDR; however, the numbers given  
in Table 20-11 are minimum values.  
2
3
Because SCL and SDA are open-collector-type outputs, which the processor can only actively drive low, the time  
SCL or SDA take to reach a high level depends on external signal capacitance and pull-up resistor values.  
Specied at a nominal 50-pF load.  
Chapter 20. Electrical Specifications  
20-15  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
T Module AC Timing Specifications  
Figure 20.8 shows timing for the values in Table 20-10 and Table 20-11.  
I2  
I6  
I5  
SCL  
SDA  
I3  
I1  
I4  
I8  
I9  
I7  
Figure 20-15. I2C Input/Output Timings  
20.8 UART Module AC Timing Specifications  
Table 20-12 lists specications for UART module AC timing parameters in Figure 20-16.  
Table 20-12. UART Module AC Timing Specifications  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
U1  
RXD valid to BCLKO (input setup)  
BCLKO to RXD invalid (input hold)  
CTS valid to BCLKO (input setup)  
BCLKO to CTS invalid (input hold)  
BCLKO to TXD valid (output valid)  
BCLKO to TXD invalid (output hold)  
BCLKO to RTS valid (output valid)  
BCLKO to RTS invalid (output hold)  
7.5  
3
15  
15  
5.5  
2
11  
11  
nS  
nS  
nS  
nS  
nS  
nS  
nS  
nS  
U2  
U3  
U4  
U5  
U6  
U7  
U8  
7.5  
3
5.5  
2
1.5  
1.5  
1.5  
1.5  
Figure 20-16 shows UART timing for the values in Table 20-12.  
20-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
UART Module AC Timing Specifications  
BCLKO  
RXD  
U1  
U2  
U3  
CTS  
TXD  
RTS  
U4  
U6  
U8  
U5  
U7  
Figure 20-16. UART0/1 Module AC Timing—UART Mode  
Chapter 20. Electrical Specifications  
20-17  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
llel Port (General-Purpose I/O) Timing Specifications  
20.9 Parallel Port (General-Purpose I/O) Timing  
Specifications  
Table 20-13 lists specications for general-purpose I/O timing parameters in Figure 20-17.  
Table 20-13. General-Purpose I/O Port AC Timing Specifications  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
P1  
PP valid to BCLKO (input setup)  
BCLKO to PP invalid (input hold)  
BCLKO to PP valid (output valid)  
BCLKO to PP invalid (output hold)  
7.5  
3
15  
5.5  
2
11  
nS  
nS  
nS  
nS  
P2  
P3  
P4  
1
1
Figure 20-17 shows general-purpose I/O timing.  
BCLKO  
P1  
PP IN  
P2  
P3  
PP OUT  
P4  
Figure 20-17. General-Purpose I/O Timing  
20-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
 
Freescale Semiconductor, Inc.  
DMA Timing Specifications  
20.10 DMA Timing Specifications  
Table 20-14 lists specications for DMA timing parameters shown in Figure 20-17.  
Table 20-14. DMA AC Timing Specifications  
66 MHz  
90 MHz  
Num  
Characteristic  
Units  
Min  
Max  
Min  
Max  
M1  
M2  
DREQ valid to BCLKO (input setup)  
BCLKO to DREQ invalid (input hold)  
7.5  
3
5.5  
2
nS  
nS  
Figure 20-18 shows DMA AC timing.  
BCLKO  
M1  
M2  
DREQ  
Figure 20-18. DMA Timing  
Chapter 20. Electrical Specifications  
20-19  
For More Information On This Product,  
Go to: www.freescale.com  
 
 
Freescale Semiconductor, Inc.  
E 1149.1 (JTAG) AC Timing Specifications  
20.11 IEEE 1149.1 (JTAG) AC Timing Specifications  
Table 20-15 lists specications for JTAG AC timing parameters shown in Figure 20-19.  
Table 20-15. IEEE 1149.1 (JTAG) AC Timing Specifications  
All  
Frequencies  
Num  
Characteristic  
Units  
Min  
Max  
TCK frequency of operation  
0
100  
40  
40  
10  
5
MHz  
nS  
nS  
nS  
nS  
nS  
nS  
nS  
nS  
nS  
J1  
TCK cycle time  
J2a  
J2b  
J3a  
J3b  
J4  
TCK clock pulse high width (measured at 1.5 V)  
TCK clock pulse low width (measured at 1.5 V)  
TCK fall time (V = 2.4 V to V = 0.5V)  
IH  
IL  
TCK rise time (V = 0.5v to V = 2.4V)  
5
IL  
IH  
TDI, TMS to TCK rising (input setup)  
10  
15  
10  
15  
15  
30  
J5  
TCK rising to TDI, TMS invalid (hold)  
J6  
Boundary scan data valid to TCK (setup)  
TCK to boundary-scan data invalid (hold)  
TRST pulse width (asynchronous to clock edges)  
J7  
J8  
J9  
TCK falling to TDO valid (signal from driven or  
three-state)  
nS  
J10  
J11  
TCK falling to TDO high impedance  
30  
30  
nS  
nS  
TCK falling to boundary scan data valid (signal from  
driven or three-state)  
J12  
TCK falling to boundary scan data high impedance  
30  
nS  
Figure 20-19 shows JTAG timing.  
20-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
IEEE 1149.1 (JTAG) AC Timing Specifications  
J3a  
J1  
J2b  
TCK  
J2a  
J3b  
J4  
TDI, TMS  
J5  
J6  
BOUNDARY  
SCAN DATA  
INPUT  
J7  
TRST  
TDO  
J8  
J9  
J10  
J11  
BOUNDARY  
SCAN DATA  
OUTPUT  
J12  
Figure 20-19. IEEE 1149.1 (JTAG) AC Timing  
Chapter 20. Electrical Specifications  
20-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
E 1149.1 (JTAG) AC Timing Specifications  
20-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Appendix A  
List of Memory Maps  
Table A-1. SIM Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x000  
Reset status register  
(RSR) [p. 6-5]  
System protection  
control register  
Software watchdog  
interrupt vector register service register (SWSR)  
Software watchdog  
(SYPCR) [p. 6-8]  
(SWIVR) [p. 6-9]  
[p. 6-9]  
0x004  
Pin assignment register (PAR) [p. 6-10]  
Interrupt port  
assignment register  
(IRQPAR) [p. 9-7]  
Reserved  
0x008  
0x00C  
PLL control (PLLCR)  
[p. 7-3]  
Reserved  
Default bus master park  
register (MPARK)  
[p. 6-11]  
Reserved  
0x010–  
Reserved  
0x03C  
Table A-2. Interrupt Controller Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
Interrupt Registers [p. 9-3]  
0x040  
0x044  
0x048  
Interrupt pending register (IPR) [p. 9-6]  
Interrupt mask register (IMR) [p. 9-6]  
Reserved  
Autovector register  
(AVR) [p. 9-5]  
Interrupt Control Registers (ICRs) [p. 9-3]  
2
0x04C  
Software watchdog  
timer (ICR0) [p. 6-6]  
Timer0 (ICR1) [p. 9-2]  
Timer1 (ICR2) [p. 9-3]  
I C (ICR3) [p. 9-3]  
0x050  
0x054  
UART0 (ICR4) [p. 9-3]  
DMA2 (ICR8) [p. 9-3]  
UART1 (ICR5) [p. 9-3]  
DMA3 (ICR9) [p. 9-3]  
DMA0 (ICR6) [p. 9-3]  
DMA1 (ICR7) [p. 9-3]  
Reserved  
Appendix A. List of Memory Maps  
A-1  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table A-3. Chip-Select Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
1
0x080  
Chip-select address registerbank 0 (CSAR0)  
Reserved  
[p. 10-6]  
0x084  
0x088  
Chip-select mask registerbank 0 (CSMR0) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 0 (CSCR0)  
[p. 10-8]  
1
0x08C  
Chip-select address registerbank 1 (CSAR1)  
Reserved  
[p. 10-6]  
0x090  
0x094  
Chip-select mask registerbank 1 (CSMR1) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 1 (CSCR1)  
[p. 10-8]  
1
0x098  
Chip-select address registerbank 2 (CSAR2)  
Reserved  
[p. 10-6]  
0x09C  
0x0A0  
Chip-select mask registerbank 2 (CSMR2) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 2 (CSCR2)  
[p. 10-8  
1
0x0A4  
Chip-select address registerbank 3 (CSAR3)  
Reserved  
[p. 10-6]  
0x0A8  
0x0AC  
Chip-select mask registerbank 3 (CSMR3) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 3 (CSCR3)  
[p. 10-8]  
1
0x0B0  
Chip-select address registerbank 4 (CSAR4)  
Reserved  
[p. 10-6]  
0x0B4  
0x0B8  
Chip-select mask registerbank 4 (CSMR4) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 4 (CSCR4)  
[p. 10-8]  
1
0x0BC  
Chip-select address registerbank 5 (CSAR5)  
Reserved  
[p. 10-6]  
0x0C0  
0x0C4  
Chip-select mask registerbank 5 (CSMR5) [p. 10-6]  
Reserved  
Chip-select control registerbank 5 (CSCR5)  
[p. 10-8]  
1
0x0C8  
Chip-select address registerbank 6 (CSAR6)  
Reserved  
[p. 10-6]  
0x0CC  
0x0D0  
Chip-select mask registerbank 6 (CSMR6) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 6 (CSCR6)  
[p. 10-8]  
1
0x0D4  
Chip-select address registerbank 7 (CSAR7)  
Reserved  
[p. 10-6]  
0x0D8  
0x0DC  
Chip-select mask registerbank 7 (CSMR7) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 7 (CSCR7)  
[p. 10-8  
A-2  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table A-3. Chip-Select Registers (Continued)  
MBAR  
Offset  
[31:24]  
[31:24]  
[23:16]  
[23:16]  
[15:8]  
[15:8]  
[7:0]  
[7:0]  
MBAR  
Offset  
1
0x080  
Chip-select address registerbank 0 (CSAR0)  
Reserved  
[p. 10-6]  
0x084  
0x088  
Chip-select mask registerbank 0 (CSMR0) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 0 (CSCR0)  
[p. 10-8]  
1
0x08C  
Chip-select address registerbank 1 (CSAR1)  
Reserved  
[p. 10-6]  
0x090  
0x094  
Chip-select mask registerbank 1 (CSMR1) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 1 (CSCR1)  
[p. 10-8]  
1
0x098  
Chip-select address registerbank 2 (CSAR2)  
Reserved  
[p. 10-6]  
0x09C  
0x0A0  
Chip-select mask registerbank 2 (CSMR2) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 2 (CSCR2)  
[p. 10-8]  
1
0x0A4  
Chip-select address registerbank 3 (CSAR3)  
Reserved  
[p. 10-6]  
0x0A8  
0x0AC  
Chip-select mask registerbank 3 (CSMR3) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 3 (CSCR3)  
[p. 10-8]  
1
0x0B0  
Chip-select address registerbank 4 (CSAR4)  
Reserved  
[p. 10-6]  
0x0B4  
0x0B8  
Chip-select mask registerbank 4 (CSMR4) [p. 10-6]  
1
Reserved  
Chip-select control registerbank 4 (CSCR4)  
[p. 10-8]  
1
Addresses not assigned to a register and undefined register bits are reserved for expansion. Write accesses to  
these reserved address spaces and reserved register bits have no effect.  
Table A-4. DRAM Controller Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x100  
0x104  
0x108  
0x10C  
0x110  
0x114  
DRAM control register (DCR) [p. 11-3]  
Reserved  
Reserved  
DRAM address and control register 0 (DACR0) [p. 11-3]  
DRAM mask register block 0 (DMR0) [p. 11-3]  
DRAM address and control register 1 (DACR1) [p. 11-3]  
DRAM mask register block 1 (DMR1) [p. 11-3]  
Appendix A. List of Memory Maps  
A-3  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table A-5. General-Purpose Timer Registers  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x140  
0x144  
0x148  
0x14C  
Timer 0 mode register (TMR0) [p. 13-3]  
Timer 0 reference register (TRR0) [p. 13-4]  
Timer 0 capture register (TCR0) [p. 13-4]  
Timer 0 counter (TCN0) [p. 13-5]  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Timer 0 event register  
(TER0) [p. 13-5]  
0x150  
0x180  
0x184  
0x188  
0x18C  
Timer 1 mode register (TMR1) [p. 13-3]  
Timer 1 reference register (TRR1) [p. 13-4]  
Timer 1 capture register (TCR1) [p. 13-4]  
Timer 1 counter (TCN1) [p. 13-5]  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Reserved  
Timer 1 event register  
(TER1) [p. 13-5]  
0x190  
Table A-6. UART0 Module Programming Model  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x1C0 UART mode  
1
registers (UMR1n)  
[p. 14-4], (UMR2n)  
[p. 14-6]  
0x1C4 (Read) UART status  
registers(USRn)  
[p. 14-7]  
(Write) UART clock-select  
1
register (UCSRn)  
[p. 14-8]  
2
0x1C8 (Read) Do not access  
(Write) UART command  
registers(UCRn)  
[p. 14-9]  
0x1CC (UART/Read) UART  
receiver buffers(URBn)  
[p. 14-11]  
(UART/Write) UART  
transmitter  
buffers(UTBn) [p. 14-11]  
0x1D0 (Read) UART input port  
change  
registers(UIPCRn)  
[p. 14-12]  
A-4  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table A-6. UART0 Module Programming Model (Continued)  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
(Write) UART auxiliary  
control  
registers (UACRn)  
1
[p. 14-12]  
0x1D4 (Read) UART interrupt  
status registers(UISRn)  
[p. 14-13]  
(Write) UART interrupt  
mask registers(UIMRn)  
[p. 14-13]  
0x1D8 UART divider upper  
registers(UDUn)  
[p. 14-14]  
0x1DC UART divider lower  
registers(UDLn)  
[p. 14-14]  
2
0x1E0Do not access  
0x1EC  
0x1F0 UART interrupt vector  
register(UIVRn)  
[p. 14-15]  
0x1F4 (Read) UART input port  
registers(UIPn)  
[p. 14-15]  
2
(Write) Do not access  
2
0x1F8 (Read) Do not access  
(Write) UART output port  
bit set command  
3
registers(UOP1n )  
[p. 14-15]  
2
0x1FC (Read) Do not access  
(Write) UART output port  
bit reset command  
3
registers(UOP0n )  
[p. 14-15]  
1
2
3
UMR1n, UMR2n, and UCSRn should be changed only after the receiver/transmitter is issued a software  
reset command. That is, if channel operation is not disabled, undesirable results may occur.  
This address is for factory testing. Reading this location results in undesired effects and possible  
incorrect transmission or reception of characters. Register contents may also be changed.  
Address-triggered commands  
Appendix A. List of Memory Maps  
A-5  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table A-7. UART1 Module Programming Model  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x200 UART mode  
1
registers (UMR1n)  
[p. 14-4], (UMR2n)  
[p. 14-6]  
0x204 (Read) UART status  
registers(USRn)  
[p. 14-7]  
(Write) UART  
clock-select  
1
register (UCSRn)  
[p. 14-8]  
2
0x208 (Read) Do not access  
(Write) UART  
command  
registers(UCRn)  
[p. 14-9]  
0x20C (UART/Read) UART  
receiver  
buffers(URBn)  
[p. 14-11]  
(UART/Write) UART  
transmitter  
buffers(UTBn)  
[p. 14-11]  
0x210 (Read) UART input  
port change  
registers(UIPCRn)  
[p. 14-12]  
(Write) UART auxiliary  
control  
1
registers (UACRn)  
[p. 14-12]  
0x214 (Read) UART interrupt  
status  
registers(UISRn)  
[p. 14-13]  
(Write) UART interrupt  
mask  
registers(UIMRn)  
[p. 14-13]  
0x218 UART divider upper  
registers(UDUn)  
[p. 14-14]  
0x21C UART divider lower  
registers(UDLn)  
[p. 14-14]  
A-6  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table A-7. UART1 Module Programming Model (Continued)  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
2
0x220Do not access  
0x22C  
0x230 UART interrupt vector  
register(UIVRn)  
[p. 14-15]  
0x234 (Read) UART input  
port registers(UIPn)  
[p. 14-15]  
2
(Write) Do not access  
2
0x238 (Read) Do not access  
(Write) UART output  
port bit set command  
3
registers(UOP1n )  
[p. 14-15]  
2
0x23C (Read) Do not access  
(Write) UART output  
port bit reset  
command  
registers(UOP0n )  
3
[p. 14-15]  
1
2
3
UMR1n, UMR2n, and UCSRn should be changed only after the receiver/transmitter is issued a  
software reset command. That is, if channel operation is not disabled, undesirable results may occur.  
This address is for factory testing. Reading this location results in undesired effects and possible  
incorrect transmission or reception of characters. Register contents may also be changed.  
Address-triggered commands  
Table A-8. Parallel Port Memory Map  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x244 Parallel port data direction register (PADDR)  
[p. 15-2]  
Reserved  
Reserved  
0x248 Parallel port data register (PADAT) [p. 15-2]  
Table A-9. I2C Interface Memory Map  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
2
0x280 I C address register  
(IADR) [p. 8-6]  
Reserved  
2
0x284 I C frequency divider  
Reserved  
register (IFDR) [p. 8-7]  
Appendix A. List of Memory Maps  
A-7  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
Table A-9. I2C Interface Memory Map  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
2
0x288 I C control register  
(I2CR) [p. 8-8]  
Reserved  
2
0x28C I C status register  
Reserved  
Reserved  
(I2SR) [p. 8-9]  
2
0x290 I C data I/O register  
(I2DR) [p. 8-10]  
Table A-10. DMA Controller Registers  
MBAR  
[31:24]  
Offset  
[23:16]  
[15:8]  
[7:0]  
0x300  
0x304  
0x308  
Source address register 0 (SAR0) [p. 12-6]  
Destination address register 0 (DAR0) [p. 12-7]  
DMA control register 0 (DCR0) [p. 12-8]  
1
0x30C  
0x30C  
0x310  
Byte count register 0 (BCR24BIT = 0)  
Reserved  
1
Reserved  
Byte count register 0 (BCR24BIT = 1) (BCR0) [p. 12-7]  
Reserved  
DMA status register 0  
(DSR0) [p. 12-10]  
0x314  
DMA interrupt vector  
register 0 (DIVR0)  
[p. 12-11]  
Reserved  
0x340  
0x344  
0x348  
0x34C  
0x34C  
0x350  
Source address register 1 (SAR1) [p. 12-6]  
Destination address register 1 (DAR1) [p. 12-7]  
DMA control register 1 (DCR1) [p. 12-8]  
1
Byte count register 1 (BCR24BIT = 0)  
Reserved  
1
Reserved  
Byte count register 1 (BCR24BIT = 1) (BCR1) [p. 12-7]  
Reserved  
DMA status register 1  
(DSR1) [p. 12-10]  
0x354  
DMA interrupt vector  
register 1 (DIVR1)  
[p. 12-11]  
Reserved  
0x380  
0x384  
0x388  
0x38C  
0x38C  
0x390  
Source address register 2 (SAR2) [p. 12-6]  
Destination address register 2 (DAR2) [p. 12-7]  
DMA control register 2 (DCR2) [p. 12-8]  
1
Byte count register 2 (BCR24BIT = 0)  
Reserved  
1
Reserved  
Byte count register 2 (BCR24BIT = 1) (BCR2) [p. 12-7]  
Reserved  
DMA status register 2  
(DSR2) [p. 12-10]  
A-8  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Table A-10. DMA Controller Registers (Continued)  
MBAR  
Offset  
[31:24]  
[23:16]  
[15:8]  
[7:0]  
0x394  
DMA interrupt vector  
register 2 (DIVR2)  
[p. 12-11]  
Reserved  
0x3C0  
0x3C4  
0x3C8  
0x3CC  
0x3CC  
0x3D0  
Source address register 3 (SAR3) [p. 12-6]  
Destination address register 3 (DAR3) [p. 12-7]  
DMA control register 3 (DCR3) [p. 12-8]  
1
Byte count register 3 (BCR24BIT = 0)  
Reserved  
1
Reserved  
Byte count register 3 (BCR24BIT = 1) (BCR3) [p. 12-7]  
Reserved  
DMA status register 3  
(DSR3) [p. 12-10]  
0x3D4  
DMA interrupt vector  
register 3 (DIVR3)  
[p. 12-11]  
Reserved  
1
On the 0H55J and 1H55J revisions of the MCF5307, the byte count register of the DMA channels can  
accommodate only 16 bits. However, on the newest revision of the MCF5307, an expanded 24-bit byte count  
range provides greater exibility. For this reason, the position of the byte count register (BCR) in the memory  
map depends on whether a 16- or 24-bit byte counter is chosen. The selection is made by programming  
MPARK[BCR24BIT] in the SIM module.  
In the new MCF5307, the 24-bit byte count can be selected by setting BCR24BIT = 1, making DCR[AT]  
available. The AT bit selects whether the DMA channels assert an acknowledge during the entire transfer or  
only at the nal transfer of a DMA transaction.  
New applications should take advantage of the full range of the 24-bit byte counter, including the AT bit. The  
16-bit byte count option (BCR24BIT = 0) is kept to retain compatibility with older revisions of the MCF5307.  
Appendix A. List of Memory Maps  
A-9  
For More Information On This Product,  
Go to: www.freescale.com  
 
Freescale Semiconductor, Inc.  
A-10  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary ofTerms and Abbreviations  
The glossary contains an alphabetical list of terms, phrases, and abbreviations used in this  
book.  
A
Architecture. A detailed specication of requirements for a processor or  
computer system. It does not specify details of how the processor or  
computer system must be implemented; instead it provides a  
template for a family of compatible implementations.  
Autovector. A method of determining the starting address of the service  
routine by fetching the value from a lookup table internal to the  
processor instead of requesting the value from the system.  
B
Branch prediction.The process of guessing whether a branch will be taken.  
Such predictions can be correct or incorrect; the term ‘predicted’ as  
it is used here does not imply that the prediction is correct  
(successful).  
Branch resolution.The determination of whether a branch is taken or not  
taken. A branch is said to be resolved when the processor can  
determine which instruction path to take. If the branch is resolved as  
predicted, the instructions following the predicted branch that may  
have been speculatively executed can complete (see completion). If  
the branch is not resolved as predicted, instructions on the  
mispredicted path, and any results of speculative execution, are  
purged from the pipeline and fetching continues from the  
nonpredicted path.  
Burst. A multiple-beat data transfer.  
C
Cache. High-speed memory containing recently accessed data and/or  
instructions (subset of main memory).  
Cache coherency. An attribute wherein an accurate and common view of  
memory is provided to all devices that share the same memory  
system. Caches are coherent if a processor performing a read from  
Glossary ofTerms and Abbreviations  
Glossary-11  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
its cache is supplied with data corresponding to the most recent value  
written to memory or to another processor’s cache.  
Cache flush. An operation that removes from a cache any data from a  
specied address range. This operation ensures that any modied  
data within the specied address range is written back to main  
memory.  
Cache line. The smallest unit of consecutive data or instructions that is stored  
in a cache. For ColdFire processors a line consists of 16 bytes.  
Caching-inhibited. A memory update policy in which the cache is bypassed  
and the load or store is performed to or from main memory.  
Cast outs. Cache lines that must be written to memory when a cache miss  
causes a cache line to be replaced.  
Clear. To cause a bit or bit eld to register a value of zero. See also Set.  
Copyback. A cache memory update policy in which processor write cycles  
are directly written only to the cache. External memory is updated  
only indirectly, for example, when a modied cache line is cast out  
to make room for newer data.  
E
Effective address (EA). The 32-bit address specied for an instruction.  
Exception. A condition encountered by the processor that requires special,  
supervisor-level processing.  
Exception handler. A software routine that executes when an exception is  
taken. Normally, the exception handler corrects the condition that  
caused the exception, or performs some other meaningful task (that  
may include aborting the program that caused the exception). The  
address for each exception handler is identied by an exception  
vector dened by the ColdFire architecture.  
F
Fetch. The act of retrieving instructions from either the cache or main  
memory and making them available to the instruction unit.  
Flush. An operation that causes a modied cache line to be invalidated and  
the data to be written to memory.  
H
I
Illegal instructions. A class of instructions that are not implemented for a  
particular processor. These include instructions not dened by the  
ColdFire architecture.  
Glossary-12  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Implementation. A particular processor that conforms to the ColdFire  
architecture, but may differ from other architecture-compliant  
implementations for example in design, feature set, and  
implementation of optional features. The ColdFire architecture has  
many different implementations.  
Imprecise mode. A memory access mode that allows write accesses to a  
specied memory region to occur out of order.  
Instruction queue. A holding place for instructions fetched from the current  
instruction stream.  
Instruction latency. The total number of clock cycles necessary to execute  
an instruction and make the results of that instruction available.  
Interrupt. An asynchronous exception. On ColdFire processors, interrupts  
are a special case of exceptions. See also asynchronous exception.  
Invalid state. State of a cache entry that does not currently contain a valid  
copy of a cache line from memory.  
L
L
Least-significant bit (lsb). The bit of least value in an address, register, data  
element, or instruction encoding.  
Least-significant byte (LSB). The byte of least value in an address, register,  
data element, or instruction encoding.  
Longword. A 32-bit data element  
M
Master. A device able to initiate data transfers on a bus. Bus mastering refers  
to a feature supported by some bus architectures that allow a  
controller connected to the bus to communicate directly with other  
devices on the bus without going through the CPU.  
Memory coherency. An aspect of caching in which it is ensured that an  
accurate view of memory is provided to all devices that share system  
memory.  
Modified state. Cache state in which only one caching device has the valid  
data for that address.  
Most-significant bit (msb). The highest-order bit in an address, registers,  
data element, or instruction encoding.  
Most-significant byte (MSB). The highest-order byte in an address,  
registers, data element, or instruction encoding.  
Glossary ofTerms and Abbreviations  
Glossary-13  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Nop. No-operation. A single-cycle operation that does not affect registers or  
N
O
generate bus activity.  
Overflow. An condition that occurs during arithmetic operations when the  
result cannot be stored accurately in the destination register(s). For  
example, if two 16-bit numbers are multiplied, the result may not be  
representable in 16 bits.  
P
S
Pipelining. A technique that breaks operations, such as instruction  
processing or bus transactions, into smaller distinct stages or tenures  
(respectively) so that a subsequent operation can begin before the  
previous one completes.  
Precise mode. A memory access mode that ensures that all write accesses to  
a specied memory region occur in order.  
Set (v) To write a nonzero value to a bit or bit eld; the opposite of clear. The  
term ‘set’ may also be used to generally describe the updating of a  
bit or bit eld.  
Set (n). A subdivision of a cache. Cacheable data can be stored in a given  
location in any one of the sets, typically corresponding to its lower-  
order address bits. Because several memory locations can map to the  
same location, cached data is typically placed in the set whose cache  
line corresponding to that address was used least recently. See Set-  
associativity.  
Set-associativity. Aspect of cache organization in which the cache space is  
divided into sections, called sets. The cache controller associates a  
particular main memory address with the contents of a particular set,  
or region, within the cache.  
Slave. The device addressed by a master device. The slave is identied in the  
address tenure and is responsible for supplying or latching the  
requested data for the master during the data tenure.  
Static branch prediction. Mechanism by which software (for example,  
compilers) can hint to the machine hardware about the direction a  
branch is likely to take.  
Supervisor mode. The privileged operation state of a processor. In  
supervisor mode, software, typically the operating system, can  
access all control registers and can access the supervisor memory  
space, among other privileged operations.  
Glossary-14  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
System memory. The physical memory available to a processor.  
T
Tenure. A tenure consists of three phases: arbitration, transfer, termination.  
There can be separate address bus tenures and data bus tenures.  
Throughput. The measure of the number of instructions that are processed  
per clock cycle.  
Transfer termination. The successful or unsuccessful conclusion of a data  
transfer.  
U
Underflow. A condition that occurs during arithmetic operations when the  
result cannot be represented accurately in the destination register.  
User mode. The operating state of a processor used typically by application  
software. In user mode, software can access only certain control  
registers and can access only user memory space. No privileged  
operations can be performed.  
V
W
Word. A 16-bit data element.  
Write-through. A cache memory update policy in which all processor write  
cycles are written to both the cache and memory.  
Glossary ofTerms and Abbreviations  
Glossary-15  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Glossary-16  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
INDEX  
A
C
Accumulator (ACC), 2-28  
Addressing  
CCR, 2-28  
Chip-select module  
mode summary, 2-33  
variant, 5-5  
Arbitration  
between masters, 6-14  
bus control, 6-11  
for internal transfers, 6-12  
8-, 16-, and 32-bit port sizing, 10-4  
enable signals, 17-15  
operation, 10-2  
general, 10-3  
global, 10-4  
overview, 10-1  
registers, 10-5, 10-6, A-2  
code example, 10-9  
control, 10-8  
mask, 10-6  
signals, 10-1  
Clock  
PLL control, 6-10  
ColdFire core  
addressing mode summary, 2-33  
condition code register (CCR), 2-28  
exception processing overview, 2-47  
features and enhancements, 2-21  
instruction set summary, 2-34  
integer data formats, 2-31  
MAC registers, 1-14  
programming model, 2-26  
status register, 2-29  
supervisor programming model, 2-29  
user programming mode, 2-27  
CPU STOP instruction, 6-10  
B
Baud rates  
calculating, 14-19  
Bus operation  
arbitration control, 6-11  
characteristics, 18-2  
control signals, 18-1  
data transfer  
back-to-back cycles, 18-10  
burst cycles  
line read bus, 18-12  
line transfers, 18-12  
line write bus, 18-14  
mixed port sizes, 18-15  
overview, 18-11  
cycle execution, 18-4  
cycle states, 18-5  
fast-termination cycles, 18-9  
operation, 18-3  
read cycle, 18-7  
write cycle, 18-8  
D
errors, 18-17  
Debug  
external master transfers  
general, 18-21  
two-device arbitration protocol, 18-25  
two-wire mode, 18-25  
features, 18-1  
attribute trigger register, 5-7  
BDM command set summary, 5-20  
breakpoint operation, 5-40  
real-time support, 5-39  
taken branch, 5-4  
interrupt exceptions, 18-17  
master park register, 6-11  
misaligned operands, 18-16  
reset  
master, 18-34  
overview, 18-33  
theory, 5-40  
DMA controller module  
byte count registers, 12-7  
programming model, 12-4  
signal description, 12-2  
source address registers, 12-6  
timing specifications, 20-19  
transfer overview, 12-3  
DRAM controller  
software watchdog, 18-35  
asynchronous operation  
Index  
Index-17  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
INDEX  
burst page mode, 11-12  
I
continuous page mode, 11-13  
extended data out, 11-15  
general, 11-4  
2
I C  
address register, 8-6  
arbitration procedure, 8-4  
clock  
stretching, 8-5  
synchronization, 8-5  
control register, 8-8  
data I/O register, 8-10  
features, 8-1  
frequency divider register, 8-7  
handshaking, 8-5  
interface memory map, A-7  
lost arbitration, 8-13  
overview, 8-1  
programming  
examples, 8-10  
mode signals, 11-4  
register set, 11-4  
general guidelines, 11-8  
non-page mode, 11-11  
refresh operation, 11-16  
registers, 11-3  
address and control, 11-5  
mask, 11-7  
signals, 17-16  
synchronous operation  
address and control registers, 11-20  
address multiplexing, 11-23  
auto-refresh, 11-31  
burst page mode, 11-27  
continuous page mode, 11-29  
controller signals, 11-17  
edge select, 11-18  
general guidelines, 11-23  
initialization, 11-33  
interfacing, 11-27  
mask registers, 11-22  
mode register settings, 11-33  
register set, 11-19  
model, 8-6  
protocol, 8-3  
repeated START generation, 8-12  
slave mode, 8-13  
software response, 8-11  
START generation, 8-10  
status register, 8-9  
STOP generation, 8-12  
system configuration, 8-3  
timing specifications, 20-15  
IEEE Standard 1149.1 Test Access Port, see JTAG  
Instruction set  
self-refresh, 11-32  
DSCLK, 5-2  
general summary, 2-34  
MAC summary, 3-4  
MAC unit execution times, 3-5  
Integer data formats  
memory, 2-32  
registers, 2-31  
Interrupt controller  
autovector register, 9-5  
overview, 9-1  
pending and mask registers, 9-6  
port assignment register, 9-7  
E
Electrical specifications  
clock timing, 20-2  
debug AC timing, 20-12  
DMA timing, 20-19  
general parameters, 20-1  
2
I C input/output timing, 20-15  
input/iutput AC timing, 20-3  
JTAG AC timing, 20-20  
parallel port timing, 20-18  
reset timing, 20-12  
timer module AC timing, 20-14  
UART module AC timing, 20-16  
J
JTAG  
AC timing, 20-20  
obtaining IEEE Standard 1149.1, 19-12  
overview, 19-1  
F
Fault-on-fault halt, 5-16  
registers  
boundary scan, 19-7  
bypass, 19-10  
descriptions, 19-4  
IDCODE, 19-6  
H
Halt  
fault-on-fault, 5-16  
instruction shift, 19-5  
restrictions, 19-10  
Index-18  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
INDEX  
signal descriptions, 19-2  
TAP controller, 19-3  
PST outputs, 5-3  
PULSE instruction, 5-4  
test logic disabling, 19-11  
R
M
Registers  
MAC  
data representation, 3-4  
ABLR/ABHR, 5-7, 5-8  
address (A0 – A6), 2-27  
instruction execution timings, 3-5  
instruction set summary, 3-4  
operation, 3-3  
programming model, 2-26, 3-2  
status register (MACSR), 1-14, 2-29  
Mask registers  
AVR, 9-5  
BDM address attribute, 5-9  
bus master park, 6-11  
chip-select  
control, 10-8  
mask, 10-6  
DRAM, 11-7, 11-22  
MAC, 1-14, 2-29  
MBAR, 6-4  
Mechanical data  
case drawing, 16-9  
diagram, 16-8  
pinout, 16-1  
Memory SIM register, 6-3  
MOVEC instruction, 5-36  
module, 10-5  
condition code, 2-28  
condition code (CCR), 2-28  
data breakpoint/mask, 5-12  
data D0 - D7, 2-27  
DBR/DBMR, 5-7  
debug attribute trigger, 5-7  
DMA  
byte count, 12-7  
source address, 12-6  
DRAM  
O
asynchronous  
address and control, 11-5  
DACR, 11-5  
Output port command registers, 14-15  
DCR, 11-4  
DMR, 11-7  
mode signals, 11-4  
general operation, 11-3  
synchronous  
DACR, 11-20  
DCR, 11-19  
DMR, 11-22  
mode settings, 11-33  
P
Parallel port  
code example, 15-3  
data direction register, 15-2  
data register, 15-2  
operation, 15-1  
Pin assignment register, 6-10, 15-1  
PLL, 7-2  
clock control for STOP, 6-10  
clock frequency relationships, 7-4  
control register, 7-3  
modes, 7-2  
operation, 7-2  
overview, 7-1  
2
I C  
address, 8-6  
control, 8-8  
data I/O, 8-10  
frequency divider, 8-7  
status, 8-9  
I2CR, 8-8  
I2DR, 8-10  
I2SR, 8-9  
IADR, 8-6  
port list, 7-3  
power supply filter circuit, 7-6  
reset/initialization, 7-2  
timing relationships, 7-4  
Power supply filter circuit, 7-6  
Privilege level modes, 1-12  
Programming models  
overview, 2-26  
IFDR, 8-7  
interrupt controller  
autovector, 9-5  
pending and mask, 9-6  
port assignment, 9-7  
IPR and IMR, 9-6  
IRQPAR, 9-7  
JTAG  
SIM, 6-3  
summary, A-1  
supervisor, 2-29  
user, 2-27  
Index  
Index-19  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
INDEX  
boundary scan, 19-7  
bypass, 19-10  
RSTI timing, 7-5  
descriptions, 19-4  
IDCODE, 19-6  
instruction shift, 19-5  
MAC status, 1-14, 2-29  
MASK, 2-29  
MBAR, 6-4  
MPARK, 6-11  
output port command, 14-15  
PADAT, 15-2  
PADDR, 15-2  
PAR, 6-10, 15-1  
parallel port  
data, 15-2  
pin assignment, 6-10, 15-1  
PLL control, 7-3  
PLLCR, 7-3  
read control, 5-36  
read debug module, 5-38  
reset status, 6-5  
RSR, 6-5  
S bit, 1-12  
SDRAM mode initialization, 11-38  
SIM  
base address, 6-4  
memory map, 6-3  
software watchdog interrupt, 6-9  
status, 2-29  
SWIVR, 6-9  
SWSR, 6-9  
SYPCR, 6-8  
system protection control, 6-8  
TCR, 13-4  
TER, 13-5  
timer module  
capture, 13-4  
event, 13-5  
mode, 13-3  
reference, 13-4  
TMR, 13-3  
trigger definition, 5-14  
UACR, 14-12  
UART modules, 14-2–14-16  
UCR, 14-9  
UCSR, 14-8  
UDU/UDL, 14-14  
UIP, 14-15  
UIPCR, 14-12  
UISR, 14-13  
S
SDRAM  
block diagram and major components, 11-2  
controller registers, A-3  
DACR initialization, 11-35  
DCR initialization, 11-35  
definitions, 11-2  
DMR initialization, 11-37  
example, 11-34  
initialization code, 11-39  
interface configuration, 11-35  
mode register initialization, 11-38  
overview, 11-1  
Signal descriptions, 17-1  
address  
bus, 17-7  
configuration, 17-14  
strobe, 17-9  
bus  
arbitration, 17-12  
clock output, 17-13  
data, 17-8  
driven, 17-13  
grant, 17-12  
request, 17-12  
chip-select module, 17-15  
clock, 17-13  
clock and reset signals  
divide control, 17-15  
data bus, 17-8  
data/configuration pins, 17-13  
debug  
high impedance, 17-20  
JTAG, 17-21  
processor clock output, 17-20  
test  
clock, 17-23  
mode, 17-20  
overview, 17-20  
DMA controller module, 17-17  
DRAM controller  
address strobes, 17-16  
overview, 17-16  
synchronous  
clock enable, 17-17  
column address strobe, 17-17  
edge select, 17-17  
row address strobe, 17-17  
write, 17-17  
UIVR, 14-15  
vector base, 2-30  
write control, 5-37  
write debug module, 5-39  
2
I C module  
general, 17-19  
serial data and clock, 17-19  
Index-20  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
INDEX  
interrupt  
control signals, 17-12  
request, 17-12  
JTAG, 19-2  
parallel I/O port, 17-19  
read/write, 17-8  
reset in, out, 17-13  
serial module  
write cycles, 14-28  
clock source baud rates, 14-19  
external clock, 14-19  
FIFO stack in UART0, 14-24  
initialization sequence, 14-29  
looping modes, 14-25  
automatic echo, 14-25  
local loop-back, 14-25  
remote loop-back, 14-26  
general, 17-18  
receiver serial data input, 17-18  
send, 17-18  
transmitter serial data output, 17-18  
size, 17-8  
mode registers, 14-4  
multidrop mode, 14-26  
programming, 14-28  
receiver  
timer module, 17-18  
transfer  
acknowledge, 17-9  
in progress, 17-10  
modifier, 17-10  
enabled, 14-22  
register description, 14-2  
serial overview, 14-2  
signal definitions, 14-16  
transmitter/receiver  
clock source, 14-18  
modes, 14-19  
start, 17-9  
Signals  
overview, 17-1  
SIM  
transmitting in UART mode, 14-21  
User programming model, 2-27  
features, 6-1  
programming model, 6-3  
register memory map, 6-3  
Software watchdog  
interrupt vector register, 6-9  
service register, 6-9  
V
Variant address, 5-5  
Vector base register, 2-30  
timer, 6-6  
STOP instruction, 5-4, 5-17  
System protection control register, 6-8  
W
WDDATA execution, 5-4  
T
Timer module  
calculating time-out values, 13-7  
capture registers, 13-4  
code example, 13-6  
counters, 13-5  
event registers, 13-5  
general-purpose programming model, 13-2  
mode registers, 13-3  
reference registers, 13-4  
Timing  
MAC unit instructions, 3-5  
PLL, 7-4  
RSTI, 7-5  
Transfers generated internally, 6-12  
U
UART modules  
bus operation  
interrupt acknowledge cycles, 14-28  
read cycles, 14-28  
Index  
Index-21  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
INDEX  
Index-22  
MCF5307 User’s Manual  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
Overview  
Part I: MCF5307 Processor Core  
ColdFire Core  
1
Part I  
2
Hardware Multiply/Accumulate (MAC) Unit  
Local Memory  
3
4
Debug Support  
5
Part II: System Integration Module (SIM)  
SIM Overview  
Part II  
6
Phase-Locked Loop (PLL)  
7
8
2
I C Module  
Interrupt Controller  
Chip-Select Module  
9
10  
11  
Synchronous/Asynchronous DRAM Controller Module  
Part III: Peripheral Module  
DMA Controller Module  
Part III  
12  
13  
Timer Module  
UART Modules  
14  
Parallel Port (General-Purpose I/O)  
Part IV: Hardware Interface  
Mechanical Data  
15  
Part IV  
16  
17  
Signal Descriptions  
Bus Operation  
18  
IEEE 1149.1 Test Access Port (JTAG)  
Electrical Specifications  
19  
20  
A
Appendix: Memory Map  
GLO  
IND  
Glossary of Terms and Abbreviations  
Index  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
1
Overview  
Part I  
Part I: MCF5307 Processor Core  
ColdFire Core  
2
Hardware Multiply/Accumulate (MAC) Unit  
Local Memory  
3
4
Debug Support  
5
Part II: System Integration Module (SIM)  
SIM Overview  
Part II  
6
Phase-Locked Loop (PLL)  
7
8
2
I C Module  
9
Interrupt Controller  
10  
Chip-Select Module  
11  
Synchronous/Asynchronous DRAM Controller Module  
Part III: Peripheral Module  
DMA Controller Module  
Timer Module  
Part III  
12  
13  
14  
UART Modules  
15  
Parallel Port (General-Purpose I/O)  
Part IV: Hardware Interface  
Mechanical Data  
Part IV  
16  
17  
Signal Descriptions  
18  
Bus Operation  
19  
IEEE 1149.1 Test Access Port (JTAG)  
Electrical Specifications  
Appendix: Memory Map  
Glossary of Terms and Abbreviations  
Index  
20  
A
GLO  
IND  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
For More Information On This Product,  
Go to: www.freescale.com  
Freescale Semiconductor, Inc.  
For More Information On This Product,  
Go to: www.freescale.com  

相关型号:

MCF5307CAI66B

MCF530X 32-bit MPU, ColdFire V3 core, 66MHz, QFP 208
NXP

MCF5307CFT66B

32-BIT, 66MHz, RISC PROCESSOR, PQFP208, 28 X 28 MM, PLASTIC, QFP-208
ROCHESTER

MCF5307CFT66B

RISC Microprocessor, 32-Bit, 66MHz, CMOS, PQFP208, 28 X 28 MM, PLASTIC, QFP-208
MOTOROLA

MCF5307FT66B

RISC Microprocessor, 32-Bit, 66MHz, CMOS, PQFP208, 28 X 28 MM, PLASTIC, QFP-208
MOTOROLA

MCF5307FT90B

32-BIT, 90MHz, RISC PROCESSOR, PQFP208, 28 X 28 MM, PLASTIC, QFP-208
MOTOROLA

MCF5307FT90B

32-BIT, 90MHz, RISC PROCESSOR, PQFP208, 28 X 28 MM, PLASTIC, QFP-208
ROCHESTER

MCF5307TR

UART MODULE
MOTOROLA

MCF5327

ColdFire㈢ Microprocessor
FREESCALE

MCF5327CVM240

Microprocessor Data Sheet
FREESCALE

MCF5327CVM240

MCF5329 ColdFire Microprocessor Data Sheet
ANALOGICTECH

MCF5328

ColdFire㈢ Microprocessor
FREESCALE

MCF53281

ColdFire㈢ Microprocessor
FREESCALE