JR-100のNTSC信号を標準化(2)

JR-100のビデオ出力をGV-USB2でキャプチャすべくPICマイコンで同期信号を整形します。回路は一応できたので、次はプログラムを作るために、そもそもJR-100がどんな映像信号を出力しているのかを整理してみます。 NTSC同期信号とJR-100の同期信号、MB14392のSYNCピンから出力される信号(これを同期信号整形回路の入力とします)、目標とする整形後の同期信号の関係はこのようになっています。 図では垂直同期付近を示しています。本来はフィールドの先頭は1.5μsあるフロントポーチの開始時点からですが、ここでは便宜上、水平同期信号の立ち下がりエッジをフィールドの先頭と考えます。垂直ブ … “JR-100のNTSC信号を標準化(2)” の続きを読む

JR-100のNTSC信号を標準化(1)

MPLAB X IDEのデバッグ方法が分かったところで、JR-100のコンポジットビデオ信号をPICで(ほぼ)正しいNTSC信号に変換する回路を検討していこうと思います。目的はJR-100のビデオ出力信号をビデオキャプチャアダプタGV-USB2でキャプチャすることです(参考記事:JR-100+GV-USB2)。エンジニアなら、動かなければ自分で作る、というのが基本ですよね!? まず映像関係のパラメータをまとめてみます。MB14392内の処理が不明のため、以前の計測結果から推定してます。JR-100に搭載されている水晶発振子の周波数(14.31818MHz)に対して、どれもほぼ整数倍になっている … “JR-100のNTSC信号を標準化(1)” の続きを読む

MPLAB X IDEのSCLでデバッグ(7)

PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。今回は組み込み関数について。今回で一応SCL文法は網羅したことになるので、次からは具体的なデバッグコードを書いていこうと思います。 組み込み関数 SCLにはいくつかの組み込み関数が備わっています。なおユーザが関数を定義することはまだできません。使える関数を下表に示します。具体的な使い方は一部を除いて説明は省略します。今後デバッグコードを書く中で実際に必要になったら調べることにします。 関数名 … “MPLAB X IDEのSCLでデバッグ(7)” の続きを読む

MPLAB X IDEのSCLでデバッグ(6)

PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。今回は制御文(if, loop, while)について。 If文 条件によって実行する文を変えます。thenブロックとelseブロックは複数の文を書くことができます。

条件式にでは結果がtrueまたはfalseになる式を書くことができます。条件式で使えるのは等号(==)、不等号(<, <=, >, >= … “MPLAB X IDEのSCLでデバッグ(6)” の続きを読む

多種類の抵抗器の収納

マルツオンラインでほぼE24系列が揃っている抵抗114種×各20本セットが特価だったので、つい買ってしまいました。いまは通常価格戻ってしまってますね。 で、これの収納をどうするか悩むところです。シートの紙部分に抵抗値を書いて箱に放り込んでおくのでもいいのですが、さすがに使い勝手が悪いです。また種類が多すぎて小分けの収納ケースだと場所を食ってしょうがありません。 そこでOPP袋に目を付けました。ASKULのチャック袋B9サイズ(50mm×70mm)、300枚入りで220円です。 まあ秋月で細かいパーツを買うと入っている袋と同じやつです。50mm×70mmサイズだと、抵抗を入れるのにちょうど良いで … “多種類の抵抗器の収納” の続きを読む

MPLAB X IDEのSCLでデバッグ(5)

PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。今回はリテラルの表記と代入文、数値演算について。 リテラルの表記 SCLでは下表に示すいろいろな形式でのリテラル表記をサポートしています。 表記 意味 1 10進数で1 B”10″ 2進数で10 8#70# 8進数で70 10#10# 10進数で10 16#FFFFFFFF# 16進数でFFFFFFFF 16#FFFF_FFFF# 16進数でFFFFFFFF (&#8 … “MPLAB X IDEのSCLでデバッグ(5)” の続きを読む

MPLAB X IDEのSCLでデバッグ(4)

PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。今回は変数と型について調べます。今回の内容はMicrochipのチュートリアルに書いてあった情報も参照しています。 変数 変数名 SCLでは変数を使えます。変数名として使える文字は半角英数字とアンダースコア(‘_’)で、先頭の文字は英字でなければなりません。また大文字・小文字は区別します。 変数の定義はこのようにします。 [crayon-59e52f091f2c481 … “MPLAB X IDEのSCLでデバッグ(4)” の続きを読む

MPLAB X IDEのSCLでデバッグ(3)

PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。今回はプロセスとwaitについて調べてみます。 プロセス デバッグ用のコードはprocessブロックに記述する。僕の趣味で、公式ユーザーズガイドとインデントの付け方が違っています。なんかSCLは懐かしのPascal言語っぽいので、Pascal流のインデント方式に統一しています。

testbenchブロックの中には、1個以上のp … “MPLAB X IDEのSCLでデバッグ(3)” の続きを読む

MPLAB X IDEのSCLでデバッグ(2)

PICマイコンの開発環境であるMPLAB X IDEに備わっているデバッグ用のプログラミング言語Stimulus Control Languageを使って、自作のPICプログラムをデバッグしてみる記録です。まず最初はプログラム構造とコメントの書き方、SCLファイルの読み込ませ方から調べてみます。 フォーマット 文字の大文字と小文字は区別する。改行と空白文字は同じに扱われる。つまり適当な場所で改行したり、インデントを自由に入れたりしてよい。 コメント コメントはCスタイル(‘//’)またはVHDLスタイル(‘–‘)が使える。 [cray … “MPLAB X IDEのSCLでデバッグ(2)” の続きを読む

MPLAB X IDEのSCLでデバッグ(1)

PICマイコンの開発環境であるMPLAB X IDEには、デバッグ用のプログラミング言語Stimulus Control Languageが備わっていることが分かりました。いま僕が作っているPICプログラムはNTSCのコンポジット信号を入力として、エッジの数が256回目なら57.3μsのパルス、それ以外なら4.7μsのパルスを出力する、みたいな動作をしているため、ちまちまステップ実行すると何百回もマウスをクリックしないとならず面倒だしミスります。そこでこの言語を使ってデバッグしてみることにしました。僕にとってはPICでモノ作りすること自体が初めてで、当然この言語の知識もまったく無いので、少しず … “MPLAB X IDEのSCLでデバッグ(1)” の続きを読む