2 www.ubicom.com 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  . . . . . . . . . . . . . . . . . . . . . . . . . .5 1.2.4 Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 1.2.5 Instruction Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 1.2.6 Other Supported Functions  . . . . . . . . . . . . . . . . . . . .5 1.2.7 Programming and DebuggingSupport  . . . . . . . . . . . .5 2.0 Pin Definitions 6 2.1 PQFP (Plastic Quad Flat Package)  . . . . . . . . . . . . . .6 2.2 µBGA (Micro Ball Grid Array package). . . . . . . . . . . .7 2.3 Signal Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . .8 3.0 System Architecture. 12 3.1 CPU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 3.2 Data Memory  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 3.3 Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . .16 3.3.1 Loading the Program RAM . . . . . . . . . . . . . . . . . . . .17 3.3.2 Program Counter  . . . . . . . . . . . . . . . . . . . . . . . . . . .17 3.4 Low Power Support  . . . . . . . . . . . . . . . . . . . . . . . . .17 3.4.1 Clock Stop Mode (SLEEP) . . . . . . . . . . . . . . . . . . . .18 3.5 Speed Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 3.6 Instruction Timing . . . . . . . . . . . . . . . . . . . . . . . . . . .18 3.7 Interrupt Support. . . . . . . . . . . . . . . . . . . . . . . . . . . .19 3.7.1 Interrupt Processing . . . . . . . . . . . . . . . . . . . . . . . . .19 3.7.2 Global Interrupt Enable Bit . . . . . . . . . . . . . . . . . . . .22 3.7.3 Interrupt Latency. . . . . . . . . . . . . . . . . . . . . . . . . . . .22 3.7.4 Return From Interrupt . . . . . . . . . . . . . . . . . . . . . . . .22 3.7.5 Disabled Resources . . . . . . . . . . . . . . . . . . . . . . . . .23 3.7.6 Wakeup  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.8 Reset    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 3.8.1 Brown-Out Detector . . . . . . . . . . . . . . . . . . . . . . . . .25 3.8.2 Reset and Interrupt Vectors . . . . . . . . . . . . . . . . . . .25 3.8.3 Register States Following Reset. . . . . . . . . . . . . . . .25 3.9 Clock Oscillator. . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 3.9.1 External Connections . . . . . . . . . . . . . . . . . . . . . . . .27 3.10 Configuration Block  . . . . . . . . . . . . . . . . . . . . . . . . .28 3.10.1 FUSE0 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 3.10.2 FUSE1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 3.10.3 TRIM0 Register  . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 4.0 Instruction Set Architecture 32 4.1 Addressing Modes . . . . . . . . . . . . . . . . . . . . . . . . . .32 4.1.1 Pointer Registers  . . . . . . . . . . . . . . . . . . . . . . . . . . .32 4.1.2 Direct Addressing Mode . . . . . . . . . . . . . . . . . . . . . .33 4.1.3 Indirect Addressing Mode. . . . . . . . . . . . . . . . . . . . .33 4.1.4 Indirect-with-Offset Addressing Mode. . . . . . . . . . . .34 4.2 Instruction Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 4.2.1 Instruction Formats. . . . . . . . . . . . . . . . . . . . . . . . . .35 4.2.2 Instruction Types  . . . . . . . . . . . . . . . . . . . . . . . . . . .35 4.3 Instruction Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . .37 4.4 Subroutine Call/Return Stack . . . . . . . . . . . . . . . . . .38 4.5 Key to Abbreviations and Symbols. . . . . . . . . . . . . .39 4.6 Instruction Set Summary Tables. . . . . . . . . . . . . . . .39 4.7 Self-Programming Instructions . . . . . . . . . . . . . . . . .44 4.7.1 Flash Timing Control. . . . . . . . . . . . . . . . . . . . . . . . .45 4.7.2 Interrupts During Flash Operations. . . . . . . . . . . . . .45 5.0 Peripherals 46 5.1 I/O Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 5.1.1 Port B Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . .46 5.2 Timer 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 5.3 Real-Time Timer. . . . . . . . . . . . . . . . . . . . . . . . . . . .50 5.4 Multi-Function Timers (T1 and T2) . . . . . . . . . . . . . .51 5.5 Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . .54 5.6 Serializer/Deserializer (SERDES). . . . . . . . . . . . . . .55 5.6.1 SERDES Configuration Registers  . . . . . . . . . . . . . .55 5.6.4 SERDES Configuration  . . . . . . . . . . . . . . . . . . . . . .56 5.6.5 SERDES Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . .57 5.6.6 Protocol Modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 5.6.7 10base-T Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . .59 5.6.8 USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61 5.6.9 UART    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 5.6.10 SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 5.6.11 GPSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 5.7 Analog to Digital Converter (ADC) . . . . . . . . . . . . . .68 5.8 Comparator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 5.9 Linear Feedback Shift Register  . . . . . . . . . . . . . . . .71 5.10 Parallel Slave Peripheral  . . . . . . . . . . . . . . . . . . . . .76 5.11 External Memory Interface . . . . . . . . . . . . . . . . . . . .77 6.0 In-System Programming 79 7.0 Memory Reference 80 7.0.1 Registers (sorted by address)  . . . . . . . . . . . . . . . . .80 7.0.2 Program Memory . . . . . . . . . . . . . . . . . . . . . . . . . . .84 7.1 Register Bit Definitions . . . . . . . . . . . . . . . . . . . . . . .85 7.1.1 ADCCFG Register  . . . . . . . . . . . . . . . . . . . . . . . . . .85 7.1.2 ADCTMR Register . . . . . . . . . . . . . . . . . . . . . . . . . .85 7.1.3 CMPCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . .85 7.1.4 EMCFG Register  . . . . . . . . . . . . . . . . . . . . . . . . . . .86 7.1.5 FCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87 7.1.6 INTSPD Register  . . . . . . . . . . . . . . . . . . . . . . . . . . .88 7.1.7 LFSRA Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 7.1.8 PSPCFG Register  . . . . . . . . . . . . . . . . . . . . . . . . . .89 7.1.9 RTCFG Register. . . . . . . . . . . . . . . . . . . . . . . . . . . .90 7.1.10 SxINTE/SxINTF Register . . . . . . . . . . . . . . . . . . . . .91 7.1.11 SxMODE Register  . . . . . . . . . . . . . . . . . . . . . . . . . .92 7.1.12 SxRCFG Register. . . . . . . . . . . . . . . . . . . . . . . . . . .93 7.1.13 SxRCNT Register . . . . . . . . . . . . . . . . . . . . . . . . . . .93 7.1.14 SxRSYNC Register  . . . . . . . . . . . . . . . . . . . . . . . . .94 7.1.15 SxSMASK Register  . . . . . . . . . . . . . . . . . . . . . . . . .94 7.1.16 SxTCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . . .95 7.1.17 SxTMRH/SxTMRL Register . . . . . . . . . . . . . . . . . . .95 7.1.18 SPDREG Register  . . . . . . . . . . . . . . . . . . . . . . . . . .96 7.1.19 STATUS Register . . . . . . . . . . . . . . . . . . . . . . . . . . .97 7.1.20 T0CFG Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 7.1.21 TxCFG1H Register . . . . . . . . . . . . . . . . . . . . . . . . . .98 7.1.22 TxCFG2H Register . . . . . . . . . . . . . . . . . . . . . . . . . .99 7.1.23 TxCFG1L Register . . . . . . . . . . . . . . . . . . . . . . . . .100 7.1.24 TxCFG2L Register . . . . . . . . . . . . . . . . . . . . . . . . .101 7.1.25 TCTRL Register . . . . . . . . . . . . . . . . . . . . . . . . . . .102 7.1.26 XCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . . . .102 8.0 Electrical Characteristics 103 8.1 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . .103 8.2 DC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . .104 8.3 AC Specifications . . . . . . . . . . . . . . . . . . . . . . . . . .106 8.4 Comparator DC and AC Specifications  . . . . . . . . .106 8.5 ADC 10-bit Converter DC and AC Specs . . . . . . . .107 9.0 Package Dimensions 108 9.1 PQFP    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 9.2 µBGA    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 10.0 Part Numbering 110