公用參考s調(diào)試指南_第1頁
公用參考s調(diào)試指南_第2頁
公用參考s調(diào)試指南_第3頁
公用參考s調(diào)試指南_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

VIP免費下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Sensor 調(diào)試指南文檔版本03發(fā)布日期2018-07-10所有 ©非經(jīng)本公司2017-2018。保留一切權(quán)利。市海思半導(dǎo)體,任何和個人不得擅自摘抄、本文檔內(nèi)容的部分或全部,并不得以任何形式。商標(biāo)、海思和其他海思商標(biāo)均為市海思半導(dǎo)體的商標(biāo)。本文檔提及的其他所有商標(biāo)或商標(biāo),由各自的所有人擁有。注意您的、服務(wù)或特性等應(yīng)受海思公司商業(yè)合同和條款的約束,本文檔中描述的全部或部分產(chǎn)品、服務(wù)或特性可能不在您的或使用范圍之內(nèi)。除非合同另有約定,海思公司對本文檔內(nèi)容不做任何明示或默示的或保證。由于版本升級或其他,本文檔內(nèi)容會不定期進行更新。除非另有約定,本文檔僅作為使用指導(dǎo),本文檔中的所有陳述、信

2、息和建議不任何明示或暗示的擔(dān)保。市海思半導(dǎo)體:518129地址:市龍崗區(qū)坂田基地電氣生產(chǎn)中心:客戶服務(wù):客戶服務(wù)傳真:客戶服務(wù)郵箱:supportSensor 調(diào)試指南前 言前言概述本文為對接不同 Sensor 的程序員而寫,目的是供您在進行 Sensor 對接的過程中提供對接步驟及注意事項的參考。該指南主要包括一款新 Sensor 對接的驅(qū)動開發(fā)流程、新Sensor 在 SDK 中的適配等。版本與本文檔相對應(yīng)的版本如下。讀者對象本文檔(本指南)主要適用于以下工程師:海思專有和信息文檔版本 03 (2018-07-10)i所有 ©市海思半導(dǎo)體名稱版本Hi3516CV300Hi3516

3、EV100Hi3519V101Hi3516AV200Hi3559AV100Hi3559CV100Hi3519AV100Hi3516CV500Hi3516DV300Hi3516EV200Hi3516EV300Hi3518EV300Sensor 調(diào)試指南前 言l技術(shù)支持工程師軟件開發(fā)工程師l修訂修訂累積了每次文檔更新的說明。最新版本的文檔包含以前所有文檔版本的更新內(nèi)容。文檔版本 03 (2018-07-10)第 3 次版本發(fā)布添加 Hi3519AV100 相關(guān)內(nèi)容文檔版本 02 (2017-12-20)第 2 次正式版本發(fā)布。1.4 小節(jié)涉及修改文檔版本 01 (2017-08-24)第 1 次正

4、式版本發(fā)布。海思專有和信息文檔版本 03 (2018-07-10)ii所有 ©市海思半導(dǎo)體Sensor 調(diào)試指南目 錄目錄1 Sensor 調(diào)試指南11.1 調(diào)試流程11.2 準(zhǔn)備材料21.2.1 確認(rèn)主規(guī)格21.2.2 Sensor datasheet21.2.3 Initialize Settings2圖像21.3.1 硬件準(zhǔn)備就緒21.3.2 完成初始化序列配置21.3.3 Sensor 輸出31.31.4 ISP 基本功能31.5 完成 AE 配置51.6 完善功能61.7 顏色、去噪等校正71.8 圖像質(zhì)量調(diào)優(yōu)7海思專有和信息文檔版本 03 (2018-07-10)iii所

5、有 ©市海思半導(dǎo)體Sensor 調(diào)試指南插圖目錄插圖目錄圖 1-1 Sensor 調(diào)試流程圖1海思專有和信息文檔版本 03 (2018-07-10)iv所有 ©市海思半導(dǎo)體Sensor 調(diào)試指南1 Sensor 調(diào)試指南 1 Sensor 調(diào)試指南1.1 調(diào)試流程請按照如圖 1-1 所示流程進行調(diào)試。圖1-1 Sensor 調(diào)試流程圖準(zhǔn)備材料出圖像完成ISP基本功能完成AE配置完善功能顏色、去噪等校正結(jié)束海思專有和信息文檔版本 03 (2018-07-10)1所有 ©市海思半導(dǎo)體圖像質(zhì)量調(diào)優(yōu)Sensor 調(diào)試指南1 Sensor 調(diào)試指南1.2 準(zhǔn)備材料1.2.1

