海思平台35xx系列sensor不出图问题排查方法(新手来看)
對于安防行業的開發同仁來說,sensor的正常出圖可以說是開發的第一步 ,尤其是從事isp相關,本文章就是總結了我在開發過程中遇到的一些問題,發布出來,為遇到相同情況的同學們提供一個解答的思路。?
一、 學會看海思mpp庫的打印信息
? ? ? ? 對于最常用的 hi3516dv300/cv500 sdk 來說。 在 /proc/umap/ 目錄下有海思mpp 庫的所有模塊的信息, 通過cat 指令進行打印信息, 分析信息進行確定問題。 在分析打印信息的前提下,需要多海思平臺 sensor 數據流的走向做到心中有數才能正確的分析出原因。
? ? ? ? 海思平臺的sensor 數據流走向大概是這樣的:? sensor -> vi -> vpss -> venc/vo。?
? ? ? ? 其中 sensor -> vi 使用了mipi 信號進行傳輸, 可能是mipi , 也可能是 lvds, 但是目前主流的還是mipi。?
? ? ? ? 使用這樣的命令: cat /proc/umap/mipi_rx? 可以打印出mipi 驅動接收到的一些信息, 具體的參數意義,可以查看海思的相關手冊中會有詳細的參數解答。? 例如 mipi 的配置與詳細的信息會在 MIPI 使用指南中進行詳細的解釋,這里就不做贅述,只是說一下手冊 中沒有詳細介紹的東西加上自己的理解。?
? ? ? ?Lind ID 會對應硬件設計中,具體鏈接sensor板傳輸數據使用到的線序,如果硬件的設計與mipi配置中的線序不對應的話, 那么傳輸的數據會解析有誤,導致圖像有異常。
? ? ? ?MIpiData/LvdsData 則對應了每天mipi 物理線的數據, 如果發現其中一條線一直沒有數據,則需要排查是否排線損壞。
? ? ? ?DETECT INFO 信息中的圖幅如果有誤,則需要查看mipi配置信息是否正確。
? ? ? ?如果sensor配置信息正確的話,則需要排查sensor驅動中VMAX? HMAX的寄存器是否配置正確。 至于如何配置sensor的驅動,后邊會進行根據自己的經驗進行總結。
? ? ? 在此基礎上,如果想更加深入的了解到信號是否有異常,可以使用示波器進行信號的測量與分析, sensor板的原理圖我猜基本大同小異,并且也沒有什么難度, 濾波的處理可能各個硬件工程師有些區別,sensor的接口確是根據sensorDatasheet來進行畫板。從sensor板原理圖中找到mipi的關鍵接口,進行直接測量或者連阻測量, 得到mipi信號。 這種方法可以直接的排查出是哪一端出現了問題, 假如mipi_rx?信息中與測量到的信號不符,那么問題多半出現在了mipi_rx 驅動中, 如果信號與mipi_rx信號相符,那么則可以排 查sensor端的問題。? 如果 圖幅信息不正確, 則可以測量 VS HS 信號,通過圖時序的對比,可以計算出圖幅,幀率。? VS 是場信號,與頻率、幀率相關, HS 是行信號,與曝光行數相關。?
? ? ? ? 如果mipi 正確, 那么大部分的問題就解決了, 大多數情況就可以正常的出圖。如果還有問題,則需要進一步排查 VI? VPSS? VO等模塊的信息,根據proc 信息準確的找到問題所在進行解決。
二、學會看海思平臺數據流的方向
? ? ? ? 我跟人認為數據流不是簡單的 mpp 中的各模塊綁定走向,其中涉及到了別的底層支持。?
? ? ? ?比如說: VI 部分的配置, 可能是因為sensor 的時鐘不匹配導致,可能是因為 sensor_i2c.c 驅動的id 配置限制等等。
? ? ? ?由于我經驗尚欠,只能總結出這些問題點: sensor驅動配置有誤, 時序配置有誤,驅動少加載,配置線序有誤,工作模式配置有誤。?
? ? ? ?歡迎大佬們進行指正與補充,打工人,共同努力吧。
?
?
總結
以上是生活随笔為你收集整理的海思平台35xx系列sensor不出图问题排查方法(新手来看)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序研发问题梳理:翻页:下拉:缓存
- 下一篇: type-c接口图片_TypeC接口除了