2402704_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2402704_ja-JP

2402704_ja-JP

FRDM-MCX N947およびOV5640カメラ

現在、カメラストリーミングパイプライン(以前はESP32-S3で動作させていたもの)をFRDM-MCXN947に移植しています。目標解像度は1080pで、OV5640カメラモジュールからのキャプチャ、MCXN947ハードウェアアクセラレータによるプロセッシング、そしてSPI経由でESP32-C5へのストリーミングによるWi-Fi伝送が可能です。

ハードウェアパイプライン:
OV5640カメラ(DVP 8ビット)→ MCXN947(FlexIO / SmartDMA)→ 外部PSRAM→ SPI→ ESP32-C5→ Wi-Fi

現在の進捗状況とセットアップ

  • SCCB / I2C制御:完全に機能します。カメラレジスタの読み書き操作は成功し、初期化も完了しました。
  • SmartDMAベースライン:OV7670用の標準NXP SDKスマートDMA例(内部SRAM使用)をテストし、期待通りに動作しました。
  • 目標:OV5640と外部PSRAMバッファリング、FlexIOキャプチャを使用して、これを1080p解像度に拡張する。

問題1:FlexIOピンのリマッピングとD4/D5の無効なデータ

FlexIO を介して 8 ビット並列キャプチャを試みると、データライン D4 と D5 は有効なピクセルデータを読み取ることができませんが、ライン D0~D3、D6、および D7 は正しく動作します。

初期ピンマッピング:

  • D0-D3: P1_4、P1_5、P1_6、P1_7
  • D4-D5: P3_4、P3_5(問題あり:有効なピクセルデータがありません)
  • D6-D7: P1_10、P1_11
  • 制御: VSYNC -> P1_18、HREF -> P1_19、XCLK -> P2_2
  • SCCB: SCL -> P3_2、SDA -> P3_3

トラブルシューティングの試み:

D4とD5を別のピンに再マッピングし、対応するFlexIOとピンマルチプレクサの設定を更新しました。

  • D4を再マッピング: P2_8
  • D5を再マッピング: P2_9

この再マッピングを行っても、D4とD5は依然として有効なデータを取得できません。

問題2:1080pにおける外部PSRAMへのSmartDMAルーティング

1080pのフレームバッファは内部SRAMの容量を超えるため、フレームはリアルタイムで外部PSRAMにバッファリングする必要がある。

SmartDMAを設定して、受信したFlexIOカメラデータをCPUの介入やフレームティアリングなしに外部PSRAMに直接ルーティングするための最適な方法と設定手順を探しています。

ご意見、ピン配置に関するご提案、参考コードなどございましたら、ぜひお聞かせください!

ボード設計通信・制御(I3C |I2C |SPI |FlexCAN |イーサネット |FlexIO)MCX NRe: FRDM-MCX N947 and OV5640 Camera

こんにちは、 @DocMonster7さん

公式SDKの例は、FRDM-MCXN947ボード上でfrdmmcxn947_smartdma_camera_flexio_mculcd_cm33_core0されており、J9カメラインターフェースを通じてOV7670カメラが接続されていることを検証しました。このリファレンスデザインでは、CAMERA_D4とCAMERA_D5がそれぞれP3_4とP3_5にマッピングされ、画像キャプチャは正しく動作します。

この検証に基づくと、P3_4とP3_5はカメラデータ入力として正しく機能しているようです。したがって、この問題はこれらのMCUピン自体の制限による可能性は低いです。

OV5640のハードウェア接続、信号の完全性、ピン多重化構成、および元のSmartDMAカメラキャプチャ実装に加えられた変更点について、さらに確認することをお勧めします。

Harry_Zhang_0-1786329719002.pngHarry_Zhang_0-1786329719002.pngHarry_Zhang_0-1786329719002.png

BR

ハリー

Re: FRDM-MCX N947 and OV5640 Camera

こんにちは、ハリーさん。

J9のSmartDMA OV7670 SDK例を検証してくれてありがとうございます。これで違いが明確になった。

この不一致の理由は、使用されているキャプチャ ペリフェラルにあります

SmartDMA (EZH エンジン): GPIO/EZH ポートを直接サンプリングします (J9 上の P3_4 および P3_5 が EZH_LCD_D4/D5 として正しく機能する場合)。

  1. FlexIOパラレルエンジン(fsl_flexio_camera):連続する8つのFlexIOシフターデータピン(FLEXIO0_D12~FLEXIO0_D19)が必要です。FRDM-MCXN947では、J9上のP3_4とP3_5にはFlexIOピンの多重化機能がありません。連続したFlexIO D16/D17回線を取得するには、それらをP3_8(TP16)とP3_9(TP15)にルーティングする必要があります。

FlexIOキャプチャのためにD4をP3_8(TP16)にルーティングする際、P3_8がオンボードQSPIフラッシュ(U8 Winbond W25Q64、FlexSPI0_A_DATA0)と共有されているため、P3_8でアクティブなハードウェア競合が発生しました(アクティブドライブGPIOテストは0.15V~1.3Vにクランプされています)。

Tags (1)
No ratings
Version history
Last update:
Thursday
Updated by: