tl;dr
CH32V002、CH32V006とは
CH32シリーズは中国のWCHが販売するRISC-V MCUです。
その中でもCH32V003は10セントマイコンと、とても安価に販売されていました。 50個で、1,000円程度で購入でき、気軽に組み込めることから私も利用していました。
この次期モデルとして、CH32V002、CH32V006が発表され、販売が開始されました。
ペリファラルはCH32V003とほぼ同じですが、RAMやFlashのサイズがアップデートされています。
Core | Code Flash | RAM | GPIO | Timer | ADC | SPI | I2C | UART | |
---|---|---|---|---|---|---|---|---|---|
CH32V003 | RV32EC | 16k | 2k | 18 | 1+1 | 8 | 1 | 1 | 1 |
CH32V002 | RV32EmC | 16k | 4k | 18 | 1+1 | 8+3 | 1 | 1 | 1 |
CH32V006 | RV32EmC | 64k | 8k | 31 | 1+1 | 8+3 | 1 | 1 | 2 |
CH32V002は、RAMが2倍、ADCが3ch増えています。 CH32V006は、上位機種となっていて、Flashが4倍、RAMが4倍、GPIOが増えています。 価格はほとんどCH32V003と変わらないので、CH32V003の後継機種として使うことができるのが期待されます。
また、CoreはRV32EmCに変更されていて、乗算が追加されました。 除算は変わらずありません。
ボタン電池でも動作する
さらに動作電圧が変わり、2Vから動作するようになりました。
電源電圧 | |
---|---|
CH32V003 | 3.3~5V |
CH32V002 | 2~5V |
CH32V006 | 2~5V |
CH32V002で2Vで動作することを確認しました。
CH32V002で2.0V供給でLチカ動いた pic.twitter.com/93TFYdT39j
— 74th (@74th) 2025年3月1日
実際に、CH32V002にボタン電池を付けて、ケーブルチェッカを実装したところ、ちゃんと動作しました。
2vでも動作する CH32V002 がコイン電池CR2032でも動作することを確認すべく、Grove-USBケーブル(SparrowDialの同梱品)の結線チェッカーを作った。LED点灯程度は問題なく動作してる。 pic.twitter.com/xlm6PVUPcS
— 74th (@74th) 2025年3月17日
CH32V003でもなんとかボタン電池でも動作していましたが、CH32V002/006は確実に動作するため、活用先が広がります。
なお、省電力機能であるスタンバイモードを使ってみたところ、38μA程度の消費電流でした。
CH32V002のスタンバイモードを使った2.0VのLチカの電流。スタンバイモード中は38μAとなった。
— 74th (@74th) 2025年3月1日
ただ、ボード上のCH213を経由しているので、その損失も含まれる。VCC直結にしたら、電源周りに入れたキャパシタ経由せず足りず不安定になるのか、1回目の点灯中に落ちた。 pic.twitter.com/bY2939nsne
CH32V002、CH32V006の最小の回路
CH32V002、V006は、V003と同じく、電源に100nFのキャパシタを付けるだけで動作します。 最小回路は以下のようになります。
開発ボードを作った
CH32V003では、ProMicroサイズの開発ボードを作っていました。 CH32V002とCH32V006でも作ることにしました。
CH32V002には、CH32V003 ProMicroを作ったCH32V003F4P6と同じピン配置であるCH32V002F4P6を使いました。 そのため、CH32V003の開発ボードのPCBがそのまま使うことができました。
CH32V006には、最大の数のピンを持つCH32V006K8U6を使いました。 この全てのピンを引き出した開発ボードを作りました。
この開発ボードには、CH32V003と同じく以下のような機能を持たせています。
- USB Type-Cコネクタ
- リセットボタン
- UARTを追加したSWD10ピンポート
- 電源に、3.3Vレギュレータと、USB 5Vを選択できるジャンパ
SWD10ピンポートは、私の作っているWCH-LinkE クローンを簡単に接続できるため、便利です。 こちらで販売しております。
CH32V006 Full Dev Boardでは、ProMicro Likeから、SWIOのスルーホールを追加しました。
CH32V006 Full Dev BoardのKiCADファイルは以下のリポジトリにあります。
開発にはひとまず MounRiverStudio2 を使う
CH32V002、006は、WCH公式のSDKを使う場合、MounRiverStudio2が使えます。
MounRiverStudio2
http://www.mounriver.com/download
Lチカや、スタンバイモードの動作の確認にはこちらを使いました。
動きを確認したところ、ちゃんとLチカまで動作することが確認できました。
CH32Vには、SDI-PrintというSWIOポート経由でデバッグプリントができる機能があります。 CH32V006では動作しましたが、CH32V002では確認できませんでした。
現状、ch32funも対応していますが、RV32EmCに対応したオープンソースがないようで、まだ活用はできないようです。
Arduino Core CH32も、CH32VM00Xとして対応しているようですが、私の方では確認はできていません。
作った開発ボードはBoothにて販売中
今回作成した開発ボードは、ひとまず動く開発ボードが欲しい方向けに、Boothにて完成品をお裾分け品として販売しております。