Issue
157 August 2003
Spotlight
on Renesas H8 Family
Hitachi
and Mitsubishi Market MCUs for Embedded Systems
H8/Tiny
SERIES
The
H8/Tiny series has an internal 16-bit architecture that
runs on 3 or 5 V. (An internal step-down unit is used
when 5 V is supplied.) The general registers are increased
to 32 bits wide (double word), which can be used as
16/16-bit registers, 8/16-bit registers, and 16/8-bit
registers.
Additional
functions were added to the basic H8 instruction set
to make use of the 16-bit architecture. These include
signed multiply and division, byte-to-word and word-to-double
word sign extension, as well as software interrupt vectors
(TRAPA). Multiple power-down modes, module standby,
dual clocks, and fast oscillator stabilization times
help reduce power consumption.
High-current
output can drive LEDs without an external current driver.
Peripherals for this device include a real-time clock,
8- and 16-bit timers, PWM, UARTs, I2C, and a 10-bit
A/D converter. The H8/300H series is suitable for home
appliances and electronics, small DC motor control,
the mechanical control of office machines, and automotive
control modules.
Dual
synchronous/asynchronous UARTs and an I2C interface
(master/ slave) give the ’3687 plenty of communication
power. There are eight analog inputs to the 10-bit ADC.
A conversion takes a maximum of 134 clock cycles. Single
and continuous conversions are handled on a single-
or multiple-channel basis. Power-on reset, a watchdog
timer, and low-voltage detection circuitry help keep
the MCU’s operation stable.
Two
clock speeds are available for program execution. In
Active High Speed mode, the CPU and all of the on-chip
peripheral functions are enabled, and execution occurs
via the system clock. The Subactive mode has the CPU
executing from the subclock.
The
sleep instruction has six possible power-down modes.
Sleep in High Speed mode halts the CPU while the on-chip
peripherals function via the system clock. Subsleep
mode halts the CPU while the time base function of TimerA,
TimerC, TimerF, TimerG, SCI, AEC, and the LCD controller/driver
operate on the subclock. In Watch mode, the CPU stops,
and the time base function of TimerA, TimerF, AEC, and
the LCD controller/driver operate on the subclock. In
Standby mode, the CPU and all on-chip peripheral functions
freeze. Module Standby mode allows individual on-chip
peripheral functions specified by software to enter
Standby mode.
A
number of I/O bits are responsible for setting the programming
mode for the MPU. In User mode, flash memory programming
is handled under user program control by 1-, 8-, 16-,
and 28-KB block erasures in addition to 128-byte block
writes. Note that this is similar for the H8/300H and
H8S series.
Programmer
and Boot modes operate in the manner described in H8/300L
SLP section of this article. To reiterate, the host
indicates the length of the code (word) it wants programmed
followed by the data. The MPU resets to USER after the
data has been recognized.