嵌入式機載視頻輸出接口設(shè)計
2.3 寄存器配置
在完成對CH7024的硬件電路設(shè)計后,需要在軟件上對相應(yīng)的寄存器進(jìn)行配置,在CH7024.C驅(qū)動程序中將相應(yīng)寄存器地址后面的值進(jìn)行配置,如視頻輸入格式、輸出格式、分辨率大小等。CH7024寄存器的初始化相關(guān)程序代碼如下:
2.4 驅(qū)動程序編譯加載
由于應(yīng)用環(huán)境是在Linux操作系統(tǒng)下,開發(fā)板中用的是Linux 2.6.19內(nèi)核,在內(nèi)核中并沒有CH7024相關(guān)的驅(qū)動模塊,這就需要把編寫好的驅(qū)動程序加載到內(nèi)核中,生成需要的模塊形式,重新編譯內(nèi)核,下載到開發(fā)板上。
向內(nèi)核中添加TVOUT CH7024驅(qū)動的流程如下:
(1)選擇一個放置驅(qū)動代碼的位置:drivers/video/mxc/把代碼放到這個目錄中。
(2)在drivers/video/mxc/添加Kconfig文件,內(nèi)容如下:
(3)編寫makefile,內(nèi)容為:
(4)修改上一級Makefile和Kconfig,即video目錄下的Makefile和Kconfig,在Makefile中添加:
(5)在arch/arm的Kconfig中添加:
至此,修改完畢。此時可以使用make menuconfig。出現(xiàn)內(nèi)核配置的窗口如圖5所示。本文引用地址:http://butianyuan.cn/article/150914.htm
選擇device drivers→graphics support可以看到,出現(xiàn)了TVOUT CH7024 driver support→選項,進(jìn)入選擇“M”,即將驅(qū)動程序編譯成動態(tài)加載模塊,然后通過“make modules”命令生成了CH7024.ko文件。將CH7024編碼器的輸入端連接到PC機,輸出端連接到監(jiān)視器上,上電后,將生成的模塊文件由超級終端下載到開發(fā)板上,在終端中用insmod CH7024.ko加載驅(qū)動。CH7024.ko驅(qū)動加載時,會通過I2C讀CH7024的寄存器信息,并打印它的ID號“Chip version ID(0x22)=0x22”,如果等式右邊的值與左邊括號里的值不等,則說明I2C有問題,或者沒有加載其驅(qū)動,TVOUT則不能正常工作。在I2C正確的情況下,加載相關(guān)視頻采集驅(qū)動程序,通過CCD攝像頭采集到的視頻就能在監(jiān)視器上看到。
3 結(jié)果分析
在實驗中該方案能夠通過攝像頭采集視頻數(shù)據(jù),并能在監(jiān)視器上實時看到采集的視頻圖像。由于輸入接口設(shè)計成了接收不同格式的視頻信號,使其能夠接收多種格式的視頻信號,編碼器不用更改硬件,只需要在軟件方面做相應(yīng)的修改就能實現(xiàn)不同格式視頻的接收。
4 結(jié)語
通過對視頻編碼芯片的軟硬件設(shè)計,使CH7024芯片能夠接收多種格式的視頻信號,由于CVBS信號傳輸距離遠(yuǎn),抗干擾性強,將不同格式的視頻信號轉(zhuǎn)換成CVBS復(fù)合視頻信號。隨著技術(shù)的發(fā)展,處理器芯片的輸出視頻數(shù)據(jù)為24位,該設(shè)計的編碼器也能應(yīng)用,節(jié)省設(shè)計成本,縮短開發(fā)周期,具有一定的實用性。
評論