Jameco-electronics Rabbit 3000 Manual de usuario

Busca en linea o descarga Manual de usuario para Hardware Jameco-electronics Rabbit 3000. Jameco Electronics Rabbit 3000 User Manual Manual de usuario

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 349
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente

Indice de contenidos

Pagina 1 - Distributed by:

The content and copyrights of the attached material are the property of its owner.Distributed by:www.Jameco.com ✦ 1-800-831-4242

Pagina 2 - Microprocessor

User’s Manual 11. INTRODUCTIONRabbit Semiconductor was formed expressly to design a a better microprocessor for use in small and medium-scale control

Pagina 3 - Trademarks

User’s Manual 917.7 Time/Date Clock (Real-Time Clock)The time/date clock (RTC) is a 48-bit (ripple) counter that is driven by the 32.768 kHz oscillat

Pagina 4 - TABLE OF CONTENTS

92 Rabbit 3000 MicroprocessorTable 7-10. Real-Time Clock RTCxR Data RegistersReal-Time Clock x Holding Register (RTC0R) R/W (Address = 0x02)(RTC1R) (

Pagina 5 - Rabbit 3000 Microprocessor

User’s Manual 937.8 Watchdog TimerThe watchdog timer is a 17-bit counter. In normal operation it is driven by the 32.768 kHz clock. When the watchdog

Pagina 6 - Chapter 11. Timers 149

94 Rabbit 3000 MicroprocessorThe code to do this may also hit the watchdog with a 0.25-second period to speed up the reset. Such watchdog code must be

Pagina 7

User’s Manual 957.9 System ResetThe Rabbit 3000 contains a master reset input (pin 46), which initializes everything in the device except for the Rea

Pagina 8 - User’s Manual

96 Rabbit 3000 MicroprocessorTable 7-14. Rabbit 3000 Reset Sequence and State of I/O PinsPin Name Direction/RESET Low* Recognized by CPUPost-Reset†/R

Pagina 9

User’s Manual 977.10 Rabbit Interrupt StructureAn interrupt causes a call to be executed, pushing the PC on the stack and starting to exe-cute code a

Pagina 10 - 1. INTRODUCTION

98 Rabbit 3000 MicroprocessorIn the case of the external interrupts the only action that will clear the interrupt request is for the interrupt to take

Pagina 11 - 2 Rabbit 3000 Microprocessor

User’s Manual 997.10.1 External InterruptsThere are two external interrupts. Each interrupt has 2 input pins that can be used to trig-ger the interru

Pagina 12 - User’s Manual 3

100 Rabbit 3000 Microprocessor7.10.2 Interrupt Vectors: INT0 - EIR,0x00/INT1 - EIR,0x08When it is desired to expand the number of interrupts for addi

Pagina 13 - 4 Rabbit 3000 Microprocessor

2 Rabbit 3000 Microprocessor1.1 Features and Specifications Rabbit 3000• 128-pin LQFP package. Operating voltage 1.8 V to 3.6 V. Clock speed to 54+ M

Pagina 14 - User’s Manual 5

User’s Manual 1017.11 Bootstrap OperationThe device provides the option of bootstrap from any of three sources: from the Slave Port, from Serial Port

Pagina 15 - 6 Rabbit 3000 Microprocessor

102 Rabbit 3000 MicroprocessorSerial Port A is selected for bootstrap operation as a clocked serial port when SMODE = 10. In this case bit 7 of Parall

Pagina 16 - User’s Manual 7

User’s Manual 1037.12 Pulse Width ModulatorThe Pulse Width Modulator consists of a ten-bit free running counter, and four width reg-isters. Each PWM

Pagina 17 - 8 Rabbit 3000 Microprocessor

104 Rabbit 3000 MicroprocessorTable 7-17. PWM LSB x RegisterPWM LSB x Register (PWL0R) (Address = 0x88)(PWL1R) (Address = 0x8A)(PWL2R) (Address = 0x8

Pagina 18 - ABBIT 3000 DESIGN FEATURES

User’s Manual 1057.13 Input CaptureThe two-channel Input Capture can be used to time input signals from various port pins. Each Input Capture channel

Pagina 19 - 10 Rabbit 3000 Microprocessor

106 Rabbit 3000 MicroprocessorEach Input Capture counter operates in one of three modes, or can be disabled. The counter is never automatically reset,

Pagina 20 - User’s Manual 11

User’s Manual 107Table 7-19. Input Capture Control/Status RegisterInput Capture Control/Status Register (ICCSR) (Address = 0x56)Bit(s) Value Descript

Pagina 21 - 12 Rabbit 3000 Microprocessor

108 Rabbit 3000 MicroprocessorTable 7-20. Input Capture Control RegisterInput Capture Control Register (ICCR) (Address = 0x57)Bit(s) Value Descriptio

Pagina 22 - User’s Manual 13

User’s Manual 109Table 7-22. Input Capture Source x RegisterInput Capture Source x Register (ICS1R) (Address = 0x59)(ICS2R) (Address = 0x5D)Bit(s) Va

Pagina 23 - 14 Rabbit 3000 Microprocessor

110 Rabbit 3000 Microprocessor7.14 Quadrature DecoderThe two-channel Quadrature Decoder accepts inputs, via Port F, from two external optical increme

Pagina 24 - User’s Manual 15

User’s Manual 3A Rabbit that is slaved to a master processor can operate entirely with volatile RAM, depending on the master for a cold program boot.•

Pagina 25 - 16 Rabbit 3000 Microprocessor

User’s Manual 111The Quadrature Decoder generates an interrupt when the counter increments from 0xFF to 0x00 or when the counter decrements from 0x00

Pagina 26 - User’s Manual 17

112 Rabbit 3000 MicroprocessorTable 7-25. Quadrature Decoder Control/Status RegisterQuad Decode Control/Status Register (QDCSR) (Address = 0x90)Bit(s

Pagina 27 - 2.3 Design Standards

User’s Manual 113Table 7-26. Quadrature Decoder Control RegisterQuad Decode Control Register (QDCR) (Address = 0x91)Bit(s) Value Description7:600Disa

Pagina 28 - User’s Manual 19

114 Rabbit 3000 Microprocessor

Pagina 29 - 20 Rabbit 3000 Microprocessor

User’s Manual 1158. MEMORY INTERFACE AND MAPPING8.1 Interface for Static Memory ChipsStatic memory chips generally have address lines, data line, a

Pagina 30 - MICROPROCESSOR FEATURES

116 Rabbit 3000 MicroprocessorFigure 8-2. Typical Memory Chip ConnectionRabbit 3000DATA LINES (8)ADDRESS LINES (20) /CS/WE/OE/CS0/CS1/CS2/OE0/OE1/WE0

Pagina 31 - 22 Rabbit 3000 Microprocessor

User’s Manual 1178.2 Memory Mapping OverviewSee Section 3.2, “Memory Mapping,” for a discussion of Rabbit memory mapping.Figure 8-3 shows an overview

Pagina 32 - 3.2 Memory Mapping

118 Rabbit 3000 MicroprocessorFigure 8-4. Memory SegmentsThe memory management unit accepts a 16-bit address from the processor and translates it int

Pagina 33 - 24 Rabbit 3000 Microprocessor

User’s Manual 1198.4 Memory Interface UnitThe 20-bit memory addresses generated by the memory-mapping unit feed into the mem-ory interface unit. The

Pagina 34 - User’s Manual 25

120 Rabbit 3000 Microprocessor8.5 Memory Bank Control RegistersTable 8-3 describes the operation of the four memory bank control registers. The regis

Pagina 35 - 26 Rabbit 3000 Microprocessor

4 Rabbit 3000 Microprocessor• A built-in clock doubler allows ½-frequency crystals to be used.• The built-in main clock oscillator uses an external cr

Pagina 36 - User’s Manual 27

User’s Manual 121Bit 3—Inhibits the write pulse to memory accessed in this quadrant. Useful for protecting flash mem-ory from an inadvertent write pul

Pagina 37 - 28 Rabbit 3000 Microprocessor

122 Rabbit 3000 MicroprocessorThe Memory Timing Control Register (MTCR) enables the extended timing for the memory output enables and write enables.

Pagina 38 - User’s Manual 29

User’s Manual 123The Breakpoint/Debug controller allows the RST 28 instruction to be used as a software breakpoint. Normally the RST 28 instruction ca

Pagina 39 - 30 Rabbit 3000 Microprocessor

124 Rabbit 3000 Microprocessor8.7 Instruction and Data Space SupportInstruction and Data space (I and D space) support is accomplished by optionally

Pagina 40 - User’s Manual 31

User’s Manual 125are mapped into contiguous regions of memory to create a continuous root code segment starting at the bottom of physical memory in fl

Pagina 41 - 3.3 Instruction Set Outline

126 Rabbit 3000 MicroprocessorFigure 8-6. Use of Physical Memory Separate I & D Space ModelIn Figure 8-6 arrows indicate the direction in which v

Pagina 42

User’s Manual 1278.8 How the Compiler Compiles to MemoryThe compiler actually generates code for root code and constants and extended code and extend

Pagina 43

128 Rabbit 3000 Microprocessor

Pagina 44

User’s Manual 1299. PARALLEL PORTSThe Rabbit has seven 8-bit parallel ports designated A, B, C, D, E, F, and G. The pins used for the parallel ports

Pagina 45 - ALTD) may be

130 Rabbit 3000 Microprocessor9.1 Parallel Port AParallel Port A has a single read/write register:This register should not be used if the slave port

Pagina 46

User’s Manual 5Figure 1-1. Rabbit 3000 Block DiagramCPUExternal InterfaceDataBufferMemoryManagement/ControlAddressBufferMemory ChipInterfaceParallel

Pagina 47

User’s Manual 1319.2 Parallel Port BParallel Port B, has eight pins that can programmed individually to be inputs and outputs. After reset, Parallel

Pagina 48 - LD IY,0x4000

132 Rabbit 3000 Microprocessor9.3 Parallel Port CParallel Port C, shown in Table 9-6, has four inputs and four outputs. The even-numbered ports, PC0,

Pagina 49

User’s Manual 1339.4 Parallel Port DParallel Port D, shown in Figure 9-1, has eight pins that can be programmed individually to be inputs or outputs.

Pagina 50 - SBC instruction the carry

134 Rabbit 3000 MicroprocessorFigure 9-1. Parallel Port D Block DiagramPD7PD4I/O Dataperclk/2Timer A1Timer B1Timer B2perclk/2Timer A1Timer B1Timer B2

Pagina 51

User’s Manual 135Table 9-8. Parallel Port D Register functionsBit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0PDDR (R/W)adr = 0x060PD7 PD6 PD5 PD4 PD3

Pagina 52

136 Rabbit 3000 MicroprocessorThe following registers are described in Table 9-8 and in Table 9-9.• PDDR—Parallel Port D data register. Read/Write.• P

Pagina 53 - 3.5 Interrupt Structure

User’s Manual 1379.5 Parallel Port EParallel Port E, shown in Figure 9-2, has eight I/O pins that can be individually pro-grammed as inputs or output

Pagina 54 - IPSET 1, IPSET 2, IPSET 3)

138 Rabbit 3000 MicroprocessorThe following registers are described in Table 9-11 and in Table 9-12.• PEDR—Port E data register. Reads value at pins.

Pagina 55

User’s Manual 139Table 9-11. Parallel Port E Register functionsBit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0PEDR (R/W)adr = 0x070PE7 PE6 PE5 PE4 PE

Pagina 56

140 Rabbit 3000 Microprocessor9.6 Parallel Port FParallel Port F is a byte-wide port with each bit programmable for data direction and drive. These a

Pagina 57

6 Rabbit 3000 Microprocessor1.2 Summary of Rabbit 3000 Advantages• The glueless architecture makes it is easy to design the hardware system.• There a

Pagina 58 - 4. RABBIT CAPABILITIES

User’s Manual 141The following registers are described in Table 9-14 and in Table 9-15.• PFDR—Port F data register. Reads value at pins. Writes to por

Pagina 59 - 50 Rabbit 2000 Microprocessor

142 Rabbit 3000 MicroprocessorThe functionality of the Parallel Port F pins is not affected for pulse width modulation out-puts and serial clock outpu

Pagina 60 - User’s Manual 51

User’s Manual 1439.7 Parallel Port GParallel Port G is a byte-wide port with each bit programmable for data direction and drive. These are simple inp

Pagina 61 - 4.3 Cold Boot

144 Rabbit 3000 MicroprocessorThe following registers are described in Table 9-17 and in Table 9-18.• PGDR—Port G data register. Reads value at pins.

Pagina 62 - 4.4 The Slave Port

User’s Manual 14510. I/O BANK CONTROL REGISTERSThe pins of Port E can be set individually to be I/O strobes. Each of the eight possible I/O strobes h

Pagina 63 - 54 Rabbit 2000 Microprocessor

146 Rabbit 3000 MicroprocessorTable 10-1 shows how the eight I/O bank control registers are organized.Table 10-1. I/O Bank x Control RegisterI/O Bank

Pagina 64 - IN ASSIGNMENTS AND FUNCTIONS

User’s Manual 147The eight I/O bank control registers determine the number of I/O wait states applied to an external I/O access within the zone contro

Pagina 65 - 5.1 LQFP Package

148 Rabbit 3000 Microprocessor

Pagina 66 - The same pin dimensions apply

User’s Manual 14911. TIMERSThere are two timers—Timer A and Timer B. Timer A is intended mainly for generating the clock for various peripherals, bau

Pagina 67 - 58 Rabbit 3000 Microprocessor

150 Rabbit 3000 Microprocessor11.1 Timer ATimer A consists of ten separate countdown timers A1–A10 as shown in Figure 11-1.Timers A1 and A2–A10 are

Pagina 68 - 5.2 Ball Grid Array Package

User’s Manual 71.3 Differences Rabbit 3000 vs. Rabbit 2000For the benefit of readers who are familiar with the Rabbit 2000 microprocessor the Rab-bit

Pagina 69 - (all dimensions in mm)

User’s Manual 151For seven of the counters (A1–A7), the terminal count condition is reported in a status regis-ter and can be programmed to generate a

Pagina 70 - User’s Manual 61

152 Rabbit 3000 MicroprocessorThe following table summarizes Timer A’s capabilities.The control/status register for Timer A (TACSR) is laid out as sho

Pagina 71 - 5.3 Rabbit Pin Descriptions

User’s Manual 1534(write)0 A4 interrupt disabled.1 A4 interrupt enabled.3(read)0 A3 counter has not reached its terminal count.1 A3 count done. This s

Pagina 72 - User’s Manual 63

154 Rabbit 3000 MicroprocessorThe control register (TACR) is laid out as shown in Table 11-4.The Timer A Prescale Register (TAPR) specifies the main c

Pagina 73 - 5.4 Bus Timing

User’s Manual 155The time constant register for each timer (TATxR) is simply an 8-bit data register holding a number between 0 and 255. This time cons

Pagina 74 - User’s Manual 65

156 Rabbit 3000 Microprocessor11.2 Timer BFigure 11-1 shows a block diagram of Timer B. The Timer B counter can be driven directly by perclk/2, by th

Pagina 75 - 66 Rabbit 3000 Microprocessor

User’s Manual 157The control/status register for Timer B (TBCSR) is laid out as shown in Table 11-7.The control register for Timer B (TBCR) is laid ou

Pagina 76 - User’s Manual 67

158 Rabbit 3000 MicroprocessorThe MSB x registers for Timer B (TBM1R/TBM2R) are laid out as shown in Table 11-9.The LSB x registers for Timer B (TBL1R

Pagina 77 - 5.6 DC Characteristics

User’s Manual 15911.2.1 Using Timer BNormally the prescaler is set to divide perclk/2 by a number that provides a counting rate appropriate to the pr

Pagina 78 - User’s Manual 69

160 Rabbit 3000 MicroprocessorTimer B can be used for various purposes. The 10-bit counter can be read to record the time at which an event takes plac

Pagina 79 - 70 Rabbit 3000 Microprocessor

8 Rabbit 3000 MicroprocessorSerial ports with support for SDLC/HDLC IrDA communications2NoneMaximum asynchronous baud rate clock speed/8 clock speed/3

Pagina 80 - ABBIT INTERNAL I/O REGISTERS

User’s Manual 16112. RABBIT SERIAL PORTSThe Rabbit 3000 has 6 on-chip serial ports designated A, B, C, D, E, and F. All the ports can per-form async

Pagina 81 - 72 Rabbit 3000 Microprocessor

162 Rabbit 3000 MicroprocessorFigure 12-1 shows a block diagram of the serial ports.Figure 12-1. Block Diagram of Rabbit Serial PortsSerial Port F TX

Pagina 82 - User’s Manual 73

User’s Manual 163The individual serial ports are capable of operating at baud rates in excess of 500,000 bps in the asynchronous mode, and 8 times fas

Pagina 83 - 74 Rabbit 3000 Microprocessor

164 Rabbit 3000 Microprocessor12.1 Serial Port Register LayoutFigure 12-2 shows a functional block diagram of a serial port. Each serial port has a d

Pagina 84 - User’s Manual 75

User’s Manual 165The clock input to the serial port unit must be 8 or 16 (selectable) times the baud rate in the asynchronous mode and 2 times the bau

Pagina 85 - 76 Rabbit 3000 Microprocessor

166 Rabbit 3000 Microprocessor12.2 Serial Port RegistersEach serial port has 6 registers shown in the tables below. The status, control and extended

Pagina 86 - User’s Manual 77

User’s Manual 167Table 12-5. Serial Port D RegistersRegister Name Mnemonic I/O Address R/W ResetSerial Port D Data Register SDDR 0xF0 R/W xxxxxxxxSer

Pagina 87 - 78 Rabbit 3000 Microprocessor

168 Rabbit 3000 MicroprocessorTable 12-8. Data Register All PortsSerial Port x Data Register (SADR) (Address = 0xC0)(SBDR) (Address = 0xD0)(SCDR) (Ad

Pagina 88 - 7. MISCELLANEOUS FUNCTIONS

User’s Manual 169Table 12-10. Long Stop Register All PortsSerial Port x Long Stop Register (SALR) (Address = 0xC2)(SBLR) (Address = 0xD2)(SCLR) (Addr

Pagina 89 - Main Clock

170 Rabbit 3000 MicroprocessorTable 12-11. Status Register Asynchronous Mode Only (All Ports)Serial Port x Status Register (SASR) (Address = 0xC3)(SB

Pagina 90

User’s Manual 92. RABBIT 3000 DESIGN FEATURESThe Rabbit 3000 is an evolutionary design. The processor and instruction set are nearly identical to the

Pagina 91 - 82 Rabbit 3000 Microprocessor

User’s Manual 171Table 12-12. Status Register Clocked Serial (Ports A-D only)Serial Port x Status Register (SASR) (Address = 0xC3)(SBSR) (Address =

Pagina 92 - 7.3 Clock Doubler

172 Rabbit 3000 MicroprocessorTable 12-13. Status Register HDLC Mode (Ports E and F only)Serial Port x Status Register (SESR) (Address = 0xCB)(SFSR)

Pagina 93 - 84 Rabbit 3000 Microprocessor

User’s Manual 173Table 12-14. Serial Port Control Register Ports A and BSerial Port x Control Register (SACR) (Address = 0xC4)(SBCR) (Address = 0xD4

Pagina 94 - User’s Manual 85

174 Rabbit 3000 MicroprocessorTable 12-15. Serial Port Control Register Ports C and DSerial Port x Control Register (SCCR) (Address = 0xE4)(SDCR) (A

Pagina 95 - 7.4 Clock Spectrum Spreader

User’s Manual 175Table 12-16. Serial Port Control Register Ports E and FSerial Port x Control Register (SECR) (Address = 0xCC)(SFCR) (Address = 0xDC)

Pagina 96 - User’s Manual 87

176 Rabbit 3000 MicroprocessorTable 12-17. Extended Register Asynchronous Mode All PortsSerial Port x Extended Register (SAER) (Address = 0xC5)(SBER)

Pagina 97 - 88 Rabbit 3000 Microprocessor

User’s Manual 177Table 12-18. Extended Register Clocked Serial Mode (Ports A-D only)Serial Port x Extended Register (SAER) (Address = 0xC5)(SBER) (Ad

Pagina 98 - User’s Manual 89

178 Rabbit 3000 MicroprocessorTable 12-19. Extended Register HDLC Mode (Ports E and F only)Serial Port x Extended Register (SEER) (Address = 0xCD)(SF

Pagina 99 - 90 Rabbit 3000 Microprocessor

User’s Manual 17912.3 Serial Port InterruptA common interrupt vector is used for the receive and transmit interrupts. There is a sepa-rate interrupt

Pagina 100 - User’s Manual 91

180 Rabbit 3000 Microprocessor12.4 Transmit Serial Data TimingOn transmit, if the interrupts are enabled, an interrupt is requested when the transmit

Pagina 101 - 92 Rabbit 3000 Microprocessor

10 Rabbit 3000 Microprocessor2.1 The Rabbit 8-bit Processor vs. Other ProcessorsThe Rabbit 3000 processor has been designed with the objective of cre

Pagina 102 - 7.8 Watchdog Timer

User’s Manual 18112.5 Receive Serial Data TimingWhen the receiver is ready to receive data, a falling edge indicates that a start bit must be detecte

Pagina 103 - 94 Rabbit 3000 Microprocessor

182 Rabbit 3000 Microprocessor12.6 Clocked Serial PortsPorts A–D can operate in clocked mode. The data line and clock line are driven as shown in Fig

Pagina 104 - 7.9 System Reset

User’s Manual 183with new incoming data. Similarly, writing the data to the SxAR register causes the trans-mitter to start a byte transmit operation,

Pagina 105

184 Rabbit 3000 Microprocessoranswer its interrupts within 20 µs. There will be no slow down if the receiver can answer its interrupt within 1/2 cloc

Pagina 106 - User’s Manual 97

User’s Manual 18512.7 Clocked Serial Timing12.7.1 Clocked Serial Timing With Internal ClockFor synchronous serial communication, the serial clock ca

Pagina 107 - 98 Rabbit 3000 Microprocessor

186 Rabbit 3000 MicroprocessorFigure 12-8 shows the timing relationship among perclk, the external serial clock, and data receive. Note that RxA is sa

Pagina 108 - User’s Manual 99

User’s Manual 18712.8 Synchronous Communications on Ports E and FSerial Port E and F are a dual-function serial ports that can be used in either asyn

Pagina 109

188 Rabbit 3000 Microprocessorthe current receive frame is not needed (because it is addressed to a different station, for example) a Flag Search comm

Pagina 110 - 7.11 Bootstrap Operation

User’s Manual 189In HDLC mode the internal clock comes from the output of Timer A2. This timer output is divided by sixteen to form the transmit clock

Pagina 111

190 Rabbit 3000 Microprocessorclock rate must be very small, and depends on the longest possible run of zeros in the received frame. NRZI encoding gua

Pagina 112 - 7.12 Pulse Width Modulator

Rabbit 3000® MicroprocessorUser’s Manual019–0108 • 040731–O®

Pagina 113

User’s Manual 11The Rabbit is an 8-bit processor with an 8-bit external data bus and an 8-bit internal data bus. Because the Rabbit makes the most of

Pagina 114 - Timer A8

User’s Manual 191With NRZ and NRZI encoding all transitions occur on bit-cell boundaries and the data should be sampled in the middle of the bit cell.

Pagina 115

192 Rabbit 3000 Microprocessor12.9 Serial Port Software SuggestionsThe receiver and transmitter share the same interrupt vector, but it is possible t

Pagina 116 - User’s Manual 107

User’s Manual 193LD (HL),A ; 6 update the in pointerIOI LD A,(SCDR) ; 11 get data register port C, clears interrupt requestIPRES ; 4 res

Pagina 117

194 Rabbit 3000 Microprocessor2. Clear bit 4 of the Parallel Port C function register so that the output no longer comes from the serial port. Of cou

Pagina 118 - User’s Manual 109

User’s Manual 195Figure 12-9 illustrates the standard asynchronous serial output patterns.Figure 12-9. Asynchronous Serial Output Patterns12.9.6 Par

Pagina 119 - 7.14 Quadrature Decoder

196 Rabbit 3000 Microprocessor12.9.8 Supporting 9th Bit Communication ProtocolsThis section describes how 9th bit communication protocols work. 9th b

Pagina 120 - Timer A10

User’s Manual 197the receiving interrupt service routine to detect this gap, it is suggested that dummy char-acters be transmitted to help detect the

Pagina 121

198 Rabbit 3000 Microprocessor

Pagina 122 - User’s Manual 113

User’s Manual 19913. RABBIT SLAVE PORTWhen a Rabbit microprocessor is configured as a slave, Parallel Port A and certain other data lines are used as

Pagina 123

200 Rabbit 3000 MicroprocessorA status register can be read by either the slave or the master. The status register has full/ empty bits for each of th

Pagina 124 - EMORY INTERFACE AND MAPPING

12 Rabbit 3000 Microprocessorimportant for RS-485 communication because a half duplex line driver cannot have the direction of transmission reversed u

Pagina 125 - ADDRESS LINES (20)

User’s Manual 201The following table explains the parameters used in Figure 13-2.The two SPD0R registers have special functionality not shared by the

Pagina 126 - 8.3 Memory-Mapping Unit

202 Rabbit 3000 MicroprocessorFigure 13-3. Slave Port Handshaking and InterruptsFigure 13-4 shows a sample connection of two slave Rabbits to a maste

Pagina 127 - Table 8-1. Segment Registers

User’s Manual 203Figure 13-4. Typical Connection Slave Rabbit to Master RabbitThe slave port lines are shown in Figure 13-1. The function of these li

Pagina 128 - 8.4 Memory Interface Unit

204 Rabbit 3000 Microprocessor• /SLAVEATTN—This line is set low (asserted) if the slave writes to the SPD0R register. This line is set high if the mas

Pagina 129

User’s Manual 205If the user for some reason wants to depart from the suggested protocols and poll a register while waiting for the other side to writ

Pagina 130 - User’s Manual 121

206 Rabbit 3000 MicroprocessorBits 1,0—This 2-bit field sets the priority of the slave port interrupt. The interrupt is disabled by (0,0).Table 13-3 d

Pagina 131

User’s Manual 207require a speciality processor. The slave processor can process data to perform pattern recognition or to extract a specific paramete

Pagina 132 - 1 RST 28 is NOP

208 Rabbit 3000 Microprocessorfor this.) Once the software is loaded into the slave, the slave can begin to perform its function.As a simple example,

Pagina 133

User’s Manual 20914. RABBIT 3000 CLOCKSThe Rabbit 3000 normally uses two clocks, the main clock and the 32.768 kHz clock. The 32.768 kHz clock is ne

Pagina 134 - User’s Manual 125

210 Rabbit 3000 Microprocessor14.1 Low-Power DesignThe power consumption is proportional to the clock frequency and to the square of the operating vo

Pagina 135

User’s Manual 132.2.5 Parallel I/O There are 56 parallel input/output lines divided among seven 8-bit ports designated A through G. Most of the port

Pagina 136 - User’s Manual 127

User’s Manual 21115. EMI CONTROLEMI or electromagnetic interference from unintentional radiation is of concern to the microprocessor system designer.

Pagina 137

212 Rabbit 3000 Microprocessor15.1 Power Supply Connections and Board LayoutRefer to Technical Note TN221, PC Board Layout Suggestions for the Rabbit

Pagina 138 - 9. PARALLEL PORTS

User’s Manual 213When the spectrum spreader is engaged, the frequency is modulated, and individual clock cycles may be shortened or lengthened by an a

Pagina 139 - 9.1 Parallel Port A

214 Rabbit 3000 Microprocessorso low as to be undetectable, except perhaps for extremely weak stations. The effect of a pure harmonic on TV reception

Pagina 140 - 9.2 Parallel Port B

User’s Manual 21516. AC TIMING SPECIFICATIONSThe Rabbit 3000 processor may be operated at voltages between 1.8 V and 3.6 V, and at temperatures from

Pagina 141 - 9.3 Parallel Port C

216 Rabbit 3000 MicroprocessorFigure 16-1 illustrates the parameters used to describe memory access time.Figure 16-1. Parameters Used to Describe Mem

Pagina 142 - 9.4 Parallel Port D

User’s Manual 217Figure 16-2 and Figure 16-3 illustrate the memory read and write cycles. The Rabbit 3000 operates at 2 clocks per bus cycle plus any

Pagina 143 - Driver—optional open drain

218 Rabbit 3000 MicroprocessorThe following memory read time delays were measured.The measurements were taken at the 50% points under the following co

Pagina 144 - User’s Manual 135

User’s Manual 219Figure 16-3. Memory Read and Write Cycles—EarlyOutput Enable and Write Enable TimingTadrTadrMemory Read (no wait states)CLKA[19:0]Me

Pagina 145

220 Rabbit 3000 MicroprocessorFigure 16-4 illustrates the sources that create memory access time delays.Figure 16-4. Sources of Memory Access Time De

Pagina 146 - 9.5 Parallel Port E

14 Rabbit 3000 Microprocessor2.2.6 Slave Port The slave port is designed to allow the Rabbit to be a slave to another processor, which could be anoth

Pagina 147

User’s Manual 221The required memory output enable access time is more complicated since it is affected by the clock doubler delays. The clock doubler

Pagina 148 - User’s Manual 139

222 Rabbit 3000 MicroprocessorThe following factors have to be taken into account when calculating the output enable access time required.• The gross

Pagina 149 - 9.6 Parallel Port F

User’s Manual 22316.2 I/O Access TimeFigure 16-6 illustrates the I/O read and write cycles.Figure 16-6. I/O Read and Write Cycles—No Extra Wait Sta

Pagina 150 - User’s Manual 141

224 Rabbit 3000 MicroprocessorThe following I/O read time delays were measured.The measurements were taken at the 50% points under the following condi

Pagina 151 - 9.6.1.1 Summary

User’s Manual 22516.3 Further Discussion of Bus and Clock TimingThe clock doubler is normally used, except in situations where low-frequency systems

Pagina 152 - 9.7 Parallel Port G

226 Rabbit 3000 MicroprocessorFigure 16-7. Clock Doubler and Memory TimingOscillatorOscillator delayedand invertedDoubled clockDelaytime48% 52%P0.48P

Pagina 153

User’s Manual 22716.4 Maximum Clock SpeedsThe Rabbit 3000 is rated for a minimum clock period of 17 ns (commercial specifications) and 18 ns (industr

Pagina 154 - ANK CONTROL REGISTERS

228 Rabbit 3000 MicroprocessorExampleThe spreader and doubler are enabled, with 8 ns nominal delay in the doubler. The high and low clock are equal to

Pagina 155

User’s Manual 22916.5 Power and Current ConsumptionWith the Rabbit 3000 it is possible to design systems that perform their task with very low power

Pagina 156 - User’s Manual 147

230 Rabbit 3000 MicroprocessorFigure 16-9. Rabbit 3000 System Current vs. Frequency at 3.3 VFigure 16-10. Rabbit 3000 System Current vs. Frequency a

Pagina 157

User’s Manual 152.2.7 Auxiliary I/O BusThe Rabbit 3000 instruction set supports memory access and I/O access. Memory access takes place in a 1 megaby

Pagina 158 - 11. TIMERS

User’s Manual 231Lowering the operating voltage will greatly reduce current consumption and power. Drop-ping to 2.7 V from 3.3 V will result in 70% cu

Pagina 159 - 11.1 Timer A

232 Rabbit 3000 Microprocessor16.6 Current Consumption MechanismsThe following mechanisms contribute to the current consumption of the Rabbit 3000 wh

Pagina 160 - User’s Manual 151

User’s Manual 23316.7 Sleepy Mode Current ConsumptionIn sleepy mode the unit operates from the 32.768 kHz clock, which may be divided down to as slow

Pagina 161

234 Rabbit 3000 Microprocessor16.8 Memory Current ConsumptionSince there are many different memories available, let’s look at an example using one of

Pagina 162 - User’s Manual 153

User’s Manual 23516.9 Battery-Backed Clock Current ConsumptionWhen using the suggested tiny logic oscillator, the oscillator and clock consume curren

Pagina 163

236 Rabbit 3000 Microprocessor16.10 Reduced-Power External Main OscillatorThe circuit in Figure 16-13 can be used to generate the main clock using le

Pagina 164 - User’s Manual 155

User’s Manual 23717. RABBIT BIOS AND VIRTUAL DRIVERWhen a program is compiled by Dynamic C for a Rabbit target, the Virtual Driver is auto-matically

Pagina 165 - 11.2 Timer B

238 Rabbit 3000 Microprocessor17.1.2 BIOS AssumptionsThe BIOS makes certain assumptions concerning the physical configuration of the proces-sor. Proc

Pagina 166 - User’s Manual 157

User’s Manual 239gram consistency checking or because a part of the program that should be executing peri-odically is not executing and the watchdog t

Pagina 167

240 Rabbit 3000 Microprocessor

Pagina 168

16 Rabbit 3000 MicroprocessorFigure 2-4. Rabbit Timers A and B2.2.9 Input Capture ChannelsThe input capture channels are used to determine the time

Pagina 169

User’s Manual 24118. OTHER RABBIT SOFTWARE18.1 Power Management SupportThe power consumption and speed of operation can be throttled up and down wit

Pagina 170 - 12. RABBIT SERIAL PORTS

242 Rabbit 3000 Microprocessor18.2 Reading and Writing I/O RegistersThe Rabbit has two I/O spaces: internal I/O registers and external I/O registers.

Pagina 171

User’s Manual 24318.3 Shadow RegistersMany of the registers of the Rabbit’s internal I/O devices are write-only. This saves gates on the chip, making

Pagina 172 - User’s Manual 163

244 Rabbit 3000 Microprocessorld hl,PDDDRShadow ; point to shadow registerld de,PDDDR ; set de to point to I/O regset 5,(hl) ; s

Pagina 173

User’s Manual 245Two library functions are provided to read and write the real-time clock:unsigned long int read_rtc(void) ; // read bits 15-46

Pagina 174 - User’s Manual 165

246 Rabbit 3000 Microprocessor

Pagina 175 - 12.2 Serial Port Registers

User’s Manual 24719. RABBIT INSTRUCTIONSSummary“Load Immediate Data” on page 250“Load & Store to Immediate Address” on page 250“8-bit Indexed Loa

Pagina 176 - User’s Manual 167

248 Rabbit 3000 MicroprocessorSpreadsheet ConventionsALTD (“A” Column) Symbol KeyIOI and IOE (“I” Column) Symbol KeyFlag Register KeyFlag Descriptionf

Pagina 177

User’s Manual 249SymbolsRabbit Z180 Meaningb bBit select:000 = bit 0, 001 = bit 1,010 = bit 2, 011 = bit 3, 100 = bit 4, 101 = bit 5, 110 = bit 6, 111

Pagina 178 - User’s Manual 169

250 Rabbit 3000 Microprocessor19.1 Load Immediate DataInstruction clk A I S Z V C OperationLD IX,mn 8 - - - - IX = mnLD IY,mn

Pagina 179

User’s Manual 17and stop condition, for example a rising edge could be the start condition and a falling edge the stop condition. However, optionally,

Pagina 180 - User’s Manual 171

User’s Manual 25119.5 16-bit Load and Store 20-bit AddressInstruction clk A I S Z V C OperationLDP (HL),HL 12 - - - - (HL) = L; (HL+

Pagina 181

252 Rabbit 3000 Microprocessor19.7 Exchange InstructionsInstruction clk A I S Z V C OperationEX (SP),HL 15 r - - - - H <-> (SP+

Pagina 182 - User’s Manual 173

User’s Manual 253ADD IY,yy 4 f - - - * IY = IY + yy -- yy=BC, DE, IY, SPADD SP,d 4 f - - -

Pagina 183

254 Rabbit 3000 MicroprocessorCP* n 4 f * * V * A - nCP* r 2 f * * V * A - rOR (HL) 5 fr s * * L 0 A = A |

Pagina 184 - User’s Manual 175

User’s Manual 25519.13 8-bit Fast A Register OperationsInstruction clk A I S Z V C OperationCPL 2 r - - - - A = ~ANEG

Pagina 185

256 Rabbit 3000 MicroprocessorSLA r 4 fr * * L * r = {r[6,0],0}; CY = r[7]SRA (HL) 10 f b * * L * (HL) = {(HL)[7],(HL)[7,1]};

Pagina 186 - User’s Manual 177

User’s Manual 25719.17 Control Instructions - Jumps and CallsInstruction clk A I S Z V C OperationCALL mn 12 - - - - (SP-1) = PC

Pagina 187

258 Rabbit 3000 Microprocessor19.19 Privileged InstructionsThe privileged instructions are described in this section. Privilege means that an interru

Pagina 188 - 12.3 Serial Port Interrupt

User’s Manual 25920. DIFFERENCES RABBIT VS. Z80/Z180INSTRUCTIONSThe Rabbit is highly code compatible with the Z80 and Z180, and it is easy to port no

Pagina 189

260 Rabbit 3000 MicroprocessorThe following instructions use different register names.LD A,EIRLD EIR,A ; was R registerLD IIR,ALD A,IIR ; was I

Pagina 190 - User’s Manual 181

18 Rabbit 3000 Microprocessorlength of the pulses. When the duty cycle is greater then 1/1024 the pulses are spread into groups distributed 256 counts

Pagina 191 - 12.6 Clocked Serial Ports

User’s Manual 26121. INSTRUCTIONS IN ALPHABETICAL ORDERWITH BINARY ENCODINGSpreadsheet ConventionsALTD (“A” Column) Symbol KeyFlag Descriptionf ALTD

Pagina 192 - User’s Manual 183

262 Rabbit 3000 MicroprocessorSymbolsRabbit Z180 MeaningbbBit select:000 = bit 0, 001 = bit 1,010 = bit 2, 011 = bit 3, 100 = bit 4, 101 = bit 5, 1

Pagina 193

User’s Manual 263Instruction Byte 1 Byte 2 Byte 3 Byte 4 clk A I S Z V CADC A,(HL) 10001110 5 fr s

Pagina 194 - 12.7 Clocked Serial Timing

264 Rabbit 3000 MicroprocessorEX AF,AF' 00001000 2 - - - -EX DE,HL 11101011

Pagina 195

User’s Manual 265LD A,(BC) 00001010 6 r s - - - -LD A,(DE) 00011010 6 r s

Pagina 196 - User’s Manual 187

266 Rabbit 3000 MicroprocessorLDP HL,(HL) 11101101 01101100 10 - - - -LDP HL,(IX) 11011101 01101100

Pagina 197

User’s Manual 267RR r 11001011 00011-r- 4 fr * * L *RRA 00011111 2 fr

Pagina 198 - User’s Manual 189

268 Rabbit 3000 Microprocessor

Pagina 199

User’s Manual 269APPENDIX A.THE RABBIT PROGRAMMING PORTThe programming port provides a standard physical and electrical interface between a Rabbit-bas

Pagina 200 - User’s Manual 191

270 Rabbit 3000 MicroprocessorA.1 Use of the Programming Port as a Diagnostic/Setup PortThe programming port, which is already in place, can serve as

Pagina 201

User’s Manual 19reset pin, and to a programmable output pin that is used to signal the PC that attention is needed. With proper precautions in design

Pagina 202

User’s Manual 271an asynchronous signal suitable for the PC. Since the target controls the clock for both send and receive, the data transmission pro

Pagina 203

272 Rabbit 3000 MicroprocessorTable A-1. Preliminary Crystal Frequencies, Memory Access Times, and Baud Rates Crystal Frequency (MHz)Doubled Frequenc

Pagina 204 - User’s Manual 195

User’s Manual 273APPENDIX B. RABBIT 3000 REVISIONSSince its release, the Rabbit 3000 microprocessor has gone through one revision. The revi-sion refle

Pagina 205

274 Rabbit 3000 Microprocessor2. First revision (Rabbit 3000A)—Available in two packages and identified by IL2T for the LQFP package and IZ2T for the

Pagina 206 - User’s Manual 197

User’s Manual 275(l) The quadrature decoder hardware can be configured to use a 10-bit counter in place of the existing 8-bit counter.(m)An option was

Pagina 207

276 Rabbit 3000 MicroprocessorB.1 Discussion of Fixes and ImprovementsTable B-1 lists the bug fixes, improvements, and additions for the various revi

Pagina 208 - 13. RABBIT SLAVE PORT

User’s Manual 277B.1.1 Rabbit Internal I/O RegistersTable B-2 summarizes the reset state of the new I/O registers added in the Rabbit 3000A revision.

Pagina 209 - Slave Port Write Cycle

278 Rabbit 3000 MicroprocessorExternal Interrupt User Enable Register IUER 0x0398 W 00000000Timer A User Enable Register TAUER 0x03A0 W 00000000Timer

Pagina 210 - User’s Manual 201

User’s Manual 279Table B-3. Reset State of I/O Registers Modified in Rabbit 3000ARegister Name MnemonicI/O AddressR/WRabbit 3000 ResetRabbit 3000A Re

Pagina 211

280 Rabbit 3000 MicroprocessorB.1.2 Peripheral and ISR AddressTable B-4. Rabbit 3000 I/O Address Rangesand Interrupt Service VectorsOn-Chip Peripher

Pagina 212

20 Rabbit 3000 Microprocessor

Pagina 213 - 13.2 Slave Port Registers

User’s Manual 281SYSCALL instruction n/a {IIR[7:1], 0, 0x60}RST 38 instruction n/a {IIR[7:1], 0, 0x70}Secondary Watchdog 0x000C {IIR[7:1], 0, 0x10}Sta

Pagina 214 - User’s Manual 205

282 Rabbit 3000 MicroprocessorB.1.3 Revision-Level ID RegisterTwo read-only registers are provided to allow software to identify the Rabbit microproc

Pagina 215

User’s Manual 283B.1.4 System/User ModeBy default, all of the hardware is accessible by the programmer. However, if a control bit in the Enable Dual

Pagina 216 - User’s Manual 207

284 Rabbit 3000 MicroprocessorB.1.5 Memory ProtectionThe ability to inhibit writes to physical memory was added. The sixteen 64 KB physical memory bl

Pagina 217

User’s Manual 285Table B-7. Write Protect Low RegisterWrite Protect Low Register (WPLR) (Address = 0x0460)Bit(s) Value Description70 Disable 64K wri

Pagina 218 - 14. RABBIT 3000 CLOCKS

286 Rabbit 3000 MicroprocessorTable B-8. Write Protect High RegisterWrite Protect High Register (WPHR) (Address = 0x0461)Bit(s) Value Description70

Pagina 219 - 14.1 Low-Power Design

User’s Manual 287Table B-10. Write Protect Segment x Low RegisterWrite Protect Segment x Low Register (WPSALR) (Address = 0x0481)(WPSBLR) (Address =

Pagina 220 - 15. EMI CONTROL

288 Rabbit 3000 MicroprocessorTable B-11. Write Protect Segment x High RegisterWrite Protect Segment x High Register (WPSAHR) (Address = 0x0482)(WPS

Pagina 221

User’s Manual 289B.1.6 Stack ProtectionStack overflow and underflow can now be detected. Low and high stack limits can be set on 256-byte boundaries.

Pagina 222 - User’s Manual 213

290 Rabbit 3000 MicroprocessorThe stack protection registers are listed in Table B-12, Table B-13, and Table B-14.Table B-12. Stack Limit Control Reg

Pagina 223

Rabbit 3000 MicroprocessorRabbit Semiconductor2932 Spafford StreetDavis, California 95616-6800USATelephone: (530) 757-8400Fax: (530) 757-8402www.rabbi

Pagina 224 - 16. AC TIMING SPECIFICATIONS

User’s Manual 213. DETAILS ON RABBITMICROPROCESSOR FEATURES3.1 Processor RegistersThe Rabbit’s registers are nearly identical to those of the Z180 o

Pagina 225

User’s Manual 291B.1.7 RAM Segment RelocationNormally when instruction/data separation is enabled, instructions are stored in flash memory and data a

Pagina 226 - Memory Read (no wait states)

292 Rabbit 3000 MicroprocessorB.1.8 Secondary Watchdog TimerThe secondary watchdog timer (SWDT) is an eight-bit modulo n + 1 counter clocked by the 3

Pagina 227

User’s Manual 293B.1.9 New OpcodesEight new opcodes were added to the Rabbit 3000A. UMA and UMS allow multiply-and-add and multiply-and-subtract oper

Pagina 228

294 Rabbit 3000 MicroprocessorB.1.9.2 New Block Copy OpcodesThe LDxR family of block move opcodes has been expanded. In the Rabbit 3000 proces-sor, b

Pagina 229

User’s Manual 295B.1.10 Expanded I/O Memory AddressingIn the Rabbit 3000, only the lower 8 bits of an I/O address were decoded. To provide room for n

Pagina 230 - User’s Manual 221

296 Rabbit 3000 MicroprocessorB.1.11 External I/O ImprovementsThree new features have been added to the external I/O strobes: the ability to invert t

Pagina 231 - = 36.5 ns

User’s Manual 297B.1.12 Short Chip Select Timing for WritesThe Rabbit 3000 provided the ability to produce shorter chip select strobes for reads when

Pagina 232 - 16.2 I/O Access Time

298 Rabbit 3000 MicroprocessorB.1.12.1 Clock Select and Power Save ModesTable B-24 outlines the power save modes available in the Rabbit 3000A. The G

Pagina 233

User’s Manual 299B.1.12.2 Short Chip Select TimingWhen short chip selects are enabled for read cycles, the chip select signals are active only for th

Pagina 234 - User’s Manual 225

300 Rabbit 3000 MicroprocessorFigure B-4. Short Chip Select Timing: CLK/6, Read OperationFigure B-5. Short Chip Select Timing: CLK/4, Read Operation

Pagina 235

22 Rabbit 3000 MicroprocessorThe Rabbit (and the Z80/Z180) processor has two accumulators—the A register serves as an 8-bit accumulator for 8-bit oper

Pagina 236 - 16.4 Maximum Clock Speeds

User’s Manual 301Figure B-6. Short Chip Select Timing: CLK/2, Read Operationoscillator ADDR DATA T1 T2 Valid /OEx /CSx clock divide-by-2 mode

Pagina 237 - Adjust the values of

302 Rabbit 3000 MicroprocessorWhen operating from the 32 kHz oscillator, the same options are available, but the timing is somewhat different. This is

Pagina 238 - User’s Manual 229

User’s Manual 303Figure B-9. Short Chip Select Timing: 8 kHz, Read OperationFigure B-10. Short Chip Select Timing: 16 kHz, Read Operation32 kHz ADDR

Pagina 239

304 Rabbit 3000 MicroprocessorFigure B-11. Short Chip Select Timing: 32 kHz, Read Operation32 kHz ADDR DATA T1 T2 Valid /OEx /CSx clock 32 kHz opera

Pagina 240 - User’s Manual 231

User’s Manual 305In the case of write cycles, the chip select signals are active only around the trailing edge of the write signal. Wait states are in

Pagina 241

306 Rabbit 3000 MicroprocessorFigure B-13. Short Chip Select Timing: CLK/6, Write OperationFigure B-14. Short Chip Select Timing: CLK/4, Write Opera

Pagina 242 - × f + 5 × V

User’s Manual 307Figure B-15. Short Chip Select Timing: CLK/2, Write Operationoscillator ADDR DATA T1 TWA Valid /WEx /CSx clock divide-by-2 modeT2

Pagina 243 - 0.5 × f in mA

308 Rabbit 3000 MicroprocessorThe timing diagrams below illustrate the actual timing for the 32KHz cases of write cycles. In these cases the chip sele

Pagina 244 - Tiny Logic 32 kHz Osc

User’s Manual 309Figure B-18. Short Chip Select Timing: 8 kHz, Write OperationFigure B-19. Short Chip Select Timing: 16 kHz, Write Operation32 kHz A

Pagina 245 - SN74HCT1G04DBVR

310 Rabbit 3000 MicroprocessorFigure B-20. Short Chip Select Timing: 32 kHz, Write Operation32 kHz ADDR DATA T1 TWA Valid /WEx /CSx clock 32 kHz ope

Pagina 246 - ABBIT BIOS AND VIRTUAL DRIVER

User’s Manual 233.2 Memory MappingAlthough the Rabbit memory mapping scheme is fairly complex, the user rarely needs to worry about it because the de

Pagina 247 - 17.2 Virtual Driver

User’s Manual 311B.1.13 Pulse Width Modulator ImprovementsSeveral new features have been added to the pulse width modulator. First, a new PWM interru

Pagina 248 - User’s Manual 239

312 Rabbit 3000 MicroprocessorTable B-25. PWM LSB 0 RegisterPWM LSB 0 Register (PWL0R) (Address = 0x0088)Bit(s) Value Description7:6 write The least

Pagina 249

User’s Manual 313Table B-27. PWM LSB 2 and 3 RegistersPWM LSB x Register (PWL2R) (Address = 0x008C)(PWL3R) (Address = 0x008E)Bit(s) Value Descriptio

Pagina 250 - 18. OTHER RABBIT SOFTWARE

314 Rabbit 3000 MicroprocessorB.1.14 Quadrature Decoder ImprovementsThe quadrature decoder counters can now be expanded to 10 bits instead of 8 bits.

Pagina 251 - IOI or IOE) to indicate the

User’s Manual 315Figure B-22. Quadrature Decode, 8-bit and 10-bit Counter TimingCnt (8 bit) Interrupt I input Q input 00 01 02 03 04 05 06 07

Pagina 252 - User’s Manual 243

316 Rabbit 3000 MicroprocessorB.2 Pins with Alternate FunctionsThe Rabbit 3000A provides greater flexibility for multiplexing I/O functions to other

Pagina 253 - 18.4 Timer and Clock Usage

User’s Manual 317APPENDIX C. SYSTEM/USER MODEThe Rabbit 3000A is the first Rabbit microprocessor to incorporate a “system/user mode.” The purpose of t

Pagina 254 - User’s Manual 245

318 Rabbit 3000 MicroprocessorC.1 System/User Mode OpcodesSeven new opcodes have been added to support the System/User mode, and are listed in Table

Pagina 255

User’s Manual 319C.2 System/User Mode RegistersTable C-3 lists the new I/O registers added to support the System/User mode.The Enable Dual Mode Regis

Pagina 256 - 19. RABBIT INSTRUCTIONS

320 Rabbit 3000 MicroprocessorThe I/O banks on Port E (enabled for the User mode by IBUER) have a slightly different operation in the User mode. Disab

Pagina 257 - Spreadsheet Conventions

24 Rabbit 3000 MicroprocessorFigure 3-3. Example of Memory Mapping OperationThe names given to the segments in the figure are evocative of the common

Pagina 258 - User’s Manual 249

User’s Manual 321C.3 InterruptsWhen enabled for User mode access, a peripheral interrupt (if it is capable of generating an interrupt) can only be re

Pagina 259 - 19.1 Load Immediate Data

322 Rabbit 3000 MicroprocessorC.3.1 Peripheral Interrupt PrioritizationMost interrupts can be programmed to occur at any of three priority levels, bu

Pagina 260 - User’s Manual 251

User’s Manual 323Table C-5. Interrupts—Priority and Action to Clear RequestsPriority Interrupt Source Action required to clear the interruptHighest S

Pagina 261 - 19.7 Exchange Instructions

324 Rabbit 3000 MicroprocessorC.4 Using the System/User ModeThe System/User mode is designed to work with new features in the Rabbit 3000A (memory pr

Pagina 262 - User’s Manual 253

User’s Manual 325C.4.2 Mixed System/User Mode OperationThis mode is similar to the previous mode, but with some portions of the program written for t

Pagina 263

326 Rabbit 3000 MicroprocessorC.4.3 Complete Operating SystemThis section describes a “full” use of the System/User mode—separating all common functi

Pagina 264 - User’s Manual 255

User’s Manual 327APPENDIX D.RABBIT 3000A INTERNAL I/O REGISTERSTable D-1 provides a list of all the Rabbit 3000A internal I/O registers.Table D-1. Ra

Pagina 265 - 19.15 Instruction Prefixes

328 Rabbit 3000 MicroprocessorMemory Bank 0 Control Register MB0CR 0x0014 W 00001000Memory Bank 1 Control Register MB1CR 0x0015 W xxxxxxxxMemory Bank

Pagina 266 - User’s Manual 257

User’s Manual 329I/O Bank User Enable Register IBUER 0x0380 W 00000000PWM User Enable Register PWUER 0x0388 W 00000000Quad Decode User Enable Register

Pagina 267

330 Rabbit 3000 MicroprocessorPort D Bit 2 Register PDB2R 0x006A W xxxxxxxxPort D Bit 3 Register PDB3R 0x006B W xxxxxxxxPort D Bit 4 Register PDB4R 0x

Pagina 268 - INSTRUCTIONS

User’s Manual 25the root segment or it may contain data variables. The stack segment is normally 4K long and it holds the system stack. The XPC segmen

Pagina 269

User’s Manual 331I/O Bank 2 Control Register IB2CR 0x0082 W 00000000I/O Bank 3 Control Register IB3CR 0x0083 W 00000000I/O Bank 4 Control Register IB4

Pagina 270 - WITH BINARY ENCODING

332 Rabbit 3000 MicroprocessorInterrupt 0 Control Register I0CR 0x0098 W xx000000Interrupt 1 Control Register I1CR 0x0099 W xx000000Timer A Control/St

Pagina 271 - Rabbit Z180 Meaning

User’s Manual 333Serial Port B Address Register SBAR 0x00D1 W xxxxxxxxSerial Port B Long Stop Register SBLR 0x00D2 W xxxxxxxxSerial Port B Status Regi

Pagina 272 - User’s Manual 263

334 Rabbit 3000 Microprocessor

Pagina 273

User’s Manual 335NOTICE TO USERSRABBIT SEMICONDUCTOR PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COM-PONENTS IN LIFE-SUPPORT DEVICES OR SYSTEMS UN

Pagina 275

User’s Manual 337INDEXNumerics5 V tolerant inputs ... 11Aassembly languageinstructions ... 40, 41, 42, 43reading/writing to I/O regis

Pagina 276 - User’s Manual 267

338 Rabbit 3000 MicroprocessorMmemoryA16, A19 inversions (/CS1 enable) ...121access time ...215access time d

Pagina 277

User’s Manual 339PDDDR ... 133PDDR ... 133, 135PDFR ... 133PEBxR ...

Pagina 278 - Pin Numbers

340 Rabbit 3000 MicroprocessorSsecondary watchdog timer ..292serial ports ...11, 1619th bit protocols ...196address reg

Pagina 279

26 Rabbit 3000 Microprocessor3.2.1 Extended Code SpaceA crucial element of the Rabbit memory mapping scheme is the ability to execute pro-grams conta

Pagina 280 - User’s Manual 271

User’s Manual 27than the XPC segment, can call other code in the root using short jumps and calls. Code in the XPC segment can also call code in the r

Pagina 281

28 Rabbit 3000 Microprocessorfetching an instruction from memory and fetching or storing data in memory. When enabled separate I and D space make avai

Pagina 282 - User’s Manual 273

User’s Manual 29not have split I and D space and memory accesses to these segments do not distinguish between I and D space.The advantage of having mo

Pagina 283

30 Rabbit 3000 MicroprocessorFigure 3-7. Schemes for Data Memory WindowsA third approach is to place the data and root code in RAM in the root segmen

Pagina 284 - User’s Manual 275

User’s ManualTABLE OF CONTENTSChapter 1. Introduction 11.1 Features and Specifications Rabbit 3000...

Pagina 285

User’s Manual 31ded applications. Some applications may require large data arrays or tables that will require additional data memory. For this purpose

Pagina 286 - User’s Manual 277

32 Rabbit 3000 Microprocessor3.3 Instruction Set Outline“Load Immediate Data to a Register” on page 33“Load or Store Data from or to a Constant Addre

Pagina 287

User’s Manual 33• Input/output instructions are now accomplished by normal memory access instructions prefixed by an op code byte to indicate access t

Pagina 288 - User’s Manual 279

34 Rabbit 3000 Microprocessor3.3.3 Load or Store Data Using an Index RegisterAn index register is a 16-bit register, usually IX, IY, SP or HL, that i

Pagina 289

User’s Manual 353.3.4 Register-to-Register MoveAny of the 8-bit registers, A, B, C, D, E, H, and L, can be moved to any other 8-bit regis-ter, for ex

Pagina 290 - User’s Manual 281

36 Rabbit 3000 Microprocessor3.3.6 Push and Pop InstructionsThere are instructions to push and pop the 16-bit registers AF, HL, DC, BC, IX, and IY. T

Pagina 291

User’s Manual 37The BOOL instruction is a special instruction designed to help test the HL register. BOOL sets HL to the value 1 if HL is non zero, ot

Pagina 292 - User’s Manual 283

38 Rabbit 3000 MicroprocessorThe SBC instruction can also be used to perform a sign extension. ; extend sign of l to HLLD A,lrla ; sign

Pagina 293

User’s Manual 393.3.8 Input/Output InstructionsThe Rabbit uses an entirely different scheme for accessing input/output devices. Any memory access ins

Pagina 294 - User’s Manual 285

40 Rabbit 3000 Microprocessor3.4 How to Do It in Assembly Language—Tips and Tricks3.4.1 Zero HL in 4 ClocksBOOL HL ; 2 clocks, clears carry, HL is

Pagina 295

Rabbit 3000 Microprocessor3.5 Interrupt Structure ...

Pagina 296 - User’s Manual 287

User’s Manual 413.4.4 Comparisons of IntegersUnsigned integers may be compared by testing the zero and carry flags after a subtract operation. The ze

Pagina 297

42 Rabbit 3000 MicroprocessorSome simplifications are possible if one of the unsigned numbers being compared is a constant. Note that the carry has a

Pagina 298 - User’s Manual 289

User’s Manual 43A>B (!S & !V & !Z) v (S & V)A<B (S & !V) v (!S & V & !Z)A==BA>=BA<=BAnother method of doing

Pagina 299

44 Rabbit 3000 Microprocessor3.5 Interrupt StructureWhen an interrupt occurs on the Rabbit, the return address is pushed on the stack, and con-trol i

Pagina 300 - User’s Manual 291

User’s Manual 45the same priority, this introduces interrupt latency while the next routine is waiting for the previous routine to allow more interrup

Pagina 301

46 Rabbit 3000 Microprocessor3.5.2 Multiple External Interrupting DevicesThe Rabbit 3000 has two distinct external interrupt request lines. If there

Pagina 302 - User’s Manual 293

User’s Manual 47The privileged instructions to manipulate the IP register are listed below.IPSET 0 ; shift IP left and set priority 00 in bits 1,0IP

Pagina 303

48 Rabbit 3000 Microprocessor3.5.6 Computed Long Calls and JumpsThe instruction to set the XPC is privileged to so that a computed long call or jump

Pagina 304 - User’s Manual 295

User’s Manual 494. RABBIT CAPABILITIESThis chapter describes the various capabilities of the Rabbit thatmay not be obvious from the technical descrip

Pagina 305

50 Rabbit 2000 MicroprocessorPulse width modulated outputs—The minimum pulse width is 10 µs. If the repetition rate is 10 ms, then a new pulse with 10

Pagina 306 - User’s Manual 297

User’s Manual8.5 Memory Bank Control Registers ...

Pagina 307

User’s Manual 514.2 Open-Drain Outputs Used for Key ScanThe Parallel Port D outputs can be individually programmed to be open drain. This is use-ful

Pagina 308 - User’s Manual 299

52 Rabbit 2000 Microprocessor4.3 Cold BootMost microprocessors start executing at a fixed address, often address zero, after a reset or power-on cond

Pagina 309

User’s Manual 534.4 The Slave PortThe slave port allows a Rabbit to act as a slave to another processor, which can also be a Rabbit. The slave has to

Pagina 310 - User’s Manual 301

54 Rabbit 2000 MicroprocessorOf the three registers seen by each side for each direction of communication, the first reg-ister, slave register zero, h

Pagina 311

User’s Manual 555. PIN ASSIGNMENTS AND FUNCTIONS

Pagina 312 - User’s Manual 303

56 Rabbit 3000 Microprocessor5.1 LQFP Package5.1.1 PinoutRabbit 3000 (AT56C55-IL1T, IL2T)128-pin Low-Profile Quad Flat Pack (LQFP)14 × 14 Body, 0.4

Pagina 313

User’s Manual 575.1.2 Mechanical Dimensions and Land PatternFigure 5-2 shows the mechanical dimensions of the Rabbit 3000 LQFP package.Figure 5-2. M

Pagina 314 - User’s Manual 305

58 Rabbit 3000 MicroprocessorFigure 5-3 shows the PC board land pattern for the Rabbit 3000 chip in a 128-pin LQFP package. This land pattern is based

Pagina 315

User’s Manual 595.2 Ball Grid Array Package5.2.1 PinoutRabbit 3000 (AT56C55-IZ1T, IZ2T)128-pin Thin Map Ball Grid Array (TFBGA)10 × 10 Body, 0.8 mm

Pagina 316 - User’s Manual 307

60 Rabbit 3000 Microprocessor5.2.2 Mechanical Dimensions and Land PatternThe design considerations in Table 5-3 are based on 5 mil design rules and a

Pagina 317

Rabbit 3000 MicroprocessorChapter 14. Rabbit 3000 Clocks 20914.1 Low-Power Design...

Pagina 318 - User’s Manual 309

User’s Manual 61Figure 5-5. BGA Package OutlineABCDEFGHJKLM121110987654321ABCDEFGHJKLM1211109876543210.8010.00 ± 0.050.8010.00 ± 0.050.20~0.301.20(ma

Pagina 319

62 Rabbit 3000 Microprocessor5.3 Rabbit Pin DescriptionsTable 5-1 lists all the pins on the device, along with their direction, function, and pin num

Pagina 320 - User’s Manual 311

User’s Manual 63I/O ports PA[7:0] Input / Output I/O Port A 111–104D7, A8, B8, C8, D8, A9, B9, C9I/O ports (continued) PB[7:0] Input / Output I/O Port

Pagina 321

64 Rabbit 3000 Microprocessor5.4 Bus TimingThe external bus has essentially the same timing for memory cycles or I/O cycles. A mem-ory cycle begins w

Pagina 322 - User’s Manual 313

User’s Manual 655.5 Description of Pins with Alternate FunctionsTable 5-2. Pins With Alternate FunctionsPin Name Output Function Input Function Inpu

Pagina 323

66 Rabbit 3000 MicroprocessorPF7 PWM3 AQD2A yesPF6 PWM2 AQD2BPF5 PWM1 AQD1A yesPF4 PWM0 AQD1BPF3 QD2A yesPF2 QD2BPF1 CLKC QD1A, CLKC yesPF0 CLKD QD1B,

Pagina 324 - User’s Manual 315

User’s Manual 67The alternate output functions identified in Table 5-2 are configured by setting the appro-priate bits in the Paralle Port x Function

Pagina 325

68 Rabbit 3000 Microprocessor5.6 DC CharacteristicsStresses beyond those listed in Table 5-5 may cause permanent damage. The ratings are stress ratin

Pagina 326 - APPENDIX C. SYSTEM/USER MODE

User’s Manual 695.7 I/O Buffer Sourcing and Sinking LimitUnless otherwise specified, the Rabbit I/O buffers are capable of sourcing and sinking 6.8 m

Pagina 327 - C.1 System/User Mode Opcodes

70 Rabbit 3000 Microprocessor

Pagina 328 - User’s Manual 319

User’s Manual19.16 Block Move Instructions...

Pagina 329

User’s Manual 716. RABBIT INTERNAL I/O REGISTERS

Pagina 330 - User’s Manual 321

72 Rabbit 3000 MicroprocessorTable 6-1. Rabbit 3000 Peripherals and Interrupt Service VectorsOn-Chip Peripheral ISR Starting AddressSystem Management

Pagina 331

User’s Manual 736.1 Default Values for all the Peripheral Control RegistersThe default values for all of the peripheral control registers are shown i

Pagina 332 - User’s Manual 323

74 Rabbit 3000 MicroprocessorGlobal Revision Register GREV 0x2F R 0xx00000Port A Data Register PADR 0x30 R/W xxxxxxxxPort B Data Register PBDR 0x40 R/

Pagina 333 - System Mode User Mode

User’s Manual 75Port E Bit 7 Register PEB7R 0x7F W xxxxxxxxPort F Data Register PFDR 0x38 R/W xxxxxxxxPort F Control Register PFCR 0x3C W xx00xx00Port

Pagina 334 - User’s Manual 325

76 Rabbit 3000 MicroprocessorPWM MSB 0 Register PWM0R 0x89 W xxxxxxxxPWM LSB 1 Register PWL1R 0x8A W xxxxxxxxPWM MSB 1 Register PWM1R 0x8B W xxxxxxxxP

Pagina 335

User’s Manual 77Timer A Time Constant 5 Register TAT5R 0xAB W xxxxxxxxTimer A Time Constant 6 Register TAT6R 0xAD W xxxxxxxxTimer A Time Constant 7 Re

Pagina 336 - APPENDIX D

78 Rabbit 3000 MicroprocessorSerial Port D Address Register SDAR 0xF1 R/W xxxxxxxxSerial Port D Long Stop Register SDLR 0xF2 R/W xxxxxxxxSerial Port D

Pagina 337

User’s Manual 797. MISCELLANEOUS FUNCTIONS7.1 Processor IdentificationFour read-only registers are provided to allow software to identify the Rabbit

Pagina 338 - User’s Manual 329

80 Rabbit 3000 Microprocessor7.2 Rabbit Oscillators and ClocksThe Rabbit 3000 usually requires two separate clocks. The main clock normally drives th

Pagina 339

Rabbit 3000 Microprocessor

Pagina 340 - User’s Manual 331

User’s Manual 8132.768 kHz ClockThe 32.768 kHz clock is primarily used to clock the on-chip real-time clock. In addition, it is also used to support r

Pagina 341

82 Rabbit 3000 MicroprocessorTable 7-5. Global Control/Status RegisterGlobal Control/Status Register (GCSR) (Address = 0x00)Bit(s) Value Description7

Pagina 342 - User’s Manual 333

User’s Manual 837.3 Clock DoublerThe clock doubler is provided to allow a lower frequency crystal to be used for the main oscillator and to provide a

Pagina 343

84 Rabbit 3000 MicroprocessorWhen the clock doubler is used and there is no subsequent division of the clock, the output clock will be asymmetric, as

Pagina 344 - NOTICE TO USERS

User’s Manual 85variation in period on alternate clocks. This does not affect the no-wait states memory access time since two adjacent clocks are alwa

Pagina 345

86 Rabbit 3000 Microprocessor7.4 Clock Spectrum SpreaderWhen enabled the spectrum spreader stretches and compresses the clocks in a complex pattern t

Pagina 346 - User’s Manual 337

User’s Manual 877.5 Chip Select Options for Low PowerSome types of flash memory and RAM consume power whenever the chip select is enabled even if no

Pagina 347

88 Rabbit 3000 MicroprocessorWhen operating in the 32 kHz mode, it is also possible to further divide the clock to a fre-quency as low as 2 kHz, furth

Pagina 348 - User’s Manual 339

User’s Manual 89Figure 7-4. Short Chip Select Memory ReadFigure 7-5. Self-Timed Chip Select Memory Read CycleclockADDRDATAT1 T2ValidMEMOExBMEMCSxB32

Pagina 349

90 Rabbit 3000 Microprocessor7.6 Output Pins CLK, STATUS, /WDTOUT, /BUFENCertain output pins can have alternate assignments as specified in Table 7-9

Modelos relacionados Rabbit 2000

Comentarios a estos manuales

Sin comentarios