Микроконтроллер CH32V003
CH32V003 — 32-разрядный микроконтроллер Nanjing Qinheng Microelectronics (WCH) на ядре RISC-V: 48 МГц, 16 КБ флеш-памяти, питание от 2,7 до 5,5 В и отладка по одному проводу, в корпусах от SOP8 до TSSOP20.
Обновлено Редакция GAW
CH32V003 построен на ядре QingKe RISC-V2A с набором команд RV32EC и быстрым контроллером прерываний PFIC с аппаратным стеком прерываний. Системная частота — 48 МГц: встроенный RC-генератор на 24 МГц, умноженный на два. Подробнее об архитектуре — в термине «RISC-V».
Исполнения
| Исполнение | Корпус | Линии ввода-вывода | Входы АЦП | SPI | I²C, USART |
|---|---|---|---|---|---|
| CH32V003F4P6 | TSSOP20 | 18 | 8 | 1 | по одному |
| CH32V003F4U6 | QFN20 | 18 | 8 | 1 | по одному |
| CH32V003A4M6 | SOP16 | 14 | 6 | — | по одному |
| CH32V003J4M6 | SOP8 | 6 | 6 | — | по одному |
У всех исполнений 16 КБ флеш-памяти, 2 КБ ОЗУ, 16-битный таймер с комплементарными ШИМ-выходами, мёртвым временем и аварийным отключением, 16-битный таймер общего назначения, два сторожевых таймера, DMA на 7 каналов, операционный усилитель с компаратором и 96-битный уникальный номер.
Питание и уровни
Рабочее питание VDD — от 2,7 до 5,5 В; с АЦП WCH рекомендует не меньше 2,8 В. Выходы дают ток до 8 мА с гарантированными уровнями (низкий не выше 0,4 В, высокий не ниже VDD − 0,4 В) и до 20 мА без гарантии уровней; суммарный ток по выводу VDD — не больше 100 мА. Выводы PC1, PC2, PC5 и PC6 отмечены как FT и выдерживают до 5,5 В при любом питании. Внутренние подтяжки — 35–55 кОм. Флеш-память — не меньше 10 000 циклов записи и хранение 10 лет.
Выводы TSSOP20
| Вывод | Линия | Функции после сброса | Вывод | Линия | Функции после сброса |
|---|---|---|---|---|---|
| 1 | PD4 | UCK, T2CH1ETR, A7, OPO | 11 | PC1 (FT) | SDA, NSS |
| 2 | PD5 | UTX, A5 | 12 | PC2 (FT) | SCL, URTS, T1BKIN |
| 3 | PD6 | URX, A6 | 13 | PC3 | T1CH3 |
| 4 | PD7 | NRST, T2CH4, OPP1 | 14 | PC4 | T1CH4, MCO, A2 |
| 5 | PA1 | T1CH2, A1, OPN0; кварц OSCI | 15 | PC5 (FT) | SCK, T1ETR |
| 6 | PA2 | T1CH2N, A0, OPP0; кварц OSCO | 16 | PC6 (FT) | MOSI |
| 7 | VSS | общий | 17 | PC7 | MISO |
| 8 | PD0 | T1CH1N, OPN1 | 18 | PD1 | SWIO, T1CH3N, AETR2 |
| 9 | VDD | питание | 19 | PD2 | T1CH1, A3 |
| 10 | PC0 | T2CH3 | 20 | PD3 | A4, T2CH2, AETR, UCTS |
Обозначения даташита: A — вход АЦП, T1 и T2 — таймеры TIM1 и TIM2, U — USART, OP — операционный усилитель. Большинство функций можно перенести на другие выводы регистром AFIO. В SOP8 на один вывод выведено несколько линий: на вывод 1 — PD6 и PA1, на вывод 8 — PD1, PD4 и PD5; остальные выводы — VSS (2), PA2 (3), VDD (4), PC1 (5), PC2 (6) и PC4 (7).
АЦП и тактирование
АЦП 10-битный, с восемью внешними и двумя внутренними каналами; входной диапазон — от VSS до VDD. Преобразование длится 14 тактов: при частоте АЦП 12 МГц это 857 тысяч выборок в секунду, а 24 МГц допустимы только при питании 4,5–5,5 В. Полная погрешность при 12 МГц — 2 единицы младшего разряда типично и до 6 максимально. Встроенный генератор HSI на 24 МГц откалиброван на заводе — от −2,2 до +2,2 % во всём диапазоне температур; для точного UART и таймеров можно подключить кварц 4–25 МГц к выводам PA1 и PA2. Насколько точной должна быть частота для UART, разбирает раздел «UART».
Отладка и прошивка
Отлаживают и прошивают CH32V003 по однопроводному интерфейсу SDI — вывод PD1 (SWIO), который включён сразу после подачи питания и сброса; генератор HSI при этом должен работать. В системной памяти есть загрузчик на 1920 байт. Другие микроконтроллеры на RISC-V — в разделе «RISC-V», например отечественный MIK32 Амур; близкий по месту в линейках 32-битный ARM — STM32F0.
Частые вопросы
Можно ли питать CH32V003 от 5 В?
Да: по даташиту рабочее питание VDD — от 2,7 до 5,5 В, а при использовании АЦП WCH рекомендует не меньше 2,8 В. Выходы дают уровень от питания, поэтому при 5 В микроконтроллер работает с пятивольтовой логикой напрямую.
Чем отличаются CH32V003F4P6, A4M6 и J4M6?
Корпусом и числом выводов при одном кристалле: F4P6 — TSSOP20 с 18 линиями ввода-вывода и 8 входами АЦП, F4U6 — то же в QFN20, A4M6 — SOP16 с 14 линиями и 6 входами АЦП, J4M6 — SOP8 с 6 линиями. В SOP16 и SOP8 нет SPI, но есть I²C и USART.
Как прошить и отлаживать CH32V003?
Через однопроводной отладочный интерфейс SDI — вывод PD1 (SWIO), который работает сразу после включения и сброса. Для отладки должен быть включён генератор HSI. В репозитории WCH есть руководство к собственному отладчику WCH-Link.
Какие выводы CH32V003 выдерживают 5 В при питании 3,3 В?
Отмеченные в таблице выводов как FT: PC1, PC2, PC5 и PC6. На них допустимо до 5,5 В независимо от питания, на остальных — не больше VDD + 0,3 В.
Источники
- WCH (Nanjing Qinheng Microelectronics). CH32V003 Datasheet, V1.8 (CH32V003DS0) — ядро QingKe RISC-V2A, RV32EC, 48 МГц, PFIC с двумя уровнями вложенности; 2 КБ SRAM, 16 КБ флеш, загрузчик 1920 Б; таблица исполнений F4P6, F4U6, A4M6, J4M6; табл. 2-1 — выводы четырёх корпусов, FT — выводы, выдерживающие 5 В; HSI 24 МГц (после калибровки от −2,2 до +2,2 % при −40…85 °C), LSI 128 кГц, HSE 4–25 МГц; табл. 3-2 — VDD 2,7–5,5 В, с АЦП рекомендуется от 2,8 В; ток вывода ±8 мА (±20 мА без гарантии уровней); подтяжки 35–55 кОм; табл. 3-15 — 10 000 циклов записи флеш-памяти, хранение 10 лет; табл. 3-23 — 10-битный АЦП, вход от VSS до VDD, преобразование 14 тактов, 857 тыс. выб./с при 12 МГц; отладка SDI на выводе SWIO
- WCH. Репозиторий openwch/ch32v003 на GitHub — обзор серии: QingKe RISC-V2A, 48 МГц, питание 3,3 или 5 В, −40…+85 °C, 18 линий ввода-вывода, корпуса TSSOP20, QFN20, SOP16, SOP8; ссылки на даташит, reference manual и руководство QingKe V2; руководство WCH-Link и примеры
Нашли ошибку?
Смотрите также
- RISC-VCH32V003, MIK32 Амур, ESP32-C и RP2350: ядра, частоты, ссылки на страницы
- RISC-VАрхитектура набора команд: расширения, ядра в ESP32 и RP2350
- Микрон MIK32 АмурRISC-V SCR1 32 МГц: память и загрузка, выводы, АЦП до 1,2 В, прошивка, errata
- STM32F0Cortex-M0, до 48 МГц: F030/F070, F031–F091, F042/F072, F0x8 — линейки и распиновки
- UARTКадр 8N1, скорость и допуск, TX и RX, уровни, USB–UART, AVR и STM32