2 www.ubicom.com
IP2012 / IP2022 Data Sheet
1.0 Product Highlights
1
1.1 Additional Features. . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.2 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2.1 CPU
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2.2 Serializer/Deserializers
. . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2.3 Low-Power Support
. . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2.4 Memory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2.5 Instruction Set
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.2.6 Other Supported Functions
. . . . . . . . . . . . . . . . . . . . . . .5
1.2.7 Programming and Debugging
Support
5
2.0 Pin Definitions
6
2.1 PQFP (Plastic Quad Flat Package) for IP2022. . . . . .6
2.2 PQFP (Plastic Quad Flat Package) for IP2012. . . . . .7
2.3 µBGA (Micro Ball Grid Array) IP2022-120 Only . . . . .8
2.4 Signal Descriptions — IP2022 . . . . . . . . . . . . . . . . . .9
2.5 Signal Descriptions — IP2012 . . . . . . . . . . . . . . . . .12
3.0 System Architecture
15
3.1 CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
3.2 Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.3 Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . .19
3.3.1 Loading the Program RAM
. . . . . . . . . . . . . . . . . . . . . .19
3.3.2 Program Counter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
3.4 Low Power Support . . . . . . . . . . . . . . . . . . . . . . . . .20
3.4.1 Clock Stop Mode (SLEEP)
. . . . . . . . . . . . . . . . . . . . . .21
3.4.2 Wakeup
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.5 Speed Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.6 Instruction Timing . . . . . . . . . . . . . . . . . . . . . . . . . . .21
3.7 Interrupt Support. . . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.7.1 Interrupt Processing
. . . . . . . . . . . . . . . . . . . . . . . . . . .22
3.7.2 Global Interrupt Enable Bit
. . . . . . . . . . . . . . . . . . . . . .25
3.7.3 Interrupt Latency
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
3.7.4 Return From Interrupt
. . . . . . . . . . . . . . . . . . . . . . . . . .25
3.7.5 Disabled Interrupt Resources
. . . . . . . . . . . . . . . . . . . .26
3.8 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
3.8.1 Brown-Out Detector
. . . . . . . . . . . . . . . . . . . . . . . . . . .28
3.8.2 Reset and Interrupt Vectors
. . . . . . . . . . . . . . . . . . . . . .28
3.8.3 Register States Following Reset
. . . . . . . . . . . . . . . . . .28
3.9 Clock Oscillator. . . . . . . . . . . . . . . . . . . . . . . . . . . . .29
3.9.1 External Connections
. . . . . . . . . . . . . . . . . . . . . . . . . .30
3.10 Configuration Block. . . . . . . . . . . . . . . . . . . . . . . . . .31
3.10.1 FUSE0 Register (not run-time programmable)
. . . . . . . . .32
3.10.2 FUSE1 Register (not run-time programmable)
. . . . . . . . .33
3.10.3 TRIM0 Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
4.0 Instruction Set Architecture
35
4.1 Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.1.1 Pointer Registers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
4.1.2 Direct Addressing Mode
. . . . . . . . . . . . . . . . . . . . . . . .36
4.1.3 Indirect Addressing Mode
. . . . . . . . . . . . . . . . . . . . . . .36
4.1.4 Indirect-with-Offset Addressing Mode
. . . . . . . . . . . . . . .37
4.2 Instruction Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
4.2.1 Instruction Formats
. . . . . . . . . . . . . . . . . . . . . . . . . . .38
4.2.2 Instruction Types
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
4.3 Instruction Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . .40
4.4 Subroutine Call/Return Stack . . . . . . . . . . . . . . . . . .41
4.5 Key to Abbreviations and Symbols. . . . . . . . . . . . . .42
4.6 Instruction Set Summary Tables. . . . . . . . . . . . . . . .42
4.7 Program Memory Instructions. . . . . . . . . . . . . . . . . .47
4.7.1 Flash Timing Control
. . . . . . . . . . . . . . . . . . . . . . . . . .48
4.7.2 Interrupts During Flash Operations
. . . . . . . . . . . . . . . . .48
5.0 Peripherals
49
5.1 I/O Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
5.1.1 Port B Interrupts
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
5.1.2 Reading and Writing the Ports
. . . . . . . . . . . . . . . . . . . .50
5.1.3 RxIN Registers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
5.1.4 RxOUT Registers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
5.1.5 RxDIR Registers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.1.6 INTED Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.1.7 INTF Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.1.8 INTE Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.1.9 Port Configuration Upon Power-Up
. . . . . . . . . . . . . . . .51
5.2 Timer 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
5.3 Real-Time Timer (RTTMR). . . . . . . . . . . . . . . . . . . .52
5.4 Multi-Function Timers (T1 and T2) . . . . . . . . . . . . . .54
5.4.1 Timers T1, T2 Operating Modes
. . . . . . . . . . . . . . . . . .54
5.4.2 T1 and T2 Timer Pin Assignments
. . . . . . . . . . . . . . . . .56
5.4.3 T1 and T2 Timer Registers
. . . . . . . . . . . . . . . . . . . . . .56
5.5 Watchdog Timer (WDT) . . . . . . . . . . . . . . . . . . . . . .57
5.6 Serializer/Deserializer (SERDES). . . . . . . . . . . . . . .58
5.6.1 SERDES TX/RX Buffers
. . . . . . . . . . . . . . . . . . . . . . . .58
5.6.2 SERDES Configuration
. . . . . . . . . . . . . . . . . . . . . . . . .58
5.6.3 SERDES Interrupts
. . . . . . . . . . . . . . . . . . . . . . . . . . .59
5.6.4 Protocol Modes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
5.6.5 10base-T Ethernet
. . . . . . . . . . . . . . . . . . . . . . . . . . . .61
5.6.6 USB
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
5.6.7 UART
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
5.6.8 SPI
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
5.6.9 GPSI
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
5.7 Analog to Digital Converter (ADC) . . . . . . . . . . . . . .72
5.7.1 ADC Reference Voltage
. . . . . . . . . . . . . . . . . . . . . . . .72
5.7.2 A/D Converter Registers
. . . . . . . . . . . . . . . . . . . . . . . .72
5.7.3 Using the A/D Converter
. . . . . . . . . . . . . . . . . . . . . . . .73
5.7.4 ADC Result Justification
. . . . . . . . . . . . . . . . . . . . . . . .73
5.8 Comparator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
5.8.1 CMPCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .73
5.9 Linear Feedback Shift Register (LFSR) . . . . . . . . . .74
5.10 Parallel Slave Peripheral (PSP) . . . . . . . . . . . . . . . .79
5.10.1 PSPCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .79
5.11 External Memory Interface (IP2022 only) . . . . . . . . .80
5.11.1 EMCFG Register (IP2022 only)
. . . . . . . . . . . . . . . . . . .80
6.0 In-System Programming
83
7.0 Memory Reference
84
7.0.1 Registers (sorted by address)
. . . . . . . . . . . . . . . . . . . .84
7.0.2 Program Memory
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
7.1 Register Bit Definitions . . . . . . . . . . . . . . . . . . . . . . .89
7.1.1 ADCCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .89
7.1.2 ADCTMR Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .89
7.1.3 CMPCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .89
7.1.4 EMCFG Register (IP2022 only)
. . . . . . . . . . . . . . . . . . .90
7.1.5 FCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91
7.1.6 INTSPD Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .92
7.1.7 LFSRA Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
7.1.8 PSPCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .93
7.1.9 RTCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
7.1.10 SxINTE/SxINTF Register
. . . . . . . . . . . . . . . . . . . . . . .95
7.1.11 SxMODE Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .96
7.1.12 SxRCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .96
7.1.13 SxRCNT Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .97
7.1.14 SxRSYNC Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .97
7.1.15 SxSMASK Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .98
7.1.16 SxTCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .98
7.1.17 SxTMRH/SxTMRL Register
. . . . . . . . . . . . . . . . . . . . . .99
7.1.18 SPDREG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .99
7.1.19 STATUS Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .100
7.1.20 T0CFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . .101
7.1.21 TxCFG1H Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .101
7.1.22 TxCFG2H Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .102
7.1.23 TxCFG1L Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .102
7.1.24 TxCFG2L Register
. . . . . . . . . . . . . . . . . . . . . . . . . . .103
7.1.25 TCTRL Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
7.1.26 XCFG Register
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
8.0 Electrical Characteristics
105
8.1 Absolute Maximum Ratings). . . . . . . . . . . . . . . . . .105
8.2 DC Specifications: IP2022-120, IP2012-120 . . . . .106
8.3 DC Specifications: IP2022-160. . . . . . . . . . . . . . . .108
8.4 AC Specifications: IP2022-120, IP2012-120 . . . . .110
8.5 AC Specifications: IP2022-160. . . . . . . . . . . . . . . .111
8.6 Comparator DC and AC Specifications . . . . . . . . .112
8.7 ADC 10-bit Converter DC and AC Specifications. .112
9.0 Package Dimensions
113
9.1 PQFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113
9.2 µBGA (available for IP2022-120 only) . . . . . . . . . .114
10.0 Part Numbering
115