CH552EでUSB-Blasterクローン [FPGA]
CH552シリーズはUSBペリフェラルを内蔵した格安マイコンで、廉価ボードでUSBデバッグインターフェースとして使われているのを見かけます。
そんな中でUSB-Blasterクローンを作ってるリポジトリを見つけたので、CH552Eブレークアウトを使ってUSB-Blasterクローンを作ってみました。
元のリポジトリはこちら。
→ CH55x-USB-Blaster
この中のRelese V0.1のHEXバイナリがCH552Eでそのまま使えます。Releaseに含まれるHEXをWCHISP Studioで書き込むと、以下のピンアサインでUSB-Blasterクローンとして動作します。
注意点はCH552EブレークアウトボードのI/Oを3.3Vで動作させるために、エッジコネクタのType-Cを使ってはならないことです。必ず外部にUSBコネクタを用意して、独立した(あるいはLDOで降圧した)3.3VをVUSB端子に供給します。
間違えてエッジコネクタに接続するとJTAGラインに5Vが印可されてしまうのでFPGAが破損します。HEXを書き込む際にも注意が必要です。
3.3V駆動なのでMAX10やCyclone10LPでもレベル変換なしでそのまま接続できます。
MCUが16MHz動作でPIOを直接操作しているため、速度としては数Mbps程度でそれほど高速ではありません。速度も純正のUSB-Blasterに比べて1/2~1/4といったところですが、NiosII dgbやSignalTapIIといったデバッグファンクションもきちんと動作します。
VID/PIDの問題があるので個人使用に留めておくべきですが、ローコストに出来るので趣味用途には十分でしょう。
そんな中でUSB-Blasterクローンを作ってるリポジトリを見つけたので、CH552Eブレークアウトを使ってUSB-Blasterクローンを作ってみました。
元のリポジトリはこちら。
→ CH55x-USB-Blaster
この中のRelese V0.1のHEXバイナリがCH552Eでそのまま使えます。Releaseに含まれるHEXをWCHISP Studioで書き込むと、以下のピンアサインでUSB-Blasterクローンとして動作します。
注意点はCH552EブレークアウトボードのI/Oを3.3Vで動作させるために、エッジコネクタのType-Cを使ってはならないことです。必ず外部にUSBコネクタを用意して、独立した(あるいはLDOで降圧した)3.3VをVUSB端子に供給します。
間違えてエッジコネクタに接続するとJTAGラインに5Vが印可されてしまうのでFPGAが破損します。HEXを書き込む際にも注意が必要です。
3.3V駆動なのでMAX10やCyclone10LPでもレベル変換なしでそのまま接続できます。
MCUが16MHz動作でPIOを直接操作しているため、速度としては数Mbps程度でそれほど高速ではありません。速度も純正のUSB-Blasterに比べて1/2~1/4といったところですが、NiosII dgbやSignalTapIIといったデバッグファンクションもきちんと動作します。
VID/PIDの問題があるので個人使用に留めておくべきですが、ローコストに出来るので趣味用途には十分でしょう。
2023-06-30 20:26