こんにちは、
私はデュアルカメラのアプリケーションを開発しています。
カメラの解像度と画像フォーマットは2592x1944、RAW8です。
データパスとドライバ構造は
カメラ(センサ ドライバ.c)-->MIPI-CSI2 (imx8-mipi-csi2-sam.c) --> ISI (imx8-isi-cap.c)--> RAM
ドライバーを改造した後、CSI1の映像ストリームは2592x1944、RAW8、50~60fpsで正常に受信できました。
CSI2から別のビデオストリームを取得したいのですが、FIFOオーバーフローエラーのためうまくいきません。
[ 43.892406] mxc-mipi-csi2.1:フレーム終了イベント情報:1
[ 43.897023] MXC-MIPI-CSI2.1:フレームスタートイベント情報:2回
[ 43.901811] MXC-MIPI-CSI2.1:奇数フレームイベント後の非画像データ:0
[ 43.908248] MXC-MIPI-CSI2.1:奇数フレームイベント前の非画像データ:0
[ 43.914771] MXC-MIPI-CSI2.1:偶数フレームイベント情報後の非画像データ:0
[ 43.921297] MXC-MIPI-CSI2.1:フレームイベント前の非画像データ:0
[ 43.927906] MXC-MIPI-CSI2.1:未知のエラーイベント情報: 0
[ 43.932868] mxc-mipi-csi2.1:CRCエラーイベント:0
[ 43.937484] MXC-MIPI-CSI2.1:ECCエラーイベント情報:0件
[ 43.942097] mxc-mipi-csi2.1: FIFOオーバーフローエラーイベント情報:1209788
[ 43.948100] MXC-MIPI-CSI2.1:ロストフレーム終了エラーイベント:0
[ 43.953672] MXC-MIPI-CSI2.1:ロストフレームスタートエラーイベント情報:0
[ 43.959413] MXC-MIPI-CSI2.1:SOTエラーイベント情報:0
hs-settleとclk-settleのパラメータを変更してみましたが、うまくいきませんでした。
リファレンスマニュアルによると、CSI1の最大動作周波数は500MHzですが、CSI2は266MHzです。
CSI2周波数が低いと、フレーム解像度やフレームレートが制限されますか?
どうすれば解決できますか?
こんにちは、
この問題は解決しましたか?私もビジョン ComponentsのIMX900Cカメラ(2048x1536)で同じ問題を経験しています。CSI1からISI0へのストリーミングは30fpsで正常に動作しますが、同じ設定でCSI2からISI1へのストリーミングを行うとオーバーフローエラーが発生します。
よろしくお願いします!
こんにちは、igorpardykov
再開まで今しばらくお待ちください。
下のリファレンスマニュアルを再度確認しました。
• 4Kp30で2つの未処理カメラストリーム(すなわちスケーリングなし)、
システム負荷とユースケース
RAW8形式のビデオストリーム(CSCをバイパス)を取得したいのですが、それは未処理のストリームに対応しているということでしょうか?
これはISIが2つの4Kp30動画ストリームを同時に使うことをサポートしているということでしょうか?
2fps未満のフレームレートを遅くした場合(例えば30fps未満)、FIFOオーバーフローの問題は解決できますか?
2つのISPが同時に利用されている場合、それぞれが以下をサポートしています:
・最大解像度1080p(1936x1188)」
ちなみに、私はISPを一切使用しておらず(デバイスツリーで全て無効化しています)、ISIのみを使用しています。
事前に感謝いたします。
こんにちは、Dy
はい、おっしゃる通りです。FIFOオーバーフローはISIのパフォーマンス機能によって発生する可能性があります。
セクション13.1.2で説明されているi.MX 8M Plusアプリケーション プロセッサ リファレンス・マニュアル ディスプレイ・インターフェース
「ISIの主な特徴は以下の通りです。
画像プロセッシング
・1080p30で処理された2つのカメラストリーム
・2つの未処理カメラストリーム(すなわちスケーリングなし)は4Kp30で、
システム負荷とユースCASE...
2つのISPが同時に利用されている場合、それぞれが以下をサポートしています:
・最大解像度1080p(1936x1188)」
よろしくお願いします
イゴール