CC253x/4x User's Guide (Rev. F)

CC253x System-on-Chip Solution for 2.4-GHz IEEE 802.15.4 ZigBee® Applications

 

CC2540/41 System-on-Chip Solution for 2.4- GHz Bluetooth® low energy Applications

 

User's Guide Руководство пользователя

 

Literature Number: SWRU191F

Скачать оригинал (eng)

 

 

 

 

 

Cодержание

Предисловие.................................................14
1. Введение................................................. 17
1.1 Обзор ................................................ 18
1.1.1 Процессор и память ............................................ .................................................. ... 21
1.1.2 Часы и управление питанием ........................................... ..................................... 21
1.1.3 Периферийные устройства .............................................. .................................................. ......... 21
1.1.4 Радио .............................................. .................................................. ................ 23
1.2 Приложения ................................................ .................................................. ............... 23
2 8051 CPU ............................................... .................................................. .......................... 24
2.1 8051 CPU Введение .............................................. .................................................. .... 25
2.2 Память ................................................ .................................................. .................... 25
2.2.1 Карта памяти ............................................. .................................................. ........ 25
2.2.2 Пространство памяти ЦП ............................................ .................................................. 27
2.2.3 Физическая память ............................................. .................................................. ... 28
2.2.4 Доступ к памяти XDATA ............................................ .............................................. 33
2.2.5 Memory Arbiter ............................................. .................................................. ..... 33
2.3 Регистры ЦП ............................................... .................................................. ............. 34
2.3.1 Указатели данных ............................................. .................................................. ....... 34
2.3.2 Регистры R0 – R7 ........................................... .................................................. ..... 35
2.3.3 Слово статуса программы ............................................ ................................................. 35
2.3.4 Аккумулятор .............................................. .................................................. ........ 36
2.3.5 B Регистрация ............................................. .................................................. ........... 36
2.3.6 Указатель стека ............................................. .................................................. ........ 36
2.4 Сводка инструкций .............................................. .................................................. .. 36
2.5 Прерывания ................................................ .................................................. .................. 40
2.5.1 Маскировка прерываний ............................................. .................................................. ... 41
2.5.2 Обработка прерываний ............................................. .................................................. 45
2.5.3 Приоритет прерывания ............................................. .................................................. ..... 47
3 Интерфейс отладки ............................................... .................................................. ................. 50
3.1 Режим отладки ............................................... .................................................. ............... 51
3.2 Отладочная связь ............................................... .................................................. ... 51
3.3 Команды отладки ............................................... .................................................. ........ 53
3.3.1 Конфигурация отладки ............................................. ................................................. 55
3.3.2 Состояние отладки ............................................. .................................................. ....... 55
3.3.3 Аппаратные точки останова ............................................. ............................................... 56
3.4 Программирование Flash ............................................... .................................................. ....... 57
3.4.1 Биты блокировки ............................................. .................................................. ............. 57
3.5 Интерфейс отладки и режимы питания ............................................ .......................................... 57
3.6 Регистры ................................................ .................................................. .................. 59
4 Управление питанием и часы ............................................. .............................................. 60
4.1 Управление питанием Введение .............................................. ........................................... 61
4.1.1 Активный и режим ожидания ........................................... ................................................. 62
4.1.2 PM1 .............................................. .................................................. ................. 62
4.1.3 PM2 .............................................. .................................................. ................. 62
4.1.4 PM3 .............................................. .................................................. ................. 62
4.2 Контроль управления питанием ............................................. ................................................. 62
4.3 Регистры управления питанием ............................................. .............................................. 63
4.4 Генераторы и часы .............................................. .................................................. ..... 66
4.4.1 Генераторы .............................................. .................................................. .......... 66
4.4.2 Системные часы ............................................. .................................................. ....... 66
4.4.3 Генераторы 32 кГц ........................................... .................................................. .... 67
4.4.4 Генератор и тактовые регистры ........................................... ....................................... 67
4.5 Генерация тактов таймера .............................................. .................................................. ..... 69
4.6 Хранение данных ............................................... .................................................. ............. 69
5 Сброс ................................................ .................................................. .............................. 70
5.1 Сброс при включении питания и детектор отключения питания .................................. 71
5.2 Детектор потери тактового сигнала ............................................. ............................. 71
6 Flash Controller ............................................... .................................................. ................ 72
6.1 Организация флэш-памяти .............................................. ................................................. 73
6.2 Flash-запись ............................................... .................................................. ................. 73
6.2.1 Процедура Flash-записи ........................................... ................................................. 73
6.2.2 Писать несколько раз в слово ......................................... ...................................... 74
6.2.3 DMA Flash Write ............................................ .................................................. .... 74
6.2.4 Флэш-память CPU ............................................ .................................................. ..... 75
6.3 Стирание Flash-страницы .............................................. ............................ 75
6.3.1 Выполнение стирания флэш-памяти из флэш-памяти ......................... 76
6.3.2 Различный размер страницы Flash на CC2533 ........................................76
6.4 Flash DMA Trigger .............................................. ............................................ 76
6.5 Регистры контроллера флэш-памяти .............................................. ................ 76
7 Порты ввода/вывода ............................................. ......................................... 78
7.1 Неиспользуемые выводы ввода/вывода ............................................ ........................ 79
7.2 Низкое напряжение питания ввода/вывода ........................................... ...................... 79
7.3 Универсальный ввод/вывод ........................................... .............................. 79
7.4 Прерывания ввода-вывода общего назначения .......................................... . 79
7.5 DMA общего назначения ввода/вывода .......................................... ............80
7.6 Периферийный ввод / вывод ............................................. ................................. 80
7.6.1 Таймер 1 ............................................. .................................................. ............... 81
7.6.2 Таймер 3 ............................................. .................................................. ............... 81
7.6.3 Таймер 4 ............................................. .................................................. ............... 82
7.6.4 USART 0 ............................................. .................................................. ............ 82
7.6.5 USART 1 ............................................. .................................................. ............ 82
7.6.6 АЦП .............................................. .................................................. ................. 83
7.7 Интерфейс отладки ............................................... ......................................... 83
7.8 32-кГц вход XOSC ............................................ ........................................ 83
7.9 Тестовые выходные сигналы радио ............................................. ....................... 84
7.10 Сигнал выключения питания MUX (PMUX) ......................................... ............... 84
7.11 Регистры ввода / вывода ............................................. ................................. 84
8 DMA контроллер ............................................... ................................................. 92
8.1 Операция прямого доступа к памяти ............................................... ................. 93
8.2 Параметры конфигурации DMA .............................................. ...................... 95
8.2.1 Адрес источника ............................................. .................................................. ..... 95
8.2.2 Адрес назначения ............................................. .................................................. 95
8.2.3 Количество переводов ............................................. .................................................. ...... 95
8.2.4 Настройка VLEN ............................................. .................................................. ........ 96
8.2.5 Триггерное событие ............................................. .................................................. ........ 96
8.2.6 Увеличение источника и получателя ........................................... ................................... 96
8.2.7 Режим передачи DMA ............................................ .................................................. 97
8.2.8 Приоритет прямого доступа к памяти ............................................. ................ 97
8.2.9 Передача байтов или слов ........................................... ................................................ 97
8.2.10 Маска прерывания ............................................. .................................................. ..... 97
8.2.11 Настройка режима 8 ............................................ .................................................. ..... 97
8.3 Настройка конфигурации DMA .............................................. .................................................. 97
8.4 Остановка передач DMA .............................................. .................................................. .. 98
8.5 Прерывания DMA ............................................... .................................................. ............. 98
8.6 Структура данных конфигурации DMA ............................................ ........................................... 98
8.7 Доступ к памяти DMA .............................................. .................................................. ...... 98
8.8 Регистры DMA ............................................... .................................................. ........... 101
9 Таймер 1 (16-битный таймер) ......................................... .......................................... 103
9.1 16-битный счетчик ............................................. .................................................. .............. 104
9.2 Работа таймера 1 .............................................. .................................................. ........ 104
9.3 Режим свободного хода ............................................. .................................................. ....... 104
9.4 Режим по модулю ............................................... .................................................. ............. 105
9.5 Режим вверх-вниз ........................................... .................................................. ......... 105
9.6 Управление в канальном режиме ............................................. ............. 105
9.7 Режим ввода ввода .............................................. .................................................. ...... 106
9.8 Режим сравнения выходных данных .............................................. .............................106
9.9 Генерация и обучение ИК-сигналов ............................................ ........................................ 111
9.9.1 Введение .............................................. .................................................. ....... 111
9.9.2 Модулированные коды ............................................. .................................................. 111
9.9.3 Немодулированные коды ........................................... ............................................... 112
9.9.4 Обучение .............................................. .................................................. ........... 113
9.9.5 Другие соображения ............................................. ............................................... 113
9.10 Прерывания от Таймера 1 .............................................. .................................................. ......... 113
9.11 Триггеры DMA Таймера 1 ............................................. .................................................. ..... 113
9.12 Регистры Таймера 1 .............................................. .................................................. ......... 114
9.13 Доступ к регистрам таймера 1 как массива ........................................... ..................................... 119
10 Таймер 3 и Таймер 4 (8-битные таймеры) ...................................... ................................................ 120
10.1 8-битный счетчик таймера ............................................ .................................................. ......... 121
10.2 Управление таймером 3 и таймером 4 .......................................... ........................................... 121
10.2.1. Автономный режим ........................................... ................................................. 121
10.2.2. Режим вниз ............................................. .................................................. ....... 121
10.2.3 Режим по модулю ............................................. .................................................. ..... 121
10.2.4 Режим вверх-вниз ......................................... .................................................. 121
10.3 Управление режимом канала .............................................. ....................................121
10.4 Режим ввода ввода .............................................. .................................................. ...... 122
10.5 Режим сравнения выходных данных .............................................. ....................... 122
10.6 Прерывания от Таймера 3 и Таймера 4 ........................................... ...........122
10.7 Триггеры DMA Таймера 3 и Таймера 4 .......................................... .................... 123
10.8 Регистры Таймера 3 и Таймера 4 ........................................... ............................ 123
11 Таймер сна ............................................... .................................................. ..................... 128
11.1 Общие положения ................................................ ................................................. 129
11.2 Сравнение таймеров ............................................... ........................................ 129
11.3 Захват таймера ............................................... .................................................. ............ 129
11.4 Регистры таймера сна .............................................. .................................................. ... 130
12 АЦП ................................................ .................................................. .............................. 132
12.1 АЦП Введение ............................................... .................................................. ......... 133
12.2 Работа АЦП ............................................... .................................................. ........... 133
12.2.1 Входы АЦП ............................................. .................................................. ....... 133
12.2.2 Последовательности преобразования АЦП ............................................ ... 134
12.2.3 Преобразование одного АЦП ............................................ ............................................ 134
12.2.4 Режимы работы АЦП ............................................ ............................................. 134
12.2.5 Результаты преобразования АЦП ............................................ .......................................... 135
12.2.6 АЦП опорного напряжения ............................................ ........................................... 135
12.2.7 Время преобразования АЦП ............................................ ........................................... 135
12.2.8 Прерывания АЦП ............................................. .................................................. ... 135
12.2.9 Триггеры ADC DMA ............................................ ................................................. 135
12.2.10 Регистры АЦП ............................................. .................................................. .. 136
13 Монитор батареи ............................................... .................................................. ............... 139
13.1 Функциональность и использование монитора батареи .........................................140
13.2 Использование монитора батареи для контроля температуры ..............................140
13.3 Регистры контроля батареи .............................................. ................................................. 141
14 Генератор случайных чисел ............................................. .................................................. 143
14.1 Введение ................................................ .................................................. .............. 144
14.2 Работа генератора случайных чисел ........................................... ..................................... 144
14.2.1. Генерация псевдослучайной последовательности ............................................  144
14.2.2 Посев .............................................. .................................................. .......... 144
14.2.3 CRC16 .............................................. .................................................. ........... 144
14.3 Регистры генератора случайных чисел ........................................... ..................................... 145
15 AES сопроцессор ............................................... .................................................. ............ 146
15.1 Работа AES ............................................... .................................................. ........... 147
15.2 Ключ и IV .............................................. .................................................. ................. 147
15.3 Заполнение входных данных ............................................. .................................................. ..... 147
15.4 Интерфейс для процессора .............................................. .................................................. .......... 147
15.5 Режимы работы .............................................. .................................................. ...... 147
15.6 CBC-MAC .............................................. .................................................. .................. 147
15.7 Режим СКК ............................................... .................................................. ................ 148
15,8 AES прерывания ............................................... .................................................. ............ 150
15.9 Триггеры AES DMA .............................................. .................................................. ....... 150
15.10 Регистры AES ............................................... .................................................. ........... 150
16 сторожевой таймер ............................................... .................................................. .............. 152
16.1 сторожевой режим ............................................... .................................................. .......... 153
16.2 Режим таймера ............................................... .................................................. ............... 153
16.3 Регистр сторожевого таймера .............................................. .................................................. 153
17 USART ................................................ .................................................. .......................... 155
17.1 Режим UART ............................................... .................................................. .............. 156
17.1.1 Передача UART ............................................. .................................................. ... 156
17.1.2 Получение UART ............................................. .................................................. ... 156
17.1.3 Аппаратное управление потоком UART ........................................... ..................................... 156
17.1.4 Формат символов UART ............................................ ........................................... 157
17.2 Режим SPI ............................................... .................................................. ................. 157
17.2.1 Операция SPI Master ............................................ .............................................. 157
17.2.2 Работа ведомого SPI ............................................ ................................................ 158
17.3 SSN Slave-Select Pin ............................................ .................................................. ...... 158
17.4 Генерация скорости передачи ............................................. .................................................. .... 158
17.5 Промывка USART ............................................... .................................................. ......... 159
17.6 USART Прерывания ............................................... .................................................. ........ 159
17.7 Триггеры USART DMA .............................................. .................................................. .... 159
17.8 Регистры USART ............................................... .................................................. ........ 159
18 Операционный усилитель ............................................... ..................................................  164
18.1 Описание ................................................ .................................................. ............... 165
18.2 Калибровка ................................................ .................................................. ............... 165
18.3 Источник синхронизации ............................................... ..................................................165
18.4 Регистры ................................................ .................................................. ................. 165
19 Аналоговый компаратор ............................................... .................................................. .......... 166
19.1 Описание ................................................ .................................................. ............... 167
19.2 Регистрация ................................................ .................................................. .................. 167
20 I2C ................................................. .................................................. ................................ 168
20.1 Эксплуатация ................................................ .................................................. ................ 169
20.1.1 I2C Инициализация и сброс .............................................. ....................................... 170
20.1.2 I2C Serial Data ............................................... .................................................. 170
20.1.3 Режимы адресации I2C ............................................... .......................................... 171
20.1.4 Режимы работы модуля I2C .............................................. ................................... 171
20.1.5 I2C Генерация тактовых импульсов и синхронизация .............................................177
20.1.6 Ошибка шины ............................................. .................................................. .......... 178
20.1.7 Прерывание I2C ................................................ .................................................. .... 178
20.1.8 I2C Pins ................................................ .................................................. ......... 178
20.2 Регистры I2C ................................................ .................................................. ............. 178
21 USB-контроллер ............................................... .................................................. ................ 181
21.1 USB Введение ............................................... .................................................. ......... 182
21.2 USB Enable ............................................... .................................................. ............... 182
21,3 48-МГц USB PLL ............................................ .................................................. ........... 182
21.4 Прерывания USB ............................................... .................................................. ............ 183
21,5 Конечная точка 0 ............................................... .................................................. ................ 183
21.6 Прерывания конечной точки-0 ............................................. .............................183
21.6.1 Условия ошибки ............................................. .................................................. .. 184
21.6.2 Транзакции SETUP (состояние IDLE) ......................................... .................................. 184
21.6.3 IN-транзакции (состояние передачи) ......................................... ........................................... 184
21.6.4 OUT транзакции (RX State) ......................................... ........................................ 185
21.7 Конечные точки 1–5 ............................................. ................................................. 185
21.7.1 Управление FIFO ............................................. ................................................ 185
21.7.2 Двойная буферизация ............................................. .................................................. 186
21.7.3 Доступ к FIFO ............................................. .................................................. ...... 187
21.7.4 Конечная точка 1–5 Прерывания .......................................... .............................................. 187
21.7.5 Конечная точка массива или прерывания IN .......................................... ... 188
21.7.6. Изохронная конечная точка IN ............................................ ........................................... 188
21.7.7 Конечная точка OUT или прерывания OUT .......................................... ..................................... 188
21.7.8 конечная точка изохронного выхода ............................................ ........................................ 188
21.8 DMA ................................................ .................................................. ...................... 189
21.9 Сброс USB ............................................... .................................................. ................ 189
21.10 Приостановить и возобновить .............................................. .................................................. ... 189
21.11 Дистанционный звонок ............................................. .................................................. ......... 189
21.12 USB-регистры ............................................... .................................................. ........... 190
22 Таймер 2 (таймер MAC) ........................................... .................................................. ............ 197
22.1 Работа таймера ............................................... .................................................. .......... 198
22.1.1 Общее .............................................. .................................................. ........... 198
22.1.2 Верхний счетчик ............................................. .................................................. ....... 198
22.1.3 Переполнение таймера ............................................. .................................................. ... 198
22.1.4 Увеличение дельты таймера ............................................ ............................................. 198
22.1.5 Сравнение таймеров ............................................. .................................................. .. 198
22.1.6 Счетчик переполнения ............................................. .................................................. ... 198
22.1.7 Обновление подсчета переполнения ........................................... ............................................. 199
22.1.8 Переполнение-Счет переполнения ........................................... ........................................... 199
22.1.9 Сравнение переполнения-подсчета ........................................... ........................................... 199
22.1.10 Ввод ввода ............................................. .................................................. ... 199
22.1.11 Длинное сравнение (только CC2541) ......................................... ..................................... 199
22.2 Прерывания ................................................ .................................................. ................. 199
22.3 Выходы события (триггер DMA и события радио) ........................................ ............ 200
22.4 Синхронизация запуска и остановки таймера .......................................... .................. 200
22.4.1 Общее .............................................. .................................................. ........... 200
22.4.2 Таймер синхронного останова ............................................ .......................................... 200
22.4.3 Таймер синхронного запуска ............................................ .......................................... 201
22.5 Регистры Таймера 2 .............................................. .................................................. ......... 202
23 CC253x Radio ............................................... .................................................. .................. 208
23.1 RF Core ............................................... .................................................. ................... 209
23.1.1 Прерывания .............................................. .................................................. ......... 209
23.1.2 Регистры прерываний ............................................. ................................................. 209
23.2 Доступ к FIFO ............................................... .................................................. .............. 213
23.3 DMA ................................................ .................................................. ...................... 213
23.4 Карта памяти ............................................... .................................................. ............. 213
23.4.1 RXFIFO .............................................. .................................................. .......... 214
23.4.2 TXFIFO .............................................. .................................................. ........... 214
23.4.3 Карта памяти с фильтрацией кадров и соответствием источника .................. 214
23.5 Программирование частоты и канала ............................................. ................................... 215
23.6 Формат модуляции IEEE 802.15.4-2006 ......................................... ...................................... 215
23.7 Формат кадра IEEE 802.15.4-2006 ......................................... ........................................... 217
23.7.1 PHY Layer ............................................. .................................................. ........ 217
23.7.2 Уровень MAC ............................................. .................................................. ........ 217
23.8 Режим передачи ............................................... .................................................. ........... 218
23.8.1 Управление TX ............................................. .................................................. ........ 218
23.8.2 TX State Timing ............................................ .................................................. ... 218
23.8.3 TXFIFO Access ............................................. .................................................. .. 218
23.8.4 Ретрансляция .............................................. .................................................. .. 219
23.8.5 Условия ошибки ............................................. .................................................. .. 219
23.8.6 Блок-схема TX ............................................ .................................................. 219
23.8.7 Обработка переданного кадра ............................................ ................................... 221
23.8.8 Заголовок синхронизации ............................................. .......................................... 221
23.8.9 Поле длины кадра ........................................... .................................................. 221
23.8.10 Последовательность проверки кадра ............................................ ................. 221
23.8.11 Прерывания .............................................. .................................................. ....... 222
23.8.12 Оценка чистых каналов ........................................... ....................................... 222
23.8.13 Программирование выходной мощности ............................................ ......... 222
23.8.14 Советы и хитрости ............................................ .................................................. .. 222
23.9 Режим приема ............................................... .................................................. ........... 222
23.9.1 RX Control ............................................. .................................................. ........ 222
23.9.2 RX State Timing ............................................ .................................................. .. 223
23.9.3 Обработка полученных кадров ........................................... ....................................... 223
23.9.4 Поля заголовка синхронизации и длины кадра ........................................ ................ 224
23.9.5 Фильтрация кадров ............................................. .................................................. ... 224
23.9.6 Соответствие адреса источника ............................................ ......................................... 227
23.9.7 Последовательность проверки кадра ........................................... ......................... 230
23.9.8 Подтверждение передачи ............................................. ................................ 230
23.10 Доступ к RXFIFO ............................................... .................................................. .......... 232
23.10.1 Использование FIFO и FIFOP .......................................... ........................................ 232
23.10.2 Условия ошибки ............................................. .................................................. 233
23.10.3 RSSI .............................................. .................................................. ............ 233
23.10.4 Индикация качества связи ............................................ ............................................ 234
23.11 Государственный автомат радиоуправления ............................................ ........... 234
23.12 Генерация случайных чисел ............................................. .............................................. 236
23.13 Выходные сигналы радиосигналов пакетов и тестирование радиосвязи ....................237
23.14 Командный строб-процессор .............................................. .............................................. 238
23.14.1 Память команд ............................................. ............................................... 238
23.14.2 Регистры данных ............................................. .................................................. .. 239
23.14.3 Выполнение программы ............................................. ............................................... 239
23.14.4 Запросы прерывания ............................................. ............................................... 239
23.14.5 Случайное число Инструкция ............................................ ..................................... 239
23.14.6 Запуск программ CSP ............................................ .......................................... 239
23.14.7 Регистры .............................................. .................................................. ....... 240
23.14.8 Краткое описание набора инструкций ............................................ ..............241
23.14.9 Определение набора инструкций ............................................ ......................................... 243
23.15 Регистры ................................................ .................................................. ................. 255
23.15.1 Обновление настроек реестра ............................................ ......................................... 256
23.15.2 Регистрация режимов доступа ............................................ .......................................... 256
23.15.3 Описания регистров ............................................. ............................................ 257
24 CC2540 и CC2541 Bluetooth низкоэнергетическое радио .......................................... ........... 275
24.1 Регистры ................................................ .................................................. ................. 276
25 Запатентованный режим радиоуправления CC2541 ............................................. ............ 278
25.1 RF Core ............................................... .................................................. ................... 279
25.2 Прерывания ................................................ .................................................. ................. 279
25.2.1 Регистры прерываний ............................................. ................................................. 279
25.3. Память радиочастотных данных ............................................. ........................... 280
25.3.1. FIFO .............................................. .................................................. ............. 281
25.3.2 DMA .............................................. .................................................. .............. 284
25.3.3 Регистры на основе ОЗУ ........................................... .............................................. 285
25.3.4. Переменные в ОЗУ Страница 5 .......................................... ............................... 291
25.4 Бит-потоковый процессор ............................................. ......................................... 291
25.4.1 Отбеливание .............................................. .................................................. ........ 291
25.4.2 CC2500-совместимое отбеливание PN9 .......................................... ............... 292
25.4.3 CRC .............................................. .................................................. .............. 293
25.4.4 Режим сопроцессора ............................................. ................................................ 295
25.5 Программирование частоты и канала ............................................. ................................... 296
25.6 Форматы модуляции ............................................... .................................................. ..... 296
25.7 Приемник ................................................ .................................................. .................. 296
25.8 Формат пакета ............................................... .................................................. ............ 297
25.8.1 Организация пакетов RX FIFO ........................................... ..................................... 299
25.8.2 Организация пакетов TX FIFO ........................................... ...................................... 300
25.8.3 TX-буферы для полезной нагрузки ACK .......................................... ......................................... 300
25.9 Механизм канального уровня .............................................. .................................................. ......... 301
25.9.1 Регистр команд ............................................. ................................................ 302
25.9.2. Задачи радиосвязи ............................................. .................................................. ...... 302
25.9.3. RF Испытательные команды ............................................ ................................................ 317
25.10 Генерация случайных чисел .............................................. ............................................. 318
25.11. Обнюхивание пакетов ............................................... .................................................. ........... 319
25.12 Регистры ................................................ .................................................. ................. 320
25.12.1 Обзор регистра ............................................. ................................................ 320
25.12.2 Обновление настроек регистрации ............................................ ......................................... 321
25.12.3 Описания регистра SFR ............................................ ....................................... 322
26 Регулятор напряжения ............................................... .................................................. ........... 342
27 Доступное программное обеспечение ............................................... .................................. 343
27.1 Программное обеспечение SmartRF ™ для оценки (www.ti.com/smartrfstudio) . ................. 344
27.2 Сетевой протокол RemoTI ™ (www.ti.com/remoti)  .................................... ................................ 344
27.3 Сетевой протокол SimpliciTI ™ (www.ti.com/simpliciti).................................... ........................... 345
27.4 Программное обеспечение TIMAC (www.ti.com/timac) ...................................... .................. 345
27.5 Программное обеспечение Z-Stack ™(www.ti.com/z-stack) ................................. ........ 346
27.6 Программное обеспечение стека BLE .............................................. ......................346
A Сокращения ................................................ .................................................. ................. 347
B Дополнительная информация ............................................... ....................................350
B.1 Веб-сайт RF Instruments по малой мощности Texas Instruments .................................. 351
B.2 Маломощное РЧ Онлайн-сообщество ......................................... ............................................ 351
B.3 Сеть разработчиков маломощных радиостанций Texas Instruments ................................. 351
B.4 Электронный информационный бюллетень с низким энергопотреблением .................... 351
C Ссылки ................................................ .................................................. ..................... 352
Лист регистраций изменений................................................ ........................................ 353
 

