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