1、問題背景
之前調(diào)試的一個項目,在生產(chǎn)過程中,工廠反饋有臺設(shè)備出圖有明顯的規(guī)則豎條紋,現(xiàn)象如下附件圖所示:

遇到此類圖像異常的問題該如何去分析呢,這是本文要總結(jié)的內(nèi)容。
2、問題分析
1)首先要從客戶那邊收集一些關(guān)于此問題的基本信息,由此來判斷問題的嚴(yán)重程度,才好做下一步的計劃和安排;
問題是否必現(xiàn),若是偶現(xiàn),出現(xiàn)概率是多少?是單體問題,還是普遍問題,出現(xiàn)問題的設(shè)備數(shù)量是多少?
從客戶那邊有了解到,生產(chǎn)了100k以上的設(shè)備,有1臺出現(xiàn),且這臺設(shè)備是必現(xiàn)的。
2)接著就是排查,是 camera 系統(tǒng)中哪一部分的問題了;
基于上述信息來看,很大可能是和硬件相關(guān),所以工廠那邊反饋是有拿正常的設(shè)備,交換主控芯片和攝像頭模組,
確認(rèn)了問題是跟著主控芯片走的,所以才找到我們進(jìn)一步來確認(rèn)問題。
但客戶驗證歸客戶驗,我們自己還是要驗證的,即使確認(rèn)了是主控芯片的問題,也要分析是主控芯片中哪一部分的問題,
因為主控芯片中涉及和圖像相關(guān)的有好些個模塊,比如 ISP、編碼、顯示等等。
如下是我拿到設(shè)備后,做的一些排查步驟:
a、首先我也是拿了1顆在我們開發(fā)板上能正常出圖的模組和此設(shè)備交換,設(shè)備換上好的模組后,出圖依然存在規(guī)則豎條紋。
這就能排除攝像頭模組的問題了,但還是不能確定是主控芯片的問題,還是板子硬件有問題。
b、確認(rèn)了設(shè)備的錄像、拍照,和預(yù)覽一樣都是存在規(guī)則豎條紋的,因為錄像、拍照和預(yù)覽不是走的同一個通道,需要確認(rèn)下其他顯示通道上出流是否是好的。
c、dump yuv 看了也是存在規(guī)則豎條紋,那就排除了顯示和編碼的問題。
d、接著是設(shè)置 ISP 出 color bar test pattern ,如下圖所示,也是存在規(guī)則的豎條紋;

那就有可能是和ISP相關(guān),要確認(rèn)是和 ISP 中具體哪個模塊相關(guān)的話,可以通過 Tuning 工具依次 bypass ISP 中的各個模塊看下結(jié)果,
但這里主控芯片可能焊接有問題,此設(shè)備的 wifi模塊沒有工作,所以沒辦法獲取IP地址,連上Tuning 工具去調(diào)試。
但也可以通過查找 ISP 相關(guān)模塊硬件寄存器地址,直接修改寄存器來實現(xiàn) bypass 相關(guān)模塊來驗證,這步有點麻煩,目前還沒確定就是 isp core 的問題,就暫時沒進(jìn)行。
e、再接著是設(shè)置 sensor 出 color bar test pattern、及dump raw圖,如下圖所示,發(fā)現(xiàn)也都是存在規(guī)則的豎條紋;


之前覺得當(dāng) sensor 出 color bar 或者 raw 上有問題時,就肯定是 sensor 的問題,
但就現(xiàn)在此問題來說,第一步做交換模組的排查時,就已經(jīng)排除了是 sensor 的問題,所以要搞清楚在出流的 pipeline 中,raw 圖是從哪里 dump 出來的;
基于我們平臺,raw 數(shù)據(jù)進(jìn)到 ISP 后,是通過一個硬件模塊,將 sensor 進(jìn)來的 mipi raw 轉(zhuǎn)換成了 plain raw ,并做了16bit 高位對齊,
然后再給到后面的 ISP core 處理(包括 blc、lsc、denoise、ltm、demosaic等)。
我這里的 raw 是在進(jìn)入 ISP 后 dump 的,那就可以排除是 ISP core 的問題了,所以也就沒必要去一個一個 bypass isp core 中的模塊去看了,所以有可能就是 ISP 最前面這個做 raw 數(shù)據(jù)轉(zhuǎn)換的模塊出的問題。
sensor color bar 是怎么顯示的,在 isp pipeline 的哪一部分出的,這個還不了解,后面了解了會再更新一下。
f、接著硬件就把客戶寄的這個設(shè)備的主控芯片,換到了我們開發(fā)板上去看出圖效果,發(fā)現(xiàn)在我們開發(fā)板上出圖,也同樣存在明顯的規(guī)則豎線,
那這就進(jìn)一步排除了是板子的硬件問題了,肯定是主控芯片的問題。
但為什么不在換完模組,確認(rèn)不是模組的問題后,就拆了芯片,換板子來驗證呢?因為芯片禁不起頻繁的手工焊接,怕多搞幾次就報廢了,
畢竟就這一臺設(shè)備上才有這個現(xiàn)象,先查完軟件該查的部分,再最后去動硬件,這是比較好的,既能保住現(xiàn)場,又能進(jìn)一步分析出是哪個模塊的問題。
g、接著就是將芯片拆下來給到芯片部門的同事去做分析了,會有針對芯片專門的故障分析流程,
最后結(jié)論是芯片 ISP 模塊故障造成圖像出現(xiàn)有規(guī)則的豎條紋,現(xiàn)有的ISP測試程序無法篩出,需要優(yōu)化 ISP 的測試程序,篩出此類異常的芯片。
3、問題總結(jié)
我們在調(diào)試過程中,遇到出圖異常的問題有很多,雖然導(dǎo)致的原因各不相同,但排查步驟基本都是一致的。
要從整個成像系統(tǒng)去考慮,去分析,理清楚整個成像的 pipeline,按照 pipeline 一個部分,一個模塊,依次去做排查,最后總能找到原因的。