6、 確認(rèn)主規(guī)格支持 Master 模式,支持的線性、WDR 接口模式,支持輸入頻率上限。1.2.2 Sensor datasheet確認(rèn)圖像傳輸接口模式,輸出頻率。l確認(rèn)時間、增益如何設(shè)置,幀率如何修改。l確認(rèn)在 WDR 模式下的以上兩項。LVDS 接口,需要確認(rèn)同步碼。ll1.2.3 Initialize Settings獲取 Sensor Initialize Settings,一般至少要準(zhǔn)備最大規(guī)格和標(biāo)準(zhǔn)分辨率兩種序列。1.3圖像1.3.1 硬件準(zhǔn)備就緒首先驗證是否可以讀寫 Sensor 寄存器。利用 i2c_read/ i2c_write 命令,或 ssp_read/ssp_write

7、命令,測試 Sensor 寄存器讀寫。該命令集成在默認(rèn)的文件系統(tǒng)中,可直接調(diào)用。1.3.2 完成初始化序列配置配置初始化序列,建議參考版本發(fā)布包里面的 sensor 驅(qū)動,以便于快速開發(fā)。為了方便調(diào)試,此時要排除 AE 配置及幀率配置的干擾。步驟 1. 準(zhǔn)備 Sensor 驅(qū)動可以基于一款規(guī)格相近 Sensor(master/slave, i2c/spi, wdr/linear)驅(qū)動修改,嘗試編l譯出 Sensor 庫。具體可參看 isp/sensor/hi35_sensor_ctl.c 文件進行修改。目錄下的_cmos.c 和修改 cmos_set_image_mode 函數(shù),及 cmos_

8、get_isp_default 中的 u32MaxWidth, u32MaxHeight 參數(shù)。使該senosr 分辨率、幀率可以被正確設(shè)置。l在加載 ko 的load35xx 中修改 Sensor 時鐘配置、I2C/SPI 接口 pin mux,vi 時l鐘,isp 時鐘等寄存器修改。適配時,可基于相似規(guī)格的 Sensor 修改。步驟 2. Sensor 初始化序列實現(xiàn) void sensor_init()函數(shù)。參考 sensor 手冊或者 sensor 廠家提供的 sensor 序列實現(xiàn)這個函數(shù)。l在_sensor_ctl.c 填寫 sensor 寄存器的基地址 sensor_i2c_ad

9、dr,地址的比特位寬lsensor_addr_byte,寄存器的比特位寬信息 sensor_data_byte。海思專有和信息文檔版本 03 (2018-07-10)2所有 ©市海思半導(dǎo)體Sensor 調(diào)試指南1 Sensor 調(diào)試指南在_cmos.c 文件中,注釋掉全部 sensor_write_register,并在cmos_get_sns_regs_info 函數(shù)里,把 u32RegNum 配置為 0。以使 AE 不配置sensor,排除干擾。-結(jié)束l1.3.3 Sensor 輸出本部分是基于 mpp 目錄下的 sample 做整個通路的輸出說明。主要在已完成了 sensor

10、序列的前提下做的。其步驟主要包括:MIPI、VI、ISP 以及 VPSS 的配置。這些配置可以參考已有 sensor 的配置進行簡單修改即可。如果已經(jīng)有集成的環(huán)境直接配置參數(shù)就可以運行,比如 Hisi PQTool 的啟動配置正確即可。,對應(yīng) sensor 的目錄有啟動的配置文件,只需要步驟 1.在完成初始化的配置之后,可在 ISP 目錄下編譯即可生成新的 Sensor 的庫,新庫的路徑為 mpp/lib/ libsns_.a 和 mpp/lib/ libsns_.so。步驟 2.基于 mpp 的sample 對新Sensor 進行驗證。在 sample/Makefile.param 文件中新

11、增一款Sensor 的編譯配置 SENSOR_TYPE,然后添加對應(yīng)的 libsns_.a 文件步驟 3.在 sample_comm.h 中的 SAMPLE_VI_MODE_E 中添加該 sensor 類型,注意和sample/Makefile.param 文件中新增的 SENSOR_TYPE 一致。然后再 sample_comm_isp.c 中 SAMPLE_COMM_ISP_Init 函數(shù)中添加這個 sensor 類型的屬性,如:Bayer pattern, 幀率,寬高信息。步驟 4.配置 MIPI 屬性,在 sample_comm_vi.c 中 SAMPLE_COMM_VI_SetMip

