-
- What is an eTPU or TPU?
- A TPU (Time Processing Unit) is a custom piece of silicon available
from Freescale on a variety of microcontrollers. Because the eTPU
executes code, just like a CPU does, the designer can be led into
the mistaken view that the TPU is simply a co-processor. Actually,
from a design standpoint, the TPU is similar to an ASIC or a FPGA
in that a wide variety of circuitry can be replaced with a single
device. But, unlike an ASIC or a FPGA, the TPU is free, assuming
that the decision to use a microcontroller that contains a TPU such
as a 683xx or HC16 has already been made.
An eTPU (Enhanced Time Processing Unit) is Freescale's successor
to the TPU. Conceptually similar to the TPU, the eTPU contains more
channels, has more sophisticated channel hardware, and supports angle
mode in addition to timer mode.
- How can using the eTPU save me money?
- The benefit of using the eTPU (or TPU) is its ability to replace
external circuitry and thereby save you money.
-
- What circuitry can the eTPU
replace?
- When considering the types of circuitry that the eTPU can replace,
it is important to keep in mind that the eTPU can be programmed
using your custom microcode. Thus, many applications for which the
eTPU is suited are not supported by a standard mask and are not
found in Freescale's custom eTPU microcode library. The following
is a list of a few notable devices and circuits that the eTPU can
replace.
- ASICs
- FPGAs
- UARTs (RS422, RS485)
- ARINC 429 Chipsets
- Data Encryptors
- Stepper Motor Controllers
- Multiphase Commutation Motor Controllers
- Hall Effect Decoders
- Quadrature Decoders
- F/D Converters
- D/F Converters
- A/D Converters (A/F into F/D)
- D/A Converters (PWM into LPF)
-
- How does the eTPU achieve
such fine resolution?
- The key feature of the eTPU is its proactive approach to handling
events and the resulting fine resolution achieved for waveform generation
and measurement. The eTPU consists of a single microsequencer and
dedicated channel hardware (there are 16 channels in the TPU and
64 total channels in the eTPU). The microsequencer prepares the
channel-specific hardware to react to possible future events. When
a particular event actually occurs, the hardware autonomously performs
some action and requests microsequencer servicing. Because the hardware
is autonomous, the usual latency penalties associated with an undedicated
microsequencer are not incurred. The microsequencer responds to
the service request (after servicing any existing requests based
on an optimized scheduling mechanism) and prepares the channel hardware
for the next event.
A helpful example of this mechanism is found in the off-the-shelf
frequency-to-digital conversion routine. For a particular eTPU
channel the microsequencer arms an edge detector to respond to
an I/O pin transition. When the I/O pin transition occurs the
edge detector causes the value from a free running counter to
be stored in a channel-specific register. Microsequencer servicing
is also requested. Upon servicing the channel the microsequencer
updates a running pin edge count, rearms the edge detector, and
uses the free running counter value to maintain a 24-bit cumulative
counter count. After a programmable number of edges, the microsequencer
also interrupts the CPU. The CPU, using the cumulative counter
count and the I/O pin edge count, calculates the I/O pin edge
frequency. This mechanism allows a 68332 running at 20 MHz, for
example, to achieve up to 200 ns resolution on frequency measurement.
- What is the eTPU development environment
like?
- When a particular application is not supported by the existing
standard library of eTPU code, the developer must create custom
eTPU C code. The Byte Craft C compiler is used to create your custom
eTPU "C" code. The code can consist of a combination of
both the standard library code and you custom eTPU code. ASH WARE
Inc.'s eTPU simulator can be used to verify that the eTPU "C"
code meets the requirements of the application.
-
- Why should I take the eTPU
coding course?
- While dramatically easier than TPU microccoding, eTPU coding has
a learning curve. The eTPU coding course is therefore highly recommended.
The cost of approximately $1000 is well worth it. Freescale can
provide the training at your facility.
-
- Are there printed materials
about eTPU microcoding?
- Newcomers to writing custom TPU microcode have been hampered by
a dearth of readily available information. Amy Dyson and Munir Bannoura
have addressed this issue by publishing a book called "TPU Microcoding
for Beginners". This book is available though ASH WARE. Please contact
us to get your copy!
-
- A new book on eTPU coding, "eTPU Coding Made Easy,"
will be available through ASH WARE in first quarter, 2004.
-
- The second best set of information is provided in the eTPU coding
course notes. If you cannot attend the course be sure to acquire
these notes. Detailed descriptions of all microcode functions are
compiled in a single notebook titled TPULITPAK/0. For more information,
contact your local Freescale FAE or the Literature Distribution
Center at 602.303.5454.
-
- How can I obtain the TPU microcode
assembler?
- A freeware TPU microcode assembler is available from Freescale's
freeware Web server. Freescale also sells a released version of
the TPU assembler that includes documentation for approximately
$500. Contact your local Freescale sales office for further information
about the TPU microcode assembler.
-
- Tell me more about ASH WARE's
eTPU and TPU simulators
- ASH WARE offers the only commercially available TPU simulator.
Capabilities include script and test vector languages, a graphical
logic analyzer, and source-level debugging. A free demonstration
version is available upon request.
-
- ASH WARE's eTPU Stand-Alone Simulator is
-
- Is there an eTPU or TPU debugger?
-
Lauterbach
now has a commercially available eTPU and TPU debugger.
- What is the MCUInit?
- MCUInit provides a graphical user interface for configuring and
debugging inter-module bus (IMB) peripheral devices such as the
TPU. The package will also initialize the standard TPU functions.
The MCUInit is available from a number of vendors. For further information
contact Hamilton Hallmark at 800.424.2668, or Time at 800.789.8463,
or Arrow at 800.777.2776.
-
- Is there technical support for
eTPU and TPU microcoding?
- Call or fax Freescale's applications hotline.
|