2
www.ubicom.com
IP2022 Data Sheet
TABLE OF CONTENTS
1.0 Product Overview1
1.1
Key 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
The ipModule Concept . . . . . . . . . . . . . . . . . . . . . . 5
1.2.7
Programming and Debugging Support . . . . . . . . . . 6
1.2.8
Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.0
Pin Assignments
7
2.1
Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.0
System Architecture
10
3.1
CPU Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2
Data Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3
Program Memory. . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.1
Loading the Program RAM . . . . . . . . . . . . . . . . . . 14
3.3.2
Program Counter. . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4
Low Power Support. . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.1
Speed Change Delay . . . . . . . . . . . . . . . . . . . . . . 15
3.4.2
Instruction Timing . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5
Interrupt Support . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.1
Interrupt Processing . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.2
Global Interrupt Enable Bit . . . . . . . . . . . . . . . . . . 19
3.5.3
Interrupt Latency During Speed Change. . . . . . . . 20
3.5.4
Return From Interrupt . . . . . . . . . . . . . . . . . . . . . . 20
3.5.5
Disabled Resources . . . . . . . . . . . . . . . . . . . . . . . 21
3.5.6
Clock Stop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6
Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6.1
Brown-Out Detector. . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.2
Reset and Interrupt Vectors . . . . . . . . . . . . . . . . . 23
3.6.3
Register States Following Reset . . . . . . . . . . . . . . 23
3.7
Clock Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.7.1
External Connections . . . . . . . . . . . . . . . . . . . . . . 25
3.8
Configuration Block . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8.1
FUSE0 Register . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.8.2
FUSE1 Register . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.8.3
TRIM0 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.9
Special-Purpose Register Map . . . . . . . . . . . . . . . 30
4.0
Instruction Set Architecture
34
4.1
Addressing Modes. . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1
Pointer Registers. . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.2
Direct Addressing Mode . . . . . . . . . . . . . . . . . . . . 36
4.1.3
Indirect Addressing Mode . . . . . . . . . . . . . . . . . . . 36
4.1.4
Indirect-with-Offset Modes . . . . . . . . . . . . . . . . . . 37
4.2
Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.1
Instruction Formats . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2.2
Instruction Types . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3
Instruction Pipeline . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4
Subroutine Call/Return Stack . . . . . . . . . . . . . . . . 41
4.5
Key to Abbreviations and Symbols . . . . . . . . . . . . 43
4.6
Instruction Set Summary Tables . . . . . . . . . . . . . . 43
4.7
Self-Programming Instructions . . . . . . . . . . . . . . . 47
4.7.1
Flash Timing Control . . . . . . . . . . . . . . . . . . . . . . . 48
4.7.2
Interrupts During Flash Operations . . . . . . . . . . . . 49
5.0
Peripherals
50
5.1
I/O Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.1
Port B Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.2
Reading and Writing the Ports . . . . . . . . . . . . . . . 52
5.1.3
RxIN Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.1.4
RxOUT Registers . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.5
RxDIR Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.6
INTED Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.7
INTF Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.8
INTE Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.1.9
Port Configuration Upon Power-Up. . . . . . . . . . . . 53
5.2
Timer 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3
Real-Time Timer . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4
Multi-Function Timers (T1 and T2) . . . . . . . . . . . . 56
5.4.1
Timers T1, T2 Operating Modes . . . . . . . . . . . . . . 57
5.4.2
T1 and T2 Timer Pin Assignments . . . . . . . . . . . .58
5.4.3
T1 and T2 Timer Registers . . . . . . . . . . . . . . . . . .58
5.5
Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . .61
5.6
Serializer/Deserializer (SERDES) . . . . . . . . . . . . .61
5.6.1
Protocol Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
5.6.2
SxMODE Register . . . . . . . . . . . . . . . . . . . . . . . . .65
5.6.3
SxRSYNC Register . . . . . . . . . . . . . . . . . . . . . . . .66
5.6.4
SxSYNCMASK Register . . . . . . . . . . . . . . . . . . . .66
5.6.5
SxRBUFH/SxRBUFL Register. . . . . . . . . . . . . . . .66
5.6.6
SxRCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .67
5.6.7
SxRCNT Register . . . . . . . . . . . . . . . . . . . . . . . . .67
5.6.8
SxTBUFH/SxTBUFL Register . . . . . . . . . . . . . . . .67
5.6.9
SxTCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .68
5.6.10
SxINTF Register . . . . . . . . . . . . . . . . . . . . . . . . . .68
5.6.11
SxINTE Register . . . . . . . . . . . . . . . . . . . . . . . . . .69
5.6.12
SERDES Protocol-Specific Considerations . . . . . .70
5.7
Analog to Digital Converter (ADC). . . . . . . . . . . . .72
5.7.1
ADC Reference Voltage . . . . . . . . . . . . . . . . . . . .72
5.7.2
ADC Result Justification . . . . . . . . . . . . . . . . . . . .72
5.7.3
Using the A/D Converter . . . . . . . . . . . . . . . . . . . .73
5.7.4
A/D Converter Registers . . . . . . . . . . . . . . . . . . . .73
5.8
Comparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
5.8.1
CMPCFG Register. . . . . . . . . . . . . . . . . . . . . . . . .74
5.9
Linear Feedback Shift Register . . . . . . . . . . . . . . .74
5.9.1
LFSRCFG1 Register . . . . . . . . . . . . . . . . . . . . . . .77
5.9.2
LFSRCFG2 Register . . . . . . . . . . . . . . . . . . . . . . .78
5.9.3
LFSRCFG3 Register . . . . . . . . . . . . . . . . . . . . . . .78
5.9.4
DATAIN Register . . . . . . . . . . . . . . . . . . . . . . . . . .78
5.9.5
DATAOUT Register . . . . . . . . . . . . . . . . . . . . . . . .78
5.9.6
DOUT Register . . . . . . . . . . . . . . . . . . . . . . . . . . .78
5.9.7
FBx Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
5.9.8
POLYx Registers . . . . . . . . . . . . . . . . . . . . . . . . . .78
5.9.9
RESx Registers . . . . . . . . . . . . . . . . . . . . . . . . . . .79
5.9.10
RESCMPx Registers . . . . . . . . . . . . . . . . . . . . . . .79
5.10
Parallel Slave Peripheral . . . . . . . . . . . . . . . . . . . .79
5.10.1
PSPCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .79
5.11
External Memory Interface. . . . . . . . . . . . . . . . . . .80
5.11.1
EMCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . .81
6.0
In-System Programming
82
7.0
Register Quick Reference
83
7.1
Registers (sorted by address) . . . . . . . . . . . . . . . .83
7.2
Registers (sorted alphabetically) . . . . . . . . . . . . . .88
7.3
Register Bit Definitions . . . . . . . . . . . . . . . . . . . . .92
7.3.1
ADCCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .92
7.3.2
CMPCFG Register. . . . . . . . . . . . . . . . . . . . . . . . .92
7.3.3
EMCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . .93
7.3.4
FCFG Register. . . . . . . . . . . . . . . . . . . . . . . . . . . .93
7.3.5
INTSPD Register . . . . . . . . . . . . . . . . . . . . . . . . . .94
7.3.6
LFSRA Register. . . . . . . . . . . . . . . . . . . . . . . . . . .95
7.3.7
PSPCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .95
7.3.8
RTCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . .95
7.3.9
SxINTF Register . . . . . . . . . . . . . . . . . . . . . . . . . .96
7.3.10
SxMODE Register . . . . . . . . . . . . . . . . . . . . . . . . .97
7.3.11
SxRCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .97
7.3.12
SxRCNT Register . . . . . . . . . . . . . . . . . . . . . . . . .97
7.3.13
SxTCFG Register . . . . . . . . . . . . . . . . . . . . . . . . .98
7.3.14
SPDREG Register . . . . . . . . . . . . . . . . . . . . . . . . .98
7.3.15
STATUS Register . . . . . . . . . . . . . . . . . . . . . . . . .98
7.3.16
T0CFG Register. . . . . . . . . . . . . . . . . . . . . . . . . . .99
7.3.17
TxCFG1H/TxCFG1L Register . . . . . . . . . . . . . . .100
7.3.18
TxCFG2H/TxCFG2L Register . . . . . . . . . . . . . . .101
7.3.19
TCTRL Register. . . . . . . . . . . . . . . . . . . . . . . . . .102
7.3.20
XCFG Register . . . . . . . . . . . . . . . . . . . . . . . . . .103
8.0
Electrical Characteristics
104
8.1
Absolute Maximum Ratings . . . . . . . . . . . . . . . . .104
8.2
DC Characteristics. . . . . . . . . . . . . . . . . . . . . . . .105
8.3
AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . .107
8.4
Analog Comparator DC and AC Specifications . .107
8.5
A/D Converter DC and AC Specifications . . . . . .108
9.0
Package Dimensions
109
10.0
Part Numbering
110
11.0
Data Sheet Revision History
110