circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Issue 157 August 2003
Spotlight on Renesas H8 Family
Hitachi and Mitsubishi Market MCUs for Embedded Systems


 

H8S SERIES

The H8S/2000 series CPU has a 32-bit architecture that can cover a 16-MB address space. Address space can be divided into eight areas each with separate bus specifications. Enhanced addressing and instructions help to make full use of the address space and 32-bit data registers.

A DRAM interface handles up to 8 MB of DRAM. A direct memory access (DMA), data transfer controller (DTC), and timer pulse unit (TPU, which is similar to the ITU), and programmable pulse unit (PPG, which is similar to the TPC) are added to the standard UART, ADC, and DAC peripherals.

The ’2329 series takes on applications that require more processing power. You’ll find it useful for touch-screen controllers, CD R/W drives, medical monitors, LAN hubs, GPS systems, and bar code scanners.

The DRAM interface produces all of the CAS and RAS signals to support external DRAM in address areas two through five. The on-board bus controller allows external devices requiring different bus specifications to live in harmony by segregating them into one of eight address areas. Each of these areas can have specific wait states generated for them.

The bus master also arbitrates bus rights between the CPU, DMAC, DTC, or an external bus controller. The DMAC can transfer up to 64 KB of byte/word data once in a block move (or to the same address), or it can repeat the operation continuously. DMA Short mode uses an 8-bit source and 24-bit destination, and Long mode uses a 24-bit source/destination. Therefore, the DMA has resources for four short or two long DMA channels that run simultaneously.

The DTC is similar to DMAC because it’s used for transferring data. However, unlike the DMAC, the registers used for transfer control are located off the DTC and in (on-board) RAM. Although the throughput is nearly six times slower, it is not limited to the 4/2 channels of the DMAC.

The 16-bit TPU has six timer channels. The TPU allows for the synchronizing of the timers (i.e., multiple synchronized PWM outputs) and triggering of the PPG. The PPG can output 16-bit data (groups of 4 bits) synchronized with the TPU.

 In addition to the three standard UARTs, the ’2329 contains an SC interface. The asynchronous serial clock and data I/O format of the SC interface is similar to the asynchronous UART 8-bit format with parity, except the receiving device can indicate a parity error (during the normal stop bit time) for an automatic retransmission of data.

There are two clock speeds available for program execution:  Active High Speed mode and Active Medium Speed mode.

The ’2329 has three power-down states to reduce power consumption. Like the H8/300H series, the H8S series features Sleep, Hardware Standby, and Standby modes. Additionally, the H8S series includes Programmer and Boot modes.

In User mode, flash memory programming is handled via user program control by 4-, 32-, and 64-KB block erasures and 128-byte block writes. 

Because this series handles up to 64 KB of code and the ’3048 has 128 KB of flash memory, this method cannot be used directly to program the additional 64 KB. You must supply code for a new boot format. 

 

SUPPORT TOOLS

Renesas offers products to cover each stage of your H8 development. Low-cost or no-cost tools enable quick investigation of H8 capabilities. The Hitachi Embedded Workshop (HEW), which is a software and debugging environment, puts the power of your PC to work by providing a familiar GUI atmosphere in which to write your application. You can use assembly or C/C++ to assemble or compile a file that’s ready for downloading on known working hardware (either your own design or one of the many evaluation boards).

Photo 1 shows the HEW environment on my laptop. From here I can create a project, edit it, make it, and debug it. HEW is free (sorta, kinda). It comes bundled with some evaluation kits, and it’s either time or size limited. If you want the full version—which includes a simulator, profiler, map editor, and stack analyzer—you will need to upgrade through a distributor.

(Click here to enlarge)

Photo 1—Renesas’s HEW has the GUI interface most software engineers are familiar with. Project generator wizards help you move through configuration options quickly, so you can get right at the application code.

The Hitachi Debugging Interface (HDI) launches from the HEW. With the HDI, you have a common GUI to any of the supported debugging platforms, a ROM-resident monitor, an on-chip emulator, or an in-circuit emulator. The serial port allows you to download a ROM monitor and take control of executing your code. You can read/write registers and memory as well as execute your code with a breakpoint. On-chip emulators connect via resources built into the target hardware to provide a debugging interface for real-time debugging. The PCI- or PCMCIA-based emulators offer 255 breakpoints, multiple-level execution trace, and source-level debugging.

For advanced real-time debugging, an in-circuit emulator presents more ways to track down illusive bugs. Emulation memory is mapped to the target processor’s address space, the 32-KB trace buffers can be examined during execution, and event sequencing is possible via a complex event system (CES). The CES lets you specify the exact set of conditions you want to examine. Break, trace, or timing functions are triggered using event or range criteria. Up to 12 hardware breakpoints can be triggered via complex event and range conditions or four user-logic inputs.

The event sequencer is used to generate an event based on the proper sequence of other events. This flexibility gives the in-circuit emulator the means to track down even the nastiest of bugs.

If you merely want to get your code into an H8 without all the emulating hardware, the flash memory development toolkit (FDT) is a free stand-alone, easy-to-use utility. The FDT uses the aforementioned in-circuit programming functions. The MPU uses a serial interface and has a built-in boot function, which allows the flash memory to be erased and code to be downloaded and executed.

After a program exceeds the 64-KB size of the internal boot code loader, things get more complicated. The FDT takes care of downloading a boot kernel to takeover from the boot code and handle the programming of larger flash memories.