2019年10月30日水曜日

垂直同期

 垂直同期を検出してフレームの先頭からキャプチャできるようになった。





 画面直上の白い横線はCGMS-AとCCAPだと思う。上の方のカラフルな色は、おそらく後置等化パルスじゃないかな、と思うけど、不明。
 何回かキャプチャしても、だいたい同じ位置からキャプチャを開始できるので、フィールド先頭でトリガする処理はうまく動いてるはず。


 処理の方針としては、9Mspsで2ライン分読み取って水平同期との位相差を検出し、それを補正した上で約15kspsでサンプリングし、これをAWDに通して、-40IRE付近を検出したら、直ちに9Mspsへ移行してキャプチャ、という感じ。

 STM32CubeのデフォルトコードだとEOCがSingle Convになっていて、AWDに通すだけでDRを読み取らない場合は、これでエラーになってADCが停止してしまう。なんだかなぁ。

 とりあえず、今の所はタイミングクリティカルな移相処理だけ割り込みで処理して、それ以外はループでポーリングしてるけど、AWDの割り込みとかDMAの転送完了割り込みとかを使えばだいぶ省力化できそう。


 コード綺麗にして、いよいよデータ圧縮に手を付けなきゃ。
 デコード側ももうちょっといい感じの処理ができそうな気がするし、そっちも手を付けないと。

0 件のコメント:

コメントを投稿