最近zynqを使用する場合、カメラが必要です。購入した開発ボードは、淘宝網で販売されているalinxブラックゴールドax7020開発ボードですが、他の開発ボードもこのチュートリアルに従って書き換えることができます。
ax7020がサポートするカメラ関連ルーチンはすべて、双眼鏡カメラであるAN5642モジュールを使用していますが、必要なカメラは1つだけです。AN5642の価格は450元で、プレミアムが高すぎて高すぎるため、学生はそれを購入できません。自分でボードを描いてOV5640カメラを購入するのも同じように使えますが、探してみると、このカメラは非常に高価です。レンズを持っていく場合は、モジュールを直接購入することをお勧めします。だから私はAN5640カメラモジュール、Xianyu中古110元を購入しました。AN5640モジュールはもともとAX309などの安価なFPGAで使用されていたため、適切に構成されているはずです。ピットを見つけたところ、最初に水晶発振器がなかったので、FPGAが別のクロックを出力する必要があります。そうすると、すべてのピンが対応しなくなります。
まさか、全部買って使ってみた。まずデュポンラインに接続して点灯させます。AN5640モジュールの回路図は次のとおりです。
AN5642の回路図は次のとおりです。
2つを注意深く比較すると、3つの違いしかないことがわかります。
1. AN5640には水晶発振器がなく、24MHzの外部xclkピンが必要です。
2. AN5640には8つのデータポートしかなく、すべて画像データに接続されています。AN5642には10個のデータポートがあり、後者の8個はAN5640と同じで、前にさらにIOポートがあります。
3. AN5640の電源は3.3Vで、AN5642は3.3Vと5Vの両方を備えています。注意深く観察し、実際には同じ電源チップRT9011-FMJ6が背面で使用され、最終的に1.5Vと2.8Vを出力することを確認します。カメラで使用される最終的な電圧は、わずか1.5Vと2.8Vです。したがって、5V電源をAN5640への入力として使用することは問題ありません。
現在、最大の問題はデータ収集の問題です。便宜上、公式のAN5642ルーチンを直接変更したいと思います。alinx公式ルーチンのOV5640 ipを開き、データインターフェイスのトレンドを観察します。
10ビットデータビットcmos_dを入力し、それをalinx_ov5640モジュールのcmos_dに渡します。この手がかりを引き続き追跡します。
ここでは、cmos_dの最後の8ビットがcmos_d_d0に割り当てられ、cmos_d_d0がcmos_8_16bitモジュールに渡されます。
ここで、cmos_dの最初の2つのデータが使用されていないと判断できます。したがって、このプログラムは直接使用できます。
次に、24MHzクロックの出力を追加します。クロッキングウィザードのIPを追加してから、出力を24MHzに設定し、ロックをキャンセルして、リセットタイプをアクティブLOWに設定します。
クロックとリセットはov5640に接続され、clk_outが外部になります。
次に、ピンをバインドし、回路図と実際の配線に基づいて決定できます。ここで、物理マップとピンの対応は次のとおりです。
次に、AN5642と同じようにモジュールを使用できます。カメラはps側で構成されています。iicはps側から出力されるため、変更する必要はありません。