Freescale Semiconductor, Inc. CTM Freescale Semiconductor, Inc... Modular Microcontroller Family REFERENCE MANUAL Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. CTMRM/D Modular Microcontroller Family CTM CONFIGURABLE TIMER MODULE REFERENCE MANUAL !MOTOROLA !MOTOROLA For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. FUNCTIONAL OVERVIEW 1 BUS INTERFACE UNIT SUBMODULE (BIUSM) 2 INTERRUPTS 3 COUNTER PRESCALER SUBMODULE (CPSM) 4 FREE-RUNNING COUNTER SUBMODULE (FCSM) 5 MODULUS COUNTER SUBMODULE (MCSM) 6 SINGLE ACTION SUBMODULE (SASM) 7 DOUBLE ACTION SUBMODULE (DASM) 8 PULSE WIDTH MODULATION SUBMODULE (PWMSM) 9 ELECTRICAL SPECIFICATIONS 10 REGISTER SUMMARY A CTM EXAMPLE – CTM2 B GLOSSARY C INDEX D For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com 1 Freescale Semiconductor, Inc. FUNCTIONAL OVERVIEW 2 BUS INTERFACE UNIT SUBMODULE (BIUSM) 3 INTERRUPTS 4 COUNTER PRESCALER SUBMODULE (CPSM) 5 FREE-RUNNING COUNTER SUBMODULE (FCSM) 6 MODULUS COUNTER SUBMODULE (MCSM) 7 SINGLE ACTION SUBMODULE (SASM) 8 DOUBLE ACTION SUBMODULE (DASM) 9 PULSE WIDTH MODULATION SUBMODULE (PWMSM) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 10 ELECTRICAL SPECIFICATIONS A REGISTER SUMMARY B CTM EXAMPLE – CTM2 C GLOSSARY D INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. 1 2 CTM 3 Configurable Timer Module Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 4 Reference Manual 5 6 7 All Trade Marks recognized. This document contains information on new products. Specifications and information herein are subject to change without notice. 8 All products are sold on Motorola’s Terms & Conditions of Supply. In ordering a product covered by this document the Customer agrees to be bound by those Terms & Conditions and nothing contained in this document constitutes or forms part of a contract (with the exception of the contents of this Notice). A copy of Motorola’s Terms & Conditions of Supply is available on request. 9 Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters can and do vary in different applications. All operating parameters, including “Typicals”, must be validated for each customer application by 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. The Customer should ensure that it has the most up to date version of the document by contacting its local Motorola office. This document supersedes any earlier documentation relating to the products referred to herein. The information contained in this document is current at the date of publication. It may subsequently be updated, revised or withdrawn. GJL-ekb © MOTOROLA LTD., 1997 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com 10 11 12 13 14 15 1 Freescale Semiconductor, Inc. 2 3 Conventions 4 Where abbreviations are used in the text, an explanation can be found in the glossary, at the back of this document. Register and bit mnemonics are defined in the paragraphs describing them. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 5 6 7 A horizontal bar over a signal name indicates that the signal is active-low, e.g. RESET. Unless stated otherwise, shaded cells in a register diagram indicate that the bits are either unimplemented bits or reserved, and always read as zero. In register diagrams, ‘u’ indicates that the state on reset is undefined. When a bit is ‘set’, it has the value 1 (one). When a bit is ‘clear’, it has the value 0 (zero). When a bit is ‘reset’, it has its default value, which may be 1 or 0. 8 9 10 11 Reference documents CPU16 Central Processor Unit Reference Manual (CPU16RM/D) CPU32 Central Processor Unit Reference Manual (CPU32RM/AD) GPT General Purpose Timer Reference Manual (GPTRM/AD) 12 An introduction to the HC16 for HC11 users (AN461/D) 13 14 15 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. —this line does not form part of the document— CTMLOP 11/Nov/97@15:52 CUSTOMER FEEDBACK QUESTIONNAIRE (CTMRM) Motorola wishes to continue to improve the quality of its documentation. We would welcome your feedback on the publication you have just received. Having used the document, please complete this card (or a photocopy of it, if you prefer). 1. How would you rate the quality of the document? Check one box in each category. Excellent Poor Organization Excellent Poor Tables Readability Table of contents Understandability Index Accuracy Page size/binding Illustrations Overall impression Comments: 2. What is your intended use for this document? If more than one option applies, please rank them (1, 2, 3). Selection of device for new application Other Please specify: System design Training purposes 3. How well does this manual enable you to perform the task(s) outlined in question 2? Completely – Cut along this line to remove – Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 4. Comments: How easy is it to find the information you are looking for? Easy 5. Not at all Difficult Comments: Is the level of technical detail in the following sections sufficient to allow you to understand how the device functions? Too little detail Table of Contents/List of Figures/List of Tables SECTION 1 FUNCTIONAL OVERVIEW SECTION 2 BUS INTERFACE UNIT SUBMODULE (BIUSM) SECTION 3 INTERRUPTS SECTION 4 COUNTER PRESCALER SUBMODULE (CPSM) SECTION 5 FREE-RUNNING COUNTER SUBMODULE (FCSM) SECTION 6 MODULUS COUNTER SUBMODULE (MCSM) SECTION 7 SINGLE ACTION SUBMODULE (SASM) SECTION 8 DOUBLE ACTION SUBMODULE (DASM) SECTION 9 PULSE WIDTH MODULATION SUBMODULE (PWMSM) SECTION 10 ELECTRICAL SPECIFICATIONS APPENDIX A REGISTER SUMMARY APPENDIX B CTM EXAMPLE – CTM2 APPENDIX C GLOSSARY APPENDIX D INDEX Comments: 6. Have you found any errors? If so, please comment: 7. From your point of view, is anything missing from the document? If so, please say what: For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Too much detail Freescale Semiconductor, Inc. —this line does not form part of the document— 11/Nov/97@15:52 8. How could we improve this document? 9. How would you rate Motorola’s documentation? Excellent CTMLOP Poor – In general – Against other semiconductor suppliers 11. Which company (in any field) provides the best technical documentation? 12. How many years have you worked with microprocessors? Less than 1 year 1–3 years 3–5 years More than 5 years – Second fold back along this line – NE PAS AFFRANCHIR By air mail Par avion IBRS NUMBER PHQ-B/207/G CCRI NUMERO PHQ-B/207/G NO STAMP REQUIRED REPONSE PAYEE GRANDE-BRETAGNE SECTION ! MOTOROLA LTD. Semiconductor Products Sector Motorola Ltd., Colvilles Road, Kelvin Industrial Estate, EAST KILBRIDE, G75 8BR. GREAT BRITAIN. F.A.O. Technical Publications Manager (re: CTMRM/D) – Third fold back along this line – 13. Currently there is some discussion in the semiconductor industry regarding a move towards providing data sheets in electronic form. If you have any opinion on this subject, please comment. 14. We would be grateful if you would supply the following information (at your discretion), or attach your card. Name: Phone No: Position: FAX No: Department: Company: Address: Thank you for helping us improve our documentation, Graham Livey, Technical Publications Manager, Motorola Ltd., Scotland. For More Information On This Product, this edge into opposite flap – Go– Last to:tuckwww.freescale.com For More Information On This Product, Go to: www.freescale.com – Cut along this line to remove – Freescale Semiconductor, Inc... 10. Which semiconductor manufacturer provides the best technical documentation? – First fold back along this line – Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Freescale Semiconductor, Inc. TABLE OF CONTENTS Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Paragraph Number Title Page Number 1 FUNCTIONAL OVERVIEW 1.1 1.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.5 1.6 1.7 1.8 1.9 1.10 CTM features .........................................................................................................1-1 CTM description ....................................................................................................1-2 Byte/word/long word accesses ..............................................................................1-3 8-bit (byte) accesses ........................................................................................1-3 16-bit (word) aligned accesses ........................................................................1-4 16-bit (word) misaligned accesses...................................................................1-4 32-bit (long word) aligned accesses ................................................................1-5 32-bit (long word) misaligned accesses ...........................................................1-5 3-byte accesses ...............................................................................................1-5 The time base bus system.....................................................................................1-5 Pin descriptions .....................................................................................................1-6 Input capture (IC) concepts ...................................................................................1-6 Output compare (OC) concepts.............................................................................1-7 Pulse accumulator (PA) concepts ..........................................................................1-8 Pulse width modulation (PWM) concepts ..............................................................1-9 Using and clearing flag bits ...................................................................................1-10 2 BUS INTERFACE UNIT SUBMODULE (BIUSM) 2.1 2.2 2.3 2.4 2.5 2.5.1 2.5.2 2.5.3 BIUSM description.................................................................................................2-1 Freeze action on the BIUSM..................................................................................2-1 LPSTOP action on the BIUSM...............................................................................2-1 STOP and WAIT action on the BIUSM ..................................................................2-2 BIUSM registers ....................................................................................................2-2 BIUMCR — BIUSM module configuration register ..........................................2-2 BIUTEST — BIUSM test configuration register ...............................................2-4 BIUTBR — BIUSM time base register .............................................................2-5 CTM REFERENCE TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA i Freescale Semiconductor, Inc. Paragraph Number Title Page Number 3 INTERRUPTS 3.1 3.2 3.3 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Interrupt levels on the IMB.....................................................................................3-1 Arbitration ..............................................................................................................3-2 CTM daisy-chain priority........................................................................................3-2 4 COUNTER PRESCALER SUBMODULE (CPSM) 4.1 CPSM description..................................................................................................4-1 4.2 Freeze action on the CPSM...................................................................................4-2 4.3 CPSM registers .....................................................................................................4-2 4.3.1 CPCR — CPSM control register......................................................................4-2 4.3.2 CPTR — CPSM test register ...........................................................................4-3 5 FREE-RUNNING COUNTER SUBMODULE (FCSM) 5.1 5.2 5.3 5.3.1 5.4 5.5 5.6 5.7.1 5.7.2 FCSM description..................................................................................................5-1 The FCSM counter ................................................................................................5-1 FCSM clock sources..............................................................................................5-2 FCSM external event counting.........................................................................5-2 The FCSM time base bus driver............................................................................5-3 FCSM interrupts ....................................................................................................5-3 Freeze action on the FCSM...................................................................................5-3 FCSMSIC — FCSM status/interrupt/control register .......................................5-4 FCSMCNT — FCSM counter register .............................................................5-6 6 MODULUS COUNTER SUBMODULE (MCSM) 6.1 MCSM description .................................................................................................6-1 6.2 The MCSM modulus latch .....................................................................................6-2 6.3 The MCSM counter ...............................................................................................6-2 6.3.1 Loading the MCSM counter register ................................................................6-2 6.3.1.1 Using the MCSM as a free-running counter...............................................6-3 6.4 MCSM clock sources.............................................................................................6-3 6.4.1 MCSM external event counting........................................................................6-3 6.5 The MCSM time base bus driver ...........................................................................6-4 MOTOROLA ii TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Paragraph Number Title Page Number 6.6 MCSM interrupts....................................................................................................6-4 6.7 Freeze action on the MCSM ..................................................................................6-4 6.8 MCSM registers .....................................................................................................6-4 6.8.1 MCSMSIC — MCSM status/interrupt/control register......................................6-5 6.8.2 MCSMCNT — MCSM counter register ............................................................6-7 6.8.3 MCSMML — MCSM modulus latch register ....................................................6-8 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 7 SINGLE ACTION SUBMODULE (SASM) 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.4 7.5 7.5.1 7.5.2 7.5.3 7.5.4 SASM description ..................................................................................................7-1 SASM modes of operation.....................................................................................7-2 Clearing and using the FLAG bits ....................................................................7-2 Input capture (IC) mode ...................................................................................7-4 Output compare (OC) mode ............................................................................7-4 Output compare and toggle (OCT) mode ........................................................7-5 Output port (OP) mode ....................................................................................7-5 SASM interrupts ....................................................................................................7-6 Freeze action on the SASM ...................................................................................7-6 SASM registers......................................................................................................7-6 SICA — SASM status/interrupt/control register A............................................7-7 SDATA — SASM data register A......................................................................7-10 SICB — SASM status/interrupt/control register B............................................7-10 SDATB — SASM data register B .....................................................................7-11 8 DOUBLE ACTION SUBMODULE (DASM) 8.1 DASM description ..................................................................................................8-2 8.2 32-bit coherent access ..........................................................................................8-3 8.3 DASM modes of operation.....................................................................................8-3 8.3.1 Disable (DIS) mode..........................................................................................8-4 8.3.2 Input pulse width measurement (IPWM) mode................................................8-4 8.3.3 Input period measurement (IPM) mode ...........................................................8-5 8.3.4 Input capture (IC) mode ...................................................................................8-7 8.3.5 Output compare (OCB and OCAB) modes ......................................................8-7 8.3.5.1 Single shot output pulse operation .............................................................8-8 8.3.5.2 Single output compare operation ...............................................................8-9 8.3.5.3 Output port bit operation ............................................................................8-9 8.3.6 Output pulse width modulation (OPWM) mode................................................8-10 8.4 DASM interrupts ....................................................................................................8-12 8.5 Freeze action on the DASM...................................................................................8-13 CTM REFERENCE TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA iii Freescale Semiconductor, Inc. Paragraph Number Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Title Page Number 8.6 DASM registers .....................................................................................................8-13 8.6.1 DASMSIC — DASM status/interrupt/control register ......................................8-14 8.6.2 DASMA — DASM data register A ....................................................................8-18 8.6.3 DASMB — DASM data register B ....................................................................8-18 8.7 DASM examples ....................................................................................................8-20 8.7.1 IC mode example.............................................................................................8-20 8.7.2 IPM mode example ..........................................................................................8-21 8.7.3 OCB mode example.........................................................................................8-22 8.7.4 PWM mode example........................................................................................8-24 9 PULSE WIDTH MODULATION SUBMODULE (PWMSM) 9.1 PWMSM features ..................................................................................................9-1 9.2 PWMSM description..............................................................................................9-2 9.2.1 Output flip-flop and pin.....................................................................................9-2 9.2.2 Clock selection.................................................................................................9-2 9.2.3 The PWMSM counter (PWMC)........................................................................9-3 9.2.4 PWMSM period registers and comparator.......................................................9-4 9.2.5 PWMSM pulse width registers and comparator...............................................9-4 9.2.5.1 0% and 100% ‘pulses’ ................................................................................9-5 9.2.6 PWMSM coherency .........................................................................................9-5 9.2.7 PWMSM interrupts...........................................................................................9-6 9.2.8 Freeze action on the PWMSM .........................................................................9-6 9.3 PWM frequency, pulse width and resolution..........................................................9-6 9.3.1 PWM frequency ...............................................................................................9-7 9.3.2 PWM pulse width .............................................................................................9-7 9.3.3 PWM period and pulse width register values...................................................9-8 9.4 PWMSM register map and registers......................................................................9-9 9.4.1 PWMSIC — Status, interrupt and control register ...........................................9-9 9.4.2 PWMA — PWM period register .......................................................................9-12 9.4.3 PWMB — PWM pulse width register ...............................................................9-13 9.4.4 PWMC — PWM counter register .....................................................................9-14 10 ELECTRICAL SPECIFICATIONS 10.1 10.2 10.3 10.4 FCSM and MCSM timing information ..................................................................10-1 SASM timing information.............................................................................................................10-6 DASM timing information .....................................................................................10-9 PWMSM timing information .................................................................................10-12 MOTOROLA iv TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Paragraph Number Title Page Number APPENDIX A REGISTER AND BIT SUMMARY Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A.1 BIUSM registers and bits...................................................................................... A-1 A.1.1 BIUMCR — BIUSM module configuration register ......................................... A-1 A.1.1.1 STOP — Stop enable................................................................................ A-1 A.1.1.2 FRZ — Freeze enable............................................................................... A-1 A.1.1.3 VECT7, VECT6 — Interrupt vector base number bits............................... A-2 A.1.1.4 IARB[2:0] — Interrupt arbitration identification bits ................................... A-2 A.1.1.5 TBRS1, TBRS0 — Time base register bus select bits .............................. A-2 A.1.2 BIUTEST — BIUSM test configuration register .............................................. A-2 A.1.3 BIUTBR — BIUSM time base register ............................................................ A-2 A.2 CPSM registers and bits....................................................................................... A-3 A.2.1 CPCR — CPSM control register..................................................................... A-3 A.2.1.1 PRUN — Prescaler running bit ................................................................. A-3 A.2.1.2 DIV23 — Divide by 2 or divide by 3 bit...................................................... A-3 A.2.1.3 PSEL1, PSEL0 — Prescaler division ratio select bits ............................... A-3 A.2.2 CPTR — CPSM test register .......................................................................... A-3 A.3 FCSM registers and bits ....................................................................................... A-4 A.3.1 FCSMSIC — FCSM status/interrupt/control register ...................................... A-4 A.3.1.1 COF — Counter overflow flag bit .............................................................. A-4 A.3.1.2 IL[2:0] — Interrupt level bits ...................................................................... A-4 A.3.1.3 IARB3 — Interrupt arbitration bit 3 ............................................................ A-4 A.3.1.4 DRVA, DRVB — Drive time base bus bits ................................................. A-5 A.3.1.5 IN — Input pin status bit............................................................................ A-5 A.3.1.6 CLK[2:0] — Counter clock select bits........................................................ A-5 A.3.2 FCSMCNT — FCSM counter register ............................................................ A-5 A.4 MCSM registers and bits ...................................................................................... A-6 A.4.1 MCSMSIC — MCSM status/interrupt/control register..................................... A-6 A.4.1.1 COF — Counter overflow flag bit .............................................................. A-6 A.4.1.2 IL[2:0] — Interrupt level bits ...................................................................... A-6 A.4.1.3 IARB3 — Interrupt arbitration bit 3 ............................................................ A-6 A.4.1.4 DRVA, DRVB — Drive time base bus bits ................................................. A-7 A.4.1.5 IN2 — Clock input pin status bit ................................................................ A-7 A.4.1.6 IN1 — Modulus load input pin status bit.................................................... A-7 A.4.1.7 EDGEN, EDGEP — Modulus load edge sensitivity bits............................ A-7 A.4.1.8 CLK[2:0] — Counter clock select bits........................................................ A-7 A.4.2 MCSMCNT — MCSM counter register........................................................... A-8 A.4.3 MCSMML — MCSM modulus latch register ................................................... A-8 A.5 SASM registers and bits ....................................................................................... A-9 A.5.1 SICA — SASM status/interrupt/control register A........................................... A-9 A.5.1.1 FLAG — Event flag bit............................................................................... A-9 A.5.1.2 IL[2:0] — Interrupt level bits ...................................................................... A-9 A.5.1.3 IARB3 — Interrupt arbitration bit 3 ............................................................ A-9 A.5.1.4 IEN — Interrupt enable bit......................................................................... A-9 A.5.1.5 BSL — Time base bus select bit ............................................................... A-10 MOTOROLA v TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Paragraph Number Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Title Page Number A.5.1.6 IN — Input pin status bit............................................................................ A-10 A.5.1.7 FORCE — Force compare control bit ....................................................... A-10 A.5.1.8 EDOUT — Edge detect and output level bit.............................................. A-10 A.5.1.9 MODE1, MODE0 — SASM operating mode select bits............................ A-10 A.5.2 SDATA — SASM data register A..................................................................... A-11 A.5.3 SICB — SASM status/interrupt/control register B........................................... A-11 A.5.3.1 FLAG — Event flag bit............................................................................... A-11 A.5.3.2 BSL — Time base bus select bit ............................................................... A-11 A.5.3.3 IN — Input pin status bit............................................................................ A-11 A.5.3.4 FORCE — Force compare control bit ....................................................... A-12 A.5.3.5 EDOUT — Edge detect and output level bit.............................................. A-12 A.5.3.6 MODE1, MODE0 — SASM operating mode select bits............................ A-12 A.5.4 SDATB — SASM data register B .................................................................... A-12 A.6 DASM registers and bits....................................................................................... A-13 A.6.1 DASMSIC — DASM status/interrupt/control register ...................................... A-13 A.6.1.1 FLAG — Flag status bit ............................................................................. A-13 A.6.1.2 IL[2:0] — Interrupt level bits ...................................................................... A-13 A.6.1.3 IARB3 — Interrupt arbitration bit 3 ............................................................ A-13 A.6.1.4 WOR — Wired-OR bit ............................................................................... A-13 A.6.1.5 BSL — Bus select bit ................................................................................ A-14 A.6.1.6 IN — Input pin status bit............................................................................ A-14 A.6.1.7 FORCA — Force A bit............................................................................... A-14 A.6.1.8 FORCB — Force B bit............................................................................... A-14 A.6.1.9 EDPOL — Edge polarity bit....................................................................... A-14 A.6.1.10 MODE[3:0] — Mode select bits................................................................. A-15 A.6.2 DASMA — DASM data register A ................................................................... A-15 A.6.3 DASMB — DASM data register B ................................................................... A-16 A.7 PWMSM registers and bits ................................................................................... A-17 A.7.1 PWMSIC — PWMSM status, interrupt and control register............................ A-17 A.7.1.1 FLAG — Period completion status bit ....................................................... A-17 A.7.1.2 IL[2:0] — Interrupt level bits ...................................................................... A-17 A.7.1.3 IARB3 — Interrupt arbitration bit 3 ............................................................ A-17 A.7.1.4 PIN — Output pin status bit....................................................................... A-17 A.7.1.5 LOAD — Period and pulse width register load control bit ......................... A-18 A.7.1.6 POL — Output pin polarity control bit........................................................ A-18 A.7.1.7 EN — PWMSM enable control bit ............................................................. A-18 A.7.1.8 CLK[2:0] — Clock rate selection bits......................................................... A-19 A.7.2 PWMA — PWM period register ...................................................................... A-19 A.7.3 PWMB — PWM pulse width register .............................................................. A-19 A.7.4 PWMC — PWM counter register .................................................................... A-20 MOTOROLA vi TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Paragraph Number Title Page Number APPENDIX B CTM EXAMPLE – CTM2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. B.1 CTM2 registers ..................................................................................................... B-4 B.1.1 CTM2 bus interface unit submodule registers................................................. B-5 B.1.2 CTM2 counter prescaler submodule registers ................................................ B-5 B.1.3 CTM2 free-running counter submodule registers ........................................... B-5 B.1.4 CTM2 modulus counter submodule registers ................................................. B-5 B.1.5 CTM2 double action submodule registers ...................................................... B-6 APPENDIX C GLOSSARY APPENDIX D INDEX CTM REFERENCE TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA vii Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. THIS PAGE INTENTIONALLY LEFT BLANK MOTOROLA viii TABLE OF CONTENTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. LIST OF FIGURES Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Figure Number 1-1 1-2 1-3 1-4 1-5 1-6 1-7 1-8 1-9 4-1 5-1 6-1 7-1 7-2 8-1 8-2 8-3 8-4 8-5 8-6 8-7 9-1 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 10-11 Title Page Number CTM architecture block diagram.............................................................................1-2 8-bit (byte) access (even addresses)......................................................................1-3 8-bit (byte) access (odd addresses) .......................................................................1-4 16-bit (word) aligned access...................................................................................1-4 Simplified block diagram of 16-bit input capture .....................................................1-7 Simplified block diagram of 16-bit output compare.................................................1-7 Simplified block diagram of a typical pulse accumulator ........................................1-8 PWM example waveforms ......................................................................................1-9 Simplified block diagram of a typical 16-bit PWM system ......................................1-10 CPSM block diagram ..............................................................................................4-1 FCSM block diagram ..............................................................................................5-2 MCSM block diagram .............................................................................................6-1 SASM block diagram ..............................................................................................7-1 SASM block diagram (channel A)...........................................................................7-3 DASM block diagram ..............................................................................................8-1 Input pulse width measurement example ...............................................................8-5 Input period measurement example .......................................................................8-6 DASM input capture example .................................................................................8-7 Single-shot output pulse example ..........................................................................8-9 Single shot output transition example.....................................................................8-10 DASM output pulse width modulation example ......................................................8-11 Pulse width modulation submodule block diagram.................................................9-3 FCSM and MCSM time base timing diagram example.........................................10-3 FCSM and MCSM clock pin to counter timing diagram ........................................10-4 MCSM load pin to counter timing diagram ...........................................................10-4 FCSM and MCSM pin to IN bit timing diagram.....................................................10-5 FCSM and MCSM COF bit to interrupt request timing diagram ...........................10-5 SASM input capture timing diagram .....................................................................10-7 SASM pin to IN bit timing diagram........................................................................10-7 SASM output compare timing diagram.................................................................10-8 SASM FLAG bit to interrupt request timing diagram ............................................10-8 DASM input capture timing diagram .....................................................................10-10 DASM pin to IN bit timing diagram........................................................................10-10 CTM REFERENCE LIST OF FIGURES For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA ix Freescale Semiconductor, Inc. Figure Number Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 10-12 10-13 10-14 10-15 10-16 10-17 B-1 Title Page Number DASM output compare timing diagram................................................................. 10-11 DASM FLAG bit to interrupt request timing diagram ............................................ 10-11 PWMSM minimum output pulse example timing diagram .................................... 10-13 PWMSM CPSM enable to PWM output set timing diagram ................................. 10-13 PWMSM enable to output set timing diagram ...................................................... 10-14 PWMSM FLAG bit to interrupt request timing diagram ........................................ 10-14 Configurable timer module 2 (CTM2) .....................................................................B-2 MOTOROLA x LIST OF FIGURES For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. LIST OF TABLES Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Table Number 2-1 3-1 4-1 5-1 6-1 7-1 8-1 8-2 8-3 9-1 9-2 9-3 9-4 9-5 10-1 10-2 10-3 10-4 10-5 B-1 B-2 B-3 B-4 B-5 B-6 B-7 B-8 Title Page Number BIUSM register map ...............................................................................................2-2 CTM submodule and interrupt vector number convention......................................3-3 CPSM register map ................................................................................................4-2 FCSM register map ................................................................................................5-4 MCSM register map................................................................................................6-5 SASM register map ................................................................................................7-7 DASM modes of operation......................................................................................8-3 DASM PWM example output frequencies/resolutions at fSYS = 16 MHz................8-12 DASM register map ................................................................................................8-13 PWM pulse and frequency ranges (in Hz) using /2 option (16.78 MHz).................9-6 PWM pulse and frequency ranges (in Hz) using /3 option (16.78 MHz).................9-7 PWMSM register map ............................................................................................9-9 PWMSM output pin polarity selection.....................................................................9-11 PWMSM clock rate selection ..................................................................................9-13 FCSM timing characteristics.................................................................................10-1 MCSM timing characteristics ................................................................................10-2 SASM timing characteristics.................................................................................10-6 DASM timing characteristics.................................................................................10-9 PWMSM timing characteristics.............................................................................10-12 Time base bus allocation....................................................................................... B-3 CTM2 interrupt priority, vector allocation and pin allocation .................................. B-3 CTM2 register map................................................................................................ B-4 BIUSM register map .............................................................................................. B-5 CPSM register map ............................................................................................... B-5 FCSM register map ............................................................................................... B-5 MCSM register map............................................................................................... B-5 DASM register map ............................................................................................... B-6 CTM REFERENCE LIST OF TABLES For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA xi Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. THIS PAGE INTENTIONALLY LEFT BLANK MOTOROLA xii LIST OF TABLES For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 1 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. FUNCTIONAL OVERVIEW The configurable timer module (CTM) is an integral module of Motorola’s family of modular microcontrollers. Members of this family are normally composed of several modules, interconnected by means of the intermodule bus (IMB). The CTM is unusual in the sense that it is, in itself, modular and is composed of submodules, making it easily configurable for different kinds of applications. 1.1 CTM features • Modular architecture • Counter submodules: • – Clock prescaler – 16-bit free-running counter – 16-bit modulus counter Action submodules: – Single action input capture/output compare channels – Double action input capture/output compare channels, with PWM (pulse width modulation) mode – PWM channels • I/O pin for each input capture/output compare • Output-only pin for each PWM channel • External clock input capability • Interrupt capability on all capture/compare/PWM channels and on counter overflow conditions • Two, three or four time base buses, allowing great flexibility in CTM configuration CTM REFERENCE FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 1-1 Freescale Semiconductor, Inc. 1 1.2 CTM description The highly modular architecture of the CTM is illustrated in Figure 1-1. Submodules are located on either side of the CTM’s internal submodule bus (SMB). All data and control signals within the CTM are passed over this bus. The SMB is connected to the outside world via a special CTM submodule, known as the bus interface unit submodule (BIUSM), which is connected to the intermodule bus (IMB) and hence to the main CPU. This configuration allows the CPU to access the data and control registers in each CTM submodule on the SMB. Time base bus A (TBBA) Time base bus B (TBBB) Time base bus 4 (TBB4) Submodule bus (SMB) Time base bus 2 (TBB2) Submodule M+1 Time base bus 3 (TBB3) Submodule M-1 Submodule M Time base bus 1 (TBB1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Submodule 2 Submodule 1 Submodule N Bus interface unit submodule (BIUSM) Intermodule bus (IMB) Figure 1-1 CTM architecture block diagram Four local time base buses (TBB1 – TBB4) are arranged in such a way that each CTM submodule can be connected to two of them. As can be seen in Figure 1-1, CTM submodules numbered 1 to M-1 can be connected to TBB3 and TBB4 and CTM submodules M to N can be connected to TBB1 and TBB2. Control bits within each CTM submodule allow the software to connect the submodule to the desired time base bus(es). During the design of the CTM module, the four local time base MOTOROLA 1-2 FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 buses can be connected together (as shown by the dotted lines in Figure 1-1) to form two time base buses TBBA (TBB1/TBB4) and TBBB (TBB2/TBB3). The time base buses are each 16-bits wide and are used to transfer timing information from counters to action submodules. Each CTM submodule can either be a clock source module (and drive one or two of the time base buses) or an action submodule (and read and react to the timing information on the time base buses). Every CTM module implementation must include at least a BIUSM and some form of clock submodule. All other submodules are optional and would be selected from a library of CTM submodules at the design stage, as required by the user to meet the needs of his application. 1.3 Byte/word/long word accesses All CTM registers and data buses are 16 bits wide. Consequently, 16-bit (word) accesses are the normal case. 8-bit and 32-bit accesses are also permitted; however, as there is no pipelining in the CTM, 8-bit coherency is not supported. 1.3.1 8-bit (byte) accesses 8-bit accesses are illustrated in Figure 1-2 for even addresses and Figure 1-3 for odd addresses. IMB SMB CTM register Read DATA 7:0 Read DATA 15:8 Write $00 Write DATA 15:8 Write DATA 7:0 DATA 7:0 Read ($00) DATA 15:8 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Figure 1-2 8-bit (byte) access (even addresses) 1.3.2 16-bit (word) aligned accesses 16-bit aligned access is the normal case and such accesses of counter or action submodule registers is coherent. This is illustrated in Figure 1-4. CTM REFERENCE FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 1-3 Freescale Semiconductor, Inc. IMB SMB Write Read DATA 7:0 DATA 7:0 Read CTM register Write DATA 7:0 1 $00 DATA 15:8 Write DATA 15:8 DATA 15:8 Read ($00) Figure 1-3 8-bit (byte) access (odd addresses) Read or write CTM register Read or write DATA 15:0 SMB DATA 15:0 IMB DATA 15:0 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Figure 1-4 16-bit (word) aligned access 1.3.3 16-bit (word) misaligned accesses A 16-bit misaligned access consists of two 8-bit accesses, the first to an odd address (see Figure 1-3), the second to the following even address (see Figure 1-2). A 16-bit misaligned access is treated by the BIU as an 8-bit odd address access. It is then the responsibility of the bus master to access the following byte. As in the case of the 8-bit access, since there is no pipelining, coherency is not supported. Note: Neither CPU16 nor CPU32 (see section on reference documents at the beginning ot this document) support 16-bit misaligned accesses. MOTOROLA 1-4 FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 1.3.4 32-bit (long word) aligned accesses A long word aligned access consists of two 16-bit aligned accesses (see Figure 1-4). When a long word access is attempted, a signal line is activated on the SMB during the access of the high order byte. This allows the CTM architecture to be compatible with submodules supporting long word coherency. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 1.3.5 32-bit (long word) misaligned accesses A long word misaligned access consists of three accesses: first a byte access to an odd address (see Figure 1-3), followed by a 16-bit aligned access to the following even address (see Figure 1-4), followed by a byte access to the remaining even address (see Figure 1-2). Note that the latter two accesses (16-bit aligned access followed by byte access to an even address) represent what is called a 3-byte access. As there is no pipelining, coherency is not supported. Note: Neither CPU16 nor CPU32 support 32-bit misaligned accesses. 1.3.6 3-byte accesses A 3-byte access is normally part of a long word misaligned access. It consists of a 16-bit aligned access (see Figure 1-4), followed by a byte access to the remaining even address (see Figure 1-2). A 3-byte access is treated by the BIUSM as a 16-bit aligned access. It is then the responsibility of the bus master to access the following byte. As there is no pipelining, coherency is not supported. 1.4 The time base bus system The time base bus system is composed of four 16-bit buses: TBB1, TBB2, TBB3 and TBB4 (see Figure 1-1). Typically, TBB2 and TBB3 are tied together to form a global bus (TBBB) while TBB1 and TBB4 remain as partial buses (collectively called TBBA). How the submodules are connected to these time base buses is different for each CTM configuration. This is shown generically in Figure 1-1, where all counter and action submodules in the right half of the diagram (numbered from 1 to M-1) can be connected to TBB3 and/or TBB4, and all submodules in the left half of the diagram (numbered from M to N) can be connected to TBB1 and/or TBB2. An example of how the time base buses are configured and how the submodules are connected to them in a practical CTM module (CTM2) is provided in Appendix B. The time base buses are precharge/discharge type buses with wired-OR capability, so that no hardware damage occurs when several counters are driving the same bus at the same time. CTM REFERENCE FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 1-5 Freescale Semiconductor, Inc. 1 Depending on software options, counter and action submodules located in the left half of Figure 1-1 (submodules M to N) can be connected to buses TBB1 or TBB2, while counter and action submodules located in the right half of Figure 1-1 (submodules 1 to M-1) can be connected to buses TBB3 and TBB4. 1.5 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Pin descriptions Input/output requirements are specific to each CTM submodule; pin allocation and functionality is described in the relevant sections of this document. 1.6 Input capture (IC) concepts A typical 16-bit input capture function is shown in Figure 1-5. It has three basic parts: edge select logic, a 16-bit input capture latch and a 16-bit free-running counter. The edge select logic determines the input signal transition (rising or falling) that triggers the input capture circuitry. When the selected transition occurs, the contents of the counter are latched into the input capture latch. This action sets a status flag indicating that an input capture has occurred. An interrupt is generated if enabled. The value of the count latched or ‘captured’ is the time of the event. Because this value is stored in the input capture register when the actual event occurs, user software can respond to this event at a later time and determine the actual time of the event. However, this must be done prior to another input capture on the same pin; otherwise, the previous time value will be lost. By recording the times for successive edges on an incoming signal, software can determine the period and/or pulse width of the signal. To measure a period, two successive edges of the same polarity are captured. To measure a pulse width, consecutive edges of opposing polarity are captured. For example, to measure the high time of a pulse, the input transition time is captured on the rising edge and subtracted from the time captured on the subsequent falling edge. When the period or pulse width is less than a full 16-bit counter overflow period, the measurement is very straightforward. In practice, however, software usually must keep track of the number of overflows of the 16-bit counter in order to extend the range. Another typical use of the input capture function is to establish a time reference. In this case it may be used in conjunction with an output compare function in the same timer. For example, consider the case where it is required to generate an output signal transition a specific number of clock cycles after detecting an event (edge). The input capture function can be used to record the time at which the event occurred. A number corresponding to the desired delay can then be added to this captured value and stored in an output compare register. Because input capture and output compare functions are referenced to the same 16-bit counter, the delay can be controlled to the resolution of the free-running counter, independent of software latencies. MOTOROLA 1-6 FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 Clock 16-bit free-running counter Event Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Edge select logic Input capture latch Data bus Figure 1-5 Simplified block diagram of 16-bit input capture 1.7 Output compare (OC) concepts Output compare functions are used to cause events to occur at specific times, i.e. to cause signal transitions to occur on an output pin. A typical 16-bit output compare function is shown in Figure 1-6; it comprises a 16-bit compare register, a 16-bit comparator and a 16-bit free-running counter. When the value stored in the compare register matches the value of the free-running counter, the comparator sets an output compare flag. Other events can occur when the output compare flag is set: an interrupt may be generated (if interrupts are enabled) and the logic levels on pins associated with the output compare function may change. Clock 16-bit free running counter 16-bit comparator = Output match 16-bit output compare register Figure 1-6 Simplified block diagram of 16-bit output compare The output compare function can generate an output of a specific duration and polarity. A 16-bit value corresponding to the time a when a pin state change will occur is written to the output CTM REFERENCE FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 1-7 Freescale Semiconductor, Inc. 1 compare register. The output compare function is configured to generate a high or low output automatically on the pin, or to toggle the state on the pin, when the match occurs. The output compare register is loaded with a new value after the compare occurs. Typically, more than one output compare function is associated with each pin; because pin state changes occur automatically at specific values of the free-running counter, the pulse width can be controlled to the resolution of the free-running counter independent of software latencies. A periodic pulse of a specific frequency and duty cycle can be generated by repeating the above steps. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 1.8 Pulse accumulator (PA) concepts Pulse accumulator systems are usually based on 8 or 16 bits. A typical 16-bit pulse accumulator is shown in Figure 1-7; it consists of a 16-bit counter and edge select logic, and has two modes of operation: event counting mode and gated mode. In event counting mode, the counter is incremented each time an event occurs. In gated mode, an internal clock source increments the counter while a selected level is present on the input pin (the gate). When the signal on the input pin is negated, the counter is stopped. Two status flags are available: one to indicate the occurrence of an event, and the other to indicate counter overflow. Either of these flags can cause the processor to be interrupted. Clock Event & 16-bit counter 16-bit counter Event Event counting mode Gated time accumulator mode Figure 1-7 Simplified block diagram of a typical pulse accumulator The pulse accumulator can be used, for example, to count the number of items going by on a conveyor belt or the number of teeth that have gone by on a crankshaft timing gear. As each item or tooth is detected, the counter is incremented (event counting mode). The counter therefore contains the number of items (or teeth). The flag indicates the occurrence of an event (an item or tooth went by). If interrupts are enabled, an interrupt is generated. Software can read the counter at this time. MOTOROLA 1-8 FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 The gated mode of operation can be used to measure the pulse width or period of an input signal. When the input to the pulse accumulator is active, the counter begins counting the input clock. When the signal is negated it stops counting. If the counter is set to zero before the pulse starts, the count value multiplied by the clock period gives the width of the input pulse to the nearest clock period. This could be used to determine how long a stimulus is present. In an 8-bit pulse accumulator only 255 events can be counted before the counter overflows; the overflow flag can be used to extend the counter range beyond this value if required. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 1.9 Pulse width modulation (PWM) concepts A PWM waveform is created when the mark-to-space ratio of a periodic rectangular signal can be varied. If the waveform can be incrementally changed by 1/65536 of its period, it has 16 bits of resolution (see Figure 1-8). 65536 increments 1/65536 32768/65536 Figure 1-8 PWM example waveforms A typical 16-bit PWM system (Motorola’s General Purpose Timer, or GPT) is shown in Figure 1-9. Each time the counter overflows from $FFFF to $0000, the zero detector sets the output latch (output pin in high state). The zero detector is used as the reference to start the high time. As the counter is incremented, the counter value is compared with the contents of the pulse width register. When the comparator detects a match, the latch is reset. By changing the value in the pulse width register, the duty cycle is continuously variable in 1/65536 increments. If the pulse width register contains $0000, the output latch will always be in the reset condition (output pin in low state). If the pulse width register is loaded with $0001, the output latch will be set for one count before being reset for the remainder of the period. If the register contains $8000 (32768 in decimal), the latch will be set for 32768 counts of the timer before being reset, resulting in a duty cycle of 50%. Provision is usually made to allow a 100% duty cycle (output latch always set; output pin always high) to be generated. Varying the input clock frequency to the PWM counter also varies the period of the PWM signal. CTM REFERENCE FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 1-9 Freescale Semiconductor, Inc. 1 16-bit pulse width register Output Latch R 16-bit comparator S Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Zero detector Clock Output compare register Figure 1-9 Simplified block diagram of a typical 16-bit PWM system Typically, PWM systems are provided with increased flexibility via additional features such as output polarity selection, variable resolution and variable pulse periods. 1.10 Using and clearing flag bits To clear any flag bit in the CTM, the software must first read the register containing the flag in question (usually the SIC register), then write a zero to the flag bit. These two steps do not have to be done on consecutive instructions. Writing a one to the flag bit has no effect. Note: The flag clearing mechanism will work only if no flag setting event occurs between the read and write operations; if a flag setting event occurs between the read and write operations, the flag bit will not be cleared. MOTOROLA 1-10 FUNCTIONAL OVERVIEW For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 2 2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. BUS INTERFACE UNIT SUBMODULE (BIUSM) 2.1 BIUSM description The BIUSM connects the CTM’s SMB to the IMB and allows the CTM submodules to communicate with the bus master (usually a CPU). The BIUSM also communicates interrupt requests, from the CTM submodules to the IMB, and transfers the interrupt level, arbitration bit and vector number to the CPU during the interrupt acknowledge cycle. The BIUSM contains a module configuration register, a time base bus register and a test register (for factory testing only). 2.2 Freeze action on the BIUSM When the IMB freeze condition is detected, the FRZ bit in the BIUSM module configuration register determines whether or not the freeze condition is passed on to the other CTM submodules. If FRZ = 0, the freeze condition is ignored; if FRZ = 1, the BIUSM passes the FREEZE signal from the IMB through to the CTM submodules. Each CTM submodule then reacts to the FREEZE signal as defined by its own internal circuitry and control bits. 2.3 LPSTOP action on the BIUSM When the CPU is stopped by an LPSTOP instruction (from CPU32 or CPU16), the system clock (fSYS) is stopped, thereby shutting down all dependent modules, including the CTM, until the low-power STOP mode is exited. CTM REFERENCE BUS INTERFACE UNIT SUBMODULE (BIUSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 2-1 Freescale Semiconductor, Inc. 2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 2.4 STOP and WAIT action on the BIUSM When the STOP instruction on CPU32 or the WAIT instruction on CPU16 is executed, only the CPU is stopped; the CTM continues to operate as normal. (To stop the CTM operation selectively, refer to the description of the STOP bit in Section 2.5.1). 2.5 BIUSM registers The BIUSM register map comprises four 16-bit register locations. As shown in Table 2-1, the register block contains the three BIUSM registers and one reserved register. The BIUSM register block always occupies the first four register locations in the CTM register space and cannot be relocated within the CTM structure. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no effect. Note: All BIUSM register addresses in this section are specified as offsets from the base address of the CTM. Table 2-1 BIUSM register map Address (1) $00 $02 $04 $06 15 8 7 BIUSM module configuration register (BIUMCR) BIUSM test register (BIUTEST) BIUSM time base register (BIUTBR) 0 (1) Offset from the base address of the CTM. 2.5.1 BIUMCR — BIUSM module configuration register The BIUMCR register contains nine defined bits that allow the software to control five functions of the CTM: enabling/disabling of the module, response to FREEZE, vector base address, interrupt arbitration number and access to the time base buses (via the time base register). Bit: BIUMCR $00 (1) 15 14 13 STOP FRZ Reset: 0 0 12 11 10 9 8 7 6 VECT7 VECT6 IARB2 IARB1 IARB0 0 1 1 0 0 0 5 4 3 2 1 TBRS1 0 0 0 0 TBRS0 0 0 0 0 0 (1) Offset from the base address of the CTM. MOTOROLA 2-2 BUS INTERFACE UNIT SUBMODULE (BIUSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. STOP — Stop enable The STOP bit, while asserted, activates the FREEZE signal on the SMB regardless of the state of the FREEZE signal on the IMB. This completely stops the operation of the CTM. Note that some submodules may validate this signal with internal enable bits. The BIUSM continues to operate to allow the CPU access to the submodule’s registers. The SMB FREEZE signal remains active until reset or until the STOP bit is negated by the CPU (via the IMB). The STOP bit is cleared by reset. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 1 (set) – 0 (clear) – Stops operation of the CTM. Allows operation of the CTM. FRZ — Freeze enable The FRZ bit, while asserted, activates the FREEZE signal on the SMB when the FREEZE signal on the IMB is active. This completely stops the operation of the CTM. Note that some submodules may validate this signal with internal enable bits. The BIUSM continues to operate to allow the CPU access to the submodule’s registers. The SMB FREEZE signal remains active until the FRZ bit is cleared or the IMB FREEZE signal is negated. The FRZ bit is cleared by reset. 1 (set) – 0 (clear) – Halts the CTM sub module when the FREEZE signal appears on the IMB. Ignores the FREEZE signal on the IMB. VECT7, VECT6 — Interrupt vector base number bits The interrupt vector base number bits select the interrupt vector base number for the CTM. Of the 8 bits necessary for vector number definition, the six least significant bits are programmed by hardware on a submodule basis, while the two remaining bits are provided by VECT7 and VECT6. This places the CTM vectors in one of four possible positions in the interrupt vector table, as follows. Note: VECT7 VECT6 0 0 1 1 0 1 0 1 Resulting vector base number $00 $40 $80 $C0 The reader should refer also to Section 3.4 and to the relevant CPU reference manuals for more detailed information on interrupt vector tables. CTM REFERENCE BUS INTERFACE UNIT SUBMODULE (BIUSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 2-3 2 Freescale Semiconductor, Inc. IARB[2:0] — Interrupt arbitration identification bits 2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. The interrupt arbitration bit field (IARB), composed of IARB[2:0] in the BIUMCR and the IARB3 bit within each submodule, provides fifteen different arbitration identification numbers that can be used to arbitrate between interrupt requests occurring on the IMB with the same interrupt priority level. The IARB field defaults to zero on reset, thus preventing the module from arbitrating during an interrupt arbitration acknowledge cycle (IACK). If no IMB arbitration takes place during the IACK cycle the spurious interrupt vector is generated by the SIM (system integration module). This tells the system that the interrupt arbitration number has not been initialized. The seven levels of interrupt are the primary means by which interrupt priority is established. The 4-bit interrupt arbitration number is the secondary priority, allowing up to 15 requests at each primary level. During the IACK cycle the request with the highest arbitration number gets serviced (binary 1111 is the highest priority and binary 0001 is the lowest). Many IMB modules have one software assignable arbitration number for the whole module. The CTM allows two different arbitration numbers to be used by providing each submodule with its own IARB3 bit (which can be set or cleared in software). Once IARB[2:0] are assigned in the BIUSM, they apply to all CTM interrupt requests. Therefore, CTM submodule interrupts can be interleaved in priority with requests from other modules at the same interrupt level. IARB[2:0] are all cleared by reset. TBRS1, TBRS0 — Time base register bus select bits These bits specify which time base bus is accessed when the time base register (BIUTBR) is read. TBRS1 TBRS0 0 0 0 1 1 0 1 1 2.5.2 Time base bus TBB1 TBB2 TBB3 TBB4 BIUTEST — BIUSM test configuration register The BIUTEST register is located at CTM base address offsets $02 and $03 and is reserved for factory testing of the CTM. MOTOROLA 2-4 BUS INTERFACE UNIT SUBMODULE (BIUSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 2.5.3 BIUTBR — BIUSM time base register In normal operation, the BIUTBR is a read-only register used to read the value present on one of the time base buses. The time base bus being accessed is determined by TBRS1 and TBRS0 in the BIUMCR. Writing to the BIUTBR has no effect, except in certain test modes. Bit: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 15 14 13 12 BIUTBR $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the CTM. CTM REFERENCE BUS INTERFACE UNIT SUBMODULE (BIUSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 2-5 2 Freescale Semiconductor, Inc. 2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. THIS PAGE INTENTIONALLY LEFT BLANK MOTOROLA 2-6 BUS INTERFACE UNIT SUBMODULE (BIUSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 3 3 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. INTERRUPTS This section describes the interrupt functions of the CTM and its submodules and how these interrupts are passed to the CPU via the IMB. Interrupt requests from the CTM are treated as exceptions by the CPU and are dealt with by the CPU’s exception processing routines. For a more detailed description of exception processing in IMB based microprocessors, please refer to the following Motorola publications: – CPU16 Central Processor Unit Reference Manual (CPU16RM/D) – CPU32 Central Processor Unit Reference Manual (CPU32RM/AD) 3.1 Interrupt levels on the IMB The CTM and its submodules are capable of generating interrupts on eight different levels on the intermodule bus (IMB). Interrupt levels, arbitration and a hardwired daisy-chain priority system of the submodules in the CTM allow each of the many interrupt sources on the IMB to be uniquely identified and to have a unique vector address. Each CTM submodule contains an interrupt control register that sets the interrupt priority for the submodule to one of eight levels (IL[2:0]). Level 7 is the highest priority level and level 0 disables interrupts. (Note that the CPSM and the BIUSM do not have the capability to generate interrupts and do not have interrupt vectors associated with them.) When an interrupt is requested and is at a higher level than the current interrupt level set by the interrupt or exception level mask in the CPU’s status register, the CPU starts an interrupt acknowledge (IACK) cycle. The CTM compares the interrupt level it requested with the interrupt level acknowledged by the CPU during the IACK cycle. If the levels match, arbitration with other modules requesting service on the same interrupt level begins. An interrupt of the same level as the CPU’s current interrupt or exception level mask cannot be executed until the mask level reduces below that level, except for level 7 interrupts. Level 7 is non maskable and exception processing on this level will be interrupted by other level 7 interrupts. A higher level exception will interrupt a lower level exception routine, which must then wait until the exception mask returns to its original level before continuing. CTM REFERENCE INTERRUPTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 3-1 Freescale Semiconductor, Inc. 3.2 3 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Arbitration The interrupt and exception processing system on IMB family devices is very similar to that used in the M68000 microprocessor family architecture, and is designed to support a very large number of interrupt sources. Within each of the eight interrupt request levels, defined by IL[2:0], there are sixteen different arbitration priority levels, defined by IARB[3:0], available to each IMB module. Level 15 is the highest arbitration priority level and level 1 is the lowest. Level 0 is a special case and is treated by the CPU as a spurious interrupt. Interrupting modules present their arbitration ID (IARB[3:0]) on the IMB and the module with the highest ID wins. Note: Simultaneous interrupts on the same interrupt level are arbitrated on the basis of the four arbitration bits IARB[3:0]. Consequently, no two IMB modules may have the same IARB field value. In the CTM, IARB[2:0] are contained within the BIUSM module configuration register (BIUMCR) and are common to all the CTM submodules, and each CTM submodule contains its own IL[2:0] and IARB3 bits. This allows each CTM submodule to request interrupts with one of two arbitration levels on any one of the 8 available interrupt levels. For example, if the IARB[2:0] bits in the BIUMCR are set to 101, each submodule can have an arbitration priority level of 0101 (5) or 1101 (13), depending on the state of the IARB3 bit. 3.3 CTM daisy-chain priority To allow resolution between CTM submodule interrupts on the same interrupt level (IL[2:0]) and with the same arbitration priority (IARB3), the six hardwired vector bits (VECT[5:0]) in each submodule provide a hardware system of priority, or daisy-chain, within the CTM. The submodules are daisy-chained in descending order of their vector numbers, i.e. submodule 0 has the highest position in the daisy-chain and will win over all other submodules generating simultaneous interrupts on the same level with the same arbitration. The position of each submodule in the daisy-chain is specific to each different CTM variant. This is shown generically in Table 3-1. For an example of the daisy-chain structure of a specific CTM implementation, CTM2, see Appendix B. MOTOROLA 3-2 INTERRUPTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 3.4 Interrupt vector number and vector address If the CTM wins an arbitration sequence, it generates a uniquely coded 8-bit interrupt vector number that indicates which timer submodule is requesting service. The two highest order bits (VECT[7:6]) of the interrupt vector number come from the BIUMCR and establish the vector base number of the CTM at $00, $40, $80 or $C0. The remaining bits of the interrupt vector number (VECT[5:0]) are hardwired into each CTM submodule and are unique for each interrupt source. The vector address is obtained by multiplying the vector base number by two. (See Table 3-1.) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Note: Some CTM submodules, e.g. the SASM, have more than one interrupt source and therefore have a corresponding number of vectors and uniquely coded vector base numbers. Table 3-1 CTM submodule and interrupt vector number convention Submodule number 0 1 2 3 4 • • • • 61 62 63 Interrupt vector number (1) (VBN + vect[5:0]) VBN VBN + 1 VBN + 2 VBN + 3 VBN + 4 • • • • VBN + $3D VBN + $3E VBN + $3F Daisy-chain priority Highest Lowest (1) VBN = $00, $3F, $7F or $BF depending on the state of the VECT[7:6] bits in the BIUSM. CTM REFERENCE INTERRUPTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 3-3 3 Freescale Semiconductor, Inc. 3 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. THIS PAGE INTENTIONALLY LEFT BLANK MOTOROLA 3-4 INTERRUPTS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. COUNTER PRESCALER SUBMODULE (CPSM) 4.1 CPSM description The counter prescaler submodule (CPSM) is a programmable divider system that provides the CTM counters with a choice of six clock signals (PCLKx) derived from the main MCU system clock (fSYS). The first counter prescaler stage generates PCLK1 by dividing fSYS by 2 or by 3. The output of this first counter is then applied to an 8-bit prescaler which divides the clock signal further (by 2, 4, 8 and 16) to produce PCLK2, PCLK3, PCLK4 and PCLK5 (respectively). The division ratio for PCLK6 is software selectable (using the PSEL[1:0] control bits in the counter prescaler control register) from divide by 32, 64, 128 and 256. A block diagram of the CPSM is given in Figure 4-1. The clock division ratios available on PCLKx are also shown in the table in Section 4.3.1. These clock signals are provided on the SMB and may be used by any or all CTM submodules. First CPSM prescaler fSYS PCLK1 = fSYS /2 fSYS /3 /2 or /3 8-bit prescaler /2 PCLK2 = fSYS /4 fSYS /6 /4 PCLK3 = fSYS /8 fSYS /12 /8 PCLK4 = fSYS /16 fSYS /24 /16 /32 PCLK5 = fSYS /32 fSYS /48 PCLK6 = fSYS /64 fSYS /128 fSYS /256 fSYS /512 fSYS /96 fSYS /192 fSYS /384 fSYS /768 DIV23 = /2 DIV23 = /3 /64 /128 Select /256 PRUN DIV23 PSEL1 PSEL0 CPCR Figure 4-1 CPSM block diagram CTM REFERENCE COUNTER PRESCALER SUBMODULE (CPSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 4-1 4 Freescale Semiconductor, Inc. 4.2 Freeze action on the CPSM When the IMB FREEZE signal is recognized, the CPSM counters stop counting and remain set at their current values. When the FREEZE signal is negated, the counters start incrementing from their current values, as if nothing had happened. All registers are accessible during freeze. 4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 4.3 CPSM registers The CPSM register map comprises four 16-bit register locations. As shown in Table 4-1, the register block contains two CPSM registers and two reserved registers. The CPSM register block always immediately follows the BIUSM register block in the CPSM register map. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no effect. Note: All CPSM register addresses in this section are specified as offsets from the base address of the CTM. Table 4-1 CPSM register map Address (1) $08 $0A $0C $0E 15 8 7 CPSM control register (CPCR) CPSM test register (CPTR) 0 (1) Offset from the base address of the CTM. 4.3.1 CPCR — CPSM control register Bit: 15 14 13 12 11 10 9 8 7 6 5 4 CPCR $08 (1) 3 2 1 0 PRUN DIV23 PSEL1 PSEL0 Reset: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1) Offset from the base address of the CTM. PRUN — Prescaler running bit The PRUN bit is a read/write control bit that allows the software to switch the prescaler counter on and off. MOTOROLA 4-2 COUNTER PRESCALER SUBMODULE (CPSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 (set) – 0 (clear) – Prescaler is running. Prescaler divider is held in reset and is not running. This bit allows the counters in various CTM submodules to be synchronized. It is cleared by reset. DIV23 — Divide by 2 or divide by 3 bit 4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. The DIV23 bit is a read/write control bit that selects the division ratio of the first prescaler counter. It may be changed by the software at any time and is cleared on reset. 1 (set) – First prescaler stage divides by 3. 0 (clear) – First prescaler stage divides by 2. PSEL1, PSEL0 — Prescaler division ratio select bits These control bits select the division ratio of the programmable prescaler output signal, PCLK6. Prescaler control register bits Prescaler division ratio PRUN DIV23 PSEL1 PSEL0 PCLK1 PCLK2 PCLK3 PCLK4 PCLK5 PCLK6 0 X X X 0 0 0 0 0 0 1 0 0 0 2 4 8 16 32 64 1 0 0 1 2 4 8 16 32 128 1 0 1 0 2 4 8 16 32 256 1 0 1 1 2 4 8 16 32 512 1 1 0 0 3 6 12 24 48 96 1 1 0 1 3 6 12 24 48 192 1 1 1 0 3 6 12 24 48 384 1 1 1 1 3 6 12 24 48 768 4.3.2 CPTR — CPSM test register This test register is located at CTM address offsets $0A and $0B and is reserved for factory testing of the CPSM. MOTOROLA 4-3 COUNTER PRESCALER SUBMODULE (CPSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. THIS PAGE INTENTIONALLY LEFT BLANK MOTOROLA 4-4 COUNTER PRESCALER SUBMODULE (CPSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 5 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. FREE-RUNNING COUNTER SUBMODULE (FCSM) 5 5.1 FCSM description The free-running counter submodule (FCSM) provides a multipurpose ‘fixed’ time base for use in a wide range of applications, such as input capture, output compare and PWM signal generation. The FCSM can also be configured to operate as an event counter; in this case, a flag is set after a predefined number of events (internal clocks or external events). A block diagram of the FCSM is shown in Figure 5-1. The main components of the FCSM are a 16-bit loadable free-running up-counter, a clock selector, a time base bus driver and an interrupt interface. Note: In order to be able to count, the FCSM requires the CPSM clock signals to be present. On coming out of reset, the FCSM will not count internal or external events until the prescaler in the CPSM starts running (when the software sets the PRUN bit). This allows all counters in the CTM submodules to be synchronized. 5.2 The FCSM counter The FCSM counter section comprises a 16-bit register and a 16-bit up-counter. Reading the register transfers the contents of the counter to the data bus, while a write to the register loads the counter with the new value. Overflow of the counter is defined to be the transition from $FFFF to $0000. An overflow condition causes the COF flag bit in the FCSMSIC register to be set. Note: Reset presets the counter register to $0000. Writing $0000 to the counter register while the counter’s value is $FFFF does not set the COF flag and does not generate an interrupt request. CTM REFERENCE FREE-RUNNING COUNTER SUBMODULE (FCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 5-1 Freescale Semiconductor, Inc. TBBA Time base buses TBBB Bus select 6 clocks (PCLKx) from prescaler DRVA DRVB Control register bits Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Input pin CTMC Clock select Edge detect Overflow Interrupt control 16-bit up counter 5 IN CLK2 CLK1 CLK0 COF Control register bits IL2 IL1 IL0 IARB3 Control register bits Submodule bus Figure 5-1 FCSM block diagram 5.3 FCSM clock sources The user can choose from eight software selectable counter clock sources: – six prescaler outputs (PCLKx) – input pin rising edge detection on the input pin CTMC – input pin falling edge detection on the input pin CTMC The clock source is selected by the CLK[2:0] bits in the FCSM status, interrupt and control register FCSMSIC (see Section 5.7.1). When the CLK[2:0] bits are being changed, internal circuitry ensures that spurious edges occurring on the CTMC pin do not affect the FCSM. Note that the read-only IN bit of the FCSMSIC register reflects the state of the input pin CTMC. The input pin is Schmitt triggered and is synchronized with the system clock (fSYS). 5.3.1 FCSM external event counting When an external clock source (on the input pin) is selected, the FCSM is in the event counter mode. The counter can simply count the number of events occurring on the input pin. Alternatively, the FCSM can be programmed to generate an interrupt when a predefined number of events have been counted; this is done by presetting the counter with the two’s complement value of the MOTOROLA 5-2 FREE-RUNNING COUNTER SUBMODULE (FCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. desired number of events. When using the external clock source, the maximum guaranteed external frequency is fSYS/4. 5.4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. The FCSM time base bus driver The DRVA and DRVB bits in the FCSMSIC register select the time base buses to be driven (see Section 5.7.1). Which of the time base buses is driven depends on where the FCSM is physically placed in any particular CTM implementation. See Section 1.4 for more information on the structure of the time base buses. For examples of FCSM waveforms and timings, please refer to Section 10.1. Warning: It is not recommended that the two time base buses be driven at the same time. 5.5 FCSM interrupts A valid FCSM interrupt can be generated when the COF bit in the FCSMSIC register is set (as a result of the counter overflowing). If the interrupt priority level of the FCSM is non-zero, as defined by the three IL bits in the FCSMSIC register, a valid interrupt request will occur on the IMB. 5.6 Freeze action on the FCSM When the IMB FREEZE signal is recognized, the FCSM counter stops counting and remains set at its current value. When the FREEZE signal is negated, the counter starts incrementing from its current value, as if nothing had happened. All registers are accessible during freeze. During freeze, the IN bit in the FCSMSIC register continues to reflect the state of the signal on the input pin CTMC (see Section 5.7.1). CTM REFERENCE FREE-RUNNING COUNTER SUBMODULE (FCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 5-3 5 Freescale Semiconductor, Inc. 5.7 FCSM registers The FCSM register map comprises four 16-bit register locations. As shown in Table 5-1, the register block contains two FCSM registers and two reserved registers. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no effect. In CTM implementations featuring multiple FCSMs, each FCSM has its own set of registers. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Note: All register addresses in this section are offsets from the base address of the FCSM. 5 Table 5-1 FCSM register map Address (1) $00 $02 $04 $06 15 8 7 Status, interrupt and control register (FCSMSIC) Counter register(FCSMCNT) 0 (1) Offset from the base address of the FCSM submodule. 5.7.1 FCSMSIC — FCSM status/interrupt/control register Bit: FCSMSIC $00 (1) Reset: 15 14 13 12 11 COF IL2 IL1 IL0 IARB3 0 0 0 0 0 10 9 8 DRVA DRVB 0 0 0 7 6 5 4 3 IN u 2 1 0 CLK2 CLK1 CLK0 0 0 0 0 0 0 0 (1) Offset from the base address of the FCSM submodule. COF — Counter overflow flag bit This status flag bit indicates whether or not a counter overflow has occurred. An overflow is defined to be the transition of the counter from $FFFF to $0000. If the IL field is non-zero, an interrupt request is generated when the COF bit is set. 1 (set) – 0 (clear) – Counter overflow has occurred. Counter overflow has not occurred. This flag bit is set only by the hardware and cleared only by the software or by a system reset. To clear the flag, the software must first read the bit (as ‘one’) then write a ‘zero’ to the bit. Note: The flag clearing mechanism will work only if no flag setting event occurs between the read and write operations; if a COF setting event occurs between the read and write operations, the COF bit will not be cleared. MOTOROLA 5-4 FREE-RUNNING COUNTER SUBMODULE (FCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. IL[2:0] — Interrupt level bits The three interrupt level bits are read/write control bits that select the priority level of interrupt requests made by the FCSM. These bits can be read or written at any time and are cleared by reset. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. IL2 0 0 0 0 1 1 1 1 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) 5 IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. Each module that generates interrupt requests on the IMB must have a unique value in the arbitration field (IARB). This interrupt arbitration identification number is used to arbitrate for the IMB when modules generate simultaneous interrupts of the same priority (see Section 3). The IARB3 bit is cleared by reset. DRVA, DRVB — Drive time base bus bits DRVA and DRVB are read/write bits that control the connection of the FCSM to the time base buses A and B. These bits are cleared by reset. (See Section 1.4 for information on the time base buses.) DRVA 0 0 1 1 DRVB 0 1 0 1 Bus selected Neither time base bus A nor time base bus B is driven Time base bus B is driven Time base bus A is driven Both time base bus A and time base bus B are driven Warning: It is not recommended that the two time base buses be driven at the same time. IN — Input pin status bit This read-only status bit reflects the logic state of the FCSM input pin CTMC. Writing a ‘zero’ or a ‘one’ to this bit has no effect. Reset has no effect on this bit. CTM REFERENCE FREE-RUNNING COUNTER SUBMODULE (FCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 5-5 Freescale Semiconductor, Inc. CLK[2:0] — Counter clock select bits These read/write control bits select one of six internal clock signals (PCLKx) or one of two external conditions on the input pin (rising edge or falling edge). The maximum frequency of the external clock signals is fSYS/4. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. CLK2 0 0 0 0 1 1 1 1 5 5.7.2 CLK1 0 0 1 1 0 0 1 1 CLK0 Free running counter clock source 0 Prescaler output 1 (/2 or /3) 1 Prescaler output 2 (/4 or /6) 0 Prescaler output 3 (/8 or /12) 1 Prescaler output 4 (/16 or /24) 0 Prescaler output 5 (/32 or /48) 1 Prescaler output 6 (/64 to /512 or /96 to /768) 0 CTMC pin input, negative edge 1 CTMC pin input, positive edge FCSMCNT — FCSM counter register Bit: 15 14 13 12 FCSMCNT $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the FCSM submodule. The FCSM counter register is a read/write register; it is cleared by reset. MOTOROLA 5-6 FREE-RUNNING COUNTER SUBMODULE (FCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 6 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. MODULUS COUNTER SUBMODULE (MCSM) 6.1 MCSM description 6 The MCSM is a versatile timer submodule capable of performing complex counting and timing functions, including modulus counting, in a wide range of applications. The MCSM may also be configured as an event counter, allowing the overflow flag to be set after a predefined number of events (internal clocks or external events), or as a variable time source for PWM generation. Note that the MCSM can also operate as a free running counter; in this case it behaves exactly like an FCSM. A block diagram of the MCSM is shown in Figure 6-1. TBBA Time base buses TBBB 6 clocks (PCLKx) from prescaler Bus select Clock input pin CTMC Edge detect Clock select DRVA DRVB Control register bits IN2 CLK2 CLK1 CLK0 Control register bit Control register bits Overflow 16-bit up counter Interrupt control Modulus control Modulus load input pin CTML Modulus register Edge detect Write both IN1 EDGEN EDGEP Control register bits COF Submodule bus IL2 IL1 IL0 IARB3 Control register bits Figure 6-1 MCSM block diagram CTM REFERENCE MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 6-1 Freescale Semiconductor, Inc. The main components of the MCSM are a 16-bit modulus latch, a 16-bit loadable up-counter, counter loading logic, a clock selector, a time base bus driver and an interrupt interface. Note: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 6 In order to be able to count, the MCSM requires the CPSM clock signals to be present. On coming out of reset, the MCSM will not count internal or external events until the prescaler in the CPSM starts running (when the software sets the PRUN bit). This allows all counters in the CTM submodules to be synchronized. 6.2 The MCSM modulus latch The 16-bit modulus latch is a read/write register that is used to reload the counter automatically with a predetermined value. The contents of the modulus latch register can be read at any time. Writing to the register loads the modulus latch with the new value. This value is then transferred to the counter register on the next hardware load of that counter. However, writing to the corresponding counter register loads the modulus latch and the counter register immediately with the new value. The modulus latch register is cleared to $0000 by reset. 6.3 The MCSM counter The counter is composed of a 16-bit read/write register associated with a 16-bit incrementer. Reading the counter transfers the contents of the counter register to the data bus; writing to the counter loads the modulus latch and the counter register immediately with the new value. The counter can be clocked with different clock sources (see Section 6.4). Note: Reset presets the counter register to $0000. Writing $0000 to the counter register while its value is $FFFF does not set the COF flag and does not generate an interrupt. 6.3.1 Loading the MCSM counter register The counter register can be loaded by writing directly to it. The counter register is also loaded from the modulus latch each time a counter overflow occurs and the COF flag bit in the MCSM status/interrupt/control register (MCSMSIC) is set. Note: When the modulus latch is loaded with $FFFF, the overflow flag is set on every counter clock pulse. MOTOROLA 6-2 MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Loading of the counter register from the modulus register can also be triggered an external event on the modulus load pin CTML. The edge on the CTML pin that triggers the loading of the counter register is selected by bits EDGEN and EDGEP in the MCSMSIC register. Hardware is provided to prevent the occurrence of spurious edges while changing the EDGEN and EDGEP bits. Reset clears the EDGEN and EDGEP bits to zero, thereby preventing a signal on the CTML pin from loading the counter register until EDGEN and EDGEP have been initialized by the software. The modulus load input pin CTML is Schmitt triggered and synchronized to the system clock (fSYS). Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Note: The read-only IN1 bit of the MCSMSIC reflects the state of the input pin CTML. 6.3.1.1 Using the MCSM as a free-running counter The MCSM is a modulus counter. However it can be made to behave like a free-running counter by loading the modulus register with the value $0000. 6 6.4 MCSM clock sources The User can choose from eight software selectable counter clock sources: – six prescaler outputs (PCLKx) – input pin rising edge detection on the input pin CTMC – input pin falling edge detection on the input pin CTMC The clock source is selected by the CLK[2:0] bits in the MCSM status, interrupt and control register MCSMSIC (see Section 6.8.1). When the CLK[2:0] bits are being changed, internal circuitry ensures that spurious edges occurring on the CTMC pin do not affect the MCSM. The clock input pin CTMC is Schmitt triggered and is synchronized with the system clock (fSYS). Note: The read-only IN2 bit of the MCSMSIC register reflects the state of the input pin CTMC. 6.4.1 MCSM external event counting When an external clock source (on the CTMC input pin) is selected, the MCSM is in the event counter mode. The counter can simply count the number of events occurring on the input pin. Alternatively, the MCSM can be programmed to generate an interrupt when a predefined number of events have been counted; this is done by presetting the counter with the two’s complement value of the desired number of events. When using the external clock source, the maximum external guaranteed frequency is fSYS/4. CTM REFERENCE MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 6-3 Freescale Semiconductor, Inc. 6.5 The MCSM time base bus driver The DRVA and DRVB bits in the MCSMSIC register select the time base buses to be driven (see Section 6.8.1). Which of the time base buses is driven depends on where the MCSM is physically placed in any particular CTM implementation. See Section 1.4 for information on the structure of the time base buses. For examples of MCSM waveforms and timings, please refer to Section 10.1. Warning: It is not recommended that the two time base buses be driven at the same time. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 6 6.6 MCSM interrupts A valid MCSM interrupt can be generated when the COF bit in the MCSMSIC register is set as a result of the counter overflowing. If the interrupt priority level of the MCSM is non-zero, as defined by the three IL bits in the MCSMSIC register, a valid interrupt request will occur on the IMB. 6.7 Freeze action on the MCSM When the IMB FREEZE signal is recognized, the MCSM counter stops counting and remains set at its last value. When the FREEZE signal is negated, the counter starts incrementing from its last value, as if nothing had happened. All registers are accessible during freeze. During freeze, the IN1 and IN2 bits in the MCSMSIC continue to reflect the states of the signals on the input pins (see Section 6.8.1). 6.8 MCSM registers The MCSM register map comprises four 16-bit register locations. As shown in Table 6-1, the register block contains three FCSM registers and one reserved register. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no effect. In CTM implementations featuring multiple MCSMs, each MCSM has its own set of registers. Note: All register addresses in this section are specified as offsets from the base address of the MCSM. MOTOROLA 6-4 MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Table 6-1 MCSM register map Address (1) $00 $02 $04 $06 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 15 8 7 MCSM status/interrupt/control register (MCSMSIC) MCSM counter (MCSMCNT) MCSM modulus latch (MCSMML) 0 (1) Offset from the base address of the MCSM submodule. 6.8.1 MCSMSIC — MCSM status/interrupt/control register Bit: MCSMSIC $00 (1) 15 14 13 12 11 COF IL2 IL1 IL0 IARB3 0 0 0 0 0 Reset: 10 9 8 DRVA DRVB 0 0 0 7 6 IN2 IN1 u u 5 4 3 0 1 0 CLK2 CLK1 CLK0 EDGEN EDGEP 0 2 0 0 0 0 (1) Offset from the base address of the MCSM submodule. COF — Counter overflow flag bit This status flag bit indicates whether or not a counter overflow has occurred. An overflow of the MCSM counter is defined to be the transition of the counter from $FFFF to $xxxx, where $xxxx is the value contained in the modulus latch. If the IL field is non-zero, an interrupt request is generated when the COF bit is set. 1 (set) – 0 (clear) – Counter overflow has occurred. Counter overflow has not occurred. This flag bit is set only by the hardware and cleared only by the software or by a system reset. To clear the flag, the software must first read the bit (as ‘one’) then write a ‘zero’ to the bit. Note: The flag clearing mechanism will work only if no flag setting event occurs between the read and write operations; if a COF setting event occurs between the read and write operations, the COF bit will not be cleared. CTM REFERENCE MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 6-5 6 Freescale Semiconductor, Inc. IL[2:0] — Interrupt level bits The three interrupt level bits are read/write control bits that select the priority level of interrupt requests made by the MCSM. These bits can be read or written at any time and are cleared by reset. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 6 IL2 0 0 0 0 1 1 1 1 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. Each module that generates interrupt requests on the IMB must have a unique value in the arbitration field (IARB). This interrupt arbitration identification number is used to arbitrate for the IMB when modules generate simultaneous interrupts of the same priority (see Section 3). The IARB3 bit is cleared by reset. DRVA, DRVB — Drive time base bus bits DRVA and DRVB are read/write bits that control the connection of the MCSM to the time base buses A and B. These bits are cleared by reset. (See Section 1.4 for information on the time base buses.) DRVA 0 0 1 1 DRVB 0 1 0 1 Bus selected Neither time base bus A nor time base bus B is driven Time base bus B is driven Time base bus A is driven Both time base bus A and time base bus B are driven Warning: It is not recommended that the two time base buses be driven at the same time. IN2 — Clock input pin status bit This read-only status bit reflects the logic state of the clock input pin CTMC. Writing a 0 or 1 to this bit has no effect. Reset has no effect on this bit. MOTOROLA 6-6 MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. IN1 — Modulus load input pin status bit This read-only status bit reflects the logic state of the modulus load input pin CTML. Writing a 0 or 1 to this bit has no effect. Reset has no effect on this bit. EDGEN, EDGEP — Modulus load edge sensitivity bits These read/write bits select the sensitivity of the edge detection circuitry on the modulus load pin CTML. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 6 EDGEN 0 0 1 1 EDGEP IN1 edge detector sensitivity 0 None 1 Positive edge only 0 Negative edge only 1 Positive and negative edge CLK[2:0] — Counter clock select bits These read/write control bits select one of six internal clock signals (PCLKx) or one of two external conditions on the input pin (rising edges or falling edges). The maximum frequency of the external clock signals is fSYS/4. CLK2 0 0 0 0 1 1 1 1 6.8.2 CLK1 0 0 1 1 0 0 1 1 CLK0 Free running counter clock source 0 Prescaler output 1 (/2 or /3) 1 Prescaler output 2 (/4 or /6) 0 Prescaler output 3 (/8 or /12) 1 Prescaler output 4 (/16 or /24) 0 Prescaler output 5 (/32 or /48) 1 Prescaler output 6 (/64 to /768) 0 CTMC pin input, negative edge 1 CTMC pin input, positive edge MCSMCNT — MCSM counter register Bit: 15 14 13 12 MCSMCNT $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the MCSM submodule. The MCSM counter register is a read/write register. MOTOROLA 6-7 MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 6.8.3 MCSMML — MCSM modulus latch register Bit: 15 14 13 12 MCSMML $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the MCSM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. The MCSM modulus latch register is a read/write register. 6 MOTOROLA 6-8 MODULUS COUNTER SUBMODULE (MCSM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 7 SINGLE ACTION SUBMODULE (SASM) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. I/O pin Single action channel A FLAG IL2 IL1 IL0 IARB3 IEN Interrupt control 7 FLAG Single action channel B I/O pin Submodule bus CTM time base buses Figure 7-1 SASM block diagram 7.1 SASM description The dual-channel SASM provides two identical single-action channels, each having its own input/output pin but sharing the same interrupt circuitry (see Figure 7-1). Each channel can be configured independently by the software to perform either input capture or output compare. The single action submodule is so called because each SASM channel can perform a single timing action (input capture or output compare) before some software intervention is required. Each channel can also work as a simple I/O pin. CTM REFERENCE SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 7-1 Freescale Semiconductor, Inc. A more detailed block diagram of a SASM channel is shown in Figure 7-2. Each channel comprises: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 7 Note: – a time base bus selector (which selects the time base bus to be used by that channel for all timing functions), – a 16-bit data register (which can be read by the software at any time and which is used for both input capture and output compare functions), – a 16-bit comparator (which continuously compares the 16-bit value in the data register with the time base bus), – an output flip-flop (which holds the logic level to be sent to the output pin when a successful output compare occurs), – an input edge detector (which detects the rising or falling edge that will trigger the input capture function), – several status and control bits in the status/interrupt/control register SICA or SICB, – an interrupt section. During reset the output of the output flip-flop is cleared (i.e. to ‘zero’). 7.2 SASM modes of operation Each SASM channel can operate in four different modes: 1. Input capture (IC) (i.e. either as input capture on a rising or falling edge or as a read-only input port) 2. Output compare (OC) 3. Output compare and toggle (OCT) 4. Output port (OP) Note: For a channel operating in IC mode, the IN bit in the SIC register reflects the logic state of the corresponding input pin (after being Schmitt triggered and synchronized). When a channel is operating in OC, OCT or OP mode, the IN bit in the SIC register reflects the logic state of the output of the output flip-flop. 7.2.1 Clearing and using the FLAG bits To clear a FLAG bit, the software must first read the channel’s SIC register, then write a zero to the FLAG bit. These two steps do not have to be done on consecutive instructions. This clearing sequence must be used in every mode of operation. Writing a one to the FLAG bit has no effect. MOTOROLA 7-2 SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. TBBA 2 time base buses TBBB Bus select BSL Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. IN FORCE EDOUT Output flip-flop 16-bit comparator Output buffer I/O pin Interrupt control Edge detect 16-bit register FLAG MODE1 MODE0 Control register bits IL2 IL1 IL0 IARB3 IEN 7 Control register bits Submodule bus Figure 7-2 SASM block diagram (channel A) Warning: To avoid spurious interrupts, and to make sure that the FLAG bit is set according to the newly selected mode, the following sequence of operations should be adopted when changing mode: 1. Disable SASM interrupts 2. Change mode 3. Reset the corresponding FLAG bit 4. Re-enable SASM interrupts (if desired) Note: When changing between output modes (OP, OC or OCT), it is not necessary to follow this procedure, as in these modes the FLAG bit merely indicates to the software that the compare value may be updated. CTM REFERENCE SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 7-3 Freescale Semiconductor, Inc. 7.2.2 Input capture (IC) mode In IC mode, the 16-bit counter value on the selected time base bus is ‘captured’ when a triggering event occurs on the channel’s input pin. Triggering of the input capture circuitry is done by a rising or falling edge on the input pin; the polarity of the triggering edge is selected by the EDOUT bit. The logic level on the input pin can be read by software via the IN bit in the channel’s SIC register. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 7 Note: In IC mode, the input pin is Schmitt triggered and the input signal is synchronized to the system clock (fSYS). The IN bit reflects the state present on the input pin (after being Schmitt triggered and synchronized). When an input capture occurs, the count value on the selected time base bus is latched into the channel’s 16-bit data register. At the same time, the FLAG bit in the SIC register is set to indicate that an input capture has occurred. The FLAG bit must be reset by software (see Section 7.2.1). If the interrupt is serviced, the FLAG bit should be cleared by the servicing routine before returning from that routine. If a subsequent input capture event occurs while the FLAG bit is set, the new captured counter value is latched, and the FLAG bit remains unchanged. Note: In IC mode, the value of the EDOUT bit is permanently transferred to the output flip-flop. This value will be output on the pin when the mode is changed to one of the output modes. 7.2.3 Output compare (OC) mode In OC mode, the state of an output pin is changed when a successful output compare occurs; an interrupt may also be generated. The output compare circuitry performs a comparison between the 16-bit register and the selected time base bus. When a match is found, the EDOUT bit value is transferred to the output flip-flop. At the same time, the FLAG bit is set to indicate to the processor that a match has occurred. Depending on the state of the IEN bit, an interrupt can be generated when the FLAG bit is set. The FLAG bit must be reset by software (see Section 7.2.1). If the interrupt is serviced, the FLAG bit should be cleared by the servicing routine before returning from that routine. If a subsequent output compare occurs while the FLAG bit is set, the output compare function occurs normally, and the FLAG bit remains set. An output compare match can be simulated in software by writing a one to the FORCE bit. Setting the FORCE bit forces the EDOUT bit value onto the pin as if an output compare had occurred. In this case, the FLAG bit is not affected. Only if a genuine output compare occurs while doing a force, will the FLAG bit be set to signify that the compare has occurred. Note: In OC mode, the IN bit value reflects the logic state on the output of the output flip-flop. MOTOROLA 7-4 SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 7.2.4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Output compare and toggle (OCT) mode In OCT mode, the state of an output pin is toggled each time a successful output compare occurs; an interrupt may also be generated. The output compare circuitry performs a comparison between the 16-bit register and the selected time base bus. When a match is found, the output flip-flop is toggled to the opposite state. At the same time, the FLAG bit is set to indicate to the processor that the output compare has occurred. Depending on the state of the IEN bit, an interrupt can be generated when the FLAG bit is set. The FLAG bit must be reset by software (see Section 7.2.1). If the interrupt is serviced, the FLAG bit should be cleared by the servicing routine before returning from that routine. If a subsequent output compare occurs while the FLAG bit is set, the output toggles, and the FLAG bit remains set. An output compare match can be simulated in software by writing a one to the FORCE bit. Setting the FORCE bit forces the output flip flop to toggle as if an output compare had occurred. In this case, the FLAG bit is not affected. Only if a genuine output compare occurs while doing a force, will the FLAG bit be set to signify that the compare has occurred. Note: In OCT mode, the IN bit reflects the logic state on the output of the output flip-flop. 7.2.5 7 Output port (OP) mode In OP mode the channel’s input/output pin is used as a single output port pin. The output compare function is still available, but for internal operation only, and does not affect the state of the output pin. An interrupt may also be generated when a compare occurs. The state of the output pin always reflects the value of the EDOUT bit in the channel’s SIC register. Reading the EDOUT bit returns the last value written to it. The internal compare feature compares the 16-bit register with the selected time base bus. The output compare circuitry performs a comparison between the 16-bit register and the selected time base bus. When a match is found, the FLAG bit is set to indicate to the processor that the output compare has occurred. Depending on the state of the IEN bit, an interrupt can be generated when the FLAG bit is set. The FLAG bit must be reset by software (see Section 7.2.1). If the interrupt is serviced, the FLAG bit should be cleared by the servicing routine before returning from that routine. If a subsequent output compare occurs while the FLAG bit is set, the internal output compare functions normally, and the FLAG bit remains set. Note: In OP mode, the IN bit value reflects the logic state on the output of the output flip-flop. CTM REFERENCE SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 7-5 Freescale Semiconductor, Inc. 7.3 SASM interrupts Each channel in the dual-channel SASM has separately enabled and initiated interrupts and they each have their own unique vector number and address. However, they are both assigned to the same interrupt level and arbitration priority by the IL[2:0] and IARB3 bits in the SICA register. A valid SASM interrupt is recognized when the FLAG bit is set, the corresponding IEN bit is set and the interrupt level defined by bits IL[2:0] is not equal to zero. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 7 The FLAG bit is a status bit that indicates, when set, that an input capture or output compare has occurred on the corresponding single action channel. The relative priority of these sources of interrupt is fixed and channel A has a higher priority than channel B. 7.4 Freeze action on the SASM When the IMB FREEZE signal is recognized, the SASM input capture and output compare functions are halted. As soon as the FREEZE signal is negated, SASM actions resume as if nothing had happened. During freeze, the IN bits of the SIC registers (SICA and SICB) are readable and return the levels present at the input pins if an input mode is in operation, or the output value if an output mode is in operation (see Section 7.5.1 and Section 7.5.3). When one of the output modes is in operation, the force output function remains available, allowing the software to output the desired level (a useful feature for debugging). All SASM registers are accessible during freeze. 7.5 SASM registers The SASM register map comprises eight 16-bit register locations. As shown in Table 7-1, the register block contains two SASM registers for each channel and four reserved registers. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no meaning nor effect. All register addresses in this section are specified as offsets from the base address of the SASM. In CTM implementations featuring multiple SASMs, each SASM has its own set of registers. MOTOROLA 7-6 SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Table 7-1 SASM register map Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Address (1) $00 $02 $04 $06 $08 $0A $0C $0E 15 8 7 SASM status/interrupt/control register A (SICA) SASM data register A (SDATA) SASM status/interrupt/control register B (SICB) SASM data register A (SDATB) 0 (1) Offset from the base address of the SASM submodule. 7.5.1 SICA — SASM status/interrupt/control register A This register contains the control, interrupt enable and status bits for SASM channel A. It also contains the interrupt priority level bits IL[2:0] and the arbitration priority bit IARB3 for the whole SASM (i.e. common to channels A and B). Bit: SICA $00 (1) 15 14 13 12 11 10 FLAG IL2 IL1 IL0 IARB3 IEN 0 0 0 0 0 0 Reset: 9 0 8 7 BSL IN 0 u 6 5 4 3 2 FORCE EDOUT 0 0 0 1 0 MODE1 MODE0 0 0 0 0 (1) Offset from the base address of the SASM submodule. FLAG — Event flag bit The FLAG bit is set whenever an input capture or output compare event occurs. This flag bit is set only by the hardware and cleared only by the software or by a system reset. If the IL field is non-zero, and the IEN bit is set, an interrupt request is generated when the FLAG bit is set. 1 (set) – 0 (clear) – An input capture or output compare event has occurred. An input capture or output compare event has not occurred. In IC mode, if a subsequent input capture event occurs while the FLAG bit is set, the new value is latched and the FLAG bit remains set. In OC mode, if a subsequent output compare event occurs while the FLAG bit is set, the compare occurs normally and the FLAG bit remains set. In OCT mode, if a subsequent output compare event occurs while the FLAG bit is set, the toggle of the output signal occurs as normal and the FLAG bit remains set. In OP mode, if a subsequent internal compare event occurs while the FLAG bit is set, the compare occurs normally and the FLAG bit remains set. CTM REFERENCE SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 7-7 7 Freescale Semiconductor, Inc. To clear the flag, the software must first read the bit (as ‘one’) then write a ‘zero’ to the bit. Note: The flag clearing mechanism will work only if no flag setting event occurs between the read and write operations; if a FLAG setting event occurs between the read and write operations, the FLAG bit will not be cleared. IL[2:0] — Interrupt level bits Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. The three interrupt level bits are read/write control bits that select the priority level of interrupt requests made by the SASM. These bits can be read or written at any time and are cleared by reset. Note: These bits affect both SASM channels, not just channel A. IL2 0 0 0 0 1 1 1 1 7 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. Each module that generates interrupt requests on the IMB must have a unique value in the arbitration field (IARB). This interrupt arbitration identification number is used to arbitrate for the IMB when modules generate simultaneous interrupts of the same priority (see Section 3). The IARB3 bit is cleared by reset. Note: This bit affects both SASM channels, not just channel A. IEN — Interrupt enable bit This control bit enables interrupts on channel A when the FLAG bit is set and the IL[2:0] field is non-zero. This bit is cleared by reset. 1 (set) – Interrupts enabled. 0 (clear) – Interrupts disabled. MOTOROLA 7-8 SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. BSL — Time base bus select bit This control bit selects the time base bus to be connected to SASM channel A. This bit is cleared by reset. 1 (set) – Time base bus B selected. 0 (clear) – Time base bus A selected. IN — Input pin status bit Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. In input mode (IC), the IN bit reflects the logic state present on the corresponding input pin (after being Schmitt triggered and synchronized). In the output modes (OC, OCT and OP), the IN bit value reflects the state of the output of the output flip-flop. The IN bit is a read-only bit; writing to it has no effect. Reset has no effect on this bit. FORCE — Force compare control bit In the IC and OP modes, the FORCE bit is not used and writing to it has no effect. In the OC and OCT modes, the FORCE bit is used by the software to cause the output flip-flop (and the output pin) to behave as though an output compare had occurred. In OC mode, setting the FORCE bit causes the value of EDOUT to be transferred to the output of the output flip-flop; in OCT mode, setting the FORCE bit causes the output flip-flop to toggle. Internal synchronization ensures that the correct level appears on the output pin when a new value is written to EDOUT and FORCE is set at the same time. 1 (set) – 0 (clear) – Force output flip-flop to behave as if an output compare has just occurred. No action. The FORCE bit is cleared by reset and always reads as zero. Note: The FLAG bit is not affected by the use of the FORCE bit. EDOUT — Edge detect and output level bit In IC mode, the EDOUT bit is used to select the edge that will trigger the input capture circuitry. 1 (set) – Input capture on rising edge. 0 (clear) – Input capture on falling edge. In OC mode, the EDOUT bit is used to latch the value to be output to the pin on the next output compare match or when the FORCE bit is set. Internal synchronization ensures that the correct level appears on the output pin when a new value is written to EDOUT and FORCE is set at the same time. Reading EDOUT returns the previous value written. CTM REFERENCE SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 7-9 7 Freescale Semiconductor, Inc. In OCT mode, the EDOUT bit has no effect. However, the force function is still available and will force the value of the EDOUT bit to appear on the output pin. In OP mode, the value of the EDOUT bit is output to the corresponding pin. Reading EDOUT returns the previous value written. The EDOUT bit is cleared by reset. MODE1, MODE0 — SASM operating mode select bits Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. These control bits select the mode of operation of the SASM channel, as shown in the following table. MODE1 and MODE0 are cleared by reset. MODE1 0 0 1 1 7 7.5.2 MODE0 0 1 0 1 SASM channel operating mode Input capture (IC) Output port (OP) Output compare (OC) Output compare and toggle (OCT) SDATA — SASM data register A SDATA is the 16-bit read-write register associated with channel A. In IC mode, SDATA contains the last captured value. In the OC, OCT and OP modes, it is loaded with the value of the next output compare. SDATA is not affected by reset. Bit: 15 14 13 12 SDATA $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the SASM submodule. 7.5.3 SICB — SASM status/interrupt/control register B This register contains the control and status bits for SASM channel B. The bits it contains are identical to those in SICA, with the exception of the IL[2:0], IARB3 and IEN which apply to both MOTOROLA 7-10 SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. channels simultaneously and which are included only in SICA. For descriptions of the bits, please refer to Section 7.5.1). Bit: SICB $04 (1) 15 14 13 12 11 10 9 FLAG Reset: 0 0 0 0 0 0 0 8 7 BSL IN 0 0 6 5 4 3 2 FORCE EDOUT 0 0 0 1 0 MODE1 MODE0 0 0 0 0 (1) Offset from the base address of the SASM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 7.5.4 SDATB — SASM data register B SDATB is the 16-bit read-write register associated with channel A. In the IC mode, SDATB contains the last captured value. In the OC, OCT and OP modes, it is loaded with the value of the next output compare. SDATB is not affected by reset. Bit: 15 14 13 12 SDATB $06 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the SASM submodule. CTM REFERENCE SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 7-11 7 Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 7 THIS PAGE INTENTIONALLY LEFT BLANK MOTOROLA 7-12 SINGLE ACTION SUBMODULE (SASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 8 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. DOUBLE ACTION SUBMODULE (DASM) TBBA 2 time base buses TBBB Bus select BSL 16-bit comparator A FORCA FORCB WOR Output flip-flop Output buffer 16-bit register A IN I/O pin 8 EDPOL Edge detect 16-bit register B1 Register B Interrupt control 16-bit register B2 16-bit comparator B MODE3 MODE2 MODE1 MODE0 FLAG Control register bits IL2 IL1 IL0 IARB3 Control register bits Submodule bus Figure 8-1 DASM block diagram CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-1 Freescale Semiconductor, Inc. 8.1 DASM description The DASM is a timer submodule designed specifically to be integrated into CTM systems used in Motorola’s M68300 and M68HC16 family MCUs. It contains two timing channels A and B associated with the same input/output pin. The dual action submodule is so called because its timing channel configuration allows two events (input capture or output compare) to occur before some software intervention is required. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Six operating modes allow the software to use the DASM’s input capture and output compare functions to perform pulse width measurement, period measurement, single pulse generation and continuous pulse width generation, as well as standard input capture and output compare. The DASM can also work as a single I/O pin (see Table 8-1). The DASM is composed of two timing channels (A and B), an output flip-flop, an input edge detector, some control logic and an interrupt section (see Figure 8-1). All control and status bits are contained in the DASMSIC register. Channel A comprises one 16-bit data register and one 16-bit comparator. Channel B also appears to the user to consist of one 16-bit data register and one 16-bit comparator, however, internally, channel B has two data registers B1 and B2, and the operating mode determines which register is accessed by the software: – In the input capture modes (IPWM, IPM and IC), registers A and B2 are used to hold the captured values; in these modes, the B1 register is used as a temporary latch for channel B. – In the output compare modes (OCA and OCAB), registers A and B2 are used to define the output pulse; register B1 is not used in these modes. – In the output pulse width modulation mode (OPWM), registers A and B1 are used as primary registers and hidden register B2 is used as a double buffer for channel B. 8 Register contents are always transferred automatically at the correct time so that the minimum pulse (measurement or generation) is just one time base bus count. The A and B data registers are always read/write registers, accessible via the CTM’s submodule bus. In the input capture modes, the edge detect circuitry triggers a capture whenever a rising or falling edge (as defined by the EDPOL bit) is applied to the input pin. The signal on the input pin is Schmitt triggered and synchronized with the system clock (fSYS). In the disabled mode (DIS) and in the input modes, the IN bit reflects the state present on the input pin (after being Schmitt triggered and synchronized). In the output modes the IN bit reflects the value present at the output of the output flip-flop. The output flip-flop is used in output modes to hold the logic level applied to the output pin. The time base bus selector is common to all input and output functions; it connects the DASM to time base bus A or B and is controlled in software by the bus select bit BSL in the DASMSIC register. MOTOROLA 8-2 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 8.2 32-bit coherent access In the IPWM and IPM modes, 32-bit coherent access of the data registers is supported (see Section 1.3.4). A 32-bit coherent access consists of doing a long word aligned access of data register A. In this case, register A is accessed first, immediately followed (on the next cycle) by a register B access. During this time, any flag setting or data transfer from the hidden B register is deferred until coherent access has ended. When the 32-bit access has ended, the DASM finishes any pending B action and resumes normal operation. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8.3 DASM modes of operation The mode of operation of the DASM is determined by the mode select bits MODE[3:0] in the DASMSIC register (see Table 8-1). Table 8-1 DASM modes of operation MODE[3:0] 0000 Mode DIS 0001 IPWM 0010 0011 IPM IC 0100 OCB 0101 OCAB 1xxx OPWM Description of mode Disabled — Input pin is high impedance; IN gives state of the input pin. Input pulse width measurement — Capture on the leading edge and the trailing edge of an input pulse. Input period measurement — Capture two consecutive rising/falling edges. Input capture — Capture when the designated edge is detected. Output compare, flag set on B compare — Generate leading and trailing edges of an output pulse and set the flag. Output compare, flag on A and B compare — Generate leading and trailing edges of an output pulse and set the flag. Output pulse width modulation — Generate continuous PWM output with 7, 9, 11, 12, 13, 14, 15 or 16 bits of resolution. Warning: To avoid spurious interrupts, and to make sure that the FLAG bit is set according to the newly selected mode, the following sequence of operations should be adopted when changing mode: 1. Disable DASM interrupts 2. Change mode 3. Reset the corresponding FLAG bit 4. Re-enable DASM interrupts (if desired) Note: When changing between output modes (OP, OC or OCT), it is not necessary to follow this procedure, as in these modes the FLAG bit merely indicates to the software that the compare value can be updated. CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-3 8 Freescale Semiconductor, Inc. 8.3.1 Disable (DIS) mode DIS mode is selected by making MODE[3:0] = 0000. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 In this mode, all input capture and output compare functions of the DASM are disabled and the FLAG bit is maintained in its reset state, but the input port pin function remains available. The associated pin becomes a high impedance input and the input level on this pin is reflected by the state of the IN bit in the DASMSIC register. All control and interrupt bits remain accessible, allowing the software to prepare for future mode selection. Data registers A and B are accessible at consecutive addresses. Writing to data register B stores the same value in registers B1 and B2. Warning: When changing modes, it is imperative to go through the DIS mode in order to reset the DASM’s internal functions properly. Failure to do this could lead to invalid and unexpected output compare or input capture results, and to flags being set incorrectly. 8.3.2 Input pulse width measurement (IPWM) mode IPWM mode is selected by making MODE[3:0] = 0001. This mode allows the width of a positive or negative pulse to be determined by capturing the leading edge of the pulse on channel B and the trailing edge of the pulse on channel A; successive captures are done on consecutive edges of opposite polarity. The edge sensitivity is selected by the EDPOL bit in the DASMSIC register. This mode also allows the software to determine the logic level on the input pin at any time by reading the IN bit in the DASMSIC register. The channel A input capture function remains disabled until the first rising edge triggers the first input capture on channel B. When this rising edge is detected, the count value of the time base bus selected by the BSL bit is latched in the 16-bit data register B1; the FLAG bit is not affected. When the next falling edge is detected, the count value of the time base bus is latched into the 16-bit data register A and, at the same time, the FLAG bit is set and the contents of register B1 are transferred to register B2. Reading data register B returns the value in register B2. If subsequent input capture events occur while the FLAG bit is set, data registers A and B will be updated with the latest captured values and the FLAG bit will remain set. If a 32-bit coherent operation is in progress when the falling edge is detected, the transfer from B1 to B2 is deferred until the coherent operation is completed. Operation of the DASM then continues on channels B and A as previously described. The input pulse width is calculated by subtracting the value in data register B from the value in data register A. Figure 8-2 provides an example of how the DASM can be used for input pulse width measurement. MOTOROLA 8-4 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. FLAG reset by software Mode selection; EDPOL = 1 FLAG reset by software B A B A B $0500 $1000 $1100 $1250 $1525 $16A0 DASMA captured value 1 $xxxx $xxxx $1100 $1100 $1525 $1525 B1 captured value 2 $xxxx $1000 $1000 $1250 $1250 $16A0 B2 value 1 $xxxx $xxxx $1000 $1000 $1250 $1250 Input signal Time base bus FLAG bit Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Notes: 1. These values are accessible to the software. 2. These values are internal and are not accessible. Figure 8-2 Input pulse width measurement example 8.3.3 Input period measurement (IPM) mode IPM mode is selected by making MODE[3:0] = 0010. This mode allows the period of an input signal to be determined by capturing two consecutive rising edges or two consecutive falling edges; successive input captures are done on consecutive edges of the same polarity. The edge polarity is defined by the EDPOL bit in the DASMSIC register. This mode also allows the software to determine the logic level on the input pin at any time by reading the IN bit in the DASMSIC register. When the first edge having the selected polarity is detected, the time base bus value is latched into the 16-bit data register A, the data in register B1 is transferred to data register B2 and finally the data in register A is transferred to register B1. On this first capture the FLAG bit is not set. On the second and subsequent captures, the FLAG bit is set immediately before the data in register A is transferred to register B1. When the second edge of the same polarity is detected, the time base bus value is latched into data register A, the data in register B1 is transferred to data register B2, the FLAG bit is set to signify that the beginning and end points of a complete period have been captured, and finally data register A is transferred to register B1. This sequence of events is repeated for each subsequent capture. Reading data register B returns the value in register B2. If a 32-bit coherent operation is in progress when an edge is detected, the transfer of data from B1 to B2 is deferred until the coherent operation is completed. At any time, the input level present on the input pin can be read on the IN bit. CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-5 8 Freescale Semiconductor, Inc. The input pulse period is calculated by subtracting the value in data register B from the value in data register A. Figure 8-3 provides an example of how the DASM can be used for input period measurement. FLAG reset by software Mode selection; EDPOL = 0 A Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A FLAG reset by software A Input signal Time base bus $0500 $1000 $1100 $1250 $1525 $16A0 DASMA captured value 1 $xxxx $1000 $1250 $16A0 B1 value 2 $xxxx $1000 $1250 $16A0 B2 value 1 $xxxx $xxxx $1000 $1250 FLAG bit Notes: 1. These values are accessible to the software. 2. These values are internal and are not accessible. 8 Figure 8-3 Input period measurement example MOTOROLA 8-6 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 8.3.4 Input capture (IC) mode IC mode is selected by making MODE[3:0] = 0011. This mode is identical to the input period measurement mode (IPM) described above, with the exception that the FLAG bit is also set at the occurrence of the first detected edge of the selected polarity. In this mode the DASM functions as a standard input capture function in a similar way to the M68HC11 family timers. In this case the value latched in channel B can be ignored. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Figure 8-4 provides an example of how the DASM can be used for input capture. FLAG reset by software FLAG reset by software Mode selection; EDPOL = 0 A FLAG reset by software A A Input signal Time base bus $0500 $1000 $1100 $1250 $1525 $16A0 DASMA captured value 1 $xxxx $1000 $1250 $16A0 B1 value 2 $xxxx $1000 $1250 $16A0 B2 value 1 $xxxx $xxxx $1000 $1250 FLAG bit Notes: 1. These values are accessible to the software. 2. These values are internal and are not accessible. Figure 8-4 DASM input capture example 8.3.5 Output compare (OCB and OCAB) modes OC mode is selected by making MODE[3:0] = 010x. The MODE0 bit controls the setting criteria for the FLAG bit, i.e. when a compare occurs only on channel B or when a compare occurs on either channel (see Section 8.6.1). This mode allows the DASM to perform four different output functions: – Single-shot output pulse (two edges), with FLAG set on the second edge. – Single-shot output pulse (two edges), with FLAG set on both edges. – Single-shot output transition (one edge). – Output port pin, with output compare function disabled. In this mode the leading and trailing edges of variable width output pulses are generated by calculated output compare events occurring on channels A and B, respectively. OC mode may also CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-7 8 Freescale Semiconductor, Inc. be used to perform a single output compare function, similar to the M68HC11 timer, or may be used as an output port bit. In this mode, channel B is accessed via register B2. Register B1 is not used and is not accessible to the user. Both channels work together to generate one ‘single shot’ output pulse signal. Channel A defines the leading edge of the output pulse, while channel B defines the trailing edge of the pulse. FLAG setting can be done when a compare occurs on channel B only or when a compare occurs on either channel (as defined by the MODE0 bit in the DASMSIC register). Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 When this mode is first selected, both comparators are disabled. Each comparator is enabled by writing to its data register; it remains enabled until the next successful comparison is made on that channel, whereupon it is disabled. The values stored in registers A and B are compared with the count value on the selected time base bus when their corresponding comparators are enabled. The output flip-flop is set when a match occurs on channel A. The output flip-flop is reset when a match occurs on channel B. The polarity of the output signal is selected by the EDPOL bit. The output flip-flop level can be obtained at any time by reading the IN bit. If subsequent enabled output compares occur on channels A and B, the output pulses continue to be output, regardless of the state of the FLAG bit. At any time, the FORCA and FORCB bits allow the software to force the output flip-flop to the level corresponding to a comparison on channel A or B, respectively. Note that the FLAG bit is not affected by these ‘force’ operations. Totem pole or open-drain output circuit configurations can be selected using the WOR bit in the DASMSIC register. Warning: There is no hardware protection to disable comparator B while comparator A is enabled. It is the user’s responsibility to load data registers A and B with the values needed to produce the desired output pulse. Note: If both channels are loaded with the same value they will try to force different levels on the output flip-flop. Hardware protection circuitry ensures that no contention occurs and the output flip-flop provides a logic zero level output. 8.3.5.1 Single shot output pulse operation The single shot output pulse operation is selected by writing the leading edge value of the desired pulse to data register A and the trailing edge value to data register B. A single pulse will be output at the desired time, thereby disabling the comparators until new values are written to the data registers. Note: In this mode, registers A and B2 are accessible to the user software (at consecutive addresses). MOTOROLA 8-8 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Figure 8-5 provides an example of how the DASM can be used to generate a single output pulse. FLAG reset by software Mode selection; MODE0 = 0 Write to A and B A B $1000 $1100 Output signal Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Time base bus $0500 $0000 $1000 $1100 FLAG bit DASMA value 1 $xxxx $1000 $1000 B2 value 1 $xxxx $1100 $1100 Note: 1. These values are accessible to the software. Figure 8-5 Single-shot output pulse example 8.3.5.2 Single output compare operation The single output compare operation is selected by writing to only one of the two data registers (A or B), thus enabling only one of the comparators. Following the first successful match on the enabled channel, the output level is fixed and remains at the same level indefinitely with no further software intervention being required. Note: In this mode, registers A and B2 are accessible to the user software (at consecutive addresses). Figure 8-6 provides an example of how the DASM can be used to perform a single output compare. 8.3.5.3 Output port bit operation The output port bit operation is selected by leaving both channels disabled, i.e. by writing to neither register A nor B. The EDPOL bit alone controls the output value.The same result can be achieved by keeping EDPOL at zero and using the FORCA and FORCB bits to obtain the desired output level. CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-9 8 Freescale Semiconductor, Inc. FLAG reset by software Mode selection; MODE0 = 1 Write to A FLAG reset by software A Write to B B Input signal Time base bus $0500 $1000 $1100 $1000 $1100 $1000 FLAG bit Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 DASMA value 1 $xxxx $1000 $1000 $1000 B2 value 1 $xxxx $xxxx $1100 $1100 Note: 1. These values are accessible to the software. Figure 8-6 Single shot output transition example 8.3.6 Output pulse width modulation (OPWM) mode OPWM mode is selected by making MODE[3:0] = 1xxx. The MODE[2:0] bits allow some of the comparator bits to be masked. This mode allows pulse width modulated output waveforms to be generated, with eight selectable frequencies (for a given time base). Both channels (A and B) are used to generate one PWM output signal on the DASM pin. Channel B is accessed via register B1. Register B2 is not accessible to the user. Channels A and B define the leading and trailing edges, respectively, of the PWM output pulse. The value in register B1 is continuously transferred to register B2 in the time between each trailing edge and the following leading edge. The value loaded in register A is continuously compared with the value on the time base bus. When a match on A occurs, the FLAG bit is set and the output flip-flop is set. The value loaded in register B2 is continually compared with the value on the time base bus. When a match occurs on B, the output flip-flop is reset. The polarity of the PWM output signal is selected by the EDPOL bit. The output flip-flop level can be obtained at any time by reading the IN bit. If subsequent compares occur on channels A and B, the PWM pulses continue to be output, regardless of the state of the FLAG bit. At any time, the FORCA and FORCB bits allow the software to force the output flip-flop to the level corresponding to comparison on A or B respectively. Note that the FLAG bit is not affected by the FORCA and FORCB operations. MOTOROLA 8-10 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Warning: There is no hardware protection to disable comparator B while comparator A is enabled. It is the user’s responsibility to load data registers A and B with the values needed to produce the desired PWM output pulse. Note: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. If both channels are loaded with the same value they will try to force different levels on the output flip-flop. Hardware protection circuitry ensures that no contention occurs and the output flip-flop provides a logic zero level output. Figure 8-7 provides an example of how the DASM can be used for pulse width modulation. EDPOL = 0 Write B1 = $1500 FLAG reset Write by software B1 = $1700 A comparison matches B2 comparison matches $1000 $1100 FLAG reset by software A comparison matches B2 comparison matches PWM output Time base bus $0000 $1000 $1500 $1700 FLAG bit DASMA value 1 $1000 $1000 $1000 $1000 $1000 $1000 1 $xxxx $1500 $1500 $1700 $1700 $1700 B2 value 2 $xxxx $xxxx $1500 $1700 $1700 $1700 B1 value 8 Notes: 1. These values are accessible to the software. 2. These values are internal and are not accessible. Figure 8-7 DASM output pulse width modulation example To generate PWM output pulses of different frequencies, the 16-bit comparator can have some of its bits masked. This is controlled by bits MODE2, MODE1 and MODE0. The frequency of the PWM output (fPWM) is given by the following equation (assuming the DASM is connected to a free running counter): f SYS f PWM = ---------------------------------------N CPSM • N DASM [1] where NCPSM is the overall CPSM clock divide ratio (÷2 to ÷512 or ÷3 to ÷768) and NDASM is the DASM divide ratio. A few examples of frequencies and resolutions that can be obtained are shown in Table 8-2. CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-11 Freescale Semiconductor, Inc. Table 8-2 DASM PWM example output frequencies/resolutions at fSYS = 16 MHz Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. N CPSM N DASM (1) 512 2 512 2 512 2 512 2 512 2 512 2 512 2 512 2 65536 65536 32768 32768 16384 16384 8192 8192 4096 4096 2048 2048 512 512 128 128 PWM output frequency (Hz) 0.48 122.07 0.95 244.14 1.91 488.28 3.81 976.56 7.63 1953.13 15.26 3906.25 31.04 15625.00 244.14 62500.00 Resolution (bits) 16 16 15 15 14 14 13 13 12 12 11 11 9 9 7 7 (1) This table is valid only if the DASM is connected to a free-running counter. 8 When using 16 bits of resolution on the comparator (MODE[2:0] = 000), the output can vary from a 0% duty cycle up to a duty cycle of 65535/65536. In this case it is not possible to have a 100% duty cycle. In cases where 16-bit resolution is not needed, it is possible to have a duty cycle ranging from 0% to 100%. Setting bit 15 of the value stored in register B to one results in the output being ‘always set’. Clearing bit 15 (to zero) allows normal comparisons to occur and the normal output waveform is obtained. Changes to and from the 100% duty cycle are done synchronously, as are all other width changes. In the OPWM mode, the WOR bit selects whether the output is totem pole driven or open-drain. 8.4 DASM interrupts When the FLAG bit is set, an interrupt request is generated on one of eight levels as defined by the interrupt level bits (IL[2:0]) in the DASMSIC register. If the interrupt level is set to zero, interrupts are disabled. MOTOROLA 8-12 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 8.5 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Freeze action on the DASM When the IMB FREEZE signal is recognized, the DASM captures and compares functions are halted. As soon as the FREEZE signal is negated, DASM actions resume as if nothing had happened. During freeze, the IN bit of the DASMSIC register is readable and returns the level present at the input pin if an input mode is selected, or the output value if an output mode is in operation. When one of the output modes is in operation, the force output function remains available, allowing the software to output the desired level and simplifying debugging. All DASM registers are accessible during freeze. 8.6 DASM registers The DASM register map comprises four 16-bit register locations. As shown in Table 8-3, the register block contains three DASM registers and one reserved register. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no meaning nor effect. All register addresses in this section are specified as offsets from the base address of the DASM. In CTM implementations featuring multiple DASMs, each DASM has its own set of registers. 8 Table 8-3 DASM register map Address (1) $00 $02 $04 $06 15 8 7 DASM status/interrupt/control register (DASMSIC) DASM register A (DASMA) DASM register B (DASMB) 0 (1) Offset from the base address of the DASM submodule. CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-13 Freescale Semiconductor, Inc. 8.6.1 DASMSIC — DASM status/interrupt/control register Bit: DASMSIC $00 (1) 15 14 13 12 11 FLAG IL2 IL1 IL0 IARB3 0 0 0 0 0 Reset: 10 0 9 8 7 WOR BSL IN 0 0 0 6 5 4 3 2 1 0 FORCA FORCB EDPOL MODE3 MODE2 MODE1 MODE0 0 0 0 0 0 0 0 (1) Offset from the base address of the DASM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. FLAG — Flag status bit This status bit indicates whether or not an input capture or output compare event has occurred. If the IL field is non-zero, an interrupt request is generated when the FLAG bit is set. 1 (set) – 0 (clear) – 8 An input capture or output compare event has occurred. An input capture or output compare event has not occurred. – In the DIS mode, the FLAG bit is cleared. – In the IPWM mode, the FLAG bit is set each time there is a capture on channel A. – In the IPM mode, the FLAG bit is set each time there is a capture on channel A, except for the first time. – In the IC mode, the FLAG bit is set each time there is a capture on channel A. – In the OCB mode (i.e. when MODE0 = 0), the FLAG bit is only set each time there is a successful comparison on channel B. In the OCAB mode (i.e. when MODE0 = 1), the FLAG bit is set each time there is a successful comparison on either channel A or B. – In the OPWM mode, the FLAG bit is set whenever there is a successful comparison on channel A. This flag bit is set only by the hardware and is cleared only by the software or by a system reset. The software can clear the FLAG bit either by writing a zero to it, having first read the bit as a one, or by selecting the DIS mode. To clear the flag, the software must first read the bit (as ‘one’) then write a ‘zero’ to the bit. Note: The flag clearing mechanism will work only if no flag setting event occurs between the read and write operations; if a FLAG setting event occurs between the read and write operations, the FLAG bit will not be cleared. MOTOROLA 8-14 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. IL[2:0] — Interrupt level bits The three interrupt level bits are read/write control bits that select the priority level of interrupt requests made by the DASM. These bits can be read or written at any time and are cleared by reset. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. IL2 0 0 0 0 1 1 1 1 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. Each module that generates interrupt requests on the IMB must have a unique value in the arbitration field (IARB). This interrupt arbitration identification number is used to arbitrate for the IMB when modules generate simultaneous interrupts of the same priority (see Section 3). The IARB3 bit is cleared by reset. WOR — Wired-OR bit In the DIS, IPWM, IPM and IC modes, the WOR bit is not used; reading this bit returns the value that was previously written. In the OCB, OCAB and OPWM modes, the WOR bit selects whether the output buffer is configured for open-drain or totem pole operation. 1 (set) – Output buffer is open-drain. 0 (clear) – Output buffer is totem pole. The WOR bit is cleared by reset. BSL — Bus select bit This control bit selects the time base bus to be connected to the DASM. 1 (set) Note: – The DASM is connected to time base bus B. 0 (clear) – The DASM is connected to time base bus A. The time base bus configurations (A and B) are specific to each CTM implementation (eg. CTM2). Please refer to the appropriate appendix for details. CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-15 8 Freescale Semiconductor, Inc. IN — Input pin status bit In the DIS, IPWM, IPM and IC modes, this read-only status bit reflects the logic level on the input pin. In the OCB, OCAB and OPWM modes, reading this bit returns the value latched on the output flip-flop, after EDPOL polarity selection. Writing to this bit has no effect. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 FORCA — Force A bit In the OCB, OCAB and OPWM modes, the FORCA bit allows the software to force the output flip-flop to behave as if a successful comparison had occurred on channel A (except that the FLAG bit is not set). Writing a one to FORCA sets the output flip-flop; writing a zero to it has no effect. In the DIS, IPWM, IPM and IC modes, the FORCA bit is not used and writing to it has no effect. FORCA is cleared by reset and always reads as zero. Note: Writing a one to both FORCA and FORCB simultaneously resets the output flip-flop. FORCB — Force B bit In the OCB, OCAB and OPWM modes, the FORCB bit allows the software to force the output flip-flop to behave as if a successful comparison had occurred on channel B (except that the FLAG bit is not set). Writing a one to FORCB resets the output flip-flop; writing a zero to it has no effect. In the DIS, IPWM, IPM and IC modes, the FORCB bit is not used and writing to it has no effect. FORCB is cleared by reset and always reads as zero. Note: Writing a one to both FORCA and FORCB simultaneously resets the output flip-flop. EDPOL — Edge polarity bit In the DIS mode, this bit is not used; reading it returns the last value written. In the IPWM mode, this bit is used to select the capture edge sensitivity of channels A and B. 1 (set) – Channel A captures on a falling edge. Channel B captures on a rising edge. 0 (clear) – Channel A captures on a rising edge. Channel B captures on a falling edge. In the IPM and IC modes, the EDPOL bit is used to select the input capture edge sensitivity of channel A. MOTOROLA 8-16 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 1 (set) – Channel A captures on a falling edge. 0 (clear) – Channel A captures on a rising edge. In the OCB, OCAB and OPWM modes, the EDPOL bit is used to select the voltage level on the output pin. 1 (set) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. – The complement of the output flip-flop logic level appears on the output pin: a compare on channel A resets the output pin; a compare on channel B sets the output pin. 0 (clear) – The output flip-flop logic level appears on the output pin: a compare on channel A sets the output pin, a compare on channel B resets the output pin. The EDPOL bit is cleared by reset. MODE[3:0] — Mode select bits The four mode select bits select the mode of operation of the DASM. To avoid spurious interrupts, it is recommended that DASM interrupts are disabled before changing the operating mode. The mode select bits are cleared by reset. DASM control register bits MOD3 MOD2 MOD1 MOD0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 CTM REFERENCE Bits of Time base resolution bits ignored — 16 16 16 16 16 — — 16 15 14 13 12 11 9 7 — — — — — — — — — 15 15, 14 15-13 15-12 15-11 15-9 15-7 DASM mode of operation DIS – Disabled IPWM – Input pulse width measurement IPM – Input period measurement IC – Input capture OCB – Output compare, flag on B compare OCAB – Output compare, flag on A and B compare OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-17 8 Freescale Semiconductor, Inc. 8.6.2 DASMA — DASM data register A Bit: 15 14 13 12 DASMA $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the DASM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 DASMA is the data register associated with channel A; its use varies with the different modes of operation: • In the DIS mode, DASMA can be accessed to prepare a value for a subsequent mode selection. • In the IPWM mode, DASMA contains the captured value corresponding to the trailing edge of the measured pulse. • In the IPM and IC modes, DASMA contains the captured value corresponding to the most recently detected dedicated edge (rising or falling edge). • In the OCB and OCAB modes, DASMA is loaded with the value corresponding to the leading edge of the pulse to be generated. Writing to DASMA in the OCB and OCAB modes also enables the corresponding channel A comparator until the next successful comparison. • In the OPWM mode, DASMA is loaded with the value corresponding to the leading edge of the PWM pulse to be generated. 8.6.3 DASMB — DASM data register B Bit: 15 14 13 12 DASMB $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the DASM submodule. DASMB is the data register associated with channel B; its use varies with the different modes of operation. Depending on the mode selected, software access is to register B1 or register B2. In the DIS mode, DASMB can be accessed to prepare a value for a subsequent mode selection. In this mode, register B1 is accessed in order to prepare a value for the OPWM mode. Unused register B2 is hidden and cannot be read, but is written with the same value when register B1 is written. In the IPWM mode, DASMB contains the captured value corresponding to the leading edge of the measured pulse. In this mode, register B2 is accessed; buffer register B1 is hidden and cannot be accessed. MOTOROLA 8-18 DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. In the IPM and IC modes, DASMB contains the captured value corresponding to the most recently detected period edge (rising or falling edge). In this mode, register B2 is accessed; buffer register B1 is hidden and cannot be accessed. In the OCB and OCAB modes, DASMB is loaded with the value corresponding to the trailing edge of the pulse to be generated. Writing to DASMB in the OCB and OCAB modes also enables the corresponding channel B comparator until the next successful comparison. In this mode, register B2 is accessed; buffer register B1 is hidden and cannot be accessed. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. In the OPWM mode, DASMB is loaded with the value corresponding to the trailing edge of the PWM pulse to be generated. In this mode, register B1 is accessed; buffer register B2 is hidden and cannot be accessed. 8 CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-19 Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 8.7 DASM examples 8.7.1 IC mode example **************************************************************************** * * DASM_IC (for CPU16 based devices) * * Demonstration of the DASM CTM sub-module operating in IC mode. * The DASM is configured to capture the first falling input edge, * then generate an interrupt. * * Timings assume 16.777MHz system clock * **************************************************************************** * Set up the bus interface unit sub-module, BIUSM ldd #$0C01 ; CTM not stopped, ignore FREEZE, std BIUMCR ; vector base =$4x, IARB2-0=4, BUS B displayed * Set up the counter prescaler module, CPSM ldd #$0008 ; Set PRUN to start prescaler and set std CPCR ; PCLK dividers to /2 /4 /8 /16 /32 and /64 * Set up the free running counter module, FCSM ldd #$0905 ; No interrupts, arb3=1, timebase B driven std fcsm25sic ; Clock using PCLK6 (/64 clock, 3.8147µs) ldd std #$0900 dasm10sic ; MODE = %0000 = DIS ; Disable DASM module before re-configuring * Ensure that CPU will respond to a level 1 interrupt andp #$FF1F ; AND CCR with $FF1F to clear interrupt mask * DASM IC mode initialization ldd #$1913 loop std bra dasm10sic loop ; ; ; ; ; MODE = %0011 EDPOL = 1 BSL = 1 IARB3 = 1 IL = %001 Select IC mode Capture -ve edge Use time base bus B Lowest priority interrupt ; Hang here (until interrupt) *********************************************************************** * * IC1 interrupt routine. * The interrupt vector for the DASM module should * contain the entry address <ic1> * *********************************************************************** ic1 bclr lde rti MOTOROLA 8-20 dasm10sic,#$80 dasm10a ; Clear DASM FLAG ; Get the edge time into e ; Return from interrupt DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 8.7.2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. IPM mode example **************************************************************************** * * DASM_IPM (for CPU16 based devices) * * Demonstration of the DASM CTM sub-module operating in IPM mode. * The DASM is configured to measure periods between input falling * edges. An interrupt is generated after each measured period. * The interrupt routine <ipm1> calculates the period result after * each interrupt. * * Timings assume 16.777MHz system clock * **************************************************************************** * Set up the bus interface unit sub-module, BIUSM ldd #$0C01 ; CTM not stopped, ignore FREEZE, std BIUMCR ; vector base =$4x, IARB2-0=4, BUS B displayed * Set up the counter prescaler module, CPSM ldd #$0008 ; Set PRUN to start prescaler and set std CPCR ; PCLK dividers to /2 /4 /8 /16 /32 and /64 * Set up the free running counter module, FCSM ldd #$0905 ; No interrupts, arb3=1, timebase B driven std fcsm25sic ; Clock using PCLK6 (/64 clock, 3.8147µs) ldd std #$0900 dasm10sic ; MODE = %0000 = DIS ; Disable DASM module before re-configuring * Ensure that CPU will respond to a level 1 interrupt andp #$FF1F ; AND CCR with $FF1F to clear interrupt mask * DASM IPM mode initialization ldd #$1912 loop std bra dasm10sic loop ; ; ; ; ; MODE = %0010 EDPOL = 1 BSL = 1 IARB3 = 1 IL = %001 Select IPM mode Measure between -ve edges Use time base bus B Lowest priority interrupt ; Hang here (until interrupt) *********************************************************************** * * IPM1 interrupt routine. * The interrupt vector for the DASM module should * contain the entry address <ipm1> * *********************************************************************** ipm1 result bclr ldd lde sde rti CTM REFERENCE dasm10sic,#$80 dasm10b dasm10a ; ; ; ; ; Clear DASM FLAG Get the period start time ..and the period end time Subtract to get the period width in e Return from interrupt DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-21 8 Freescale Semiconductor, Inc. 8.7.3 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 OCB mode example **************************************************************************** * * DASM_OCB (for CPU16 based devices) * * Demonstration of the DASM CTM sub-module operating in OCB mode. * Direct read of time-base and FLAG polling also used. * * pin A B A B.. * forced ________________ ________________ * low | | | | * xxxxx | | | | * |___________| |__________| |_.. * +----------> $200 +----------> $200 * $100* +----------------> $100 +----------------> * * The pin is initially forced low by selecting OCB mode with the EDPOL * clear. The current timebase value is then read from BIUTBR. The rising * edge (A) is scheduled $100 counts from this value, and the falling * edge is scheduled $200 counts after the rising edge. * The pulse train is maintained continuously by polling the DASM FLAG * bit. When it has been by a B compare another two compares are * scheduled. * * * The time between forcing the pin low and the first rising edge is * slightly less than $100 counts. This is because of the software delay * between forcing the the pin low (by selecting OCB mode in DASMSIC) and * reading BIUTBR. * * Timings assume 16.777MHz system clock * **************************************************************************** * Set up the bus interface unit sub-module, BIUSM ldd #$0C01 ; CTM not stopped, ignore FREEZE, std BIUMCR ; vector base =$4x, IARB2-0=4, BUS B displayed * Set up the counter prescaler module, CPSM ldd #$0008 ; Set PRUN to start prescaler and set std CPCR ; PCLK dividers to /2 /4 /8 /16 /32 and /64 * Set up the free running counter module, FCSM ldd #$0905 ; No interrupts, arb3=1, timebase B driven std fcsm25sic ; Clock using PCLK6 (/64 clock, 3.8147µs) * DASM OCB mode initialization ldd #$0900 std dasm10sic ldd #$0904 std bset dasm10sic BIUMCR+1,#1 MOTOROLA 8-22 ; MODE = %0000 = DIS ; Disable DASM module before re-configuring ; ; ; ; ; ; ; MODE = %0100 EDPOL = 0 FORCA,B = 0 BSL = 1 WOR = 0 IARB3 = 1 IL = %000 Select OCB mode Generate positive pulse Don't force pin now Use time base bus B Totem pole output Interrupts disabled ; Allow timebase bus 2 to be read DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. ldd addd std addd std loop Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. BIUTBR #$100 dasm10a #$200 dasm10b ; Read current timer count ; Set rising edge $100 counts later ; Set falling edge $200 after rising edge brclr dasm10sic,#$80,loop; Wait for DASM FLAG to be set... bclr ldd addd std addd std bra dasm10sic,#$80 dasm10b #$100 dasm10a #$200 dasm10b loop ; then clear ; Get previous falling edge time ; Set rising edge $100 counts later ; Set falling edge $200 after rising edge ; ..and wait for FLAG again 8 CTM REFERENCE DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 8-23 Freescale Semiconductor, Inc. 8.7.4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 8 PWM mode example **************************************************************************** * * DASM_PWM (for CPU16 based devices) * * Demonstration of the DASM CTM sub-module operating in 7-bit PWM mode. * Data shown for generating PWM duty cycles from 0% to 100% * * Timings assume 16.777MHz system clock * **************************************************************************** * Set up the bus interface unit sub-module, BIUSM ldd #$0C01 ; CTM not stopped, ignore FREEZE, std BIUMCR ; vector base =$4x, IARB2-0=4, BUS B displayed * Set up the counter prescaler module, CPSM ldd #$0008 ; Set PRUN to start prescaler and set std CPCR ; PCLK dividers to /2 /4 /8 /16 /32 and /64 * Set up the free running counter module, FCSM ldd #$0905 ; No interrupts, arb3=1, timebase B driven std fcsm25sic ; Clock using PCLK6 (/64 clock, 3.8147µs) * DASM PWM mode initialization ldd #$0900 std dasm10sic * * * * * ldd #$090F std ldd std dasm10sic #$0000 dasm10a ldd #$0040 ldd ldd ldd ldd std #$0000 #$0001 #$007F #$8000 dasm10b MOTOROLA 8-24 ; MODE = %0000 = DIS ; Disable DASM module before re-configuring ; ; ; ; ; ; ; MODE = %1111 EDPOL = 0 FORCA,B = 0 BSL = 1 WOR = 0 IARB3 = 1 IL = %000 Select 7-bit OPWM mode Generate positive pulse Don't force pin now Use time base bus B Totem pole output Interrupts disabled ; A edge at $0000 ; ; ; ; ; ; B edge at $0040, 64/128 = 50% duty cycle Other example PWM values: B edge at $0000, 0/128 = 0% duty cycle B edge at $0001, 1/128 = 0.78% duty cycle B edge at $007F, 127/128 = 99.2% duty cycle Special case, bit 15 set = 1002% duty cycle DOUBLE ACTION SUBMODULE (DASM) For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 9 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. PULSE WIDTH MODULATION SUBMODULE (PWMSM) The PWMSM is one of a family of submodules designed specifically for use in CTM systems in Motorola’s M68300 and M68HC16 family microcontrollers. 9.1 PWMSM features • Output pulse width modulated (PWM) signal generation with no software involvement • Pulse width value provided by software: • – double-buffered for glitch-free pulse width changes – 2-cycle minimum pulse width (e.g. 119 ns, for a 16.78 MHz MCU clock) – Up to 16-bit resolution on pulse width 9 PWM period value provided by software: – double-buffered for glitch-free period changes – wide range of periods (e.g. 238 ns to 3 seconds, for a 16.67 MHz MCU clock) • Maximum 50% duty cycle output frequency of 4.19 MHz (for a 16.78 MHz MCU clock) • 0% and 100% duty cycles selected by software • Optional interrupt after each pulse • Output pulse polarity selected by software • Output pin status can be read by software • Output pins may be used as standard output port pins when PWM is not required CTM REFERENCE PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 9-1 Freescale Semiconductor, Inc. 9.2 PWMSM description The PWMSM allows pulse width modulated signals to be generated over a wide range of frequencies, independently of other CTM output signals. The output pulse width can vary from 0% to 100%, with 16 bits of resolution. The minimum pulse width is twice the minimum MCU system clock period (i.e., the minimum pulse width is 119 ns when using a 16.78 MHz clock). The PWMSM is composed of: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 9 – an output flip-flop with output polarity control, – clock prescaler and selection logic, – a 16-bit up-counter, – two registers to hold the current and next pulse width values, – two registers to hold the current and next pulse period values, – a pulse width comparator, – a system state sequencer, – logic to create 0% and 100% pulses, – interrupt logic, – a status, interrupt and control register, – and a submodule bus interface section. The PWMSM includes its own time base counter and does not use the CTM time base buses, however the PWMSM does use the prescaled clock signal PCLK1 generated in the CPSM (see Section 4). A block diagram of the PWMSM is shown in Figure 9-1. 9.2.1 Output flip-flop and pin The output flip-flop is the basic output mechanism of the PWMSM. Except when the required pulse width is 0% or 100%, the output flip-flop is set at the beginning of each period and is cleared at the end of the designated pulse width. The polarity of the output pulse can be selected in software. The output of the PWMSM is connected to an external, output-only pin. When the PWMSM is not required, and is disabled by clearing the EN bit in the PWMSIC register, this pin serves as a digital output-only port pin. When the PWMSM is disabled, the POL bit in the SIC register serves as an output port bit. 9.2.2 Clock selection The PWMSM contains an 8-bit prescaler that is clocked by the PCLK1 signal from the CPSM (i.e. the MCU system clock divided by 2 or by 3). A 3-bit field (CLK[2:0]) in the PWMSM status, interrupt and control register (PWMSIC) allows the software to select which of the 8 prescaler outputs drives the PWMSM counter. The prescaler outputs are the main MCU clock divided by: 2, 4, 8, 16, 32, MOTOROLA 9-2 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. / 256 prescaler (Ncount) PCLK1 Enable LOAD Set Clock select EN POL Output flip-flop Output buffer Clear PIN Output pin Clear CLK2 CLK1 CLK0 16-bit up counter PWMC Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Match 16-bit comparator Match State sequencer 16-bit comparator All zeros Zero detect Load Period register PWMA2 Pulse width register PWMB2 PWMA PWMB Interrupt control Next period register PWMA1 FLAG IL2 Next pulse width register PWMB1 IL1 IL0 IARB3 Control register bits 9 Submodule bus Figure 9-1 Pulse width modulation submodule block diagram 64, 128 and 512 (or 3, 6, 12, 24, 48, 96, 192 and 768, if the divide-by-3 option is used in the CPSM to generate PCLK1). 9.2.3 The PWMSM counter (PWMC) The 16-bit up-counter in the PWMSM provides the time base for the PWM output signal. The counter is held in the $0001 state on reset or when the PWMSM is disabled. When the PWMSM is enabled, the counter begins counting at the rate defined by the clock selection. Each time the counter matches the contents of the period register, the counter is preset to $0001 and starts to count from that value. The counter can be read at any time without affecting its value. Writing to the counter has no effect. CTM REFERENCE PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 9-3 Freescale Semiconductor, Inc. 9.2.4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 9 PWMSM period registers and comparator The period section of the PWMSM consists of two 16-bit period registers (PWMA1 and PWMA2) and one 16-bit comparator. PWMA2 holds the current PWM period value and PWMA1 holds the next PWM period value. The software establishes the next period of the output PWM signal by writing a value into PWMA1. PWMA2 acts as a double buffer of PWMA1, allowing the contents of PWMA1 to be changed at any time without affecting the current period of the output signal; it cannot be accessed directly by the software. PWMA1 can be read or written at any time. The new value in the PWMA1 register is transferred to PWMA2 on the next full cycle of the output or when a ‘1’ is written to the LOAD bit in the PWMSIC register. The comparator continuously compares the contents of the PWMA2 register with the value in the PWMSM counter. When a match occurs, the state sequencer sets the output flip-flop and resets the counter to $0001. Period values $0000 and $0001 are special cases. When PWMA2 contains $0000, an output period of 65536 PWM clock periods is generated. When PWMA2 contains $0001, a period match occurs on every PWM clock period: the counter never increments beyond $0001 and the output level never changes. Note: A value of $0002 in the period register and a value of $0001 in the pulse register are the conditions necessary to obtain the maximum possible output frequency for a given PWM clock period. 9.2.5 PWMSM pulse width registers and comparator The pulse width section of the PWMSM consists of two 16-bit pulse width registers (PWMB1 and PWMB2) and one 16-bit comparator. PWMB2 holds the current PWM pulse width value and PWMB1 holds the next PWM pulse width value. The software establishes the next pulse width of the output PWM signal by writing a value into PWMB1. Software may write a new pulse width value into PWMB1 at any time and this new value will take effect at the start of the next PWM period (or when the LOAD bit in the PWMSIC register is written to a ‘1’). The PWMSM hardware does not modify the contents of PWMB1 at any time. PWMB2 acts as a double buffer of PWMB1, allowing the contents of PWMB1 to be changed at any time without affecting the current pulse width of the output signal; it cannot be accessed directly by the software. PWMB1 can be read or written at any time. The new value in the PWMB1 register is transferred to PWMB2 on the next full cycle of the output or when a ‘1’ is written to the LOAD bit in the PWM SIC register. The pulse width comparator is a 16-bit ‘ones-equality’ comparator that compares the contents of the PWMB2 register with the 16-bit PWM counter. When the counter reaches the value in PWMB2, a match occurs and the output flip-flop is cleared. This pulse width match completes the pulse width; it does not affect the counter. Since a ‘ones-equality’ comparator is used, subsequent MOTOROLA 9-4 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. comparisons can occur, but will have no effect on the output signal as the output flip-flop has already been cleared. The PWM output pulse may be as short as one PWM clock period (PWMB2 = $0001). It may be as long as one PWM clock period less than the PWM period; for example, the pulse width equal to 65535 PWM clock periods can be obtained by setting PWMB2 = $FFFF and PWMA2 = $0000. 9.2.5.1 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 0% and 100% ‘pulses’ The 0% and 100% ‘pulses’ are special limiting cases (zero width and infinite width) that are defined by the ‘always clear’ and ‘always set’ states of the output flip-flop. The 0% pulse is generated by making the pulse width value in PWMB2 equal to $0000. The output is a true steady state signal with no glitches. The 100% pulse is created by making the pulse width value in PWMB2 equal to or greater than the period value in PWMA2. The output is a true steady state signal with no glitches. Note: It is not possible to have a 100% duty cycle when the output period is selected to be 65536 PWM clock periods (by setting PWMB2 = $0000); in this case the maximum duty cycle is 99.998% (100 x 65535/65536). When using the PWM output signal to generate analog levels, the 0% and 100% pulses provide the full scale values. Note: Even when 0% or 100% pulses are being generated, the 16-bit PWM counter continues to count and output changes to or from these limit values are done synchronously with the selected period. 9.2.6 PWMSM coherency Byte access of registers is discussed in Section 1.3.1, however, it should be noted that byte writes to the double buffered registers PWMA1 and PWMB1 are not recommended as the transfer from the primary registers to the secondary registers is done on a word basis. For most PWMSM operations, 16-bit accesses are sufficient and long word accesses are treated as two word accesses, with one exception — a long word write to the period/pulse width registers. In this case, if the long word write is done within the PWM period, there is no visible effect on the output signal and the new values are stored in PWMA1 and PWMB1 ready to be loaded into the buffer registers at the start of the next period. If, however, the long word write coincides with the end of the period, then the transfer of values from the primary registers to the secondary registers is suppressed until the end of the next PWM period; during this period, the current values in the secondary registers are used for the period and the pulse width. CTM REFERENCE PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 9-5 9 Freescale Semiconductor, Inc. 9.2.7 PWMSM interrupts The FLAG bit in the PWMSIC register is set when a new period begins and indicates that the period and pulse width registers (PWMA1 and PWMB1) may be updated with values for the next output period and pulse width. When the FLAG bit is set, an interrupt request is generated on one of eight levels as defined by the interrupt level bits (IL[2:0]) in the PWMSIC register. If the interrupt level is set to zero, interrupts are disabled. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 9 9.2.8 Freeze action on the PWMSM When the IMB FREEZE signal is recognized, the PWMSM counter stops incrementing and remains set at its last value. When the FREEZE signal is negated, the counter starts incrementing from its last value, as if nothing had happened. 9.3 PWM frequency, pulse width and resolution Table 9-1 and Table 9-2 shows the pulse widths and frequencies that can be achieved using the /2 and /3 options and a clock frequency of 16.78 MHz. Table 9-1 PWM pulse and frequency ranges (in Hz) using /2 option (16.78 MHz) Bits of resolution Minimum pulse width 9 8 7 6 0.119µs /2 128 256 512 1024 2048 4096 8192 16384 32768 65.5k 131k 0.238µs /4 64 128 256 512 1024 2048 4096 8192 16384 32768 0.477µs /8 32 64 128 256 512 1024 2048 4096 8192 16384 0.954µs /16 16 32 64 128 256 512 1024 2048 4096 8192 1.91µs /32 8.0 16 32 64 128 256 512 1024 2048 3.81µs /64 4.0 8.0 16 32 64 128 256 512 7.63µs /128 2.0 4.0 8.0 16 32 64 128 30.5µs /512 0.5 1.0 2.0 4.0 8.0 16 32 MOTOROLA 9-6 16 15 14 13 12 11 10 5 4 262k 524k 1049k 2097k 4195kk 65.5k 131k 262k 524k 1049k 2097k 32768 65.5k 131k 262k 524k 1049k 16384 32768 65.5k 131k 262k 524k 4096 8192 16384 32768 65.5k 131k 262k 1024 2048 4096 8192 16384 32768 65.5k 131k 256 512 1024 2048 4096 8192 16384 32768 65.5k 64 128 256 512 1024 2048 4096 8192 16384 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com 3 2 1 CTM REFERENCE Freescale Semiconductor, Inc. Table 9-2 PWM pulse and frequency ranges (in Hz) using /3 option (16.78 MHz) Bits of resolution Minimum pulse width 15 14 13 12 11 10 9 8 /3 85.33 170.7 341.3 682.7 1365 2731 5461 10923 21845 43.69k 87.38k 174.8k 349.5k 699.1k 0.358µs /6 42.67 85.33 170.7 341.3 682.7 1365 2731 5461 10923 0.715µs /12 21.33 42.67 85.33 170.7 341.3 682.7 1365 2731 5461 1.431µs /24 10.67 21.33 42.67 85.33 170.7 341.3 682.7 1365 2.861µs /48 5.333 10.67 21.33 42.67 85.33 170.7 341.3 682.7 5.722µs /96 2.667 5.333 10.67 21.33 42.67 85.33 170.7 11.44µs /192 1.333 2.667 5.333 10.67 21.33 42.67 45.78µs /768 0.333 0.667 1.333 2.667 5.333 10.67 0.179µs Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 16 9.3.1 7 6 5 4 3 2 1 1398k 2796k 21845 43.69k 87.38k 174.8k 349.5k 699.1k 1398k 10923 21845 43.69k 87.38k 174.8k 349.5k 699.1k 2731 5461 10923 21845 43.69k 87.38k 174.8k 349.5k 1365 2731 5461 10923 21845 43.69k 87.38k 174.8k 341.3 682.7 1365 2731 5461 10923 21845 43.69k 87.38k 85.33 170.7 341.3 682.7 1365 2731 5461 10923 21845 43.69k 21.33 42.67 85.33 170.7 341.3 682.7 1365 2731 5461 10923 PWM frequency The relationship between the PWM output frequency (fPWMO) and the MCU system clock frequency (fSYS) is given by Equation 1. f SYS f PWMO = ---------------------------------------------------N CLOCK • N COUNTER [1] where NCLOCK is the CPSM clock divide ratio (2 or 3) and NCOUNTER is the PWMSM counter divide ratio. 9.3.2 9 PWM pulse width The minimum output pulse width (tPWMIN) and the MCU system clock frequency (fSYS) is given by Equation 2. N CLOCK t PWMIN = ------------------f SYS CTM REFERENCE PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com [2] MOTOROLA 9-7 Freescale Semiconductor, Inc. 9.3.3 PWM period and pulse width register values The value to be loaded into the PWM period register (PWMA1) to obtain a given period is given by Equation 3. f SYS PWMA1 = ------------------------------------------N CLOCK • f PWMO Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. [3] The value to be loaded into the PWM pulse width register (PWMB1) to obtain a given period is given by Equation 4. t PWMO Duty cycle % PWMB1 = ----------------= -------------------------------- ⋅ PWMA1 100 t PWMIN [4] where t(PWMO) is the actual output pulse width. 9 MOTOROLA 9-8 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 9.4 PWMSM register map and registers The PWMSM register map comprises four 16-bit registers as shown in Table 9-3. All unused bits and reserved address locations return zero when read by the software. Writing to unused bits and reserved address locations has no meaning nor effect. All register addresses in this section are specified as offsets from the base address of the PWMSM. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Table 9-3 PWMSM register map Address (1) $00 $02 $04 $06 15 8 7 Status, interrupt and control register (PWMSIC) PWM period register(PWMA) PWM pulse width register (PWMB) PWM counter register (PWMC) 0 (1) Offset from the base address of the PWMSM submodule. 9.4.1 PWMSIC — Status, interrupt and control register The PWMSIC register contains status, interrupt enable and control bits for the PWMSM. It also contains interrupt level and arbitration bits. Bit: PWMSIC $00 (1) 15 14 13 12 11 FLAG IL2 IL1 IL0 IARB3 0 0 0 0 0 Reset: 10 9 8 7 6 PIN 0 0 0 0 0 5 4 3 2 1 LOAD POL EN CLK2 CLK1 0 0 0 0 0 0 CLK0 0 (1) Offset from the base address of the PWMSM submodule. FLAG — Period completion status bit The FLAG bit is a status bit that indicates when the PWM output period has been completed. 1 (set) – 0 (clear) – PWM period completed. PWM period not completed. The FLAG bit is set by the hardware each time a PWM period is completed. Whenever the PWM is enabled, the FLAG bit is set immediately to indicate that the contents of the buffer registers PWMA2 and PWMB2 have been updated, and that the period using these new values has started. It also indicates that the user accessible period and pulse width registers PWMA1 and PWMB1 can be loaded with values for the next PWM period. Once set, the FLAG bit will remain set and will not be affected by any subsequent period completions, until it is cleared by the software. CTM REFERENCE PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 9-9 9 Freescale Semiconductor, Inc. The FLAG bit can only be cleared by software. To clear the flag, the software must first read the bit (as ‘one’) then write a ‘zero’ to the bit. Writing a one to the FLAG bit has no effect. When the PWM is disabled the FLAG bit remains in the cleared state. Note: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. The flag clearing mechanism will work only if no flag setting event occurs between the read and write operations; if a FLAG setting event occurs between the read and write operations, the FLAG bit will not be cleared. When the interrupt level set by the interrupt level bit IL[2:0] is not equal to zero, an interrupt request is generated when the FLAG bit is set. Before returning from the interrupt service routine, the FLAG bit should be cleared by software to prevent the PWMSM from immediately generating another interrupt request on the IMB. IL[2:0] — Interrupt level bits The three interrupt level bits select the interrupt level of requests made by the PWMSM. IL2 0 0 0 0 1 1 1 1 9 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. Each module that generates interrupt requests on the IMB must have a unique value in the arbitration field (IARB). This interrupt arbitration identification number is used to arbitrate for the IMB when modules generate simultaneous interrupts of the same priority (see Section 3). The IARB3 bit is cleared by reset. PIN — Output pin status bit The PIN bit is a status bit that indicates the logic state present on the output pin. 1 (set) – Logic one state present on the output pin. 0 (clear) – Logic zero state present on the output pin. The software can thus monitor the waveform being created on the output pin. PIN is a read-only bit; writing to it has no effect. MOTOROLA 9-10 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. LOAD — Period and pulse width register load control bit The LOAD bit is a control bit that allows the software to reinitialize the PWMSM and start a new PWM period without causing a glitch on the PWM output signal. 1 (set) – 0 (clear) – Load period and pulse width registers. No action. This bit is always read as a zero. Writing a one to this bit results in the following immediate actions: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Note: – the contents of PWMA1 (period value) are transferred to PWMA2, – the contents of PWMB1 (pulse width value) are transferred to PWMB2, – the counter register (PWMC) is initialized to $0001, – the control logic and state sequencer are reset, – the FLAG bit is set, and – the output flip-flop is set if the new value in PWMB2 is different from $0000. Writing a one to the LOAD bit when the EN bit = 0, i.e. when the PWMSM is disabled, has no effect. POL — Output pin polarity control bit The POL bit is a control bit that allows the software to set the polarity of the PWM output signal. It works in conjunction with the EN bit and controls whether the PWMSM drives the output pin with the true or inverted value of the output flip-flop (see Table 9-4). 9 Table 9-4 PWMSM output pin polarity selection Control bits POL EN 0 0 1 0 0 1 1 1 CTM REFERENCE Output pin state Periodic edge Variable edge Optional interrupt on Always low Always high High pulse Low pulse — — Rising edge Falling edge — — Falling edge Rising edge — — Rising edge Falling edge PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 9-11 Freescale Semiconductor, Inc. EN — PWMSM enable control bit The EN bit is a control bit that allows the software to enable and disable the PWMSM as required. 1 (set) – Enable the PWMSM and start generation of PWM output pulses. 0 (clear) – Disable the PWMSM and stop generation of PWM output pulses. While the PWMSM is disabled (EN = 0): Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 9 – the output flip-flop is held reset and the level on the output pin is set to one or zero according to the state of the POL bit, – the PWMSM’s divide-by-256 prescaler is held in reset, – the counter stops incrementing and is held equal to $0001, – the comparators are disabled, – and the PWMA1 and PWMB1 registers permanently transfer their contents to the buffer registers (PWMA2 and PWMB2, respectively). When the EN bit is changed from zero to one: – the output flip-flop is set to start the first pulse, – the PWMSM’s divide-by-256 prescaler is released, – the counter is released and starts to increment from $0001, – and the FLAG bit is set (to indicate that PWMA1 and PWMB1 can be updated with new values of period and pulse width. While EN is set, the PWMSM generates continuously a pulse width modulated output signal based on the data in PWMA2 and PWMB2 (which are updated via PWMA1 and PWMB2 each time a period is completed). Note: To prevent unwanted glitches on the output waveform when disabling the PWMSM, the EN bit should not be cleared by the software until one period has been output as a 0% pulse (PWMB2 = $0000). CLK[2:0] — Clock rate selection bits The CLK bits are control bits that allow the software to select one of the eight counter clock sources coming from the PWMSM prescaler. These bits can be changed by the software at any time. Table 9-5 shows the counter clock sources and rates in detail. 9.4.2 PWMA — PWM period register The PWMA register contains the period value for the next cycle of the PWM output waveform. In normal usage, with the PWMSM enabled, the software writes a period value into PWMA1 and this value is then loaded into the PWMA2 register at the end of the current period. If the PWMSM is MOTOROLA 9-12 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Table 9-5 PWMSM clock rate selection Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. PWMSM CLK bits CLK2 CLK1 CLK0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 CPSM bit DIV23 PWMSM clock 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 f SYS / 2 f SYS / 4 f SYS / 8 f SYS / 16 f SYS / 32 f SYS / 64 f SYS / 128 f SYS / 512 f SYS / 3 f SYS / 6 f SYS / 12 f SYS / 24 f SYS / 48 f SYS / 96 f SYS / 192 f SYS / 768 Clock source PCLK1 Prescaler (/2) Prescaler (/4) Prescaler (/8) Prescaler (/16) Prescaler (/32) Prescaler (/64) Prescaler (/256) PCLK1 Prescaler (/2) Prescaler (/4) Prescaler (/8) Prescaler (/16) Prescaler (/32) Prescaler (/64) Prescaler (/256) disabled, a period value written to PWMA1 is loaded into PWMA2 on the next tic (of the MCU system clock). PWMA2 is a temporary register that is used for smoothly updating the PWM period value; it cannot be read or written directly by software. Software may write a new period value into PWMA1 at any time and this new value will take effect at the start of the next PWM period (or when the LOAD bit in the PWMSIC register is written to a ‘1’). The PWMSM hardware does not modify the contents of PWMA1 at any time. Bit: 15 14 13 12 PWMA $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the PWMSM submodule. 9.4.3 PWMB — PWM pulse width register The PWMB register contains the pulse width value for the next cycle of the PWM output waveform. In normal usage, with the PWMSM enabled, the software writes a pulse width value into PWMB1 and this value is then loaded into the PWMB2 register at the end of the current period. If the PWMSM is disabled, a pulse width value written to PWMB1 is loaded into PWMB2 on the next tic (of the MCU system clock). PWMB2 is a temporary register that is used for smoothly updating the PWM pulse width value; it cannot be read or written directly by software. CTM REFERENCE PULSE WIDTH MODULATION SUBMODULE For More Information On This Product, (PWMSM) Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 9-13 9 Freescale Semiconductor, Inc. Software may write a new pulse width value into PWMB at any time and this new value will take effect at the start of the next PWM period (or when the LOAD bit in the PWMSIC register is written to a ‘1’). The PWMSM hardware does not modify the contents of PWMB1 at any time. Bit: 15 14 13 12 PWMB $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the PWMSM submodule. 9.4.4 PWMC — PWM counter register The counter (register PWMC) is read-only: software may read the counter register at any time; writing to it has no effect. PWMC is loaded with the value $0001 on reset and is set to that value and held whenever the PWMSM is disabled (EN = 0). Bit: 15 14 13 12 PWMC $06 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 1 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the PWMSM submodule. 9 MOTOROLA 9-14 PULSE WIDTH MODULATION SUBMODULE For More Information (PWMSM) On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 10 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. ELECTRICAL SPECIFICATIONS 10.1 FCSM and MCSM timing information Table 10-1 FCSM timing characteristics (VDD = 5.0Vdc ± 10%, Vss = 0Vdc, TA = TL to TH ) Characteristic System operating frequency Input pin frequency(1) Input pin low time(1) Input pin high time(1) Clock pin to counter increment Clock pin to new TBB value Clock pin to COF set ($FFFF) Pin to IN bit delay Flag to IMB interrupt request Counter resolution(2) Symbol f CLK fPCNTR tPINL tPINH tPINC tPTBB tPCOF tPINB tFIRQ tCRES Min 0 0 2.0/fCLK 2.0/fCLK 4.5/fCLK 5.0/fCLK 4.5/fCLK 1.5/fCLK 1.0/fCLK — Max 16.67 fCLK /4 — — 6.5/fCLK 7.0/fCLK 6.5/fCLK 2.5/fCLK 1.0/fCLK 2.0/f CLK Unit MHz MHz µs µs µs µs µs µs µs µs 10 (1) Value applies when using external clock. (2) Value applies when using internal clock. Minimum counter resolution depends on prescaler divide ratio selection. CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-1 Freescale Semiconductor, Inc. Table 10-2 MCSM timing characteristics (VDD = 5.0Vdc ± 10%, Vss = 0Vdc, TA = TL to TH ) Characteristic System operating frequency Input pin frequency(1) Input pin low time(1) Input pin high time(1) Clock pin to counter increment Clock pin to new TBB value Clock pin to COF set ($FFFF) Load pin to new counter value Pin to IN bit delay Flag to IMB interrupt request Counter resolution(2) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Symbol f CLK fPCNTR tPINL tPINH tPINC tPTBB tPCOF tPLOAD tPINB tFIRQ tCRES Min 0 0 2.0/fCLK 2.0/fCLK 4.5/fCLK 5.0/fCLK 4.5/fCLK 2.5/fCLK 1.5/fCLK 1.0/fCLK — Max 16.67 fCLK /4 — — 6.5/fCLK 7.0/fCLK 6.5/fCLK 3.5/fCLK 2.5/fCLK 1.0/fCLK 2.0/f CLK Unit MHz MHz µs µs µs µs µs µs µs µs µs (1) Value applies when using external clock. (2) Value applies when using internal clock. Minimum counter resolution depends on prescaler divide ratio selection. 10 MOTOROLA 10-2 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Not writing to counter register: Clock Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Counter register $1025 $1026 $1027 $1028 Time base bus $1025 $1026 $1027 $1028 $5001 $5002 $5001 $5002 Writing to counter register: Clock Counter register $1025 Time base bus $1025 $1026 $5000 $1026 write $5000 to counter register here Clock Counter register $1025 $5000 $5001 $5002 Time base bus $1025 $5000 $5001 $5002 write $5000 to counter register here Figure 10-1 FCSM and MCSM time base timing diagram example CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-3 10 Freescale Semiconductor, Inc. tPTBB tPCOF tPINC Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Clock Clock pin Counter register TBBx COF bit Figure 10-2 FCSM and MCSM clock pin to counter timing diagram 10 tPLOAD Clock Load pin Counter register Figure 10-3 MCSM load pin to counter timing diagram MOTOROLA 10-4 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. tPINB Clock Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Input pin IN bit Figure 10-4 FCSM and MCSM pin to IN bit timing diagram tFIRQ Clock 10 COF bit SMB IRQx IMB IRQx Figure 10-5 FCSM and MCSM COF bit to interrupt request timing diagram CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-5 Freescale Semiconductor, Inc. 10.2 SASM timing information Table 10-3 SASM timing characteristics (VDD = 5.0Vdc ± 10%, Vss = 0Vdc, TA = TL to TH ) Characteristic System operating frequency Input capture mode: Input pin low time Input pin high time Input capture resolution(1) Pin to input capture delay Pin to FLAG set Pin to IN bit delay Output compare mode: OCT output pulse Compare resolution (1) TBB change to FLAG set TBB change to pin change (2) Flag to IMB interrupt request2 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Symbol f CLK Min 0 Max 16.67 Unit MHz tPINL tPINH 2.0/fCLK 2.0/fCLK — 2.5/fCLK 2.5/fCLK 1.5/fCLK — — 2.0/f CLK 4.5/fCLK 4.5/fCLK 2.5/fCLK µs µs µs µs µs µs 2.0/fCLK — 2.0/fCLK 1.5/fCLK 1.5/fCLK 1.0/fCLK µs µs µs µs µs tRESCA tPCAPT tPFLAG tPINB t OCT tRESCM t CFLAG tCPIN tFIRQ 1.5/fCLK 1.5/fCLK 1.0/fCLK (1) Minimum resolution depends on counter and prescaler divide ratio selection (2) Time given from when new value is stable on time base bus 10 MOTOROLA 10-6 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. tPFLAG tPCAPT Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Clock Input pin Capture register FLAG bit Figure 10-6 SASM input capture timing diagram tPINB 10 Clock Input pin IN bit Figure 10-7 SASM pin to IN bit timing diagram CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-7 Freescale Semiconductor, Inc. tCPIN tCFLAG Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 10 Clock Input pin FLAG bit Output pin Figure 10-8 SASM output compare timing diagram tFIRQ Clock FLAG bit SMB IRQx IMB IRQx Figure 10-9 SASM FLAG bit to interrupt request timing diagram MOTOROLA 10-8 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. 10.3 DASM timing information Table 10-4 DASM timing characteristics (VDD = 5.0Vdc ± 10%, Vss = 0Vdc, TA = TL to TH ) Min Characteristic Symbol Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. System operating frequency Input modes: (IPLM, IPM, IC): Input pin low time Input pin high time Input capture resolution(1) Pin to input capture delay Pin to FLAG set Pin to IN bit delay Output modes: (OC, OPWM): OCT output pulse Compare resolution (1) TBB change to FLAG set TBB change to pin change (2) Flag to IMB interrupt request(2) Max Unit f CLK — 16.67 MHz tPINL tPINH tRESCA tPCAPT tPFLAG tPINB 2.0/fCLK 2.0/fCLK — 2.5/fCLK 2.5/fCLK 1.5/fCLK — — 2.0/f CLK 4.5/fCLK 4.5/fCLK 2.5fCLK µs µs µs µs µs µs t OCT tRESCM t CFLAG tCPIN tFIRQ 2.0/fCLK — 1.5/fCLK 1.5/fCLK 1.0/fCLK — 2.0/f CLK 1.5/fCLK 1.5/fCLK 1.0/fCLK µs µs µs µs µs (1) Minimum resolution depends on counter and prescaler divide ratio selection. (2) Time given from when new value is stable on time base bus. 10 CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-9 Freescale Semiconductor, Inc. tPFLAG tPCAPT Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 10 Clock Input pin Capture register FLAG bit Figure 10-10 DASM input capture timing diagram tPINB Clock Input pin IN bit Figure 10-11 DASM pin to IN bit timing diagram MOTOROLA 10-10 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. tCPIN tCFLAG Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Clock Input pin FLAG bit Output pin Figure 10-12 DASM output compare timing diagram TFIRQ 10 Clock FLAG bit SMB IRQx IMB IRQx Figure 10-13 DASM FLAG bit to interrupt request timing diagram CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-11 Freescale Semiconductor, Inc. 10.4 PWMSM timing information Table 10-5 PWMSM timing characteristics (VDD = 5.0Vdc ± 10%, Vss = 0Vdc, TA = TL to TH ) Characteristic System operating frequency PWMSM output resolution (1) PWMSM output pulse (2) CPSM enable to output set Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. PWM enable to output set FLAG to IMB interrupt request Symbol f CLK tPWMR tPWMO t PWMP (3) tPWMP (4) t PWME (5) tPWME (6) tFIRQ Min Max 0 16.67 — 2.0/f CLK 2.0/fCLK — 3.5/fCLK 6.5/fCLK 3.5/fCLK 4.5/fCLK 5.5/fCLK 6.5/fCLK 1.0/fCLK Unit MHz µs µs µs µs µs µs µs (1) Minimum output resolution depends on counter and prescaler divide ratio selection. (2) Excluding the case where the output is always zero. (3) With PWMSM enabled before enabling CPSM and DIV23 = 0. (4) With PWMSM enabled before enabling CPSM and DIV23 = 1. (5) With CPSM enabled before enabling PWMSM and DIV23 = 0. (6) With CPSM enabled before enabling PWMSM and DIV23 = 1. 10 MOTOROLA 10-12 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. tPW MIN Clock Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Output pin Figure 10-14 PWMSM minimum output pulse example timing diagram tPWMP Clock 10 CPSM enable bit Output pin Figure 10-15 PWMSM CPSM enable to PWM output set timing diagram CTM REFERENCE ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA 10-13 Freescale Semiconductor, Inc. tPWME Clock Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 10 PWMSM enable bit Output pin Figure 10-16 PWMSM enable to output set timing diagram tFIRQ Clock FLAG bit SMB IRQx IMB IRQx Figure 10-17 PWMSM FLAG bit to interrupt request timing diagram MOTOROLA 10-14 ELECTRICAL SPECIFICATIONS For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. REGISTER AND BIT SUMMARY A.1 BIUSM registers and bits A.1.1 BIUMCR — BIUSM module configuration register Bit: BIUMCR $00 (1) 15 14 13 STOP FRZ Reset: 0 0 12 11 10 9 8 7 6 VECT7 VECT6 IARB2 IARB1 IARB0 0 1 1 0 0 0 5 4 3 2 1 TBRS1 0 0 0 0 TBRS0 0 0 0 0 0 (1) Offset from the base address of the CTM. A.1.1.1 1 (set) STOP — Stop enable – 0 (clear) – A.1.1.2 1 (set) Allows operation of the CTM. FRZ — Freeze enable – 0 (clear) – CTM REFERENCE Stops operation of the CTM. Halts the CTM sub module when the FREEZE signal appears on the IMB. Ignores the FREEZE signal on the IMB. REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-1 A Freescale Semiconductor, Inc. A.1.1.3 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. VECT7, VECT6 — Interrupt vector base number bits A.1.1.4 VECT7 VECT6 0 0 1 1 0 1 0 1 Resulting vector base number $00 $40 $80 $C0 IARB[2:0] — Interrupt arbitration identification bits The interrupt arbitration bit field (IARB), composed of IARB[2:0] in the BIUMCR and the IARB3 bit within each submodule, provides fifteen different arbitration identification numbers that can be used to arbitrate between interrupt requests occurring on the IMB with the same interrupt priority level. A.1.1.5 TBRS1, TBRS0 — Time base register bus select bits TBRS1 TBRS0 0 0 0 1 1 0 1 1 A.1.2 Time base bus TBB1 TBB2 TBB3 TBB4 BIUTEST — BIUSM test configuration register Reserved for factory testing of the CTM. A A.1.3 BIUTBR — BIUSM time base register Bit: 15 14 13 12 BIUTBR $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the CTM. MOTOROLA A-2 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.2 CPSM registers and bits A.2.1 CPCR — CPSM control register Bit: 15 14 13 12 11 10 9 8 7 6 5 4 CPCR $08 (1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 3 2 1 0 PRUN DIV23 PSEL1 PSEL0 Reset: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (1) Offset from the base address of the CTM. A.2.1.1 PRUN — Prescaler running bit 1 (set) – 0 (clear) – A.2.1.2 Prescaler is running. Prescaler divider is held in reset and is not running. DIV23 — Divide by 2 or divide by 3 bit 1 (set) – First prescaler stage divides by 3. 0 (clear) – First prescaler stage divides by 2. A.2.1.3 PSEL1, PSEL0 — Prescaler division ratio select bits Prescaler control register bits Prescaler division ratio PRUN DIV23 PSEL1 PSEL0 PCLK1 PCLK2 PCLK3 PCLK4 PCLK5 PCLK6 0 X X X 0 0 0 0 0 0 1 0 0 0 2 4 8 16 32 64 1 0 0 1 2 4 8 16 32 128 1 0 1 0 2 4 8 16 32 256 1 0 1 1 2 4 8 16 32 512 1 1 0 0 3 6 12 24 48 96 1 1 0 1 3 6 12 24 48 192 1 1 1 0 3 6 12 24 48 384 1 1 1 1 3 6 12 24 48 768 A.2.2 A CPTR — CPSM test register Reserved for factory testing of the CPSM. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-3 Freescale Semiconductor, Inc. A.3 FCSM registers and bits A.3.1 FCSMSIC — FCSM status/interrupt/control register Bit: FCSMSIC $00 (1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A Reset: 15 14 13 12 11 COF IL2 IL1 IL0 IARB3 0 0 0 0 0 10 9 8 DRVA DRVB 0 0 0 7 6 5 4 3 IN u 2 1 0 CLK2 CLK1 CLK0 0 0 0 0 0 0 0 (1) Offset from the base address of the FCSM submodule. A.3.1.1 1 (set) COF — Counter overflow flag bit – 0 (clear) – A.3.1.2 Counter overflow has occurred. Counter overflow has not occurred. IL[2:0] — Interrupt level bits IL2 0 0 0 0 1 1 1 1 A.3.1.3 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. MOTOROLA A-4 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.3.1.4 DRVA, DRVB — Drive time base bus bits DRVA 0 0 1 1 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. DRVB 0 1 0 1 Bus selected Neither time base bus A nor time base bus B is driven Time base bus B is driven Time base bus A is driven Both time base bus A and time base bus B are driven Warning: It is not recommended that the two time base buses be driven at the same time. A.3.1.5 IN — Input pin status bit This read-only status bit reflects the logic state of the FCSM input pin CTMC A.3.1.6 CLK[2:0] — Counter clock select bits CLK2 0 0 0 0 1 1 1 1 A.3.2 CLK1 0 0 1 1 0 0 1 1 CLK0 Free running counter clock source 0 Prescaler output 1 (÷ 2 or ÷ 3) 1 Prescaler output 2 (÷ 4 or ÷ 6) 0 Prescaler output 3 (÷ 8 or ÷ 12) 1 Prescaler output 4 (÷ 16 or ÷ 24) 0 Prescaler output 5 (÷ 32 or ÷ 48) 1 Prescaler output 6 (÷ 64 to ÷ 768) 0 CTMC pin input, negative edge 1 CTMC pin input, positive edge FCSMCNT — FCSM counter register Bit: 15 14 13 12 0 0 0 0 FCSMCNT $02 (1) 11 10 9 8 7 6 5 4 0 0 0 0 0 0 0 0 MSB Reset: 3 2 1 0 0 0 0 0 LSB (1) Offset from the base address of the FCSM submodule. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-5 A Freescale Semiconductor, Inc. A.4 MCSM registers and bits A.4.1 MCSMSIC — MCSM status/interrupt/control register Bit: MCSMSIC $00 (1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A Reset: 15 14 13 12 11 10 COF IL2 IL1 IL0 IARB3 0 0 0 0 0 9 8 DRVA DRVB 0 0 0 7 6 IN2 IN1 u u 5 4 3 0 1 0 CLK2 CLK1 CLK0 EDGEN EDGEP 0 2 0 0 0 0 (1) Offset from the base address of the MCSM submodule. A.4.1.1 1 (set) COF — Counter overflow flag bit – 0 (clear) – A.4.1.2 Counter overflow has occurred. Counter overflow has not occurred. IL[2:0] — Interrupt level bits IL2 0 0 0 0 1 1 1 1 A.4.1.3 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. MOTOROLA A-6 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.4.1.4 DRVA, DRVB — Drive time base bus bits DRVA 0 0 1 1 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. DRVB 0 1 0 1 Bus selected Neither time base bus A nor time base bus B is driven Time base bus B is driven Time base bus A is driven Both time base bus A and time base bus B are driven Warning: It is not recommended that the two time base buses be driven at the same time. A.4.1.5 IN2 — Clock input pin status bit This read-only status bit reflects the logic state of the MCSM clock input pin CTMC. A.4.1.6 IN1 — Modulus load input pin status bit This read-only status bit reflects the logic state of the MCSM modulus load input pin CTML. A.4.1.7 EDGEN, EDGEP — Modulus load edge sensitivity bits EDGEN 0 0 1 1 A.4.1.8 CLK[2:0] — Counter clock select bits CLK2 0 0 0 0 1 1 1 1 CTM REFERENCE EDGEP IN1 edge detector sensitivity 0 None 1 Positive edge only 0 Negative edge only 1 Positive and negative edge CLK1 0 0 1 1 0 0 1 1 A CLK0 Free running counter clock source 0 Prescaler output 1 (÷ 2 or ÷ 3) 1 Prescaler output 2 (÷ 4 or ÷ 6) 0 Prescaler output 3 (÷ 8 or ÷ 12) 1 Prescaler output 4 (÷ 16 or ÷ 24) 0 Prescaler output 5 (÷ 32 or ÷ 48) 1 Prescaler output 6 (÷ 64 to ÷ 768) 0 CTMC pin input, negative edge 1 CTMC pin input, positive edge REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-7 Freescale Semiconductor, Inc. A.4.2 MCSMCNT — MCSM counter register Bit: 15 14 13 12 MCSMCNT $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 0 3 2 1 0 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the MCSM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A.4.3 MCSMML — MCSM modulus latch register Bit: 15 14 13 12 MCSMML $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the MCSM submodule. A MOTOROLA A-8 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.5 SASM registers and bits A.5.1 SICA — SASM status/interrupt/control register A Bit: SICA $00 (1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 15 14 13 12 11 10 FLAG IL2 IL1 IL0 IARB3 IEN 0 0 0 0 0 0 Reset: 9 0 8 7 BSL IN 0 0 6 5 4 3 2 FORCE EDOUT 0 0 0 1 0 MODE1 MODE0 0 0 0 0 (1) Offset from the base address of the SASM submodule. A.5.1.1 1 (set) FLAG — Event flag bit – 0 (clear) – A.5.1.2 An input capture or output compare event has occurred. An input capture or output compare event has not occurred. IL[2:0] — Interrupt level bits IL2 0 0 0 0 1 1 1 1 A.5.1.3 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) A IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. A.5.1.4 1 (set) IEN — Interrupt enable bit – Interrupts enabled. 0 (clear) – Interrupts disabled. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-9 Freescale Semiconductor, Inc. A.5.1.5 1 (set) A BSL — Time base bus select bit – Time base bus B selected. 0 (clear) – Time base bus A selected. A.5.1.6 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. IN — Input pin status bit In input mode (IC), the IN bit reflects the logic state present on the corresponding input pin (after being Schmitt triggered and synchronized). In the output modes (OC, OCT and OP), the IN bit value reflects the state of the output of the output flip-flop. A.5.1.7 1 (set) FORCE — Force compare control bit – 0 (clear) – A.5.1.8 Force output flip-flop to behave as if an output compare has just occurred. No action. EDOUT — Edge detect and output level bit In IC mode: 1 (set) – Input capture on rising edge. 0 (clear) – Input capture on falling edge. In OC and OP modes: 1 (set) – Output a logic one on the next output compare on channel A. 0 (clear) – Output a logic zero on the next output compare on channel A. A.5.1.9 MODE1, MODE0 — SASM operating mode select bits MODE1 0 0 1 1 MOTOROLA A-10 MODE0 0 1 0 1 SASM channel operating mode Input capture (IC) Output port (OP) Output compare (OC) Output compare and toggle (OCT) REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.5.2 SDATA — SASM data register A Bit: 15 14 13 12 SDATA $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u 1 0 LSB u u u u u u u u (1) Offset from the base address of the SASM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A.5.3 SICB — SASM status/interrupt/control register B Bit: SICB $04 (1) 15 14 13 12 11 10 9 FLAG Reset: 0 0 0 0 0 0 0 8 7 BSL IN 0 0 6 5 4 3 2 FORCE EDOUT 0 0 0 MODE1 MODE0 0 0 0 0 (1) Offset from the base address of the SASM submodule. A.5.3.1 1 (set) FLAG — Event flag bit – 0 (clear) – A.5.3.2 1 (set) An input capture or output compare event has occurred on channel B. An input capture or output compare event has not occurred on channel B. BSL — Time base bus select bit – Time base bus B selected. 0 (clear) – Time base bus A selected. A.5.3.3 A IN — Input pin status bit In input mode (IC), the IN bit reflects the logic state present on the corresponding input pin (after being Schmitt triggered and synchronized). In the output modes (OC, OCT and OP), the IN bit value reflects the state of the output of the output flip-flop. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-11 Freescale Semiconductor, Inc. A.5.3.4 FORCE — Force compare control bit 1 (set) – Force output flip-flop to behave as if an output compare has just occurred on channel B. 0 (clear) – A.5.3.5 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A No action. EDOUT — Edge detect and output level bit In IC mode: 1 (set) – Input capture on rising edge. 0 (clear) – Input capture on falling edge. In OC and OP modes: 1 (set) – Output a logic one on the next output compare on channel B. 0 (clear) – Output a logic zero on the next output compare on channel B. A.5.3.6 MODE1, MODE0 — SASM operating mode select bits MODE1 0 0 1 1 A.5.4 MODE0 0 1 0 1 SASM channel operating mode Input capture (IC) Output port (OP) Output compare (OC) Output compare and toggle (OCT) SDATB — SASM data register B Bit: 15 14 13 12 SDATB $06 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the SASM submodule. MOTOROLA A-12 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.6 DASM registers and bits A.6.1 DASMSIC — DASM status/interrupt/control register Bit: DASMSIC $00 (1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 15 14 13 12 11 FLAG IL2 IL1 IL0 IARB3 0 0 0 0 0 Reset: 10 9 8 7 WOR BSL IN 0 0 0 0 6 5 4 3 2 1 0 FORCA FORCB EDPOL MODE3 MODE2 MODE1 MODE0 0 0 0 0 0 0 0 (1) Offset from the base address of the DASM submodule. A.6.1.1 1 (set) FLAG — Flag status bit – 0 (clear) – A.6.1.2 An input capture or output compare event has occurred. An input capture or output compare event has not occurred. IL[2:0] — Interrupt level bits IL2 0 0 0 0 1 1 1 1 A.6.1.3 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) A IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. A.6.1.4 1 (set) WOR — Wired-OR bit – Output buffer is open-drain. 0 (clear) – Output buffer is totem pole. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-13 Freescale Semiconductor, Inc. A.6.1.5 1 (set) A BSL — Bus select bit – The DASM is connected to time base bus B. 0 (clear) – The DASM is connected to time base bus A. A.6.1.6 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. IN — Input pin status bit In the DIS, IPWM, IPM and IC modes, this read-only status bit reflects the logic level on the input pin. In the OCB, OCAB and OPWM modes, reading this bit returns the value latched on the output flip-flop, after EDPOL polarity selection. A.6.1.7 1 (set) FORCA — Force A bit – 0 (clear) – A.6.1.8 1 (set) No action. FORCB — Force B bit – 0 (clear) – A.6.1.9 Force output flip-flop to behave as if an output compare has just occurred on channel A. Force output flip-flop to behave as if an output compare has just occurred on channel B. No action. EDPOL — Edge polarity bit In the IPWM mode: 1 (set) – Channel A captures on a falling edge. Channel B captures on a rising edge. 0 (clear) – Channel A captures on a rising edge. Channel B captures on a falling edge. In the IPM and IC modes: 1 (set) – Channel A captures on a falling edge. 0 (clear) – Channel A captures on a rising edge. MOTOROLA A-14 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. In the OCB, OCAB and OPWM modes: 1 (set) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. – The complement of the output flip-flop logic level appears on the output pin: a compare on channel A resets the output pin; a compare on channel B sets the output pin. 0 (clear) – The output flip-flop logic level appears on the output pin: a compare on channel A sets the output pin, a compare on channel B resets the output pin. A.6.1.10 MODE[3:0] — Mode select bits DASM control register bits MOD3 MOD2 MOD1 MOD0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 A.6.2 1 0 0 1 1 0 0 1 1 Bits of Time base resolution bits ignored 1 0 1 0 1 0 1 0 1 — 16 16 16 16 16 — — — — — — — — — 16 15 14 13 12 11 9 7 — — 15 15, 14 15-13 15-12 15-11 15-9 15-7 DASM mode of operation DIS – Disabled IPWM – Input pulse width measurement IPM – Input period measurement IC – Input capture OCB – Output compare, flag on B compare OCAB – Output compare, flag on A and B compare OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation OPWM – Output pulse width modulation A DASMA — DASM data register A Bit: 15 14 13 12 DASMA $02 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the DASM submodule. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-15 Freescale Semiconductor, Inc. A.6.3 DASMB — DASM data register B Bit: 15 14 13 12 DASMB $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the DASM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A MOTOROLA A-16 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.7 PWMSM registers and bits A.7.1 PWMSIC — PWMSM status, interrupt and control register Bit: PWMSIC $00 (1) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 15 14 13 12 11 FLAG IL2 IL1 IL0 IARB3 0 0 0 0 0 Reset: 10 9 8 7 6 PIN 0 0 0 0 0 5 4 3 2 1 LOAD POL EN CLK2 CLK1 0 0 0 0 0 0 CLK0 0 (1) Offset from the base address of the PWMSM submodule. A.7.1.1 1 (set) FLAG — Period completion status bit – 0 (clear) – A.7.1.2 PWM period completed. PWM period not completed. IL[2:0] — Interrupt level bits IL2 0 0 0 0 1 1 1 1 A.7.1.3 IL1 0 0 1 1 0 0 1 1 IL0 0 1 0 1 0 1 0 1 Selected level Interrupt disabled Interrupt level 1 (lowest) Interrupt level 2 Interrupt level 3 Interrupt level 4 Interrupt level 5 Interrupt level 6 Interrupt level 7 (highest) IARB3 — Interrupt arbitration bit 3 The read/write IARB3 bit works in conjunction with the IARB[2:0] field in the BIUSM module configuration register. A.7.1.4 1 (set) PIN — Output pin status bit – Logic one state present on the PWMSM output pin. 0 (clear) – Logic zero state present on the PWMSM output pin. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-17 A Freescale Semiconductor, Inc. A.7.1.5 1 (set) LOAD — Period and pulse width register load control bit – 0 (clear) – A.7.1.6 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Load PWMSM period and pulse width registers. No action. POL — Output pin polarity control bit Control bits POL EN 0 0 1 0 0 1 1 1 A.7.1.7 1 (set) Output pin state Periodic edge Variable edge Optional interrupt on Always low Always high High pulse Low pulse — — Rising edge Falling edge — — Falling edge Rising edge — — Rising edge Falling edge EN — PWMSM enable control bit – Enable the PWMSM and start generation of PWM output pulses. 0 (clear) – Disable the PWMSM and stop generation of PWM output pulses. A MOTOROLA A-18 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. A.7.1.8 CLK[2:0] — Clock rate selection bits PWMSM CLK bits CLK2 CLK1 CLK0 0 0 0 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A.7.2 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 CPSM bit DIV23 PWMSM clock f SYS ÷ 2 f SYS ÷ 4 f SYS ÷ 8 f SYS ÷ 16 f SYS ÷ 32 f SYS ÷ 64 f SYS ÷ 128 f SYS ÷ 512 f SYS ÷ 3 f SYS ÷ 6 f SYS ÷ 12 f SYS ÷ 24 f SYS ÷ 48 f SYS ÷ 96 f SYS ÷ 192 f SYS ÷ 768 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Clock source PCLK1 Prescaler (÷2) Prescaler (÷4) Prescaler (÷8) Prescaler (÷16) Prescaler (÷32) Prescaler (÷64) Prescaler (÷256) PCLK1 Prescaler (÷2) Prescaler (÷4) Prescaler (÷8) Prescaler (÷16) Prescaler (÷32) Prescaler (÷64) Prescaler (÷256) PWMA — PWM period register Bit: 15 14 13 12 u u u u PWMA $02 (1) 11 10 9 8 7 6 5 4 u u u u u u u u MSB Reset: 3 2 1 0 u u u u LSB (1) Offset from the base address of the PWMSM submodule. A.7.3 A PWMB — PWM pulse width register Bit: 15 14 13 12 PWMB $04 (1) 11 10 9 8 7 6 5 4 MSB Reset: u u u u 3 2 1 0 u u u u LSB u u u u u u u u (1) Offset from the base address of the PWMSM submodule. CTM REFERENCE REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA A-19 Freescale Semiconductor, Inc. A.7.4 PWMC — PWM counter register Bit: 15 14 13 12 PWMC $06 (1) 11 10 9 8 7 6 5 4 MSB Reset: 0 0 0 0 3 2 1 0 0 0 0 1 LSB 0 0 0 0 0 0 0 0 (1) Offset from the base address of the PWMSM submodule. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. A MOTOROLA A-20 REGISTER AND BIT SUMMARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. B Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. CTM EXAMPLE – CTM2 CTM2 is an example of a typical CTM module implementation. A block diagram of CTM2 is shown in Figure B-1; it comprises the following submodules: Note: – a bus interface unit submodule (BIUSM), – a clock prescaler submodule (CPSM), – a free-running counter submodule (FCSM), – two modulus counter submodules (MCSM) and – 10 double action submodules (DASM). CTM2 does not contain any single action submodules (SASM) nor any pulse width modulation submodules (PWMSM). Figure B-1 shows how the time base buses interconnect the counters and the channels in CTM2. Time base buses 2 and 3 are connected together to form one global time base bus (TBBB) that is accessible to every submodule. Time base buses 1 and 4 are not connected together but are known collectively as time base bus A (TBBA). Each submodule has access to two time base buses, TBBB and either TBB1 or TBB4 (see Table B-1). Table B-2 shows how the CTM2 interrupt priority and vectors are structured. B CTM REFERENCE CTM EXAMPLE – CTM2 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA B-1 Freescale Semiconductor, Inc. 16-bit time base bus 4 (TBB4/TBBA) 16-bit time base bus 2 (TBB2/TBBB) External clock pin CTM2C Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Modulus counter submodule (MCSM2) CTM2L Modulus load pin Free-running counter submodule (FCSM25) Modulus counter submodule (MCSM24) 6-line prescaler bus Submodule bus (SMB) Clock prescaler submodule /2 to /512, or /3 to /768 fCLK Channel I/O Pins Double action submodule (DASM10) CTD10 Double action submodule (DASM11) CTD11 Double action submodule (DASM12) CTD12 Double-action Double action submodule submodule(DASM13) (DASM) CTD13 Double action submodule (DASM14) CTD14 Double action submodule (DASM15) CTD15 Double action submodule (DASM16) CTD16 Double action submodule (DASM17) CTD17 Double action submodule (DASM18) CTD18 Double action submodule (DASM19) CTD19 Bus interface unit submodule 16-bit time base bus 1 (TBB1/TBBA) Intermodule bus (IMB) Figure B-1 Configurable timer module 2 (CTM2) B Table B-1 Time base bus allocation Submodule MCSM 2 DASM 10, 11, 12, 13 DASM 14, 15, 16, 17, 18, 19 MCSM 24 FCSM 25 MOTOROLA B-2 Local/global time base bus allocation Global bus A (TBBA) Global bus B (TBBB) TBB4 TBB2 TBB4 TBB2 TBB1 TBB2 TBB1 TBB2 TBB1 TBB2 CTM EXAMPLE – CTM2 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Table B-2 CTM2 interrupt priority, vector allocation and pin allocation Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Submodule name Submodule binary base address (1) Submodule binary vector number (2) BIUSM CPSM MCSM2 DASM 10 DASM 11 DASM 12 DASM 13 DASM 14 DASM 15 DASM 16 DASM 17 DASM 18 DASM 19 MCSM 24 FCSM 25 z00000000 z00001000 z00010000 z01010000 z01011000 z01100000 z01101000 z01110000 z01111000 z10000000 z10001000 z10010000 z10011000 z11000000 z11001000 none none xx000010 xx001010 xx001011 xx001100 xx001101 xx001110 xx001111 xx010000 xx010001 xx010010 xx010011 xx011000 xx011001 Submodule interrupt arbitration sequence number (3) none none 2 10 11 12 13 14 15 16 17 18 19 24 25 Corresponding pin name none none CTM2C, CTM2L CTD10 CTD11 CTD12 CTD13 CTD14 CTD15 CTD16 CTD17 CTD18 CTD19 CTM2C, CTM2L CTM2C (1) z represents the high address bits defining the CTM2 base address. (2) xx are the two interrupt vector base number bits VECT7 and VECT6 contained in the BIUSM. (3) Interrupt arbitration #2 is highest priority, arbitration #25 is lowest priority. Table B-2 also shows how the I/O pins are allocated in CTM2. Note: In CTM2 all three counter submodules share one external clock input pin, CTM2C. B CTM REFERENCE CTM EXAMPLE – CTM2 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA B-3 Freescale Semiconductor, Inc. B.1 CTM2 registers Table B-3 CTM2 register map Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. B Address 15 $YFF400 – $YFF407 $YFF408 – $YFF40F $YFF410 – $YFF417 $YFF418 – $YFF44F $YFF450 – $YFF457 $YFF458 – $YFF45F $YFF460 – $YFF467 $YFF468 – $YFF46F $YFF470 – $YFF477 $YFF478 – $YFF47F $YFF480 – $YFF487 $YFF488 – $YFF48F $YFF490 – $YFF497 $YFF498 – $YFF49F $YFF4A0 – $YFF4BF $YFF4C0 – $YFF4C7 $YFF4C8 – $YFF4CF $YFF4D0 – $YFF4FF Reserved registers always return zeros when read. MOTOROLA B-4 8 7 0 BIUSM registers CPSM registers MCSM 2 registers DASM 10 registers DASM 11 registers DASM 12 registers DASM 13 registers DASM 14 registers DASM 15 registers DASM 16 registers DASM 17 registers DASM 18 registers DASM 19 registers MCSM 24 registers FCSM 25 registers CTM EXAMPLE – CTM2 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. B.1.1 CTM2 bus interface unit submodule registers Table B-4 BIUSM register map Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Address $YFF400 $YFF402 $YFF404 $YFF406 B.1.2 15 8 7 Module configuration register (MCR) BIUSM test register (TCR) Time base register (TBR) 0 CTM2 counter prescaler submodule registers Table B-5 CPSM register map Address $YFF408 $YFF40A $YFF40C $YFF40E B.1.3 15 8 7 CPSM control register (CPCR) CPSM test register (CPTR) 0 CTM2 free-running counter submodule registers Table B-6 FCSM register map Address $YFF4C8 $YFF4CA $YFF4CC $YFF4CE B.1.4 15 8 7 FCSM status/interrupt/control register (FCSMSIC) FCSM counter (FCSMCNT) 0 CTM2 modulus counter submodule registers Table B-7 MCSM register map Address (1) $00 $02 $04 $06 15 8 7 MCSM status/interrupt/control register (MCSMSIC) MCSM counter (MCSMCNT) MCSM modulus latch (MCSMML) 0 (1) Offset from the base address of the MCSM. CTM REFERENCE CTM EXAMPLE – CTM2 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA B-5 B Freescale Semiconductor, Inc. B.1.5 CTM2 double action submodule registers Table B-8 DASM register map Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Address (1) $00 $02 $04 $06 15 8 7 DASM status/interrupt/control register (DASMSIC) DASM register A (DASMA) DASM register B (DASMB) 0 (1) Offset from the base address of the DASM. B MOTOROLA B-6 CTM EXAMPLE – CTM2 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. C Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. GLOSSARY This section contains abbreviations and specialist words used in this data sheet and throughout the industry. $xxxx The digits following the ‘$’ are in hexadecimal format. %xxxx The digits following the ‘%’ are in binary format. A/D, ADC Analog-to-digital (converter). Assert An asserted signal is driven to its active or true state, irrespective of that state being represented by a high or low voltage level. BIU Bus interface unit; in a module, the interface between the IMB and the internal circuitry of the module. BIUSM Bus interface unit submodule; in a module, the submodule that allows the module to be connected to the IMB. All information transfer between the IMB and the SMB is handled by the BIUSM. Bootstrap mode In this mode the device automatically loads its internal memory from an external source on reset and then allows this program to be executed. Bus cycle A single transfer of data across the bus using the established protocols and timing. A bus cycle consists of a single byte or word transfer. Byte Eight bits. CCR Condition codes register; an integral part of the CPU. CERQUAD A ceramic package type, principally used for EPROM and high temperature devices. Clear ‘0’ — the logic zero state; the opposite of ‘set’. Clock Two tics; a full clock cycle. For a 16.67MHz clock, a clock cycle has a duration of 60ns. CMOS Complementary metal oxide semiconductor. A semiconductor technology chosen for its low power consumption and good noise immunity. Coherency The caability of a system to handle data as if its data bus were the same width as the data block. COP Computer operating properly. aka ‘watchdog’. This circuit is used to detect device runaway and provide a means for restoring correct operation. CTM REFERENCE GLOSSARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA C-1 C Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. C CPSM Counter prescaler submodule. CPU Central processing unit. CPU16 Motorola’s 16-bit CPU core for IMB based devices. CPU32 Motorola’s 32-bit CPU core for IMB based devices. CTM Configurable timer module. D/A, DAC Digital-to-analog (converter). Daisy chain In the CTM, a hardware priority system whereby the relative priorities of a number of interrupt sources is determined by their position in the chain. DASM Double action submodule. EBI External bus interface; a module responsible for interfacing the IMB with the external bus. The external bus includes those generalized lines needed for system operation and external transactions, but does not include the lines specific to a module. EBIs will differ from chip to chip depending upon the need for handling interrupts, external bus mastership, bus errors, etc. EEPROM Electrically erasable programmable read only memory. aka ‘EEROM’. EPROM Erasable programmable read only memory. This type of memory requires exposure to ultra-violet wavelengths in order to erase previous data. aka ‘PROM’. ESD Electrostatic discharge. Expanded mode In this mode the internal address and data bus lines are connected to external pins. This enables the device to be used in much more complex systems, where there is a need for external memory for example. EVS Evaluation system. One of the range of platforms provided by Motorola for evaluation and emulation of their devices. FCSM Free-running counter submodule. HCMOS High-density complementary metal oxide semiconductor. A semiconductor technology chosen for its low power consumption and good noise immunity. I/O Input/output; used to describe a bidirectional pin or function. IMB Inter module bus; the 68300 series standard internal bus. It allows exchange of data between master and slave modules. IC Input capture; a function provided by the timing system, whereby an external event is ‘captured’ by storing the value of a counter at the instant the event is detected. Interrupt An asynchronous external event handled by the MCU. The external event is detected by the MCU and causes a predetermined action to occur. IRQ Interrupt request. (The overline indicates that this is an active-low signal format.) kbyte A kilo-byte (of memory); 1024 bytes. LCD Liquid crystal display. MOTOROLA C-2 GLOSSARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. LSB Least significant byte. Master The module that initiates a bus request and controls the bus transaction with a slave module. MCSM Modulus counter submodule. MCU Microcontroller unit. Module A functional block compatible with the Motorola modular microcontroller family (MMF) that connects to the IMB. MSB Most significant byte. Negate A negated signal is driven to its inactive or false state, irrespective of that state being represented by a high or low voltage level. Nibble Half a byte; four bits. NRZ Non-return to zero. Opcode The opcode is a byte which identifies the particular instruction and operating mode to the CPU. See also: prebyte, operand. Operand The operand is a byte containing information the CPU needs to execute a particular instruction. There may be from 0 to 3 operands associated with an opcode. See also: opcode, prebyte. OC Output compare; a function provided by the timing system, whereby an external event is generated when an internal counter value matches a predefined value. PLCC Plastic leaded chip carrier package. PLL Phase-locked loop circuit. This provides a method of frequency multiplication, to enable the use of a low frequency crystal in a high frequency circuit. Prebyte This byte is sometimes required to qualify an opcode, in order to fully specify a particular instruction. See also: opcode, operand. Pull-down, pull-up These terms refer to resistors, sometimes internal to the device, which are permanently connected to either ground or VDD. PWM Pulse width modulation; a technique where the width of the high and low periods of a waveform is varied, usually to enable a representation of an analog value. QFP Quad flat pack package. RAM Random access memory. Fast read and write, but contents are lost when the power is removed. RFI Radio frequency interference. RTI Real-time interrupt. ROM Read-only memory. This type of memory is programmed during device manufacture and cannot subsequently be altered. RS-232C A standard serial communications protocol. CTM REFERENCE GLOSSARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com C MOTOROLA C-3 Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. C SAR Successive approximation register. SASM Single action submodule. SCI Serial communications interface. Set ‘1’ — the logic one state; the opposite of ‘clear’. Silicon Glen An area in the central belt of Scotland, so called because of the concentration of semiconductor manufacturers and users found there. SIM System integration module; a module on an IMB device that reduces the need for external glue logic by providing an external interface and a variety of other system related functions. Single chip mode In this mode the device functions as a self contained unit, requiring only I/O devices to complete a system. Slave The module that responds to a master's request. SMB Submodule bus; the internal CTM bus that allows exchange of information between submodules. SPI Serial peripheral interface. State Subunit of the bus cycle in which specific events occur. Each state has a duration of one clock tic, and represents a single state within the controlling microengine. For the IMB, the states defined include B1, B2, B2*, B3, B4 and B4*. Submodule A functional block that defines a CTM function. Most of the submodules can be placed several times in order to obtain the desired system. Test mode This mode is intended for factory testing. Tic A clock tic is defined as the single high or low state, irrespective of that state being represented by a high or low voltage level. For a 16.67MHz, a clock tic has a duration of 30ns. Transaction The transfer of data between two modules (a master and a slave) using the IMB and its established protocol. A single transaction may require multiple bus cycles. TTL Transistor-transistor logic. UART Universal asynchronous receiver transmitter. VCO Voltage controlled oscillator. Watchdog See ‘COP’. Wired-OR A means of connecting outputs together such that the resulting composite output state is the logical OR of the state of the individual outputs. Word Two bytes; 16 bits. XIRQ Non-maskable interrupt request. The overline indicates that this has an active-low signal format. MOTOROLA C-4 GLOSSARY For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. D Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. INDEX In this index numeric entries are placed first; page references in italics indicate that the reference is to a figure. block diagrams - continued SASM 7-1 SASM channel A 7-3 BSL bit in DASMSIC 8-15 bit in SICA 7-9 bus interface unit submodule - see BIUSM byte access 1-3 1-5 0% and 100% ‘pulses’ 9-5 3-byte access 1-3 1-5 – A action submodule 1-3 aligned access 1-3 1-5 arbitration 3-2 – – C B BIUMCR — BIUSM module configuration register 2-2 BIUSM BIUMCR — BIUSM module configuration register 2-2 BIUTBR — BIUSM time base register 2-5 BIUTEST — BIUSM test configuration register 2-4 freeze 2-1 interrupt vector base number 2-3 interrupt vector table 2-3 LPSTOP 2-1 reading the time base bus 2-5 register map 2-2 selecting the time base bus 2-4 STOP 2-2 WAIT 2-2 BIUTBR — BIUSM time base register 2-5 BIUTEST — BIUSM test configuration register 2-4 block diagrams CPSM 4-1 CTM architecture 1-2 CTM2 B-2 DASM 8-1 FCSM 5-2 GPT pulse width modulation system 1-10 input capture (concept) 1-7 MCSM 6-1 output compare (concept) 1-7 pulse accumulator (concept) 1-8 PWMSM 9-3 changing mode DASM 8-3 SASM 7-3 clearing flags 1-10 CLK[2:0] bits in FCSMSIC 5-6 bits in MCSMSIC 6-7 bits in PWMSIC 9-12 clock source module 1-3 clocks FCSM 5-2 MCSM 6-3 PCLK clock generation 4-1 PWMSM 9-2 9-13 system clock - fSYS 4-1 COF bit in FCSMSIC 5-4 bit in MCSMSIC 6-5 coherency DASM 8-3 8-5 general 1-3 1-5 PWMSM 9-5 counter DASM 8-11 FCSM 5-1 MCSM 6-2 counter overflow FCSM 5-1 MCSM 6-5 , – – D TPG CTM REFERENCE INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA i Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. D counter overflow - continued pulse accumulator 1-8 PWM 1-9 counter prescaler 4-1 counter prescaler submodule - see CPSM CPCR — CPSM control register 4-2 CPSM block diagram 4-1 counter prescaler 4-1 CPCR — CPSM control register 4-2 CPTR — CPSM test register 4-3 freeze 4-2 prescaler division ratio selection 4-3 register map 4-2 CPTR — CPSM test register 4-3 CTM2 B-1 block diagram B-2 clock input pin - CTM2C B-1 interrupts B-3 pin allocation B-3 time base bus B-3 vector allocation B-3 DASM - continued register map 8-13 reserved register 8-13 selecting the input capture edge sensitivity 8-16 selecting the mode of operation 8-17 selecting the time base bus 8-15 single output compare 8-9 single shot output pulse 8-8 single-shot output pulse example 8-9 spurious interrupts 8-3 DASMA — DASM data register A 8-18 DASMB — DASM data register B 8-18 DASMSIC — DASM status/interrupt/control register 8-14 data access 1-3 1-5 DIV23 - bit in CPCR 4-3 double action submodule - see DASM double buffer 9-4 DRVA, DRVB bits in FCSMSIC 5-5 bits in MCSMSIC 6-6 duty cycle 1-9 – E D daisy-chain priority 3-2 DASM block diagram 8-1 changing mode 8-3 8-4 clock divide ratio 8-11 coherency 8-3 8-5 configuring the output buffer 8-15 counter 8-11 DASMA — DASM data register A 8-18 DASMB — DASM data register B 8-18 DASMSIC — DASM status/interrupt/control register 8-14 disable (DIS) mode 8-4 effect of reset on output flip-flop 8-8 flag clearing mechanism 8-14 forcing an output compare 8-16 freeze 8-13 input capture (IC) mode 8-7 input capture example 8-7 input period measurement (IPM) mode 8-5 input pin 8-2 input pin logic level 8-16 interrupts 8-12 minimum pulse width 8-2 modes of operation 8-3 multiple DASMs 8-13 output compare (OCA and OCAB) modes 8-7 output frequencies and resolutions 8-12 output pin 8-2 output port bit operation 8-9 output pulse width modulation (OPWM) mode 8-10 output pulse width modulation example 8-11 pulse width measurement (IPWM) mode 8-4 pulse width measurement example 8-5 , – EDGEN, EDGEP - bits in MCSMSIC 6-7 EDOUT - bit in SICA 7-9 EDPOL - bit in DASMSIC 8-16 EN - bit in PWMSIC 9-12 enabling/disabling the CTM 2-3 event counter FCSM 5-2 MCSM 6-3 pulse accumulator 1-8 exception level mask 3-1 exception processing 3-1 F FCSM block diagram 5-2 clock sources 5-2 counter 5-1 counter overflow 5-4 driving the time base bus 5-5 effect of reset 5-1 event counter 5-2 FCSMSIC — FCSM status/interrupt/control reg. 5-4 flag clearing 5-4 freeze 5-3 input pin - CTMC 5-2 5-5 interrupts 5-2 5-3 maximum external clock frequency 5-3 5-6 register map 5-4 reserved registers 5-4 selecting the clock source 5-6 selecting the time base bus 5-3 setting the interrupt level 5-5 , , , TPG MOTOROLA ii INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. FCSM - continued using multiple FCSMs 5-4 FCSM - free-running counter submodule 5-1 FCSMCNT — FCSM counter register 5-6 FCSMSIC — FCSM status/interrupt/control reg. 5-4 FLAG bit in DASMSIC 8-14 bit in PWMSIC 9-9 bit in SICA 7-7 flag clearing 1-10 FORCA - bit in DASMSIC 8-16 FORCB - bit in DASMSIC 8-16 FORCE - bit in SICA 7-9 free-running counter 1-6 FRZ - bit in BIUMCR 2-3 input pins - continued SASM 7-2 interrupt acknowledge - see IACK interrupt arbitration number 2-4 interrupts 3-1 CTM2 B-3 DASM 8-12 FCSM 5-2 5-3 MCSM 6-3 6-4 priority levels on the IMB 3-1 PWMSM 9-6 SASM 7-4 7-5 7-6 setting the priority level 2-4 simultaneous interrupts 3-2 spurious interrupt vector 2-4 vector base number 2-3 vector table 2-3 , , , , G gated mode pulse accumulator 1-8 glitches 9-12 L LOAD - bit in PWMSIC 9-11 loading the MCSM counter register 6-2 long word access 1-3 1-5 – I , IACK 2-4 3-1 IARB[2:0] - bits in BIUMCR 2-4 IARB3 bit in DASMSIC 8-15 bit in FCSMSIC 5-5 bit in MCSMSIC 6-6 bit in PWMSIC 9-10 bit in SICA 7-8 IEN - bit in SICA 7-8 IL[2:0] bits in DASMSIC 8-15 bits in FCSMSIC 5-5 bits in MCSMSIC 6-6 bits in PWMSIC 9-10 bits in SICA 7-8 IMB - intermodule bus 1-1 IN bit in DASMSIC 8-16 bit in FCSMSIC 5-5 bit in SICA 7-9 IN1 - bit in MCSMSIC 6-7 IN2 - bit in MCSMSIC 6-6 input capture concepts 1-6 example using DASM 8-20 period and pulse width measurement 1-6 SASM 7-1 SASM IC mode 7-4 input pins CTM2C (CTM2) B-1 DASM 8-2 FCSM 5-2 5-5 MCSM 6-3 6-6 6-7 , , CTM REFERENCE , M maximum external clock frequency FCSM 5-3 5-6 MCSM 6-3 6-7 MCSM as free-running counter 6-3 block diagram 6-1 clock input pin - CTMC 6-3 6-6 clocks 6-3 counter 6-2 counter overflow 6-5 driving the time base bus 6-6 effect of reset 6-2 event counter 6-3 flag clearing 6-5 freeze 6-4 input pin - CTML 6-3 interrupts 6-3 6-4 loading the counter register 6-2 maximum external clock frequency 6-3 6-7 MCSMCNT — MCSM counter register 6-7 MCSMML — MCSM modulus latch register 6-8 MCSMSIC — MCSM status/interrupt/control register 6-5 modulus latch 6-2 modulus load input pin - CTML 6-7 register map 6-5 reserved registers 6-4 selecting CTML edge sensitivity 6-7 selecting the clock source 6-7 selecting the time base bus 6-4 setting the interrupt level 6-6 , , , , , INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com MOTOROLA iii D Freescale Semiconductor, Inc. MCSMCNT — MCSM counter register 6-7 MCSMML — MCSM modulus latch register 6-8 MCSMSIC — MCSM status/interrupt/control register 6-5 minimum pulse width DASM 8-2 PWMSM 9-1 9-2 9-7 misaligned access 1-3 1-5 MODE[3:0] - bits in DASMSIC 8-17 MODE1, MODE0 - bit in SICA 7-10 modes of operation DASM 8-3 DASM disable mode 8-4 DASM period measurement mode 8-5 DASM pulse width measurement mode 8-4 event counting mode 1-8 5-2 6-3 gated mode 1-8 input capture 7-4 8-7 output compare 7-4 8-7 output compare and toggle 7-5 output port 7-5 pulse accumulator concepts 1-8 pulse width modulation 8-10 STOP mode 2-1 test mode 2-5 modulus counter submodule - MCSM modulus latch 6-2 multiple DASMs 8-13 multiple FCSMs 5-4 multiple SASMs 7-6 , Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. D , – , , , , O , , open-drain 8-8 8-12 8-15 output compare concepts 1-7 example using DASM 8-22 pulse and signal generation 1-7 SASM 7-1 SASM OC mode 7-4 toggling the state on a pin 1-8 output compare and toggle SASM OCT mode 7-5 output flip-flop effect of reset 7-2 8-8 9-4 output latch PWM 1-9 output pins DASM 8-2 PWMSM 9-2 SASM 7-1 outputs SASM OP mode 7-5 , , P period and pulse width measurement 1-6 MOTOROLA iv period measurement example using DASM IPM mode 8-21 period register values PWMSM 9-8 PIN - bit in PWMSIC 9-10 pin allocation CTM2 B-3 pipelining 1-3 1-5 POL - bit in PWMSIC 9-11 prescaler, switching on and off. 4-2 PRUN - bit in CPCR 4-2 PSEL1, PSEL0 - bits in CPCR 4-3 pulse accumulator concepts 1-8 counter overflow 1-8 event counting mode 1-8 gated mode 1-8 modes of operation 1-8 pulse and signal generation 1-7 pulse width modulation example using DASM 8-24 pulse width modulation (PWM) concepts 1-9 waveforms 1-9 pulse width modulation submodule - see PWMSM PWM duty cycle 1-9 PWMA — PWM period register 9-12 PWMB — PWM pulse width register 9-13 PWMC — PWM counter register 9-14 PWMSIC — Status, interrupt and control register 9-9 PWMSM block diagram 9-3 clock rate selection 9-13 clock selection 9-2 coherency 9-5 comparators 9-4 counter 9-3 effect of reset on counter 9-3 effect of reset on output flip-flop 9-4 enabling and disabling the PWMSM 9-12 features 9-1 freeze 9-6 frequency 9-6 9-7 interrupts 9-6 maximum duty cycle 9-5 maximum output frequency 9-1 minimum pulse width 9-1 9-2 9-7 output flip-flop 9-2 9-5 output pin 9-2 output pulse width 9-5 period registers 9-4 pulse width 9-6 9-7 pulse width register values 9-8 pulse width registers 9-4 PWMA — PWM period register 9-12 PWMB — PWM pulse width register 9-13 PWMC — PWM counter register 9-14 PWMSIC — Status, interrupt and control register 9-9 register map 9-9 reinitialization 9-11 , , , , , , INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. PWMSM - continued resolution 9-6 selecting the counter clock source 9-12 selecting the output pin polarity 9-11 setting the polarity of the output signal 9-11 SASM - continued spurious interrupts 7-3 time base bus 7-5 vectors, vector numbers 7-6 SDATA — SASM data register A 7-10 SDATB — SASM data register B 7-11 SICA — SASM status/interrupt/control register A 7-7 SICB — SASM status/interrupt/control register B 7-10 single action submodule - see SASM SMB - submodule bus 1-2 STOP - bit in BIUMCR 2-3 synchronization of counters 5-1 synchronization of submodules 4-3 R Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. register maps BIUSM 2-2 CPSM 4-2 CTM2 B-4 DASM 8-13 FCSM 5-4 MCSM 6-5 PWMSM 9-9 SASM 7-7 resets effect on FCSM counter 5-1 effect on MCSM 6-2 effect on output flip-flop 9-4 effect on PWMSM counter 9-3 TBRS1, TBRS0 - bits in BIUMCR 2-4 time base bus 1-2 1-5 CTM2 B-3 DASM 8-15 FCSM 5-3 MCSM 6-4 reading 2-5 SASM 7-4 7-5 selecting 2-4 5-3 6-4 7-9 8-15 toggle 7-5 Totem pole 8-8 totem pole 8-12 8-15 , , S SASM block diagram 7-1 capturing the time base bus value 7-4 changing mode 7-3 channel A block diagram 7-3 channel interrupt priority 7-6 clearing flags 7-4 7-5 effect of reset on output flip-flop 7-2 enabling interrupts 7-8 flag clearing 7-2 7-8 forcing an output compare 7-4 7-9 freeze 7-6 IC mode 7-4 input pin 7-2 interrupts 7-4 7-5 7-6 modes of operation 7-2 multiple SASMs 7-6 OC mode 7-4 OCT mode 7-5 OP mode 7-5 output flip-flop 7-2 7-4 7-5 output pin 7-1 register map 7-7 SDATA — SASM data register A 7-10 SDATB — SASM data register B 7-11 selecting input capture edge sensitivity 7-9 selecting the mode of operation 7-10 selecting the time base bus 7-9 setting the interrupt level 7-8 SICA — SASM status/interrupt/control register A 7-7 SICB — SASM status/interrupt/control register B 7-10 simultaneous interrupts 7-8 , , , , , , D T MOTOROLA v , , , , , V VECT7, VECT6 - bits in BIUMCR 2-3 vector address 3-3 vector allocation CTM2 B-3 vector number 3-3 W wired-OR 1-5 wired-or 8-15 WOR - bit in DASMSIC 8-15 word access 1-3 1-5 – , Z zero detector PWM 1-9 INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. THIS PAGE INTENTIONALLY LEFT BLANK D MOTOROLA vi INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com CTM REFERENCE Freescale Semiconductor, Inc. CUSTOMER FEEDBACK QUESTIONNAIRE (CTMRM) Motorola wishes to continue to improve the quality of its documentation. We would welcome your feedback on the publication you have just received. Having used the document, please complete this card (or a photocopy of it, if you prefer). 1. How would you rate the quality of the document? Check one box in each category. Excellent Poor Organization Excellent Poor Tables Readability Table of contents Understandability Index Accuracy Page size/binding Illustrations Overall impression Comments: 2. What is your intended use for this document? If more than one option applies, please rank them (1, 2, 3). Selection of device for new application Other Please specify: System design Training purposes 3. How well does this manual enable you to perform the task(s) outlined in question 2? Completely – Cut along this line to remove – Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 4. Comments: How easy is it to find the information you are looking for? Easy 5. Not at all Difficult Comments: Is the level of technical detail in the following sections sufficient to allow you to understand how the device functions? Too little detail Table of Contents/List of Figures/List of Tables SECTION 1 FUNCTIONAL OVERVIEW SECTION 2 BUS INTERFACE UNIT SUBMODULE (BIUSM) SECTION 3 INTERRUPTS SECTION 4 COUNTER PRESCALER SUBMODULE (CPSM) SECTION 5 FREE-RUNNING COUNTER SUBMODULE (FCSM) SECTION 6 MODULUS COUNTER SUBMODULE (MCSM) SECTION 7 SINGLE ACTION SUBMODULE (SASM) SECTION 8 DOUBLE ACTION SUBMODULE (DASM) SECTION 9 PULSE WIDTH MODULATION SUBMODULE (PWMSM) SECTION 10 ELECTRICAL SPECIFICATIONS APPENDIX A REGISTER SUMMARY APPENDIX B CTM EXAMPLE – CTM2 APPENDIX C GLOSSARY APPENDIX D INDEX Comments: 6. Have you found any errors? If so, please comment: 7. From your point of view, is anything missing from the document? If so, please say what: For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Too much detail Freescale Semiconductor, Inc. 8. How could we improve this document? 9. How would you rate Motorola’s documentation? Excellent Poor – In general – Against other semiconductor suppliers 11. Which company (in any field) provides the best technical documentation? 12. How many years have you worked with microprocessors? Less than 1 year 1–3 years 3–5 years More than 5 years – Second fold back along this line – NE PAS AFFRANCHIR By air mail Par avion IBRS NUMBER PHQ-B/207/G CCRI NUMERO PHQ-B/207/G NO STAMP REQUIRED REPONSE PAYEE GRANDE-BRETAGNE ! MOTOROLA LTD. Semiconductor Products Sector Motorola Ltd., Colvilles Road, Kelvin Industrial Estate, EAST KILBRIDE, G75 8BR. GREAT BRITAIN. F.A.O. Technical Publications Manager (re: CTMRM/D) – Third fold back along this line – 13. Currently there is some discussion in the semiconductor industry regarding a move towards providing data sheets in electronic form. If you have any opinion on this subject, please comment. 14. We would be grateful if you would supply the following information (at your discretion), or attach your card. Name: Phone No: Position: FAX No: Department: Company: Address: Thank you for helping us improve our documentation, Graham Livey, Technical Publications Manager, Motorola Ltd., Scotland. For More Information On This Product, this edge into opposite flap – Go– Last to:tuckwww.freescale.com For More Information On This Product, Go to: www.freescale.com – Cut along this line to remove – Freescale Semiconductor, Inc... 10. Which semiconductor manufacturer provides the best technical documentation? – First fold back along this line – Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. Freescale Semiconductor, Inc. Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. FUNCTIONAL OVERVIEW 1 BUS INTERFACE UNIT SUBMODULE (BIUSM) 2 INTERRUPTS 3 COUNTER PRESCALER SUBMODULE (CPSM) 4 FREE-RUNNING COUNTER SUBMODULE (FCSM) 5 MODULUS COUNTER SUBMODULE (MCSM) 6 SINGLE ACTION SUBMODULE (SASM) 7 DOUBLE ACTION SUBMODULE (DASM) 8 PULSE WIDTH MODULATION SUBMODULE (PWMSM) 9 ELECTRICAL SPECIFICATIONS 10 REGISTER SUMMARY A CTM EXAMPLE – CTM2 B GLOSSARY C INDEX D For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com 1 Freescale Semiconductor, Inc. FUNCTIONAL OVERVIEW 2 BUS INTERFACE UNIT SUBMODULE (BIUSM) 3 INTERRUPTS 4 COUNTER PRESCALER SUBMODULE (CPSM) 5 FREE-RUNNING COUNTER SUBMODULE (FCSM) 6 MODULUS COUNTER SUBMODULE (MCSM) 7 SINGLE ACTION SUBMODULE (SASM) 8 DOUBLE ACTION SUBMODULE (DASM) 9 PULSE WIDTH MODULATION SUBMODULE (PWMSM) Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 10 ELECTRICAL SPECIFICATIONS A REGISTER SUMMARY B CTM EXAMPLE – CTM2 C GLOSSARY D INDEX For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com Freescale Semiconductor, Inc. 1 2 3 4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 5 6 7 8 9 10 11 12 13 14 For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com 15 1 Freescale Semiconductor, Inc. 2 3 4 Freescale Semiconductor, Inc... Freescale Semiconductor, Inc... Freescale Semiconductor, Inc. 5 6 7 8 9 10 11 12 13 14 Literature Distribution Centres: EUROPE: Motorola Ltd., European Literature Centre, 88 Tanners Drive, Blakelands, Milton Keynes, MK14 5BP, England. ASIA PACIFIC: Motorola Semiconductors (H.K.) Ltd., Silicon Harbour Center, No. 2, Dai King Street, Tai Po Industrial Estate, Tai Po, N.T., Hong Kong. JAPAN: Nippon Motorola Ltd., 4-32-1, Nishi-Gotanda, Shinagawa-ku, Tokyo 141, Japan. USA: Motorola Literature Distribution, P.O. Box 20912, Phoenix, Arizona 85036. 15 !MOTOROLA For More Information On This Product, Go to: www.freescale.com For More Information On This Product, Go to: www.freescale.com