next up previous contents
Next: Operating Instructions Up: Robot-computer Interface Previous: Robot-computer Interface

The MC68HC11EVBU Chip

The MC68HC11 MCU device is an advanced single-chip MCU with on-chip memory and peripheral functions. The EVBU comes with a monitor/debugging program called BUFFALO (Bit User Fast Friendly Aid to Logical Operations), which is contained in the MCU ROM. User code can be assembled using the line assembler in the BUFFALO monitor program, or else by assembling code on a host computer, and then downloading the code to the EVBU user RAM via Motorola S-records. In the later case the monitor program can be used to debug the assembled user code. There are a lot of utility subroutines in the BUFFALO program that can be used for any program of our own. The MCU that is being used here is MC68HC11E9FN1.

Evaluation and debugging control of the EVBU is provided by the monitor program via terminal interaction. RS-232C terminal I/O port interface circuitry provides communication and data transfer operations between the EVBU and external terminal/host computer devices. A fixed 9600 baud rate is provided for the terminal I/O port.

The EVBU requires a user-supplied +5 Vdc power supply and an RS-232C compatible terminal for operation. A host computer is used with the EVBU to download Motorola S-record information.

The MC68HC11 MCU SCI(serial communication interface) has been set for 9600 baud using a 2MHz E clock. This baud rate can be changed by software by reprogramming the BAUD register in the MCU. The EVBU is wired as data communication equipment(DCE), whereas a dumb terminal (which I used to check the communication protocol before going to the workstation), and most serial modem ports on host computers are wired as data terminal equipment(DTE). This requires a straight-through cable to be used. The monitor program uses the MCU internal RAM located at $0048-$00FF. The control registers are located at $1000-$103F. The EVBU allows the user to use all the features of the BUFFALO software, but then the user can only use locations $0000-$0047 and $0100-$01FF of RAM (325 bytes) and 512 bytes of EEPROM($B600-$B7FF). The total memory map is shown below.

ADDRESS                         RESTRICTIONS
================================================================================

$0000-$01FF          512-Bytes of RAM(can be remapped to any 4K page by the INIT
                     Register).

$0000-$0047          Available to user.

$0048-$0065          BUFFALO monitor stack area.

$0066-$00C3          BUFFALO variables.

$00C4-$00FF          Interrupt pseudo vectors(jumps).

$0100-$01FF          User available.

$1000-$103F          MCU control registers. 

$4000                Some versions of EVBs have a D  flip-flop addressed at this
                     location. During initialization, BUFFALO writes $00 to this
                     location to retain compatibility.

$9800-$9801          BUFFALO supports serial I/O to a terminal via a ACIA
		     (external IC) located at $9800 in the memory map. 

$B600-$B7FF          512-Bytes of EEPROM.

$D000-$FFFF          12K ROM.

$D000-$D00F          BUFFALO supports serial I/O to a terminal and/or host via 
                     a DUART(external IC) located at $D0000 in the memory map. 

$FFC0-$FFFF          Normal Interrupt Vectors.

================================================================================

There are some Jumpers on the evaluation board which decide as to which program to run when reset. In one configuration (monitor mode) a program called PCBUG11 can be run from a PC to control, load and verify programs into various memory locations. Programming and erasing the EEPROM is also done using this software. If we change the configuration of the jumpers, we can run the BUFFALO program. But if the Jumper J2 which connects the pin E0 to logic 0 or logic 1, is changed to logic 1, then the program jumps to location $B600 on reset. This is very useful because this is the starting location of EEPROM. So once you program the EEPROM, then the required program can be run on reset. I have the communication control program start at this location, and each time I reset the board, we enter this program, and it remains in an infinite loop. There are a lot of other jumpers which change the modes of operation but which are beyond our requirements (like expanded-multiplexed, special-bootstrap, or special-test modes) to write about them in this report.




next up previous contents
Next: Operating Instructions Up: Robot-computer Interface Previous: Robot-computer Interface

Matanya Elchanani
Wed Dec 18 17:00:21 EST 1996