散歩師・漫画居士のくだらなクラブ日記

ども、散歩師・漫画居士っす。散歩したり実働模型作ったりが趣味なんで、その時に思いついたこととか書くッス

■■ FPGA1ピンでNTSC出力をする方法

後継プロジェクトをGithubに上げてるので

こちらをどうぞ。

 

mangakoji.hatenablog.com

--

なんとなく動いたので、ご報告
まだ、容量が空いてるので、マイコンも実装可能です。
多分、カラーのゲーム機も可能ですね。5000円強で。
最初に 柴岡秀一 さんが共有した投稿:
■■ FPGA1ピンでNTSC出力をする方法

昨日の続き。
一応色がついて見えたので報告
結局イマイチでしたギラギラひどいね。

■なにが凄いのか
 で、これの何が凄いのか?と言うと、
普通、マイコンどころかFPGAを使ってさえも、NTSC出力するためには、
外付けでDAC(デジタル/アナログ変換回路)が必要です。
気の利いたホビーストだと、R2RラダーDACとか言って、抵抗だけで実現してる例もあります。
ぼくも3bitR2RラダーDACでエンコーダを作ったこともありました。

■問題
しかし、それでも、10コあまりの外付け部品と、3本のIOピンが必要でした。
これを削減したーい。と。

■解決アイディア
1)高速PLL
 FPGAには高速PLLが乗ってるので、ビデオ信号よりも何倍も速いクロックがだせます。
2)ΔΣPCM(DAC)
 高速クロックがあるなら、DACの変わりにΔΣPCM(1bitDAC)を使うことができます。
3)安価なFPGAボード
 2008年?に買っておいたマルツのMFPGA-CYCLONって、5250円のFPGA基板で、この構成が実現できそうです

これで、出力1pin、外付けC,Rの2コだけで実現可能に!

□【MFPGA-CYCLONE】ALTERAチップ搭載FPGAボード
http://www.marutsu.co.jp/shohin_65176/


■結果
 ビデオ信号は4fsc(14MHz)でエンコードしてます、ΔΣPCMはこのPLL+4fsc水晶で実現できる最高速度の48fsc(171.8MHz)で動作させてます。
バーストの48倍サンプルなので、それなりに動くっちゃ動く様です。
fc=510Ω×100pF -> 3.1MHz でこのくらいです。

でも、videoの受け回路で、まったく挙動が変わっちゃうので、ボルテージフォロアくらいは入れたいとこですな。
同期はそれなりに正しいんですが、信号はガビガビなんで、多分ビデオには録画できないでしょう。やってませんが。

論よりコード公開したいとこですが、1ファイルになってない、dir構造のあるファイル郡なのと、何より、他人が読めるようなコードに清書してないので、そっちは、まあ、チャンスがあったら。と、いうことで。
つか、FPGAいじれるホビーストの方なら、この情報だけで、十分活用可能でしょう。

■ クロックのこと。
 じつは、このFPGA PLLは15MHz以上のクロックを要求します。14MHzではギリギリ足んないでやんの。
しかたないので、入力クロックと遅延させたクロックをxorして8fscを作り、pllに入力しています。 pllは入力専用ピンから入力する必要があるため、一旦ピンから外に出してます。
ゲートイートされないように
wire XTAL_CK_i /* synthesis keep*/;
のおまじないをお忘れなきよう。

■課題
 フリッカが多すぎます。インタレでなく、ファミコンみたいに2度振りにした方がいいのかも。

■マルツのMFPGA-CYCLONサポート
 この搭載のEP1C3T100C8はすでに開発CAD QUARTUS IIの最新版ではサポートされてまへん。
Ver 11.0 SP1が最終対応バージョンなので、それより前のを使ってください。
オフィシャルのアーカイブに上がってるので、そちらからどうぞ
□DesignSoftware Archives @ alitera
https://www.altera.com/download/archives/arc-index.jsp


20130226_214236.mp4

 表示できた画像の動画です。