RMB-167I USER’S GUIDE Version 1.0 JULY 1996 RIGEL Corporation P.O. Box 90040 Gainesville, FL 32607 (352) 373-4629 http://www.rigelcorp.
(C) 1996 by Rigel Corporation. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, or transmitted in any form, or by any means, electronic, mechanical, photo copying, recording, or otherwise, without the prior written permission of Rigel Corporation. The abbreviation PC used throughout this guide refers to the IBM Personal Computer or its compatibles. IBM PC is a trademark of International Business Machines, Inc. MS Windows is a trademark of Microsoft, Inc.
WARRANTY RIGEL CORPORATION- CUSTOMER AGREEMENT 1. 2. Return Policy. This return policy applies only if you purchased the RMB-167i industrial board directly from Rigel Corporation. If you are not satisfied with the items purchased, prior to usage, you may return them to Rigel Corporation within thirty (30) days of your receipt of same and receive a full refund from Rigel Corporation. You will be responsible for shipping costs. Please call (352) 373-4629 prior to shipping.
Table Of Contents 1. OVERVIEW .......................................................................................................................... 7 1.1 HARDWARE ............................................................................................................................ 7 1.2 SOFTWARE : READS166 EVALUATION PACKAGE .................................................................... 8 1.3 PARTS LIST ........................................................................................
.1 CONFIGURING U7 AND U8..................................................................................................... 18 6.1.1 Chip Selection ............................................................................................................. 18 6.1.2 Jumper Selection ........................................................................................................ 18 6.2 DOWNLOADING AND RUNNING PROGRAMS IN ROM................................................................. 18 6.2.
1. OVERVIEW The RMB-167i industrial board contains the Siemens SAB C167 16-bit high-performance microcontroller in the metric plastic quad-flat pack package. The board accepts either the SAB C167-LM, the SAB C167SR-LM, or the SAB C167CR-LM. The only change needed on the board for the different processors is the oscillator. The oscillator for the 167-LM is 40 MHz and for the 167SR-LM and 167CR-LM is 5 MHz. Please see the Siemens’ documentation for details on system clock speed.
1.2 Software: READS166 Evaluation Package • • Runs in the MS-Windows 3.1 environment. Supports the bootstrap loader feature. READS166 downloads a minimal monitor during bootstrapping. • Source code and description of the bootstrap program. • Allows downloading and running applications programs • Demonstration programs RMON167 - monitor program • Downloaded after bootstrapping (or may be placed into ROM) • Supports basic memory and port functions. • Downloads and runs applications programs.
2. QUICK START TUTORIAL 2.1 System Requirements for READS166 READS166 runs in MS Windows and is installed in a one-step operation by running the INSTALL.EXE from DOS or the Windows File Manager. READS166 is designed to work with an IBM PC or compatible 386 or better, running MSWindows 3.1 or later. Although Windows may be run without a mouse it is much more practical to use one. A mouse is recommended when using READS166. READS166 uses either COM1 or COM2 to talk to the RMB-167i.
1. 2. 3. 2.5 1. 2. Select the processor type using the Processor | SAB C167 xR menu command. Select the communication port parameters using the TTY | Setup menu command. You will need to select the COM port you are using, then the default configuration for the rest of the parameters are as follows: 8 data bits, 9600 baud rate, 1 stop bit and none for the parity bits. Open the TTY window using the TTY | Connect menu command. Bootstrapping Press the reset button on the board and wait 3 seconds.
READS166 Help. Simply select Help | Contents from the main menu. Once in the Help System, select topic Toolbar for information on the icons of the speedbar.
3. OPERATING NOTES The RMB-167i needs two connections: to a 5 volt (+/- 5%) well regulated power supply and to the serial port of a host via a modem cable. 3.1 Power Power is brought to the RMB-167i board by a two-position screw-type terminal block or a DC jack. A well regulated 5V DC source is required. The (+) and (-) terminals are marked on the board. The center connector of the DC jack should be the (-) terminal and the outside the (+) terminal.
an EINIT instruction. The LED RO will be off and remain off until the bootstrap loader successfully completes loading the bootstrap file into RAM. The yellow LED is an auxiliary LED, whose state is determined by the GAL equations. For example the user may program the yellow LED to indicate the presence of a program in EPROM. In the default configuration the yellow LED is opposite of the green LED. 3.6 Slide Switch (S5) The slide switch is inactive on the board with the factory GALs installed.
4. JUMPER CONFIGURATIONS 4.1 JP3 (Reset Options) JP3 is a 16 x 2 header. Each pair of posts corresponds to a bit of Port 0. The silkscreen is labeled from 0 to 15 indicating bit or jumper positions. Some of the SAB C167 operating modes are determined during reset by the state of Port 0 bits. (Refer to the Siemens data book for further information.) Inserting a jumper in JP3 connects the corresponding bit of Port 0 to ground via a 15K resistor. This, in turn, sets the operating mode.
the header are denoted by VCC, R, T, C, and GND, which correspond to VCC, MRST, MTSR, SCLK, and GND, respectively. 4.5 JP11 and JP12 These jumpers are not used at present.
5. MEMORY BLOCK OPTIONS There are two blocks of memory available on the RMB-167i board. There is a RAM block which may hold 64K or 256K of memory, and there is a ROM block which may hold up to 64K of memory. 5.1 RAM Memory Options The RAM block is designed to take static RAMs, either 32K 62C256-type, or 128K 681000type static RAM chips. Alternately 62C256-type battery-backed RAMs may be used in the RAM block. Two chips are needed, one for EVEN and the other for ODD addresses.
Jumper location NONE CFG0 CFG1 CFG0 and CFG1 Low 32K RAM ROM RAM ROM High 32K RAM RAM ROM ROM The RAM and ROM blocks of memory can be mapped in a variety of ways with a minimal memory block size of 8K. The EPROMs/EEPROMs may be configured to occupy low memory, high memory, or start at low memory and then relocate to high memory upon initialization by appropriate jumper selections. The GALs may be reprogram by the user, or RIGEL Corporation, to support the different memory maps.
6. THE ROM MEMORY BLOCK The GAL programs support a variety of alternative memory maps using the jumpers CFG0, CFG1, and CGF2. See section 5.4 to determine the memory map configuration you wish to use. The following sections describe how to select which chips to use in the ROM memory block, and how to download to, and run programs from, the ROM block. 6.1 Configuring U7 and U8 6.1.1 Chip Selection The RMB-167i has two sockets marked U7 and U8 which are intended for a variety of nonvolatile devices.
1. In order to run the program select the TTY | Run menu item and type the program’s starting address at the address field. 2. Select OK to run the program. 3. Alternately after the program is downloaded when the monitor prompt appears you may type G(starting address) to run the program. Running the program with the starting address at zero. 1. Remove the jumper located in P4 of header JP3. This prevents the processor from entering the bootstrap mode when the reset button is pressed. 2.
At present the README file for the DOS utility is located on the BBS. Please download the README file and follow the directions there. Burning the EEPROMs in run time Burning an EEPROM byte takes about 1000 times longer than a memory write cycle. Once a byte is written to the EEPROM, the processor should not address the EEPROM until after the byte is burnt. Thus, the code to burn the EEPROM byte must reside outside the EEPROM. One approach is to load the burn code into RAM. The demonstration program BURN01.
Programming the EPROMs The EPROMs must have the program burned into them using a separate EPROM burner. The RMB-167i will not burn the EPROMs. When programming the EPROMs, split your code into odd and even bytes. Almost all EPROM burners support this option. Running the program with the starting address above zero. 1. With the power disconnected populate U7 and U8 with the pre-programmed EPROMs. 2. Insert the jumpers above U8 into the ROM position. 3. Connect the power to the board. 4.
7. PAL EQUATIONS A PALCE16V8, and a PALCE22v10 are used. U9 is responsible for the bootstrap loader logic, and the second U10, for the memory decode logic. 7.1 U9 Equations ;PALASM Design Description ;------------------------ Declaration Segment -----------TITLE RMB-167i Memory Decode Logic -- RAM/EPROM REVISION 1.
7.
PIN PIN PIN 20 21 22 MA15 MA16 MA17 COMBINATORIAL ; COMBINATORIAL ; COMBINATORIAL ; ;------------------------- Boolean Equation Segment -----EQUATIONS RAMSELL_ = A0 + (A15+/CFG0) * (/A15+/CFG1) + (/A14 * /CFG2) RAMSELH_ = BHE_ + (A15+/CFG0) * (/A15+/CFG1) + (/A14 * /CFG2) ROMSELL_ = A0 + (A15+CFG0) * (/A15+CFG1) * (A14 + CFG2) ROMSELH_ = BHE_ + (A15+CFG0) * (/A15+CFG1) * (A14 + CFG2) MA13 = A13 MA14 = A14 MA15 = A15 MA16 = A16 MA17 = A17 ;---------------------------------------------------------
8. HEADERS The RMB-167i board has three headers: the input/output header JP9 and the system header JP8 and the extra input/output header JP10. Ports 2, 3, and 5 are available on JP9. JP8 contains the address, data and control busses. Individual signals of these jumpers are listed below. The tables reflect the physical orientation of the headers and the enumeration of their individual posts. Pin 1 may be identified as the post with the square pad on the printed circuit board. 8.
8.2 JP9 - Input/Output Header Signal RMB-167 RMB-165 RMB167i (JP12) Ground Ground P5.0 not used P5.2 not used P5.4 not used P5.6 not used P5.8 not used VAGND not used VAREF not used P2.0 not used P2.1 not used P2.2 not used P2.3 not used P2.4 not used P2.5 not used P2.6 not used P2.7 not used P2.8 P2.9 P2.10 P2.11 P2.12 P2.13 P2.14 P2.15 Pins RMB-166 (JP2) P5.0 P5.2 P5.4 P5.6 P5.8 VAGND VAREF P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.
8.3 JP10 - Extra Input/Output Header Signal RMB-167i RMB-165i RMB-167 Ground Ground P6.0 P6.2 P6.4 P6.6 A23 not used VAGND not used VAREF not used P5.0 not used P5.1 not used P5.2 not used P5.3 not used P5.4 not used P5.5 not used P5.6 not used P5.7 not used P5.8 not used P5.9 not used P5.10 P5.11 P5.12 P5.13 P5.14 P5.
9. BOOTSTRAPPING The RMB-167i bootstrapping is triggered by grounding P0L.4 at reset. A 32 pin header is used to ground the bits of P0L via a resistor array with a nominal value in the range of 15K to 33K. Note that the GAL which controls the bootstrap load operation is also responsible for turning on the LED. In its default implementation, the LED is lit once the RSTOUT# signal is activated. For specific applications, the user may alter the operation of the bootstrap logic by changing the GAL equations.
Note that the NOP (no operation) operations are required to fill the 32 bytes, since the bootstrap loader remains active until all 32 bytes are received. When the bootstrap loader receives its last byte and places it in address 0FA5Fh, it makes a jump to 0FA40h and starts executing the code. This is the short loop given above. Note that at this time the internal RAM starting from 0FA60h does not contain any relevant code. The short loop takes advantage of the serial port S0 which is already initialized.
respectively. The code within the 604-byte download block pokes these bytes starting from address 0. That is, these instructions are placed into memory, one word at a time, as data. The following instructions are used. mov mov mov mov R1, #0A55Ah 0, R1 R1, #0A5A5h 2, R1 ; begin: DISWDT mov mov mov mov R1, #0B54Ah 4, R1 R1, #0B5B5h 6, R1 ; EINIT This pattern is used throughout sections 2 and 3. First the word is written to register R1. Then the register is copied to memory. The file BTL67.
10. THE MONITOR PROGRAMS 10.1 Minimal Monitor The minimal monitor is placed by the bootstrap loader starting at address 8000h. The monitor responds to two single-letter commands ’D’ and ’G’. The ’D’ command places the monitor in a download mode. Code in the Intel Hex format is expected. Code may be downloaded anywhere in the first 64K segment. The ’G’ (Go) command expects 4 hexadecimal characters. These 4 characters specify an address within the first 64K segment. A jump is performed to this address.
10.2 MON167 Monitor The monitor program RMON167 allows inspecting and modifying the first 64K segment of RMB-167i memory, configuring the ports, inputting and outputting from the general purpose ports, downloading code in the Intel Hex format, and branching to user code. RMON167 features are invoked by single-letter commands. RMON167 assumes a 40Mhz (5 MHz) system crystal. Serial port 0 is initialized to run at 9600 Baud with 8 bits of data, 1 stop bit and no parity bits.
M Memory The first 64K segment of the RMB-167i memory may be inspected or modified by the M command. The M command is also useful to poke short programs into memory. M XXXX displays the current contents of memory address XXXX. M XXXX=nn inserts the byte nn into memory address XXXX. When this command is used, RMON167 displays the current contents as well as the new contents. The address XXXX is incremented and the current contents of (XXXX+1) are displayed. Consecutive bytes may be written starting at XXXX.