WeAct CH32X035F8U6 Core Board

WeAct Studio · CH32X035F8U6 Core Board V1.0, QFN20

RISC-V плата для USB-устройств и автоматики

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьСредне
Проекты с компонентом

О МОДУЛЕ

Что делает CH32X035F8U6 Core Board V1.0, QFN20

CH32X035F8U6 Core Board подходит для USB-периферии и небольших контроллеров: например, USB-пульта с кнопками и светодиодами. Использует ядро WCH QingKe V4C, не STM32.

Именно исполнение F8U6/QFN20 поддерживает USB Device; USB Host, встречающийся в описании семейства, этому корпусу не приписывается. CodeFlash для приложения составляет 62 КБ по datasheet WCH, несмотря на обозначение 64KB ROM в кратком README WeAct.

В MCU есть USB PD/Type-C контроллер и PHY. Они обрабатывают протокол, а напряжение нагрузки задаёт отдельная силовая схема. Наличие PD не превращает плату в готовый универсальный блок питания. Перед работой с PD требуется проверить схему, перемычки CC и допустимые напряжения нагрузки. Стартовый пример использует обычное USB-питание 5 В и не запрашивает PD-профили.

Важное ограничение партии: если пятый символ номера партии справа равен 0, аппаратный I²C и каналы ADC 3, 7, 11, 15 недоступны по datasheet WCH. Номер партии на фотографии достоверно не установлен. Перед выбором I²C или этих ADC-каналов проверить маркировку микросхемы; поэтому I²C не включён в безусловные фильтры этой карточки.

Характеристики

Микроконтроллер
CH32X035F8U6, QFN20
Частота до
48 МГц
Доступная CodeFlash
62 КБ
RAM
20 КБ
GPIO на боковых разъёмах
15
Всего I/O MCU
19
Прочие выводы
PC18/PC19 — SDI; PC16/PC17 — USB; PC14/PC15 совмещены с CC через перемычки
Периферия
3 USART, 1 SPI; PWM, 12-бит ADC. I²C и часть ADC-каналов зависят от номера партии
USB Host для F8U6
Нет
USB PD
Контроллер протокола + PHY; силовые ограничения определяет схема платы
Беспроводная связь
Нет
Размеры PCB
30,48 × 17,78 мм
Ограничение партии
Пятый символ номера партии справа = 0: нет I²C и ADC 3/7/11/15; партию проверять по чипу
Интерфейс
SPI, UART
Питание модуля
Первый запуск: USB-C 5 В; GPIO и 3V3: 3,3 В. Схема WeAct V1.0 указывает вход VCC 3,3–20 В, но это диапазон входа её преобразователя, а не допустимый уровень GPIO и не обещание PD-мощности. VBUS может измениться после PD-переговоров. Не подавать повышенное напряжение на 3V3/GPIO и не питать от двух источников.

ПРАКТИКА

Подключение

Схема подключения
Контакт модуляКонтакт платыНазначение
USB-CCH32X035F8U6 Core Board: USB-CОбычные 5 В; пример не выполняет USB PD-переговоров
Встроенный LEDPB12Активный HIGH, штатный Blink
WCH-LinkE: SWDIO / DIOPC18 / DIOОпциональная прошивка/отладка через двухпроводный SDI
WCH-LinkE: SWCLK / DCKPC19 / DCKВ режиме RISC-V; общая GND, при USB-питании питание программатора не соединять

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать WeAct CH32X035F8U6 Core Board в мой проект. Сначала уточни задачу, среду разработки и подключаемые устройства. Используй документацию именно этой платы. Разделяй питание и логику, проверь занятые выводы. Дай схему подключения, зависимости, минимальный пример с подходящим API, ожидаемый результат и разбор ошибок. Не обещай аппаратных тестов и возможностей неподходящего стека. Проверь номер партии CH32X035: при нуле в пятом символе справа аппаратный I²C и ADC 3/7/11/15 недоступны.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Среда
MounRiver Studio; Examples/01-Blink

Полный проект WeAct для CH32X035F8U6

Светодиод
GPIOB / GPIO_Pin_12

PB12 по схеме и штатному примеру, активный HIGH

PD
Не используется в этом примере

Не включать 02-PD_Sink при первом Blink; не смешивать 3,3 В GPIO и VBUS

Зависимости
debug.h; WCH CH32X035 Peripheral Library

Все startup/linker/peripheral файлы брать из одного проекта 01-Blink

Партия
Проверить пятый символ справа в номере партии

Значение 0 исключает I²C и ADC 3/7/11/15; к Blink PB12 ограничение не относится

Первый запуск: безопасный Blink без USB PD

cpp
#include "debug.h"

int main(void) {
    GPIO_InitTypeDef led = {0};
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    SystemCoreClockUpdate();
    Delay_Init();
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    led.GPIO_Pin = GPIO_Pin_12;
    led.GPIO_Mode = GPIO_Mode_Out_PP;
    led.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &led);
    while (1) {
        GPIO_SetBits(GPIOB, GPIO_Pin_12);
        Delay_Ms(500);
        GPIO_ResetBits(GPIOB, GPIO_Pin_12);
        Delay_Ms(500);
    }
}

Полное содержимое User/main.c для штатного проекта WeAct Examples/01-Blink (WCH API V1.0.0, источник 2023-04-06). Используется только PB12. Компиляция и аппаратный запуск не выполнялись. Ожидается мигание LED каждые 0,5 с.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты