RabbitCore RCM2300 User's Manual

> ## Appendix C. Programming Cable

> Appendix C provides additional theoretical information for the Rabbit 2000TM microprocessor when using the DIAG and PROG connectors on the programming cable. The PROG connector is used only when the programming cable is attached to the programming connector (header J1) while a new application is being developed. Otherwise, the DIAG connector on the programming cable allows the programming cable to be used as an RS-232 to CMOS level converter for serial communication, which is appropriate for monitoring or debugging a RabbitCore system while it is running.

> The programming port, which is shown in Figure C-1, can serve as a convenient communications port for field setup or other occasional communication need (for example, as a diagnostic port). There are several ways that the port can be automatically integrated into software. If the port is simply to perform a setup function, that is, write setup information to flash memory, then the controller can be reset through the programming port, and a cold boot is performed to start execution of a special program dedicated to this functionality.

> Figure C-1. Programming Port Pin Assignments

> When the PROG connector is used, the /RESET line can be asserted by manipulating the serial port DTR line and the STATUS line can be read as DSR on the serial port. The target can be restarted by pulsing reset and then, after a short delay, sending a special character string at 2400 bps. To simply restart the BIOS, the string 80h, 24h, 80h can be sent. When the BIOS is started, it can tell whether the programming cable is connected because the SMODE1 and SMODE0 pins are sensed as being high. This will cause the Rabbit 2000 to enter the bootstrap mode.

> Alternatively, the DIAG connector can be used to connect the programming port. The /RESET line and the SMODE1 and SMODE0 pins are not connected when this connector is used, and are pulled low by resistors on the target board. The programming port is then enabled as a diagnostic port by polling the port periodically to see if communication needs to begin or to enable the port and wait for interrupts. The pull-up resistors on RXA and CLKA prevent spurious data reception that might take place if the pins floated.

> If the clocked serial mode is used, the serial port can be driven by using two toggling lines that can be driven and one line that can be sensed. This allows a conversation with a device that does not have an asynchronous serial port but that has two output signal lines and one input signal line.

> Once you establish that the programming port will never again be needed for programming, it is possible to use the programming port I/O for additional I/O lines. Table C-1 lists the pins available for this alternate configuration.

> Table C-1. RabbitCore RCM2300 Programming Port Pinout Configurations
> Pin | Pin Name | Default Use | Alternate Use | Notes
> Header J1 | 1 | RXA | Serial Port A | PC6--Input |
> 2 | GND |  |  |
> 3 | CLKA |  | PB1--Bitwise or parallel programmable input |
> 4 | VCC |  |  |
> 5 | RESET | Reset (input only) |  | Connected to reset generator U1
> 6 | TXA | Serial Port A | PC7--Output |
> 8 | STATUS |  | Output |
> 9 | SMODE0 |  | Input | Must be low when RCM2300 boots up
> 10 | SMODE1 |  | Input | Must be low when RCM2300 boots up

> Table C-2 lists the locations of these programming port I/O on headers J4 and J5.

> Table C-2. Locations of Programming Port I/O
> on RCM2300 Headers J4 and J5
> Programming Port Pin Name | Pin | Pin
> RXA | Header J4 | 7 | Header J5 | not connected
> GND | 1 | 26
> CLKA | not connected | not connected
> VCC | 2 | 25
> RESET | not connected | 91
> TXA | 8 | not connected
> STATUS | 21 | not connected
> SMODE0 | 18 | not connected
> SMODE1 | 17 | not connected

> 1 This is not the same reset that is on the programming port. Refer to the schematic (090-0119) for more information.

Rabbit Semiconductor http://www.rabbitsemiconductor.com Voice: (530) 757-8400 FAX: (530) 757-8402 sales@rabbitsemiconductor.com