« MISD(Multiple Instruction Single Data)なバーテックスシェーダーを考えてみる | トップページ | 続・ZyboでHDMI入力 »

2015年8月 1日 (土)

ZyboでHDMI入力

GPU設計をあれこれ悩んでいるうちに、ZyboにVGAがついていることを発見して(私の目は節穴か?)、ちょっと息抜きにじゃあHDMI側で入力の実験などトライ中である。

ということで、我が家にあったHDC-DX3という、松下電器製ハンディーカム(おい!)を繋いでみる。

HDMIの復号部はとりあえず書いてみて、SERDESの移相調整もシュミレーションでは通った。今回は信号ごとに調節とかせずに、MMCMのクロック移相の調整で自動でEYEの中央にラッチポイントが来るように書いてみたが、シミュレーションはともかく果たして実機で動くか?(まあ、480p とかならこれでも行けないかな?)

で、本体と繋いでみるとそもそもクロック来ない。まあある程度予想してたんですが。

案の定というか、ちゃんと EDID のROM をエミュレートが要りそうですね。

Hdmi_rx_i2c

カメラ側から必死にI2Cの読み出しが着ているが最終サイクルでZybo側がACKを返していないのでエラーになってるいる図です。

しかたがない、I2Cのレシーバ書くのはともかく、ROMの中身作るのが面倒だったりします(そのへんのモニタの中身がPC繋げばグラフィックスドライバから見えるので拝借する手もありますが)。

なお、I2CなどのPULL-UPされたトライステートバスを扱うときはサンプリング間隔をある程度空けるのが必須です。I2Cバスのプルアップ抵抗による信号立ち上がりはFPGAからすると非常にゆっくりなので、信号レベルがVILとVIHの間にいる時間が長く、100MHzなんかでサンプリングしたらエライ目にあいます。

さてさて、いつ脱線から帰ってこれるのか...

« MISD(Multiple Instruction Single Data)なバーテックスシェーダーを考えてみる | トップページ | 続・ZyboでHDMI入力 »

FPGA」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ZyboでHDMI入力:

« MISD(Multiple Instruction Single Data)なバーテックスシェーダーを考えてみる | トップページ | 続・ZyboでHDMI入力 »