* ビデオドライバについて [#ke187745] #contents [[Microchip>http://www.microchip.com/]] PIC24Fの SPIとタイマー割込を使用した Software ビデオ (NTSC) [[ドライバ>http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90]]と文字表示を行うためのフォントドライバです。 ビデオドライバは、モニタ出力 (通常の NTSC出力) とスーパーインポーズ出力に対応しています。スーパーインポーズ出力を行う場合は、外部のビデオ信号が必要となります。PIC24F内蔵の割り込みを使っているため非常に高速に描画することができ、フォアグラウンドの処理を邪魔しません (まさに OpenSSMが良い例でしょう)。また省電力機能にも対応しており、ビデオ表示を行いながら動的に CPUクロックを上げる/下げることもできます。 フォントドライバは、FONTX2の半角文字フォントに対応しています。これまでいろいろな方が作成したフォントを、そのまま ROMに入れることができます。また、どんな変態フォントサイズ(^^; でも表示できます。 |&ref(monitor_setup_ntsc.jpg);|&ref(superimpose_setup_ntsc.jpg);| ** 仕様 [#x24472bb] *** 基板 [#p56e55f2] |ビデオ出力|NTSC 4:3 ノーマルモード コンポジット白黒出力| |~|RCAコネクタ メス| |~|ビデオ出力は、黒色背景に白文字で描画されます| |スーパーインポーズ入力|NTSC 4:3 ノーマルモード コンポジットカラー/白黒出力| |~|RCAコネクタ メス * 1個| |~|NTSC以外 (PALなど) の映像入力は未対応| |~|安物カメラでは信号波形がかなり汚いものがあり、画面が乱れる場合があります| |スーパーインポーズ出力|NTSC 4:3 ノーマルモード コンポジットカラー/白黒出力| |~|RCAコネクタ メス * 1個| |~|スーパーインポーズされた文字や図形は、白色で描画されます| *** ファームウェア [#w1d3e609] |ビデオ/スーパーインポーズ出力|同時使用不可| |標準ビデオ解像度|256×192ピクセル| |~|32文字×12行&br;8×16ピクセルフォント ([[ぱうフォント>http://udumaki.s36.xrea.com/]])| |最大ビデオ解像度((ファームウェアを書き換える必要があります))|288×224ピクセル| |~|36文字×28行&br;8×8ピクセルフォント ([[美咲フォント>http://www.geocities.jp/littlimi/misaki.htm]])| |ビデオオプション((ファームウェアを書き換える必要があります))|左右反転表示(バックカメラ等のため)| |~|白黒反転表示| |フォントドライバ|FONTX2ドライバ (ASCII文字のみ)| |~|FONTX2に対応したフォントならば入れ替え可能| ** ソースコード [#j3905f18] + [[libvideo.c>http://ssm.nextfoods.jp/openssm/doxygen/current/libvideo_8c.html]] + [[libvideo.h>http://ssm.nextfoods.jp/openssm/doxygen/current/libvideo_8h.html]] + [[libfontx2.c>http://ssm.nextfoods.jp/openssm/doxygen/current/libfontx2_8c.html]] + [[libfontx2.h>http://ssm.nextfoods.jp/openssm/doxygen/current/libfontx2_8h.html]] + [[table.c>http://ssm.nextfoods.jp/openssm/doxygen/current/table_8c.html]] + [[table.h>http://ssm.nextfoods.jp/openssm/doxygen/current/table_8h.html]] + [[types.h>http://ssm.nextfoods.jp/openssm/doxygen/current/types_8h.html]] ** 回路図 [#n29a968f] OpenSSM Rev.Aの回路図から、ビデオ信号に関する部分を抜粋しました。次のポイントに注意してください. + 抵抗は、なるべく高精度品(±1%程度)を選定してください + ダイオード D1は、Vref = 0.7V品を選定してください + 電源は、+3.3V (VDD) と +5Vの 2つ必要です + ビデオ出力とスーパーインポーズの回路は独立しています。どちらか1つだけ使うことも出来ます #ref(schematic.png) ** ビデオ出力の概要 [#bdd37a7a] ** スーパーインポーズの概要 [#d1224374] ** グラフの描き方 / グラフ関数の使い方 [#o6a9f548] ** メータの描き方 / メータ関数の使い方 [#u4886aca] ** トラッカーの描き方 / トラッカー関数の使い方 [#m66fbdb0]