PIC32MZでJR-100用スキャンコンバータを作る(3) PMPの出力について

R2Rの1番ピンの電圧変化

ビデオ信号の出力としてPIC32のPMP(Parallel Master Port)を使おうと思っています。JR-100からのビデオ信号のキャプチャと整形後のビデオ信号の出力を並行処理するために割り込みを多用する必要があると考えていて、そうするとなるべくCPU処理の影響を受けないようにするためにDMAと協調動作できるPMPが有用だと考えたためです。 そこでまずはPMPの動作をテストしてみたのですが、思わぬ結果となりました。 PMPの出力周りの回路を再掲します。 青い線の左側はPIC32のPMD[0:7]ピン(PMDINレジスタ)につながっています。したがって(PMPを適切に設定したうえで)PM … “PIC32MZでJR-100用スキャンコンバータを作る(3) PMPの出力について” の続きを読む

PIC32MZでJR-100用スキャンコンバータを作る(2) 実装

PIC32MZをユニバーサル基板に実装(表面)

前回回路設計まではやってみました。四方をピンで囲まれた変換基板のためブレッドボードでの実装ができず、ユニバーサル基板上に実装します。部品点数も配線もそれほど多くないのですが、ユニバーサル基板だと相当手間がかかってしまいますね。実装結果はこんなになりました。 PIC32MZの変換基板がけっこう大きいので、ユニバーサル基板も少し大きめの秋月Aタイプ(155mm×114mm)でちょうどいい感じです。 R-2Rラダー抵抗は後で使いまわしたいので10ピン×1列のICソケットに挿しています。 また変換基板は四方に18×2列のピンヘッダを4個とりつけ、基板側のピンソケットと接続します。ピンソケットは40×2 … “PIC32MZでJR-100用スキャンコンバータを作る(2) 実装” の続きを読む

PIC32MZでJR-100用スキャンコンバータを作る(1) 回路設計

JR-100のビデオ出力をきちんとビデオキャプチャできるようにしたいという目標のもと、PIC17Fで垂直同期信号を補間することから始め、dsPIC24Fでカラーバーストを載せたりSビデオ信号に変換してみたりといったことをこれまで試行してきました。しかしどれも満足のいく結果は得られませんでした。ここまできたら、そもそも根本的に対処するやり方を考えるときが来たのかもしれません。そこで次はスキャンコンバータを作って最終解決を図ってみようと思います。 方針 これまでの敗因は以下の2点です。 JR-100のビデオ信号の周波数とPICが使用するクロック周波数はどちらも3.579545MHzの倍数なのですが … “PIC32MZでJR-100用スキャンコンバータを作る(1) 回路設計” の続きを読む

ESP-WROOM-02とBME280で床下環境を計測する

自宅の床下部分が収納庫として成立するのかを確かめるべく、温度・湿度・気圧の環境状況を長期にわたって計測してみようと思います。床下というのはいわゆる床下収納庫ではなく、その外側にあり家外の外気とつながっている本当の床下で、家の基礎などが丸見えになっている領域です。家の外につながっているので外気に連動して温度や湿度が変動するような気もするし、床の下なのである程度安定した状況になるような気もする。ということで、実際に確かめてみることにします。 測定回路 床下は電源が取れないので、電池で長期間動作させられそうなものとして、ESP-WROOM-02を選択。Raspberry Piだとちょっと電池の持ち的 … “ESP-WROOM-02とBME280で床下環境を計測する” の続きを読む

micro:bitで5-queen問題を解く

micro:bitの5×5のLEDディスプレイがマス目に見えてきて、そういえばN-queen問題もマス目にクイーンを置く問題だよな、と思い至りました。そこでmicro:bitで5-queen問題を解いてみようと思います。せっかくなのでmicro:bitでどれだけの計算性能を出せるのか見てみることにし、ついでにPythonとC++で同じプログラムを作ってどれだけ差がでるのかを見てみます。計算性能の測定が目的なので、バックトラック法のようなロジカルな解法ではなく、ニューラルネットを使った数値計算型の解法を使って試してみることにします。 5-queen問題とニューラルネットについて 一般的にはN-q … “micro:bitで5-queen問題を解く” の続きを読む

