www.national.com 2
Table of Contents
1.0 General Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.0 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.0 Device Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.1 CR16B CPU Core . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.2 Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.3 Input/Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.4 Bus Interface Unit . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.5 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
3.6 Multi-Input Wake-up. . . . . . . . . . . . . . . . . . . . . . . . .6
3.7 Dual Clock and Reset . . . . . . . . . . . . . . . . . . . . . . .6
3.8 Power Management. . . . . . . . . . . . . . . . . . . . . . . . .6
3.9 Multi-Function Timer . . . . . . . . . . . . . . . . . . . . . . . .6
3.10 Versatile timer unit. . . . . . . . . . . . . . . . . . . . . . . . . .6
3.11 Real-Time TIMER and Watchdog . . . . . . . . . . . . . .6
3.12 USART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
3.13 MICROWIRE/SPI. . . . . . . . . . . . . . . . . . . . . . . . . . .6
3.14 CR16CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.15 ACCESS.bus Interface . . . . . . . . . . . . . . . . . . . . . .7
3.16 A/D Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
3.17 Analog Comparators . . . . . . . . . . . . . . . . . . . . . . . .7
3.18 Development Support . . . . . . . . . . . . . . . . . . . . . . .7
4.0 Device Pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
4.1 Pin Description. . . . . . . . . . . . . . . . . . . . . . . . . . . .10
5.0 System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.1 ENV0 and ENV1 Pins . . . . . . . . . . . . . . . . . . . . . .12
5.2 Module Configuration (MCFG) Register . . . . . . . .12
5.3 Module Status (MSTAT) Register . . . . . . . . . . . . .12
6.0 Input/Output Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.1 Port Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
6.2 Open-Drain Operation . . . . . . . . . . . . . . . . . . . . . .14
7.0 CPU and Core Registers . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.1 General-Purpose Registers. . . . . . . . . . . . . . . . . .15
7.2 Dedicated Address Registers . . . . . . . . . . . . . . . .15
7.3 Processor Status Register. . . . . . . . . . . . . . . . . . .15
7.4 Configuration Register. . . . . . . . . . . . . . . . . . . . . .16
7.5 Addressing Modes. . . . . . . . . . . . . . . . . . . . . . . . .16
7.6 Stacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
7.7 Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
8.0 Bus Interface Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.1 Bus Cycles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
8.2 BIU Control Registers . . . . . . . . . . . . . . . . . . . . . .18
8.3 Wait and Hold States Used . . . . . . . . . . . . . . . . . .20
9.0 Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.1 Flash EEPROM Program Memory. . . . . . . . . . . . .22
9.2 RAM Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
9.3 Flash EEPROM Data Memory. . . . . . . . . . . . . . . .25
9.4 ISP Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
10.0 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
10.1 Interrupt Operation. . . . . . . . . . . . . . . . . . . . . . . . .31
10.2 Non-Maskable Interrupt . . . . . . . . . . . . . . . . . . . . .32
10.3 Maskable Interrupts . . . . . . . . . . . . . . . . . . . . . . . .32
10.4 Interrupt Registers . . . . . . . . . . . . . . . . . . . . . . . . .33
10.5 Interrupt Programming Procedures . . . . . . . . . . . .35
11.0 Power Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
11.1 Active Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
11.2 Power Save Mode . . . . . . . . . . . . . . . . . . . . . . . . .36
11.3 Idle Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
11.4 Halt Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
11.5 Clock Inputs and Reset Configuration . . . . . . . . . .36
11.6 Switching Between Power Modes . . . . . . . . . . . . .36
12.0 Dual Clock and Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
12.1 External Crystal Network. . . . . . . . . . . . . . . . . . . .39
12.2 Main System Clock . . . . . . . . . . . . . . . . . . . . . . . .40
12.3 Slow System Clock . . . . . . . . . . . . . . . . . . . . . . . .40
12.4 Power-On Reset . . . . . . . . . . . . . . . . . . . . . . . . . .41
12.5 External Reset. . . . . . . . . . . . . . . . . . . . . . . . . . . .41
12.6 Dual Clock and Reset Registers . . . . . . . . . . . . . .41
12.7 Slow Clock Prescaler Register (PRSSC). . . . . . . .41
12.8 Slow Clock Prescaler 1 Register (PRSSC1) . . . . .41
13.0 Multi-Input Wake-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
13.1 Wake-Up Edge Detection Register (WKEDG). . . .42
13.2 Wake-Up Enable Register (WKENA). . . . . . . . . . .42
13.3 Wake-Up Interrupt Control Register 1 (WKCTRL1)43
13.4 Wake-Up Interrupt Control Register 1 (WKCTRL2)43
13.5 Wake-Up Pending Register (WKPND) . . . . . . . . . .43
13.6 Wake-Up Pending Clear Register (WKPCL) . . . . .43
13.7 Programming Procedures . . . . . . . . . . . . . . . . . . .44
14.0 Real-Time Timer and WATCHDOG. . . . . . . . . . . . . . . . .45
14.1 TWM Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . .45
14.2 Timer T0 Operation . . . . . . . . . . . . . . . . . . . . . . . .45
14.3 WATCHDOG Operation . . . . . . . . . . . . . . . . . . . . .46
14.4 TWM Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . .46
14.5 WATCHDOG Programming Procedure . . . . . . . . .47
15.0 Multi-Function Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
15.1 Timer Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . .49
15.2 Timer Operating Modes . . . . . . . . . . . . . . . . . . . . .51
15.3 Timer Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . .54
15.4 Timer I/O Functions . . . . . . . . . . . . . . . . . . . . . . . .54
15.5 Timer Registers . . . . . . . . . . . . . . . . . . . . . . . . . . .56
16.0 Versatile-Timer-Unit (VTU) . . . . . . . . . . . . . . . . . . . . . . .58
16.1 VTU Functional Description . . . . . . . . . . . . . . . . . .58
16.2 VTU Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
17.0 MICROWIRE/SPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65
17.1 MICROWIRE Operation . . . . . . . . . . . . . . . . . . . . .65
17.2 Master Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
17.3 Slave Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
17.4 Interrupt Generation. . . . . . . . . . . . . . . . . . . . . . . .68
17.5 MICROWIRE Interface Registers. . . . . . . . . . . . . .68
18.0 USART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
18.1 Functional Overview. . . . . . . . . . . . . . . . . . . . . . . .71
18.2 USART Operation . . . . . . . . . . . . . . . . . . . . . . . . .71
18.3 USART Registers. . . . . . . . . . . . . . . . . . . . . . . . . .75
18.4 Baud Rate Calculations . . . . . . . . . . . . . . . . . . . . .77
19.0 ACCESS.bus Interface. . . . . . . . . . . . . . . . . . . . . . . . . . .78
19.1 ACB Protocol Overview . . . . . . . . . . . . . . . . . . . . .78
19.2 ACB Functional Description . . . . . . . . . . . . . . . . . .79
19.3 ACB Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
19.4 Usage Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
20.0 CR16CAN Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
20.1 Functional Description . . . . . . . . . . . . . . . . . . . . . .85
20.2 Basic CAN Concepts . . . . . . . . . . . . . . . . . . . . . . .87
20.3 Message Transfer . . . . . . . . . . . . . . . . . . . . . . . . .95
20.4 Acceptance Filtering. . . . . . . . . . . . . . . . . . . . . . . .96
20.5 Receive Structure. . . . . . . . . . . . . . . . . . . . . . . . . .97
20.6 Transmit Structure . . . . . . . . . . . . . . . . . . . . . . . .100
20.7 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
20.8 Time Stamp Counter . . . . . . . . . . . . . . . . . . . . . .105
20.9 Memory Organization. . . . . . . . . . . . . . . . . . . . . .105
20.10 System Start-Up and Multi-Input Wake-Up . . . . .116
21.0 Analog Comparators . . . . . . . . . . . . . . . . . . . . . . . . . . .118
21.1 Analog Comparator Control/Status Register
(CMPCTRL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118
21.2 Analog Comparator Usage. . . . . . . . . . . . . . . . . .118
22.0 A/D Converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
22.1 Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . .119
22.2 A/D Converter Registers . . . . . . . . . . . . . . . . . . .120
22.3 A/D Converter Programming . . . . . . . . . . . . . . . .122
23.0 Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123
24.0 Register Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
24.1 Register layout . . . . . . . . . . . . . . . . . . . . . . . . . . .129
25.0 ELECTRICAL AND THERMAL CHARACTERISTICS . .136
26.0 Appendix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
26.1 CR16CAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
26.2 8/16-bit microwire/spi (MWSPI16) . . . . . . . . . . . .154
26.3 Timing and watchdog module . . . . . . . . . . . . . . .154