SSブログ
前の5件 | -

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クローンとして動作します。
2023-06-30_20h09_34.png

注意点はCH552EブレークアウトボードのI/Oを3.3Vで動作させるために、エッジコネクタのType-Cを使ってはならないことです。必ず外部にUSBコネクタを用意して、独立した(あるいはLDOで降圧した)3.3VをVUSB端子に供給します。
間違えてエッジコネクタに接続するとJTAGラインに5Vが印可されてしまうのでFPGAが破損します。HEXを書き込む際にも注意が必要です。

3.3V駆動なのでMAX10やCyclone10LPでもレベル変換なしでそのまま接続できます。
s_osafune-1672059481910542337-img1.jpg

MCUが16MHz動作でPIOを直接操作しているため、速度としては数Mbps程度でそれほど高速ではありません。速度も純正のUSB-Blasterに比べて1/2~1/4といったところですが、NiosII dgbやSignalTapIIといったデバッグファンクションもきちんと動作します。
VID/PIDの問題があるので個人使用に留めておくべきですが、ローコストに出来るので趣味用途には十分でしょう。

Maker Faire Kyoto 2023 出展しました [雑談]

4月29~30日にけいはんなオープンイノベーションセンター(KICK)で開催されたMaker Faire Kyoto 2023にニコニコ技術部として参加しました。ブース申請していただいたましぐれさんに感謝です。

DSC_2515.JPG

コロナ禍の影響で一般参加のイベントとしては実に4年ぶりの開催となったMaker Faire Kyotoですが、まずますの人手だったと思います。土曜日午後~日曜日午前と天気が崩れ、見学の人足も鈍かったのですが、そのおかげで密集することもなく落ち着いて回れたと思います。

DSC_2514.JPG

ニコニコ技術部ブースは今回は電飾小物の出展で、ましぐれさんはBLEペンライト、私は電飾用のモジュールの展示・販売をしました。また土曜日のみでしたがYモードPさんのNT10年史の同人本の頒布もあり、久しぶりの対面フル出展でした。

IMG_eg239m.jpg
IMG_clhow2.jpg

出展物や会場の雰囲気はTwitterのハッシュタグ #MFKyoto2023 を見るのが一番だと思います。コロナ禍が明けて普段通りのイベントがゆるりと戻ってきたなと感じました。今年はMakerFaire台北も行きたいですね。

IMG_-jtym1h.jpg

あとましろちゃん可愛かったです。

HDMI-TXコア作った [IPコア]

あけましておめでとうございます。

ずーっと昔(→CycloneIII/IVでHDMIを映したい)に、HDMIへの対応をやりたくてそのままになってたものを、諸般の事情もあって重い腰を上げて作ることにしたのが先月の話です。

これまで手をつけずにきたのは、既にIPコア化していたDVI-TXで実用上は充分であり、またHDMI-TX化によって増加するロジックリソース分(特にパケットフレームの制御)がどうしてもデメリットとしてついて回っていたからですが、有り体に言うとめんどくさかったからです。

ところが最近ではDVI信号を受け付けないHDMIシンク機器(LCD変換やキャプチャーなど)が増えてきまして、これはいよいよどうにかしないとマズイという状況になりました。
実際のところ必要だったのはHDMI信号として成立させるための最低限の部分で、それ以上の部分は当面は不要だったのですが、この際ということで一念発起してオーディオストリームまで実装したわけです。

2023-01-08_04h11_30.png
Tweetへ

微妙にしょぼい見た目ではありますが、これでHD720pのxvYCC.709画面モード(ただしカラーバー信号はBT.709の範囲なので拡張色空間の発色はしてない)で44.1KHz/24bitステレオの再生ができています。

DVI-TXでは350LEほどだったリソースは、最終的には970LE+2M9kと3倍弱に膨れ上がってしまいましたが、合成オプションを設定してDVIモードでは330LE、必要最低限のLiteHDMI(Nullパケットのみ送信)モードでは380LEと、これまでの要望も満たせて納得の成果になりました。満足。

リポジトリはこちら
Github osafune/hdmi_tx

Intel Cycloneファミリ(III, IV, V, 10LP)とMAX10ファミリ、GowinのGW1NファミリとGW2Aファミリに対応しています。

外部からPlatformDesignerモジュールにアクセスしよう [Platform Designer]

インテル Advent Calendar 2022 の2日目担当で、今年もPlatform Designerの記事をを書きました。そろそろPlatform Designer記事担当が定着してきた感ある。

外部からPlatformDesignerモジュールにアクセスしよう~Avalon-MMブリッジの使い方あれこれ

【時候の話】
突然寒くなりましたね。
それはそうと今年もMAX10もCyclone10LPが枯渇したまま1年が経ちました。マジか。
DC/DCコンバーターICやTVSダイオードやナイロンコネクタがようやく復活してきて安心っちゃ安心ですが、TIは自動車向けが潤沢な反面、コンシューマー向けが枯渇状態なのは変わらず‥‥。

来年のアドベントカレンダーの時にはFPGAも復活してるといいなあ

PlatformDesignerコンポーネント作成時の自動信号マッピング [Platform Designer]

PlatformDesignerのコンポーネント作成時に、ポート名に特定のプリフィクスを付けておくことで対応するインターフェースにマッピングしてくれる補助機能がある。
ただ万能でもなくて、AXI-Streamのアサインがないとか、リセットはcsiプリフィクスでクロックとまとめないと推論ができないとかある。まあ若干手間が減る程度。あとHDL書くときに混乱しないメリット。

そのプリフィクス名の一覧メモ

asi : Avalon-ST sink (ストリーム入力)
aso : Avalon-ST source (ストリーム出力)
avm : Avalon-MM Host (バスマスター)
avs : Avalon-MM Agent (メモリスレーブ)
axm : AXI Host (バスマスター)
axs : AXI Agent (メモリスレーブ)
apm : APB Host (AMBA マスター)
aps : APB Peripheral (AMBA ペリフェラル)
coe : Conduit (任意信号)
csi : Clock sink (クロック入力)
cso : Clock source (クロック出力)
inr : Interrupt receiver (割り込み受け取り)
ins : Interrupt sender (割り込み通知)
ncm : NiosII custom instruction Host (カスタム命令駆動)
ncs : NiosII custom instruction Agent (カスタム命令受動)
rsi : Reset sink (リセット入力)
rso : Reset source (リセット出力)
tcm : Avalon-TC Host (Avalon-MM トライステートコントローラーマスター)
tcs : Avalon-TC Agent (Avalon-MM トライステートコントローラースレーブ)


前の5件 | -

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。