JR-100のビデオ出力のカラーNTSC化(4) S-Video出力完成、しかし……

前回の同期ずれ問題を解消すべく、そもそもビデオキャプチャ側で同期分離する必要がなくなるようS-Videoでの出力化をすることにしました。S-Videoでは輝度信号(Y)と色信号(C)を分離して出力すれば良いです。JR-100からのコンポジットビデオ信号はS-VideoでのY信号そのものなので、JR-100の出力をそのままYに流してやり、適当なタイミングでC信号を出力すればよいはずです。 回路図 回路図の基本は前回のものを踏襲します。ただし次の2点を組み合わせて合計4パターンで実験してみることにします。 水平同期信号の幅 JR-100の水平同期信号の幅は9.05μsと規格よりだいぶ長くなっている … “JR-100のビデオ出力のカラーNTSC化(4) S-Video出力完成、しかし……” の続きを読む

JR-100のビデオ出力のカラーNTSC化(3) 同期ずれが解消できない

本業でバタバタしてブランキング期間がありつつ、こちらも悪戦苦闘してきましたが、どうやら現在のやり方ではうまくいかないことが分かってきました。このまま突き進んでもあまり有益な情報は得られそうもありません。いったん現状をまとめて次の方式の検討に入ろうと思います。 回路について まず回路はこうなりました。 コンパレータの選択とI/Oポートへの接続 当初はコンパレータとしてNJM360Dを使う計画でしたが、これだと回路全体で3電源が必要(+5V、-5V、PIC用の3.3V)が必要になってしまいます。これではやりたいことに対してちょっと回路が大げさになり過ぎるため、単電源のTL712CP(応答時間:25 … “JR-100のビデオ出力のカラーNTSC化(3) 同期ずれが解消できない” の続きを読む

JR-100のビデオ出力のカラーNTSC化(2) LM1881Nの挙動

コンパレータで映像信号を取り出すところはうまくいきました。次に同期信号を分離する回路を検討します。JR-100の同期信号はかなり特殊なので、専用ICでどこまでうまく取り出せるものなのかが注目ポイントです。 LM1881Nによる同期信号分離 同期分離にはスタンダードなLM1881Nを使います。回路はデータシートに載っているリファレンス回路そのままです。早速ここにJR-100の映像信号を入力してみます。 CSYNC出力 青い線が入力、赤い線がLM1881NのCSYNC出力(1番ピン)です。きれいに同期パルス部分が取り出されています。内部では単にコンパレータで一定基準以下の電圧を取り出しているだけで … “JR-100のビデオ出力のカラーNTSC化(2) LM1881Nの挙動” の続きを読む

JR-100のビデオ出力のカラーNTSC化(1) 設計方針とコンパレータ比較

JR-100が出力するビデオ出力は同期信号の波形や信号レベルがNTSC規格から大きく外れており、ビデオキャプチャ装置での取り込みができませんでした。前回は水平・垂直同信号を規格になるべく合うように変換・生成するように対策し、結果としてモノクロNTSC規格にほぼ準拠するレベルになりました。しかしそれでも取り込みできず。そこで今回は、取り込みできない原因がカラーバースト信号が入っていないことであるという予想のもと、対応を検討していきたいと思います。 さて今回もPICマイコンを使って対応しようと思います。ただし3.579545MHzのカラーバースト信号を生成するためには、せめて1波長で3サンプルは出 … “JR-100のビデオ出力のカラーNTSC化(1) 設計方針とコンパレータ比較” の続きを読む

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

NTSC変換回路の最後の仕上げ。ユニバーサル基板上で組み上げ、完成品として形にします。すでに今回の回路には画面がブレるという課題も見つかっているのですが、自分の経験値を高める意味で最後まで取り組みたいと思います。 基板に組み立てる前に、ブレッドボード上でのビデオ出力信号をオシロスコープで観測してみます。 映像信号部分を抜き出しています。黒レベルと白レベルの間の電圧は約0.7Vなので想定通りの出力値ですが、ノイズがひどいです。オシロの周波数計測機能を使うと、このノイズの周波数は約16MHzでした。クロック周波数の2倍ですが、どう関係するのかは私の知識ではまだ分かりません。が、とにかくこのノイズが … “JR-100のNTSC信号を標準化(7)” の続きを読む