項目要求的時2路AHD 1080P/720P模擬視頻輸入,還有兩路tvin輸入,一共四個畫面。
AHD用nvp6124b來轉換,至於tvin,A40I已經自帶了4路,可以直接用
nvp6124b的驅動在原廠給的t3 sdk包裏已經有了,直接複製過來即可。
兩路視頻的話是要對應兩個驅動的,才能註冊出兩個/dev/video節點出來,所以複製一份同樣的驅動代碼重新命名爲nvp6124bnew.c即可,把裏面的名字改一下。
sys_config.fex中的攝像頭配置,第二路的i2c地址不要寫0x060了,隨便寫一個其他的,否則註冊失敗,y因爲i2c驅動不允一個adapter上兩個同地址設備,然後在nvp6124bnew.c的讀寫中再把client->addr賦值爲0x60>>1即可,這樣就可以繞開該問題了。
註冊成功的話會出現/dev/video2, /dev/video3連個節點
兩份驅動中都是cfg->flags = CLK_POL | CSI_CH_0; 沒有用到CSI_CH_1
可以在vfe.c中打印isr_irq,首先要有中斷過來
測量6124b的 vclk1和vclk2應該爲74M的波形
測量8根數據腳,正確的波形如下:
代碼中寄存器0xb8可以查看4路視頻是否有信號輸入, 0表示有信號,1表示無信號,如如果兩路視頻都插入那麼應該打印的時0x0c
有幾塊板子一個視頻預覽黑屏,另一個沒有中斷過來,預覽時藍色,用示波器測量視頻輸入都有信號,死活找不到原因,0xb8寄存器打印的值時0x0d,後來發現時視頻輸入短有個電容出問題了,更換即可
上述都沒問題的話,在app中即可出現4畫面預覽
存在問題:
1.打開app有時候會閃退,提示video buf不夠了,可能A40I同時預覽四個畫面確實忙不過來
2. 不能兩路同時錄像,會報錯,查看了一遍原廠sdk給的行車記錄儀代碼,發現和我寫的一樣的,用原廠的行車記錄儀app也不能同時兩路錄像,目前還沒找到原因
四路視頻測試app見如下鏈接(在我的資源下載中):
https://download.csdn.net/download/lushengchu2003/11827596