Apollo MCU Datasheet
Apollo MCU Datasheet
Apollo MCU Datasheet
Features Applications
Ultra-low supply current: - Wearable electronics
- EEMBC ULPBench score of 377 - Wireless sensors
- 35µA/MHz executing from flash at 3.3 V - Activity and fitness monitors
- 143 nA deep sleep mode at 3.3 V - Consumer medical devices
- 419nA deep sleep mode with XTAL-assisted
RTC at 3.3 V
Description
High-performance ARM Cortex-M4F Processor
- Up to 24 MHz clock frequency The Apollo MCU family is an ultra-low power, highly
- Floating point unit integrated microcontroller designed for battery-
- Memory protection unit powered devices including wearable electronics,
- Wake-up interrupt controller with 12 interrupts activity & fitness monitors, and wireless sensors. By
combining ultra-low power sensor conversion
Ultra-low power memory: electronics with the powerful ARM Cortex-M4F
- Up to 512 KB of flash memory for code/data processor, the Apollo MCU enables complex sensor
- Up to 64 KB of low leakage RAM for code/data processing tasks to be completed with
Ultra-low power interface for off-chip sensors: unprecedented battery life. Weeks, months, and
- 10 bit, 13-channel, up to 800 kSps ADC years of battery life are achievable while doing
- Temperature sensor with +/-4ºC accuracy complex context detection, gesture recognition, and
activity monitoring. The Apollo MCU takes full
Flexible serial peripherals:
advantage of Ambiq Micro’s patented Subthreshold
- I2C/SPI masters for communication with sensors, Power Optimized Technology (SPOT) Platform,
radios, and other peripherals setting a new industry benchmark in low power
- I2C/SPI slave for host communications design.
- UART for communication with peripherals and
legacy devices The Apollo MCU also integrates up to 512 KB of
flash memory and 64 KB of RAM to accommodate
Rich set of clock sources: radio and sensor overhead while still leaving plenty
- 32.768 kHz XTAL oscillator of space for application code. This microcontroller
- Low frequency RC oscillator – 1.024 kHz also includes a serial master and UART port for
- High frequency RC oscillator – 24 MHz communicating with radios and sensors including
- RTC based on Ambiq’s AM08X5/18X5 families accelerometers, gyroscopes, and magnetometers.
Wide operating range: 1.8-3.8 V, –40 to 85°C
Compact package options:
- 2.49 x 2.90 mm 41-pin CSP with 27 GPIO
- 4.5 x 4.5 mm 64-pin BGA with 50 GPIO
SPI/I2C Master,
UART
Table of Content
1. Apollo MCUPackage Pins ................................................................................................. 24
1.1 Pin Configuration ....................................................................................................... 24
1.2 Pin Connections ......................................................................................................... 25
2. System Core ....................................................................................................................... 33
3. MCU Core Details ............................................................................................................. 35
3.1 Interrupts And Events ................................................................................................ 35
3.2 M4F Memory Map ..................................................................................................... 37
3.3 Memory Protection Unit (MPU) ................................................................................ 38
3.4 System Busses ............................................................................................................ 39
3.5 Power Management ................................................................................................... 39
3.5.1 Cortex M4F Power Modes ................................................................................ 39
3.6 Debug Interfaces ........................................................................................................ 40
3.6.1 Debugger Attachment ....................................................................................... 40
3.6.2 Instrumentation Trace Macrocell (ITM) ........................................................... 40
3.6.3 Trace Port Interface Unit (TPIU) ...................................................................... 40
3.6.4 Faulting Address Trapping Hardware ............................................................... 41
3.7 ITM Registers ............................................................................................................ 41
3.7.1 Register Memory Map ...................................................................................... 41
3.7.2 ITM Registers ................................................................................................... 43
3.8 MCUCTRL Registers ................................................................................................ 68
3.8.1 Register Memory Map ...................................................................................... 68
3.8.2 MCUCTRL Registers ....................................................................................... 69
3.9 Memory Subsystem ................................................................................................... 81
3.9.1 Features ............................................................................................................. 81
3.9.2 Functional Overview ......................................................................................... 82
4. I2C/SPI Master Module ..................................................................................................... 83
4.1 Functional Overview .................................................................................................. 83
4.2 Interface Clock Generation ........................................................................................ 83
4.3 Command Operation .................................................................................................. 84
4.4 FIFO ........................................................................................................................... 84
4.5 I2C Interface .............................................................................................................. 85
4.5.1 Bus Not Busy .................................................................................................... 85
4.5.2 Start Data Transfer ............................................................................................ 85
4.5.3 Stop Data Transfer ............................................................................................ 85
4.5.4 Data Valid ......................................................................................................... 85
4.5.5 Acknowledge .................................................................................................... 86
4.5.6 I2C Slave Addressing ....................................................................................... 86
4.5.7 I2C Offset Address Transmission ..................................................................... 87
4.5.8 I2C Normal Write Operation ............................................................................ 87
4.5.9 I2C Normal Read Operation ............................................................................. 87
4.5.10 I2C Raw Write Operation ............................................................................... 88
4.5.11 I2C Raw Read Operation ................................................................................ 88
4.5.12 Holding the Interface with CONT .................................................................. 88
4.5.13 I2C Multi-master Arbitration .......................................................................... 89
List of Figures
Figure 1. CSP Pin Configuration Diagram (Top View — Balls on Bottom) ............................. 24
Figure 2. BGA Pin Configuration Diagram (Top View — Balls on Bottom) ............................ 24
Figure 3. Block Diagram for the Apollo Ultra-Low Power MCU .............................................. 33
Figure 4. ARM Cortex-M4F Vector Table ................................................................................. 36
Figure 5. Block Diagram for Flash and OTP Subsystem ........................................................... 81
Figure 6. Block Diagram for the I2C/SPI Master Module ......................................................... 83
Figure 7. I2C/SPI Master Clock Generation ............................................................................... 84
Figure 8. Basic I2C Conditions ................................................................................................... 85
Figure 9. I2C Acknowledge ........................................................................................................ 86
Figure 10. I2C 7-bit Address Operation ..................................................................................... 86
Figure 11. I2C 10-bit Address Operation ................................................................................... 87
Figure 12. I2C Offset Address Transmission ............................................................................. 87
Figure 13. I2C Normal Write Operation ..................................................................................... 87
Figure 14. I2C Normal Read Operation ...................................................................................... 88
Figure 15. I2C Raw Write Operation .......................................................................................... 88
Figure 16. I2C Raw Read Operation .......................................................................................... 88
Figure 17. SPI Normal Write Operation ..................................................................................... 90
Figure 18. SPI Normal Read Operation ...................................................................................... 90
Figure 19. SPI Raw Write Operation .......................................................................................... 91
Figure 20. SPI Raw Read Operation ........................................................................................... 91
Figure 21. SPI Combined Operation ........................................................................................... 92
Figure 22. SPI CPOL and CPHA ................................................................................................ 92
Figure 23. Block diagram for the I2C/SPI Slave Module ......................................................... 106
Figure 24. I2C/SPI Slave Module LRAM Addressing ............................................................. 107
Figure 25. I2C/SPI Slave Module FIFO ................................................................................... 110
Figure 26. Basic I2C Conditions ............................................................................................... 112
Figure 27. I2C Acknowledge .................................................................................................... 113
Figure 28. I2C 7-bit Address Operation ................................................................................... 114
Figure 29. I2C 10-bit Address Operation ................................................................................. 114
Figure 30. I2C Offset Address Transmission ........................................................................... 114
Figure 31. I2C Write Operation ................................................................................................ 115
Figure 32. I2C Read Operation ................................................................................................. 115
Figure 33. SPI Write Operation ................................................................................................ 116
Figure 34. SPI Read Operation ................................................................................................. 116
Figure 35. SPI CPOL and CPHA .............................................................................................. 117
Figure 36. Block diagram for the General Purpose I/O (GPIO) Module .................................. 139
Figure 37. Pad Connection Details ........................................................................................... 144
Figure 38. Block diagram for the Clock Generator and Real Time Clock Module .................. 224
Figure 39. Block diagram for the Real Time Clock Module .................................................... 242
Figure 40. Block Diagram for One Counter/Timer Pair ........................................................... 252
Figure 41. Counter/Timer Operation, FN = 0 ........................................................................... 253
Figure 42. Counter/Timer Operation, FN = 1 ........................................................................... 254
Figure 43. Counter/Timer Operation, FN = 2 ........................................................................... 254
Figure 44. Counter/Timer Operation, FN = 3 ........................................................................... 255
23
List of Tables
Table 1: Pin List and Function Table .......................................................................................... 25
Table 2: ARM Cortex M4F Memory Map ................................................................................. 37
Table 3: MCU System Memory Map ......................................................................................... 37
Table 4: MCU Peripheral Device Memory Map ........................................................................ 38
Table 5: ITM Register Map ........................................................................................................ 41
Table 6: STIM0 Register ............................................................................................................ 43
Table 7: STIM0 Register Bits ..................................................................................................... 43
Table 8: STIM1 Register ............................................................................................................ 43
Table 9: STIM1 Register Bits ..................................................................................................... 43
Table 10: STIM2 Register .......................................................................................................... 44
Table 11: STIM2 Register Bits ................................................................................................... 44
Table 12: STIM3 Register .......................................................................................................... 44
Table 13: STIM3 Register Bits ................................................................................................... 44
Table 14: STIM4 Register .......................................................................................................... 45
Table 15: STIM4 Register Bits ................................................................................................... 45
Table 16: STIM5 Register .......................................................................................................... 45
Table 17: STIM5 Register Bits ................................................................................................... 45
Table 18: STIM6 Register .......................................................................................................... 46
Table 19: STIM6 Register Bits ................................................................................................... 46
Table 20: STIM7 Register .......................................................................................................... 46
Table 21: STIM7 Register Bits ................................................................................................... 46
Table 22: STIM8 Register .......................................................................................................... 47
Table 23: STIM8 Register Bits ................................................................................................... 47
Table 24: STIM9 Register .......................................................................................................... 47
Table 25: STIM9 Register Bits ................................................................................................... 47
Table 26: STIM10 Register ........................................................................................................ 48
Table 27: STIM10 Register Bits ................................................................................................. 48
Table 28: STIM11 Register ........................................................................................................ 48
Table 29: STIM11 Register Bits ................................................................................................. 48
Table 30: STIM12 Register ........................................................................................................ 49
Table 31: STIM12 Register Bits ................................................................................................. 49
Table 32: STIM13 Register ........................................................................................................ 49
Table 33: STIM13 Register Bits ................................................................................................. 49
Table 34: STIM14 Register ........................................................................................................ 50
Table 35: STIM14 Register Bits ................................................................................................. 50
Table 36: STIM15 Register ........................................................................................................ 50
Table 37: STIM15 Register Bits ................................................................................................. 50
Table 38: STIM16 Register ........................................................................................................ 51
Table 39: STIM16 Register Bits ................................................................................................. 51
Table 40: STIM17 Register ........................................................................................................ 51
Table 41: STIM17 Register Bits ................................................................................................. 51
Table 42: STIM18 Register ........................................................................................................ 52
Table 43: STIM18 Register Bits ................................................................................................. 52
Table 44: STIM19 Register ........................................................................................................ 52
23
Table 45: STIM19 Register Bits ................................................................................................. 52
Table 46: STIM20 Register ........................................................................................................ 53
Table 47: STIM20 Register Bits ................................................................................................. 53
Table 48: STIM21 Register ........................................................................................................ 53
Table 49: STIM21 Register Bits ................................................................................................. 53
Table 50: STIM22 Register ........................................................................................................ 54
Table 51: STIM22 Register Bits ................................................................................................. 54
Table 52: STIM23 Register ........................................................................................................ 54
Table 53: STIM23 Register Bits ................................................................................................. 54
Table 54: STIM24 Register ........................................................................................................ 55
Table 55: STIM24 Register Bits ................................................................................................. 55
Table 56: STIM25 Register ........................................................................................................ 55
Table 57: STIM25 Register Bits ................................................................................................. 55
Table 58: STIM26 Register ........................................................................................................ 56
Table 59: STIM26 Register Bits ................................................................................................. 56
Table 60: STIM27 Register ........................................................................................................ 56
Table 61: STIM27 Register Bits ................................................................................................. 56
Table 62: STIM28 Register ........................................................................................................ 57
Table 63: STIM28 Register Bits ................................................................................................. 57
Table 64: STIM29 Register ........................................................................................................ 57
Table 65: STIM29 Register Bits ................................................................................................. 57
Table 66: STIM30 Register ........................................................................................................ 58
Table 67: STIM30 Register Bits ................................................................................................. 58
Table 68: STIM31 Register ........................................................................................................ 58
Table 69: STIM31 Register Bits ................................................................................................. 58
Table 70: TER Register .............................................................................................................. 59
Table 71: TER Register Bits ....................................................................................................... 59
Table 72: TPR Register ............................................................................................................... 59
Table 73: TPR Register Bits ....................................................................................................... 59
Table 74: TCR Register .............................................................................................................. 60
Table 75: TCR Register Bits ....................................................................................................... 60
Table 76: LOCKAREG Register ................................................................................................ 61
Table 77: LOCKAREG Register Bits ......................................................................................... 61
Table 78: LOCKSREG Register ................................................................................................. 61
Table 79: LOCKSREG Register Bits ......................................................................................... 61
Table 80: PID4 Register ............................................................................................................. 62
Table 81: PID4 Register Bits ...................................................................................................... 62
Table 82: PID5 Register ............................................................................................................. 62
Table 83: PID5 Register Bits ...................................................................................................... 62
Table 84: PID6 Register ............................................................................................................. 63
Table 85: PID6 Register Bits ...................................................................................................... 63
Table 86: PID7 Register ............................................................................................................. 63
Table 87: PID7 Register Bits ...................................................................................................... 63
Table 88: PID0 Register ............................................................................................................. 64
Table 89: PID0 Register Bits ...................................................................................................... 64
Table 90: PID1 Register ............................................................................................................. 64
23
Table 91: PID1 Register Bits ...................................................................................................... 64
Table 92: PID2 Register ............................................................................................................. 65
Table 93: PID2 Register Bits ...................................................................................................... 65
Table 94: PID3 Register ............................................................................................................. 65
Table 95: PID3 Register Bits ...................................................................................................... 65
Table 96: CID0 Register ............................................................................................................. 66
Table 97: CID0 Register Bits ...................................................................................................... 66
Table 98: CID1 Register ............................................................................................................. 66
Table 99: CID1 Register Bits ...................................................................................................... 66
Table 100: CID2 Register ........................................................................................................... 67
Table 101: CID2 Register Bits .................................................................................................... 67
Table 102: CID3 Register ........................................................................................................... 67
Table 103: CID3 Register Bits .................................................................................................... 67
Table 104: MCUCTRL Register Map ........................................................................................ 68
Table 105: CHIP_INFO Register ............................................................................................... 69
Table 106: CHIP_INFO Register Bits ........................................................................................ 69
Table 107: CHIPID0 Register ..................................................................................................... 70
Table 108: CHIPID0 Register Bits ............................................................................................. 70
Table 109: CHIPID1 Register ..................................................................................................... 70
Table 110: CHIPID1 Register Bits ............................................................................................. 71
Table 111: CHIPREV Register ................................................................................................... 71
Table 112: CHIPREV Register Bits ........................................................................................... 71
Table 113: SUPPLYSRC Register ............................................................................................. 71
Table 114: SUPPLYSRC Register Bits ...................................................................................... 72
Table 115: SUPPLYSTATUS Register ...................................................................................... 72
Table 116: SUPPLYSTATUS Register Bits .............................................................................. 72
Table 117: BANDGAPEN Register ........................................................................................... 73
Table 118: BANDGAPEN Register Bits .................................................................................... 73
Table 119: SRAMPWDINSLEEP Register ................................................................................ 73
Table 120: SRAMPWDINSLEEP Register Bits ........................................................................ 74
Table 121: SRAMPWRDIS Register ......................................................................................... 75
Table 122: SRAMPWRDIS Register Bits .................................................................................. 75
Table 123: FLASHPWRDIS Register ........................................................................................ 76
Table 124: FLASHPWRDIS Register Bits ................................................................................. 76
Table 125: ICODEFAULTADDR Register ............................................................................... 77
Table 126: ICODEFAULTADDR Register Bits ........................................................................ 77
Table 127: DCODEFAULTADDR Register .............................................................................. 77
Table 128: DCODEFAULTADDR Register Bits ...................................................................... 77
Table 129: SYSFAULTADDR Register .................................................................................... 78
Table 130: SYSFAULTADDR Register Bits ............................................................................. 78
Table 131: FAULTSTATUS Register ........................................................................................ 78
Table 132: FAULTSTATUS Register Bits ................................................................................ 78
Table 133: FAULTCAPTUREEN Register ............................................................................... 79
Table 134: FAULTCAPTUREEN Register Bits ........................................................................ 79
Table 135: TPIUCTRL Register ................................................................................................. 80
Table 136: TPIUCTRL Register Bits ......................................................................................... 80
23
Table 137: IOMSTR Register Map ............................................................................................ 94
Table 138: FIFO Register ........................................................................................................... 95
Table 139: FIFO Register Bits .................................................................................................... 95
Table 140: FIFOPTR Register .................................................................................................... 95
Table 141: FIFOPTR Register Bits ............................................................................................ 95
Table 142: TLNGTH Register .................................................................................................... 96
Table 143: TLNGTH Register Bits ............................................................................................ 96
Table 144: FIFOTHR Register ................................................................................................... 97
Table 145: FIFOTHR Register Bits ............................................................................................ 97
Table 146: CLKCFG Register .................................................................................................... 97
Table 147: CLKCFG Register Bits ............................................................................................. 97
Table 148: CMD Register ........................................................................................................... 98
Table 149: CMD Register Bits ................................................................................................... 99
Table 150: CMDRPT Register ................................................................................................... 99
Table 151: CMDRPT Register Bits ............................................................................................ 99
Table 152: STATUS Register ................................................................................................... 100
Table 153: STATUS Register Bits ........................................................................................... 100
Table 154: CFG Register .......................................................................................................... 101
Table 155: CFG Register Bits ................................................................................................... 101
Table 156: INTEN Register ...................................................................................................... 102
Table 157: INTEN Register Bits .............................................................................................. 102
Table 158: INTSTAT Register ................................................................................................. 103
Table 159: INTSTAT Register Bits .......................................................................................... 103
Table 160: INTCLR Register ................................................................................................... 104
Table 161: INTCLR Register Bits ............................................................................................ 104
Table 162: INTSET Register .................................................................................................... 105
Table 163: INTSET Register Bits ............................................................................................. 105
Table 164: Mapping of Direct Address Space Access Interrupts and Corresponding REGAC-
CINTSTAT Bits ......................................................................................................................... 108
Table 165: I/O Interface Interrupt Control ................................................................................ 111
Table 166: IOSLAVE Register Map ........................................................................................ 119
Table 167: FIFOPTR Register .................................................................................................. 120
Table 168: FIFOPTR Register Bits .......................................................................................... 120
Table 169: FIFOCFG Register ................................................................................................. 120
Table 170: FIFOCFG Register Bits .......................................................................................... 121
Table 171: FIFOTHR Register ................................................................................................. 121
Table 172: FIFOTHR Register Bits .......................................................................................... 121
Table 173: FUPD Register ........................................................................................................ 122
Table 174: FUPD Register Bits ................................................................................................ 122
Table 175: FIFOCTR Register ................................................................................................. 122
Table 176: FIFOCTR Register Bits .......................................................................................... 122
Table 177: FIFOINC Register .................................................................................................. 123
Table 178: FIFOINC Register Bits ........................................................................................... 123
Table 179: CFG Register .......................................................................................................... 123
Table 180: CFG Register Bits ................................................................................................... 124
Table 181: PRENC Register ..................................................................................................... 124
23
Table 182: PRENC Register Bits .............................................................................................. 125
Table 183: IOINTCTL Register ............................................................................................... 125
Table 184: IOINTCTL Register Bits ........................................................................................ 125
Table 185: GENADD Register ................................................................................................. 126
Table 186: GENADD Register Bits .......................................................................................... 126
Table 187: INTEN Register ...................................................................................................... 126
Table 188: INTEN Register Bits .............................................................................................. 126
Table 189: INTSTAT Register ................................................................................................. 127
Table 190: INTSTAT Register Bits .......................................................................................... 127
Table 191: INTCLR Register ................................................................................................... 128
Table 192: INTCLR Register Bits ............................................................................................ 128
Table 193: INTSET Register .................................................................................................... 129
Table 194: INTSET Register Bits ............................................................................................. 129
Table 195: REGACCINTEN Register ...................................................................................... 130
Table 196: REGACCINTEN Register Bits .............................................................................. 130
Table 197: REGACCINTSTAT Register ................................................................................. 130
Table 198: REGACCINTSTAT Register Bits .......................................................................... 130
Table 199: REGACCINTCLR Register ................................................................................... 131
Table 200: REGACCINTCLR Register Bits ............................................................................ 131
Table 201: REGACCINTSET Register .................................................................................... 131
Table 202: REGACCINTSET Register Bits ............................................................................ 131
Table 203: HOST_IER Register ............................................................................................... 132
Table 204: HOST_IER Register Bits ........................................................................................ 132
Table 205: HOST_ISR Register ............................................................................................... 133
Table 206: HOST_ISR Register Bits ........................................................................................ 133
Table 207: HOST_WCR Register ............................................................................................ 133
Table 208: HOST_WCR Register Bits ..................................................................................... 134
Table 209: HOST_WCS Register ............................................................................................. 134
Table 210: HOST_WCS Register Bits ..................................................................................... 134
Table 211: FIFOCTRLO Register ............................................................................................ 135
Table 212: FIFOCTRLO Register Bits ..................................................................................... 135
Table 213: FIFOCTRUP Register ............................................................................................ 135
Table 214: FIFOCTRUP Register Bits ..................................................................................... 135
Table 215: FIFO Register ......................................................................................................... 136
Table 216: FIFO Register Bits .................................................................................................. 136
Table 217: Apollo Pad Function Mapping ............................................................................... 140
Table 218: Pad Function Color and Symbol Code ................................................................... 141
Table 219: Special Pad Types ................................................................................................... 141
Table 220: I2C Pullup Resistor Selection ................................................................................. 142
Table 221: IO Master 0 I2C Configuration .............................................................................. 145
Table 222: IO Master 1 I2C Configuration .............................................................................. 146
Table 223: IO Master 0 4-wire SPI Configuration ................................................................... 146
Table 225: IO Master 1 4-wire SPI Configuration ................................................................... 147
Table 224: IO Master 0 4-wire SPI nCE Configuration ........................................................... 147
Table 226: IO Master 1 4-wire SPI nCE Configuration ........................................................... 148
Table 227: IO Master 0 3-wire SPI Configuration ................................................................... 148
23
Table 228: IO Master 1 3-wire SPI Configuration ................................................................... 149
Table 229: IO Slave I2C Configuration .................................................................................... 149
Table 230: IO Slave 4-wire SPI Configuration ........................................................................ 149
Table 231: IO Slave 3-wire SPI Configuration ........................................................................ 150
Table 232: IO Master 0 I2C Loopback ..................................................................................... 150
Table 233: IO Master 1 I2C Loopback ..................................................................................... 150
Table 234: IO Master 0 4-wire SPI Loopback .......................................................................... 151
Table 235: IO Master 1 4-wire SPI Loopback .......................................................................... 151
Table 236: IO Master 0 3-wire SPI Loopback .......................................................................... 151
Table 237: IO Master 1 3-wire SPI Loopback .......................................................................... 152
Table 238: Counter/Timer Pad Configuration .......................................................................... 153
Table 240: UART RX Configuration ....................................................................................... 154
Table 241: UART RTS Configuration ...................................................................................... 154
Table 242: UART CTS Configuration ...................................................................................... 154
Table 243: UART CTS Configuration ...................................................................................... 154
Table 239: UART TX Configuration ........................................................................................ 154
Table 244: CLKOUT Configuration ......................................................................................... 155
Table 245: ADC Analog Input Configuration .......................................................................... 155
Table 247: Voltage Comparator Reference Configuration ....................................................... 156
Table 248: Voltage Comparator Input Configuration ............................................................... 156
Table 246: ADC Trigger Input Configuration .......................................................................... 156
Table 249: SWO Configuration ................................................................................................ 157
Table 250: GPIO Register Map ................................................................................................ 157
Table 251: PADREGA Register ............................................................................................... 159
Table 252: PADREGA Register Bits ........................................................................................ 159
Table 253: PADREGB Register ............................................................................................... 161
Table 254: PADREGB Register Bits ........................................................................................ 162
Table 255: PADREGC Register ............................................................................................... 164
Table 256: PADREGC Register Bits ........................................................................................ 164
Table 257: PADREGD Register ............................................................................................... 167
Table 258: PADREGD Register Bits ........................................................................................ 167
Table 259: PADREGE Register ............................................................................................... 169
Table 260: PADREGE Register Bits ........................................................................................ 169
Table 261: PADREGF Register ................................................................................................ 171
Table 262: PADREGF Register Bits ........................................................................................ 171
Table 263: PADREGG Register ............................................................................................... 173
Table 264: PADREGG Register Bits ........................................................................................ 173
Table 265: PADREGH Register ............................................................................................... 175
Table 266: PADREGH Register Bits ........................................................................................ 175
Table 267: PADREGI Register ................................................................................................. 177
Table 268: PADREGI Register Bits ......................................................................................... 177
Table 269: PADREGJ Register ................................................................................................ 179
Table 270: PADREGJ Register Bits ......................................................................................... 179
Table 271: PADREGK Register ............................................................................................... 181
Table 272: PADREGK Register Bits ........................................................................................ 181
Table 273: PADREGL Register ............................................................................................... 183
23
Table 274: PADREGL Register Bits ........................................................................................ 183
Table 275: PADREGM Register .............................................................................................. 185
Table 276: PADREGM Register Bits ....................................................................................... 185
Table 277: CFGA Register ....................................................................................................... 186
Table 278: CFGA Register Bits ................................................................................................ 186
Table 279: CFGB Register ....................................................................................................... 189
Table 280: CFGB Register Bits ................................................................................................ 189
Table 281: CFGC Register ....................................................................................................... 192
Table 282: CFGC Register Bits ................................................................................................ 192
Table 283: CFGD Register ....................................................................................................... 194
Table 284: CFGD Register Bits ................................................................................................ 195
Table 285: CFGE Register ........................................................................................................ 197
Table 286: CFGE Register Bits ................................................................................................ 197
Table 287: CFGF Register ........................................................................................................ 200
Table 288: CFGF Register Bits ................................................................................................ 200
Table 289: CFGG Register ....................................................................................................... 202
Table 290: CFGG Register Bits ................................................................................................ 203
Table 291: PADKEY Register .................................................................................................. 203
Table 292: PADKEY Register Bits .......................................................................................... 204
Table 293: RDA Register ......................................................................................................... 204
Table 294: RDA Register Bits .................................................................................................. 204
Table 295: RDB Register .......................................................................................................... 204
Table 296: RDB Register Bits .................................................................................................. 205
Table 297: WTA Register ......................................................................................................... 205
Table 298: WTA Register Bits ................................................................................................. 205
Table 299: WTB Register ......................................................................................................... 205
Table 300: WTB Register Bits .................................................................................................. 206
Table 301: WTSA Register ....................................................................................................... 206
Table 302: WTSA Register Bits ............................................................................................... 206
Table 303: WTSB Register ....................................................................................................... 206
Table 304: WTSB Register Bits ............................................................................................... 207
Table 305: WTCA Register ...................................................................................................... 207
Table 306: WTCA Register Bits ............................................................................................... 207
Table 307: WTCB Register ...................................................................................................... 207
Table 308: WTCB Register Bits ............................................................................................... 208
Table 309: ENA Register .......................................................................................................... 208
Table 310: ENA Register Bits .................................................................................................. 208
Table 311: ENB Register .......................................................................................................... 208
Table 312: ENB Register Bits .................................................................................................. 209
Table 313: ENSA Register ....................................................................................................... 209
Table 314: ENSA Register Bits ................................................................................................ 209
Table 315: ENSB Register ........................................................................................................ 209
Table 316: ENSB Register Bits ................................................................................................ 210
Table 317: ENCA Register ....................................................................................................... 210
Table 318: ENCA Register Bits ................................................................................................ 210
Table 319: ENCB Register ....................................................................................................... 210
23
Table 320: ENCB Register Bits ................................................................................................ 211
Table 321: INT0EN Register .................................................................................................... 211
Table 322: INT0EN Register Bits ............................................................................................ 211
Table 323: INT0STAT Register ............................................................................................... 213
Table 324: INT0STAT Register Bits ........................................................................................ 213
Table 325: INT0CLR Register ................................................................................................. 215
Table 326: INT0CLR Register Bits .......................................................................................... 215
Table 327: INT0SET Register .................................................................................................. 216
Table 328: INT0SET Register Bits ........................................................................................... 217
Table 329: INT1EN Register .................................................................................................... 218
Table 330: INT1EN Register Bits ............................................................................................ 218
Table 331: INT1STAT Register ............................................................................................... 220
Table 332: INT1STAT Register Bits ........................................................................................ 220
Table 333: INT1CLR Register ................................................................................................. 221
Table 334: INT1CLR Register Bits .......................................................................................... 221
Table 335: INT1SET Register .................................................................................................. 222
Table 336: INT1SET Register Bits ........................................................................................... 222
Table 337: CLKGEN Register Map ......................................................................................... 229
Table 338: CALXT Register ..................................................................................................... 229
Table 339: CALXT Register Bits ............................................................................................. 229
Table 340: CALRC Register ..................................................................................................... 230
Table 341: CALRC Register Bits ............................................................................................. 230
Table 342: ACALCTR Register ............................................................................................... 230
Table 343: ACALCTR Register Bits ........................................................................................ 230
Table 344: OCTRL Register ..................................................................................................... 231
Table 345: OCTRL Register Bits ............................................................................................. 231
Table 346: CALXT Register Bits ............................................................................................. 232
Table 347: CLKOUT Register .................................................................................................. 232
Table 348: CLKOUT Register Bits .......................................................................................... 232
Table 349: CLKKEY Register .................................................................................................. 234
Table 350: CLKKEY Register Bits .......................................................................................... 234
Table 351: CCTRL Register ..................................................................................................... 234
Table 352: CCTRL Register Bits .............................................................................................. 234
Table 353: STATUS Register ................................................................................................... 235
Table 354: STATUS Register Bits ........................................................................................... 235
Table 355: HFADJ Register ..................................................................................................... 236
Table 356: HFADJ Register Bits .............................................................................................. 236
Table 357: HFVAL Register ..................................................................................................... 237
Table 358: HFVAL Register Bits ............................................................................................. 237
Table 359: CLOCKEN Register ............................................................................................... 237
Table 360: CLOCKEN Register Bits ........................................................................................ 237
Table 361: UARTEN Register .................................................................................................. 238
Table 362: UARTEN Register Bits .......................................................................................... 238
Table 363: INTEN Register ...................................................................................................... 238
Table 364: INTEN Register Bits .............................................................................................. 238
Table 365: INTSTAT Register ................................................................................................. 239
23
Table 366: INTSTAT Register Bits .......................................................................................... 239
Table 367: INTCLR Register ................................................................................................... 240
Table 368: INTCLR Register Bits ............................................................................................ 240
Table 369: INTSET Register .................................................................................................... 240
Table 370: INTSET Register Bits ............................................................................................. 240
Table 371: Alarm RPT Function .............................................................................................. 243
Table 372: ................................................................................................................................ 243
Table 373: RTC Register Map .................................................................................................. 244
Table 374: CTRLOW Register ................................................................................................. 244
Table 375: CTRLOW Register Bits .......................................................................................... 245
Table 376: CTRUP Register ..................................................................................................... 245
Table 377: CTRUP Register Bits .............................................................................................. 245
Table 378: ALMLOW Register ................................................................................................ 246
Table 379: ALMLOW Register Bits ........................................................................................ 246
Table 380: ALMUP Register .................................................................................................... 247
Table 381: ALMUP Register Bits ............................................................................................ 247
Table 382: RTCCTL Register ................................................................................................... 248
Table 383: RTCCTL Register Bits ........................................................................................... 248
Table 384: INTEN Register ...................................................................................................... 249
Table 385: INTEN Register Bits .............................................................................................. 249
Table 386: INTSTAT Register ................................................................................................. 249
Table 387: INTSTAT Register Bits .......................................................................................... 249
Table 388: INTCLR Register ................................................................................................... 250
Table 389: INTCLR Register Bits ............................................................................................ 250
Table 390: INTSET Register .................................................................................................... 251
Table 391: CTIMER Register Map .......................................................................................... 257
Table 392: TMR0 Register ....................................................................................................... 258
Table 393: TMR0 Register Bits ................................................................................................ 258
Table 394: CMPRA0 Register .................................................................................................. 258
Table 395: CMPRA0 Register Bits .......................................................................................... 258
Table 396: CMPRB0 Register .................................................................................................. 259
Table 397: CMPRB0 Register Bits ........................................................................................... 259
Table 398: CTRL0 Register ...................................................................................................... 259
Table 399: CTRL0 Register Bits .............................................................................................. 260
Table 400: TMR1 Register ....................................................................................................... 262
Table 401: TMR1 Register Bits ................................................................................................ 262
Table 402: CMPRA1 Register .................................................................................................. 263
Table 403: CMPRA1 Register Bits .......................................................................................... 263
Table 404: CMPRB1 Register .................................................................................................. 263
Table 405: CMPRB1 Register Bits ........................................................................................... 263
Table 406: CTRL1 Register ...................................................................................................... 264
Table 407: CTRL1 Register Bits .............................................................................................. 264
Table 408: TMR2 Register ....................................................................................................... 266
Table 409: TMR2 Register Bits ................................................................................................ 267
Table 410: CMPRA2 Register .................................................................................................. 267
Table 411: CMPRA2 Register Bits .......................................................................................... 267
23
Table 412: CMPRB2 Register .................................................................................................. 267
Table 413: CMPRB2 Register Bits ........................................................................................... 268
Table 414: CTRL2 Register ...................................................................................................... 268
Table 415: CTRL2 Register Bits .............................................................................................. 268
Table 416: TMR3 Register ....................................................................................................... 271
Table 417: TMR3 Register Bits ................................................................................................ 271
Table 418: CMPRA3 Register .................................................................................................. 271
Table 419: CMPRA3 Register Bits .......................................................................................... 271
Table 420: CMPRB3 Register .................................................................................................. 272
Table 421: CMPRB3 Register Bits ........................................................................................... 272
Table 422: CTRL3 Register ...................................................................................................... 272
Table 423: CTRL3 Register Bits .............................................................................................. 273
Table 424: INTEN Register ...................................................................................................... 275
Table 425: INTEN Register Bits .............................................................................................. 276
Table 426: INTSTAT Register ................................................................................................. 276
Table 427: INTSTAT Register Bits .......................................................................................... 276
Table 428: INTCLR Register ................................................................................................... 277
Table 429: INTCLR Register Bits ............................................................................................ 277
Table 430: INTSET Register .................................................................................................... 278
Table 431: INTSET Register Bits ............................................................................................. 278
Table 432: WDT Register Map ................................................................................................ 282
Table 433: CFG Register .......................................................................................................... 282
Table 434: CFG Register Bits ................................................................................................... 282
Table 435: RSTRT Register ..................................................................................................... 283
Table 436: RSTRT Register Bits .............................................................................................. 283
Table 437: LOCK Register ....................................................................................................... 284
Table 438: LOCK Register Bits ................................................................................................ 284
Table 439: INTEN Register ...................................................................................................... 284
Table 440: INTEN Register Bits .............................................................................................. 284
Table 441: INTSTAT Register ................................................................................................. 285
Table 442: INTSTAT Register Bits .......................................................................................... 285
Table 443: INTCLR Register ................................................................................................... 285
Table 444: INTCLR Register Bits ............................................................................................ 286
Table 445: INTSET Register .................................................................................................... 286
Table 446: INTSET Register Bits ............................................................................................. 286
Table 447: RSTGEN Register Map .......................................................................................... 289
Table 448: CFG Register .......................................................................................................... 289
Table 449: CFG Register Bits ................................................................................................... 290
Table 450: SWPOI Register ..................................................................................................... 290
Table 451: SWPOI Register Bits .............................................................................................. 290
Table 452: SWPOR Register .................................................................................................... 291
Table 453: SWPOR Register Bits ............................................................................................. 291
Table 454: STAT Register ........................................................................................................ 291
Table 455: STAT Register Bits ................................................................................................ 291
Table 456: CLRSTAT Register ................................................................................................ 292
Table 457: CLRSTAT Register Bits ......................................................................................... 292
23
Table 458: INTEN Register ...................................................................................................... 293
Table 459: INTEN Register Bits .............................................................................................. 293
Table 460: INTSTAT Register ................................................................................................. 293
Table 461: INTSTAT Register Bits .......................................................................................... 293
Table 462: INTCLR Register ................................................................................................... 294
Table 463: INTCLR Register Bits ............................................................................................ 294
Table 464: INTSET Register .................................................................................................... 294
Table 465: INTSET Register Bits ............................................................................................. 295
Table 466: UART Register Map ............................................................................................... 298
Table 467: DR Register ............................................................................................................ 298
Table 468: DR Register Bits ..................................................................................................... 299
Table 469: RSR Register .......................................................................................................... 299
Table 470: RSR Register Bits ................................................................................................... 299
Table 471: FR Register ............................................................................................................. 300
Table 472: FR Register Bits ...................................................................................................... 300
Table 473: ILPR Register ......................................................................................................... 301
Table 474: ILPR Register Bits .................................................................................................. 301
Table 475: IBRD Register ........................................................................................................ 302
Table 476: IBRD Register Bits ................................................................................................. 302
Table 477: FBRD Register ....................................................................................................... 302
Table 478: FBRD Register Bits ................................................................................................ 302
Table 479: LCRH Register ....................................................................................................... 303
Table 480: LCRH Register Bits ................................................................................................ 303
Table 481: CR Register ............................................................................................................. 304
Table 482: CR Register Bits ..................................................................................................... 304
Table 483: IFLS Register .......................................................................................................... 305
Table 484: IFLS Register Bits .................................................................................................. 305
Table 485: IER Register ........................................................................................................... 306
Table 486: IER Register Bits .................................................................................................... 306
Table 487: IES Register ............................................................................................................ 307
Table 488: IES Register Bits .................................................................................................... 307
Table 489: MIS Register ........................................................................................................... 308
Table 490: MIS Register Bits ................................................................................................... 308
Table 491: IEC Register ........................................................................................................... 309
Table 492: IEC Register Bits .................................................................................................... 309
Table 493: One SLOT Configuration Register ......................................................................... 313
Table 494: 10.6 ADC Sample Format ...................................................................................... 313
Table 495: Per Slot Sample Accumulator ................................................................................. 314
Table 496: Accumulator Scaling .............................................................................................. 314
Table 497: FIFO Register ......................................................................................................... 315
Table 498: Window Comparator Register ................................................................................ 315
Table 499: ADC Register Map ................................................................................................. 321
Table 500: CFG Register .......................................................................................................... 321
Table 501: CFG Register Bits ................................................................................................... 322
Table 502: STAT Register ........................................................................................................ 324
Table 503: STAT Register Bits ................................................................................................ 324
23
Table 504: SWT Register ......................................................................................................... 324
Table 505: SWT Register Bits .................................................................................................. 324
Table 506: SL0CFG Register ................................................................................................... 325
Table 507: SL0CFG Register Bits ............................................................................................ 325
Table 508: SL1CFG Register ................................................................................................... 326
Table 509: SL1CFG Register Bits ............................................................................................ 326
Table 510: SL2CFG Register ................................................................................................... 328
Table 511: SL2CFG Register Bits ............................................................................................ 328
Table 512: SL3CFG Register ................................................................................................... 330
Table 513: SL3CFG Register Bits ............................................................................................ 330
Table 514: SL4CFG Register ................................................................................................... 331
Table 515: SL4CFG Register Bits ............................................................................................ 331
Table 516: SL5CFG Register ................................................................................................... 333
Table 517: SL5CFG Register Bits ............................................................................................ 333
Table 518: SL6CFG Register ................................................................................................... 335
Table 519: SL6CFG Register Bits ............................................................................................ 335
Table 520: SL7CFG Register ................................................................................................... 336
Table 521: SL7CFG Register Bits ............................................................................................ 336
Table 522: WLIM Register ....................................................................................................... 338
Table 523: WLIM Register Bits ............................................................................................... 338
Table 524: FIFO Register ......................................................................................................... 338
Table 525: FIFO Register Bits .................................................................................................. 339
Table 526: INTEN Register ...................................................................................................... 339
Table 527: INTEN Register Bits .............................................................................................. 339
Table 528: INTSTAT Register ................................................................................................. 340
Table 529: INTSTAT Register Bits .......................................................................................... 340
Table 530: INTCLR Register ................................................................................................... 341
Table 531: INTCLR Register Bits ............................................................................................ 341
Table 532: INTSET Register .................................................................................................... 342
Table 533: INTSET Register Bits ............................................................................................. 342
Table 534: VCOMP Register Map ........................................................................................... 344
Table 535: CFG Register .......................................................................................................... 344
Table 536: CFG Register Bits ................................................................................................... 345
Table 537: STAT Register ........................................................................................................ 346
Table 538: STAT Register Bits ................................................................................................ 346
Table 539: PWDKEY Register ................................................................................................. 346
Table 540: PWDKEY Register Bits ......................................................................................... 347
Table 541: INTEN Register ...................................................................................................... 347
Table 542: INTEN Register Bits .............................................................................................. 347
Table 543: INTSTAT Register ................................................................................................. 348
Table 544: INTSTAT Register Bits .......................................................................................... 348
Table 545: INTCLR Register ................................................................................................... 348
Table 546: INTCLR Register Bits ............................................................................................ 349
Table 547: INTSET Register .................................................................................................... 349
Table 548: INTSET Register Bits ............................................................................................. 349
Table 549: Absolute Maximum Ratings ................................................................................... 352
23
Table 550: Recommended Operating Conditions ..................................................................... 353
Table 551: Current Consumption ............................................................................................. 353
Table 552: Power Mode Transitions ......................................................................................... 354
Table 553: Clocks/Oscillators ................................................................................................... 354
Table 554: Analog to Digital Converter (ADC) ....................................................................... 355
Table 555: Buck Converter ....................................................................................................... 357
Table 556: Power-On Reset (POR) and Brown-Out Detector (BOD) ...................................... 357
Table 557: Resets ...................................................................................................................... 358
Table 558: Voltage Comparator (VCOMP) .............................................................................. 358
Table 559: Internal DAC Reference for VCOMP .................................................................... 358
Table 560: Inter-Integrated Circuit (I2C) Interface .................................................................. 359
Table 561: Serial Peripheral Interface (SPI) Master Interface ................................................. 360
Table 562: Serial Peripheral Interface (SPI) Slave Interface .................................................... 362
Table 563: Universal Asynchronous Receiver/Transmitter (UART) ....................................... 365
Table 564: Counter/Timer (CTIMER) ...................................................................................... 365
Table 565: Flash Memory ......................................................................................................... 365
Table 566: General Purpose Input/Output (GPIO) ................................................................... 365
Table 567: Serial Wire Debug (SWD) ...................................................................................... 367
Table 568: Reflow Soldering Requirements (Pb-free assembly) ............................................. 373
Table 569: Ordering Information .............................................................................................. 386
Table 570: Document Revision History ................................................................................... 387
1 2 3 4 5 6
1 2 3 4 5 6 7 8
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
POWER
F2 G4 - - VSSL Ground
H3 F5 - - VDDH VDD Supply for I/O Pads Power
BUCK
OSCILLATOR
A3 A5 - - XO 32.768 kHz Crystal Output XT
RESET
D8 F2 - - nRST External Reset Input Input/Output
GPIO
Open Drain
7 M1SCL ILoopback 2C Master 1 Clock Output
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
Bidirectional
0 SLSDA I2C Slave I/O Data Open Drain
Bidirectional
6 M0SDA Loopback I2C Master 0 I/O Data Open Drain
Bidirectional
7 M1SDA Loopback I2C Master 1 I/O Data Open Drain
Bidirectional
0 SLWIR3 SPI Slave I/O Pin for 3-Wire Mode
3-state
1 SLMOSI SPI Slave Input Data Input
Bidirectional
6 M0WIR3 Loopback SPI Master 0 I/O Pin for 3-Wire Mode
3-state
Bidirectional
7 M1WIR3 Loopback SPI Master 1 I/O Pin for 3-Wire Mode
3-state
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
Open Drain
0 M0SCL I2C Master 0 Clock Output
Open Drain
6 M0SCL Loopback I2C Master 0 Clock Output
Bidirectional
0 M0SDA I2C Master 0 Data Open Drain
Bidirectional
6 SLSDA Loopback I2C Slave I/O Data Open Drain
Bidirectional
0 M0WIR3 SPI Master 0 I/O Pin for 3-Wire Mode
3-state
Bidirectional
6 SLWIR3 Loopback SPI Slave I/O Pin for 3-Wire Mode
3-state
Open Drain
0 M1SCL I2C Master 1 Clock Output
Open Drain
7 M1SCL Loopback I2C Master 1 Clock Output
Bidirectional
0 M1SDA I2C Master 1 Data Open Drain
Bidirectional
7 SLSDA Loopback I2C Slave Data Open Drain
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
Bidirectional
0 M1WIR3 SPI Master 1 I/O Pin for 3-Wire Mode
3-state
Bidirectional
7 SLWIR3 Loopback SPI Slave I/O Pin for 3-Wire Mode
3-state
0 RESERVED Input
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
Bidirectional
0 SWDIO Software Data I/O
3-state
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
Function Pad
BGA Pin CSP Pin GPIO Pad
Select Function Description Pin Type
Number Number Number
Number Name
2. System Core
64KB Low
512KB Wake-Up
Low Power
Reset Floating Temp
Flash
Leakage
Interrupt Management
Controller Leakage
Memory Controller Unit Point Unit
Comparator
Sensor
RAM
The Apollo Ultra-Low Power MCU, shown in Figure 3, is an ideal solution for battery-powered applications
requiring sensor measurement and data analysis. In a typical system, the Apollo MCU serves as an
applications processor for one or more sensors and/or radios. The Apollo MCU can measure analog
sensor outputs using an integrated ultra-low power 10 bit ADC and digital sensor outputs using the
integrated serial master ports. The Cortex-M4Fcore integrated in the Apollo MCU family is capable of
running complex data analysis and sensor fusion algorithms to process the sensor data. The Cortex-M4F
core also enables accelerated time-to-market since application code may be efficiently executed in floating
point form without the need to perform extensive fixed point optimizations. In other configurations, a host
processor can communicate with the Apollo MCU over its serial slave port using the I2C or SPI protocol.
With unprecedented energy efficiency for sensor conversion and data analysis, the Apollo MCU enables
months and years of battery life for products only achieving days or months of battery life today. For
example, a fitness monitoring device with days or weeks of life on a rechargeable battery could be
redesigned to achieve a year or more of life on a non-rechargeable battery. Similarly the Apollo MCU
enables the use of more complex sensor processing algorithms due to its extremely low active mode
power of <40 µA/MHz. By using the Apollo MCU, the aforementioned fitness monitoring device could
achieve the current multi-day or multi-week battery life while adding new computation-intensive functions
like context detection and gesture recognition.
At the center of the Apollo MCU is a 32-bit ARM Cortex-M4F processor with several tightly coupled
peripherals. The Ambiq Micro implementation of the Cortex-M4F core delivers both greater performance
and much lower power than 8-bit, 16-bit, and other comparable 32-bit cores. Code and data may be
stored in the 512 KB Flash Memory and the 64 KB Low Leakage RAM. The Wake-Up Interrupt Controller
(WIC) coupled with the Cortex-M4F supports sophisticated and configurable sleep state transitions with a
variety of interrupt sources.
A rich set of sensor peripherals enable the monitoring of several sensors. An integrated temperature
sensor enables the measurement of ambient temperature with +/-2ºC accuracy. A scalable ultra-low power
Successive Approximation Register (SAR) Analog-to-Digital Converter (ADC) monitors the temperature
sensor, several internal voltages, and up to eight external sensor signals. The ADC is uniquely tuned for
minimum power with a configurable measurement mode that does not require MCU intervention. In
addition to integrated analog sensor peripherals, an I2C/SPI master port and/or UART port enables the
MCU to communicate with external sensors and radios (such as Bluetooth transceivers) that have digital
outputs.
The Apollo Ultra-Low Power MCU also includes a set of timing peripherals based on Ambiq’s AM08XX and
AM18XX Real-Time Clock (RTC) families. The RTC, timers, and counters may be driven by three different
clock sources: a low frequency RC oscillator, a high frequency RC oscillator, and a 32.768 kHz crystal
(XTAL) oscillator. These clock sources use the proprietary advanced calibration techniques developed for
the AM08XX and AM18XX products that achieve XTAL-like accuracy with RC-like power. Additionally, the
Apollo MCU includes clock reliability functions first offered in the AM08XX and AM18XX products. For
example, the RTC can automatically switch from an XTAL source to an RC source in the event of an XTAL
failure.
As with any ARM-based MCU, the Apollo MCU is supported by a complete suite of standard software
development tools. Ambiq Micro provides drivers for all peripherals along with basic application code to
shorten development times. Software debug is facilitated by the addition of an Instrumentation Trace
Macrocell (ITM), a Trace Port Interface Unit (TPIU) and through the use of a Serial Wire Debugger
interface (SWD).
The Cortex-M4F allows the user to assign various interrupts to different priority levels based on the
requirements of the application. In this MCU implementation, 8 different priority levels are available.
One additional feature of the M4F interrupt architecture is the ability to relocate the Vector Table to a
different address. This could be useful if the application requires a different set of interrupt service routines
for a particular mode of an application. The software could move the Vector Table into SRAM and reassign
the interrupt service routine entry addresses as needed.
0xE0000000 – 0xE00FFFFF Private Peripheral Bus N NVIC, System timers, System Control Block
Peripheral devices within the memory map are allocated on 4 KB boundaries, allowing each device up to
1024 32-bit control and status registers. Peripherals will return undefined read data when an attempt to
access a register which does not exist occurs. Peripherals, whether accessed via the APB or the AHB, will
always accept any write data sent to their registers without attempting to return an ERROR response.
Specifically, a write to a read-only register would just become a don’t-care write.
Table 4 shows the address mapping for the peripheral devices of the Base Platform.
Address Device
MPU mismatches and permission violations invoke the programmable-priority MemManage fault handler.
See the ARM®v7-M Architecture Reference Manual for more information.
You can use the MPU to:
▪ Enforce privilege rules.
▪ Separate processes.
▪ Enforce access rules.
After the SCR is setup, code can enter the low-power states using one of the 3 following methods:
▪ Execute a Wait-For-Interrupt (WFI) instruction
▪ WFE (Wait-For-Event) instruction not supported
▪ Set the SLEEPONEXIT bit of the SCR such that the exit from an ISR will automatically return to a sleep
state.
The M4F will enter a low-power mode after one of these are performed (assuming all conditions are met)
and remain there until some event causes the core to return to Active Mode. The possible reasons to
return to Active Mode are:
▪ A reset
▪ An enabled Interrupt is received by the NVIC
▪ A Debug Event is received from the DAP
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM1
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM2
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM3
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM4
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM5
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM6
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM7
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM8
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM9
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM10
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM11
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM12
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM13
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM14
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM15
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM16
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM17
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM18
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM19
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM20
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM21
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM22
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM23
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM24
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM25
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM26
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM27
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM28
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM29
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM30
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIM31
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STIMENA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD PRIVMASK
Bit mask to enable tracing on ITM stimulus ports. bit[0] = stimulus ports[7:0],
3:0 PRIVMASK 0x0 RW bit[1] = stimulus ports[15:8], bit[2] = stimulus ports[23:16], bit[3] = stimulus
ports[31:24].
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
SYNC_ENABLE
TS_PRESCALE
SWV_ENABLE
DWT_ENABLE
ITM_ENABLE
TS_ENABLE
TS_FREQ
BUSY
23 BUSY 0x0 RW Set when ITM events present and being drained.
Enable ITM. This is the master enable, and must be set before ITM Stimulus
0 ITM_ENABLE 0x0 RW
and Trace Enable registers can be written.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
LOCKAREG
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BYTEACC
PRESENT
RSVD ACCESS
Write access to component is blocked. All writes are ignored, reads are per-
1 ACCESS 0x0 RO
mitted.
0 PRESENT 0x1 RO Indicates that a lock mechanism exists for this component.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID4
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID5
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID6
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID7
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID1
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID2
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PID3
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CID0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CID1
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CID2
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CID3
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
MAJORREV
MINORREV
TEMP
QUAL
CLASS FLASH RAM PKG PINS
Device class.
31:24 CLASS 0x1 RO
APOLLO = 0x1 - APOLLO
Device flash size.
23:20 FLASH 0x4 RO
256K = 0x3 - 256K of available flash.
512K = 0x4 - 512K of available flash.
Number of pins.
5:3 PINS 0x1 RO
41PINS = 0x1 - 41 package pins total.
64PINS = 0x1 - 64 package pins total.
Device qualified.
0 QUAL 0x1 RO
PROTOTYPE = 0x0 - Prototype device.
QUALIFIED = 0x1 - Fully qualified device.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
VALUE
Unique chip ID 0.
31:0 VALUE 0x0 RO
APOLLO = 0x0 - Apollo CHIPID0.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
VALUE
Unique chip ID 1.
31:0 VALUE 0x0 RO
APOLLO = 0x0 - Apollo CHIPID1.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD
RESERVED.
31:8 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
COREBUCKEN
MEMBUCKEN
RSVD
RESERVED.
31:2 RSVD 0x0 RO
Enables and Selects the Core Buck as the supply for the low-voltage power
domain.
1 COREBUCKEN 0x0 RW
EN = 0x1 - Enable the Core Buck for the low-voltage power domain.
Enables and select the Memory Buck as the supply for the Flash and SRAM
power domain.
0 MEMBUCKEN 0x0 RW
EN = 0x1 - Enable the Memory Buck as the supply for flash and SRAM.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
COREBUCKON
MEMBUCKON
RSVD
RESERVED.
31:2 RSVD 0x0 RO
Indicates whether the Core low-voltage domain is supplied from the LDO or
the Buck.
1 COREBUCKON 0x0 RO
LDO = 0x0 - Indicates the the LDO is supplying the Core low-voltage.
BUCK = 0x1 - Indicates the the Buck is supplying the Core low-voltage.
Indicate whether the Memory power domain is supplied from the LDO or the
Buck.
0 MEMBUCKON 0x0 RO
LDO = 0x0 - Indicates the LDO is supplying the memory power domain.
BUCK = 0x1 - Indicates the Buck is supplying the memory power domain.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BGPEN
RSVD
RESERVED.
31:1 RSVD 0x0 RO
Bandgap Enable
0 BGPEN 0x0 RW
DIS = 0x0 - Bandgap disable.
EN = 0x1 - Bandgap enable.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BANK7
BANK6
BANK5
BANK4
BANK3
BANK2
BANK1
BANK0
RSVD
RESERVED.
31:8 RSVD 0x0 RO
Force SRAM Bank 7 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
7 BANK7 0x0 RW
NORMAL = 0x0 - SRAM Bank 7 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 7 deep sleep.
Force SRAM Bank 6 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
6 BANK6 0x0 RW
NORMAL = 0x0 - SRAM Bank 6 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 6 deep sleep.
Force SRAM Bank 5 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
5 BANK5 0x0 RW
NORMAL = 0x0 - SRAM Bank 5 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 5 deep sleep.
Force SRAM Bank 4 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
4 BANK4 0x0 RW
NORMAL = 0x0 - SRAM Bank 4 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 4 deep sleep.
Force SRAM Bank 3 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
3 BANK3 0x0 RW
NORMAL = 0x0 - SRAM Bank 3 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 3 deep sleep.
Force SRAM Bank 2 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
2 BANK2 0x0 RW
NORMAL = 0x0 - SRAM Bank 2 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 2 deep sleep.
Force SRAM Bank 1 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
1 BANK1 0x0 RW
NORMAL = 0x0 - SRAM Bank 1 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 1 deep sleep.
Force SRAM Bank 0 to powerdown in deep sleep mode, causing the con-
tents of the bank to be lost.
0 BANK0 0x0 RW
NORMAL = 0x0 - SRAM Bank 0 normal operation.
PWRDN_IN_DEEPSLEEP = 0x1 - SRAM Bank 0 deep sleep.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BANK7
BANK6
BANK5
BANK4
BANK3
BANK2
BANK1
BANK0
RSVD
RESERVED.
31:8 RSVD 0x0 RO
Remove power from SRAM Bank 7 which will cause an access to its
address space to generate a Hard Fault.
7 BANK7 0x0 RW
DIS = 0x1 - Disable SRAM Bank 7.
Remove power from SRAM Bank 6 which will cause an access to its
address space to generate a Hard Fault.
6 BANK6 0x0 RW
DIS = 0x1 - Disable SRAM Bank 6.
Remove power from SRAM Bank 5 which will cause an access to its
address space to generate a Hard Fault.
5 BANK5 0x0 RW
DIS = 0x1 - Disable SRAM Bank 5.
Remove power from SRAM Bank 4 which will cause an access to its
address space to generate a Hard Fault.
4 BANK4 0x0 RW
DIS = 0x1 - Disable SRAM Bank 4.
Remove power from SRAM Bank 3 which will cause an access to its
address space to generate a Hard Fault.
3 BANK3 0x0 RW
DIS = 0x1 - Disable SRAM Bank 3.
Remove power from SRAM Bank 2 which will cause an access to its
address space to generate a Hard Fault.
2 BANK2 0x0 RW
DIS = 0x1 - Disable SRAM Bank 2.
Remove power from SRAM Bank 1 which will cause an access to its
address space to generate a Hard Fault.
1 BANK1 0x0 RW
DIS = 0x1 - Disable SRAM Bank 1.
Remove power from SRAM Bank 0 which will cause an access to its
address space to generate a Hard Fault.
0 BANK0 0x0 RW
DIS = 0x1 - Disable SRAM Bank 0.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BANK1
BANK0
RSVD
RESERVED.
31:2 RSVD 0x0 RO
Remove power from Flash Bank 1 which will cause an access to its address
space to generate a Hard Fault.
1 BANK1 0x0 RW
DIS = 0x1 - Disable Flash instance 1.
Remove power from Flash Bank 0 which will cause an access to its address
space to generate a Hard Fault.
0 BANK0 0x0 RW
DIS = 0x1 - Disable Flash instance 0.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADDR
The ICODE bus address observed when a Bus Fault occurred. Once an
address is captured in this field, it is held until the corresponding Fault
31:0 ADDR 0x0 RO
Observed bit is cleared in the FAULTSTATUS register.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADDR
The DCODE bus address observed when a Bus Fault occurred. Once an
address is captured in this field, it is held until the corresponding Fault
31:0 ADDR 0x0 RO
Observed bit is cleared in the FAULTSTATUS register.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADDR
SYS bus address observed when a Bus Fault occurred. Once an address is
captured in this field, it is held until the corresponding Fault Observed bit is
31:0 ADDR 0x0 RO
cleared in the FAULTSTATUS register.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DCODE
ICODE
SYS
RSVD
RESERVED.
31:3 RSVD 0x0 RO
SYS Bus Decoder Fault Detected bit. When set, a fault has been detected,
and the SYSFAULTADDR register will contain the bus address which gener-
ated the fault.
2 SYS 0x0 RW
NOFAULT = 0x0 - No bus fault has been detected.
FAULT = 0x1 - Bus fault detected.
DCODE Bus Decoder Fault Detected bit. When set, a fault has been
detected, and the DCODEFAULTADDR register will contain the bus address
which generated the fault.
1 DCODE 0x0 RW
NOFAULT = 0x0 - No DCODE fault has been detected.
FAULT = 0x1 - DCODE fault detected.
The ICODE Bus Decoder Fault Detected bit. When set, a fault has been
detected, and the ICODEFAULTADDR register will contain the bus address
which generated the fault.
0 ICODE 0x0 RW
NOFAULT = 0x0 - No ICODE fault has been detected.
FAULT = 0x1 - ICODE fault detected.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ENABLE
RSVD
RESERVED.
31:1 RSVD 0x0 RO
Fault Capture Enable field. When set, the Fault Capture monitors are
enabled and addresses which generate a hard fault are captured into the
FAULTADDR registers.
0 ENABLE 0x0 RW
DIS = 0x0 - Disable fault capture.
EN = 0x1 - Enable fault capture.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ENABLE
CLKSEL
RSVD RSVD
RESERVED.
31:10 RSVD 0x0 RO
TPIU Enable field. When set, the ARM M4 TPIU is enabled and data can be
streamed out of the MCU's SWO port using the ARM ITM and TPIU mod-
ules.
0 ENABLE 0x0 RW
DIS = 0x0 - Disable the TPIU.
EN = 0x1 - Enable the TPIU.
8KB SRAM
8KB SRAM
8KB SRAM
8KB SRAM
8KB SRAM
8KB SRAM
8KB SRAM
8KB SRAM
Boot
INST
Loader
ROM
ARM
DATA AHB
M4F
FABRIC
CORE
BRIDGE
SYS APB
2KB OTP
256KB 256KB FLASH
Flash Flash & OTP
Instance Instance CONTROL
3.9.1 Features
The Apollo MCU integrates four kinds of memory as shown in Figure 5:
▪ SRAM
▪ Flash
▪ Boot Loader ROM
▪ One Time Programmable (OTP) memory
IOCLK
REQs
To Pins Bus Interface
IOSM
ADDR,
I2C/SPI WDATA ADDR, WDATA
Interface
(Bit SM)
Regs
RDATA RDATA
LRAM Ints
TOPSM (Counters,
BYTESM
Pointers)
Clock
CLKEXT
Generator
In I2C mode the I2C/SPI Master supports 7- and 10-bit addressing, multi-master arbitration, interface
frequencies from 1.2 kHz to 1.0 MHz and up to 255-byte burst operations. In SPI mode the I2C/SPI Master
supports up to 8 slaves with automatic nCE selection, 3 and 4-wire implementation, all SPI polarity/phase
combinations and up to 4095-byte burst operations, with both standard embedded address operations and
raw read/write transfers. Interface timing limits are as specified in Table 561.
48 MHz
24 MHz
... DIV3 CLKCTR
768 kHz
LOWCMP Set
IFC_CLK
FSEL
CLKFF
DIV3
TOTCMP Clr
DIVEN
If the FIFO empties on a write or fills on a read, the I2C/SPI Master will simply pause the interface clock
until the CPU has read or written a byte from the FIFO. If software initiates an incorrect operation, such as
attempting to read the FIFO on a write operation or when it is empty, or write the FIFO on a read operation
or when it is full, the Master will generate an IACC error interrupt. If software attempts to write the
Command Register when another Command is underway, the Master will generate an ICMD error
interrupt.
4.4 FIFO
The I2C/SPI Master includes a 64-byte local RAM (LRAM) for data transfers. The LRAM functions as a
FIFO. Only 32-bit word accesses are supported to the FIFO from the CPU. When a write operation is
underway, a word written to the FIFO will increment the REG_IOMSTRn_FIFOPTR_FIFOSIZ register by 4
and decrement the REG_IOMSTRn_FIFOPTR_FIFOREM register by 4. Reading a byte from the FIFO via
the I/O interface decrements FIFOSIZ by 1 and increments FIFOREM by 1. When a read operation is
underway, a word read from the FIFO decrements FIFOSIZ by 4 and increments FIFOREM by 4. A byte
read from the I/O interface into the FIFO increments FIFOSIZ by 1 and decrements FIFOREM by 1. If
FIFOSIZ becomes zero during a write operation or 0x40 on a read operation and there is more data to be
transferred, the clock of the I/O interface is paused until software accesses the FIFO.
Two threshold registers, FIFORTHR and FIFOWTHR indicate when a THR interrupt should be generated
to signal the processor that data should be transferred.
SDA may
Not Busy
change
SCL
SDA
transferred between the START and STOP conditions is not limited. The information is transmitted byte-
wide and each receiver acknowledges with a ninth bit.
4.5.5 Acknowledge
Each byte of eight bits is followed by one acknowledge (ACK) bit as shown in Figure 9. This acknowledge
bit is a low level driven onto SDA by the receiver, whereas the master generates an extra acknowledge
related SCL pulse. A slave receiver which is addressed is obliged to generate an acknowledge after the
reception of each byte. Also, on a read transfer, a master receiver must generate an acknowledge after the
reception of each byte that has been clocked out of the slave transmitter. The device that acknowledges
must pull down the SDA line during the acknowledge clock pulse in such a way that the SDA line is a
stable low during the high period of the acknowledge related SCL pulse. A master receiver must signal an
end-of-data to the slave transmitter by not generating an acknowledge (a NAK) on the last byte that has
been clocked out of the slave. In this case, the transmitter must leave the data line high to enable the
master to generate the STOP condition.
SCL 1 2 8 9
START
R
SDA 1 1 0 1 0 0 0 A
W
SCL
Figure 11 shows the operation with which the master addresses the Apollo MCU with a 10-bit address
configured at 0x536. After the START condition, the 10-bit preamble 0b11110 is transmitted first, followed
by the upper two bits of the ADDRESS field and the eighth bit indicating a write (RW = 0) or a read (RW =
1) operation. If the upper two bits match the address of an attached slave device, it supplies the ACK. The
next transfer includes the lower 8 bits of the ADDRESS field, and if these bits also match I2CADDR the
slave again supplies the ACK. If no slave acknowledges either address byte, the transfer is terminated and
a NAK error interrupt is generated.
R
SDA 1 1 1 1 0 1 0 A 1 0 0 1 1 0 1 1 A
W
SCL
Offset Address
SDA 1 1 0 1 0 0 0 0 A 7 6 5 4 3 2 1 0 A
SCL
SCL
SCL
RESTART
SCL
SCL
functionality, the CONT bit should be set in the CMD Register. This will cause the I2C/SPI Master to keep
SDA high at the end of the transfer so that a STOP does not occur, and the next transaction begins with a
RESTART instead of a START. Note that for a Normal Read the interface is held between the Offset
Address Transmission and the actual read independent of the state of CONT, but it CONT is set the read
transaction will not terminate with a STOP.
The first is the case where another master initiates an I2C operation when the Apollo MCU Master is
inactive. In this case the I2C/SPI Master will detect an I2C START operation on the interface and the
START interrupt will be asserted, which tells the software not to generate any IO operations (which will not
be executed in any case). Software then waits for the STOP interrupt, which reenables operation.
The second case is where another master initiates an operation at the same time as the Apollo MCU. In
this case there will be a point where one master detects that it is not driving SDA low but the bus signal is
low, and that master loses the arbitration to the other master. If the Apollo MCU I2C/SPI Master detects
that it has lost arbitration, it will assert the ARB interrupt and immediately terminate its operation. Software
must then wait for the STOP interrupt and re-execute the current Command.
Each subsequent byte is read from the FIFO and transmitted. The operation is terminated when the I2C/
SPI Master brings the nCE signal high. Note that the MISO line is not used in a write operation and is held
in the high impedance state by the I2C/SPI Master.
MOSI X W 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
MISO
SCK
nCE
MOSI X R 6 5 4 3 2 1 0 X
MISO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
SCK
nCE
As with a Normal Write, the Offset Address byte including the RW bit is taken from the OFFSET field of
CMD. If the slave expects an RW bit, OFFSET[7] must be set to 1. This allows reads from devices which
have different formats for the address byte.
MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
MISO
SCK
nCE
MOSI
MISO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
SCK
nCE
MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
MISO 7 6 5 4 3 2 1 0
SCK
nCE
nCE
CPOL=0 SCK
CPOL=1 SCK
MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
CPHA=0
MISO X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
CPHA=1
MISO X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
If CPOL is 0, the clock SCK is normally low and positive pulses are generated during transfers. If CPOL is
1, SCK is normally high and negative pulses are generated during transfers.
If CPHA is 0, the data on the MOSI and MISO lines is sampled on the edge corresponding to the first SCK
edge after nCE goes low (i.e. the rising edge if CPOL is 0 and the falling edge if CPOL is 1). Data on MISO
and MOSI is driven on the opposite edge of SCK.
If CPHA is 1, the data on the MOSI and MISO lines is sampled on the edge corresponding to the second
SCK edge after nCE goes low (i.e. the falling edge if CPOL is 0 and the rising edge if CPOL is 1). Data on
MISO and MOSI is driven on the opposite edge of SCK.
The SPOL and SPHA bits may be changed between Commands if different slave devices have different
requirements. In this case the IFCEN bit should be set to 0 either before or at the same time as SPHA and
SPOL are changed, and then set back to 1 before CMD is written.
0x50004000
FIFO FIFO Access Port
0x50005000
0x50004100
FIFOPTR Current FIFO Pointers
0x50005100
0x50004104
TLNGTH Transfer Length
0x50005104
0x50004108
FIFOTHR FIFO Threshold Configuration
0x50005108
0x5000410C
CLKCFG I/O Clock Configuration
0x5000510C
0x50004110
CMD Command Register
0x50005110
0x50004114
CMDRPT Command Repeat Register
0x50005114
0x50004118
STATUS Status Register
0x50005118
0x5000411C
CFG I/O Master Configuration
0x5000511C
0x50004200
INTEN IO Master Interrupts: Enable
0x50005200
0x50004204
INTSTAT IO Master Interrupts: Status
0x50005204
0x50004208
INTCLR IO Master Interrupts: Clear
0x50005208
0x5000420C
INTSET IO Master Interrupts: Set
0x5000520C
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FIFO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RESERVED
31:23 RSVD 0x0 RO
RESERVED
15:7 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD TLNGTH
RESERVED
31:12 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD
RSVD FIFOWTHR FIFORTHR
RESERVED
31:14 RSVD 0x0 RO
RESERVED
7:6 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DIVEN
DIV3
RESERVED
15:13 RSVD 0x0 RO
Enable divide by 3.
11 DIV3 0x0 RW
DIS = 0x0 - Select divide by 1.
EN = 0x1 - Select divide by 3.
RESERVED
7:0 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD CMDRPT
RESERVED
31:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMDACT
IDLEST
ERR
RSVD
RESERVED
31:3 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
IFCSEL
IFCEN
SPHA
SPOL
RSVD
4.10.2.10INTEN Register
IO Master Interrupts: Enable
OFFSET: 0x00000200
INSTANCE 0 ADDRESS: 0x50004200
INSTANCE 1 ADDRESS: 0x50005200
Set bits in this register to allow this module to generate the corresponding interrupt.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMDCMP
FUNDFL
WTLEN
FOVFL
START
STOP
ICMD
IACC
ARB
NAK
THR
RSVD
RESERVED
31:11 RSVD 0x0 RO
4.10.2.11INTSTAT Register
IO Master Interrupts: Status
OFFSET: 0x00000204
INSTANCE 0 ADDRESS: 0x50004204
INSTANCE 1 ADDRESS: 0x50005204
Read bits from this register to discover the cause of a recent interrupt.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMDCMP
FUNDFL
WTLEN
FOVFL
START
STOP
ICMD
IACC
ARB
NAK
THR
RSVD
RESERVED
31:11 RSVD 0x0 RO
4.10.2.12INTCLR Register
IO Master Interrupts: Clear
OFFSET: 0x00000208
INSTANCE 0 ADDRESS: 0x50004208
INSTANCE 1 ADDRESS: 0x50005208
Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMDCMP
FUNDFL
WTLEN
FOVFL
START
STOP
ICMD
IACC
ARB
NAK
THR
RSVD
RESERVED
31:11 RSVD 0x0 RO
4.10.2.13INTSET Register
IO Master Interrupts: Set
OFFSET: 0x0000020C
INSTANCE 0 ADDRESS: 0x5000420C
INSTANCE 1 ADDRESS: 0x5000520C
Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for
testing purposes).
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMDCMP
FUNDFL
WTLEN
FOVFL
START
STOP
ICMD
IACC
ARB
NAK
THR
RSVD
RESERVED
31:11 RSVD 0x0 RO
136
5. I2C/SPI Slave Module
IOCLK
REQs REQs
To Pins STALL Bus Interface
IOSM
ADDR,
WDATA ADDR, WDATA
I2C/SPI
Interface
Regs
RDATA RDATA
LRAM
Counters,
IOINT
Pointers
The I2C/SPI Slave contains 256 bytes of RAM which is only accessible when the module is enabled. This
RAM may be flexibly configured into three spaces: a block directly accessible via the I/O interface, a block
which functions as a FIFO for read operations on the interface, and a block of generally accessible RAM
used to store parameters during deep sleep mode.
In I2C mode the Slave supports fully configurable 7 and 10-bit addressing with interface timing limits as
specified in Table 560. In SPI mode, the Slave supports all polarity/phase combinations and interface
frequencies as specified in Table 562.
136
The LRAM is divided into three separate areas on 8-byte boundaries. These areas are:
1. A Direct Area for direct communication between the host and the MCU, which is mapped between
the AHB address space and the I/O address space. This area is from LRAM address 0x00 to the
address calculated from the 5-bit FIFOBASE field in the FIFO configuration register (FIFOCFG),
minus 1. This 5-bit field (REG_IOSLAVE_FIFOCFG_FIFOBASE) should contain a value that rep-
resents the start of the FIFO Area and, in so doing, defines the size of the Direct Area in 8-byte
segments. Part of this area can be defined as IO Slave Read-only starting at any 8-byte segment
defined by REG_IOSLAVE_FIFOCFG_ROBASE and extending through the end of the Direct Area
at FIFOBASE*8-1.
2. A FIFO Area which is used to stream data from the Apollo MCU. This memory is directly
addressed from the AHB, but accessed from the I/O Interface using a single I/O address 0x7F as a
streaming port. The FIFO area is from the LRAM address calculated from the value in the
FIFOBASE field, FIFOBASE*8, to the LRAM address calculated from the value in the FIFOMAX
field of the FIFOCFG register, REG_IOSLAVE_FIFOCFG_FIFOMAX.The upper FIFO Area
address is FIFOMAX*8-1. The maximum value for FIFOMAX is 0x20, which would result in an
upper FIFO Area address of 0xFF.
3. A RAM Area which is accessible only from the AHB Slave. The RAM area is from the LRAM
address calculated from the value in the FIFOMAX field of the FIFOCFG register, REG_IO-
SLAVE_FIFOCFG_FIFOMAX, to address 0xFF. Setting FIFOMAX to 0x20 would result in a RAM
area of zero size.
Figure 24 below shows the LRAM address mapping between the I/O interface and the AHB. Note that
FIFO Data register 0x7E is used only in instances with a second FIFO.
0xFF
136
low power interactions are supported. In most cases, however, some accesses require interaction with the
CPU, so the Direct Area is further divided into three areas for CPU interaction.
I/O writes to locations 0x0-0xF will set a corresponding interrupt flag in the REGACCINTSTAT register.
These locations are typically used for specific commands to the Apollo MCU. Note that not all flags need
generate an actual interrupt, so small multi-byte commands may be transmitted in this area. For example,
a write to location 0x0 will set bit 31 of the REGACCINTSTAT register, a write to location 0x1 will set bit 30
of REGACCINTSTAT, and a write to location 0xF will set bit 16 of the REGACCINTSTAT register.
I/O writes to locations 0x10 to 0x4F will set a corresponding interrupt flag in the REGACCINTSTAT register
if the I/O address modulo 4 is 3 (i.e. addresses 0x13, 0x17, 0x1B, etc.). This allows larger transfers to be
sent in a burst with a trigger being generated on the last write, and it also allows specifying a data buffer of
any whole word size and have an interrupt generated on access to the last byte of the buffer. For
example, a write to location 0x13 will set bit 15 of the REGACCINTSTAT register, a write to location 0x17
will set bit 14 of REGACCINTSTAT, and a write to location 0x4F will set bit 0 of the REGACCINTSTAT
register.
Table 164 lists the offsets to memory locations within the Direct Address Space and corresponding
interrupt bit settings in the REGACCINTSTAT register.
Table 164: Mapping of Direct Address Space Access Interrupts and Corresponding
REGACCINTSTAT Bits
31 0x0
30 0x1
29 0x2
28 0x3
27 0x4
26 0x5
25 0x6
24 0x7
23 0x8
22 0x9
21 0xA
20 0xB
19 0xC
18 0xD
17 0xE
16 0xF
15 0x13
14 0x17
13 0x1B
12 0x1F
11 0x23
136
Table 164: Mapping of Direct Address Space Access Interrupts and Corresponding
REGACCINTSTAT Bits
10 0x27
9 0x2B
8 0x2F
7 0x33
6 0x37
5 0x3B
4 0x3F
3 0x43
2 0x47
1 0x4B
0 0x4F
136
FIFO Read
Cur Data FIFOPTR
Data @ 0x7F
FIFO Area in Local FIFO
LRAM
Increment on
Decrement on FIFO Buffer in
FIFOSIZ FIFO area
FIFO Read SRAM
Write
FIFOTHR
When the host reads a byte from the FIFO, the data retrieved is pointed to by FIFOPTR, FIFOPTR is
incremented and wraps around in the FIFO Area if it reaches FIFOMAX. FIFOSIZ and FIFOCTR are each
decremented by one. The Host can read FIFOCTR and then read that many bytes without further
checking. Note that this process can continue without requiring a CPU wakeup. If the Host attempts to read
the FIFO when FIFOSIZ is 0, the FUNDFL interrupt flag is set in both the I2C Slave interrupt block and in
the Host interrupt block.
When FIFOSIZ drops below the configured threshold REG_IOSLAVE_FIFOTHR the FSIZE interrupt flag is
set and if enabled an interrupt is sent to the CPU which will wake it up. At that point, the CPU can move as
much data from the SRAM FIFO to the I2C/SPI Slave FIFO as possible in a single operation and then go
back to sleep. Since the FIFO Area can be quite large, CPU wake-ups will be very infrequent. If a write to
the FIFOCTR which would increment the value beyond 1023 occurs, the FOVFL interrupt flag is set.
When some other process, such as a sensor read, produces new data for the FIFO, the CPU will add that
data to the FIFO in SRAM, wrapping around as necessary. The REG_IOSLAVE_FIFOINC register is then
written with the number of bytes added to the FIFO, which is added to the FIFOCTR register in an atomic
fashion. In this way the Host processor can always determine how much read data is available.
The FIFO interface offset 0x7F is treated uniquely by the I2C/SPI Slave, in that an access to this address
does not increment the Address Pointer. This allows the Host to initiate a burst read from address 0x7F of
any length, and each read will supply the next byte in the FIFO.
136
If software desires to write the current sample to the front of the FIFO, it first checks the
REG_IOSLAVE_FUPD_IOREAD status bit to ensure that there is not a Host read operation from the FIFO
underway. Once IOREAD is clear, software sets the REG_IOSLAVE_FUPD_FIFOUPD bit, writes the new
sample data to the front of the FIFO and modifies the FIFOPTR to point to the new data. At that point the
FIFOUPD bit is cleared.
If the Host attempts a FIFO read operation while the FIFOUPD is set, a RDERR interrupt will be generated
to the Host and the FRDERR interrupt flag will be set. The Host must either poll the RDERR interrupt bit at
the end of each operation or configure a hardware interrupt. Note that if the software does not support
alternate FIFO ordering, the Host does not have to check the RDERR function.
RAM IOINT
Function MCU Register_Field Description
Location Registera
136
The Apollo MCU software may set any of the eight interrupt status register bits by writing a 1 to the
corresponding bit of the IOINTSET field of the IOINTCTL Register, and may clear all of the interrupts by
writing a 1 to the IOINTCLR bit of the IOINTCTL register. This allows Apollo MCU to generate a software
interrupt to the Host device. In addition, a FIFO underflow interrupt FUNDFL in the I2C/SPI Slave will set
interrupt bit 7, and a FIFO read error interrupt FRDERR will set interrupt bit 6 of the IO interrupt status
register IOINT. Note that the Apollo MCU software cannot write the IOINTEN register, so that IO interrupts
are controlled completely by the Host processor.
If any of the IOINT interrupt bits are set and the corresponding bit in IOINTEN is set, an IOINT interrupt will
be generated. If the GPIO configuration registers have configured PAD4 as IOINT, that interrupt will be
driven directly onto PAD_IO[4]. This pin should be connected to an interrupt input pin of the Host interface
device so that it can receive the interrupt and service it.
If the Host device writes to any of the interrupt register access locations (any location in 0x78-0x7B) the
IOINTW interrupt will be set in the I2C/SPI INTSTAT Register. This allows Apollo MCU software to receive
a software interrupt from the Host device. Note that this interrupt will occur for all writes by the Host,
including a write to clear an interrupt.
SDA may
Not Busy
change
SCL
SDA
136
5.8.1 Bus Not Busy
Both SDA and SCL remain high.
5.8.5 Acknowledge
Each byte of eight bits is followed by one Acknowledge (ACK) bit as shown in Figure 27. This
Acknowledge bit is a low level driven onto SDA by the receiver, whereas the master generates an extra
ACK related SCL pulse. A slave receiver which is addressed is obliged to generate an Acknowledge after
the reception of each byte. Also, on a read transfer a master receiver must generate an Acknowledge after
the reception of each byte that has been clocked out of the slave transmitter. The device that
acknowledges must pull down the SDA line during the Acknowledge clock pulse in such a way that the
SDA line is a stable low during the high period of the Acknowledge related SCL pulse. A master receiver
must signal an end-of-data to the slave transmitter by not generating an Acknowledge (a NAK) on the last
byte that has been clocked out of the slave. In this case, the transmitter must leave the data line high to
enable the master to generate the STOP condition.
SCL 1 2 8 9
START
136
R
SDA 1 1 0 1 0 0 0 A
W
SCL
Figure 29 shows the operation with which the master addresses the Apollo MCU with a 10-bit address
configured at 0x536. After the START condition, the 10-bit preamble 0b11110 is transmitted first, followed
by the first two address bits and the eighth bit indicating a write (RW = 0) or a read (RW = 1) operation. If
the upper two bits match the I2CADDR value, the I2C/SPI Slave supplies the ACK. The next transfer
includes the lower 8 bits of the address, and if these bits also match I2CADDR the Apollo MCU again
supplies the ACK. The I2C/SPI Slave ignores all other address values and does not respond with an ACK.
R
SDA 1 1 1 1 0 1 0 A 1 0 0 1 1 0 1 1 A
W
SCL
Offset Address
SDA 1 1 0 1 0 0 0 0 A 7 6 5 4 3 2 1 0 A
SCL
136
SCL
SCL
RESTART
136
The nCE input is used to initiate and terminate a data transfer. The SCL input is used to synchronize data
transfer between the master and the slave devices via the MOSI (master to slave) and MISO (slave to
master) lines. The SCL input, which is generated by the master, is active only during address and data
transfer to any device on the SPI bus.
The I2C/SPI Slave supports clock frequencies up to 10 MHz, and responds to all SPI configurations of
CPOL and CPHA using the SPOL configuration bit. There is one clock for each bit transferred. Address
and data bits are transferred in groups of eight bits.
MOSI X W 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
MISO
SCK
nCE
MOSI X R 6 5 4 3 2 1 0 X
MISO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
SCK
nCE
136
5.9.3 Configuring 3-wire vs. 4-wire SPI Mode
The I2C/SPI Slave can operate in either 4-wire SPI mode, where the MISO and MOSI signals are on
separate wires, or in 3-wire SPI mode where MISO and MOSI share a wire. This configuration is performed
in the Pin Configuration module, and no configuration is necessary in the I2C/SPI Slave itself.
nCE
CPOL=0 SCK
CPOL=1 SCK
MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
CPHA=0
MISO X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
MOSI X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
CPHA=1
MISO X 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 X
If CPOL is 0, the clock SCK is normally low and positive pulses are generated during transfers. If CPOL is
1, SCK is normally high and negative pulses are generated during transfers.
If CPHA is 0, the data on the MOSI and MISO lines is sampled on the edge corresponding to the first SCK
edge after nCE goes low (i.e. the rising edge if CPOL is 0 and the falling edge if CPOL is 1). Data on MISO
and MOSI is driven on the opposite edge of SCK.
If CPHA is 1, the data on the MOSI and MISO lines is sampled on the edge corresponding to the second
SCK edge after nCE goes low (i.e. the falling edge if CPOL is 0 and the rising edge if CPOL is 1). Data on
MISO and MOSI is driven on the opposite edge of SCK.
The I2C/SPI Slave has only a single SPOL bit to control the polarity. If CPOL = CPHA,
REG_IOSLAVE_IOSCFG_SPOL must be set to 0. If CPOL ≠ CPHA, SPOL must be set to 1.
136
5.11 Wakeup Using the I2C/SPI Slave
The I2C/SPI Slave can continue to operate even if the Apollo MCU CPU is in Sleep or Deep Sleep mode.
The hardware will enable and disable the I2C/SPI Slave clock and oscillators as necessary. The only
consideration in this environment is when the MCU is in a deep sleep mode, such that the HFRC Oscillator
is powered down, and a master attempts to access the I2C/SPI Slave. In this case the HFRC Oscillator
must be powered up before any is transferred to or from the internal RAM. This process takes roughly 5-10
us, and is initiated by nCE going low in SPI mode or by the detection of a START in I2C mode.
For I2C applications, the time delay is typically not relevant. At the fastest system clock of 1 MHz, the
master must transfer 9 bits of address plus 9 bits of offset before any FIFO access can occur, and that is a
minimum of 18 us. The clocks will have started prior to that point in every case.
For SPI applications with fast interface clocks (faster than 1 MHz), the master must be programmed to pull
nCE low at least 10 us prior to sending the first clock. If a master is unable to control the timing of nCE in
this way, then a GPIO interrupt can be configured to wake the Apollo MCU prior to initiating any SPI
transfers.
There is no delay restriction if the MCU is in normal Sleep mode. In that case the HFRC is not powered
down and the I2C/SPI Slave clock will start immediately when nCE goes low.
136
5.12 IOSLAVE Registers
I2C/SPI Slave
INSTANCE 0 BASE ADDRESS:0x50000000
136
5.12.2 IOSLAVE Registers
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RESERVED
31:16 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD
RSVD
136
RESERVED
31:30 RSVD 0x0 RO
RESERVED
23:16 RSVD 0x0 RO
RESERVED
15:14 RSVD 0x0 RO
These bits hold the maximum FIFO address in 8 byte segments. It is also
the beginning of the RAM area of the LRAM. Note that no RAM area is con-
13:8 FIFOMAX 0x0 RW
figured if FIFOMAX is set to 0x1F.
RESERVED
7:5 RSVD 0x0 RO
These bits hold the base address of the I/O FIFO in 8 byte segments.The IO
4:0 FIFOBASE 0x0 RW Slave FIFO is situated in LRAM at (FIFOBASE*8) to (FIFOMAX*8-1).
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD FIFOTHR
RESERVED
31:8 RSVD 0x0 RO
136
5.12.2.4 FUPD Register
FIFO Update Status
OFFSET: 0x0000010C
INSTANCE 0 ADDRESS: 0x5000010C
FIFO Update Status
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FIFOUPD
IOREAD
RSVD
RESERVED
31:2 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD FIFOCTR
RESERVED
31:10 RSVD 0x0 RO
136
Table 176: FIFOCTR Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD FIFOINC
RESERVED
31:10 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STARTRD
IFCSEL
IFCEN
RSVD
SPOL
LSB
136
RESERVED
30:20 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
RESERVED
3 RSVD 0x0 RO
2 LSB 0x0 RW MSB_FIRST = 0x0 - Data is assumed to be sent and received with MSB
first.
LSB_FIRST = 0x1 - Data is assumed to be sent and received with LSB first.
This bit selects SPI polarity.
1 SPOL 0x0 RW
SPI_MODES_0_3 = 0x0 - Polarity 0, handles SPI modes 0 and 3.
SPI_MODES_1_2 = 0x1 - Polarity 1, handles SPI modes 1 and 2.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD PRENC
136
RESERVED
31:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
IOINTCLR
RESERVED
23:17 RSVD 0x0 RO
This bit clears all of the IOINT interrupts when written with a 1.
16 IOINTCLR 0x0 WO
136
5.12.2.10 GENADD Register
General Address Data
OFFSET: 0x00000124
INSTANCE 0 ADDRESS: 0x50000124
General Address Data
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD GADATA
RESERVED
31:8 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FRDERR
FUNDFL
IOINTW
GENAD
FOVFL
FSIZE
RSVD
RESERVED
31:6 RSVD 0x0 RO
136
Table 188: INTEN Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FRDERR
FUNDFL
IOINTW
GENAD
FOVFL
FSIZE
RSVD
RESERVED
31:6 RSVD 0x0 RO
136
5.12.2.13 INTCLR Register
IO Slave Interrupts: Clear
OFFSET: 0x00000208
INSTANCE 0 ADDRESS: 0x50000208
Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FRDERR
FUNDFL
IOINTW
GENAD
FOVFL
FSIZE
RSVD
RESERVED
31:6 RSVD 0x0 RO
136
5.12.2.14 INTSET Register
IO Slave Interrupts: Set
OFFSET: 0x0000020C
INSTANCE 0 ADDRESS: 0x5000020C
Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for
testing purposes).
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FRDERR
FUNDFL
IOINTW
GENAD
FOVFL
FSIZE
RSVD
RESERVED
31:6 RSVD 0x0 RO
136
5.12.2.15 REGACCINTEN Register
Register Access Interrupts: Enable
OFFSET: 0x00000210
INSTANCE 0 ADDRESS: 0x50000210
Set bits in this register to allow this module to generate the corresponding interrupt.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
REGACC
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
REGACC
136
5.12.2.17 REGACCINTCLR Register
Register Access Interrupts: Clear
OFFSET: 0x00000218
INSTANCE 0 ADDRESS: 0x50000218
Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
REGACC
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
REGACC
136
5.13 Host Side Address Space and Register
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FUNDFLEN
SWINT5EN
SWINT4EN
SWINT3EN
SWINT2EN
SWINT1EN
SWINT0EN
RDERREN
7 FUNDFLEN 0x0 RW If 1, enable an interrupt that triggers when the FIFO underflows
If 1, enable the interrupt which occurs when the Host attempts to access
6 RDERREN 0x0 RW
the FIFO when read access is locked
136
5.13.1.2 HOST_ISR Register
Host Interrupt Status Register
OFFSET: 0x79
The host uses this register to read interrupt status.
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FUNDFLSTAT
SWINT5STAT
SWINT4STAT
SWINT3STAT
SWINT2STAT
SWINT1STAT
SWINT0STAT
RDERRSTAT
5 SWINT5STAT 0x0 RO This bit is set by writing a 1 to bit 29 of the IOINTCTL Register.
4 SWINT4STAT 0x0 RO This bit is set by writing a 1 to bit 28 of the IOINTCTL Register.
3 SWINT3STAT 0x0 RO This bit is set by writing a 1 to bit 27 of the IOINTCTL Register.
2 SWINT2STAT 0x0 RO This bit is set by writing a 1 to bit 26 of the IOINTCTL Register.
1 SWINT1STAT 0x0 RO This bit is set by writing a 1 to bit 25 of the IOINTCTL Register.
0 SWINT0STAT 0x0 RO This bit is set by writing a 1 to bit 24 of the IOINTCTL Register.
NOTE: All bits are cleared by a write to the IOINTCLR bit of the IOINTCTL Register.
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FUNDFLWC
SWINT5WC
SWINT4WC
SWINT3WC
SWINT2WC
SWINT1WC
SWINT0WC
RDERRWC
136
7 FUNDFLWC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit FUNDFLSTAT
6 RDERRWC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit RDERRSTAT
5 SWINT5WC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT5STAT
4 SWINT4WC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT4STAT
3 SWINT3WC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT3STAT
2 SWINT2WC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT2STAT
1 SWINT1WC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT1STAT
0 SWINT0WC 0x0 WO Writing a 1 to this bit will clear the pending interrupt status bit SWINT0STAT
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FUNDFLWS
SWINT5WS
SWINT4WS
SWINT3WS
SWINT2WS
SWINT1WS
SWINT0WS
RDERRWS
7 FUNDFLWS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit FUNDFLSTAT
6 RDERRWS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit RDERRSTAT
5 SWINT5WS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit SWINT5STAT
4 SWINT4WS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit SWINT4STAT
3 SWINT3WS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit SWINT3STAT
2 SWINT2WS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit SWINT2STAT
1 SWINT1WS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit SWINT1STAT
0 SWINT0WS 0x0 WO Writing a 1 to this bit will set the pending interrupt status bit SWINT0STAT
136
5.13.1.5 FIFOCTRLO Register
FIFOCTR Low Byte
OFFSET: 0x7C
This register allows the host to read the lower eight bits of the FIFOCTR register.
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FIFOCTRLO
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FIFOCTRUP
RSVD
136
5.13.1.7 FIFO Register
FIFO Read Data
OFFSET: 0x7F
Read this register for FIFO data.
0 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
FIFO
Other
Module
Signals
Config Digital
Muxes Pads
GPIO
AHB
Registers
Bus
Interface
Config
Registers
Figure 36. Block diagram for the General Purpose I/O (GPIO) Module
For all pads except for pad 20, REG_GPIO_PADREGy_PADnPULL bit enables a weak pull-up on the pad
when set to one. For pad 20, the REG_GPIO_PADREGy_PAD20PULL bit enables a weak pull-down on
the pad when set to one. The REG_GPIO_PADREGy_PADnINPEN bit must be set to enable the pad
input, and should be left clear whenever the pad is not used in order to eliminate any leakage current in the
pad.
Pads with a (*) (pads 3 and 4) have selectable high side power switch transistors to provide ~1 Ω switches
to VDDH. Pads with a (**) (pad 11) have selectable low side power switch transistors to provide ~1 Ω
switches to VSS. The high side power switches are enabled by setting the
REG_GPIO_PADREGy_PAD3PWRUP or REG_GPIO_PADREGy_PAD4PWRUP bits, and the low side
switch is enabled by setting the REG_GPIO_PADREGy_PAD11PWRDN bit. Once enabled, the switches
operate in parallel with the normal pad function.
Pads 5, 6, 8 and 9 include optional pull-up resistors for use in I2C mode, to eliminate the need for external
resistors. If the pull-up is enabled by the PADnPULL bit, the REG_GPIO_PADREGy_PADnRSEL field
selects the size of the pull-up resistor as shown in Table 220.
Table 217: Apollo Pad Function Mapping
PADnFNCSEL
Pad
0 1 2 3 4 5 6 7
0 SLSCL [I] SLSCK [I] UARTTX [O] GPIO0 M0SCK_LB M1SCK_LB M0SCL_LB M1SCL_LB
1 SLSDA [S] SLMISO [O] UARTRX [I] GPIO1 M0MISO_LB M1MISO_LB M0SDA_LB M1SDA_LB
2 SLWIR3 [S] SLMOSI [I] CLKOUT GPIO2 M0MOSI_LB M1MOSI_LB M0WIR3_LB M1WIR3_LB
3* TRIG0 [I] SLnCE [O] M1nCE4 GPIO3 M0nCE_LB M1nCE_LB
4* TRIG1 [I] SLINT [O] M0nCE5 GPIO4 SLINTGP_LB SWO [O] CLKOUT
5 M0SCL [S] M0SCK[O] UARTS [O] GPIO5 M0SCK_LB M0SCL_LB
6 M0SDA [S] M0MISO [I] UACTS [I] GPIO6 SLMISO_LB SLSDA_LB
7 M0WIR3 [S] M0MOSI [O] CLKOUT GPIO7 SLWIR3_LB
8 M1SCL [S] M1SCK [O] M0nCE4 GPIO8 M1SCK_LB M1SCL_LB
9 M1SDA [S] M1MISO [I] M0nCE5 GPIO9 SLMISO_LB SLSDA_LB
10 M1WIR3 [S] M1MOSI [O] M0nCE6 GPIO10 SLWIR3_LB
11** RESERVED M0nCE0 CLKOUT GPIO11
12 ADC0 [A] M1nCE0 TCTA0 GPIO12
13 ADC1 [A] M1nCE1 TCTB0 GPIO13 SWO [O]
14 ADC2 [A] M1nCE2 UARTTX [O] GPIO14
15 ADC3 [A] M1nCE3 UARTRX [I] GPIO15
16 ADCREF [A] M0nCE4 TRIG2 [I] GPIO16
17 CMPAD0 [A] M0nCE1 TRIG3 [I] GPIO17
18 CMPAD1 [A] M0nCE2 TCTA1 GPIO18
19 CMPRF0 [A] M0nCE3 TCTB1 GPIO19
20 SWDCK [I] M1nCE5 TCTA2 GPIO20
21 SWDIO [S] M1nCE6 TCTB2 GPIO21
22 UARTTX [O] M1nCE7 TCTA3 GPIO22
23 UARTRX [I] M0nCE0 TCTB3 GPIO23
24 M0nCE1 CLKOUT GPIO24
25 M0nCE2 TCTA0 GPIO25
26 M0nCE3 TCTB0 GPIO26
27 M1nCE4 TCTA1 GPIO27
28 M1nCE5 TCTB1 GPIO28
29 ADC4 [A] M1nCE6 TCTA2 GPIO29
30 ADC5 [A] M1nCE7 TCTB2 GPIO30
31 ADC6 [A] M0nCE4 TCTA3 GPIO31
32 ADC7 [A] M0nCE5 TCTB3 GPIO32
33 CMPRF1 [A] M0nCE6 GPIO33
34 CMPRF2 [A] M0nCE7 GPIO34
35 M1nCE0 UARTTX [O] GPIO35
36 M1nCE1 UARTRX [I] GPIO36
37 TRIG0 [I] M1nCE2 UARTS [O] GPIO37
38 TRIG1 [I] M1nCE3 UACTS [I] GPIO38
39 TRIG2 [I] UARTTX [O] CLKOUT GPIO39
40 TRIG3 [I] UARTRX [I] GPIO40
41 TRIG4 [I] SWO [O] GPIO41
42 TRIG5 [I] M0nCE0 TCTA0 GPIO42
43 TRIG6 [I] M0nCE1 TCTB0 GPIO43
44 TRIG7 [I] M0nCE2 TCTA1 GPIO44
45 M0nCE3 TCTB1 GPIO45
46 M0nCE4 TCTA2 GPIO46
47 M0nCE5 TCTB2 GPIO47
48 M0nCE6 TCTA3 GPIO48
Color/
Function Pad Type
Symbol
Pads with a (**) (pad 11) have selectable low side power
** Low-side power switch
switch transistors to provide ~1 Ω switches to VSS.
00 1.5 kΩ
01 6 kΩ
10 12 kΩ
11 24 kΩ
GPIO pads 0 to 31, and Registers GPIOB_IER, GPIOB_ISR, GPIOB_WCR and GPIOB_WSR for GPIO
pads 32 to 49.
VDDH VDDH
PADnRSEL
PADnPULL
OUTENSEL
Mux
PADnFNCSEL
GPIOnEN
GPIOnWT
OUTDATSEL
PADnSTRNG
GPIOnRD AND
GPIOnINCFG
OR
PADnFNCSEL = 3 AND
PADnINPEN
AND
XOR
GPIOnINT INT
GPIOnINTD
Analog
Connection
PADnFNCSEL = 0
OUTENSEL normally selects a ground signal to keep the pad driver enabled. If the pad is configured to be
Open Drain, the pad enable is driven with the data from the output multiplexer. If the pad is configured as a
GPIO (PADnFNCSEL = 0x3) and the GPIO drive type is tri-state (GPIOnOUTCFG = 0x3), the pad enable
is driven with the inverse of the corresponding GPIOEN bit. If the pad is not configured as an output, the
pad enable is forced high to turn the driver off.
The drive strength of each pad driver is configured by the PADnSTRNG bit.
The four pads which can be I2C/SPI Master output drivers (pads 5, 6, 8 and 9) contain the additional
circuitry shown with the dashed lines. In this case four different pullup resistors are selected by the
PADnRSEL field.
Field Value
PAD5FNCSEL 0
PAD6FNCSEL 0
Field Value
PAD8FNCSEL 0
PAD9FNCSEL 0
Field Value
PAD5FNCSEL 1
PAD6FNCSEL 1
PAD7FNCSEL 1
A variety of pads may be used for up to eight nCE signals to select up to eight separate slaves, as shown
in Table 224. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.
PAD11FNCSEL 1 0 11
PAD23FNCSEL 1 0 23
PAD42FNCSEL 1 0 42
PAD17FNCSEL 1 1 17
PAD24FNCSEL 1 1 24
PAD43FNCSEL 1 1 43
PAD18FNCSEL 1 2 18
PAD25FNCSEL 1 2 25
PAD44FNCSEL 1 2 44
PAD19FNCSEL 1 3 19
PAD26FNCSEL 1 3 26
PAD45FNCSEL 1 3 45
PAD8FNCSEL 2 4 8
PAD16FNCSEL 1 4 16
PAD31FNCSEL 1 4 31
PAD46FNCSEL 1 4 46
PAD4FNCSEL 2 5 4
PAD9FNCSEL 2 5 9
PAD32FNCSEL 1 5 32
PAD47FNCSEL 1 5 47
PAD10FNCSEL 2 6 10
PAD33FNCSEL 1 6 33
PAD48FNCSEL 1 6 48
PAD34FNCSEL 1 7 34
PAD49FNCSEL 1 7 49
Field Value
PAD8FNCSEL 1
PAD9FNCSEL 1
PAD10FNCSEL 1
A variety of pads may be used for up to eight nCE signals to select up to eight separate slaves, as shown
in Table 226. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.
PAD12FNCSEL 1 0 12
PAD35FNCSEL 1 0 35
PAD13FNCSEL 1 1 13
PAD36FNCSEL 1 1 36
PAD14FNCSEL 1 2 14
PAD37FNCSEL 1 2 37
PAD15FNCSEL 1 3 15
PAD38FNCSEL 1 3 38
PAD3FNCSEL 2 4 3
PAD27FNCSEL 1 4 27
PAD20FNCSEL 2 5 20
PAD28FNCSEL 2 5 28
PAD21FNCSEL 2 6 21
PAD29FNCSEL 1 6 29
PAD22FNCSEL 1 7 22
PAD30FNCSEL 1 7 30
Field Value
PAD5FNCSEL 1
PAD7FNCSEL 0
A variety of pads may be used for up to eight nCE signals to select up to eight separate slaves, as shown
in Table 224. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.
Field Value
PAD8FNCSEL 1
PAD10FNCSEL 0
A variety of pads may be used for up to eight nCE signals to select up to eight separate slaves, as shown
in Table 226. The PADnINPEN and PADnPULL bits of any pad used for nCE should be cleared.
Field Value
PAD0FNCSEL 0
PAD1FNCSEL 0
Field Value
PAD0FNCSEL 1
PAD1FNCSEL 1
PAD2FNCSEL 1
PAD3FNCSEL 1
PAD2INPEN and PAD3INPEN bits must be set. PAD0PULL, PAD2PULL and PAD3PULL should be
cleared. Pad 1 may be used for other functions.
Field Value
PAD0FNCSEL 1
PAD2FNCSEL 0
PAD3FNCSEL 1
Field Value
PAD0FNCSEL 6
PAD1FNCSEL 6
PAD5FNCSEL 6
PAD6FNCSEL 6
Field Value
PAD0FNCSEL 7
PAD1FNCSEL 7
Field Value
PAD8FNCSEL 7
PAD9FNCSEL 7
Field Value
PAD0FNCSEL 4
PAD1FNCSEL 4
PAD2FNCSEL 4
PAD3FNCSEL 4
PAD5FNCSEL 4
PAD6FNCSEL 4
Field Value
PAD0FNCSEL 5
PAD1FNCSEL 5
PAD2FNCSEL 5
PAD3FNCSEL 5
PAD8FNCSEL 5
PAD9FNCSEL 5
Field Value
PAD0FNCSEL 4
Field Value
PAD2FNCSEL 6
PAD3FNCSEL 4
PAD5FNCSEL 4
PAD7FNCSEL 6
Field Value
PAD0FNCSEL 5
PAD2FNCSEL 7
PAD3FNCSEL 5
PAD8FNCSEL 5
PAD10FNCSEL 7
PAD12FNCSEL 2 A0 12
PAD25FNCSEL 2 A0 25
PAD42FNCSEL 2 A0 42
PAD13FNCSEL 2 B0 13
PAD26FNCSEL 2 B0 26
PAD43FNCSEL 2 B0 43
PAD18FNCSEL 2 A1 18
PAD27FNCSEL 2 A1 27
PAD44FNCSEL 2 A1 44
PAD19FNCSEL 2 B1 19
PAD28FNCSEL 2 B1 28
PAD45FNCSEL 2 B1 45
PAD20FNCSEL 2 A2 20
PAD29FNCSEL 2 A2 29
PAD46FNCSEL 2 A2 46
PAD21FNCSEL 2 B2 21
PAD30FNCSEL 2 B2 30
PAD47FNCSEL 2 B2 47
PAD22FNCSEL 2 A3 22
PAD31FNCSEL 2 A3 31
PAD48FNCSEL 2 A3 48
PAD23FNCSEL 2 B3 23
PAD32FNCSEL 2 B3 32
PAD49FNCSEL 2 B3 49
PAD0FNCSEL 2 0
PAD14FNCSEL 2 14
PAD22FNCSEL 0 22
PAD35FNCSEL 2 35
PAD39FNCSEL 1 39
PAD1FNCSEL 2 1
PAD15FNCSEL 2 15
PAD23FNCSEL 0 23
PAD36FNCSEL 2 36
PAD40FNCSEL 1 40
PAD5FNCSEL 2 5
PAD37FNCSEL 2 37
PAD6FNCSEL 2 6
PAD38FNCSEL 2 38
PAD6FNCSEL 2 6
PAD38FNCSEL 2 38
PAD2FNCSEL 2 2
PAD4FNCSEL 6 4
PAD7FNCSEL 2 7
PAD11FNCSEL 2 11
PAD24FNCSEL 2 24
PAD39FNCSEL 2 39
PAD12FNCSEL 0 ADC0 12
PAD13FNCSEL 0 ADC1 13
PAD14FNCSEL 0 ADC2 14
PAD15FNCSEL 0 ADC3 15
PAD29FNCSEL 0 ADC4 29
PAD30FNCSEL 0 ADC5 30
PAD31FNCSEL 0 ADC6 31
PAD32FNCSEL 0 ADC7 32
PAD3FNCSEL 0 TRIG0 3
PAD37FNCSEL 0 TRIG0 37
PAD4FNCSEL 0 TRIG1 4
PAD38FNCSEL 0 TRIG1 38
PAD16FNCSEL 0 TRIG2 16
PAD39FNCSEL 0 TRIG2 39
PAD17FNCSEL 0 TRIG3 17
PAD40FNCSEL 0 TRIG3 40
PAD41FNCSEL 0 TRIG4 41
PAD42FNCSEL 0 TRIG5 42
PAD43FNCSEL 0 TRIG6 43
PAD44FNCSEL 0 TRIG7 44
PAD19FNCSEL 0 CMPRF0 19
PAD33FNCSEL 0 CMPRF1 33
PAD34FNCSEL 0 CMPRF2 34
PAD17FNCSEL 0 CMPIN0 17
PAD18FNCSEL 0 CMPIN1 18
SWDIO high. The optional continuous output signal SWO may be configured on a variety of pads as
shown in Table 249, and PADnINPEN and PADnPULL should be cleared for the selected pad.
PAD4FNCSEL 5 4
PAD13FNCSEL 6 13
PAD41FNCSEL 2 41
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD3FNCSEL
PAD2FNCSEL
PAD1FNCSEL
PAD0FNCSEL
PAD3PWRUP
PAD3STRNG
PAD2STRNG
PAD1STRNG
PAD0STRNG
PAD3INPEN
PAD2INPEN
PAD1INPEN
PAD0INPEN
PAD3PULL
PAD2PULL
PAD1PULL
PAD0PULL
RSVD
RSVD
RSVD
RSVD
Table 252: PADREGA Register Bits
RESERVED
30 RSVD 0x0 RO
RESERVED
23:22 RSVD 0x0 RO
RESERVED
15:14 RSVD 0x0 RO
RESERVED
7:6 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD7FNCSEL
PAD6FNCSEL
PAD5FNCSEL
PAD4FNCSEL
PAD4PWRUP
PAD7STRNG
PAD6STRNG
PAD5STRNG
PAD4STRNG
PAD7INPEN
PAD6INPEN
PAD5INPEN
PAD4INPEN
PAD6RSEL
PAD5RSEL
PAD7PULL
PAD6PULL
PAD5PULL
PAD4PULL
RSVD
RSVD
RESERVED
31:30 RSVD 0x0 RO
RESERVED
6 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD11FNCSEL
PAD11PWRDN
PAD10STRNG
PAD11STRNG
PAD9FNCSEL
PAD8FNCSEL
PAD10INPEN
PAD11INPEN
PAD9STRNG
PAD8STRNG
PAD9INPEN
PAD8INPEN
PAD10PULL
PAD11PULL
PAD10FNC-
PAD9RSEL
PAD8RSEL
PAD9PULL
PAD8PULL
RSVD
RSVD
RSVD
SEL
RESERVED
31 RSVD 0x0 RO
RESERVED
29 RSVD 0x0 RO
RESERVED
23:22 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD15STRNG
PAD14STRNG
PAD13STRNG
PAD12STRNG
PAD15INPEN
PAD14INPEN
PAD13INPEN
PAD12INPEN
PAD15PULL
PAD14PULL
PAD13PULL
PAD12PULL
PAD15FNC-
PAD14FNC-
PAD13FNC-
PAD12FNC-
RSVD
RSVD
RSVD
SEL
SEL
SEL
SEL
RSVD
RESERVED
31:30 RSVD 0x0 RO
RESERVED
23:22 RSVD 0x0 RO
RESERVED
15:14 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
This register controls the pad configuration controls for PAD19 through PAD16. Writes to this register must
be unlocked by the PADKEY register.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD19STRNG
PAD18STRNG
PAD17STRNG
PAD16STRNG
PAD19INPEN
PAD18INPEN
PAD17INPEN
PAD16INPEN
PAD19PULL
PAD18PULL
PAD17PULL
PAD16PULL
PAD19FNC-
PAD18FNC-
PAD17FNC-
PAD16FNC-
RSVD
SEL
SEL
SEL
SEL
RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:14 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD23STRNG
PAD22STRNG
PAD21STRNG
PAD20STRNG
PAD23INPEN
PAD22INPEN
PAD21INPEN
PAD20INPEN
PAD23PULL
PAD22PULL
PAD21PULL
PAD20PULL
PAD23FNC-
PAD22FNC-
PAD21FNC-
PAD20FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD27STRNG
PAD26STRNG
PAD25STRNG
PAD24STRNG
PAD27INPEN
PAD26INPEN
PAD25INPEN
PAD24INPEN
PAD27PULL
PAD26PULL
PAD25PULL
PAD24PULL
PAD27FNC-
PAD26FNC-
PAD25FNC-
PAD24FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
28:27 PAD27FNCSEL 0x3 RW M1nCE4 = 0x1 - Configure as the SPI channel 4 nCE signal from IOMSTR1
TCTA1 = 0x2 - Configure as the input/output signal from CTIMER A1
GPIO27 = 0x3 - Configure as GPIO27
RESERVED
23:21 RSVD 0x0 RO
20:19 PAD26FNCSEL 0x3 RW M0nCE3 = 0x1 - Configure as the SPI channel 3 nCE signal from IOMSTR0
TCTB0 = 0x2 - Configure as the input/output signal from CTIMER B0
GPIO26 = 0x3 - Configure as GPIO26
RESERVED
15:13 RSVD 0x0 RO
12:11 PAD25FNCSEL 0x3 RW M0nCE2 = 0x1 - Configure as the SPI channel 2 nCE signal from IOMSTR0
TCTA0 = 0x2 - Configure as the input/output signal from CTIMER A0
GPIO25 = 0x3 - Configure as GPIO25
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD31STRNG
PAD30STRNG
PAD29STRNG
PAD28STRNG
PAD31INPEN
PAD30INPEN
PAD29INPEN
PAD28INPEN
PAD31PULL
PAD30PULL
PAD29PULL
PAD28PULL
PAD31FNC-
PAD30FNC-
PAD29FNC-
PAD28FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD35STRNG
PAD34STRNG
PAD33STRNG
PAD32STRNG
PAD35INPEN
PAD34INPEN
PAD33INPEN
PAD32INPEN
PAD35PULL
PAD34PULL
PAD33PULL
PAD32PULL
PAD35FNC-
PAD34FNC-
PAD33FNC-
PAD32FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD39STRNG
PAD38STRNG
PAD37STRNG
PAD36STRNG
PAD39INPEN
PAD38INPEN
PAD37INPEN
PAD36INPEN
PAD39PULL
PAD38PULL
PAD37PULL
PAD36PULL
PAD39FNC-
PAD38FNC-
PAD37FNC-
PAD36FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD43STRNG
PAD42STRNG
PAD41STRNG
PAD40STRNG
PAD43INPEN
PAD42INPEN
PAD41INPEN
PAD40INPEN
PAD43PULL
PAD42PULL
PAD41PULL
PAD40PULL
PAD43FNC-
PAD42FNC-
PAD41FNC-
PAD40FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD47STRNG
PAD46STRNG
PAD45STRNG
PAD44STRNG
PAD47INPEN
PAD46INPEN
PAD45INPEN
PAD44INPEN
PAD47PULL
PAD46PULL
PAD45PULL
PAD44PULL
PAD47FNC-
PAD46FNC-
PAD45FNC-
PAD44FNC-
SEL
SEL
SEL
SEL
RSVD RSVD RSVD RSVD
RESERVED
31:29 RSVD 0x0 RO
RESERVED
23:21 RSVD 0x0 RO
RESERVED
15:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PAD49STRNG
PAD48STRNG
PAD49INPEN
PAD48INPEN
PAD49PULL
PAD48PULL
PAD49FNC-
PAD48FNC-
SEL
SEL
RSVD RSVD
RESERVED
31:13 RSVD 0x0 RO
RESERVED
7:5 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO7OUTCFG
GPIO6OUTCFG
GPIO5OUTCFG
GPIO4OUTCFG
GPIO3OUTCFG
GPIO2OUTCFG
GPIO1OUTCFG
GPIO0OUTCFG
GPIO7INCFG
GPIO6INCFG
GPIO5INCFG
GPIO4INCFG
GPIO3INCFG
GPIO2INCFG
GPIO1INCFG
GPIO0INCFG
GPIO7INTD
GPIO6INTD
GPIO5INTD
GPIO4INTD
GPIO3INTD
GPIO2INTD
GPIO1INTD
GPIO0INTD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO15OUTCFG
GPIO14OUTCFG
GPIO13OUTCFG
GPIO12OUTCFG
GPIO10OUTCFG
GPIO11OUTCFG
GPIO9OUTCFG
GPIO8OUTCFG
GPIO15INCFG
GPIO14INCFG
GPIO13INCFG
GPIO12INCFG
GPIO10INCFG
GPIO11INCFG
GPIO9INCFG
GPIO8INCFG
GPIO15INTD
GPIO14INTD
GPIO13INTD
GPIO12INTD
GPIO10INTD
GPIO11INTD
GPIO9INTD
GPIO8INTD
Table 280: CFGB Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO23OUTCFG
GPIO22OUTCFG
GPIO21OUTCFG
GPIO20OUTCFG
GPIO19OUTCFG
GPIO18OUTCFG
GPIO17OUTCFG
GPIO16OUTCFG
GPIO23INCFG
GPIO22INCFG
GPIO21INCFG
GPIO20INCFG
GPIO19INCFG
GPIO18INCFG
GPIO17INCFG
GPIO16INCFG
GPIO23INTD
GPIO22INTD
GPIO21INTD
GPIO20INTD
GPIO19INTD
GPIO18INTD
GPIO17INTD
GPIO16INTD
Table 282: CFGC Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO31OUTCFG
GPIO30OUTCFG
GPIO29OUTCFG
GPIO28OUTCFG
GPIO27OUTCFG
GPIO26OUTCFG
GPIO25OUTCFG
GPIO24OUTCFG
GPIO31INCFG
GPIO30INCFG
GPIO29INCFG
GPIO28INCFG
GPIO27INCFG
GPIO26INCFG
GPIO25INCFG
GPIO24INCFG
GPIO31INTD
GPIO30INTD
GPIO29INTD
GPIO28INTD
GPIO27INTD
GPIO26INTD
GPIO25INTD
GPIO24INTD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO39OUTCFG
GPIO38OUTCFG
GPIO37OUTCFG
GPIO36OUTCFG
GPIO35OUTCFG
GPIO34OUTCFG
GPIO33OUTCFG
GPIO32OUTCFG
GPIO39INCFG
GPIO38INCFG
GPIO37INCFG
GPIO36INCFG
GPIO35INCFG
GPIO34INCFG
GPIO33INCFG
GPIO32INCFG
GPIO39INTD
GPIO38INTD
GPIO37INTD
GPIO36INTD
GPIO35INTD
GPIO34INTD
GPIO33INTD
GPIO32INTD
GPIO configuration controls for GPIO[47:40]. Writes to this register must be unlocked by the PADKEY
register.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO47OUTCFG
GPIO46OUTCFG
GPIO45OUTCFG
GPIO44OUTCFG
GPIO43OUTCFG
GPIO42OUTCFG
GPIO41OUTCFG
GPIO40OUTCFG
GPIO47INCFG
GPIO46INCFG
GPIO45INCFG
GPIO44INCFG
GPIO43INCFG
GPIO42INCFG
GPIO41INCFG
GPIO40INCFG
GPIO47INTD
GPIO46INTD
GPIO45INTD
GPIO44INTD
GPIO43INTD
GPIO42INTD
GPIO41INTD
GPIO40INTD
Table 288: CFGF Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO49OUTCFG
GPIO48OUTCFG
GPIO49INCFG
GPIO48INCFG
GPIO49INTD
GPIO48INTD
RSVD
RESERVED
31:8 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PADKEY
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RDA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD RDB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WTA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD WTB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WTSA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD WTSB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WTCA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD WTCB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ENA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD ENB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ENSA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD ENSB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ENCA
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD ENCB
RESERVED
31:18 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO31
GPIO30
GPIO29
GPIO28
GPIO27
GPIO26
GPIO25
GPIO24
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
GPIO18
GPIO17
GPIO16
GPIO15
GPIO14
GPIO13
GPIO12
GPIO10
GPIO11
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
Table 322: INT0EN Register Bits
GPIO31 interrupt.
31 GPIO31 0x0 RW
GPIO30 interrupt.
30 GPIO30 0x0 RW
GPIO29 interrupt.
29 GPIO29 0x0 RW
GPIO28 interrupt.
28 GPIO28 0x0 RW
GPIO27 interrupt.
27 GPIO27 0x0 RW
GPIO26 interrupt.
26 GPIO26 0x0 RW
GPIO25 interrupt.
25 GPIO25 0x0 RW
GPIO24 interrupt.
24 GPIO24 0x0 RW
GPIO23 interrupt.
23 GPIO23 0x0 RW
GPIO22 interrupt.
22 GPIO22 0x0 RW
GPIO21 interrupt.
21 GPIO21 0x0 RW
GPIO20 interrupt.
20 GPIO20 0x0 RW
GPIO19 interrupt.
19 GPIO19 0x0 RW
GPIO18interrupt.
18 GPIO18 0x0 RW
GPIO17 interrupt.
17 GPIO17 0x0 RW
GPIO16 interrupt.
16 GPIO16 0x0 RW
GPIO15 interrupt.
15 GPIO15 0x0 RW
GPIO14 interrupt.
14 GPIO14 0x0 RW
GPIO13 interrupt.
13 GPIO13 0x0 RW
GPIO12 interrupt.
12 GPIO12 0x0 RW
GPIO11 interrupt.
11 GPIO11 0x0 RW
GPIO10 interrupt.
10 GPIO10 0x0 RW
GPIO9 interrupt.
9 GPIO9 0x0 RW
GPIO8 interrupt.
8 GPIO8 0x0 RW
GPIO7 interrupt.
7 GPIO7 0x0 RW
GPIO6 interrupt.
6 GPIO6 0x0 RW
GPIO5 interrupt.
5 GPIO5 0x0 RW
GPIO4 interrupt.
4 GPIO4 0x0 RW
GPIO3 interrupt.
3 GPIO3 0x0 RW
GPIO2 interrupt.
2 GPIO2 0x0 RW
GPIO1 interrupt.
1 GPIO1 0x0 RW
GPIO0 interrupt.
0 GPIO0 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO31
GPIO30
GPIO29
GPIO28
GPIO27
GPIO26
GPIO25
GPIO24
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
GPIO18
GPIO17
GPIO16
GPIO15
GPIO14
GPIO13
GPIO12
GPIO10
GPIO11
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
Table 324: INT0STAT Register Bits
GPIO31 interrupt.
31 GPIO31 0x0 RW
GPIO30 interrupt.
30 GPIO30 0x0 RW
GPIO29 interrupt.
29 GPIO29 0x0 RW
GPIO28 interrupt.
28 GPIO28 0x0 RW
GPIO27 interrupt.
27 GPIO27 0x0 RW
GPIO26 interrupt.
26 GPIO26 0x0 RW
GPIO25 interrupt.
25 GPIO25 0x0 RW
GPIO24 interrupt.
24 GPIO24 0x0 RW
GPIO23 interrupt.
23 GPIO23 0x0 RW
GPIO22 interrupt.
22 GPIO22 0x0 RW
GPIO21 interrupt.
21 GPIO21 0x0 RW
GPIO20 interrupt.
20 GPIO20 0x0 RW
GPIO19 interrupt.
19 GPIO19 0x0 RW
GPIO18interrupt.
18 GPIO18 0x0 RW
GPIO17 interrupt.
17 GPIO17 0x0 RW
GPIO16 interrupt.
16 GPIO16 0x0 RW
GPIO15 interrupt.
15 GPIO15 0x0 RW
GPIO14 interrupt.
14 GPIO14 0x0 RW
GPIO13 interrupt.
13 GPIO13 0x0 RW
GPIO12 interrupt.
12 GPIO12 0x0 RW
GPIO11 interrupt.
11 GPIO11 0x0 RW
GPIO10 interrupt.
10 GPIO10 0x0 RW
GPIO9 interrupt.
9 GPIO9 0x0 RW
GPIO8 interrupt.
8 GPIO8 0x0 RW
GPIO7 interrupt.
7 GPIO7 0x0 RW
GPIO6 interrupt.
6 GPIO6 0x0 RW
GPIO5 interrupt.
5 GPIO5 0x0 RW
GPIO4 interrupt.
4 GPIO4 0x0 RW
GPIO3 interrupt.
3 GPIO3 0x0 RW
GPIO2 interrupt.
2 GPIO2 0x0 RW
GPIO1 interrupt.
1 GPIO1 0x0 RW
GPIO0 interrupt.
0 GPIO0 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO31
GPIO30
GPIO29
GPIO28
GPIO27
GPIO26
GPIO25
GPIO24
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
GPIO18
GPIO17
GPIO16
GPIO15
GPIO14
GPIO13
GPIO12
GPIO10
GPIO11
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
Table 326: INT0CLR Register Bits
GPIO31 interrupt.
31 GPIO31 0x0 RW
GPIO30 interrupt.
30 GPIO30 0x0 RW
GPIO29 interrupt.
29 GPIO29 0x0 RW
GPIO28 interrupt.
28 GPIO28 0x0 RW
GPIO27 interrupt.
27 GPIO27 0x0 RW
GPIO26 interrupt.
26 GPIO26 0x0 RW
GPIO25 interrupt.
25 GPIO25 0x0 RW
GPIO24 interrupt.
24 GPIO24 0x0 RW
GPIO23 interrupt.
23 GPIO23 0x0 RW
GPIO22 interrupt.
22 GPIO22 0x0 RW
GPIO21 interrupt.
21 GPIO21 0x0 RW
GPIO20 interrupt.
20 GPIO20 0x0 RW
GPIO19 interrupt.
19 GPIO19 0x0 RW
GPIO18interrupt.
18 GPIO18 0x0 RW
GPIO17 interrupt.
17 GPIO17 0x0 RW
GPIO16 interrupt.
16 GPIO16 0x0 RW
GPIO15 interrupt.
15 GPIO15 0x0 RW
GPIO14 interrupt.
14 GPIO14 0x0 RW
GPIO13 interrupt.
13 GPIO13 0x0 RW
GPIO12 interrupt.
12 GPIO12 0x0 RW
GPIO11 interrupt.
11 GPIO11 0x0 RW
GPIO10 interrupt.
10 GPIO10 0x0 RW
GPIO9 interrupt.
9 GPIO9 0x0 RW
GPIO8 interrupt.
8 GPIO8 0x0 RW
GPIO7 interrupt.
7 GPIO7 0x0 RW
GPIO6 interrupt.
6 GPIO6 0x0 RW
GPIO5 interrupt.
5 GPIO5 0x0 RW
GPIO4 interrupt.
4 GPIO4 0x0 RW
GPIO3 interrupt.
3 GPIO3 0x0 RW
GPIO2 interrupt.
2 GPIO2 0x0 RW
GPIO1 interrupt.
1 GPIO1 0x0 RW
GPIO0 interrupt.
0 GPIO0 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO31
GPIO30
GPIO29
GPIO28
GPIO27
GPIO26
GPIO25
GPIO24
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
GPIO18
GPIO17
GPIO16
GPIO15
GPIO14
GPIO13
GPIO12
GPIO10
GPIO11
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
GPIO31 interrupt.
31 GPIO31 0x0 RW
GPIO30 interrupt.
30 GPIO30 0x0 RW
GPIO29 interrupt.
29 GPIO29 0x0 RW
GPIO28 interrupt.
28 GPIO28 0x0 RW
GPIO27 interrupt.
27 GPIO27 0x0 RW
GPIO26 interrupt.
26 GPIO26 0x0 RW
GPIO25 interrupt.
25 GPIO25 0x0 RW
GPIO24 interrupt.
24 GPIO24 0x0 RW
GPIO23 interrupt.
23 GPIO23 0x0 RW
GPIO22 interrupt.
22 GPIO22 0x0 RW
GPIO21 interrupt.
21 GPIO21 0x0 RW
GPIO20 interrupt.
20 GPIO20 0x0 RW
GPIO19 interrupt.
19 GPIO19 0x0 RW
GPIO18interrupt.
18 GPIO18 0x0 RW
GPIO17 interrupt.
17 GPIO17 0x0 RW
GPIO16 interrupt.
16 GPIO16 0x0 RW
GPIO15 interrupt.
15 GPIO15 0x0 RW
GPIO14 interrupt.
14 GPIO14 0x0 RW
GPIO13 interrupt.
13 GPIO13 0x0 RW
GPIO12 interrupt.
12 GPIO12 0x0 RW
GPIO11 interrupt.
11 GPIO11 0x0 RW
GPIO10 interrupt.
10 GPIO10 0x0 RW
GPIO9 interrupt.
9 GPIO9 0x0 RW
GPIO8 interrupt.
8 GPIO8 0x0 RW
GPIO7 interrupt.
7 GPIO7 0x0 RW
GPIO6 interrupt.
6 GPIO6 0x0 RW
GPIO5 interrupt.
5 GPIO5 0x0 RW
GPIO4 interrupt.
4 GPIO4 0x0 RW
GPIO3 interrupt.
3 GPIO3 0x0 RW
GPIO2 interrupt.
2 GPIO2 0x0 RW
GPIO1 interrupt.
1 GPIO1 0x0 RW
GPIO0 interrupt.
0 GPIO0 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO49
GPIO48
GPIO47
GPIO46
GPIO45
GPIO44
GPIO43
GPIO42
GPIO41
GPIO40
GPIO39
GPIO38
GPIO37
GPIO36
GPIO35
GPIO34
GPIO33
GPIO32
RSVD
RESERVED
31:18 RSVD 0x0 RO
GPIO49 interrupt.
17 GPIO49 0x0 RW
GPIO48 interrupt.
16 GPIO48 0x0 RW
GPIO47 interrupt.
15 GPIO47 0x0 RW
GPIO46 interrupt.
14 GPIO46 0x0 RW
GPIO45 interrupt.
13 GPIO45 0x0 RW
GPIO44 interrupt.
12 GPIO44 0x0 RW
GPIO43 interrupt.
11 GPIO43 0x0 RW
GPIO42 interrupt.
10 GPIO42 0x0 RW
GPIO41 interrupt.
9 GPIO41 0x0 RW
GPIO40 interrupt.
8 GPIO40 0x0 RW
GPIO39 interrupt.
7 GPIO39 0x0 RW
GPIO38 interrupt.
6 GPIO38 0x0 RW
GPIO37 interrupt.
5 GPIO37 0x0 RW
GPIO36 interrupt.
4 GPIO36 0x0 RW
GPIO35 interrupt.
3 GPIO35 0x0 RW
GPIO34 interrupt.
2 GPIO34 0x0 RW
GPIO33 interrupt.
1 GPIO33 0x0 RW
GPIO32 interrupt.
0 GPIO32 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO49
GPIO48
GPIO47
GPIO46
GPIO45
GPIO44
GPIO43
GPIO42
GPIO41
GPIO40
GPIO39
GPIO38
GPIO37
GPIO36
GPIO35
GPIO34
GPIO33
GPIO32
RSVD
RESERVED
31:18 RSVD 0x0 RO
GPIO49 interrupt.
17 GPIO49 0x0 RW
GPIO48 interrupt.
16 GPIO48 0x0 RW
GPIO47 interrupt.
15 GPIO47 0x0 RW
GPIO46 interrupt.
14 GPIO46 0x0 RW
GPIO45 interrupt.
13 GPIO45 0x0 RW
GPIO44 interrupt.
12 GPIO44 0x0 RW
GPIO43 interrupt.
11 GPIO43 0x0 RW
GPIO42 interrupt.
10 GPIO42 0x0 RW
GPIO41 interrupt.
9 GPIO41 0x0 RW
GPIO40 interrupt.
8 GPIO40 0x0 RW
GPIO39 interrupt.
7 GPIO39 0x0 RW
GPIO38 interrupt.
6 GPIO38 0x0 RW
GPIO37 interrupt.
5 GPIO37 0x0 RW
GPIO36 interrupt.
4 GPIO36 0x0 RW
GPIO35 interrupt.
3 GPIO35 0x0 RW
GPIO34 interrupt.
2 GPIO34 0x0 RW
GPIO33 interrupt.
1 GPIO33 0x0 RW
GPIO32 interrupt.
0 GPIO32 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO49
GPIO48
GPIO47
GPIO46
GPIO45
GPIO44
GPIO43
GPIO42
GPIO41
GPIO40
GPIO39
GPIO38
GPIO37
GPIO36
GPIO35
GPIO34
GPIO33
GPIO32
RSVD
RESERVED
31:18 RSVD 0x0 RO
GPIO49 interrupt.
17 GPIO49 0x0 RW
GPIO48 interrupt.
16 GPIO48 0x0 RW
GPIO47 interrupt.
15 GPIO47 0x0 RW
GPIO46 interrupt.
14 GPIO46 0x0 RW
GPIO45 interrupt.
13 GPIO45 0x0 RW
GPIO44 interrupt.
12 GPIO44 0x0 RW
GPIO43 interrupt.
11 GPIO43 0x0 RW
GPIO42 interrupt.
10 GPIO42 0x0 RW
GPIO41 interrupt.
9 GPIO41 0x0 RW
GPIO40 interrupt.
8 GPIO40 0x0 RW
GPIO39 interrupt.
7 GPIO39 0x0 RW
GPIO38 interrupt.
6 GPIO38 0x0 RW
GPIO37 interrupt.
5 GPIO37 0x0 RW
GPIO36 interrupt.
4 GPIO36 0x0 RW
GPIO35 interrupt.
3 GPIO35 0x0 RW
GPIO34 interrupt.
2 GPIO34 0x0 RW
GPIO33 interrupt.
1 GPIO33 0x0 RW
GPIO32 interrupt.
0 GPIO32 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
GPIO49
GPIO48
GPIO47
GPIO46
GPIO45
GPIO44
GPIO43
GPIO42
GPIO41
GPIO40
GPIO39
GPIO38
GPIO37
GPIO36
GPIO35
GPIO34
GPIO33
GPIO32
RSVD
RESERVED
31:18 RSVD 0x0 RO
GPIO49 interrupt.
17 GPIO49 0x0 RW
GPIO48 interrupt.
16 GPIO48 0x0 RW
GPIO47 interrupt.
15 GPIO47 0x0 RW
GPIO46 interrupt.
14 GPIO46 0x0 RW
GPIO45 interrupt.
13 GPIO45 0x0 RW
GPIO44 interrupt.
12 GPIO44 0x0 RW
GPIO43 interrupt.
11 GPIO43 0x0 RW
GPIO42 interrupt.
10 GPIO42 0x0 RW
GPIO41 interrupt.
9 GPIO41 0x0 RW
GPIO40 interrupt.
8 GPIO40 0x0 RW
GPIO39 interrupt.
7 GPIO39 0x0 RW
GPIO38 interrupt.
6 GPIO38 0x0 RW
GPIO37 interrupt.
5 GPIO37 0x0 RW
GPIO36 interrupt.
4 GPIO36 0x0 RW
GPIO35 interrupt.
3 GPIO35 0x0 RW
GPIO34 interrupt.
2 GPIO34 0x0 RW
GPIO33 interrupt.
1 GPIO33 0x0 RW
GPIO32 interrupt.
0 GPIO32 0x0 RW
Calibration
Autocal Logic
Registers
XT
XT Chain
Osc
Ext
HFRC Osc
HFRC Chain
Ext Core, Flash
CLKOUT
100 Hz CLKOUT
RTC
Figure 38. Block diagram for the Clock Generator and Real Time Clock Module
clock. If a transfer is initiated and the processor is put into Deep Sleep mode, the HFRC will remain active
until the I/O transfer is completed. At that point the HFRC will be powered down without requiring any
software intervention.
subtracted to ensure accuracy of the XT. CALXT cycles of the 16 kHz clock are gated (negative calibration)
or replaced by 32 kHz pulses (positive calibration) within every 64 second calibration period. Each step in
CALXT modifies the clock frequency by 0.9535 ppm, with a maximum adjustment of +975/-976 ppm
(±0.1%).
The pulses which are added to or subtracted from the 16 kHz clock are spread evenly over each
64 second period using the Ambiq Micro patented Distributed Calibration algorithm. This insures that in XT
mode the maximum cycle-to-cycle jitter in any clock of a frequency 16 kHz or lower caused by calibration
will be no more than one 16 kHz period (~60 us). This maximum jitter applies to all clocks in the Apollo
MCU which use the XT.
Note that since the 16 kHz XT clock is calibrated, the 32 kHz XT is an uncalibrated clock. This may be a
useful selection in some cases.
tuning value. The current analog tuning value may be read back in the REG_CLKGEN_HFTUNERB
Register. Autoadjustment is enabled loading the repeat frequency value into the HFADJCK field and then
setting the REG_CLKGEN_HFADJ_HFADJEN bit.
Autoadjustment cycles will occur continuously if both the XT and the HFRC are enabled. If either oscillator
is disabled, Autoadjustment cycles will then occur at intervals determined by the
REG_CLKGEN_HFADJ_HFADJCK field, as shown in the register description in Section 7.2.2.9 on page
235. Shorter repeat intervals will result in more accurate HFRC frequencies, especially if the temperature
is changing rapidly, but will result in higher power consumption. When an Autoadjustment cycle occurs, if
the XT was disabled it is enabled and then a delay occurs to allow the XT to stabilize. This delay is defined
by the REG_CLKGEN_HFADJ_HFWARMUP field as defined in the Register document. Once the HFRC is
stable, the HFRC is enabled and several Autoadjustments occur, each of which results in a refinement of
the tuning value. Once those adjustments are complete, the HFRC and XT are powered down unless they
are in use by other functions.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD CALXT
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD CALRC
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD ACALCTR
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
STOPRC
STOPXT
OSEL
FOS
RSVD ACAL RSVD
Autocalibration control
RESERVED
31:11 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CKEN
RSVD
RSVD CKSEL
RESERVED
31:8 RSVD 0x0 RO
RESERVED
6 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CLKKEY
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
MEMSEL
CORE-
SEL
RSVD
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OMODE
OSCF
RSVD
RESERVED
31:2 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
HFWARMUP
HFADJEN
HFADJCK
RSVD HFXTADJ RSVD
RESERVED
31:20 RSVD 0x0 RO
RESERVED
7:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD HFTUNERB
RESERVED
31:11 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CLOCKEN
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
UARTEN
RSVD
RESERVED
31:1 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
Table 366: INTSTAT Register Bits
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
Table 368: INTCLR Register Bits
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
RESERVED
31:4 RSVD 0x0 RO
Figure 39. Block diagram for the Real Time Clock Module
7.3.4 Alarms
There are seven Alarm Registers which may be used to generate an Alarm interrupt at a specific time.
These registers correspond to the 100th of a second (REG_CLK_GEN_ALMLOW_ALM100), second
(REG_CLK_GEN_ALMLOW_ALMSEC), minute (REG_CLK_GEN_ALMLOW_ALMMIN), hour
(REG_CLK_GEN_ALMLOW_ALMHR), day of the month (REG_CLK_GEN_ALMUP_ALMDATE), day of
the week (REG_CLK_GEN_ALMUP_ALMWKDY) and month (REG_CLK_GEN_ALMUP_ALMMO)
Calendar Counters. The comparison is controlled by the REG_CLK_GEN_RTCCTL_RPT field and the
REG_CLK_GEN_ALMLOW_ALM100 Register as shown in 12/24 Hour Mode. In the ALM100 Register, n
indicates any digit 0-9. When all selected Counters match their corresponding Alarm Register, the ALM
interrupt flag is set (see the Clock Generator section for the ALM interrupt control).
000 0xnn Every year 100th, second, minute, hour, day, month
All alarm interrupts are asserted on the next 100 Hz clock cycle after the counters match the alarm register,
except for 100ths of a second. To get an interrupt that occurs precisely at a certain time, the comparison
value in the corresponding alarm register should be set 10 ms (one 100 Hz count) earlier than the desired
interrupt time.
For the 100ths of a second interrupt, the first 100 Hz clock sets the comparison with the alarm register and
the next clock asserts the interrupt. Therefore, the first 100ths interrupt will be asserted after 20 ms, not
10 ms. This occurs each and every time the 100ths of a second counter with interrupts is enabled if the
RTC is stopped. If the RTC is already running when configured, then the first interrupt will occur between
10 and 20 ms after configuration.
The century value is used to control the Leap Year functions, which create the correct insertion of February
29 in years which are divisible by 4 and not divisible by 100, and also the year 2000.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD
RSVD
RSVD
RESERVED
31:30 RSVD 0x0 RO
Hours Counter
29:24 CTRHR 0x1 RW
RESERVED
23 RSVD 0x0 RO
Minutes Counter
22:16 CTRMIN 0x0 RW
RESERVED
15 RSVD 0x0 RO
Seconds Counter
14:8 CTRSEC 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTRWKDY
CTERR
RSVD
RSVD
CEB
RESERVED
30:29 RSVD 0x0 RO
Century enable
28 CEB 0x0 RW
DIS = 0x0 - Disable the Century bit from changing
EN = 0x1 - Enable the Century bit to change
Century
27 CB 0x0 RW
2000 = 0x0 - Century is 2000s
1900_2100 = 0x1 - Century is 1900s/2100s
Weekdays Counter
26:24 CTRWKDY 0x0 RW
Years Counter
23:16 CTRYR 0x0 RW
RESERVED
15:13 RSVD 0x0 RO
Months Counter
12:8 CTRMO 0x0 RW
RESERVED
7:6 RSVD 0x0 RO
Date Counter
5:0 CTRDATE 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD
RSVD
RSVD
RESERVED
31:30 RSVD 0x0 RO
Hours Alarm
29:24 ALMHR 0x0 RW
RESERVED
23 RSVD 0x0 RO
Minutes Alarm
22:16 ALMMIN 0x0 RW
RESERVED
15 RSVD 0x0 RO
Seconds Alarm
14:8 ALMSEC 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ALMWKDY
RSVD
RSVD RSVD ALMMO ALMDATE
RESERVED
31:19 RSVD 0x0 RO
Weekdays Alarm
18:16 ALMWKDY 0x0 RW
RESERVED
15:13 RSVD 0x0 RO
Months Alarm
12:8 ALMMO 0x0 RW
RESERVED
7:6 RSVD 0x0 RO
Date Alarm
5:0 ALMDATE 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
HR1224
RSTOP
WRTC
RSVD RPT
RESERVED
31:6 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
Table 385: INTEN Register Bits
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
Table 389: INTCLR Register Bits
RESERVED
31:4 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ACC
ALM
ACF
RSVD
OF
8. Counter/Timer Module
CLRA
CLRB
TMRPINB
TMRPINA
16-bit Compare0A
16-bit Compare1A
16-bit Compare0B
16-bit Compare1B
TMRINTA
TMRINTB Control
TMRPINA
TMRPINB
REG_CTIMER_CMPR0 value plus 2 and the specified value plus 3. Subsequent repeated cycles will be
correctly of length (CMPR value + 1). There are five modes:
0 => Single Count: Timer counts from 0 to CMPR0 and stops, with an optional interrupt.
1 => Repeated Count: Periodic 1-clock-cycle wide pulses with optional interrupts.
2 => Single Pulse (One Shot): Timer counts from 0 to CMPR0, generates a pin transition and an
optional interrupt, continues counting from CMPR0 to CMPR1, generates another pin transition (with
no interrupt), and then stops.
3 => Repeated Pulse: Same as single pulse, but the timer rolls over to 0 and restarts immediately after
reaching CMPR1. Often used to generate PWM signals.
4 => Continuous: The timer repeatedly counts from 0 to 216 - 1 forever, regardless of what the CMPR
values are. The timer can optionally generate an interrupt or pin transition the first time it reaches
CMPR0, but it won’t generate an interrupt or pin transition on subsequent iterations.
~CMPR0+2
Out (POL = 0)
Out (POL = 1)
INT
Counter 0 Incrementing 0
EN
If the REG_CTIMER_TMRxyEN bit is cleared, the Timer will stop counting but will not be cleared, so the
sequence may be paused and then resumed. Setting CLR will reset the Timer to zero. Note that CMPR0
must be at least 1 so that the repeat interval is two clock cycles.
Out (POL = 0)
Out (POL = 1)
INT
EN
~CMPR1 + 2
~CMPR0 + 2
Out (POL = 0)
Out (POL = 1)
INT
Counter 0 Incrementing 0
EN
counts up on each selected clock, and when it reaches the value in the corresponding CMPR0 Register
the output pin switches polarity (if the PE bit is set) and an interrupt is generated (if the IE bit is set). At this
point the Timer continues to increment and the output pin is maintained at the selected level until the Timer
reaches the value in the CMPR1 Register, at which point it switches back to the original level. This allows
the creation of a pulse of a specified width. The interrupt may be cleared by writing the corresponding WC
bit in the TMRWCR Register. Note that CMPR1 must be at least 1 so that the repeat interval is two clock
cycles.
The Timer is reset to 0 and continues to increment, so that a stream of pulses of the specified width and
period is generated. If the EN bit is cleared, the Timer stops counting, but is not cleared, so the sequence
may be paused and restarted. This mode is particularly valuable for creating a PWM (Pulse Width
Modulation) output on the pin which may be used, for example, to vary the brightness of an LED.
~CMPR1 + 2 CMPR1 + 1
~CMPR0 + 2 CMPR0 + 1
Out (POL = 0)
Out (POL = 1)
INT
EN
~CMPR0 + 2
Out (POL = 0)
Out (POL = 1)
INT
Counter 0 Incrementing
EN
LFRC count value defines how much real time has elapsed, and the Buck Converter count value defines
how much energy was consumed in that time.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTTMRB0 CTTMRA0
Counter/Timer B0.
31:16 CTTMRB0 0x0 RO
Counter/Timer A0.
15:0 CTTMRA0 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1A0 CMPR0A0
Counter/Timer A0 Compare Register 1. Holds the upper limit for timer half
31:16 CMPR1A0 0x0 RW A.
Counter/Timer A0 Compare Register 0. Holds the lower limit for timer half A.
15:0 CMPR0A0 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1B0 CMPR0B0
Counter/Timer B0 Compare Register 1. Holds the upper limit for timer half
31:16 CMPR1B0 0x0 RW B.
Counter/Timer B0 Compare Register 0. Holds the lower limit for timer half B.
15:0 CMPR0B0 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
TMRB0POL
TMRA0POL
TMRB0CLR
TMRA0CLR
TMRB0EN
TMRA0EN
TMRB0FN
TMRA0FN
TMRB0PE
TMRA0PE
TMRB0IE
TMRA0IE
CTLINK0
RSVD
31 CTLINK0 0x0 RW TWO_16BIT_TIMERS = 0x0 - Use A0/B0 timers as two independent 16-bit
timers (default).
32BIT_TIMER = 0x1 - Link A0/B0 timers into a single 32-bit timer.
RESERVED
30:29 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINB0 pin is the same as the timer
28 TMRB0POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINB0 pin is the inverse of the
timer output.
26 TMRB0PE 0x0 RW DIS = 0x0 - Counter/Timer B holds the TMRPINB signal at the value
TMRB0POL.
EN = 0x1 - Enable counter/timer B0 to generate a signal on TMRPINB.
RESERVED
15:13 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINA0 pin is the same as the timer
12 TMRA0POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINA0 pin is the inverse of the
timer output.
Counter/Timer A0 Clear bit.
11 TMRA0CLR 0x0 RW
RUN = 0x0 - Allow counter/timer A0 to run
CLEAR = 0x1 - Holds counter/timer A0 at 0x0000.
10 TMRA0PE 0x0 RW DIS = 0x0 - Counter/Timer A holds the TMRPINA signal at the value
TMRA0POL.
EN = 0x1 - Enable counter/timer B0 to generate a signal on TMRPINB.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTTMRB1 CTTMRA1
Counter/Timer B1.
31:16 CTTMRB1 0x0 RO
Counter/Timer A1.
15:0 CTTMRA1 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1A1 CMPR0A1
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1B1 CMPR0B1
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
TMRB1POL
TMRB1CLR
TMRA1POL
TMRA1CLR
TMRB1EN
TMRA1EN
TMRB1PE
TMRA1PE
TMRB1FN
TMRA1FN
TMRB1IE
TMRA1IE
CTLINK1
RSVD
31 CTLINK1 0x0 RW TWO_16BIT_TIMERS = 0x0 - Use A0/B0 timers as two independent 16-bit
timers (default).
32BIT_TIMER = 0x1 - Link A1/B1 timers into a single 32-bit timer.
RESERVED
30:29 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINB1 pin is the same as the timer
28 TMRB1POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINB1 pin is the inverse of the
timer output.
26 TMRB1PE 0x0 RW DIS = 0x0 - Counter/Timer B holds the TMRPINB signal at the value
TMRB1POL.
EN = 0x1 - Enable counter/timer B1 to generate a signal on TMRPINB.
NORMAL = 0x0 - The polarity of the TMRPINA1 pin is the same as the timer
12 TMRA1POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINA1 pin is the inverse of the
timer output.
10 TMRA1PE 0x0 RW DIS = 0x0 - Counter/Timer A holds the TMRPINA signal at the value
TMRA1POL.
EN = 0x1 - Enable counter/timer A1 to generate a signal on TMRPINA.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTTMRB2 CTTMRA2
Counter/Timer B2.
31:16 CTTMRB2 0x0 RO
Counter/Timer A2.
15:0 CTTMRA2 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1A2 CMPR0A2
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1B2 CMPR0B2
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
TMRB2POL
TMRB2CLR
TMRA2POL
TMRA2CLR
TMRB2EN
TMRA2EN
TMRB2FN
TMRA2FN
TMRB2PE
TMRA2PE
TMRB2IE
TMRA2IE
CTLINK2
RSVD
31 CTLINK2 0x0 RW TWO_16BIT_TIMERS = 0x0 - Use A0/B0 timers as two independent 16-bit
timers (default).
32BIT_TIMER = 0x1 - Link A2/B2 timers into a single 32-bit timer.
RESERVED
30:29 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINB2 pin is the same as the timer
28 TMRB2POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINB2 pin is the inverse of the
timer output.
26 TMRB2PE 0x0 RW DIS = 0x0 - Counter/Timer B holds the TMRPINB signal at the value
TMRB2POL.
EN = 0x1 - Enable counter/timer B2 to generate a signal on TMRPINB.
RESERVED
15:13 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINA2 pin is the same as the timer
12 TMRA2POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINA2 pin is the inverse of the
timer output.
10 TMRA2PE 0x0 RW DIS = 0x0 - Counter/Timer A holds the TMRPINA signal at the value
TMRA2POL.
EN = 0x1 - Enable counter/timer A2 to generate a signal on TMRPINA.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTTMRB3 CTTMRA3
Counter/Timer B3.
31:16 CTTMRB3 0x0 RO
Counter/Timer A3.
15:0 CTTMRA3 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1A3 CMPR0A3
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CMPR1B3 CMPR0B3
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
TMRB3CLR
TMRA3CLR
TMRB3POL
TMRA3POL
TMRB3EN
TMRA3EN
TMRB3FN
TMRA3FN
TMRB3PE
TMRA3PE
TMRB3IE
TMRA3IE
CTLINK3
ADCEN
RSVD
RSVD
TMRB3CLK TMRA3CLK
31 CTLINK3 0x0 RW TWO_16BIT_TIMERS = 0x0 - Use A0/B0 timers as two independent 16-bit
timers (default).
32BIT_TIMER = 0x1 - Link A3/B3 timers into a single 32-bit timer.
RESERVED
30:29 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINB3 pin is the same as the timer
28 TMRB3POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINB3 pin is the inverse of the
timer output.
26 TMRB3PE 0x0 RW DIS = 0x0 - Counter/Timer B holds the TMRPINB signal at the value
TMRB3POL.
EN = 0x1 - Enable counter/timer B3 to generate a signal on TMRPINB.
RESERVED
14:13 RSVD 0x0 RO
NORMAL = 0x0 - The polarity of the TMRPINA3 pin is the same as the timer
12 TMRA3POL 0x0 RW
output.
INVERTED = 0x1 - The polarity of the TMRPINA3 pin is the inverse of the
timer output.
10 TMRA3PE 0x0 RW DIS = 0x0 - Counter/Timer A holds the TMRPINA signal at the value
TMRA3POL.
EN = 0x1 - Enable counter/timer A3 to generate a signal on TMRPINA.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTMRB3INT
CTMRA3INT
CTMRB2INT
CTMRA2INT
CTMRB1INT
CTMRA1INT
CTMRB0INT
CTMRA0INT
RSVD
RESERVED
31:8 RSVD 0x0 RO
Counter/Timer B3 interrupt.
7 CTMRB3INT 0x0 RW
Counter/Timer A3 interrupt.
6 CTMRA3INT 0x0 RW
Counter/Timer B2 interrupt.
5 CTMRB2INT 0x0 RW
Counter/Timer A2 interrupt.
4 CTMRA2INT 0x0 RW
Counter/Timer B1 interrupt.
3 CTMRB1INT 0x0 RW
Counter/Timer A1 interrupt.
2 CTMRA1INT 0x0 RW
Counter/Timer B0 interrupt.
1 CTMRB0INT 0x0 RW
Counter/Timer A0 interrupt.
0 CTMRA0INT 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTMRB3INT
CTMRA3INT
CTMRB2INT
CTMRA2INT
CTMRB1INT
CTMRA1INT
CTMRB0INT
CTMRA0INT
RSVD
RESERVED
31:8 RSVD 0x0 RO
Counter/Timer B3 interrupt.
7 CTMRB3INT 0x0 RW
Counter/Timer A3 interrupt.
6 CTMRA3INT 0x0 RW
Counter/Timer B2 interrupt.
5 CTMRB2INT 0x0 RW
Counter/Timer A2 interrupt.
4 CTMRA2INT 0x0 RW
Counter/Timer B1 interrupt.
3 CTMRB1INT 0x0 RW
Counter/Timer A1 interrupt.
2 CTMRA1INT 0x0 RW
Counter/Timer B0 interrupt.
1 CTMRB0INT 0x0 RW
Counter/Timer A0 interrupt.
0 CTMRA0INT 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTMRB3INT
CTMRA3INT
CTMRB2INT
CTMRA2INT
CTMRB1INT
CTMRA1INT
CTMRB0INT
CTMRA0INT
RSVD
RESERVED
31:8 RSVD 0x0 RO
Counter/Timer B3 interrupt.
7 CTMRB3INT 0x0 RW
Counter/Timer A3 interrupt.
6 CTMRA3INT 0x0 RW
Counter/Timer B2 interrupt.
5 CTMRB2INT 0x0 RW
Counter/Timer A2 interrupt.
4 CTMRA2INT 0x0 RW
Counter/Timer B1 interrupt.
3 CTMRB1INT 0x0 RW
Counter/Timer A1 interrupt.
2 CTMRA1INT 0x0 RW
Counter/Timer B0 interrupt.
1 CTMRB0INT 0x0 RW
Counter/Timer A0 interrupt.
0 CTMRA0INT 0x0 RW
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CTMRB3INT
CTMRA3INT
CTMRB2INT
CTMRA2INT
CTMRB1INT
CTMRA1INT
CTMRB0INT
CTMRA0INT
RSVD
RESERVED
31:8 RSVD 0x0 RO
Counter/Timer B3 interrupt.
7 CTMRB3INT 0x0 RW
Counter/Timer A3 interrupt.
6 CTMRA3INT 0x0 RW
Counter/Timer B2 interrupt.
5 CTMRB2INT 0x0 RW
Counter/Timer A2 interrupt.
4 CTMRA2INT 0x0 RW
Counter/Timer B1 interrupt.
3 CTMRB1INT 0x0 RW
Counter/Timer A1 interrupt.
2 CTMRA1INT 0x0 RW
Counter/Timer B0 interrupt.
1 CTMRB0INT 0x0 RW
Counter/Timer A0 interrupt.
0 CTMRA0INT 0x0 RW
= Comp IRQ
Capture IRQ
OVF IRQ
286
9. Watchdog Timer Module
CLR
Compare Compare
WDINT
Control
WDRES
286
9.2 WDT Registers
Watchdog Timer
INSTANCE 0 BASE ADDRESS:0x40024000
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WDTEN
RESEN
INTEN
This bitfield is the compare value for counter bits 7:0 to generate a watch-
23:16 INTVAL 0x0 RW dog interrupt.
286
Table 434: CFG Register Bits
This bitfield is the compare value for counter bits 7:0 to generate a watch-
15:8 RESVAL 0x0 RW dog reset.
This bitfield enables the WDT interrupt. Note : This bit must be set before
the interrupt status bit will reflect a watchdog timer expiration. The IER
1 INTEN 0x0 RW interrupt register must also be enabled for a WDT interrupt to be sent to the
NVIC.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD RSTRT
286
9.2.2.3 LOCK Register
Locks the WDT
OFFSET: 0x00000008
INSTANCE 0 ADDRESS: 0x40024008
Locks the WDT
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD LOCK
Writing 0x3A locks the watchdog timer. Once locked, the WDTCFG reg can-
not be written and WDTEN is set.
7:0 LOCK 0x0 WO
KEYVALUE = 0x3A - This is the key value to write to WDTLOCK to lock the
WDT.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WDT
RSVD
286
Table 440: INTEN Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WDT
RSVD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WDT
RSVD
286
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WDT
RSVD
295
10. Reset Generator Module
RSTn
1.8 VBODn
Brown-out Detector
SYSRESETn
2.1 VBODn
Brown-out Detector
SYSRESETREQn
WDTRn
295
RSTn Pad IO
VDD
RSTGEN
RSTn
RSTn
Strong
Pull brownout_n
Down
RST
Button
295
10.7 RSTGEN Registers
MCU Reset Generator
INSTANCE 0 BASE ADDRESS:0x40000000
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BODHREN
WDREN
RSVD
295
RESERVED.
31:2 RSVD 0x0 RO
Watchdog Timer Reset Enable. NOTE: The WDT module must also be con-
1 WDREN 0x0 RW figured for WDT reset.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD SWPOIKEY
RESERVED.
31:8 RSVD 0x0 RO
295
10.7.2.3 SWPOR Register
Software POR Reset
OFFSET: 0x00000008
INSTANCE 0 ADDRESS: 0x40000008
Software POR Reset
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD SWPORKEY
RESERVED.
31:8 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DBGRSTAT
POIRSTAT
WDRSTAT
SWRSTAT
BORSTAT
PORSTAT
EXRSTAT
RSVD
RESERVED.
31:7 RSVD 0x0 RO
295
Table 455: STAT Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
CLRSTAT
RSVD
RESERVED.
31:1 RSVD 0x0 RO
295
10.7.2.6 INTEN Register
Reset Interrupt register: Enable
OFFSET: 0x00000200
INSTANCE 0 ADDRESS: 0x40000200
Set bits in this register to allow this module to generate the corresponding interrupt.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BODH
RSVD
RESERVED.
31:1 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BODH
RSVD
RESERVED.
31:1 RSVD 0x0 RO
295
Table 461: INTSTAT Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BODH
RSVD
RESERVED.
31:1 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BODH
RSVD
295
RESERVED.
31:1 RSVD 0x0 RO
309
11. UART Module
Transmit Transmit
UART TX
FIFO Interface
APB Register
APB
Slave Block
Receive Receive
UART RX
FIFO Interface
Interrupt
Generation
IRQ
11.1 Features
The UART Module includes the following key features:
• Operates independently, allowing the MCU to enter a low power sleep mode during communication
• 32 x 8 transmit FIFO and 32 x 12 receive FIFO to reduce MCU computational load
• Programmable baud rate generator capable of a maximum rate of 921,600 bits per second
• Fully programmable data size, parity, and stop bit length
• Programmable hardware flow control
• Support for full-duplex and half-duplex communication
• Loopback functionality for diagnostics and testing
309
Clocking to the UART serial logic is generated by a dedicated UARTCLK from the Clock Generator
Module. The frequency of this clock is determined by the desired baud rate. For maximum baud rates, this
clock would be clocked at the 24 MHz maximum as generated by the HFRC.
The major functional blocks of the UART are discussed briefly in the subsequent sections.
11.4 Configuration
The UART Register Block in Figure 49 may be set to configure the UART Module. The data width, number
of stop bits, and parity may all be configured using the UART_LCRH register.
The baud rate is configured using the integer UART_IBRD and UART_FBRD registers. The correct values
for UART_IBRD and UART_FBRD may be determined according to the following equation:
FUART/(16·BR) = IBRD + FBRD
FUART is the frequency of the UART clock. BR is the desired baud rate. IBRD is the integer portion of the
baud rate divisor. FBRD is the fractional portion of the baud rate divisor.
The UART Module supports independent CTS and RTS hardware flow control. All flow control
configuration may be set using the UART_CR register.
309
11.6 UART Registers
Serial UART
INSTANCE 0 BASE ADDRESS:0x4001C000
11.6.2.1 DR Register
UART Data Register
OFFSET: 0x00000000
INSTANCE 0 ADDRESS: 0x4001C000
UART Data Register
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OEDATA
BEDATA
PEDATA
FEDATA
RSVD DATA
309
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OESTAT
BESTAT
PESTAT
FESTAT
RSVD
309
Table 470: RSR Register Bits
11.6.2.3 FR Register
Flag Register
OFFSET: 0x00000018
INSTANCE 0 ADDRESS: 0x4001C018
Flag Register
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BUSY
RXFE
RXFF
TXFE
TXFF
DCD
DSR
CTS
RSVD
RI
309
Table 472: FR Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD ILPDVSR
309
11.6.2.5 IBRD Register
Integer Baud Rate Divisor
OFFSET: 0x00000024
INSTANCE 0 ADDRESS: 0x4001C024
Integer Baud Rate Divisor
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD DIVINT
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD DIVFRAC
309
11.6.2.7 LCRH Register
Line Control High
OFFSET: 0x0000002C
INSTANCE 0 ADDRESS: 0x4001C02C
Line Control High
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WLEN
STP2
BRK
PEN
SPS
EPS
FEN
RSVD
309
11.6.2.8 CR Register
Control Register
OFFSET: 0x00000030
INSTANCE 0 ADDRESS: 0x4001C030
Control Register
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
UARTEN
CLKSEL
CTSEN
RTSEN
CLKEN
SIREN
SIRLP
OUT2
OUT1
RXE
DTR
RTS
TXE
LBE
RSVD
309
Table 482: CR Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RXIFLSEL
TXIFLSEL
RSVD
309
11.6.2.10 IER Register
Interrupt Enable
OFFSET: 0x00000038
INSTANCE 0 ADDRESS: 0x4001C038
Interrupt Enable
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DCDMIM
DSRMIM
CTSMIM
RIMIM
OEIM
RXIM
BEIM
PEIM
RTIM
FEIM
TXIM
RSVD
309
11.6.2.11 IES Register
Interrupt Status
OFFSET: 0x0000003C
INSTANCE 0 ADDRESS: 0x4001C03C
Interrupt Status
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DCDMRIS
DSRMRIS
CTSMRIS
RIMRIS
OERIS
RXRIS
BERIS
PERIS
RTRIS
FERIS
TXRIS
RSVD
309
11.6.2.12 MIS Register
Masked Interrupt Status
OFFSET: 0x00000040
INSTANCE 0 ADDRESS: 0x4001C040
Masked Interrupt Status
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DCDMMIS
DSRMMIS
CTSMMIS
RIMMIS
OEMIS
RXMIS
BEMIS
PEMIS
RTMIS
FEMIS
TXMIS
RSVD
309
11.6.2.13 IEC Register
Interrupt Clear
OFFSET: 0x00000044
INSTANCE 0 ADDRESS: 0x4001C044
Interrupt Clear
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DCDMIC
DSRMIC
CTSMIC
RIMIC
OEIC
RXIC
BEIC
PEIC
RTIC
FEIC
TXIC
RSVD
342
12. ADC and Temperature Sensor Module
ADC_CLK
HFRC Osc Divider
SWT
ADC_TT
ADC_ET0 TRIGINT Mode
ADC_ET1 Controller Window
...
Accumulate
and Scale
ADC_I0
ADC_I1 SLOT0
...
...
VIN SLOT1
ADC_I7
SAR ADC SLOT2
Temp Sensor 8
VDD SLOT3
deep
VSS SLOT4 FIFO
Divider & SLOT5
Batt. Load
SLOT6
VDD SLOT7
ADC_REF VREFINT
Bandgap Ref
12.1 Features
The Analog to Digital Converter (ADC) and Temperature Sensor Module includes a single-ended 10-bit
multi-channel Successive Approximation Register (SAR) ADC as shown in Figure 50.
Key features include:
▪ 12 user-selectable channels including:
- external pins
- internal voltages
- voltage divider
- temperature sensor
▪ User-selectable on-chip and off-chip reference voltages
▪ Single shot, repeating single shot, scan, and repeating scan modes
▪ User-selectable clock source for variable sampling rates
▪ User-selectable track/hold time
▪ Multiple conversion triggers including external pins, a timer, and a software write
▪ Automatically accumulate and scale module for hardware averaging of samples
▪ An 8-entry FIFO for storing measurement results and maximizing MCU sleep time
▪ Window comparator for monitoring voltages excursions into or out of user-selectable thresholds
▪ Multiple low power modes between conversions
▪ Up to 800 kSps sampling rate
342
12.2 Functional Overview
The Apollo MCU integrates a sophisticated Analog to Digital Converter (ADC) block for sensing both
internal and external voltages. The block provides eight separately managed conversion requests, called
slots. The result of each conversion requests is delivered to an eight deep FIFO. Firmware can utilize
various interrupt notifications to determine when to collect the sampled data from the FIFO. This block is
extremely effective at automatically managing its power states and its clock sources.
Refer to the detailed register information below for the exact coding of the channel selection bit field. Also
the use of the voltage divider and switchable load resistor are detailed below. See “ADC State Diagram” on
page 319.
342
0. ADC_TRIG0 external GPIO pin connection.
1. ADC_TRIG1 external GPIO pin connection.
2. ADC_TRIG2 external GPIO pin connection.
3. ADC_TRIG3 external GPIO pin connection.
4. ADC_TRIG5 external GPIO pin connection.
5. ADC_TRIG6 external GPIO pin connection.
6. ADC_TRIG7 external GPIO pin connection.
7. ADC_SWT software trigger.
NOTE: Although ADC External Trigger 4 (TRIG4) is shown as a valid pin function selection elsewhere in
the datasheet (Table 1, “Pin List and Function Table,” on page 25, Table 217, “Apollo Pad Function
Mapping,” on page 140, Table 246, “ADC Trigger Input Configuration,” on page 156, and Table 272,
“PADREGK Register Bits,” on page 181 – PAD41FNCSEL field), it should not be used as an ADC external
trigger.
Refer to the ADC Configuration Register in the detailed register information section below. The initial
trigger source is selected in the TRIGSEL field, as shown below. In addition, one can select a trigger
polarity in this register. A large number of GPIO pin trigger sources are provided to allow pin configuration
flexibility at the system definition and board layout phases of development.
The software trigger is effected by writing 0x37 to the software trigger register in the ADC block. Note that
it must be selected as the trigger source before writing to this register will cause an actual trigger event.
The discussion of the use of counter/timer three as a source for repetitive triggering is deferred until later in
this chapter. See “Repeat Mode” on page 318.
Finally it is important to note that a trigger event applies to all enabled slots as a whole. Individual slots can
not be separately triggered.
342
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
WINDOW_COMP
SLOT_ENABLE
#
Samples TRACK & CHANNEL
Reserved Reserved Reserved Reserved
to HOLD SELECT
Accum.
As described above, the channel select bit field specifies which one of the analog multiplexer channels will
be used for the conversions requested for an individual slot. See “13 Channel Analog Mux” on page 311.
As its name implies, the track and hold bit field controls the time from when an analog mux channel is
selected until the ADC hold circuit captures the analog value on that input. Refer to the detailed register
section for the specifics of programming this bit field, but the bit field essentially offers powers of two
increasing hold times from 1 to 128 ADC clocks. Note that this track and hold time can be specified
independently for each of the eight conversion slots.
Each of the eight conversion slots can independently specify:
▪ Analog Multiplexer Channel Selection
▪ Track and Hold Time
▪ Participation in Window Comparisons
▪ Automatic Sample Accumulation
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Each slot contains a 17-bit accumulator as shown in Table 495. When the ADC is triggered for the last
sample of an accumulation, the accumulator is cleared. Then when each active slot obtains a conversion
from the analog side, it is added to the value in its accumulator.
342
If a slot is set to accumulate 128 samples per result then the accumulator could reach a maximum value of:
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Accumulator
Each completed accumulation must be scaled to obtain the required 10.6 format since ALL results must be
reported in this 10.6 format. Each setting for the number of samples to accumulate bit field of the slot
configuration register requires a different scale factor.
Table 496 shows the maximum possible accumulated values. Note that 64 sample accumulation produces
a result that is exactly correct or the 10.6 format results so it is copied unscaled in to the FIFO.
Furthermore, note that 128 sample accumulation can produce a result that is too large for the 10.6 format.
These results are right shifted by one before they are written to the FIFO. All of the remaining sample
accumulation settings must have their results left shifted to produce the desired 10.6 format.
Finally, note that for the 128 sample accumulation case, the LSB of the accumulator is discarded when the
results are written to the FIFO.
Most importantly, note that for the 1 sample accumulation case, the 10-bit converter value is shifted left by
six to produce the 10.6 format to write into the FIFO.
1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
# Samples
6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
128 10.6 0
64 X 10.6
32 X X 10.5
16 X X X 10.4
8 X X X X 10.3
4 X X X X X 10.2
2 X X X X X X 10.1
1 X X X X X X X 10
342
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Slot
Reserved Reserved FIFO Count FIFO DATA
Number.
Two other features greatly simplify the task faced by firmware developers of interrupt service routines for
the ADC block:
1. The FIFO count bit field is not really stored in the FIFO. Instead it is a live count of the number of valid
entries currently residing in the FIFO. If the interrupt service routine was entered because of a conver-
sion then this value will be at least one. When the interrupts routine is entered it can pull successive
sample values from the FIFO until this bit field goes to zero. Thus avoiding wasteful re-entry of the
interrupt service routine. Note that no further I/O bus read is required to determine the FIFO depth.
2. This FIFO has no read side effects. This is important to firmware for a number of reasons. One import-
ant result is that the FIFO register can be freely read repetitively by a debugger without affecting the
state of the FIFO. In order to pop this FIFO and look at the next result, if any, one simply writes any
value to this register. Any time the FIFO is read, then the compiler has gone to the trouble of generat-
ing an address for the read. To pop the FIFO, one simply writes to that same address with any value.
This give firmware a positive handshake mechanism to control exactly when the FIFO pops.
3. When a conversion completes resulting in hardware populating the 6th valid FIFO entry, the
FIFOOVR1 (FIFO 75% full) interrupt status bit will be set. When a conversion completes resulting in
hardware populating the 8th valid FIFO entry, the FIFOOVR2 interrupt status bit will be set. In a FIFO
full condition with 8 valid entries, the ADC will not overwrite existing valid FIFO contents. Before sub-
sequent conversions will populate the FIFO with conversion data, software must free an open FIFO
entry by writing to the FIFO Register or by resetting the ADC by disabling and enabling the ADC using
the ADC_CFG register.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
342
The determination of whether a sample is inside or outside of the window limits is made by comparing the
10.6 format of the slot result that will be written to the FIFO with the 16 bit window limits. An ADC sample is
inside if the following relation is true:
Lower Limit <= ADC 10.6 SAMPLE <= Upper Limit
Thus setting both limits to the same value, say 700.0 (0x2BC<<6 = 0xAF00), will only produce an inside
interrupt when the ADC sample is exactly 700.0 (0xAF00). Furthermore, note that if the lower limit is set to
zero (0x0000) and the upper limit is set to 0xFFFF then all accumulated results from the ADC will be inside
the window limits and no excursion interrupts can ever by generated. In fact, in this case, the incursion
interrupt status bit will be set for every sample from any active slot with its window comparator bit enabled.
If the incursion interrupt is enabled then an interrupt will be generated for every such sample written to the
FIFO.
The window comparator limits are a shared resource and apply to all active slots which have their window
comparator bits enabled.
342
START SCAN
Slot n = 0
N
SLOT n Enabled?
Y Initial Trigger?
Load Accumulate/
Y
Divide Count Sample Count(n) == ADSEL(n)?
(ADSEL(n) : 0 – 127)
N
Increment Sample
Count(n)
Sample,
Accumulate,
Initial Trigger = 0
Y
Sample Count(n) == ADSEL(n)?
Conversion Complete /
N
Write FIFO, Initial Tigger = 1
Increment n
n == 7?
SCAN DONE
342
12.3.2 Repeat Mode
Counter/Timer 3A has a special bit in its configuration register that allows it to be a source of repetitive
triggers for the ADC. If counter/timer 3 is initialized for this purpose then one only needs to turn on the
RPTEN bit in the ADC configuration registers to enable this mode in the ADC.
NOTE: the mode controller does not process these repetitive triggers from the counter/timer until a first
triggering event occurs from the normal trigger sources. Thus one can select software triggering in the
TRIGSEL field and set up all of the other ADC registers for the desired sample acquisitions. Then one can
write to the software trigger register and the mode controller will enter REPEAT mode. In repeat mode, the
mode controller waits only for each successive counter/timer 3A input to launch a scan of all enabled slots.
12.4 Interrupts
The ADC has 6 interrupt status bits with corresponding interrupt enable bits, as follows:
1. Conversion Complete Interrupt
2. Scan Complete Interrupt
3. FIFO Overflow Level 1
4. FIFO Overflow Level 2
5. Window Comparator Excursion Interrupt (a.k.a. outside interrupt)
6. Window Comparator Incursion Interrupt (a.k.a. inside interrupt)
The window comparator interrupts are discussed above, see Section 12.2.8
There are two interrupts based on the fullness of the FIFO. When the respective interrupts are enabled,
Overflow 1 fires when the FIFO reaches 75% full, viz. 6 entries. Overflow 2 fires when the FIFO is
completely full.
When enabled, the conversion complete interrupt fires when a single slot completes its conversion and the
resulting conversion data is pushed into the FIFO.
When enabled, the scan complete interrupt indicates that all enabled slots have sampled their respective
channels following a trigger event.
When a single slot is enabled and programmed to average over exactly one measurement and the scan
complete and conversion complete interrupts are enabled, a trigger event will result in the conversion
complete and scan complete interrupts firing simultaneously upon completion of the ADC scan. Again, if
both respective interrupts are enabled and a single slot is enabled and programmed to average over 128
measurements, 128 trigger events result in 128 scan complete interrupts and exactly one conversion
complete interrupt following the 128 ADC scans. When multiple slots are enabled with different settings for
the number of measurements to average, the conversion complete interrupt signifies that one or more of
the conversions have completed and the FIFO contains valid data for one or more of the slot conversions.
342
INIT
ADC powered off
No clocks
ctimer
pos‐edge trigger
Repeat Power Up 0
LP Mode 2 Power On
Clocks, Power Sequence
Switch Off Swich Enable
Wait for CTIMER (100us)
scan complete,
LPMODE = 1
Scan All
Enabled Slots
LP Mode 0
Power Switch On
ADC Enabled
Wait for Trigger
342
ADC_I0
...
...
ADC_I7
Temp Sensor VIN SAR
VSS ADC
VDD
Input Voltage
10KΩ
≈ 1/3
5KΩ
Select 12
Ron≈ 500Ω
BATTLOAD
The switchable load resistor is enabled by the BATTLOAD bit described in Table 501, “CFG Register Bits,”
on page 322.
This feature is used to help estimate the health of the battery chemistry by estimating the internal
resistance of the battery.
342
12.6.1 Register Memory Map
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
BATTLOAD
TMPSPWR
OPMODE
TRIGPOL
LPMODE
REFSEL
CLKSEL
ADCEN
RPTEN
342
RESERVED.
31:27 RSVD 0x0 RO
Select the source and frequency for the ADC clock. All values not enumer-
ated below are undefined.
RESERVED.
23:21 RSVD 0x0 RO
This bit selects the ADC trigger polarity for external off chip triggers.
20 TRIGPOL 0x0 RW
RISING_EDGE = 0x0 - Trigger on rising edge.
FALLING_EDGE = 0x1 - Trigger on falling edge.
RESERVED.
15:10 RSVD 0x0 RO
Select the sample rate mode. It adjusts the current in the ADC for higher
sample rates. A 12MHz ADC clock can result in a sample rate up to 1Msps
depending on the trigger or repeating mode rate. A 1.5MHz ADC clock can
result in a sample rate up 125K sps.NOTE: All other values not specified
6:5 OPMODE 0x0 RW
below are undefined.
342
Table 501: CFG Register Bits
MODE0 = 0x0 - Low Power Mode 0 (2'b00). Leaves the ADC fully powered
between scans with no latency between a trigger event and sample data
collection.
MODE1 = 0x1 - Low Power Mode 1 (2'b01). Enables a low power mode for
the ADC between scans requiring 50us initialization time (latency) between
a trigger event and the scan (assuming the HFRC remains running and the
4:3 LPMODE 0x0 RW
MCU is not in deepsleep mode in which case additional startup latency for
HFRC startup is required).
MODE2 = 0x2 - Low Power Mode 2 (2'b10). Disconnects power and clocks
to the ADC effectively eliminating all active power associated with the ADC
between scans. This mode requires 150us initialization (again, assuming
the HFRC remains running and the MCU is not in deepsleep mode in which
case additional startup latency for HFRC startup is required).
MODE_UNDEFINED = 0x3 - Undefined Mode (2'b11)
SINGLE_SCAN = 0x0 - In Single Scan Mode, the ADC will complete a sin-
RW gle scan upon each trigger event.
2 RPTEN 0x0
X REPEATING_SCAN = 0x1 - In Repeating Scan Mode, the ADC will com-
plete it's first scan upon the initial trigger event and all subsequent scans will
occur at regular intervals defined by the configuration programmed for the
CTTMRA3 internal timer until the timer is disabled or the ADC is disabled.
This enables power to the temperature sensor module. After setting this bit,
the temperature sensor will remain powered down while the ADC is power is
disconnected (i.e, when the ADC PWDSTAT is 2'b10).
1 TMPSPWR 0x0 RW
DIS = 0x0 - Power down the temperature sensor.
EN = 0x1 - Enable the temperature sensor when the ADC is in it's active
state.
This bit enables the ADC module. While the ADC is enabled, the ADCCFG
and SLOT Configuration regsiter settings must remain stable and
unchanged.
0 ADCEN 0x0 RW
DIS = 0x0 - Disable the ADC module.
EN = 0x1 - Enable the ADC module.
342
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PWDSTAT
RSVD
RESERVED.
31:2 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
RSVD SWT
RESERVED.
31:8 RSVD 0x0 RO
342
12.6.2.4 SL0CFG Register
Slot 0 Configuration Register
OFFSET: 0x0000000C
INSTANCE 0 ADDRESS: 0x5000800C
Slot 0 Configuration Register
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL0
THSEL0
WCEN0
SLEN0
RSVD RSVD RSVD CHSEL0 RSVD
RESERVED.
31:27 RSVD 0x0 RO
RESERVED.
23:19 RSVD 0x0 RO
Select the track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
342
Table 507: SL0CFG Register Bits
RESERVED.
15:12 RSVD 0x0 RO
RESERVED.
7:2 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL1
THSEL1
WCEN1
SLEN1
RESERVED.
31:27 RSVD 0x0 RO
342
Table 509: SL1CFG Register Bits
RESERVED.
23:19 RSVD 0x0 RO
Select the track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5 Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
RESERVED.
7:2 RSVD 0x0 RO
342
Table 509: SL1CFG Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL2
THSEL2
WCEN2
SLEN2
RSVD RSVD RSVD CHSEL2 RSVD
RESERVED.
31:27 RSVD 0x0 RO
RESERVED.
23:19 RSVD 0x0 RO
342
Table 511: SL2CFG Register Bits
Select the track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
RESERVED.
7:2 RSVD 0x0 RO
342
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL3
THSEL3
WCEN3
SLEN3
RSVD RSVD RSVD CHSEL3 RSVD
RESERVED.
31:27 RSVD 0x0 RO
RESERVED.
23:19 RSVD 0x0 RO
Select the track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
342
Table 513: SL3CFG Register Bits
RESERVED.
7:2 RSVD 0x0 RO
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL4
THSEL4
WCEN4
SLEN4
RESERVED.
31:27 RSVD 0x0 RO
342
Table 515: SL4CFG Register Bits
RESERVED.
23:19 RSVD 0x0 RO
Select the track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
RESERVED.
7:2 RSVD 0x0 RO
342
Table 515: SL4CFG Register Bits
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL5
THSEL5
WCEN5
SLEN5
RSVD RSVD RSVD CHSEL5 RSVD
RESERVED.
31:27 RSVD 0x0 RO
RESERVED.
23:19 RSVD 0x0 RO
342
Table 517: SL5CFG Register Bits
Select track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
RESERVED.
7:2 RSVD 0x0 RO
12.6.2.10SL6CFG Register
Slot 6 Configuration Register
OFFSET: 0x00000024
INSTANCE 0 ADDRESS: 0x50008024
Slot 6 Configuration Register
342
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL6
THSEL6
WCEN6
SLEN6
RSVD RSVD RSVD CHSEL6 RSVD
RESERVED.
31:27 RSVD 0x0 RO
RESERVED.
23:19 RSVD 0x0 RO
Select track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
342
Table 519: SL6CFG Register Bits
RESERVED.
7:2 RSVD 0x0 RO
12.6.2.11SL7CFG Register
Slot 7 Configuration Register
OFFSET: 0x00000028
INSTANCE 0 ADDRESS: 0x50008028
Slot 7 Configuration Register
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ADSEL7
THSEL7
WCEN7
SLEN7
RESERVED.
31:27 RSVD 0x0 RO
342
Table 521: SL7CFG Register Bits
RESERVED.
23:19 RSVD 0x0 RO
Select track and hold delay for this slot.NOTE: The track and hold delay
must be less than 50us for correct operation. When the ADC is configured
to use the 1.5Mhz clock, the track and hold delay cannot exceed 64 clocks.
RESERVED.
15:12 RSVD 0x0 RO
RESERVED.
7:2 RSVD 0x0 RO
342
Table 521: SL7CFG Register Bits
12.6.2.12WLIM Register
Window Comparator Limits Register
OFFSET: 0x0000002C
INSTANCE 0 ADDRESS: 0x5000802C
Window Comparator Limits Register
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
ULIM LLIM
12.6.2.13FIFO Register
FIFO Data and Valid Count Register
OFFSET: 0x00000030
INSTANCE 0 ADDRESS: 0x50008030
The ADC FIFO Register contains the slot number and fifo data for the oldest conversion data in the FIFO.
The COUNT field indicates the total number of valid entries in the FIFO. A write to this register will pop one
of the FIFO entries off the FIFO and decrease the COUNT by 1 if the COUNT is greater than zero.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
SLOTNUM
342
RESERVED.
31:27 RSVD_27 0x0 RO
RESERVED.
23:20 RSVD_20 0x0 RO
12.6.2.14INTEN Register
ADC Interrupt registers: Enable
OFFSET: 0x00000200
INSTANCE 0 ADDRESS: 0x50008200
Set bits in this register to allow this module to generate the corresponding interrupt.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FIFOOVR2
FIFOOVR1
SCNCMP
CNVCMP
WCEXC
RSVD WCINC
RESERVED.
31:6 RSVD 0x0 RO
342
Table 527: INTEN Register Bits
12.6.2.15INTSTAT Register
ADC Interrupt registers: Status
OFFSET: 0x00000204
INSTANCE 0 ADDRESS: 0x50008204
Read bits from this register to discover the cause of a recent interrupt.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FIFOOVR2
FIFOOVR1
CNVCMP
SCNCMP
WCEXC
WCINC
RSVD
RESERVED.
31:6 RSVD 0x0 RO
342
Table 529: INTSTAT Register Bits
12.6.2.16INTCLR Register
ADC Interrupt registers: Clear
OFFSET: 0x00000208
INSTANCE 0 ADDRESS: 0x50008208
Write a 1 to a bit in this register to clear the interrupt status associated with that bit.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FIFOOVR2
FIFOOVR1
SCNCMP
CNVCMP
WCEXC
WCINC
RSVD
RESERVED.
31:6 RSVD 0x0 RO
342
12.6.2.17INTSET Register
ADC Interrupt registers: Set
OFFSET: 0x0000020C
INSTANCE 0 ADDRESS: 0x5000820C
Write a 1 to a bit in this register to instantly generate an interrupt from this module. (Generally used for
testing purposes).
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
FIFOOVR2
FIFOOVR1
SCNCMP
CNVCMP
WCEXC
WCINC
RSVD
RESERVED.
31:6 RSVD 0x0 RO
PSEL[1:0]
POWER
PWD
VDDH DOWN
VTEMP
CMPIN0 +
CMPIN1
CMPOUT
CMPRF0
CMPRF1 _
CMPRF2
LVLSEL[3:0] DAC
NSEL[1:0]
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
NSEL
PSEL
When the reference input NSEL is set to NSEL_DAC, this bitfield selects the
voltage level for the negative input to the comparator.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PWDSTAT
CMPOUT
RSVD
This bit indicates the power down state of the voltage comparator.
1 PWDSTAT 0x0 RO
POWERED_DOWN = 0x1 - The voltage comparator is powered down.
This bit is 1 if the positive input of the comparator is greater than the nega-
tive input.
0 CMPOUT 0x0 RO VOUT_LOW = 0x0 - The negative input of the comparator is greater than
the positive input.
VOUT_HIGH = 0x1 - The positive input of the comparator is greater than the
negative input.
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
PWDKEY
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OUTLOW
OUTHI
RSVD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OUTLOW
OUTHI
RSVD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OUTLOW
OUTHI
RSVD
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
OUTLOW
OUTHI
RSVD
350
14. Voltage Regulator Module
Buck
Converter To Core
1
LDO To Logic
VDD To Analog
LDO
Blocks
Buck
Converter
2
To Flash
Memory
LDO
351
Calculated assuming
worst-case power con-
sumption running Core-
TJ Junction temperature -40 85 ºC
mark, plus two high-side
switches passing maxi-
mum static current.
(1) High side power switches are available on PAD3 and PAD4
(2) A low side power switch is available on PAD11
3.3 V 143 nA
IDEEPSLEEP Deep Sleep mode current WFI instruction with SLEEPDEEP = 1
1.8 V 120 nA
a. Core clock (HCLK) is 24 MHz for each parameter unless otherwise noted.
b. All values measured at 25°C
Buck mode
TRUN_TO_SLEEP Run to Sleep mode transition time HCLK frequency = 24 MHz - 200 240 ns
TRUN_TO_DEEPSLEEP Run to Deep Sleep mode transition time HCLK frequency = 24 MHz - 3.2 3.7 µs
LDO mode
TRUN_TO_SLEEP Run to Sleep mode transition time HCLK frequency = 24 MHz - 200 240 ns
TRUN_TO_DEEPSLEEP Run to Deep Sleep mode transition time HCLK frequency = 24 MHz - 3.2 3.7 µs
15.5 Clocks/Oscillators
Table 553: Clocks/Oscillators
Analog Input
Sampling Dynamics
Dynamic Characteristics
Total harmonic distortion (THD), LDO mode -
THDADC - 0.05 0.12 %
Single-ended input Single Ended Input
Performance
When reference is
IADCREF_IN Internal reference current - 25 - µA
enabled for sampling
External Reference
VADCREFEXT Voltage range 1.495 1.5 VDDA V
Battery Resistance
a. Max sample time is for less than or equal to eight samples. Typical sample rate is the average over greater than eight sam-
ples.
TVDDFS Falling slew rate on VDDP/ VDDA / VDDH - 500 700 µs/V
15.9 Resets
Table 557: Resets
VHYST Hysteresis - 75 - mV
tBUF Bus free time before a new transmission 1.7 V - 3.6 V 1.3 - - µs
SDA
tBUF
tLOW tHD:DAT tSU:DAT
SCL
tHD:STA tHIGH
tRISE tFALL
tSU:STO
SDA tSU:STA
1/2FS- 1/2
TSCLK_LO Clock low time - s
CLK(max) FSCLK
1/2FS- 1/2
TSCLK_HI Clock high time - s
CLK(max) FSCLK
1/FSCLK
SPOL = 0
TSCLK_F
SCLK
TSCLK_R
SPOL = 1
TSCLK_LO TSCLK_LO
TSCLK_HI TSCLK_HI TSU_MI
THD_MI
MISO
TVALID_MO
MOSI
1/FSCLK
SPOL = 0
TSCLK_F
SCLK
TSCLK_R
SPOL = 1
TSCLK_LO TSCLK_LO
TSCLK_HI TSCLK_HI TSU_MI
THD_MI
MISO
TVALID_MO
MOSI
1/2FS- 1/2
TSCLK_LO Clock low time - s
CLK(max) FSCLK
1/2FS- 1/2
TSCLK_HI Clock high time - s
CLK(max) FSCLK
TCE_LEAD TCE_LAG
CE
1/FSCLK
SPOL = 0
TSCLK_F
SCLK
TSCLK_R
SPOL = 1
TSCLK_LO TSCLK_LO
TSCLK_HI TSCLK_HI T
TSU_MI
SU_SI
THD_SI
MOSI
THD_SO
TCE_SDO TVALID_SO TCE_SDZ
MISO
TCE_LEAD TCE_LAG
CE
1/FSCLK TSCLK_R
SPOL = 0
SCLK
SPOL = 1
MOSI
THD_SO
TCE_SDO TVALID_SO TCE_SDZ
MISO
15.16Counter/Timer (CTIMER)
Table 564: Counter/Timer (CTIMER)
15.17Flash Memory
Table 565: Flash Memory
All GPIOs
Standard GPIOs
TSU_SWD Input setup time between SWDIO and rising edge SWDCK 65 - - ns
THD_SWD Input hold time between SWDIO and rising edge SWDCK 125 - - ns
Read Cycle
Debugger Probe Output to SWDIO Stop Park High‐Z Data Data Parity Start
Write Cycle
TSWDCK_LO
TSU_SWD
Debugger Probe Output to SWDCK
373
16. Package Mechanical Information
373
16.1.1 PCB land pattern and solder stencil
45° x 0.15
ø 0.254
0.4
3.10
0.4
2.70
0.25
0.25
0.4
0.4
373
16.2 BGA package1
373
Drawing Notes:
Ball width is measured at maximum solder ball diameter, parallel to seating plane.
Seating plane is defined by spherical crowns of solder balls.
Parallelism measurement shall exclude effect of mark on top surface of package.
373
16.2.1 PCB land pattern and solder stencil
ø 0.25
0.5
4.50
0.5
4.50
ø 0.3
0.5
0.5
373
16.3 Reflow Profile
Figure 68 illustrates the reflow soldering requirements.
Preheat/Soak
Temperature Min (Tsmin) 150°C
Temperature Max (Tsmax) 200°C
Time (ts) from (Tsmin to Tsmax) 60-120 seconds
Ramp-up rate (TL to Tp) 3°C/second max.
374
Index
Numerics
10BIT 86
12/24 Hour Mode 243
3-wire mode 89
A
Access permissions 38
accumulation control 313
accumulation, automatic 313
ACK 86, 113
Acknowledge 86
Active Mode 39
ADC 34, 155, 310
ADC Configuration Register 316
ADC_DIV3 311
ADC_EXT0 311
ADC_EXT1 311
ADC_EXT2 311
ADC_EXT3 311
ADC_EXT4 311
ADC_EXT5 311
ADC_EXT6 311
ADC_EXT7 311
ADCREF 155
ADC_SWT 312
ADC_TEMP 311
ADC_TRIG0 312
ADC_TRIG1 312
ADC_TRIG2 312
ADC_TRIG3 312
ADC_TRIG5 312
ADC_TRIG6 312
ADC_TRIG7 312
ADC_VDD 311
ADC_VSS 311
AHB 39, 106
Alarm Registers 243
ALM interrupt 243
ALM100 243
AM08XX, see real-time clock
AM18XX, see real-time clock
AMBA 39
Analog Multiplexer Channel Selection 313
analog mux 311
analog-to-digital converter 34
APB 39
Apollo 33
Architecture Reference Manual 39
Area, Direct 107
ARM, see processor
ARMv7 39
Attachment, debugger 40
Autoadjustment, HFRC 226
Automatic Sample Accumulation 313
B
Bandgap 312
battery life 33
BCD format 242
Buck Converter Charge Insertion 256
Buck Converters 350
Bus Not Busy 85, 113
bus, AMBA AHB 39
bus, AMBA APB 39
bus, DCode 39
bus, ICode 39
bus, System 39
C
Calibration, Distributed Digital 225
CALRC 225
CALXT 225
CLKOUT 224, 225, 227
Clock Generator Module 224
clock sources 34
clock, interface 83
CMPOUT 343
CMPR0 254, 255
CMPR1 255
comparator, window 310
CONT 88
Continuous 255
control, accumulation 313
converters, buck 350
core, see processor
Cortex, see processor
counter, 32-bit 256
CPHA 89, 92, 117
CPOL 89, 92, 117
CTRERR 242
CTS 154
D
Data Valid 85, 113
DCode 39
debug 40
Debug Interfaces 40
debugger attachment 40
Deep Sleep 225
Deep Sleep Mode 39, 40
Deep Slope Mode 118
Direct Area 107
Distributed Digital Calibration 225
E
EG_IOSLAVE_FIFOPTR_FIFOSIZ 109
event 35
event, wakeup 39
F
Fast Mode Plus 112
fault handler, Memanage 39
Faulting Address Trapping Hardware 41
FIFO 107, 310
Area Functions 109
FIFOCTR 109
FIFOPTR 109
FIFOREM 84
FIFORTHR 85
FIFOSIZ 84, 109
FIFOUPD 111
FIFOWTHR 85
flash 34
G
GPIO 142
GPIO and Pad Configuration Module 139
GPIOA_IER 142
GPIOA_ISR 142
GPIOA_WCR 142
GPIOB_IER 143
GPIOB_ISR 143
GPIOB_WCR 143
GPIOB_WSR 142, 143
GPIOEN 142
GPIOENA 142
GPIOENB 142
GPIOnINCFG 142, 145
GPIOn_INT 145
GPIOnINTD 145
GPIOnINTP 142
GPIOnOUTCFG 144
GPIORD 145
GPIORDA 142
GPIORDB 142
GPIOWT 142, 143
GPIOWTA 142
GPIOWTB 142
GPIOWTCA 142
GPIOWTCB 142
GPIOWTSA 142
GPIOWTSB 142
H
Hardware, Fault Address Trapping 41
HFADJ Register 235
HFADJCK 227
HFRC 226, 311
HFRC Autoadjustment 226
HFRCDEL 228
HFXTADJ 226
High Frequency RC Oscillator 226
HR1224 243
I
I2C
10-bit addressing 113
7-bit addressing 113
ADDRESS 86
Address 113
Command 86
FIFO 84
I2CADDR 112, 113
IO Master 0 145
IO Master 0 Loopback 150
IO Master 1 146
IO Master 1 Loopback 150
IO Slave 149
master 83
Multi-master Arbitration 89
Normal Read 87
Normal Write 87
Offset Address 87, 114
Raw Read 88
Raw Write 88
Read 115
receiver 85
SCL 85
SDA 85
Slave 106, 112
transmitter 85
Write 114
I2C/SPI Master 224
I2C/SPI Master Module 83
ICode 39
IE bit 253
Instrumentation Trace Macrocell 40
Instrumentation Trace Module 34
interfaces, debug 40
interrupt 35
ALM 243
IOINT 111
RDERR 111
Interrupts
Vector Table 35
IO Slave Interrupt 150
IOINT 111
IOREAD 111
ITM, see Instrumentation Trace Macrocell
L
LDO 350
LFRC 225, 227
life, battery 33
Loopback 150
Low-Power Consumption Modes 35
M
Managed Conversion Slots 312
map, memory 37
Master Module , I2C/SPI 83
MCU, see Apollo<$noage 33
MCU_CTRL 228
MemManage 39
memory 34
LRAM 84, 106
RAM 34
SRAM 39
memory map 37
peripheral device 38
Memory Protection Unit 38
MISO 89
mode
Active 39
Deep Sleep 40, 225
Sleep 40
mode, Deep Sleep 39
Module, ADC and Temperature Sensor 310
module, PINCFG 89
MOSI 89
MPU, see Memory Protection Unit
mux, analog 311
N
NAK 113
Nested Vectored Interrupt Controller 35
NSEL 343
NVIC, see Nested Vectored Interrupt Controller
O
OPER 87
oscillator
High Frequency RC 226
high frequency RC 34, 224, 311
low frequency RC 34, 224, 225
RC 34
XTAL 34, 224, 225
XTAL Failure Detection 228
OUTDATSEL 143
OUTENSEL 143, 144, 145
P
PAD10PULL 147
PAD16FNCSEL 155
PAD20FNCSEL 156
PAD20INPEN 156
PAD21INPEN 156
PAD5INPEN 145, 146
PAD5PULL 145, 146
PAD5RSEL 145
PAD6INPEN 145, 146
PAD6PULL 145, 146
PAD6RSEL 145
PAD7PULL 146
PAD8INPEN 146, 147
PAD8PULL 146, 147
PAD9INPEN 146, 147
PAD9PULL 146, 147
PADKEY 142
PADnFNCSEL 139–??, 140, 142
PADnINPEN 145, 148, 153
PADnPULL 140, 145, 148, 153
PADnRSEL 145
PADnSTRNG 144
Peripheral Device Memory Map 38
PINCFG 89
power 33
power modes 39
REG_CTIMER_TMRxyIE 254
REG_CTIMER_TMRxyPE 253, 254
REG_CTIMER_TMRxyPOL 254
REG_GPIO_GPIOCFGy 142
REG_GPIO_GPIOyCFG_GPIOnOUTCFG 142
REG_GPIO_PADKEY 139
REG_GPIO_PADREG 139
REG_GPIO_PADREGy_PAD11PWRDN 140
REG_GPIO_PADREGy_PAD20PULL 139
REG_GPIO_PADREGy_PAD3PWRUP 139
REG_GPIO_PADREGy_PAD4PWRUP 139
REG_GPIO_PADREGy_PADnFNCSEL 139
REG_GPIO_PADREGy_PADnINPEN 139
REG_GPIO_PADREGy_PADnPULL 139
REG_GPIO_PADREGy_PADnSTRNG 139
REG_IOMSTRn_CLKCFG_DIV3 83
REG_IOMSTRn_CLKCFG_DIVEN 84
REG_IOMSTRn_CLKCFG_FSEL 83
REG_IOMSTRn_CLKCFG_LOWPER 84
REG_IOMSTRn_CLKCFG_TOTPER 83
REG_IOMSTRn_CMD 84
REG_IOMSTRn_FIFOPTR_FIFOREM 84
REG_IOMSTRn_FIFOPTR_FIFOSIZ 84
REG_IOMSTRn_FIFOTHR_FIFOWTHR 84
REG_IOMSTRn_IOMCFG_SPHA 89
REG_IOMSTRn_IOMCFG_SPOL 89
REG_IOSLAVE_FIFOCFG_FIFOBASE 107
REG_IOSLAVE_FIFOCFG_FIFOMAX 107
REG_IOSLAVE_FIFOCFG_ROBASE 109
REG_IOSLAVE_FIFOCTR 109
REG_IOSLAVE_FIFOPTR_FIFOPTR 109
REG_IOSLAVE_FUPD_FIFOUPD 111
REG_IOSLAVE_FUPD_IOREAD 111
REG_IOSLAVE_IOSCFG_I2CADDR 112
REG_IOSLAVE_IOSCFG_LSB 117
REG_IOSLAVE_PRENC 109
REG_MCU_CTRL_HFRC_HFRCDEL 228
Repeated Count 253
Repeated Pulse 254
Reset Module 287
RESTART 113
RSTn 287
RTC, see real-time clock
RTS 154
S
sampling rate 310
XT Oscillator 225
388
17. Ordering Information
Table 569: Ordering Information
Orderable Temperature
Part Number
Flash RAM Packagea,b Packing
Range
Availability
APOLLO512-KCR 512 KB 64 KB 41-pin WLCSP Tape and Reel -40 to +85°C Now
APOLLO512-KBR 512 KB 64 KB 64-pin BGA Tape and Reel -40 to +85°C Now
APOLLO256-KCR 256 KB 32 KB 41-pin WLCSP Tape and Reel -40 to +85°C Now
APOLLO256-KBR 256 KB 32 KB 64-pin BGA Tape and Reel -40 to +85°C Now
388
18. Document Revision History for Apollo MCU
Table 570: Document Revision History
0.4 July 2015 Added Host Side Address Space and Register section, Ordering Information
Footnote c added to Ordering Information, ADC sample time information updated, changed
0.45 September 2015
3.0V spec for current consumption to 3.3V
Electrical specifications updated with production values. Several grammatical updates, and
0.9 February 2016
details added to peripheral functional descriptions.
388
Contact Information
Address Ambiq Micro, Inc.
6500 River Place Blvd.
Building 7, Suite 200
Austin, TX 78730-1156
Phone +1 (512) 879-2850
Website http://www.ambiqmicro.com/
General Information [email protected]
Sales [email protected]
Technical Support [email protected]