オプティマイズのMAX2CPLDボードの実験に、
この間作ったNTSCコンポジットカラービデオの
表示をやってみました。
こんなかんじ。
例によって、オシレータは14.3Mhz5Vを
無理矢理3.3Vで動かしてます…。危険だから
良い子のみんなは真似しちゃダメだよ!
この間作ったVHDL…つまりRGB信号をカラー
コンポジットに変換するだけのやつをほぼ修正無しで
使いまわします。
ただ、MAX2はXC95xxXLシリーズと
ちがって5Vトレラントはないので、RGB信号を
生成するマイコンも3.3Vで動かす必要あり。
というわけで、今回もTINY2313でRGB信号を
生成させようって腹なんですが、今工具箱に入っている
のは確か20Mhz5V用のプログラムを書き込んだ
ままになっているはず。
こいつはそのまま残しておいて、別のTINY2313
を出してきて使うことにしたんですが、ここで私の
学習能力が効果を発揮!
新しいAVRを使うときといえば、8Mhz内蔵RC
かつ1/8倍のディバイダが設定されているわけですが、
またすっかり忘れてた…
今回はpicoscopeがあるので、出力波形を眺めてみたら
水平同期期間が異常に長い…
うーん、どうしてかなぁと考えて思いついたのが
1/8倍のディバイダ。これをオフって再度挑戦
したところ、水平同期期間が約80us。
あれぇ?微妙な長さ。
10Mhzで約64usになるはずだから、計算上
8Mhz程度で発振してるみたい。8Mhz?
内蔵RCがONのままだ!
アホだなぁ。こんな失敗ばかり二桁の回数やってる
はずだな。
多分、同じ間違えを繰り返すように学習しちゃって
るんだな。(TへT)
気を取り直して動かしてみると、
でた。イイカンジ。なんとなくXC95xxXLよりも
ちゃんと出てる。
例によって黄色と緑の間が黄緑っぽく見えるのは
キャプチャーボードのせいで、テレビ画面では
ちゃんと水色で表示されてます。念のため。
今回は、picoscopeを最大限利用して、波形も撮って
みました。
まずは水平同期とバースト信号付近のアップ。
若干ノイズはあるものの、まぁこんな感じでしょう。
そして、水平同期1本分の波形
うーん、なんだか1Vより上が切れてるな。
これはpicoscopeの操作方法が良く解ってない
からだな。
うん。でもまぁ、それなりにちゃんと出てます。
こんな風に設計どおりに動いてくれていると気持ちいいな。
ちなみに、リソース消費は9%程度みたい。やっぱり
XC95xxXLと比べると大容量ですなぁ…。
この続きとしては、RGB信号自体もVHDLで書く
って話が1点。1ライン正確に910クロックにする
って話。
もう一つは、CPLDを使わずマイコン(と少ない
外付け部品)だけでRGBを自由自在に表示するって
話。
後者は部品を買い込んであるので、あとはブレッドボード
で組み上げるだけなんだけどな。ちょっとずつ進めて
いきましょうかね。
|