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