Предисловие

Об этом руководстве

CC2540 и CC2541 - это экономичные решения с низким энергопотреблением и истинной системой на кристалле (SoC) для приложений с низким энергопотреблением Bluetooth. Они позволяют создавать надежные главные или подчиненные узлы BLE при очень низких общих затратах на спецификацию. CC2540 и CC2541 сочетают в себе превосходную производительность ведущего радиочастотного приемопередатчика с микроконтроллером 8051 с расширенным отраслевым стандартом, встроенной программируемой флэш-памятью, 8 КБ ОЗУ и многими другими мощными вспомогательными функциями и периферийными устройствами. CC2540 и CC2541 подходят для систем, где требуется очень низкое энергопотребление. Доступны очень маломощные режимы сна. Короткое время перехода между режимами работы также обеспечивает низкое энергопотребление.

CC2540 выпускается в двух разных версиях: CC2540F128 и CC2540F256 с 128 КБ и 256 КБ флэш-памяти соответственно.

CC2541 выпускается в двух разных версиях: CC2541F128 и CC2541F256 с 128 КБ и 256 КБ флэш-памяти соответственно.

CC2541F128 / F256 выпускается в двух разных версиях: CC2541F128 / F256 с 128 и 256 КБ флэш-памяти соответственно.

В сочетании со стеком низкоэнергетических протоколов Bluetooth от Texas Instruments, CC2540F128 / CC2540F256 и CC2541F128 / CC2541F256 представляют собой наиболее комплексное на рынке одномодовое низкоэнергетическое решение Bluetooth.

Решение CC253x System-on-Chip для 2,4 ГГц подходит для широкого спектра применений. Они могут быть легко построены на основе стандартных протоколов IEEE 802.15.4 (сетевой протокол RemoTI ™, программное обеспечение TIMAC и программное обеспечение Z-Stack ™ для решений, совместимых с ZigBee®) или поверх проприетарного сетевого протокола SimpliciTI ™. Использование, однако, не ограничивается только этими протоколами. Например, семейство CC253x также подходит для реализаций 6LoWPAN и Wireless HART.

Каждая глава этого руководства описывает детали модуля или периферийного устройства; Однако не все функции присутствуют на всех устройствах. Чтобы увидеть различия в функциях, см. Таблицу 0-1 в разделе «Устройства».

Подробные технические данные, такие как энергопотребление и характеристики РЧ, см. В технических характеристиках устройства (Приложение C).

Связанная документация и программное обеспечение от Texas Instruments

Связанная документация (например, лист данных CC2530 и листок данных CC2540 ) может можно найти в приложении С.

Для получения дополнительной информации о программном обеспечении, которое можно использовать с решением Systemon-Chip CC253x, CC2540 или CC2541 (например, программное обеспечение SmartRF ™ для оценки производительности и функциональности радиосвязи), см. Главу 27, в которой также содержится дополнительная информация о сетевом протоколе RemoTI. сетевой протокол SimpliciTI, программное обеспечение TIMAC, программное обеспечение Z-Stack и программное обеспечение стека BLE.

Предупре​ждение FCC

Это оборудование генерирует, использует и может излучать радиочастотную энергию и не было проверено насоответствие лимитам вычислительных устройств в соответствии с частью J части 15 правил FCC, которые предназначенs для обеспечения разумной защиты от радиочастотных помех. Операция этого оборудование в других средах может создавать помехи для радиосвязи, в этом случае пользователь за свой счет должен будет принять любые меры, которые могут потребоваться для исправления этого вмешательство.

Если​ вам нужна помощь