12、iAttr 添加 MIPI屬性,調(diào)試 MIPI/LVDS 部分參考MIPI 使用指南。步驟 5.步驟 6.配置 VI 屬性。在 sample_comm_vi.c 中 SAMPLE_COMM_VI_StartDev 添加 VI 屬性。編譯并運行相應(yīng)的應(yīng)用程序 sample_vio,如果一切順利,此時整個系統(tǒng)已經(jīng)運行??梢酝ㄟ^ cat /proc/umap/isp 或者 cat /proc/umap/hi-mipi 等查看信息。步驟 7.如果 ISP 沒有中斷,請先檢查 Sensor 輸入時鐘、輸出信號及 Sensor 寄存器配置是否正常。具體操作請查閱Hi35xx 專業(yè)型 HD IP Camer

13、a SoC 用戶指南或 Hi35xxV ultra-HD Mobile Camera SoC 用戶指南。步驟 8.若發(fā)現(xiàn) MIPI、VI、ISP 等都正常,并想進行圖像質(zhì)量調(diào)節(jié),可以把上述的配置移植到PQTool 的對應(yīng) sensor 配置文件中(在 config 目錄下新建一個 sensor 目錄,參考類似sensor 的配置做相應(yīng)的修改即可),點播看圖。-結(jié)束1.4 ISP 基本功能本章節(jié)涉及 Sensor 部分,請仔細(xì)閱讀 Sensor 的 Datasheet,或結(jié)構(gòu)體說明請參考HiISP 開發(fā)參考。Sensor 原廠 FAE。驅(qū)動文件一般分為_cmos.c 文件,_cmos_ex.h

14、和_sensor_ctl.c 文件,分別用于 ISP 功能和初始化序列, 量。_cmos_ex.h 文件用于存放定義的驅(qū)動文件中的全局變海思專有和信息文檔版本 03 (2018-07-10)3所有 ©市海思半導(dǎo)體Sensor 調(diào)試指南1 Sensor 調(diào)試指南驅(qū)動文件共有 3 個callback 函數(shù),是 sensor 驅(qū)Firmware函數(shù)的接口。HI_MPI_ISP_SensorRegCallBack(),HI_MPI_AE_SensorRegCallBack(),HI_MPI_AWB_Sen sorRegCallBack(),分別對應(yīng) ISP、海思 AE 及海思 AWB。開發(fā)流

15、程ISP 基本功能,請按如下順序?qū)崿F(xiàn):1.2.3.4.cmos_set_image_mode(), cmos_set_wdr_mode()。sensor_global_init()。sensor_init(), sensor_exit()。cmos_get_isp_default(),cmos_get_isp_black_level()。注意事項cmos_set_image_mode ()該函數(shù)用于區(qū)分不同分辨率,用全局變量 gu8SensorImageMode 傳遞分辨率模式。請注意返回值,返回“0”表示重新配置 Sensor,會調(diào)用 sensor_init(),返回“-1” 表示不用重新配

16、置 Sensor,無動作。cmos_set_wdr_mode()該函數(shù)用于區(qū)分不同 WDR 模式,用全局變量 genSensorMode 傳遞。請注意 gu32FullLinesStd 和 gu32FullLines 的區(qū)別。gu32FullLinesStd 是當(dāng)前分辨率及 WDR 模式下,標(biāo)準(zhǔn)幀率(一般為 30fps)時的總行數(shù)。gu32FullLines 是實際總行數(shù),該參數(shù)會在其它函數(shù)中,由于降幀的 ,基于標(biāo)準(zhǔn)行數(shù) gu32FullLinesStd 及幀率修改。不同 WDR 模式,一般會修改 AE 相關(guān)函數(shù),ISP default 內(nèi)各個參數(shù)以及初始化序列。sensor_init()請根

17、據(jù)不同的分辨率及 WDR 模式配置不同序列。sensor_exit()實現(xiàn)參考類似 sensor 的驅(qū)動即可。cmos_get_isp_default()該函數(shù)配置基本是調(diào)試或校正參數(shù),可以在調(diào)試及校正時修改參數(shù)。請注意不同 WDR 模式參數(shù)可能不一樣,比如 Gamma,DRC 等。具體請參考HiISP 開發(fā)參考。cmos_get_isp_black_level()在這個函數(shù)里面配置 RAW 數(shù)據(jù)四個通道的黑電平。llllll有些類型的 sensor 的黑電平會隨著 gain 值的變化而漂移,這時需要在不同的 ISO 值下分別校正出對應(yīng)的黑電平值,在 cmos_get_isp_black_le

