This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[DM6437]連接影像感測器MT9P001問題

Other Parts Discussed in Thread: PCA9543A, PCF8574A, TVP5150, TVP5146

您好:

我正嘗試著使用DM6437中DVSDK中的程式

C:\dvsdk_1_01_00_15\psp_1_00_02_00\pspdrivers\system\dm6437\bios\dm6437_evm\src\video\sample\previewer_on_the_fly

連接的是Aptina的cmos影像感測器MT9P001

以下是我的硬體部分,不知道是否有問題:

=================================

沒有任何感測器外部的decoder

將感測器輸出的數位訊號

data[7:0](可輸出12bits的cmos資料,但我只用其中8bits)的databus

VD(frame_valid)

HD(line_valid)

PCLK

以上直接連接至DM6437開發板上的DC1引腳

以及感測器的I2C引腳SDASCL連接至DC2引腳i2c_data及i2c_clk的對應位置

並從開發板上由DAC B 接口連接TFT LCD monitor觀看擷取的影像

=====================================

現在LCD上全黑無法顯示

該注意的設定如

開發板JP1,SW7的選擇

軟體在psp_vpfe.h中#define PSP_VIDEO_PATH_ENABLE都已設定正確

但程式在執行時在FVID_exchange處產生錯誤

進一步發現中斷ISR並未產生,Dequeue未成功

錯誤訊息:"VPSS: Error in CCDC Exchange"

 

很多人認為是否i2c對MT9P001的設定錯誤

而該程式編寫的時候是針對MT9T001

我已查看過該兩顆感測器的差別

只在於能擷取到的影像大小(5M vs 3M)

其中I2C寄存器設定,所有的位址都一模一樣

 

我想提的問題是,於"MT9001_extImageSensor.h"中出現了兩個位址分別為

#define  I2C_MT9001_SLAVE_ADDR      (0x5D)

#define  I2C_PCA9543A_SLAVE_ADDR    (0x70 )

其中MT9P001的位址為0x5D與原先的設定相符

而PCA9543A究竟是什麼功用?

PCA9543A是一顆i2c的晶片,開發板上只有另一種i2c晶片PCF8574A

而且若我使用原先設定的地址0x70便會在設定時出現錯誤:"VPSS  :MT9001.......FAILED"

所以我更改成與感測器相同的位址0x5D,

#define  I2C_MT9001_SLAVE_ADDR      (0x5D)

#define  I2C_PCA9543A_SLAVE_ADDR    (0x5D)

程式便可繼續執行

而i2c對感測器的設定也都如預期,檢查了所有感測器引腳都有如i2c設定而變化

 

想請教有使用過類似功能的朋友可以看一下該支程式

希望能提供我一些意見

十分感激