TPU Function Source Code and Tools

TPU Block Diagram

Main Page | Manuals, Source Code, & Tools | Links

  • Mask A Source & App Notes
  • Mask G Source & App Notes
  • Miscellaneous Function Source
  • TPU Engineering Bulletins
  • TPURM/AD, other Useful TPU Manuals and Information
  • Arno Morbach's TPU I2C Function
  • Eric Dönges' TPU ALARM Function
  • Bill Knight's TPU UART C Code
  • Motorola's TPU Assembler and Debugger Tools
  • GPL'd TPU Assembler by Zoltán Kócsi

    App Note TPUPN00: Using the TPU Function Library and TPU Emulation Mode
    137.3KB PDF
    NEW! App note in HTML format

    Mask A Source (Timing/Counting)

    Click here to download the entire Mask A Source
    The functions available in Mask A are:
    FunctionNameApp Notes (PDF)HTML
    PPWA Period/Pulse-Width Accumulate TPUPN11 Coming Soon
    OC Output Compare TPUPN12 Coming Soon
    SM Stepper Motor TPUPN13 Coming Soon
    PSP Position-Synchronized Pulse Generator TPUPN14 Coming Soon
    PMA Period Measurement with Additional transition TPUPN15A Coming Soon
    PMM Period Measurement with Missing transition TPUPN15B Coming Soon
    ITC Input Capture/Input Transition Counter TPUPN16 Coming Soon
    PWM Pulse Width Modulation TPUPN17 Coming Soon
    DIO Discrete Input/Output TPUPN18 Coming Soon
    SPWM Synchronized Pulse-Width Modulation TPUPN19 Coming Soon
    QDEC Quadrature Decode TPUPN20 TPUPN20

    Mask G Source (General/Motion Control)

    Click here to download the entire Mask G (Rev. A) Source
    Click here to download the entire Mask G (Rev. C) Source
    The functions available in Mask G are:
    FunctionNameApp Notes (PDF)HTML
    PTA Pulse/Time Accumulate TPUPN06 Coming Soon
    QOM Queued Output Match TPUPN01 TPUPN01
    TSM Table Stepper Motor TPUPN04 Coming Soon
    FQM FreQuency Measurement TPUPN03 Coming Soon
    UART Universal Asynchronous Receiver/Transmitter TPUPN07 Coming Soon
    NITC New Input Transition Counter TPUPN08 Coming Soon
    COMM COMMutation TPUPN09 Coming Soon
    HALLD HALL-effect Decode TPUPN10 Coming Soon
    MCPWM Multi-Channel Pulse Width Modulation TPUPN05 Coming Soon
    FQD Fast Quadrature Decode TPUPN02 Coming Soon

    Miscellaneous Function Source

    Click here to download the Miscellaneous Functions
    Functions not provided in either mask:
    SQW SQuare Wave
    RECTW RECTangular Wave
    RECTW2 RECTangular Wave 2
    MHT Measure High Time
    MHT2 Measure High Time 2
    SIOP Serial Input Output Port
    RWTPIN Read/Write Timer and Pins
    DCPM Degree Clock with Period Measurement

    TPU Engineering Bulletins

  • EB268 Starting and Stopping the Time Processor Unit Clock Using the Background Debug Mode [32KB]
  • EB274 Generating Interrupts on the Time Processor Unit [18KB]
  • EB276 Using the ITC Function on the Time Processor Unit A [27KB]
  • EB277 Coherency in the Time Processor Unit (TPU) [26KB]
  • EB278 Latency on the Time Processor Unit [19KB]
  • EB280 Programming the Channel Control Registers on the Time Processor Unit [26KB]
  • EB282 Using the Output Compare Function on the Time Processor Unit and an Example that Includes PPWA [36KB]

    TPU Manuals and Information

  • The First Edition of TPURM/AD, Section 4 [393 KB Adobe Acrobat Document]
  • The First Edition of TPURM/AD, Section 4 [446 KB Zipped MS-Word 97 Document]
  • The Current Edition of the TPU Reference Manual (includes TPU2) [768KB PDF]
  • NEW! TPURM/AD, Appendix B (87 KB Adobe Acrobat Document)
  • NEW! TPURM/AD, Appendix B (35 KB Zipped MS-Word 2000 Document)
  • Time Processor Unit Macro Assembler (TPUMASMREF/D3) Reference Manual (includes TPU2) [213KB PDF]
  • TPU Microcode Training from Motorola

    Arno Morbach's TPU I2C Function


    This function provides an easy way to connect IIC devices to the 68332 or
    68376. Two adjacent channels are used, the first one provides the user inter-
    face. The function has been tested with IIC EEPROMs, but it should work with 
    several other IIC slaves. Since the TPU is always master of the IIC bus,     
    there is no limit of the response time. If there are other TPU functions,    
    the transfer time will go up, but it will not be disturbed.                  
    The following description assumes, that you are familiar with the IIC bus    
    and its addressing scheme.                                                   

    Arno writes:

    "I would like to hear if someone really used this function
    because I only did some tests with an I2C-EEPROM.
    Any comments to the function or suggestions would be welcome."
    -Arno Morbach

    Download the zipped source (7KB)

    Eric Dönges' TPU ALARM CLOCK Function


    This function provides a 32 bit alarm clock with a fixed reference
    time. This time can be reset any time; all alarm times are relative
    to this value.
    Download the zipped source (4KB)

    Motorola Tools

    TPU Macro Assembler v. 3.33 (Beta)
    TPU Debugger v 1.13
    Background Debug Mode Driver Package for Motorola's 16- and 32-Bit Microcontrollers

    Zoltan Kocsi's TPU Assembler

    Zoltán writes:

    Tas is an assembler that assembles the Motorola Time Processor Unit
    I wrote the assembler for it because there are only two other versions 
    that I know of:
    An official assembler, that you can buy from Motorola and runs on
    Windows (maybe DOS too, used to be DOS only) and a free version, 
    from Motorola again, that runs under DOS. The Windows one comes with 
    extensive docs, the free one with none. In addition, Motorola does not 
    give you the microcode programming docs without buying the official 
    assembler. This policy IMHO sucks, but that's not relevant now. 
    By the way, the document is called TPUMASMREF/D1.
    Since I do not use Windows and try not to use DOS either, I decided to 
    write an assembler myself that I can use on Linux. Armed with my 5 year 
    old docs I jumped on it and this assembler is the result."
    -Zoltan Kocsi (a.k.a. Kocsonya)

    Bendor Research Pty. Ltd.

    Tas 1.0.0 (tgz; 117KB)

    Bill Knight's C Implementation of a TPU-based UART

    Bill writes:

    "I have not re-compiled this to ensure everything
    is resolved, but I also haven't changed ANY of the actual code.
    Two more things. 1) Portions of the code were "pulled in" from various
    application notes, etc. and 2) PLEASE NOTE THAT THE ASM STATEMENTS
    Oh yes, this code was written to use the SDS CrossCode compiler and
    may require changes for other compilers."
    -Bill Knight

    R O SoftWare

    Download the zipped source (9KB)

    Main Page | Manuals, Source Code, & Tools | Links

    2008/4/13: FINALLY added Appendix B of TPU/RM
    2004/1/15: Added Scott Howards' BDM Driver Package
    2002/7/26: Added Eric Dönges' Alarm Clock Function source
    2001/4/12: Added Zoltán Kócsi's Tas TPU Assembler
    2000/12/21: Added Arno Morbach's I2C Function source
    2000/12/19: Added Bill Knight's UART source
    2000/6/6: Created this download page
    Planet Earth Send Mail
    You are visitor to this page.

    Last modified: