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