2021年11月7日日曜日

CH32F103C8T6やCS32F103C8T6とは

みんな大好きblue pill

 STM32の激安開発ボードと言えば、そう、blue pillがありますね。32bitマイコンのSTM32F103C8T6が載っているのに格安の1~2ドルで大変重宝していました。亜種としてはblack pillとかもあります。
 しかし昨今は世界的半導体不足の影響か、Aliexpressでも5ドル以上と、お手軽さがなくなってしまいました。そこでショップ側も対策すべく、STM32と並んで、CH32F103C8T6が載ったblue pill的なもの(type-Cにアップグレードされていることが多い)を3ドル程度で売っているのをよく見るようになりました。ではこのCH32F103C8T6とは何なのでしょう。

コピー品

 STM32には昔からコピー品(クローン品)があります。困ったことにシルク印刷が「STM32」表記のままの劣化コピー品が出回っており、書き込み時の高いボーレートに付いてこれなかったり、そもそもプログラムを書き込めなかったりするダメダメなチップが多いです。たまに一部の機能だけ死んでる分かりにくいものもあります(引き当てました)。
更に困ったことに、仮に同じショップから買っても(よほど信頼の置けるショップでない限り)、本物も偽物も引きうる、おみくじ状態となっておりお手上げです。
 
ちなみに外観のみで判断できるコピー品も多いです。
ここからは私のFakeコレクションです(笑)
 
まずは本物(と思っている)
 

凹み加工が左下にのみあるのが特徴です。シルク印刷がやや下にずれているのが気になるところですが、開発プロトタイプとして酷使してきて一度も挙動が怪しいと思ったことがないので本物と思っています。(どうせ趣味のレベルなので偽物でも動けばいいのです) 

こいつは偽物1
 

よくある偽物パターンです。凹み加工が3つもあります。
ちなみにST-LINKで書き込んでBlinkは走りますが、少なくともUSB機能が死んでいるようで、USB機器は作れません。STM32duinoブートローダーからUSB書き込みももちろんできません。

こいつも偽物2


凹み加工…と思いきやただの丸いシルク印刷ですww 凹みではありません!
しかしとりあえずBlinkもUSB認識も問題ないので大丈夫そうです。どこの馬の骨とも知れないチップなので全然安心感はありませんが。
 
参考:
 

CS32(CKS32)

 CHではなくCSです。中国のChina Key System & Integrated Circuit Co., Ltd.(中科芯集成电路股份有限公司)が生産するSTM32のコピー品です。会社名を出しているだけあり、コピー品質はよく、オリジナルのエラッタも一部修正されているようです。正式ライセンスを受けているのかはわかりませんが。
オリジナルとの違いとしてはチップIDが0x1ba01477から0x2ba01477に変更されていることです。書き込み装置によっては、この設定変更を行わないと書き込めないことがあります。このことを知らない人が「このチップは書き込みすらできないゴミチップ」とか評価することがありますが、少なくとも設定さえ行えば動くはずで、チップ品質自体が悪いような印象は個人的にはありません。また、USBが2機に増えているのが特徴です。基本的に下記のCH32と似たような感じです。
動作電圧はオリジナルと同じく2.0~3.6Vです。
 
データシートは登録しないと見られませんが、概要ページまでならいけます。
 

CH32

 私のよく見る範囲のAliのショップでは、最近はCS32ではなくCH32を載せているボードばかりな印象です。ということで詳しめに書きます。
 
 中国のWCH社が生産するSTM32のコピー品です。こちらも会社名を出しているだけあり、コピー品質はよく、オリジナルのエラッタも一部修正されているようです。やはり正式ライセンスを受けているのかはわかりませんが。
 これもチップIDが0x1ba01477から0x2ba01477に変更されています。
 USBも2機あり、1つはDevice用USB(データシートではUSBDと呼称)、もう1つはHost/Device用USB(USBHDと呼称)になっています。更にこのUSB、なんと公式ツール(WCHISPTool)を使うと、フラッシュのブートローダに関係なくUSB経由で書き込みができます。シリアル変換とかSTLINKがなくても完全制御できるのはいいですね。標準ではUSBHDの方で書き込みをするそうなので、PCとはそちらで結線してください。
 本家F1シリーズには未搭載のTouchKeyもあります。ADCを使ってタッチセンサーにするやつです。10chぶん。
 要注意なのが、動作電圧が2.7~5.5Vと上昇しています。5V電源を使えるのはありがたいですが、逆に2.0~2.7Vが不可になったので、 低電圧稼働させたいなら不向きです。
 
こちらはデータシートも見られます。なお英語版ページ(ドメインからして違う)に行くとCH32xの存在が亡き者にされていますww 色々な事情が垣間見られますね。
 
WCHISPToolは以下で入手できます。
これは英語版ページでも配布されていますがバージョンが古いので中国語版サイトを載せておきます。自己責任でどうぞ。

結局どのチップがいいのか

 もちろんSTM32の本物のチップが手に入るのであればそれに越したことはないのですが、私の感覚では結構な割合でFakeSTM32が紛れ込んでいる印象があります。
 品質としては 本家STM32>CS32≒CH32>>FakeSTM32 と思われるので、ゴミを引き当てる可能性があるならCS32やCH32を積極的に選ぶのも悪くないでしょう。流石にCS32やCH32の偽物があるとは思いませんし。特に最近は(本物か偽物か分からない)STM32の高騰が目立ちますし、安いという意味でもCS,CH32を選ぶ動機にはなるでしょう。
 ただしチップIDなど仕様が若干異なるので、マイコン開発に疎かったり、STM32系を初めて触るという方はオリジナルSTM32の方がいいでしょう。情報量も多いですし。入手先は…頑張って探してください、としか言えませんが。
 
 CH32は特に機能追加が多いですが、CubeIDEのライブラリがそれに対応しているわけなく、これらの機能を使いたいならレジスタを直接触るしかないと思います。追加機能目当てで購入をお考えの方は頑張ってください。

0 件のコメント:

コメントを投稿