rv003usb
https://www.youtube.com/watch?v=j-QazXghkLY
【概略】
CH32V003は安いのでUSBペリフェラルが存在しないから、それをソフト実装するプロジェクト ライタ機能ありのブートローダ(1920byte以下)や、 HIDや他USBデバイスになるユーザプログラムがある 【つまりなにができるの?】
デバッガもライターもなしでCH32V003にバイナリの書き込みができる
USB↔UART変換もいらない
キーボードやマウスとかが作れる
USBからネイティブ通信できるCH32V003開発環境が構築できる
シリアルじゃないので通信が高速でできる
デバッガなしで高速通信できる
【ポイント】
USBのデータラインは3.3VなのでV-BUSの5Vから給電されたCH32V003のI/Oから直接接続できない!!!(繋げるとUSBホストが壊れる)
cnlohr/rv003usbリポジトリでは3.3Vのレギュレータを使うことでクリアしている
この場合はマイコンの電源電圧が3.3V固定になる
回路動作的にも部品実装的にも一番シンプル
追加する3.3Vレギュレータはそんなに高くない、少なくともCH32V003より安い
5V/3.3Vのレベル変換ICを使ってクリアもできる
3.3Vレギュレータに加えてレベル変換ICも必要になる
レベル変換ICはCH32V003より高いので、USBペリフェラル搭載のCH32シリーズの別マイコンを使った方がトータル安くなる
ツェナーダイオードと抵抗をディスクリートで組み合わせてレベル変換してクリアする方法もある
実装面積が一番広く必要
マイコンの電源電圧を5V固定で使用するなら、最も実装コストが安くなる
オプションで3.3Vレギュレータを搭載してマイコン電源電圧を5V/3.3Vと変更してもどちらの電源電圧でもUSB通信できる
UIAPduinoはこの構成で設計されていて、多分世界初の設計と実装(英語圏含めネットに作例がないため、Yuuki Umeta.iconのオリジナル)
USB通信用にI/Oが2つ必要になる
USBデータラインのインピーダンス要求仕様へ準拠するために、このI/Oは他の機能と兼用させにくい(占有としたほうが通信安定)
ただでさえ少ないI/Oがもっと少なくなる・・・
WCH-LinkEなら1本でデバッガとして通信できる
フライデーがかわいい!
コアが8051互換なのが残念ポイント
調べてみる〜〜〜!!
そもそもUSBってのがヤクザなもんで、マイコンのハードペリフェラルに採用するにはUSB団体にライセンス料を払わないといけない
だから、ハード実装している方が必ず高くなってしまう・・・
2025/01/16 更新 Yuuki Umeta.icon