基于A(yíng)RM處理器S3C2440A的便攜式視頻展示臺的設計
摘要:文中基于對微處理器S3C2440A的顯示控制模塊和高性能視頻D/A芯片ADV7120的研究,提出了一種便攜式視頻展示臺的設計方案。本方案采用130萬(wàn)像素的OV9650攝像頭采集實(shí)物、文檔、圖片或者過(guò)程的圖像數據,利用S3C2440自帶的LCD控制器來(lái)產(chǎn)生符合VGA顯示要求的時(shí)序邏輯,ADV7120將數字RGB信號轉換成VGA顯示需要的模擬彩色信號。通過(guò)TFT—LCD掃描顯示的時(shí)序與VGA掃描顯示時(shí)序的匹配來(lái)驅動(dòng)VGA顯示。測試結果表明,方案切實(shí)可行,達到正常顯示色彩信息的要求。
關(guān)鍵詞:便攜式視頻展示臺;嵌入式linux;LCD控制器;ADV7120;VGA時(shí)序
視頻展示臺是將實(shí)物、文稿、圖片和過(guò)程等信息轉換為圖像信號輸出在投影機、顯示器上展示出來(lái)的一種演示設備。便攜式視頻展示臺由于具有體積小,易于攜帶等優(yōu)點(diǎn),被廣泛用于教學(xué)、大型會(huì )議及產(chǎn)品展示等場(chǎng)合,具有較大的研究前景。本視頻展示臺的設計采用三星基于ARM9內核的S3C2440A芯片,運用模塊化的設計原則;具有體積小、便攜帶、低功耗、易維護性等特點(diǎn),整個(gè)系統的設計由兩部分構成,分別是實(shí)物、圖片、文檔或者過(guò)程等圖像采集部分和VGA傳輸顯示部分。此視頻展示臺的顯示分辨率為800x600。
1 視頻展示臺系統結構設計
本便攜式視頻展示臺采用三星S3C2440A處理器,其CPU的工作頻率可達400 MHz,可以很好的處理圖像數據。它的外設包括:LCD控制器、CAMIF單元、UART接口、IICBUS接口、USB主從接口等。系統采用具有極快讀寫(xiě)速度的2片32 MB的SDRAM來(lái)保證linux操作系統的流暢運行,采用具有掉電保護功能的128 MB的Nancmash來(lái)存放操作系統和驅動(dòng)程序。此外,130萬(wàn)像素的ov9650攝像頭用來(lái)采集視頻圖像數據,ADV 7120將數字RGB信號轉換成VGA顯示需要的模擬彩色信號,顯示分辨率為800x600。電源管理模塊能夠提供多種供電,包括芯片內核電壓采用1.8 V供電,芯片的IO口部分采用3.3 V供電。為了給實(shí)物、文檔、圖片或者演示過(guò)程提供照明光源,在ov9650攝像頭旁邊加了一圈led小燈。下圖1是方案的硬件電路設計框圖。
2 視頻圖像采集模塊
2.1 視頻采集硬件接口及其分析
視頻采集模塊是本便攜式視頻展示臺的一個(gè)重要組塊之一。本模塊采用攝像頭接口控制單元CAMIF和IIC總線(xiàn)來(lái)控制和傳輸OV9650攝像頭采集實(shí)物、圖片、文檔或者過(guò)程等視頻數據。選擇CMOS傳感器是因為它有功耗低、編程方便、成本低等優(yōu)點(diǎn)。其主要引腳及功能描述如下:CAMCLKOUT是CPU輸出的采樣時(shí)鐘,幀同步信號VSYNC、行同步信號HREF、像素時(shí)鐘信號PCLK由OV9650內部產(chǎn)生,輸入到S3C2440A芯片中,用于對圖像采集進(jìn)行控制。攝像頭在每個(gè)PCLK脈沖過(guò)程中依次采集一個(gè)字節的數據,直到一幀圖像數據采集完成。
攝像頭采集的數據經(jīng)過(guò)處理后進(jìn)入幀緩沖區,幀緩沖區由4個(gè)Ping Pong存貯器組成,因此圖像幀的讀寫(xiě)操作可以同時(shí)進(jìn)行。然后通過(guò)預覽DMA連到AHB總線(xiàn)上,通過(guò)AHB總線(xiàn)將數據送往內存。整個(gè)過(guò)程由linux操作系統來(lái)控制,如圖2所示。
2.2 視頻采集驅動(dòng)設計
file_operations結構是Linux2.6內核提供的一個(gè)標準化的文件操作實(shí)現接口。定義ov9650_ops為file_operations結構。編寫(xiě)用于上層軟件接口函數:
struct file_operations ov9650_ops=
{
open:ov9650_open,
release:ov9650_release,
read:ov9650_read,
write:ov9650_write,
iocfl:ov9650_ioctl,
};
通過(guò)這些調用函數,應用程序就可實(shí)現對CMOS攝像頭的打開(kāi)、關(guān)閉、視頻數據的讀取、內部寄存器的設置等進(jìn)行操作。在啟動(dòng)驅動(dòng)程序時(shí),系統首先調用已經(jīng)定義的ov9650攝像頭驅動(dòng)程序的入口函數init(ov9650_init)對攝像頭進(jìn)行初始化,初始化的主要內容是復位、通過(guò)IIC配置相關(guān)攝像頭寄存器、攝像頭采樣時(shí)鐘配置以及中斷配置等,然后等待進(jìn)一步命令。應用程序使用結束后,系統調用已經(jīng)定義的ov9650出口函數exit(ov9650_exit)退出。
3 VGA顯示模塊
3.1 LCD控制器接口和VGA接口描述
本便攜式視頻展示臺的另一個(gè)重要組塊是VGA顯示模塊。S3C2440A帶有LCD控制器,可以很方便地控制驅動(dòng)掃描式接口的TFT顯示。其主要功能引腳有:像素時(shí)鐘信號引腳VCLK/LCD,場(chǎng)同步信號引腳VFRAME/VSYNC,行同步信號引腳VLINE/HSYNC,VD[23:0]是LCD數據輸出端口。當把VSYNC、HSYNC、VCLOCK等信號參數設定好,并把幀內存(frame memory)的地址告訴LCD控制器后,LCD控制器即可通過(guò)DMA自動(dòng)獲取幀內存中的圖像數據。
VGA接口使用模擬RGB通道,逐點(diǎn)、逐行掃描。VGA接口信號為模擬信號,其關(guān)鍵信號有5個(gè),分別是行同步信號,場(chǎng)同步信號,紅色模擬信號,綠色模擬信號和籃色模擬信號。電子槍從左至右,從上而下的進(jìn)行掃描,每行結束時(shí),用行同步信號進(jìn)行同步。掃描完所有的行后用場(chǎng)同步信號進(jìn)行場(chǎng)同步。
通過(guò)比較LCD掃描式接口時(shí)序和VGA時(shí)序可知,LCD控制器驅動(dòng)TFT顯示的行場(chǎng)同步信號時(shí)序和VGA行場(chǎng)同步信號時(shí)序很像。只是信號的極性VGA是負極性,LCD信號是正極性,這個(gè)通過(guò)調整Linux內核顯示模塊來(lái)調整LCD的時(shí)序以適應SVGA時(shí)序即可。因此,可以利用高性能視頻D/A轉換芯片ADV7120將S3C2440A自帶的LCD掃描式接口轉換為VGA接口,然后用帶有VGA接口的顯示器顯示。此外,LCD控制器用于控制數據信號的使能的引腳VDEN在D/A轉換模塊中可用來(lái)控制信號轉換的使能,LCD控制器的VCLK可用作D/A轉換模塊的時(shí)鐘信號。
3.2 高性能視頻D/A轉換芯片ADV7120
ADV7120的輸入及控制信號非常簡(jiǎn)單:3組8位的數字視頻數據輸入端,用以連接LCD控制器的數據輸出接口VD[23:0],數據輸入端采用標準TTL電平接口;4條視頻控制信號線(xiàn)包括復合同步信號SYNC、消隱信號BLANK、白電平參考信號REF WHITE和像素時(shí)鐘信號CLOCK,外接一個(gè)123V數模轉換參考電壓源和1個(gè)輸出滿(mǎn)度調節。
ADV7120的輸出信號只有4條:3條模擬RGB信號和同步參考電流輸出信號Isync。VGA接口的行場(chǎng)同步信號和LCD掃描式接口的行場(chǎng)同步信號是一致的,因此LCD控制器接口中的行場(chǎng)同步掃描信號HSYNC和VSYNC直接接到VGA接口。LCD控制器和VGA接口是由硬件實(shí)現的兩種接口的電器轉接,不需要寫(xiě)任何驅動(dòng)程序,這是在嵌入式系統平臺上擴張VGA接口最方便的方案,也是本便攜式視頻展示臺體積小,易攜帶性設計的基礎。
評論