CH32V003 od WCH je mikrokontrolér s jádrem RISC-V, který se prodává za pár korun – a přitom běží na 48 MHz a zvládne 3,3 i 5 V. Stal se oblíbenou náhradou 8bitových AVR a mnoha „jednoúčelových“ čipů.
CH32V003F4P6 je nejrozšířenější pouzdro TSSOP20 s 18 GPIO. Stejné rozložení má i nástupce CH32V002F4P6.
Parametry
- RISC-V (QingKe V2A) na 48 MHz
- 16 kB flash, 2 kB SRAM
- 18 GPIO, 8 kanálů 10bitového ADC, operační zesilovač
- USART, I2C, SPI, časovače TIM1 (pokročilý) a TIM2, PWM
- napájení 3,3 V nebo 5 V
- programování a ladění jedním vodičem (SWIO na PD1)
- pouzdro TSSOP20 s roztečí 0,65 mm
Programuje se přes WCH-LinkE (jednovodičové SWIO). Na výběr je MounRiver Studio, jádro pro Arduino IDE, PlatformIO i minimalistický ch32fun. Funkce periferií jde přemapovat na jiné piny – tabulka ukazuje výchozí rozložení i možnosti přemapování.
Pinout a tabulka pinů
Najeďte myší na pin v diagramu nebo na řádek tabulky, filtrem zvýrazníte sběrnici. Pinout si můžete stáhnout jako PNG nebo SVG.
| Pin | Název | Směr | UART | I2C | SPI | PWM | ADC | Přemapování | Poznámka |
|---|---|---|---|---|---|---|---|---|---|
| 1 | PD4 | vstup/výstup | T2CH1ETR | A7 | 2: T1ETR; 3: T1CH4 | USART CK; OPA výstup | |||
| 2 | PD5 | vstup/výstup | TX | A5 | 2: RX; 3: T2CH4 | ||||
| 3 | PD6 | vstup/výstup | RX | A6 | 2: TX; 3: T2CH3 | ||||
| 4 | PD7 | vstup/výstup | T2CH4 | 1: CK; 2: T2CH4, CK | Po resetu GPIO; funkce resetu (NRST) se zapíná v option bytes; OPA vstup +1 | ||||
| 5 | PA1 | vstup/výstup | T1CH2 | A1 | 2: T1CH2 | Krystal (OSCI); OPA vstup −0 | |||
| 6 | PA2 | vstup/výstup | T1CH2N | A0 | 1: spouštění ADC (AETR2); 2: T1CH2N | Krystal (OSCO); OPA vstup +0 | |||
| 7 | VSS | – | |||||||
| 8 | PD0 | vstup/výstup | T1CH1N | 1: SDA, TX; 2: T1CH1N | OPA vstup −1 | ||||
| 9 | VDD | vstup | Napájení 3,3 V nebo 5 V | ||||||
| 10 | PC0 | vstup/výstup | T2CH3 | 1: NSS, T1CH3; 2: T2CH3; 3: TX | |||||
| 11 | PC1 | vstup/výstup | SDA | NSS | 1: T1BKIN, T2CH4; 2: T2CH1ETR; 3: T1BKIN, T2CH1ETR, RX | toleruje 5 V | |||
| 12 | PC2 | vstup/výstup | SCL | 1: spouštění ADC (AETR), T2CH2, RTS; 2: T1BKIN; 3: T1ETR | USART RTS; T1BKIN; toleruje 5 V | ||||
| 13 | PC3 | vstup/výstup | T1CH3 | 1: T1CH1N, CTS; 2: T1CH3; 3: T1CH1N | |||||
| 14 | PC4 | vstup/výstup | T1CH4 | A2 | 1: T1CH2N; 2: T1CH4; 3: T1CH1 | výstup hodin (MCO) | |||
| 15 | PC5 | vstup/výstup | SCK | 1: SCK, T1ETR, T2CH1ETR; 2: SCL; 3: SCL, T1CH3, CK | T1ETR; toleruje 5 V | ||||
| 16 | PC6 | vstup/výstup | MOSI | 1: MOSI, T1CH1; 2: SDA, CTS; 3: SDA, T1CH3N, CTS | toleruje 5 V | ||||
| 17 | PC7 | vstup/výstup | MISO | 1: MISO, T1CH2; 2: RTS; 3: T1CH2, T2CH2, RTS | |||||
| 18 | PD1 | vstup/výstup | T1CH3N | 1: SCL, T1CH3N, RX; 2: T1CH3N | Programování a ladění (SWIO, jeden vodič – WCH-LinkE); spouštění ADC (AETR2) | ||||
| 19 | PD2 | vstup/výstup | T1CH1 | A3 | 1: T2CH3; 2: T1CH1; 3: T1CH2N | ||||
| 20 | PD3 | vstup/výstup | T2CH2 | A4 | 1: T1CH4; 2: T2CH2 | USART CTS; spouštění ADC (AETR) |
Na co si dát pozor
- PD1 je programovací pin SWIO – když ho program použije jinak, nahrávání se komplikuje. Nechte ho volný.
- Reset (NRST) na PD7 je po výrobě vypnutý – zapíná se v option bytes, jinak je PD7 obyčejné GPIO.
- Logické úrovně odpovídají napájení – při 5 V jsou i výstupy 5 V.
- Pro externí krystal slouží PA1 a PA2 – s krystalem nejsou volné.
- Referencí ADC je napájecí napětí.
Kde koupit
CH32V003F4P6 seženete například tady:
- LaskaKit.cz – vývojová deska s CH32V003F4P6
- AliExpress – vyhledávání CH32V003F4P6
Články o CH32V na chiptronu
Na chiptronu najdete tyto články o čipech CH32V:
- CH32V003 v Arduino IDE i na Linuxu – programátor WCH-LinkE, openOCD a alternativa CH32fun
- CH32duino – ultralevné RISC-V čipy CH32V003 a CH32V203 dostaly podporu v Arduino IDE
Další pinouty
Všechny pinouty najdete na stránce Pinouty.