Rabbit 3000 Microprocessor User's Manual

> ## 6. Rabbit Internal I/O Registers

> Table 6-1. Rabbit 3000 Peripherals and Interrupt Service Vectors
> On-Chip Peripheral | ISR Starting Address
> System Management | {IIR, 00h}
> Memory Management | No interrupts
> Slave Port | {IIR, 80h}
> Parallel Port A | No interrupts
> Parallel Port F | No interrupts
> Parallel Port B | No interrupts
> Parallel Port G | No interrupts
> Parallel Port C | No interrupts
> Input Capture | {IIR[7:1], 1, A0h}
> Parallel Port D | No interrupts
> Parallel Port E | No interrupts
> External I/O Control | No interrupts
> Pulse Width Modulator | No interrupts
> Quadrature Decoder | {IIR[7:1], 1, 90h}
> External Interrupts | INT0 {EIR, 00h} INT1 {EIR, 10h}
> Timer A | {IIR, A0h}
> Timer B | {IIR, B0h}
> Serial Port A (async/cks) | {IIR, C0h}
> Serial Port E (async/hdlc) | {IIR[7:1], 1, C0h}
> Serial Port B (async/cks) | {IIR, D0h}
> Serial Port F (async/hdlc) | {IIR[7:1], 1, D0h}
> Serial Port C (async/cks) | {IIR, E0h}
> Serial Port D (async/cks) | {IIR, F0h}
> RST 10 instruction | {IIR, 20h}
> RST 18 instruction | {IIR, 30h}
> RST 20 instruction | {IIR, 40h}
> RST 28 instruction | {IIR, 50h}
> RST 38 instruction | {IIR, 60h}

> ### 6.1 Default Values for all the Peripheral Control Registers

> The default values for all of the peripheral control registers are shown in Table 6-2. The registers within the CPU affected by reset are the Stack Pointer (SP), the Program Counter (PC), the IIR register, the EIR register, and the IP register. The IP register is set to all ones (disabling all interrupts), while all of the other listed CPU registers are reset to all zeros.

> Table 6-2. Rabbit Internal I/O Registers
> Register Name | Mnemonic | I/O Address | R/W | Reset
> Breakpoint/Debug Control Register | BDCR | 0x0C | W | 0xxxxxxx
> Global Control/Status Register | GCSR | 0x00 | R/W | 11000000
> Global Clock Modulator 0 Register | GCM0R | 0x0A | W | 00000000
> Global Clock Modulator 1 Register | GCM1R | 0x0B | W | 00000000
> Global Clock Double Register | GCDR | 0x0F | W | 00000000
> Global Output Control Register | GOCR | 0x0E | W | 00000000
> MMU Instruction/Data Register | MMIDR | 0x10 | R/W | 00000000
> MMU Common Base Register | STACKSEG | 0x11 | R/W | 00000000
> MMU Bank Base Register | DATASEG | 0x12 | R/W | 00000000
> MMU Common Bank Area Register | SEGSIZE | 0x13 | R/W | 11111111
> Memory Bank 0 Control Register | MB0CR | 0x14 | W | 00001000
> Memory Bank 1 Control Register | MB1CR | 0x15 | W | xxxxxxxx
> Memory Bank 2 Control Register | MB2CR | 0x16 | W | xxxxxxxx
> Memory Bank 3 Control Register | MB3CR | 0x17 | W | xxxxxxxx
> MMU Expanded Code Register | MECR | 0x18 | R/W | xxxxx000
> Memory Timing Control Register | MTCR | 0x19 | W | xxxx0000
> Slave Port Data 0 Register | SPD0R | 0x20 | R/W | xxxxxxxx
> Slave Port Data 1 Register | SPD1R | 0x21 | R/W | xxxxxxxx
> Slave Port Data 2 Register | SPD2R | 0x22 | R/W | xxxxxxxx
> Slave Port Status Register | SPSR | 0x23 | R | 00000000
> Slave Port Control Register | SPCR | 0x24 | R/W | 0xx00000
> Global ROM Configuration Register | GROM | 0x2C | R | 0xx00000
> Global RAM Configuration Register | GRAM | 0x2D | R | 0xx00000
> Global CPU Configuration Register | GCPU | 0x2E | R | 0xx00001
> Global Revision Register | GREV | 0x2F | R | 0xx00000
> Port A Data Register | PADR | 0x30 | R/W | xxxxxxxx
> Port B Data Register | PBDR | 0x40 | R/W | 00xxxxxx
> Port B Data Direction Register | PBDDR | 0x47 | W | 11000000
> Port C Data Register | PCDR | 0x50 | R/W | x0x1x1x1
> Port C Function Register | PCFR | 0x55 | W | x0x0x0x0
> Port D Data Register | PDDR | 0x60 | R/W | xxxxxxxx
> Port D Control Register | PDCR | 0x64 | W | xx00xx00
> Port D Function Register | PDFR | 0x65 | W | xxxxxxxx
> Port D Drive Control Register | PDDCR | 0x66 | W | xxxxxxxx
> Port D Data Direction Register | PDDDR | 0x67 | W | 00000000
> Port D Bit 0 Register | PDB0R | 0x68 | W | xxxxxxxx
> Port D Bit 1 Register | PDB1R | 0x69 | W | xxxxxxxx
> Port D Bit 2 Register | PDB2R | 0x6A | W | xxxxxxxx
> Port D Bit 3 Register | PDB3R | 0x6B | W | xxxxxxxx
> Port D Bit 4 Register | PDB4R | 0x6C | W | xxxxxxxx
> Port D Bit 5 Register | PDB5R | 0x6D | W | xxxxxxxx
> Port D Bit 6 Register | PDB6R | 0x6E | W | xxxxxxxx
> Port D Bit 7 Register | PDB7R | 0x6F | W | xxxxxxxx
> Port E Data Register | PEDR | 0x70 | R/W | xxxxxxxx
> Port E Control Register | PECR | 0x74 | W | xx00xx00
> Port E Function Register | PEFR | 0x75 | W | 00000000
> Port E Data Direction Register | PEDDR | 0x77 | W | 00000000
> Port E Bit 0 Register | PEB0R | 0x78 | W | xxxxxxxx
> Port E Bit 1 Register | PEB1R | 0x79 | W | xxxxxxxx
> Port E Bit 2 Register | PEB2R | 0x7A | W | xxxxxxxx
> Port E Bit 3 Register | PEB3R | 0x7B | W | xxxxxxxx
> Port E Bit 4 Register | PEB4R | 0x7C | W | xxxxxxxx
> Port E Bit 5 Register | PEB5R | 0x7D | W | xxxxxxxx
> Port E Bit 6 Register | PEB6R | 0x7E | W | xxxxxxxx
> Port E Bit 7 Register | PEB7R | 0x7F | W | xxxxxxxx
> Port F Data Register | PFDR | 0x38 | R/W | xxxxxxxx
> Port F Control Register | PFCR | 0x3C | W | xx00xx00
> Port F Function Register | PFFR | 0x3D | W | xxxxxxxx
> Port F Drive Control Register | PFDCR | 0x3E | W | xxxxxxxx
> Port F Data Direction Register | PFDDR | 0x3F | W | 00000000
> Port G Data Register | PGDR | 0x48 | R/W | xxxxxxxx
> Port G Control Register | PGCR | 0x4C | W | xx00xx00
> Port G Function Register | PGFR | 0x4D | W | xxxxxxxx
> Port G Drive Control Register | PGDCR | 0x4E | W | xxxxxxxx
> Port G Data Direction Register | PGDDR | 0x4F | W | 00000000
> Input Capture Ctrl/Status Register | ICCSR | 0x56 | R/W | 00000000
> Input Capture Control Register | ICCR | 0x57 | W | xxxxxx00
> Input Capture Trigger 1 Register | ICT1R | 0x58 | W | 00000000
> Input Capture Source 1 Register | ICS1R | 0x59 | W | xxxxxxxx
> Input Capture LSB 1 Register | ICL1R | 0x5A | R | xxxxxxxx
> Input Capture MSB 1 Register | ICM1R | 0x5B | R | xxxxxxxx
> Input Capture Trigger 2 Register | ICT2R | 0x5C | W | 00000000
> Input Capture Source 2 Register | ICS2R | 0x5D | W | xxxxxxxx
> Input Capture LSB 2 Register | ICL2R | 0x5E | R | xxxxxxxx
> Input Capture MSB 2 Register | ICM2R | 0x5F | R | xxxxxxxx
> I/O Bank 0 Control Register | IB0CR | 0x80 | W | 000000xx
> I/O Bank 1 Control Register | IB1CR | 0x81 | W | 000000xx
> I/O Bank 2 Control Register | IB2CR | 0x82 | W | 000000xx
> I/O Bank 3 Control Register | IB3CR | 0x83 | W | 000000xx
> I/O Bank 4 Control Register | IB4CR | 0x84 | W | 000000xx
> I/O Bank 5 Control Register | IB5CR | 0x85 | W | 000000xx
> I/O Bank 6 Control Register | IB6CR | 0x86 | W | 000000xx
> I/O Bank 7 Control Register | IB7CR | 0x87 | W | 000000xx
> PWM LSB 0 Register | PWL0R | 0x88 | W | xxxxxxxx
> PWM MSB 0 Register | PWM0R | 0x89 | W | xxxxxxxx
> PWM LSB 1 Register | PWL1R | 0x8A | W | xxxxxxxx
> PWM MSB 1 Register | PWM1R | 0x8B | W | xxxxxxxx
> PWM LSB 2 Register | PWL2R | 0x8C | W | xxxxxxxx
> PWM MSB 2 Register | PWM2R | 0x8D | W | xxxxxxxx
> PWM LSB 3 Register | PWL3R | 0x8E | W | xxxxxxxx
> PWM MSB 3 Register | PWM3R | 0x8F | W | xxxxxxxx
> Quad Decode Ctrl/Status Register | QDCSR | 0x90 | R/W | xxxxxxxx
> Quad Decode Control Register | QDCR | 0x91 | W | 00xx0000
> Quad Decode Count 1 Register | QDC1R | 0x94 | R | xxxxxxxx
> Quad Decode Count 2 Register | QDC2R | 0x96 | R | xxxxxxxx
> Real Time Clock Control Register | RTCCR | 0x01 | W | 00000000
> Real Time Clock Byte 0 Register | RTC0R | 0x02 | R/W | xxxxxxxx
> Real Time Clock Byte 1 Register | RTC1R | 0x03 | R | xxxxxxxx
> Real Time Clock Byte 2 Register | RTC2R | 0x04 | R | xxxxxxxx
> Real Time Clock Byte 3 Register | RTC3R | 0x05 | R | xxxxxxxx
> Real Time Clock Byte 4 Register | RTC4R | 0x06 | R | xxxxxxxx
> Real Time Clock Byte 5 Register | RTC5R | 0x07 | R | xxxxxxxx
> Timer A Control/Status Register | TACSR | 0xA0 | R/W | 00000000
> Timer A Prescale Register | TAPR | 0xA1 | W | xxxxxxx1
> Timer A Time Constant 1 Register | TAT1R | 0xA3 | W | xxxxxxxx
> Timer A Control Register | TACR | 0xA4 | W | 00000000
> Timer A Time Constant 2 Register | TAT2R | 0xA5 | W | xxxxxxxx
> Timer A Time Constant 8 Register | TAT8R | 0xA6 | W | xxxxxxxx
> Timer A Time Constant 3 Register | TAT3R | 0xA7 | W | xxxxxxxx
> Timer A Time Constant 9 Register | TAT9R | 0xA8 | W | xxxxxxxx
> Timer A Time Constant 4 Register | TAT4R | 0xA9 | W | xxxxxxxx
> Timer A Time Constant 10 Register | TAT10R | 0xAA | W | xxxxxxxx
> Timer A Time Constant 5 Register | TAT5R | 0xAB | W | xxxxxxxx
> Timer A Time Constant 6 Register | TAT6R | 0xAD | W | xxxxxxxx
> Timer A Time Constant 7 Register | TAT7R | 0xAF | W | xxxxxxxx
> Timer B Control/Status Register | TBCSR | 0xB0 | R/W | xxxxx000
> Timer B Control Register | TBCR | 0xB1 | W | xxxx0000
> Timer B MSB 1 Register | TBM1R | 0xB2 | W | xxxxxxxx
> Timer B LSB 1 Register | TBL1R | 0xB3 | W | xxxxxxxx
> Timer B MSB 2 Register | TBM2R | 0xB4 | W | xxxxxxxx
> Timer B LSB 2 Register | TBL2R | 0xB5 | W | xxxxxxxx
> Timer B Count MSB Register | TBCMR | 0xBE | R | xxxxxxxx
> Timer B Count LSB Register | TBCLR | 0xBF | R | xxxxxxxx
> Serial Port A Data Register | SADR | 0xC0 | R/W | xxxxxxxx
> Serial Port A Address Register | SAAR | 0xC1 | W | xxxxxxxx
> Serial Port A Long Stop Register | SALR | 0xC2 | W | xxxxxxxx
> Serial Port A Status Register | SASR | 0xC3 | R | 0xx00000
> Serial Port A Control Register | SACR | 0xC4 | W | xx000000
> Serial Port A Extended Register | SAER | 0xC5 | W | 00000000
> Serial Port B Data Register | SBDR | 0xD0 | R/W | xxxxxxxx
> Serial Port B Address Register | SBAR | 0xD1 | W | xxxxxxxx
> Serial Port B Long Stop Register | SBLR | 0xD2 | W | xxxxxxxx
> Serial Port B Status Register | SBSR | 0xD3 | R | 0xx00000
> Serial Port B Control Register | SBCR | 0xD4 | W | xx000000
> Serial Port B Extended Register | SBER | 0xD5 | W | 00000000
> Serial Port C Data Register | SCDR | 0xE0 | R/W | xxxxxxxx
> Serial Port C Address Register | SCAR | 0xE1 | W | xxxxxxxx
> Serial Port C Long Stop Register | SCLR | 0xE2 | W | xxxxxxxx
> Serial Port C Status Register | SCSR | 0xE3 | R | 0xx00000
> Serial Port C Control Register | SCCR | 0xE4 | W | xx000000
> Serial Port C Extended Register | SCER | 0xE5 | W | 00000000
> Serial Port D Data Register | SDDR | 0xF0 | R/W | xxxxxxxx
> Serial Port D Address Register | SDAR | 0xF1 | W | xxxxxxxx
> Serial Port D Long Stop Register | SDLR | 0xF2 | W | xxxxxxxx
> Serial Port D Status Register | SDSR | 0xF3 | R | 0xx00000
> Serial Port D Control Register | SDCR | 0xF4 | W | xx000000
> Serial Port D Extended Register | SDER | 0xF5 | W | 00000000
> Serial Port E Data Register | SEDR | 0xC8 | R/W | xxxxxxxx
> Serial Port E Address Register | SEAR | 0xC9 | W | xxxxxxxx
> Serial Port E Long Stop Register | SELR | 0xCA | W | xxxxxxxx
> Serial Port E Status Register | SESR | 0xCB | R | 0xx00000
> Serial Port E Control Register | SECR | 0xCC | W | xx000000
> Serial Port E Extended Register | SEER | 0xCD | W | 000x000x
> Serial Port F Data Register | SFDR | 0xD8 | R/W | xxxxxxxx
> Serial Port F Address Register | SFAR | 0xD9 | W | xxxxxxxx
> Serial Port F Long Stop Register | SFLR | 0xDA | W | xxxxxxxx
> Serial Port F Status Register | SFSR | 0xDB | R | 0xx00000
> Serial Port F Control Register | SFCR | 0xDC | W | xx000000
> Serial Port F Extended Register | SFER | 0xDD | W | 000x000x
> Watchdog Timer Control Register | WDTCR | 0x08 | W | 00000000
> Watchdog Timer Test Register | WDTTR | 0x09 | W | 00000000

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