2017年1月9日月曜日

ZYBO32 (OV7670用IPの作成 2)

・動作確認
IPの動作確認はベアメタル環境ではなくLinux環境で行うことにした。と言ってもデバイスドライバは作成せず、IPのレジスタ空間を/dev/memとmmapでユーザー空間にマッピングして読み書きする。また、バッファのページ数は1ページでフレームバッファに直接書き出すようにした。

プログラムのmain()関数


pCIF (st_cif)はcif ipのレジスタモデルの構造体で以下のように定義している。


OV7670への設定値
色々試行錯誤の結果、現状以下のパラメータを設定している。


SCCBアクセス用関数


動作させてみたところ、画は表示されたのだが90°回転していた。OV7670 camera boardは下の写真のように作成したのだが、cameraモジュールをよく見たら方向が90°違っていた。


このカメラモジュールはピンヘッダが垂直になるのが向きとしては正しいようだ。で、以下のように修正した。


以下は動作させている様子。フレームバッファの中央の領域に画像データを書かせている。YUV422とRGB565の設定で動作させてみたが表示された画像の質は殆ど同じだった。

YUV422の場合の画像


RGB565の場合の画像



0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...