Вся техническая поддержка осуществляется через информационные центры продукции TI (PIC) - www.ti.com/support.
Чтобы отправить запрос по электронной почте, введите свои контактные данные, а также запрос на ссылку - форма запроса PIC.
Также посетите разделы Low Power RF, ZigBee и Bluetooth с низким энергопотреблением сообщества TI E2E (http://e2e.ti.com/support/wireless-connectivity), где вы можете легко связаться с другими CC253x, CC2540 и CC2541 пользователи и найти часто задаваемые вопросы, заметки о дизайне, заметки о применении, видео и так далее.

Глоссарий

Сокращения, используемые в данном руководстве пользователя, можно найти в Приложении А.

Устройства

Семейство решений System-on-Chip CC253x состоит из нескольких устройств. В следующей таблице приведен обзор устройства и указаны различия в размерах памяти и периферийных устройствах. Полный список функций любого из устройств см. В соответствующем листе данных (Приложение C).

Таблица 0-1. Обзор семейства CC253x

Feature
CC2530F32, -F64,
-F128/, -F256
CC2531F128, 
CC2531F256
CC2533F32, 
-F64, -F96
CC2540F128, 
-F256
CC2541F128, 
-F256
FLASH_SIZE
32 KB, 64 KB, 
128 KB, 256 KB
128 KB, 256 KB 32 KB, 64 KB, 96 KB 128 KB, 256 KB 128 KB, 256 KB
SRAM_SIZE 8 KB, 8 KB, 8 KB, 8 KB 8 KB, 8 KB 4 KB, 4 KB, 6 KB 8 KB 8 KB
USB Not included Included Not included Included Not included
ADC Included Included Not included Included Included
Battery monitor Not included Not included Included Not included Not included
I2C Not included Not included Included Not included Included
Operational amplifier Included Included Not included Included Not included
Analog comparator Included Included Not included Included Included
Условные обозначения:
FLASH_SIZE - размер FLASH
SRAM_SIZE - размер SRAM

Регистрация ко​нвенций

Каждый регистр SFR и XREG описан в отдельной таблице, где каждый заголовок таблицы содержит следующую информацию в указанном формате:
Для регистров XREG: ИМЯ РЕГИСТРА (адрес XDATA) - описание регистра
Каждая таблица имеет пять столбцов для описания различных полей регистра, как описано ниже:
Столбец 1 - Bit: обозначает, какие биты регистра описаны и адресованы в конкретной строке
Колонка 2 - Name: конкретное имя поля регистра
Столбец 3 - Reset: сброс или начальное значение поля регистра
Столбец 4 - R/W: ключ, указывающий доступность битов в поле (более подробную информацию см. В таблице 0-2)
Колонка 5 - Description: более подробная информация о поле регистра и часто описание функций различных значений

В описаниях регистров каждое поле регистра отображается с символом (R/W), указывающим режим доступа к полю регистра. Значения регистра всегда даются в двоичной записи, если только не префикс 0x, что указывает на шестнадцатеричное обозначение

Таблица 0-2. Соглашения о регистрах битов

 

SYMBOL  ACCESS MODE 
R/W Read and write
Read-only
R0  Read as 0
R1  Read as 1
Write-only
W0 Write as 0
W1  Write as 1
H0  Hardware clear
H1  Hardware set

4 Управление питанием и часы

Работа с низким энергопотреблением возможна через различные режимы работы (режимы питания). Различные режимы работы называются активным режимом, режимом ожидания и режимами питания 1, 2 и 3 (PM1 – PM3).

Тема ................................................. .................................................. страница

4.1 Управление питанием Введение ..............................................61
4.2 Контроль управления питанием ............................................. 62
4.3 Регистры управления питанием ............................................. 63
4.4 Генераторы и часы .............................................. ............. 66
4.5 Генерация тактов таймера .............................................. ......... 69
4.6 Хранение данных ............................................... ...................... 69

4.1 Управление питанием Введение

Различные режимы работы или режимы питания используются для обеспечения работы с низким энергопотреблением. Работа со сверхнизким энергопотреблением достигается отключением электропитания модулей во избежание статического (утечки) энергопотребления, а также использованием стробирования тактовых импульсов и выключением генераторов для снижения динамического энергопотребления.

Пять различных режимов работы (режимы питания) называются активным режимом, режимом ожидания, PM1, PM2 и PM3 (PM1, PM2 и PM3 также называются спящими режимами). Активный режим является нормальным режимом работы, тогда как PM3 имеет самое низкое энергопотребление. Влияние различных режимов мощности на работу системы показано в таблице 4-1 вместе с опциями регулятора напряжения и генератора.

Таблица 4-1. Режимы питания

Power Mode Высокочастотный генератор Низкочастотный генератор Регулятор напряжения
Конфигурация
A 32-MHz XOSC
B 16-MHz RCOSC
C 32-kHz XOSC
D 32-kHz RCOSC
 
Активный или режим ожидания A or B C or D ON
PM1 None C or D ON
PM2 None C or D OFF
PM3 None None OFF

Активный режим: полностью функциональный режим. Регулятор напряжения на цифровом ядре включен, и либо 16-МГц RC-генератор, либо 32-МГц кварцевый генератор, либо оба работают. Либо 32-кГц RCOSC, либо 32-кГц XOSC работает.

Режим ожидания - Idle mode: идентичен активному режиму, за исключением того, что ядро ​​ЦП перестает работать (находится в режиме ожидания).

PM1: регулятор напряжения на цифровой части включен. Ни 32-МГц XOSC, ни 16-МГц RCOSC не работают. Работает либо 32-кГц RCOSC, либо 32-кГц XOSC. Система переходит в активный режим при сбросе, внешнем прерывании или по истечении таймера сна.

PM2: регулятор напряжения на цифровом сердечнике выключен. Ни 32-МГц XOSC, ни 16-МГц RCOSC не работают. Работает либо 32-кГц RCOSC, либо 32-кГц XOSC. Система переходит в активное состояние при сбросе, внешнем прерывании или по истечении таймера сна.

PM3: Регулятор напряжения на цифровом ядре выключен. Ни один из генераторов не работает. Система переходит в активный режим при сбросе или внешнем прерывании.

POR активен в PM2 и PM3, но BOD выключен, что обеспечивает ограниченный контроль напряжения. Если напряжение питания снижается до уровня ниже 1,4 В во время PM2 или PM3, при температуре 70 ° C или выше, а затем восстанавливается до хорошего рабочего напряжения до повторного ввода активного режима, регистры и содержимое ОЗУ сохраняются в PM2. или PM3 может стать измененным. Следовательно, следует соблюдать осторожность при проектировании источника питания системы, чтобы этого не происходило. Напряжение можно периодически точно контролировать, входя в активный режим, так как сброс BOD запускается, если напряжение питания ниже приблизительно 1,7 В.

CC2533 и CC2541 имеют функции для автоматического выполнения проверки CRC сохраненных значений регистра конфигурации в PM2 и PM3, чтобы проверить, что состояние устройства не было изменено во время сна.

Биты в SRCRC.CRC_RESULT указывают, были ли какие-либо изменения, и, включив SRCRC.CRC_RESET_EN, устройство немедленно сбрасывает себя со сбросом сторожевого таймера, если SRCRC.CRC_RESULT не равен 00 (= CRC пропущенных сохраненных регистров) после пробуждения из PM2 или PM3. Регистр SRCRC также содержит бит SRCRC.FORCE_RESET, который может использоваться программным обеспечением для немедленного запуска сброса сторожевого таймера для перезагрузки устройства.

Для CC2533 и CC2541 дополнительная аналоговая архитектура сброса добавляет еще один детектор отключения (3VBOD), который измеряет нерегулируемое напряжение. Целью этого 3VBOD является снижение потребления тока устройством, когда на него подается напряжение значительно ниже рабочего напряжения.

4.1.1 Active and Idle Modes - Активный и режим ожидания

Активный режим - это полнофункциональный режим работы, в котором активны процессор, периферийные устройства и радиопередатчик. Цифровой регулятор напряжения включен.

Активный режим используется для нормальной работы. При включении бита PCON.IDLE в активном режиме (SLEEPCMD.MODE = 0x00) ядро ​​ЦП перестает работать, и вводится режим ожидания. Все остальные периферийные устройства функционируют нормально, и любое разрешенное прерывание пробуждает ядро ​​ЦП (для возврата из режима ожидания в активный режим).

4.1.2 PM1

В PM1 высокочастотные генераторы отключены (32-МГц XOSC и 16-МГц RCOSC). Регулятор напряжения и включенный генератор с частотой 32 кГц включены. Когда PM1 введен, отключение питания последовательность запускается PM1 используется, когда ожидаемое время до события пробуждения является относительно коротким (менее 3 мс), поскольку PM1 использует последовательность быстрого выключения и включения питания.

4.1.3 PM2

PM2 занимает второе место по энергопотреблению. В PM2 активны сброс при включении питания, внешние прерывания, выбранный генератор с частотой 32 кГц и периферийный таймер отключения. Контакты ввода/вывода сохраняют режим ввода/вывода и заданное значение до входа в PM2. Все остальные внутренние цепи отключены. Регулятор напряжения также выключен. Когда вводится PM2, запускается последовательность выключения питания.

PM2 обычно вводится при использовании таймера сна в качестве события пробуждения, а также в сочетании с внешними прерываниями. PM2 обычно следует выбирать по сравнению с PM1, когда ожидаемое время сна превышает 3 мс Использование меньшего времени ожидания не снижает энергопотребление системы по сравнению с использованием PM1.

4.1.4 PM3

PM3 используется для достижения режима работы с самым низким энергопотреблением. В PM3 все внутренние цепи, которые питаются от регулятора напряжения, отключены (в основном все цифровые модули; только исключение составляют обнаружение прерывания и определение уровня POR). Внутренний регулятор напряжения и все генераторы также отключены.

Сброс (POR или внешний) и внешние порты ввода/вывода - единственные функции, которые работают в этом режиме.

Выводы ввода/вывода сохраняют режим ввода/вывода и заданное значение до входа в PM3. Условие сброса или включенное событие внешнего прерывания ввода/вывода пробуждает устройство и переводит его в активный режим (внешнее прерывание начинается с того места, где оно вошло в PM3, тогда как сброс возвращается к выполнению в начале программы). Содержимое ОЗУ и регистров частично сохраняется в этом режиме (см. Раздел 4.6). PM3 использует ту же последовательность выключения и включения питания, что и PM2.

PM3 используется для достижения сверхнизкого энергопотребления при ожидании внешнего события. Его следует использовать, когда ожидаемое время ожидания превышает 3 мс.

4.2 Управление питанием

Требуемый режим питания выбирается битами MODE в регистре управления SLEEPCMD и битом PCON.IDLE. Установка регистра SFR. Бит PCON.IDLE входит в режим, выбранный SLEEPCMD.MODE.

Включенное прерывание от контактов порта или таймера отключения или сброса при включении питания выводит устройство из других режимов питания и переводит его в активный режим.

При вводе PM1, PM2 или PM3 выполняется последовательность выключения питания. Когда устройство выводится из PM1, PM2 или PM3, оно запускается на частоте 16 МГц и автоматически изменяется на 32 МГц, если CLKCONCMD.OSC был 0 при входе в режим питания (настройка PCON.IDLE). Если CLKCONCMD.OSC был равен 1, когда PCON.IDLE был установлен, то при переходе в режим питания он продолжает работать на частоте 16 МГц.

Инструкция, которая устанавливает бит PCON.IDLE, должна быть выровнена определенным образом для правильной работы. Первый байт инструкции по сборке, следующий сразу за этой инструкцией, не должен быть размещен на 4-байтовой границе. Кроме того, кеш не должен быть отключен (см. CM в описании регистра FCTL в Главе 6). Несоблюдение этого требования может привести к увеличению потребления тока. При условии, что это требование выполнено, первая инструкция по сборке после инструкции, которая устанавливает бит PCON.IDLE, выполняется до ISR прерывания, которое вызвало пробуждение системы, но после пробуждения системы. Если эта инструкция является глобальным отключением прерывания, возможно, что за ней последует код для выполнения после активации, но до обслуживания ISR.

Пример того, как это можно сделать в компиляторе IAR, показан ниже. Команда для установки PCON в 1 помещается в функцию, записанную в коде сборки. В C-файле, вызывающем эту функцию, объявление например

extern void EnterSleepModeDisableInterruptsOnWakeup (void);

используется.

RSEG NEAR_CODE: CODE: NOROOT (2) гарантирует, что инструкция MOV PCON, # 1 размещена на 2-байтовой границе. Это 3-байтовая инструкция, поэтому следующая инструкция не помещается в 4-байтовую инструкцию граница, как требуется. В следующем примере это инструкция EA CLR, которая отключает все прерывания.

Это означает, что ISR прерывания, которое разбудило систему, не выполняется до тех пор, пока бит IEN0.EA не будет снова установлен позже в коде. Если эта функциональность не нужна, инструкцию CLR EA можно заменить на NOP.

PUBLIC EnterSleepModeDisableInterruptsOnWakeup FUNCTION
EnterSleepModeDisableInterruptsOnWakeup,0201H RSEG NEAR_CODE:CODE:NOROOT(2)
EnterSleepModeDisableInterruptsOnWakeup: MOV PCON,#1 CLR EA RET

4.3. Регистры управления питанием

В этом разделе описываются регистры управления питанием. Все биты регистра сохраняют свои прежние значения при вводе PM2 или PM3.

SRCRC (0x6262) – Sleep Reset CRC (CC2533 and CC2541 only)

Bit  Name  Reset  R/W Description 
7 XOSC_AMP_DET_EN 0 R/W
0: отключить
1: Включить амплитудный детектор для 32-МГц XOSC, только CC2533
6 - 0 R0 Зарезервированный. Всегда читай 0
5 FORCE_RESET 0 R/W
0: никаких действий
1: принудительный сброс сторожевого таймера.
4 - 0 R Зарезервированный
3:2 CRC_RESULT 00 R/W
00: CRC сохраненных регистров пройден
01: Ошибка низкого значения CRC
10: сбой высокого значения CRC
11: оба значения CRC не выполнены
1 - 0 R Зарезервированный
0 CRC_RESET_EN 0 R/W
0: отключить сброс микросхемы из-за CRC.
1: включить сброс микросхемы, если CRC_RESULT! = 00 после пробуждения из PM2 или PM3.

PCON (0x87) – Power Mode Control

Bit  Name  Reset  R/W Description 
7:1 - 0000 000 R/W Зарезервировано, всегда пишите как 0000 000.
0 IDLE 0 R0/W H0
Управление режимом питания. Запись 1 в этот бит вынуждает устройство переходить в режим питания, установленный SLEEPCMD.MODE (обратите внимание, что MODE = 0x00 AND IDLE = 1 останавливает работу ядра процессора). Этот бит всегда читается как 0.
Все активные прерывания очищают этот бит, когда он активен, и устройство снова переходит в активный режим.

SLEEPCMD (0xBE) – Sleep-Mode Control Command - команда управления в спящем режиме

Bit  Name  Reset  R/W Description 
7 OSC32K_CALDIS 0 R/W
Отключить калибровку генератора RC 32 кГц
Калибровка RC генератора 0: 32 кГц включена.
Калибровка RC генератора 1: 32 кГц отключена.
Эта настройка может быть записана в любое время, но она не вступит в силу, пока микросхема не будет запущена на 16-МГц высокочастотном RC-генераторе.
6:3 - 000 0 R0 Зарезервированный. Всегда пишите как 1
2 - 1 R/W Зарезервированный
1:0 MODE[1:0] 00 R/W
Настройка режима питания
00: Active or Idle mode - активный или режим ожидания
01: режим питания 1 (PM1)
10: режим питания 2 (PM2)
11: режим питания 3 (PM3)

SLEEPSTA (0x9D) – Sleep-Mode Control Status - Состояние управления в спящем режиме

Bit  Name  Reset  R/W Description 
7 OSC32K_CALDIS 0 R
Состояние калибровки генератора RC 32 кГц
SLEEPSTA.OSC32K_CALDIS показывает текущее состояние отключения калибровки RC 32 кГц. Бит не установлен на то же значение, что и SLEEPCMD.OSC32K_CALDIS, прежде чем микросхема будет запущена на 32-кГц RC генераторе.
6:5 - 00 R Зарезервированный
4:3 RST[1:0] XX R
Бит состояния, указывающий причину последнего сброса. Если имеется несколько сбросов, регистр содержит только последнее событие.
00: Сброс при включении питания и обнаружение отключения питания
01: внешний сброс
10: Сброс сторожевого таймера
11: сброс потери часов
2:1 - 00 R Зарезервированный
0 CLK32K 0 R Тактовый сигнал 32 кГц (синхронизированный с системными часами)

Рисунок 4-1. Обзор системы часов

4.4 Генераторы и часы

Устройство имеет одно внутреннее системное время или основное время. Источником системных часов может быть либо 16-МГц RC-генератор, либо 32-МГц кварцевый генератор. Управление часами осуществляется с помощью SFR регистра CLKCONCMD.

Существует также один источник тактовой частоты 32 кГц, который может быть либо генератором RC, либо кварцевым генератором, также управляемым регистром CLKCONCMD.

Регистр CLKCONSTA - это регистр только для чтения, используемый для получения текущего статуса часов.

Выбор генератора позволяет найти компромисс между высокой точностью в случае кварцевого генератора и низким энергопотреблением при использовании RC-генератора. Обратите внимание, что работа радиочастотного приемопередатчика требует использования кварцевого генератора 32 МГц.

В CC2533, CC2540 и CC2541 доступен дополнительный модуль для определения стабильности XOSC 32 МГц. Этот амплитудный детектор может быть полезен в средах со значительным шумом на источнике питания, чтобы гарантировать, что источник синхронизации не используется, пока тактовый сигнал не стабилизируется. В CC2533 этот модуль можно включить, установив бит SRCRC.XOSC_AMP_DET_EN, и это добавляет около 20 мкс ко времени запуска 32-МГц XOSC. В CC2540 и CC2541 модуль всегда включен.

4.4.1 Осцилляторы

Рисунок 4-1 дает обзор системы часов с доступными источниками часов.

В устройстве присутствуют два высокочастотных генератора:
  • 32-МГц кварцевый генератор
  • 16-МГц RC генератор

Время запуска кварцевого генератора на 32 МГц может быть слишком длинным для некоторых применений; следовательно, устройство может работать на 16-МГц RC генераторе до тех пор, пока кварцевый генератор не станет стабильным. 16-МГц RC генератор потребляет меньше энергии, чем кварцевый генератор, но поскольку он не так точен, как кварцевый генератор, его нельзя использовать для работы радиочастотного приемопередатчика.

В устройстве присутствуют два низкочастотных генератора:
  • 32-кГц кварцевый генератор
  • 32-кГц RC генератор.

XOSC 32 кГц разработан для работы на частоте 32,768 кГц и обеспечивает стабильный тактовый сигнал для систем, требующих точности по времени. RCOSC 32 кГц работает при калибровке 32,753 кГц. Калибровка может выполняться только при включенной 32-МГц XOSC, и эту калибровку можно отключить, включив бит SLEEPCMD.OSC32K_CALDIS. RCOSC 32 кГц следует использовать для снижения затрат и энергопотребления по сравнению с решением XOSC 32 кГц. Два генератора с частотой 32 кГц не могут работать одновременно.

4.4.2 Системные часы

Системные часы получены из выбранного источника системных часов, который является 32-МГц XOSC или 16-МГц RCOSC. Бит LKCONCMD.OSC выбирает источник системных часов. Обратите внимание, что для использования радиочастотного трансивера, кварцевый генератор 32 МГц должен быть выбран и устойчивым.

Обратите внимание, что изменение бита CLKCONCMD.OSC не приводит к мгновенному изменению системных часов. Изменение источника синхронизации вступает в силу, когда CLKCONSTA.OSC = CLKCONCMD.OSC. Это связано с требованием иметь стабильные часы до фактического изменения источника синхронизации. Также обратите внимание, что бит CLKCONCMD.CLKSPD отражает частоту системных часов и, следовательно, является зеркалом бита CLKCONCMD.OSC.

16-МГц RC-генератор калибруется один раз после выбора 32-МГц XOSC и остается стабильным, то есть когда бит CLKCONSTA.OSC переключается с 1 на 0.

ПРИМЕЧАНИЕ. Переключение с источника тактовой частоты 16 МГц на источник тактовой частоты 32 МГц (и наоборот) согласуется с настройкой CLKCONCMD.TICKSPD. Медленная настройка CLKCONCMD.TICKSPD при изменении CLKCONCMD.OSC приводит к более длительному времени, прежде чем фактическое изменение источника вступит в силу. Самое быстрое переключение достигается, когда CLKCONCMD.TICKSPD равен 000.

П​РИМЕЧАНИЕ. После выхода из PM1, PM2 или PM3 ЦП должен дождаться, пока CLKCONSTA.OSC станет равным 0, прежде чем начнутся операции, требующие запуска системы на 32-МГц XOSC (например, радиосвязи).

4.4.3 32-кГц генераторы

Два генератора с частотой 32 кГц присутствуют в устройстве в качестве источников тактовых импульсов для тактовой частоты 32 кГц:

  • 32 кГц XOSC
  • 32-кГц RCOSC

​По умолчанию после сброса RCOSC 32 кГц включается и выбирается в качестве источника тактовой частоты 32 кГц. RCOSC потребляет меньше энергии, но менее точен по сравнению с 32-кГц XOSC. Выбранный 32-кГц источник синхронизации управляет таймером сна, генерирует тик для сторожевого таймера и используется в качестве строба в таймере 2 для расчета времени сна таймера сна. Бит регистра CLKCONCMD.OSC32K выбирает генератор, который будет использоваться в качестве источника тактовой частоты 32 кГц. Этот бит не указывает на стабильность 32-кГц XOSC.

Бит регистра CLKCONCMD.OSC32K может быть записан в любое время, но он не вступает в силу, пока RCOSC 16 МГц не станет активным источником системных часов. Когда системная тактовая частота изменяется с 16-МГц RCOSC на 32-МГц XOSC (CLKCONCMD.OSC с 1 на 0), калибровка 32-кГц RCOSC запускается и выполняется один раз, если выбран 32-кГц RCOSC. Во время калибровки используется разделенная версия 32-МГц XOSC. Результатом калибровки является то, что RSOSC с частотой 32 кГц работает на частоте 32,753 кГц. Калибровка RCOSC 32 кГц может занять до 2 мсек. Калибровку можно отключить, установив для SLEEPCMD.OSC32K_CALDIS значение 1. В конце калибровки может возникнуть дополнительный импульс на тактовом источнике с частотой 32 кГц, что приведет к увеличению таймера отключения на 1.

Обратите внимание, что после переключения на 32-кГц XOSC и при переходе с PM3 с включенной 32-кГц XOSC осциллятору требуется до 500 мс для стабилизации на правильной частоте. Таймер отключения, сторожевой таймер и детектор потери тактовой частоты не должны использоваться до стабилизации 32-кГц XOSC.

4.4.4 Генератор и тактовые регистры

В этом разделе описываются генератор и тактовые регистры. Все биты регистра сохраняют свои прежние значения при вводе PM2 или PM3.

CLKCONCMD (0xC6) – Clock Control Command - команда управления часами

Bit  Name  Reset  R/W Description 
7 OSC32K 1 R/W
Выбор источника синхронизации 32 кГц. Установка этого бита инициирует только изменение источника синхронизации.
CLKCONSTA.OSC32K отражает текущую настройку. RCOSC на 16 МГц должен быть выбран в качестве системных часов, когда этот бит должен быть изменен. Этот бит не указывает на стабильность 32-кГц XOSC.
0: 32 кГц XOSC
 1: 32 кГц RCOSC
6 OSC 1 R/W
Выбор источника системных часов. Установка этого бита инициирует только изменение источника синхронизации.
CLKCONSTA.OSC отражает текущую настройку.
0: 32 МГц XOSC
1: 16 МГц RCOSC 
5:3 TICKSPD[2:0] 001 R/W
Таймер тиков настройки выхода. Не может быть выше настройки системных часов, заданной настройкой бита OSC.
000: 32 МГц
001: 16 МГц
010: 8 МГц
011: 4 МГц
100: 2 МГц
101: 1 МГц
110: 500 кГц
111: 250 кГц
Обратите внимание, что CLKCONCMD.TICKSPD можно установить на любое значение, но эффект ограничен настройкой CLKCONCMD.OSC; то есть, если CLKCONCMD.OSC = 1 и CLKCONCMD.TICKSPD = 000, CLKCONSTA.TICKSPD читает 001, а реальный TICKSPD составляет 16 МГц.
2:0 CLKSPD 001 R/W
Тактовая частота. Не может быть выше настройки системных часов, заданной настройкой бита OSC. Указывает текущую системную тактовую частоту
000: 32 МГц
001: 16 МГц
010: 8 МГц
011: 4 МГц
100: 2 МГц
101: 1 МГц
110: 500 кГц
111: 250 кГц
Обратите внимание, что CLKCONCMD.CLKSPD можно установить на любое значение, но эффект ограничен настройкой CLKCONCMD.OSC; то есть если CLKCONCMD.OSC = 1 и CLKCONCMD.CLKSPD = 000,
CLKCONSTA.CLKSPD читает 001, а реальный CLKSPD - 16 МГц.
Также обратите внимание, что отладчик нельзя использовать с разделенными системными часами. При запуске отладчика значение CLKCONCMD.CLKSPD должно быть установлено на 000, когда CLKCONCMD.OSC = 0, или на 001, когда CLKCONCMD.OSC = 1.

CLKCONSTA (0x9E) – Clock Control Status - Состояние управления часами

Bit  Name  Reset  R/W Description 
7 OSC32K 1 R
Текущий выбранный источник тактовой частоты 32 кГц:
0: 32 кГц XOSC
1: 32 кГц RCOSC 
6 OSC 1 R
Текущие системные часы выбраны:
0: 32-МГц XOSC
1: 16 МГц RCOSC 
5:3 TICKSPD[2:0] 001 R
Текущий таймер
000: 32 МГц
001: 16 МГц
010: 8 МГц
011: 4 МГц
100: 2 МГц
101: 1 МГц
110: 500 кГц
111: 250 кГц
2:0 CLKSPD 001 R
Текущая тактовая частота
000: 32 МГц
001: 16 МГц
010: 8 МГц
011: 4 МГц
100: 2 МГц
101: 1 МГц
110: 500 кГц
111: 250 кГц

4.5 Генерация тактов таймера

Значение регистра CLKCONCMD.TICKSPD управляет глобальным предварительным масштабированием для Таймера 1, Таймера 3 и Таймера 4. Значение предварительного масштабирования может быть установлено в диапазоне от 0,25 МГц до 32 МГц. Следует отметить, что если CLKCONCMD.TICKSPD указывает более высокую частоту, чем системные часы, фактическое значение предварительного масштабирования, указанное в CLKCONSTA.TICKSPD, совпадает с системными часами.

4.6 Хранение данных

В режимах питания PM2 и PM3 питание отключается от большей части внутренних цепей. Однако SRAM сохраняет свое содержимое, а содержимое внутренних регистров также сохраняется в PM2 и PM3.

Все регистры CPU, RF и периферийные устройства сохраняют свое содержимое в PM2 и PM3, кроме регистров AES, I2C и USB, OBSSEL0 – OBSSEL5, TR0 и в CC2541, LLECTRL.

Переключение в режимы с низким энергопотреблением PM2 или PM3 выглядит прозрачным для программного обеспечения. Обратите внимание, что значение таймера сна не сохраняется в PM3.

Все регистры сохраняют свои значения в PM1.

 

7 I/O Ports - Порты ввода/вывода

Имеется 21 вывод цифровых входов / выходов, которые могут быть сконфигурированы как цифровые входы / выходы общего назначения или как периферийные сигналы ввода / вывода, подключенные к АЦП, таймерам или периферийным устройствам USART. Использование портов ввода / вывода полностью настраивается из пользовательского программного обеспечения через набор регистров конфигурации.

Порты ввода / вывода имеют следующие ключевые функции:

  • 21 цифровой вход / выход
  • Универсальный ввод / вывод или периферийный ввод / вывод
  • Возможность подтягивания или опускания на входах
  • Возможность внешнего прерывания
Возможность внешнего прерывания доступна на всех 21 выводе ввода/вывода. Таким образом, внешние устройства могут генерировать
прерывание, если требуется. Функция внешнего прерывания также может использоваться, чтобы вывести устройство из спящего режима (режимы питания PM1, PM2 и PM3).

Тема ................................................. .................................................. ........................ страница

7.1 Неиспользуемые выводы ввода/вывода ............................................ ......................... 79
7.2 Низкое напряжение питания ввода/вывода ........................................... ..................... 79
7.3 Универсальный ввод/вывод ........................................... ................................................ 79
7.4 Прерывания ввода-вывода общего назначения .......................................... ................. 79
7.5 DMA общего назначения ввода/вывода .......................................... ........................ 80
7.6 Периферийный ввод/вывод ............................................. ............................................. 80
7.7 Интерфейс отладки ............................................... .................................................. 83
7.8 32-кГц вход XOSC ............................................ ................................................. 83
7.9 Тестовые выходные сигналы радио ............................................. .......................... 84
7.10 Сигнал выключения питания MUX (PMUX) ......................................... ............ 84
7.11 Регистры ввода/вывода ............................................. ........................................ 84

7.1 Неиспользуемые выводы ввода/вывода

Неиспользуемые выводы ввода/вывода должны иметь определенный уровень и не должны оставаться плавающими. Один из способов сделать это - оставить контакт неподключенным и настроить его как вход ввода/вывода общего назначения с нагрузочным резистором. Это также
состояние всех выводов во время и после сброса (кроме P1.0 и P1.1, которые не имеют возможности подтягивания или опускания). В качестве альтернативы, вывод может быть сконфигурирован как выход ввода/вывода общего назначения. В любом случае, контакт не следует подключать напрямую к VDD или GND, чтобы избежать чрезмерного энергопотребления.

7.2 Низкое напряжение питания ввода/вывода

В приложениях, где выводы напряжения питания цифрового ввода/вывода DVDD1 и DVDD2 ниже 2,6 В, бит регистра PICTL.PADSC должен быть установлен в 1, чтобы получить выходные характеристики постоянного тока, указанные в таблице характеристик постоянного тока устройства. Лист данных (Приложение C).

7.3 Универсальный ввод/вывод

При использовании в качестве ввода-вывода общего назначения контакты организованы в виде трех 8-битных портов: порт 0, порт 1 и порт 2; обозначается P0, P1 и P2. P0 и P1 являются полными 8-битными портами, тогда как P2 имеет только пять используемых бит.

Все порты имеют как битовую, так и байтовую адресацию через регистры SFR P0, P1 и P2. Каждый вывод порта может быть индивидуально настроен для работы в качестве универсального ввода-вывода или периферийного ввода-вывода.

Выходная мощность привода составляет 4 мА на всех выходах, за исключением двух выходов с высоким напряжением, P1.0 и P1.1, каждый из которых имеет выходную мощность 20 мА.

Регистры PxSEL, где x - это номер порта 0–2, используются для конфигурирования каждого контакта в порте в качестве вывода ввода-вывода общего назначения или в качестве периферийного сигнала ввода-вывода. По умолчанию после сброса все цифровые входные/выходные контакты настроены как входные контакты общего назначения.

Чтобы изменить направление вывода порта, регистры PxDIR используются для установки каждого вывода порта в качестве входа или выхода. Таким образом, установив соответствующий бит в PxDIR на 1, соответствующий вывод становится выходом.

При чтении регистров портов P0, P1 и P2 логические значения на входных контактах возвращаются независимо конфигурации контактов. Это не применяется во время выполнения инструкций чтения-изменения-записи. Инструкции чтения-изменения-записи: ANL, ORL, XRL, JBC, CPL, INC, DEC, DJNZ, MOV, CLR и SETB. Работая с регистром порта, верно следующее: когда адресат является отдельным битом в регистре порта P0, P1 или P2, значение регистра, а не значение на выводе, считывается, изменяется и записывается обратно в регистр порта.

При использовании в качестве входа выводы порта ввода/вывода общего назначения могут быть настроены на подтягивание, опускание или третье состояние. По умолчанию после сброса входы настраиваются как входы с подтягиванием. Отмените выбор функции pullup или pulldown на входе, соответствующий бит в PxINP должен быть установлен в 1.

Выводы портов ввода/вывода P1.0 и P1.1 не имеют возможности подтягивания или опускания. Обратите внимание, что контакты настроены как
периферийные сигналы ввода/вывода не имеют возможности подтягивания или опускания, даже если периферийная функция является входом.

В режимах питания PM1, PM2 и PM3 контакты ввода / вывода сохраняют режим ввода/вывода и выходное значение (если применимо), которое был установлен при вводе PM1, PM2 или PM3.

7.4 Прерывания ввода / вывода общего назначения

Пины ввода/вывода общего назначения, настроенные как входы, могут использоваться для генерации прерываний. Прерывания могут быть
настроены на срабатывание по нарастающему или падающему фронту внешнего сигнала. Каждый из P0, P1 и P2 порты имеют биты разрешения прерывания порта, общие для всех битов в пределах порта, расположенного в регистрах IEN1 – IEN2 следующее:
  • IEN1.P0IE: разрешение прерывания P0
  • IEN2.P1IE: разрешение прерывания P1
  • IEN2.P2IE: разрешение прерывания P2
В дополнение к этим общим разрешениям прерываний, биты в каждом порту имеют отдельные разрешения прерываний находится в регистрах SFR P0IEN, P1IEN и P2IEN. Четные контакта ввода/вывода настроены как периферийные входы/выходы или выходы общего назначения имеют прерывания, генерируемые при включении.

Когда условие прерывания возникает на одном из выводов ввода / вывода, флаг состояния прерывания в соответствующем регистре флага прерывания P0-P2, P0IFG, P1IFG или P2IFG, устанавливается в 1. Флаг состояния прерывания устанавливается независимо от того, установлен ли Пин имеет свой набор разрешения прерываний. Когда прерывание обслуживается, флаг состояния прерывания очищается путем записи 0 в этот флаг. Этот флаг должен быть очищен до очистки порта ЦП флаг прерывания (PxIF). Это показано на рис. 2-4: между входной линией и PxIFG есть обнаружение краев, но между PxIFG и PxINT не обнаружено ни краев, ни одного выстрела. Практическое влияние этого является то, что написано в разделе 2.5.1

Регистры SFR, используемые для прерываний, описаны далее в этом разделе. Регистры суммируются следующим образом:
  • P0IEN: прерывание P0 разрешено
  • P1IEN: разрешение прерывания P1
  • P2IEN: прерывание P2 разрешено
  • PICTL: конфигурация фронта P0, P1 и P2
  • P0IFG: флаги прерываний P0
  • P1IFG: флаги прерываний P1
  • P2IFG: флаги прерываний P2

7.5 Универсальный ввод/вывод DMA

При использовании в качестве выводов ввода / вывода общего назначения каждый из портов P0 и P1 связан с одним триггером DMA. Эти триггеры DMA: IOC_0 для P0 и IOC_1 для P1, как показано в таблице 8-1.

Триггер IOC_0 активируется при возникновении прерывания на выводах P0. Триггер IOC_1 активируется при возникновении прерывания на выводах P1.

7.6 Периферийный ввод/вывод

В этом разделе описывается, как выводы цифрового ввода / вывода конфигурируются как периферийные входы / выходы. Для каждого периферийного устройства, которое может взаимодействовать с внешней системой через выводы цифрового ввода / вывода, описание конфигурации периферийных входов / выходов приведено в следующих подразделах.

Для USART и таймерного ввода-вывода, установка соответствующих битов PxSEL в 1 необходима для того, чтобы выходные сигналы на цифровом выводе ввода-вывода контролировались периферийным устройством. Для периферийных входов с цифровых выводов ввода / вывода это необязательно.

PxSEL = 1 переопределяет настройку подтягивания или опускания для вывода, поэтому, чтобы иметь возможность управлять подтягиванием и опусканием с помощью битов PxINP, бит PxSEL должен быть установлен в 0 для этого вывода.

Обратите внимание, что периферийные устройства имеют два альтернативных расположения для своих выводов ввода / вывода; см. таблицу 7-1. Приоритет может быть установлен между периферийными устройствами, если присутствуют противоречивые настройки, относящиеся к отображению ввода / вывода (используя биты P2SEL.PRIxP1 и P2DIR.PRIP0). Можно использовать все комбинации, не вызывающие конфликтов.

Обратите внимание, что периферийное устройство обычно присутствует в выбранном месте, даже если оно не используется, и другому периферийному устройству, которое будет использовать контакты, должен быть присвоен более высокий приоритет. Исключением являются выводы RTS и CTS USART в режиме UART с отключенным управлением потоком, а вывод SSN USART настроен в режиме ведущего SPI.

Также обратите внимание, что периферийные устройства, которые имеют входные контакты, получают вход от контакта независимо от настройки PxINP, и это может влиять на состояние периферийного устройства. Например, UART должен быть очищен перед использованием, если на контакте RX могла быть активность перед тем, как использовать его в качестве контакта UART.

Таблица 7-1. Отображение контактов периферийных входов / выходов

Periphery/
Function
P0 P1 P2
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 4 3 2 1 0
ADC A7 A6 A5 A4 A3 A2 A1 A0                         T
Operational
amplifier
          O - +                          
Analog
comparator
    + -                                  
USART 0 SPI

Alt. 2
    C SS MO MI                              
                    M0 MI C SS              
USART 0 UART

Alt. 2
    RT CT TX RX                              
                    TX  RX  RT  CT              
USART 1 SPI
 
Alt. 2
    MI  M0  SS                              
                MI  M0  SS                  
USART 1 UART
 
Alt. 2
    RX  TX  RT  CT                              
                RX  TX  RT  CT                  
TIMER 1
 
Alt. 2
  4 3 2 1 0                              
3 4                       0  1   2           
TIMER 3
 
Alt. 2
                      1 0                
                1 0                      
TIMER 4
 
Alt. 2
                             1  0          
                                  1       0 
32-kHz XOSC                                 Q1 Q2      
DEBUG                                     DC DD  
OBSSEL                     5 4 3 2 1 0          

7.6.1 Таймер 1

PERCFG.T1CFG выбирает, использовать ли альтернативу 1 или альтернативу 2.

В таблице 7-1 сигналы Таймера 1 показаны следующим образом:
  • 0: канал 0 захватывает или сравнивает вывод
  • 1: канал 1 захватывает или сравнивает вывод
  • 2: канал 2 захватывает или сравнивает вывод
  • 3: Канал 3 захватывает или сравнивает вывод
  • 4: канал 4 захватывает или сравнивает вывод
P2DIR.PRIP0 выбирает порядок приоритета при назначении нескольких периферийных устройств для порта 0. При значении 10 приоритет имеют каналы 0–1 Таймера 1, а при значении 11 каналы 2–3 Таймера 1 имеют приоритет. Чтобы все каналы Таймера 1 были видны в альтернативном местоположении 1, переместите и USART 0, и USART 1 в альтернативное местоположение 2.

P2SEL.PRI1P1 и P2SEL.PRI0P1 выбирают порядок приоритета при назначении нескольких периферийных устройств для порта 1. Каналы таймера 1 имеют приоритет, когда первый установлен на низком уровне, а второй - на высоком.

7.6.2 Таймер 3

PERCFG.T3CFG выбирает, использовать ли альтернативу 1 или альтернативу 2.

В таблице 7-1 сигналы Таймера 3 показаны следующим образом:
  • 0: канал 0 захватывает или сравнивает вывод
  • 1: канал 1 захватывает или сравнивает вывод
P2SEL.PRI2P1 и P2SEL.PRI3P1 выбирают порядок приоритета при назначении нескольких периферийных устройств для порта 1. Каналы таймера 3 имеют приоритет, когда оба бита установлены на высокий уровень. Если P2SEL.PRI2P1 установлен высокий и P2SEL.PRI3P1 установлен на низкий уровень, каналы Таймера 3 имеют приоритет над USART 1, но USART 0 имеет приоритет над каналами Таймера 3, а также над USART 1.

7.6.3 Таймер 4

PERCFG.T4CFG выбирает, использовать ли альтернативу 1 или альтернативу 2.

В Таблице 7-1 сигналы Таймера 4 показаны следующим образом:
  • 0: канал 0 захватывает или сравнивает вывод
  • 1: канал 1 захватывает или сравнивает вывод
P2SEL.PRI1P1 выбирает порядок приоритета при назначении нескольких периферийных устройств для порта 1. Каналы таймера 4 имеют приоритет при установке бита.

7.6.4 USART 0

Регистр SFR бит PERCFG.U0CFG выбирает, использовать ли альтернативное 1 или альтернативное 2 местоположения.

В таблице 7-1 сигналы USART 0 показаны следующим образом:

UART:

  • RX: RXDATA
  • TX: TXDATA
  • RT: RTS
  • CT: CTS
SPI:
  • MI: MISO
  • МО: МОСИ
  • C: SCK
  • SS: SSN
P2DIR.PRIP0 выбирает порядок приоритета при назначении нескольких периферийных устройств для порта 0. При значении 00 USART 0 имеет приоритет. Обратите внимание, что если выбран режим UART и аппаратное управление потоком отключено, USART 1 или Таймер 1 имеет преимущество при использовании портов P0.4 и P0.5.

P2SEL.PRI3P1 и P2SEL.PRI0P1 выбирают порядок приоритета при назначении нескольких периферийных устройств для порта 1. USART 0 имеет приоритет, когда оба установлены на 0. Обратите внимание, что если выбран режим UART и аппаратное управление потоком отключено, таймер 1 или таймер 3 имеет приоритет использовать порты P1.2 и P1.3.

7.6.5 USART 1

Бит регистра SFR PERCFG.U1CFG выбирает, использовать ли альтернативное 1 или альтернативное 2 местоположения.

В таблице 7-1 сигналы USART 1 показаны следующим образом:

UART:
  • RX: RXDATA
  • TX: TXDATA
  • RT: RTS
  • CT: CTS
SPI:
  • MI: MISO
  • МО: МОСИ
  • C: SCK
  • SS: SSN
P2DIR.PRIP0 выбирает порядок приоритета при назначении нескольких периферийных устройств для порта 0. При значении 01 USART 1 имеет приоритет. Обратите внимание, что если выбран режим UART и аппаратное управление потоком отключено, USART 0 или Таймер 1 имеет преимущество при использовании портов P0.2 и P0.3.

P2SEL.PRI3P1 и P2SEL.PRI2P1 выбирают порядок приоритета при назначении нескольких периферийных устройств для порта 1. USART 1 имеет приоритет, когда первый установлен на 1, а последний на 0. Обратите внимание, что если выбран режим UART и аппаратное управление потоком отключено, USART 0 или Таймер 3 имеет приоритет для использования портов P1.4 и P1.5.

7.6.6 АЦП

В таблице 7-1 сигналы АЦП показаны следующим образом:
  • A0: вход АЦП 0
  • A1: вход АЦП 1
  • A2: вход АЦП 2
  • A3: вход АЦП 3
  • A4: АЦП вход 4
  • A5: вход АЦП 5
  • A6: вход АЦП 6
  • A7: вход АЦП 7
  • T: АЦП внешний пусковой контакт
При использовании АЦП выводы порта 0 должны быть настроены как входы АЦП. Можно использовать до восьми входов АЦП. Чтобы настроить вывод порта 0 для использования в качестве входа АЦП, соответствующий бит в регистре APCFG должен быть установлен на 1. Значения по умолчанию в этом регистре выбирают выводы порта 0 в качестве входа без АЦП, т. e. wифровых входов / выходов.

Настройки в регистре APCFG переопределяют настройки в P0SEL.

АЦП может быть настроен на использование универсального контакта ввода / вывода P2.0 в качестве внешнего триггера для запуска преобразований. P2.0 должен быть настроен как универсальный ввод / вывод в режиме ввода при использовании для АЦП внешний триггер.

7.6.7 Операционный усилитель и аналоговый компаратор

При использовании операционного усилителя и аналогового компаратора соответствующие выводы порта 0 должны быть сконфигурированы как входы АЦП (см. Таблицу 7-1). Чтобы настроить вывод порта 0 для использования в качестве входа АЦП, соответствующий бит в регистре APCFG должен быть установлен в 1. Значения по умолчанию в этом регистре выбирают выводы порта 0 как входы без АЦП, то есть цифровые входы / выходы.

Настройки в регистре APCFG переопределяют настройки в P0SEL.

7.7 Интерфейс отладки

Порты P2.1 и P2.2 используются для данных отладки и тактовых сигналов соответственно. Они показаны как DD (данные отладки) и DC (часы отладки) в Таблице 7-1. В режиме отладки интерфейс отладки контролирует направление этих контактов. Pullup и pulldown отключены на этих выводах в режиме отладки.

7.8 32-кГц вход XOSC

Порты P2.3 и P2.4 могут использоваться для подключения внешнего кристалла 32 кГц. Эти выводы порта используются 32-кГц XOSC, когда CLKCONCMD.OSC32K низок, независимо от настроек регистра. Контакты порта устанавливаются в аналоговом режиме, когда CLKCONCMD.OSC32K имеет низкий уровень.

7.9 Тестовые выходные сигналы радио

Используя регистры OBSSELx (OBSSEL0 – OBSSEL5), пользователь может выводить разные сигналы с радиочастотного ядра на выводы GPIO. Эти сигналы могут быть полезны для отладки протоколов низкого уровня или для управления внешним PA, LNA или коммутаторами. Регистры управления OBSSEL0 – OBSSEL5 могут использоваться для переопределения стандартного поведения GPIO и вывода сигналов ядра RF (rfc_obs_sig0, rfc_obs_sig1 и rfc_obs_sig2) на выводы P1 [0: 5]. Список доступных сигналов см. В соответствующих регистрах RFC_OBS_CTRLx в разделе 23.15.3 для CC253x или в разделе 24.1 для CC2540 или в главе 25 для CC2541.

7.10 Сигнал выключения питания MUX (PMUX)

Регистр PMUX может использоваться для вывода тактовой частоты 32 кГц и / или статуса цифрового регулятора напряжения.

Выбранный источник тактовой частоты 32 кГц может быть выведен на один из выводов P0. Бит разрешения CKOEN включает выход на P0, а вывод P0 выбирается с помощью CKOPIN (подробности см. В описании регистра PMUX). Когда CKOEN установлен, все другие конфигурации для выбранного контакта будут отменены. Часы выводятся во всех режимах питания; однако в PM3 часы останавливаются (см. PM3 в главе 4).

Кроме того, статус цифрового регулятора напряжения может быть выведен на один из контактов P1. Когда бит DREGSTA установлен, выводится статус цифрового регулятора напряжения. DREGSTAPIN выбирает контакт P1 (см. Описание регистра PMUX для деталей). Когда DREGSTA установлен, все остальные конфигурации для выбранного контакта перезаписываются. Выбранный вывод выводит 1, когда на встроенный в кристалл цифровой регулятор напряжения 1,8 В подается питание (микросхема имеет регулируемую мощность). Выбранный вывод выводит 0 при отключении встроенного цифрового стабилизатора напряжения 1,8 В, то есть в PM2 и PM3.

7.11 I/O Registers - Регистры ввода / вывода

Регистры для портов ввода / вывода описаны в этом разделе. Регистры являются:
  • P0: Port 0
  • P1: Port 1
  • P2: Port 2
  • PERCFG: Peripheral-control register - Регистр периферийного контроля
  • APCFG: Analog peripheral I/O configuration - Конфигурация аналогового периферийного ввода / вывода
  • P0SEL: Port 0 function-select register - регистр выбора функции порта 0
  • P1SEL: Port 1 function-select register - регистр выбора функции порта 1
  • P2SEL: Port 2 function-select register - регистр выбора функции порта 2
  • P0DIR: Port 0 direction register - регистр направления порта 0
  • P1DIR: Port 1 direction register - регистр направления порта 1
  • P2DIR: Port 2 direction register - регистр направления порта 2
  • P0INP: Port 0 input-mode register - регистр режима ввода порта 0
  • P1INP: Port 1 input-mode register - регистр режима ввода порта 1
  • P2INP: Port 2 input-mode register - регистр режима ввода порта 2
  • P0IFG: Port 0 interrupt-status flag register - регистр флага состояния прерывания порта 0
  • P1IFG: Port 1 interrupt-status flag register - регистр флага состояния прерывания порта 1
  • P2IFG: Port 2 interrupt-status flag register - регистр флага состояния прерывания порта 2
  • PICTL: Interrupt edge register - регистр фронт прерывания
  • P0IEN: Port 0 interrupt-mask register - регистр маски прерывания порта 0
  • P1IEN: Port 1 interrupt-mask register - регистр маски прерывания порта 1
  • P2IEN: Port 2 interrupt-mask register - регистр маски прерывания порта 2
  • PMUX: Power-down signal-mux register - регистр мультиплексирования сигнала при отключении питания
  • OBSSEL0: Observation output control register 0 - регистр управления выходом наблюдения 0
  • OBSSEL1: Observation output control register 1 - регистр управления выходом наблюдения 1
  • OBSSEL2: Observation output control register 2 - регистр управления выходом наблюдения 2
  • OBSSEL3: Observation output control register 3 - регистр управления выходом наблюдения 3
  • OBSSEL4: Observation output control register 4 - регистр управления выходом наблюдения 4
  • OBSSEL5: Observation output control register 5 - регистр управления выходом наблюдения 5

P0 (0x80) – Port 0

Bit  Name  Reset  R/W Description 
7:0 P0[7:0] 0xFF R/W Порт 0. Порт ввода-вывода общего назначения. Бит-адресуемый из SFR. Этот внутренний регистр ЦП доступен для чтения, но не для записи из XDATA (0x7080).

P1 (0x90) – Port 1

Bit  Name  Reset  R/W Description 
7:0 P1[7:0] 0xFF R/W Порт 1. Порт ввода-вывода общего назначения. Бит-адресуемый из SFR. Этот внутренний регистр ЦП доступен для чтения, но не для записи из XDATA (0x7090).

P2 (0xA0) – Port 2

Bit  Name  Reset  R/W Description 
7:5 - 000 R0 Зарезервированный
4:0 P2[4:0] 1 1111 R/W Порт 2. Порт ввода-вывода общего назначения. Бит-адресуемый из SFR. Этот внутренний регистр ЦП доступен для чтения, но не для записи из XDATA (0x70A0).

PERCFG (0xF1) – Peripheral Control - Регистр периферийного контроля

Bit  Name  Reset  R/W Description 
7 - 0 R0 Зарезервированный
6 T1CFG 0 R/W
Timer 1 I/O location
0: Alternative 1 location
1: Alternative 2 location
5 T3CFG 0 R/W
Timer 3 I/O location 
0: Alternative 1 location 
1: Alternative 2 location
4 T4CFG 0 R/W
Timer 4 I/O location 
0: Alternative 1 location 
1: Alternative 2 location
3:2 - 00 R/W Зарезервированный
1 U1CFG 0 R/W
USART 1 I/O location
0: Alternative 1 location
1: Alternative 2 location
0 U0CFG 0 R/W
USART 0 I/O location 
0: Alternative 1 location 
1: Alternative 2 location

APCFG (0xF2) – Analog Peripheral I/O Configuration - Конфигурация аналогового периферийного ввода / вывода

Bit  Name  Reset  R/W Description 
7:0 APCFG[7:0] 0x00 R/W
Конфигурация аналогового периферийного ввода / вывода. APCFG [7: 0] выбирает P0.7 – P0.0 в качестве аналогового ввода / вывода.
0: аналоговый ввод / вывод отключен
1: аналоговый ввод / вывод включен

P0SEL (0xF3) – Port 0 Function Select - регистр выбора функции порта 0

Bit  Name  Reset  R/W Description 
7:0 SELP0_[7:0] 0x00 R/W
P0.7 to P0.0 function select
0: General-purpose I/O
1: Peripheral function

P1SEL (0xF4) – Port 1 Function Select - регистр выбора функции порта 1

Bit  Name  Reset  R/W Description 
7:0 SELP1_[7:0] 0x00 R/W
P1.7 to P1.0 function select 
0: General-purpose I/O 
1: Peripheral function

P2SEL (0xF5) – Port 2 Function Select and Port 1 Peripheral Priority Control - Выбор функции порта 2 и периферийное управление приоритетом порта 1

Bit  Name  Reset  R/W Description 
7 - 0 R0 Зарезервированный
6 PRI3P1 0 R/W
Порт 1 периферийный приоритет управления. Этот бит определяет, какой модуль имеет приоритет в случае, когда модули назначены на те же контакты.
0: USART 0 имеет приоритет.
1: USART 1 имеет приоритет
5 PRI2P1 0 R/W
Порт 1 периферийный приоритет управления. Этот бит определяет порядок приоритета в случае, когда PERCFG назначает USART 1 и Timer 3 на одни и те же контакты.
0: USART 1 имеет приоритет.
1: Timer 3 имеет приоритет.
4 PRI1P1 0 R/W
Порт 1 периферийный приоритет управления. Этот бит определяет порядок приоритета в случае, когда PERCFG назначает Timer 1 и Timer 4 одинаковым контактам.
0: Timer 1 имеет приоритет.
1: Timer 4 имеет приоритет.
3 PRI0P1 0 R/W
Порт 1 периферийный приоритет управления. Этот бит определяет порядок приоритета в случае, когда PERCFG назначает USART 0 и Timer 1 для одних и тех же контактов.
0: USART 0 имеет приоритет.
1: Таймер 1 имеет приоритет.
2 SELP2_4 0 R/W
P2.4 function select
0: General-purpose I/O
1: Peripheral function
1 SELP2_3 0 R/W
P2.3 function select 
0: General-purpose I/O 
1: Peripheral function
0 SELP2_0 0 R/W
P2.0 function select 
0: General-purpose I/O 
1: Peripheral function

P0DIR (0xFD) – Port 0 Direction - направление

Bit  Name  Reset  R/W Description 
7:0 DIRP0_[7:0] 0x00 R/W
P0.7 to P0.0 I/O direction
0: Input
1: Output

P1DIR (0xFE) – Port 1 Direction - направление

Bit  Name  Reset  R/W Description 
7:0 DIRP1_[7:0] 0x00 R/W
P1.7 to P1.0 I/O direction 
0: Input 
1: Output

P2DIR (0xFF) – Port 2 Direction and Port 0 Peripheral Priority Control  - управление направлением порта 2 и периферийным приоритетом порта 0

Bit  Name  Reset  R/W Description 
7:6 PRIP0[1:0] 00 R/W
Порт 0 периферийный приоритет управления. Эти биты определяют порядок приоритета в случае когда PERCFG назначает несколько периферийных устройств одним и тем же контактам.
Подробный список приоритетов:
00:
1-й приоритет: USART 0
2-й приоритет: USART 1
3-й приоритет: Timer 1
01:
1-й приоритет: USART 1
2-й приоритет: USART 0
3-й приоритет: Timer 1
10:
1-й приоритет: Timer 1, channels 0–1
2-й приоритет: USART 1
3-й приоритет: USART 0
4-й приоритет: Timer1, channels 2–3
11:
1-й приоритет: Timer 1, channels 2–3
2-й приоритет: USART 0
3-й приоритет: USART 1
4-й приоритет: Timer 1, channels 0–1
5 - 0 R0 Зарезервированный
4:0 DIRP2_[4:0] 0 0000 R/W
P2.4 to P2.0 I/O direction
0: Input
1: Output

P0INP (0x8F) – Port 0 Input Mode -  режим ввода

Bit  Name  Reset  R/W Description 
7:0 MDP0_[7:0] 0x00 R/W
P0.7 to P0.0 I/O input mode
0: Pullup or pulldown [see P2INP (0xF7) – Port 2 input mode]
1: 3-state

P1INP (0xF6) – Port 1 Input Mode -  режим ввода

Bit  Name  Reset  R/W Description 
7:0 MDP1_[7:2] 0000 00 R/W
P1.7 to P1.2 I/O input mode
0: Pullup or pulldown [see P2INP (0xF7) – Port 2 input mode]
1: 3-state
1:0 - 00 R0 Зарезервированный

P2INP (0xF7) – Port 2 Input Mode -  режим ввода

Bit  Name  Reset  R/W Description 
7 PDUP2 0 R/W
Port 2 pull-or-pulldown выберите. Выбирает функцию для всех выводов порта 2, сконфигурированных как входы pull-or-pulldown.
0: Pullup
1: Pulldown
6 PDUP1 0 R/W
Port 1 pull-or-pulldown выберите. Выбирает функцию для всех выводов порта 1, сконфигурированных как входы pull-or-pulldown.
0: Pullup
1: Pulldown
5 PDUP0 0 R/W
Port 0 pull-or-pulldown выберите. Выбирает функцию для всех выводов порта 0, сконфигурированных как входы pull-or-pulldown.
0: Pullup
1: Pulldown
4:0 MDP2_[4:0] 0 0000 R/W
P2.4 to P2.0 I/O input mode
0: Pullup or pulldown
1: 3-state

P0IFG (0x89) – Port 0 Interrupt Status Flag - флаг состояния прерывания по порту 0

Bit  Name  Reset  R/W Description 
7:0 P0IF[7:0] 0x00 R/W0
Порт 0, входы с 7 по 0, флаги состояния прерывания. Когда вывод входного порта имеет ожидающий запрос прерывания, устанавливается соответствующий флаг бита.

P1IFG (0x8A) – Port 1 Interrupt Status Flag - флаг состояния прерывания по порту 1

Bit  Name  Reset  R/W Description 
7:0 P1IF[7:0] 0x00 R/W0
Порт 1, входы с 7 по 0, флаги состояния прерывания. Когда вывод входного порта имеет ожидающий запрос прерывания, устанавливается соответствующий флаг бита.

P2IFG (0x8B) – Port 2 Interrupt Status Flag флаг состояния прерывания по порту 2

Bit  Name  Reset  R/W Description 
7:6 - 00 R0 Зарезервированный
5 DPIF 0 R/W0 USB D+ interrupt-status flag.Этот флаг устанавливается, когда на линии D + имеется ожидающий запрос прерывания, и используется для обнаружения событий возобновления USB в состоянии приостановки USB. Этот флаг не устанавливается, когда USB-контроллер не приостановлен.
4:0 P2IF[4:0] 0 0000 R/W0 Порт 2, входы с 4 по 0, флаги состояния прерывания. Когда вывод входного порта имеет ожидающий запрос прерывания, устанавливается соответствующий бит флага.

PICTL (0x8C) – Port Interrupt Control - управление прерываниями порта

Bit  Name  Reset  R/W Description 
7 PADSC 0 R/W
Управление силой привода для выводов ввода / вывода в режиме вывода. Выбирает повышение мощности выходного привода для учета низкого напряжения питания ввода-вывода на выводе DVDD (это обеспечивает такую же прочность привода при более низких напряжениях и при более высоких).
0: увеличение минимальной силы привода. DVDD1 и DVDD2, равные или превышающие 2,6 В
1: максимальное усиление привода. DVDD1 и DVDD2 менее 2,6 В
6:4 - 000 R0 Зарезервированный
3 P2ICON 0 R/W
Порт 2, входы от 4 до 0, конфигурация прерываний. Этот бит выбирает условие запроса прерывания для порта 2 входы с 4 по 0.
0: Rising edge Передний фронт на входе дает прерывание.
1: Falling edge Падающий фронт на входе дает прерывание.
2 P1ICONH 0 R/W
Порт 1, входы от 7 до 4, конфигурация прерываний. Этот бит выбирает условие запроса прерывания для порта 1 входы с 7 по 4.
0: Rising edge Передний фронт на входе дает прерывание.
1: Falling edge Падающий фронт на входе дает прерывание.
1 P1ICONL 0 R/W
Порт 1, входы от 3 до 0, конфигурация прерываний. Этот бит выбирает условие запроса прерывания для порта 1 входы с 3 по 0.
0: Rising edge Передний фронт на входе дает прерывание.
1: Falling edge Падающий фронт на входе дает прерывание.
0 P0ICON 0 R/W
Порт 0, входы от 7 до 0, конфигурация прерываний. Этот бит выбирает условие запроса прерывания для порта 0 входы с 7 по 0.
0: Rising edge Передний фронт на входе дает прерывание.
1: Falling edge Падающий фронт на входе дает прерывание.

P0IEN (0xAB) – Port 0 Interrupt Mask - маска прерывания порта 0

Bit  Name  Reset  R/W Description 
7:0 P0_[7:0]IEN 0x00 R/W0
Разрешение прерывания от порта P0.7 до P0.0
0: прерывания отключены.
1: прерывания включены.


P1IEN (0x8D) – Port 1 Interrupt Mask - маска прерывания порта 1

Bit  Name  Reset  R/W Description 
7:0 P1_[7:0]IEN 0x00 R/W0
Разрешение прерывания от порта P1.7 до P1.0
0: прерывания отключены.
1: прерывания включены.

P2IEN (0xAC) – Port 2 Interrupt Mask - маска прерывания порта 2

Bit  Name  Reset  R/W Description 
7:6 - 00 R0 Зарезервированный
5 DPIEN 0 R/W
USB D+ разрешение прерывания
0: USB D+ прерывание отключено
1: USB D+ прерывание включено
4:0 P2_[4:0]IEN 0 0000 R/W
Разрешение прерывания от порта P2.4 до P2.0
0: прерывания отключены.
1: прерывания включены.

PMUX (0xAE) – Power-Down Signal Mux - мультиплексор при отключении питания

Bit  Name  Reset  R/W Description 
7 CKOEN 0 R/W Включение синхронизации. Когда этот бит установлен, выбранная тактовая частота 32 кГц выводится на один из выводов P0. CKOPIN выбирает пин-код для использования. Это переопределяет все другие конфигурации для выбранного контакта. Часы выводятся во всех режимах питания; однако в PM3 часы останавливаются (см. PM3 в главе 4).
6:4 CKOPIN[2:0] 000 R/W Вывод синхронизации. Выбирает, какой вывод P0 будет использоваться для вывода выбранных тактовых импульсов 32 кГц.
3 DREGSTA 0 R/W Состояние цифрового регулятора напряжения. Когда этот бит установлен, состояние цифрового регулятора напряжения выводится на один из выводов P1. DREGSTAPIN выбирает пин-код. Когда DREGSTA установлен, все остальные конфигурации для выбранного контакта перезаписываются. Выбранный вывод выводит 1, когда на встроенный в кристалл цифровой регулятор напряжения 1,8 В подается питание (микросхема имеет регулируемую мощность). Выбранный вывод выводит 0 при отключении встроенного цифрового стабилизатора напряжения 1,8 В.
2:0 DREGSTAPIN[2:0] 000 R/W Digital Voltage Regulator Status Pin. Выбирает, какой вывод P1 будет использоваться для вывода сигнала DREGSTA.

Обратите внимание, что регистры с OBSSEL0 по OBSSEL5 не сохраняют данные в состояниях PM2 и PM3.

OBSSEL0 (0x6243) – Observation Output Control Register 0 - регистр управления выходом наблюдений 0

Bit  Name  Reset  R/W Description 
7 EN 0 R/W
Бит управления выводом наблюдения 0 на P1 [0].
0 - Выход наблюдения отключен
1 - Выход наблюдения включен
Примечание. Если этот параметр включен, он переписывает стандартное поведение GPIO P1.0.
6:0 SEL[6:0] 000 0000 R/W
Выберите выходной сигнал на выходе наблюдения 0
111 1011 (123): rfc_obs_sig0
111 1100 (124): rfc_obs_sig1
111 1101 (125): rfc_obs_sig2
Другие: Зарезервированны

OBSSEL1 (0x6244) – Observation Output Control Register 1 - регистр управления выходом наблюдений 1

Bit  Name  Reset  R/W Description 
7 EN 0 R/W
Бит управления выводом наблюдения 1 на P1 [1].
0 - Выход наблюдения отключен
1 - Выход наблюдения включен
Примечание. Если этот параметр включен, он переписывает стандартное поведение GPIO P1.1.
6:0 SEL[6:0] 000 0000 R/W
Выберите выходной сигнал на выходе наблюдения 1
111 1011 (123): rfc_obs_sig0
111 1100 (124): rfc_obs_sig1
111 1101 (125): rfc_obs_sig2
Другие: Зарезервированны

OBSSEL2 (0x6245) – Observation Output Control Register 2 - регистр управления выходом наблюдений 2

Bit  Name  Reset  R/W Description 
7 EN 0 R/W
Бит управления выводом наблюдения 2 на P1 [2].
0 - Выход наблюдения отключен
1 - Выход наблюдения включен
Примечание. Если этот параметр включен, он переписывает стандартное поведение GPIO P1.2.
6:0 SEL[6:0] 000 0000 R/W
Выберите выходной сигнал на выходе наблюдения 2
111 1011 (123): rfc_obs_sig0
111 1100 (124): rfc_obs_sig1
111 1101 (125): rfc_obs_sig2
Другие: Зарезервированны

OBSSEL3 (0x6246) – Observation Output Control Register 3 - регистр управления выходом наблюдений 3

Bit  Name  Reset  R/W Description 
7 EN 0 R/W
Бит управления выводом наблюдения 3 на P1 [3].
0 - Выход наблюдения отключен
1 - Выход наблюдения включен
Примечание. Если этот параметр включен, он переписывает стандартное поведение GPIO P1.3.
6:0 SEL[6:0] 000 0000 R/W
Выберите выходной сигнал на выходе наблюдения 3
111 1011 (123): rfc_obs_sig0
111 1100 (124): rfc_obs_sig1
111 1101 (125): rfc_obs_sig2
Другие: Зарезервированны

OBSSEL4 (0x6247) – Observation Output Control Register 4 - регистр управления выходом наблюдений 4

Bit  Name  Reset  R/W Description 
7 EN 0 R/W
Бит управления выводом наблюдения 4 на P1 [4].
0 - Выход наблюдения отключен
1 - Выход наблюдения включен
Примечание. Если этот параметр включен, он переписывает стандартное поведение GPIO P1.4.
6:0 SEL[6:0] 000 0000 R/W
Выберите выходной сигнал на выходе наблюдения 4
111 1011 (123): rfc_obs_sig0
111 1100 (124): rfc_obs_sig1
111 1101 (125): rfc_obs_sig2
Другие: Зарезервированны

OBSSEL5 (0x6248) – Observation Output Control Register 5 - регистр управления выходом наблюдений 5

Bit  Name  Reset  R/W Description 
7 EN 0 R/W
Бит управления выводом наблюдения 5 на P1 [5].
0 - Выход наблюдения отключен
1 - Выход наблюдения включен
Примечание. Если этот параметр включен, он переписывает стандартное поведение GPIO P1.5.
6:0 SEL[6:0] 000 0000 R/W
Выберите выходной сигнал на выходе наблюдения 5
111 1011 (123): rfc_obs_sig0
111 1100 (124): rfc_obs_sig1
111 1101 (125): rfc_obs_sig2
Другие: Зарезервированны

11 Sleep Timer - Таймер сна

Таймер отключения используется для установки периода, в течение которого система входит и выходит из режимов малой мощности PM1 и PM2. Таймер сна также используется для поддержания синхронизации в Таймере 2 при переходе в режим питания PM1 или PM2.

Основными функциями таймера сна являются следующие:

  • • 24-битный таймер с тактовой частотой 32 кГц
  • • 24-битное сравнение с прерыванием и триггером DMA
  • • 24-битный захват
Тема ................................................. ................................ страница
11.1 Общие положения ................................................ .............. 129
11.2 Сравнение таймеров ............................................... .......... 129
11.3 Захват таймера ............................................... ...................... 129
11.4 Регистры таймера сна .............................................. ........... 130

11.1 Общие положения

Таймер отключения - это 24-разрядный таймер, работающий на тактовой частоте 32 кГц (RCOSC или XOSC). Таймер начинает работать сразу после сброса и продолжает работать непрерывно.

Текущее значение таймера может быть считано из регистров SFR ST2: ST1: ST0. Когда ST0 считывается, текущее значение 24-битного счетчика фиксируется. Таким образом, регистр ST0 должен считываться перед ST1 и ST2, чтобы считывать правильное значение счетчика таймера отключения.

Таймер сна работает при работе во всех режимах питания, кроме PM3. Значение таймера сна не сохраняется в PM3. При возврате из PM1 или PM2 (где системные часы выключены) значение таймера сна в ST2: ST1: ST0 не обновляется до тех пор, пока после системных часов не будет обнаружен положительный фронт на тактовой частоте 32 кГц. перезапущен. Чтобы обеспечить считывание обновленного значения, дождитесь положительного перехода на тактовой частоте 32 кГц, выполнив опрос бита SLEEPSTA.CLK32K, прежде чем читать значение таймера сна.

Обратите внимание, что если напряжение питания падает ниже 2 В в режиме PM2, это может повлиять на интервал ожидания.

11.2 Сравнение таймеров

Событие сравнения таймера происходит, когда значение таймера равно 24-битному значению сравнения и на тактовой частоте 32 кГц имеется положительный фронт. Значение сравнения устанавливается путем записи в регистры ST2: ST1: ST0. Запись в ST0, когда STLOAD.LDRDY равен 1, инициирует загрузку нового значения сравнения, то есть самых последних значений, записанных в регистры ST2, ST1 и ST0. Это означает, что при записи значения сравнения, ST2 и ST1 должен быть записан до ST0. STLOAD.LDRDY равен 0 во время загрузки, и программное обеспечение не должно начинать новую загрузку, пока STLOAD.LDRDY не перевернется обратно на 1.

При установке нового значения сравнения значение должно быть как минимум на 5 больше текущего значения таймера отключения. В противном случае событие сравнения таймера может быть потеряно.

Бит разрешения прерывания для ST-прерывания - IEN0.STIE, а флаг прерывания - IRCON.STIF. Когда происходит событие сравнения таймера, устанавливается флаг прерывания IRCON.STIF.

В PM1 и PM2 событие сравнения таймера сна может использоваться для пробуждения устройства и возврата к активной работе в активном режиме. По умолчанию значение сравнения после сброса составляет 0xFF FFFF.

Для всех устройств, кроме CC2540 и CC2541, событие сравнения таймера сна может также использоваться в качестве триггера DMA (триггер DMA 11 в таблице 8-1).

Обратите внимание, что если напряжение питания падает ниже 2 В в режиме PM2, это может повлиять на интервал ожидания.

11.3 Захват таймера

Захват таймера происходит, когда установлен флаг прерывания для выбранного контакта ввода-вывода, и это событие было обнаружено 32-кГц тактовым генератором. Захват таймера сна включается настройкой STCC.PORT [1: 0] и STCC.PIN [2: 0] к выводу ввода / вывода, который должен использоваться для запуска захвата. Когда STCS.VALID становится высоким, значение захвата в STCV2: STCV1: STCV0 может быть прочитано. Захваченное значение на 1 больше, чем значение в данный момент для события на выводе ввода/вывода. Поэтому программное обеспечение должно вычитать 1 из зафиксированного значения, если требуется абсолютное время. Чтобы включить новый захват, выполните следующие действия:
1. Очистить STCS.VALID.
2. Подождите, пока SLEEPSTA.CLK32K не станет низким.
3. Подождите, пока SLEEPSTA.CLK32K не станет высоким.
4. Очистите флаг прерывания вывода в P0IFG, Регистр P1IFG или P2IFG.

Эта последовательность, использующая передний фронт на P0.0 в качестве примера, показана на рисунке 11-1. Невыполнение этой процедуры может привести к прекращению работы функции захвата до сброса микросхемы.

Рисунок 11-1. Захват таймера сна (пример использования Rising Edge на P0_0)

Невозможно переключить вывод захвата ввода, пока захват включен. Захват должен быть отключен, прежде чем можно будет выбрать новый вывод ввода-вывода. Чтобы отключить захват, выполните следующие действия (обратите внимание, что прерывания отключаются до половины цикла 32 кГц или 15,26 мкс):
1. Отключить прерывания.
2. Подождите, пока SLEEPSTA.CLK32K не станет высоким.
3. Установите для STCC.PORT [1: 0] значение 3. Это отключит захват
 

11.4 Регистры таймера сна

Регистры, используемые таймером сна:

• ST2 - Таймер сна 2
• ST1 - Таймер сна 1
• ST0 - Таймер сна 0
• STLOAD - состояние загрузки таймера сна
• STCC - Контроль захвата таймера сна
• STCS - состояние захвата таймера сна
• STCV0 - Байт значения захвата таймера сна 0
• STCV1 - Байт значения захвата таймера сна 1
• STCV2 - Байт значения захвата таймера сна 2

ST2 (0x97) – Sleep Timer 2

Bit  Name  Reset  R/W Description 
7:0 ST2[7:0] 0x00 R/W Таймер сна рассчитывает или сравнивает значение. При считывании этот регистр возвращает старшие биты [23:16] счетчика таймера сна. При записи этот регистр устанавливает старшие биты [23:16] сравниваемого значения. Считываемое значение фиксируется во время чтения регистра ST0. Записанное значение фиксируется при записи ST0.

ST1 (0x96) – Sleep Timer 1

Bit  Name  Reset  R/W Description 
7:0 ST1[7:0] 0x00 R/W Таймер сна рассчитывает или сравнивает значение. При считывании этот регистр возвращает средние биты [15: 8] счетчика таймера сна. При записи этот регистр устанавливает средние биты [15: 8] значения сравнения. Считываемое значение фиксируется во время чтения регистра ST0. Записанное значение фиксируется при записи ST0.

ST0 (0x95) – Sleep Timer 0

Bit  Name  Reset  R/W Description 
7:0 ST0[7:0] 0x00 R/W Таймер сна рассчитывает или сравнивает значение. При считывании этот регистр возвращает младшие биты [7: 0] счетчика таймера сна. При записи этот регистр устанавливает младшие биты [7: 0] сравниваемого значения. Записи в этот регистр игнорируются, если только STLOAD.LDRDY не равен 1.

STLOAD (0xAD) – Sleep Timer Load Status - состояние загрузки таймера сна

Bit  Name  Reset  R/W Description 
7:1 - 0000 000 R0 Зарезервированный
0 LDRDY 1 R Загрузка готова. Этот бит равен 0, когда таймер сна загружает 24-битное значение сравнения, и 1, когда таймер сна готов начать загрузку нового значения сравнения.

STCC (0x62B0) – Sleep Timer Capture Control - Контроль захвата таймера сна

Bit  Name  Reset  R/W Description 
7:5 - 000 R0 Зарезервированный
4:3 PORT[1:0] 11 R Выбор порта. Допустимые значения: 0–2. Захват отключен, если установлено значение 3, то есть выбрана неверная настройка.
2:0 PIN[2:0] 111   Пин выбрать. Допустимые значения: 0–7, если PORT [1: 0] равен 0 или 1, 0–5, если PORT [1: 0] равен 2. Захват отключен, если выбрана неверная настройка.

STCS (0x62B1) – Sleep Timer Capture Status - Состояние захвата таймера сна

Bit  Name  Reset  R/W Description 
7:1 - 0000 000 R0 Зарезервированный
0 VALID 0 R/W0 Захват действующий флаг. Установите в 1, когда значение захвата в STCV было обновлено. Очистить явно, чтобы разрешить новый захват.

STCV0 (0x62B2) – Sleep Timer Capture Value Byte 0 - Байт значения захвата таймера сна 0

Bit  Name  Reset  R/W Description 
7:0 STCV[7:0] 0x00 R Биты [7: 0] значения захвата таймера сна

STCV1 (0x62B3) – Sleep Timer Capture Value Byte 1 - Байт 1 значения захвата таймера сна

Bit  Name  Reset  R/W Description 
7:0 STCV[15:8] 0x00 R Биты [15: 8] значения захвата таймера сна

STCV2 (0x62B4) – Sleep Timer Capture Value Byte 2 - Байт значения захвата таймера сна 2

Bit  Name  Reset  R/W Description 
7:0 STCV[23:16] 0x00 R Биты [23:16] значения захвата таймера сна

12 ADC - АЦП

АЦП (в CC2530, CC2531, CC2540 и CC2541) поддерживает 14-разрядное аналого-цифровое преобразование с количеством эффективных битов до 12 (ENOB). Это включает в себя аналоговый мультиплексор с до восьми индивидуально конфигурируемых каналов и генератором опорного напряжения. Результаты преобразования могут быть записаны в память через DMA. Доступны несколько режимов работы.

Тема ................................................. ................................... страница

12.1 АЦП Введение ............................................... ................ 133
12.2 Работа АЦП ............................................... ................... 133

12.1 Введение АЦП

АЦП поддерживает до 14-битного аналого-цифрового преобразования с ENOB до 12 бит (эффективное количество бит). Это включает в себя аналоговый мультиплексор с до восьми индивидуально конфигурируемых каналов и генератором опорного напряжения. Результаты преобразования могут быть записаны в память через DMA. Доступны несколько режимов работы.

Основные характеристики АЦП следующие:

  • Выбираемые скорости прореживания, которые также устанавливают эффективное разрешение (от 7 до 12 бит).
  • Восемь отдельных входных каналов, односторонний или дифференциальный выбор напряжения
  • Опорное напряжение выбирается в качестве внутреннего, внешнего однополярного, внешнего дифференциала, или AVDD5
  • Генерация запроса прерывания
  • DMA срабатывает в конце конверсии
  • Вход датчика температуры
  • Возможность измерения батареи

Рисунок 12-1. Блок-схема АЦП

12.2 Работа АЦП

В этом разделе описана общая настройка и работа АЦП, а также описано использование регистров управления и состояния АЦП, к которым обращается ЦПУ.

12.2.1 Входы АЦП

Сигналы на выводах порта 0 могут использоваться как входы АЦП. В дальнейшем эти выводы порта называются выводами AIN0 – AIN7. Входные контакты AIN0 – AIN7 подключены к АЦП.

Можно настроить входы как односторонние или дифференциальные. В случае выбора дифференциальных входов дифференциальные входы состоят из пар входов AIN0 – AIN1, AIN2 – AIN3, AIN4 – AIN5 и AIN6 – AIN7. Обратите внимание, что на эти контакты нельзя подавать отрицательный источник питания или источник питания выше, чем VDD (нерегулируемая мощность). Это разница между выводами каждой пары, которая преобразуется в дифференциальном режиме.

В дополнение к входным контактам AIN0 – AIN7 выход встроенного датчика температуры может быть выбран в качестве входа для АЦП для измерения температуры. Для этого регистры TR0.ADCTM и ATEST.ATESTCTRL должны быть установлены, как описано в описаниях регистров в Разделе 12.2.10 и Разделе 23.15.3 (CC253x) или Разделе 24.1 (CC2540), или Разделе 25.12 (CC2541) ,

Также можно выбрать напряжение, соответствующее AVDD5, деленное на 3, в качестве входа АЦП. Этот вход позволяет реализовать, например, монитор батареи в приложениях, где требуется эта функция.

Обратите внимание, что ссылка в этом случае не должна зависеть от напряжения батареи; например, напряжение AVDD5 не должно использоваться в качестве эталона.

Несимметричные входы от AIN0 до AIN7 представлены номерами каналов от 0 до 7. Каналы с номерами от 8 до 11 представляют дифференциальные входы, состоящие из AIN0 – AIN1, AIN2 – AIN3, AIN4 – AIN5, и AIN6 – AIN7. Номера каналов с 12 по 15 представляют GND (12), датчик температуры (14) и AVDD5 / 3 (15), причем канал 13 зарезервирован. Эти значения используются в полях ADCCON2.SCH и ADCCON3.SCH.

В​ход АЦП представляет собой ступень с переключаемой емкостью, которая потребляет ток во время преобразования. Например, эквивалентное входное сопротивление типичного устройства оказалось равным 176 кОм при использовании с входное напряжение 3 В, частота прореживания 512 × и внутреннее задание.

Чтобы включить датчик температуры в качестве входа для АЦП, бит TR0.ADCTM должен быть установлен в 1, прежде чем установить бит ATEST.ATESTCTRL в 1. При отключении датчика температуры в качестве входа, бит ATEST.ATESTCTRL должен быть установлен в 0 перед очисткой бита TR0.ADCTM. Регистр TR0 не имеет никакого сохранения в PM2 или PM3, поэтому ATEST и TR0 должны быть очищены надлежащим образом перед входом в эти режимы питания.

12.2.2 Последовательности преобразования АЦП

АЦП может выполнять последовательность преобразований и перемещать результаты в память (через DMA) без какого-либо взаимодействия с процессором.

На последовательность преобразования можно влиять с помощью регистра APCFG (см. Раздел 7.6.6), поскольку восемь аналоговых входов в АЦП поступают от выводов ввода вывода, которые не обязательно запрограммированы как аналоговые входы. Если канал обычно должен быть частью последовательности, но соответствующий аналоговый вход отключен в регистре APCFG, то этот канал пропускается. При использовании дифференциальных входов оба контакта в дифференциальной паре должны быть установлены как контакты аналогового входа в регистре APCFG.

Биты регистра ADCCON2.SCH используются для определения последовательности преобразования АЦП из входов АЦП. Если для ADCCON2.SCH установлено значение меньше 8, последовательность преобразования содержит преобразование из каждого канала от 0 до и включая номер канала, запрограммированный в ADCCON2.SCH. Когда для ADCCON2.SCH установлено значение от 8 до 12, последовательность состоит из дифференциальных входов, начиная с канала 8 и заканчивая запрограммированным каналом. Для ADCCON2.SCH больше или равно 12 последовательность состоит только из выбранного канала.

12.2.3 Одиночное преобразование АЦП

В дополнение к этой последовательности преобразований АЦП может быть запрограммирован на выполнение одного преобразования из любого канала. Такое преобразование запускается записью в регистр ADCCON3. Преобразование начинается немедленно, если последовательность преобразования уже не выполняется, и в этом случае одиночное преобразование выполняется, как только эта последовательность завершена.

12.2.4 Режимы работы АЦП

В этом разделе описаны режимы работы и инициализация преобразований.

АЦП имеет три управляющих регистра: ADCCON1, ADCCON2 и ADCCON3. Эти регистры используются для настройки АЦП и для отчета о состоянии.

Бит ADCCON1.EOC - это бит состояния, который устанавливается на высокий уровень, когда преобразование заканчивается, и сбрасывается при чтении ADCH.

Бит ADCCON1.ST используется для запуска последовательности преобразований. Последовательность начинается, когда этот бит установлен на высокий уровень, ADCCON1.STSEL равен 11, и в настоящее время преобразование не выполняется. Когда последовательность завершена, этот бит автоматически очищается.

Биты ADCCON1.STSEL выбирают событие, которое начинает новую последовательность преобразований. Возможные варианты: нарастающий фронт на внешнем выводе P2.0, конец предыдущей последовательности, событие сравнения канала 0 таймера 1 или ADCCON1.ST = 1.

Регистр ADCCON2 контролирует, как выполняется последовательность преобразований.

ADCCON2.SREF используется для выбора опорного напряжения. Опорное напряжение должно быть изменено только тогда, когда преобразование не работает.

Биты ADCCON2.SDIV выбирают скорость прореживания, тем самым также разрешение и время, необходимое для завершения преобразования, и, следовательно, частоту дискретизации. Скорость прореживания должна изменяться только тогда, когда не выполняется преобразование.

Последний канал последовательности выбирается с помощью битов ADCCON2.SCH, как описано ранее.

Регистр ADCCON3 управляет номером канала, опорным напряжением и скоростью прореживания для одного преобразования. Одиночное преобразование происходит сразу после записи в регистр ADCCON3 или, если последовательность преобразования продолжается, сразу после ее завершения. Кодирование битов регистров точно такое же, как и для ADCCON2.

12.2.5. Результаты преобразования АЦП

Результат цифрового преобразования представлен в виде дополнения 2 с. Ожидается, что для односторонних конфигураций результат будет положительным. Это связано с тем, что в результате получается разница между входным сигналом и землей, которая всегда имеет положительную подпись (Vconv = Vinp - Vinn, где Vinn = 0 В). Значение максимум достигается, когда входной сигнал равен VREF, выбранного опорного напряжения. Для дифференциальных конфигураций разница между двумя выводами преобразуется, и эта разница может быть отрицательно подписана.

​Например, при скорости прореживания 512 с использованием только 12 MSB регистра результатов цифрового преобразования максимальное значение 2047 достигается, когда аналоговый вход (Vconv) равен VREF, и минимальное значение –2048 достигается, когда аналоговый вход равен –VREF.

Результат цифрового преобразования доступен в ADCH и ADCL, если для ADCCON1.EOC установлено значение 1. Обратите внимание, что результат преобразования всегда находится в разделе MSB объединенных регистров ADCH и ADCL.

Когда биты ADCCON2.SCH считываются, они указывают канал, по которому происходит преобразование. Результаты в ADCL и ADCH обычно применяются к предыдущему преобразованию. Если последовательность преобразования закончилась, ADCCON2.SCH имеет значение на единицу больше, чем последний номер канала, но если номер канала, последний раз записанный в ADCCON2.SCH, был 12 или более, это же значение считывается обратно.

12.2.6 АЦП опорного напряжения

Положительное опорное напряжение для аналого-цифрового преобразования выбирается в качестве либо внутренне генерируемого напряжения, контактный AVDD5, внешнее напряжение, приложенное к входному AIN7 ввода, или дифференциальное напряжение, приложенное к входам AIN6-AIN7.

Точность результатов преобразования зависит от стабильности и шумовых свойств опорного напряжения. Смещение от полезного напряжения вносит ошибку усиления в АЦП, пропорциональную отношению полезного напряжения к фактическому напряжению. Шум на эталоне должен быть ниже шума квантования АЦП, чтобы обеспечить достижение заданного SNR.

12.2.7 Время преобразования АЦП

АЦП должен использоваться только с 32-МГц XOSC, и пользователь не должен реализовывать деление системных часов. Фактическая частота дискретизации АЦП 4 МГц генерируется фиксированным внутренним делением. Время, необходимое для выполнения преобразования, зависит от выбранной скорости прореживания. В общем, время конвертации определяется как:

Tconv = (decimation rate + 16) × 0.25 μs.

12.2.8 Прерывания АЦП

АЦП генерирует прерывание, когда одиночное преобразование, инициированное записью в ADCCON3, завершено. Когда преобразование из последовательности завершено, прерывание не генерируется.

12.2.9 Триггеры ADC DMA

АЦП генерирует триггер DMA каждый раз, когда преобразование из последовательности завершено. Когда одиночное преобразование завершается, триггер DMA не генерируется.

Существует один триггер DMA для каждого из восьми каналов, определенных первыми восемью возможными настройками для ADCCON2.SCH. Триггер DMA активен, когда новый образец готов из преобразования для канала. Триггеры DMA названы ADC_CHsd в таблице 8-1, где s - это односторонний канал, а d - дифференциальный канал.

Кроме того, один триггер DMA, ADC_CHALL, активен, когда новые данные готовы из любого из каналов в последовательности преобразования АЦП.

12.2.10 Регистры АЦП

В этом разделе описываются регистры АЦП.

ADCL (0xBA) – ADC Data, Low

Bit  Name  Reset  R/W Description 
7:2 ADC[5:0] 0000 00 R Наименее значимая часть результата преобразования АЦП
1:0 - 00 R0 Зарезервированный. Всегда читать как 0

ADCH (0xBB) – ADC Data, High

Bit  Name  Reset  R/W Description 
7:0 ADC[13:6] 0x00 R Наиболее значимая часть результата преобразования АЦП

ADCCON1 (0xB4) – ADC Control 1

Bit  Name  Reset  R/W Description 
7 EOC 0 R/H0
Конец конверсии. Сбрасывается, когда ADCH прочитан. Если новое преобразование завершено до считывания предыдущих данных, бит EOC остается высоким.
0: преобразование не завершено
1: преобразование завершено
6 ST 0 R/W1/H0
Начать преобразование. Читайте как 1, пока преобразование не завершится
0: конверсия не выполняется
1: Запустите последовательность преобразования, если ADCCON1.STSEL = 11 и последовательность не запущена.
5:4 STSEL[1:0] 11 R/W
Начните выбирать. Выбирает событие, которое начинает новую последовательность конверсий
00: Внешний триггер на выводе P2.0
01: Полная скорость. Не жди триггеров
10: Таймер 1, канал 0, событие сравнения
11: ADCCON1.ST = 1
3:2 - 00 R/W Управляет 16-битным генератором случайных чисел. См. ADCCON1 (0xB4) - описание управления АЦП 1 в разделе 14.3.
1:0 - 11 R/W Зарезервированный. Всегда установлен на 11

ADCCON2 (0xB5) – ADC Control 2

Bit  Name  Reset  R/W Description 
7:6 SREF[1:0] 00 R/W
Выбор опорного напряжения используется для последовательности преобразований
00: Внутреннее опорное напряжение
01: Внешнее опорное напряжение на вывод AIN7
10: Вывод AVDD5
11: Внешнее опорное напряжение на дифференциальном входе AIN6 – AIN7
5:4 SDIV[1:0] 01 R/W
Устанавливает частоту дисктретизации для каналов, включенных в последовательность преобразований. Частота дискретизации также определяет разрешение и время, необходимое для завершения преобразования.
00: 64 частота дискретизации (настройка 7 бит ENOB)
01: 128 частота дискретизации (настройка 9 бит ENOB)
10: 256 частота дискретизации (настройка 10 бит ENOB)
11: 512 частота дискретизации (настройка 12 бит ENOB)
3:0 SCH[3:0] 0000 R/W
Выбор канала последовательности. Выбирает конец последовательности. Последовательность может быть от AIN0 до AIN7 (SCH ≤ 7) или от дифференциального входа AIN0 – AIN1 до AIN6 – AIN7 (8 ≤ SCH ≤ 11). Для других настроек выполняется только одно преобразование.
При считывании эти биты указывают номер канала, на котором выполняется преобразование.
0000: AIN0
0001: AIN1
0010: AIN2
0011: AIN3
0100: AIN4
0101: AIN5
0110: AIN6
0111: AIN7
1000: AIN0 – AIN1
1001: AIN2 – AIN3
1010: AIN4 – AIN5
1011: AIN6 – AIN7
1100: GND
1101: зарезервировано
1110: датчик температуры
1111: VDD / 3

ADCCON3 (0xB6) – ADC Control 3

Bit  Name  Reset  R/W Description 
7:6 EREF[1:0] 00 R/W
Выбор опорного напряжения используется для диночного преобразования
00: Внутреннее опорное напряжение
01: Внешнее опорное напряжение на вывод AIN7
10: Вывод AVDD5
11: Внешнее задание на дифференциальном входе AIN6 – AIN7
5:4 EDIV[1:0] 00 R/W
Устанавливает частоту дискретизации, используемую для одиночного преобразования. Частота дискретизации также определяет разрешение и время, необходимое для завершения преобразования.
00: 64 скорость прореживания (7 бит ENOB)
01: 128 скорость прореживания (9 бит ENOB)
10: 256 скорость прореживания (10 бит ENOB)
11: 512 скорость прореживания (12 бит ENOB)
3:0 ECH[3:0] 0000 R/W
Выбор одного канала. Выбирает номер канала одиночного преобразования, которое запускается путем записи в ADCCON3.
0000: AIN0
0001: AIN1
0010: AIN2
0011: AIN3
0100: AIN4
0101: AIN5
0110: AIN6
0111: AIN7
1000: AIN0 – AIN1
1001: AIN2 – AIN3
1010: AIN4 – AIN5
1011: AIN6 – AIN7
1100: GND
1101: зарезервировано
1110: датчик температуры
1111: VDD/3

TR0 (0x624B) – Test Register 0

Bit  Name  Reset  R/W Description 
7:1 - 0000 000 R0 Зарезервированный. Написать как 0.
0 ADCTM 0 R/W Установите 1, чтобы подключить датчик температуры к SOC_ADC. См. Также описание регистра ATEST для включения датчика температуры в разделе 23.15.3 (CC253x) или в разделе 24.1 (CC2540) или в разделе 25.12.3 (CC2541).

 

Ваша оценка: Нет Средняя: 10 (2 голосов)