CH32V003の後にV002/V004/V005/V006/V007は何を増やしたのか
CH32を理解するためのノート群 のうち、超廉価V00x系列を扱う。
事実
CH32V003は48MHzのQingKe RISC-Vコア、16KB Flash、2KB SRAMを持つ低価格MCUとして広く知られた。
その後、同じ価格帯・用途を狙うV002/V004/V005/V006/V007が追加されている。
大まかな傾向は次の通り。
- V002: V003よりRAMを増やした小型系列
- V004: Flash/RAMを増やし、V003の制約を緩和
- V005: 12bit ADCやアナログ周辺を強化
- V006: 約64KB級Flash、8KB SRAM、OPA/PGA/CMP、DMAなどを強化
- V007: V006級のメモリを持ち、モーター制御寄りの周辺を強化
ch32funはV003だけでなくV002、V004、V005、V006、V007をサポート対象としている。
V006を使った公開例として、安価なRCサーボを位置・電流フィードバック付きのスマートサーボにするOpenServoCoreがある。
考察
V003は歴史的には重要だが、新規設計では「最安だからV003」と即決する意味は小さくなっている。
2KB SRAMは、通信スタックやバッファを少し増やしただけでも厳しい。一方V006級まで行くと8KB SRAMとより大きいFlashが使える。
数十セント以下の領域では、部品単価差よりも、
- RAM不足で実装が複雑になる
- DMAやアナログ周辺不足で外付け部品が増える
- 開発時間が増える
方が大きなコストになる場合がある。
したがって、V003は「絶対最安を追う大量生産」か「極小コードを楽しむ対象」として魅力があり、一般的な新規設計ではV006などを先に比較する価値がある。
注意点
新しいV00xほど、V003に比べてOSS側の実績が少ない。
ハードウェア仕様が良くても、ch32fun、Zephyr、デバッガ、書き込みツール側の追従状況を確認する必要がある。この点はCH32の開発環境はMounRiverだけではなくGCC・ch32fun・Zephyr・Rustまで広がっているで扱う。