HDMI出力をしてみました。
FGPAからHDMI出力をする方法として、
電流モード差動ドライバを模擬してHDMIの信号を出力する方法と
HDMIのトランスミッタICを使用する方法があります。
最初、MachXOシリーズで電流モード差動ドライバを模擬して
HDMI信号を出力する方法で実装している例があったため、
試してみましたがうまくいきませんでした。
MachXO3とHDMIで差動信号がアンマッチだったことが原因だと思われます。
また、エンコーダにギヤボックス等のMachXOシリーズ固有の機能を
活用しないと実現できないため、汎用性に少し欠けます。
このようなことから、HDMIはDVI規格の1つなので、
入手性のよいDVIトランスミッタTFP410を使用して実装することにしました。
まずはTFP410にHDMI出力端子を取り付けた
TFP410 Beakoutボードを設計しました。
TFP410を使用した同様の試作ボードを作成されている方の
実装やコードを参考にしてみました。
TFP410Beakoutボードの実装を終えて
MachXO3LFを使用してHDMI出力をしてみましたが、
なかなかテストパターンが表示されず…
テストパターンが出るまで1週間ほどデバッグに要してしまいました。
結論から言えば、MachXO3LFのIO設定で
Slewrateの設定がデフォルトはSlowとなっており、
Fastにすることで意図した信号が出せるようになりました。
RGBの3bitで出力してみました。
電流モード差動ドライバの模擬回路作成から、
TFP410を使用したテストパターン出力まで
空き時間で1か月強、要してしまいました。
色々デバッグしてテストパターンが出たときは感動しました。
HDMIで色々画像を出力するためにはMachXO3LF内蔵のRAMでは足りません。
次は外部RAMとしてSDRAM等のテストをしてみたいと思います。