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





 

Issue 153 April 2003
Test-Driving the Z8


THE Z8 KIT

The Z8 Encore! development kit is more useful for learning about the basic Z8 hardware and experimenting with the code than anything else. There is no breadboard area with the exception of a couple of spare SMT pads. The only way to get the Z8F6403 out of the house is by way of a couple of dual-row expansion headers.

My Z8F6403-based development kit, shown in Photo 1, came standard without the optional Conexant SocketModem. The second Z8F6403 UART is pinned to the Conexant modem socket. Because the modem is an option and I don’t have one of the SocketModems in the Florida Room, I won’t be dialing up anything using a Z8F6403 and Coexant SocketModem this go around.

(Click here to enlarge)

Photo 1—What you don’t see in this picture is the serial cable and universal wall wart that also come with the development kit. (I’m using those right now.) There’s a CD-ROM full of goodies inside the Development Tools case on the left along with a quick-start guide.

To augment the dual-row expansion headers, a Philips PCA8550 is incorporated on the development board. The PCA8550 is designed to allow PC chipsets to perform "jumperless" configuration operations on motherboards. Basically, the PCA8550 is 4 bits of input and 4 bits of output multiplexed between an I2C input and 4-bit bus input. The PCA8550’s other features include a fifth non-muxed latched output bit and a write-protect line for the I2C interface.

On the development board, the PCA8550 4-bit input bus isn’t connected, and three of the four output bits are terminated on one of the dual-row expansion headers. This allows you to use the Z8F6403’s on-chip I2C engine to twiddle the 3 bits on the expansion header (i.e., ID_0, ID_1, and ID_2) using the services of the PCA8550.

The console connection (wired DCE) is under control of the first Z8F6403 UART and shares the communications lines with the on-board Zilog ZHX1810 IrDA encoder/ decoder (Endec). The IrDA interface is designed to allow you to optically tie the development board to a PDA or similar device that’s capable of short-range (1 m or less) infrared communications.

The services of both UARTs also can be used to establish a couple of RS-485 links if you so desire. In addition, the second UART is wired as a DTE for direct connection to an external modem via a male nine-pin shell connector. The multiple interfaces attached to each UART are mutually exclusive with respect to the UART the shared interfaces are attached to.

A special six-pin debugger port on the development board mates with the Target Interface Module Board you see in Photo 2. The Target Interface Module Board is simply a MAX3232 RS-232 interface IC and a single buffer Philips 74LVC1G125. The tri-state-capable 74LVC1G125 can handle both 3.3- and 5-V inputs. The combination of the MAX3232 and 74LVC1G125 transforms the PC’s two-wire (i.e., TX and RX) serial interface into a one-wire serial interface at the Z8F6403’s debug (DBG) pin.

(Click here to enlarge)

Photo 2—Take a look at that clever little two-to-one module. It has a large rubber foot underneath it to keep it level and reduce the possibility of straining the DBG port pins.

The on-chip debugger (OCD) is yet another feature of the new-generation Z8F6403. The OCD interface is configured as a single-pin, bidirectional, open-drain, half-duplex transceiver. To keep it as simple as possible, the OCD uses a standard start-stop asynchronous data format; it’s designed to connect to a PC’s serial port using a minimal amount of interface hardware. All you really need is a pull-up resistor and a blocking diode (or tri-state buffer like the 74LVC1G125) to use the OCD. The whole scheme works on pulling one side of the 10-kW pull-up resistor to ground for zeros and leaving it alone for the ones. Also, it doesn’t allow the transmit and receive signals to influence each other in the process.

The Z8F6403 can speak to other computers or micros using one-wire and two-wire dialects. It should be no surprise that the flash memory generation of Z80s can also speak four-wire-ese. The on-chip four-wire SPI interface is directly connected to a Dallas/MAXIM DS1722 digital thermometer. Although the DS1722 will work in both standard three-wire and SPI modes, the Z8F6403 only does SPI. With a little programming, you could enable a separate three-wire interface.

Another feature not found on legacy Z80 parts is the 10-bit, analog-to-digital converter. The Z8F6403 multiplexes 12 analog inputs with general-purpose I/O pins. The reference voltage for the ADC block is either generated internally by the Z8F6430 or applied via an external voltage fed through a MAX6160 adjustable voltage reference. A direct memory access (DMA) channel can be activated to automatically take an analog reading and transfer it to the Z8F6430’s register file. There are two more DMA channels that support moving data to and from on-chip peripherals such as the UARTs.

The standard pieces of microcontroller equipment (e.g., an interrupt controller subsystem, multiple timers with PWM and capture options, and a programmable watchdog timer) are all part of the Z8F6403 architecture. The Z8F6403 is a 3.3-V part with 5-V tolerant I/O. The development board includes both 3.3- and 5-V power supply circuitry to provide power to the various development board subcircuits and the Z8F6403 microcontroller. Another Dallas/Maxim part, the DS1233A, makes sure the Z8F6403 is reset properly by providing a clean 350-ms reset pulse on power-up or reset switch closure.

What is any development board without push buttons and some sort of display? Well, the development board does the standard thing with the three user-programmable push buttons and offers the unusual in the display category. Instead of using a standard LCD or multisegment LED display, this board comes equipped with four Lite-On LTP-757G 5 × 7 dot matrix displays. Individual dots on each display are illuminated using 74HCT374s to drive the rows and columns of the dot matrix displays. The LTP-753G dots are arranged as a common anode row and common cathode column. So, to light up a dot, the programmer latches in a logical low (zero) to the dot’s column and a logical high (one) to the dot’s row. Here’s where the fun begins!