18、vel()函數(shù)內(nèi)進行相應(yīng)的實現(xiàn)。sensor_global_init()l海思專有和信息文檔版本 03 (2018-07-10)4所有 ©市海思半導(dǎo)體Sensor 調(diào)試指南1 Sensor 調(diào)試指南該函數(shù)配置了 sensor 初始化的相關(guān)配置,包括分辨率、WDR 模式、gu32FullLinesStd 的默認(rèn)值,初始化狀態(tài)值及其他相關(guān)的狀態(tài)值。1.5 完成 AE 配置完成 AE 配置后,圖像就基本正常了。開發(fā)流程AE 配置,請按如下順序?qū)崿F(xiàn):1.2.3.4.5.cmos_get_sns_regs_info()。cmos_get_ae_default(), cmos_again_cal

19、c_table(), cmos_dgain_calc_table()。cmos_get_inttime_max()。cmos_gains_update(), cmos_inttime_update()。cmos_fps_set(), cmos_slow_framerate_set()。注意事項cmos_get_sns_regs_info()該函數(shù)用于配置需要確保同步性的 sensor、ISP 寄存器,如l時間、增益及總行數(shù)等。雖然這些寄存器可以通過直接調(diào)用 sensor_write_register()來配置,但無法保證同步性,可能出現(xiàn)閃爍。所以這些寄存器請一定要用該函數(shù)配置。u8DelayF

20、rmNum 是寄存器配置延時。舉個例子,很多 Sensor 的增益是下一幀生效,但時間是下下幀生效,所以需要增益晚一幀配置,以使增益和時間ISP 與同時生效,這時就需要用 Delay 的功能。配置 u8Cfg2ValidDelayMax 是sensor 同步,ISP 包括 ISP Dgain 和 WDR比等參數(shù),可通過檢查 ISP Dgain 是否與 sensor gain 同步來檢查參數(shù)正確性。該參數(shù)的意義是生效時間,一般會比最大的 sensor 寄存器延遲多 1。 bUpdate 用于該寄存器是否更新,如果不用修改,可以置為 false。cmos_get_ae_default() 請根據(jù)

21、sensor 修改參數(shù)。enAccuType 是計算精度的類型,常用AE_ACCURACY_TABLE 及 AE_ACCURACY_LINEAR。而AE_ACCURACY_DB 因為 CPU 計算精度問題,除非精度很低的,均由 TABLE的方式代替。l LINEAR 方式是指時間或增益以固定步長線性遞增。比如每一步增長 0.325倍,或時間每一步增長 1。步長由 f32Accuracy 決定。 TABLE 方式一般用于增益,指每一步可以達到的增益通過查表的方式,在cmos_again_calc_table()或 cmos_dgain_calc_table()函數(shù)中計算得到。此時f32Accur

22、acy 失去意義,不生效。海思 AE 默認(rèn)計算順序是先分配時間,其次 again,然后 digain,最后 ispdgain??梢酝ㄟ^設(shè)置 AE Route 或 AE RouteEx 來調(diào)整分配順序。cmos_again_calc_table(), cmos_dgain_calc_table()l海思專有和信息文檔版本 03 (2018-07-10)5所有 ©市海思半導(dǎo)體Sensor 調(diào)試指南1 Sensor 調(diào)試指南這兩個函數(shù)輸入、輸出完全一致,分別對應(yīng) Again 和 Dgain 的 TABLE 方式。下面以 Again 為例說明。 pu32AgainLin 同時做輸入和輸出。做

23、輸入是 AE 計算出來的期望增益,1024 表示 1 倍。在該函數(shù)中,要到一個 sensor 可以實現(xiàn)的,小于該增益的最大增益。并重新賦給該參數(shù)作為向 AE 的輸出。 pu32AgainDb 是輸出,AE 內(nèi)部不用于運算,只是作為函數(shù) cmos_gains_update()的輸入。一般用于傳遞當(dāng)前增益的 sensor 寄存器值。例如:某 sensor 增益按 0.3dB 遞增。sensor 寄存器值從 0 開始,每增加 1,對應(yīng)增益分別為 0dB, 0.3dB, 0.6dB, 0.9dB離線算出一個將 dB 轉(zhuǎn)化為線性倍數(shù)的查找表,為 1024, 1060, 1097, 1136在函數(shù)中將輸入的增益與查找表比對,假如輸入為 1082,那查出來可用的最大增益是 1060,返回 1060 為實際生效的增益。cmos_get_inttime_max()l該函數(shù)只在 xto1 WDR 模式下生效,用于計算不同大值。比的時候,時間的最一般是行模式才需要。因為行模式,時間的限制為長時間加短時間的和要小于一幀長度。所以不同比下,最大重新運算。cmos_gains_update(), cmos_inttime_update()時間有差異,需要l這兩個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論