Микроконтроллер НИИЭТ К1921ВК035
К1921ВК035 — 32-разрядный микроконтроллер АО «НИИЭТ» (Воронеж) для систем управления электроприводом: ядро с плавающей запятой на 100 МГц, три блока ШИМ, квадратурный декодер для датчика положения ротора и АЦП, который сам запускает ШИМ, — в металлокерамическом корпусе 6×6 мм.
Обновлено Редакция GAW
К1921ВК035 — микроконтроллер для систем управления электроприводом. По руководству пользователя его ядро выполняет команды Thumb и Thumb-2, умеет DSP-операции и операции с плавающей запятой одинарной точности, а отладка работает через JTAG и SWD. НИИЭТ указывает производительность 125 DMIPS и называет функциональным аналогом LM4F132 из семейства Stellaris компании Texas Instruments.
Характеристики
- Частота: до 100 МГц; RC-генератор 8 МГц, кварц 8–24 МГц или внешний сигнал до 40 МГц, PLL.
- Память: флеш-память 64 КБ (64 страницы по 1 КБ), загрузочная флеш-память 4 КБ, кэш команд и данных по 1 КБ, ОЗУ 16 КБ; DMA на 16 каналов.
- Для электропривода: три двухканальных блока ШИМ с входом аварии, квадратурный декодер QEP, три блока захвата, четырёхканальный 12-разрядный АЦП с цифровыми компараторами, который запускает ШИМ по окончании преобразования.
- Интерфейсы: два UART, CAN 2.0B с выводами узлов CAN0 и CAN1, I²C, SPI; четыре 32-разрядных таймера и сторожевой таймер.
- Питание: 3,3 В ± 0,3 В по цифровой и аналоговой части, ток потребления — не больше 150 мА при 100 МГц; выводу CX нужен внешний конденсатор 4,7 мкФ для встроенного регулятора.
- Порты: A и B по 16 линий, ток вывода — до 6 мА, суммарный ток портов — не больше 50 мА; электрические нормы заданы при −60, 25 и 125 °C.
Выводы
Корпус МК 5162.48-1 — 48 выводов, 6×6 мм. Цифровое питание 3,3 В — выводы 7, 19, 31, 43, цифровая земля — 6, 18, 30, 42; аналоговое питание — 24, аналоговая земля — 25; CX — 32, RESET# — 33, кварц XO_OSC и XI_OSC — 34 и 35, SERVEN — 36, NMI# — 37. Функции линий портов:
| Вывод | Линия | Альтернативная функция |
|---|---|---|
| 4 | A0 | I2C_SCL |
| 5 | A1 | I2C_SDA |
| 8 | A2 | JTAG_TCK (SWCLK) |
| 9 | A3 | JTAG_TMS (SWDIO) |
| 10 | A4 | JTAG_TDI, ECAP0_IO |
| 11 | A5 | JTAG_TDO (SWO), ECAP1_IO |
| 12 | A6 | JTAG_TRST, ECAP2_IO |
| 13 | A7 | PWM_TZ |
| 14 | A8 | PWM0_A |
| 15 | A9 | PWM0_B |
| 16 | A10 | PWM1_A |
| 17 | A11 | PWM1_B |
| 20 | A12 | PWM2_A |
| 21 | A13 | PWM2_B |
| 22 | A14 | TMR0_IN |
| 23 | A15 | TMR1_IN |
| 26 | B0 | ADC_CH0 |
| 27 | B1 | ADC_CH1 |
| 28 | B2 | ADC_CH2 |
| 29 | B3 | ADC_CH3 |
| 38 | B4 | SPI_FSS |
| 39 | B5 | SPI_SCK |
| 40 | B6 | SPI_RX |
| 41 | B7 | SPI_TX |
| 44 | B8 | UART1_TX |
| 45 | B9 | UART1_RX |
| 46 | B10 | UART0_TX, QEP_S |
| 47 | B11 | UART0_RX, QEP_I |
| 48 | B12 | CAN1_RX, QEP_B |
| 1 | B13 | CAN1_TX, QEP_A |
| 2 | B14 | CAN0_RX |
| 3 | B15 | CAN0_TX |
После сброса линии портов — входы в третьем состоянии, кроме A2–A6: они сразу работают как JTAG. У NMI# и RESET# постоянная подтяжка к питанию, у SERVEN — к земле.
Тактирование
Частота PLL задаётся тремя коэффициентами:
Руководство ограничивает промежуточные частоты: fвх / N — от 4 до 20 МГц, fвх · M / N — от 120 до 200 МГц, выход — от 15 до 200 МГц. От кварца 8 МГц при N = 1, M = 25 и OD = 1 получается 8 · 25 = 200 МГц и на выходе 100 МГц. Флеш-память читается примерно за 30 нс, поэтому с ростом частоты нужны такты ожидания в поле LAT регистра CTRL:
| Частота ядра, не больше | 30 МГц | 60 МГц | 90 МГц | 100 МГц |
|---|---|---|---|---|
| Тактов ожидания | 0 | 1 | 2 | 3 |
После сброса LAT = 1, так что перед переходом выше 60 МГц его нужно увеличить.
Загрузка и защита
Загрузочная флеш-память (область NVR) хранит собственный загрузчик пользователя — под него отведены первые 3 КБ — и конфигурационное слово CFGWORD по смещению C00h. Его биты выбирают, откуда стартовать (BMODEDIS: 1 — из основной памяти, так по умолчанию), запрещают запись основной и загрузочной памяти (FLASHWE, NVRWE), отладку (DEBUGEN) и выводы JTAG/SWD (JTAGEN). Если отладка запрещена, микросхему возвращают к жизни сервисным стиранием через вывод SERVEN — порядок описан в вопросах ниже.
Errata
В errata от 2 июля 2021 года три ошибки. При снижении питания во время работы от PLL микроконтроллер может зависнуть при сбросе — НИИЭТ рекомендует подключить RESET# к супервизору питания. Цифровой компаратор АЦП в многократном режиме выдаёт прерывание только при первом срабатывании, а режимы удержания ШИМ — циклический и одиночный — не различаются; оба режима errata советует не использовать. Подключение к шине CAN описано в разделе «CAN», а другие отечественные микроконтроллеры — в разделе «Отечественные микроконтроллеры», например К1986ВЕ92 Миландра. Чем управляют блоки ШИМ и квадратурный декодер, рассказывает раздел «Двигатели».
Частые вопросы
Какой зарубежный аналог у К1921ВК035?
НИИЭТ называет функциональным аналогом LM4F132 семейства Stellaris компании Texas Instruments. Функциональный — значит близкий по возможностям, а не взаимозаменяемый: у К1921ВК035 свой корпус МК 5162.48-1, свои выводы и регистры периферии.
Как настроить PLL К1921ВК035 на 100 МГц?
Частота PLL равна f_in · M / N / 2^OD при ограничениях из руководства: f_in / N — от 4 до 20 МГц, f_in · M / N — от 120 до 200 МГц. От кварца 8 МГц подходит N = 1, M = 25, OD = 1: промежуточная частота 200 МГц, на выходе 100 МГц. Перед переключением на 100 МГц флеш-памяти нужно три такта ожидания.
Как разблокировать К1921ВК035, если отладка запрещена?
Сервисным стиранием: подтянуть вывод SERVEN к 3,3 В во время сброса — тогда чтение флеш-памяти запрещается, а биты DEBUGEN и JTAGEN игнорируются, — и по SWD или JTAG записать 1 в регистр SERVCTL блока SIU. Стираются и основная, и загрузочная флеш-память; конец стирания показывает флаг DONE.
Выдерживают ли выводы К1921ВК035 5 В?
Нет. По руководству высокий уровень на входе — не выше напряжения питания цифровой части, а оно от 3,0 до 3,6 В. Подавать напряжение на выводы при выключенном питании тоже нельзя.
Источники
- АО «НИИЭТ». Микросхема интегральная 1921ВК035. Руководство пользователя, 2020 — разд. 2.1 — состав: 32-разрядное ядро с FPU одинарной точности, MPU, JTAG и SWD, флеш 64 КБ и загрузочная 4 КБ, кэш команд и данных по 1 КБ, ОЗУ 16 КБ, DMA, порты A и B по 16 разрядов, четырёхканальный 12-разрядный АЦП с цифровыми компараторами, три блока ШИМ, QEP, три блока захвата, четыре 32-разрядных таймера, два UART, CAN 2.0B, I²C, SPI; табл. 2.1 — выводы; разд. 2.2 — питание 3,3 В ± 0,3 В, ток портов 6 мА и суммарно не больше 50 мА, ток потребления не больше 150 мА при 100 МГц, нормы при −60, 25 и 125 °C; разд. 4.2 — PLL; табл. 7.1 — такты ожидания флеш-памяти; табл. 7.2 — CFGWORD; разд. 7.3 — сервисное стирание; разд. 8 — 16 каналов DMA
- АО «НИИЭТ». ERRATA К1921ВК035, версия от 02.07.2021 — 1 — зависание при сбросе во время работы от PLL при снижении питания, обход — супервизор питания на RESET#; 2 — прерывания цифрового компаратора АЦП в многократном режиме приходят один раз; 3 — режимы удержания ШИМ CBC и OST не различаются
- АО «НИИЭТ». Страница продукта К1921ВК035 — тактовая частота 100 МГц, ОЗУ 16 КБ, флеш 64 КБ, питание 3,3 В ± 10 %, корпус МК5162.48-1 6×6 мм (QLCC, 48 выводов), производительность 125 DMIPS; функциональный аналог — LM4F132 семейства Stellaris (Texas Instruments)
Нашли ошибку?
Смотрите также
- Отечественные МКК1986ВЕ92, К1921ВК035, MIK32 Амур: исполнения, аналоги, документация
- Миландр К1986ВЕ92Cortex-M3 80 МГц: исполнения, выводы, загрузчик, errata, сравнение со STM32F103
- ДвигателиКоллекторные, шаговые и бесколлекторные двигатели: драйверы и управление
- CANCAN_H и CAN_L, терминаторы, кадр, арбитраж, ошибки, тайминг, MCP2515