Jameco-electronics Rabbit 3000 Manuel d'utilisateur Page 1

Naviguer en ligne ou télécharger Manuel d'utilisateur pour Matériel Jameco-electronics Rabbit 3000. Jameco Electronics Rabbit 3000 User Manual Manuel d'utilisatio

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 349
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs

Résumé du contenu

Page 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

Page 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

Page 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

Page 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) (

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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,

Page 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

Page 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

Page 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

Page 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

Page 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.•

Page 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

Page 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

Page 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

Page 28 - User’s Manual 19

114 Rabbit 3000 Microprocessor

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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.

Page 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

Page 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

Page 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

Page 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

Page 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

Page 43

128 Rabbit 3000 Microprocessor

Page 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

Page 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

Page 46

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

Page 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

Page 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,

Page 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.

Page 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

Page 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

Page 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

Page 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

Page 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.

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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.

Page 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

Page 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

Page 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

Page 65 - 5.1 LQFP Package

148 Rabbit 3000 Microprocessor

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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 =

Page 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)

Page 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

Page 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

Page 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)

Page 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)

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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,

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 112 - 7.12 Pulse Width Modulator

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

Page 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

Page 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.

Page 115

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 121

198 Rabbit 3000 Microprocessor

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 131

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

Page 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,

Page 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

Page 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

Page 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

Page 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.

Page 137

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 152 - 9.7 Parallel Port G

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 161

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 167

240 Rabbit 3000 Microprocessor

Page 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

Page 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

Page 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.

Page 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

Page 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

Page 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

Page 174 - User’s Manual 165

246 Rabbit 3000 Microprocessor

Page 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

Page 176 - User’s Manual 167

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

Page 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

Page 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

Page 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,

Page 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+

Page 181

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

Page 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 - - -

Page 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 |

Page 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

Page 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]};

Page 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

Page 187

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

Page 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

Page 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

Page 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

Page 191 - 12.6 Clocked Serial Ports

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

Page 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

Page 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

Page 194 - 12.7 Clocked Serial Timing

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

Page 195

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

Page 196 - User’s Manual 187

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

Page 197

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

Page 198 - User’s Manual 189

268 Rabbit 3000 Microprocessor

Page 199

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

Page 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

Page 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

Page 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

Page 203

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

Page 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

Page 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

Page 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

Page 207

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

Page 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.

Page 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

Page 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

Page 211

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

Page 212

20 Rabbit 3000 Microprocessor

Page 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

Page 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

Page 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

Page 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

Page 217

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

Page 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

Page 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 =

Page 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

Page 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.

Page 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

Page 223

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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.

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 263

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 272 - User’s Manual 263

334 Rabbit 3000 Microprocessor

Page 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

Page 275

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

Page 276 - User’s Manual 267

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

Page 277

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

Page 278 - Pin Numbers

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 284 - User’s Manual 275

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

Page 285

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 295

Rabbit 3000 Microprocessor3.5 Interrupt Structure ...

Page 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

Page 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

Page 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

Page 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

Page 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

Page 301

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

Page 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

Page 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

Page 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

Page 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

Page 306 - User’s Manual 297

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

Page 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

Page 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

Page 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

Page 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

Page 311

User’s Manual 555. PIN ASSIGNMENTS AND FUNCTIONS

Page 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

Page 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

Page 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

Page 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

Page 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

Page 317

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

Page 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

Page 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

Page 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

Page 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

Page 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

Page 323

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

Page 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

Page 325

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

Page 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

Page 327 - C.1 System/User Mode Opcodes

70 Rabbit 3000 Microprocessor

Page 328 - User’s Manual 319

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

Page 329

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

Page 330 - User’s Manual 321

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

Page 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

Page 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/

Page 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

Page 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

Page 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

Page 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

Page 337

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

Page 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

Page 339

Rabbit 3000 Microprocessor

Page 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

Page 341

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

Page 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

Page 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

Page 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

Page 345

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

Page 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

Page 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

Page 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

Page 349

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

Modèles reliés Rabbit 2000

Commentaires sur ces manuels

Pas de commentaire