版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、. . . . 基于ARM嵌入式系統(tǒng)的圖片瀏覽器設(shè)計摘 要:本設(shè)計選擇基于ARM11處理器核心的TINY6410開發(fā)板進行。系統(tǒng)主要包括四部分:瀏覽圖片、圖像變換處理、觸摸屏中斷、LCD顯示控制器。通過硬件連接與軟件編程將整個系統(tǒng)呈現(xiàn)出來,從而實現(xiàn)圖片依次瀏覽顯示,快速進入上、下頁等功能。此項功能可以應(yīng)用到電腦屏?;蚴鞘謾C相冊。關(guān)鍵詞:ARM11;LCD;Linux嵌入式中圖分類號:0 引言隨著電子產(chǎn)品飛速的更新?lián)Q代,許多較為實用的功能也在不斷的革新。本設(shè)計的圖片瀏覽功能是基于電腦或是手機的屏保功能而演變出來的模塊化的功能。它是以嵌入式系統(tǒng)為基本開發(fā)環(huán)境,以ARM11處理器為核心而進行開發(fā)研究
2、的。目的是為了能夠?qū)⒁欢〝?shù)量的圖片在LCD顯示屏上循環(huán)播放,從而實現(xiàn)圖片瀏覽的功能。1 圖片顯示的基本原理本設(shè)計是在TINY6410開發(fā)板進行的,其核為ARM11,圖片顯示在LCD屏上,本次設(shè)計是在Linux環(huán)境下完成的。首先我們手中的初始圖片均為JPG格式,是經(jīng)過壓縮的圖片,所以現(xiàn)將圖片的格式轉(zhuǎn)換成適合LCD顯示的BMP格式,之后再將一定數(shù)量的圖片經(jīng)過處理編程“.bin文件”。完成圖片的初步處理之后,將圖片的文件,存放到ARM的緩存地址上。在顯示圖片之前需要配置LCD的各個寄存器,來適合顯示我們所要顯示的圖片。在設(shè)計中,圖片的格式為RGB(888)格式,顯示位寬為24BPP,顯示屏以幀同步的
3、方式來播放圖片。圖片的瀏覽過程是從起始地址到最終地址,在這過程中會有可能需要切換圖片的要求,所以在圖片播放過程中會判斷是否有觸摸屏中斷,如果有觸摸屏中斷則進行判斷觸摸屏上的X,Y坐標(biāo)來進行上一下一圖片的切換。具體圖片瀏覽過程如圖1 圖片瀏覽流程圖所示。所需顯示圖片文件將JPEG格式轉(zhuǎn)化為BIN格式存放到顯示緩存地址到最后一張圖片圖片播放回到初始地址下一張上一張改變地址到上一張改變地址到下一張否是是否是否圖1 圖片瀏覽流程圖1.1 圖片的格式轉(zhuǎn)換存放在顯示緩存上的圖片文件都是BIN文件,圖片的格式為RGB色彩格式在嵌入式系統(tǒng)中的圖像也普遍采用該格式。顯示的圖像都是未經(jīng)壓縮的原品質(zhì)圖像,所以需要經(jīng)
4、過圖片的格式轉(zhuǎn)換將JPG格式改為BMP格式,最終形成BIN文件。我們將圖片存放到目錄“/home/picture/image”下,首先將目錄中的圖片轉(zhuǎn)換成BMP格式,所需要的工具為該目錄下的“jpeg2bmp”。該執(zhí)行程序是由文件庫“/home/picture/src/”下的“jpegsrc.v8d.tar”編輯而成。之后再將轉(zhuǎn)換完成的BMP圖片,轉(zhuǎn)換為“.bin”文件并合并起來。具體轉(zhuǎn)換程序見附錄A。1.2 圖片的顯示圖片顯示在LCD顯示屏上,我們所選用的圖片格式為RGB(888)格式的,像素位寬為24BPP,同步方式為幀同步的方式。首先將圖片文件(image.bin)存放到緩存地址0x55
5、00000上,LCD 有自身的DMA控制器來將圖片數(shù)據(jù)傳送到LCD屏幕上進行顯示。1.3 觸摸屏中斷來切換圖片選用自動(順序)的X/Y 坐標(biāo)轉(zhuǎn)換模式方法產(chǎn)生中斷,并有程序判斷產(chǎn)生中斷的X,Y坐標(biāo),來判斷是切換上一圖片還是下一圖片。2硬件設(shè)備2.1LCD顯示器LCD顯示器是一種采用了液晶控制透光度技術(shù)來實現(xiàn)色彩的顯示器,它與傳統(tǒng)的CRT顯示器相比有很多優(yōu)點:輕薄、能耗低、輻射小等、市場占有率越來越大。LCD有多種類型,比如:STMN.、TFT、LTPS TFT、OLED等,各有各的優(yōu)缺點。我們所選用的TFT(Thin Transistor,薄膜晶體管)型的LCD顯示器。它可以大大縮短屏幕響應(yīng)時間
6、,其響應(yīng)時間已經(jīng)小于80ms,并改善了STN連續(xù)顯示屏幕模糊閃爍,有效提高了動態(tài)畫面的播放力,呈現(xiàn)畫面色彩飽和度、真實效果和對比度都非常不錯,完全超越了STN,只是功耗稍高,是目前最為主流的液晶顯示類型,不僅在MP3、MP4產(chǎn)品上大量應(yīng)用,在桌面液晶顯示器、筆記本電腦、手機等產(chǎn)品上的應(yīng)用也非常普通股。2.2 ADC與觸摸屏10位CMOS的ADC (模數(shù)轉(zhuǎn)換器)是一種循環(huán)類型的裝置,具有8位通道模擬輸入。它將模擬的輸入信號轉(zhuǎn)換成10位二進制數(shù)字編碼,最大轉(zhuǎn)換率是500KSPS和2.5MHz的ADC時鐘。 ADC轉(zhuǎn)換器的操作帶有片上采樣保持功能,電源中斷模式的支持。觸摸屏接口控制觸摸屏的位置和方位
7、(XP, XM, YP, YM),為X 坐標(biāo)轉(zhuǎn)換和Y 坐標(biāo)轉(zhuǎn)換選擇觸摸屏的位置和方位(XP, XM, YP, YM)。觸摸屏界面包含了位置和方位控制邏輯、ADC 界面邏輯和中斷發(fā)生邏輯。觸摸屏中斷的模式有四種:(1) 正常轉(zhuǎn)換模式單個轉(zhuǎn)換模式,是最有可能用于通用的ADC 轉(zhuǎn)換。這種模式可以通過設(shè)置ADCCON(ADC 的控制寄存器)初始化,并完成讀和寫存入ADCAT0(ADC 數(shù)據(jù)寄存器 0)。(2)單獨的X / Y 坐標(biāo)轉(zhuǎn)換模式觸摸屏控制器可以使用兩個轉(zhuǎn)換模式中的一個轉(zhuǎn)換。單獨的X/Y 坐標(biāo)轉(zhuǎn)換模式可以在以下方法中轉(zhuǎn)換:X 坐標(biāo)模式寫坐標(biāo)的轉(zhuǎn)換數(shù)據(jù)入ADCDAT0,因此,觸摸屏接口產(chǎn)生中斷源
8、到中斷控制器。Y 坐標(biāo)模式寫Y 坐標(biāo)的轉(zhuǎn)換數(shù)據(jù)到ADCDAT1,因此,觸摸屏接口生成中斷源到中斷控制器。(3) 自動(順序)的X/Y 坐標(biāo)轉(zhuǎn)換模式自動(順序)的X/Y 坐標(biāo)轉(zhuǎn)換模式,在以下方法轉(zhuǎn)換:觸摸屏控制器順序轉(zhuǎn)換X 坐標(biāo)和Y 坐標(biāo)被觸摸。觸摸屏寫X 測量數(shù)據(jù)如ADCDAT0 和寫Y 測量數(shù)據(jù)入ADCDAT1 后,觸摸屏接口在自動位置轉(zhuǎn)換模式上,產(chǎn)生中斷源到中斷控制器。(4) 等待中斷方式當(dāng)該系統(tǒng)在停止模式(電源中斷)時,觸摸屏控制器產(chǎn)生喚醒信號(WKU)。在觸摸屏接口下,觸摸屏控制器等待中斷模式必須設(shè)置位置和方位狀態(tài)(XP, XM, YP, YM)。觸摸屏控制器產(chǎn)生喚醒信號(Wake-U
9、p)后,等待中斷方式必須清除。(XY_PST 沒有操作模式的設(shè)置)3 實現(xiàn)方法實現(xiàn)圖片的方法是將圖片文件(image.bin)存放到存地址0x55000000上之后,LCD自身的DMA控制器便會把數(shù)據(jù)按配置好的時序傳送到LCD顯示屏上,(DMA控制器是代替存去實現(xiàn)數(shù)據(jù)傳輸?shù)脑O(shè)備存到存、存到設(shè)備、 設(shè)備到存)其中圖像的像素位寬為24BPP,圖像的格式RGB888格式。之后需要在圖片播放過程中加入中斷,最后就可以在循環(huán)播放圖片的情況下任意切換圖片了,圖像的顯示原理如圖2所示:顯示緩存DMA 控制器24位圖像數(shù)據(jù)LCD時序控制器LCD圖2 圖像驅(qū)動原理流程圖3.1 LCD的配置LCD顯示器所需寄存器
10、如下:VIDCON0 0x77100000視頻控制0 寄存器VIDCON1 0x77100004 視頻控制1 寄存器VIDTCON0 0x77100010 視頻時序控制0 寄存器VIDTCON1 0x77100014 視頻時序控制1 寄存器VIDTCON2 0x77100018 視頻時序控制2 寄存器WINCON0 0x77100020 窗口控制0 寄存器VIDOSD0A 0x77100040視頻窗口0 的位置控制寄存器VIDOSD0B 0x77100044 視頻窗口0 的位置控制寄存器VIDOSD0C 0x77100048 視頻窗口0 的尺寸控制寄存器VIDW00ADD1B1 0x77100
11、0D4 窗口0 的緩沖區(qū)開始地址寄存器,緩沖區(qū)1VIDW01ADD0B00x771000A8窗口1 的緩沖區(qū)開始地址寄存器,緩沖區(qū)0 VIDW00ADD2 0x77100100 窗口0 的緩沖區(qū)開始地址寄存器GPICON 0x7F008100 端口I 配置寄存器GPJCON 0x7F008120 端口J 配置寄存器具體配置步驟如下:(1)MOFPCON:SEL_BYPASS3 value0x7410800C 必須設(shè)置為0.(2)SPCON:LCD_SEL1:0value0x74F0081A0 必須設(shè)置為00,使用主機I/F 類型,或者設(shè)置為01,使用RGB I/F 類型。(3)VIDCON0:
12、配置視頻輸出格式和顯示使能/禁止。(4)VIDCON1:RGB I/F 控制信號。(5)VIDTCONx:配置視頻輸出時序和顯示尺寸。(6)WINCONx:窗口格式設(shè)置(7)VIDOSDxA ,VIDOSDxB:窗口位置設(shè)置(8)VIDOSDxC:alpha 值設(shè)置(9)VIDWxxADDx:源圖像地址設(shè)置RGB接口時序圖如下:圖3 RGB接口時序圖圖中各脈沖意義如下:RGB_VSYNC:傳送的是一偵數(shù)據(jù) 代表一圖片(時序相反)RGB_HSYNC:傳輸數(shù)據(jù)行同步 (時序相反)VSPW:開始傳輸一偵數(shù)據(jù)的準(zhǔn)備的行數(shù),傳輸數(shù)據(jù)前的準(zhǔn)備時間,單位:行VBPD:一偵數(shù)據(jù)開始傳輸,無效的行數(shù)LINEVA
13、L:一偵有效的數(shù)據(jù)的行數(shù)VFPD:一偵結(jié)束前無效的行數(shù)HSPW:行傳輸?shù)臏?zhǔn)備時鐘HBPD:行傳輸開始的無效時鐘HOZVAL:行傳輸?shù)挠行r鐘HFPD:行傳輸結(jié)束前無效的時鐘只有時序配置好之后才可將圖片完整的從緩存地址中讀取并且顯示出來。我們選用的幀同步方式來進行圖片播放,所以需要計算每一幀的速率。計算公式如下:幀速率=1/(VSPW+1)+(VBPD+1+(LIINEVAL+1)+(VFPD+1) *(HSPW+1 + (HBPD+1) +(HFPD+1)+(HOZVAL+1)*(CLKVAL+1)/(時鐘源頻率)根據(jù)TINY6410開發(fā)板的顯示屏的尺寸,我們假設(shè)的幀速率為60HZ,而時鐘源頻
14、率為HCLK=133MHz,其他值可以在群創(chuàng)4.3寸LCDAT043TN24 V.1上找到相應(yīng)的值,其值為:VSPW+1->tvp->10、VBPD+1->TVB->2、LINEVAL+1->tvd->272、VFPD+1->tvf->2、HSPW+1->thp->41、HBPD+1->thb->2、HOZVAL+1->thd->480、HFPD+1->thf->2。最終可以計算出CLKVAL的值約為14。具體LCD顯示程序見附錄B。3.2 ADC 觸摸屏中斷觸摸屏中斷原理圖如下:圖4 ADC和觸摸
15、屏接口的功能結(jié)構(gòu)框圖我們選擇的觸摸屏中斷的模式為自動(順序)的X/Y 坐標(biāo)轉(zhuǎn)換模式自動(順序)的X/Y 坐標(biāo)轉(zhuǎn)換模式,在以下方法轉(zhuǎn)換:觸摸屏控制器順序轉(zhuǎn)換X 坐標(biāo)和Y 坐標(biāo)被觸摸。觸摸屏寫X 測量數(shù)據(jù)如ADCDAT0 和寫Y 測量數(shù)據(jù)入ADCDAT1 后,觸摸屏接口在自動位置轉(zhuǎn)換模式上,產(chǎn)生中斷源到中斷控制器。從圖4可以知道,ADC和觸摸屏借口中只有一個A/D轉(zhuǎn)換器,可以通過設(shè)置寄存器來選擇對哪路模擬信號進行采樣。對于S3C6410,在使用觸摸屏是,AIN7HE AIN5唄用來測量XP、YP的電平,只剩下AINP6、AIN4:0共6個引腳用于一般的ADC輸入。當(dāng)不適用觸摸屏?xí)r,XP、XM、YP
16、、和YM、這4各引腳可以用于一般的ADC輸入。在使用ADC轉(zhuǎn)化器是需要設(shè)置預(yù)分頻值,計算公式,GCLK 頻率是50 MHz 和分頻器值是49 時,總的10 位轉(zhuǎn)換時間如下:A/D 轉(zhuǎn)換頻率= 50 MHz /( 49+1 ) = 1MHz轉(zhuǎn)換時間= 1 / (1MHz / 5 周期) = 1/200kHz = 5s。配置ADC轉(zhuǎn)化器所需寄存器如下:ADCCON 0x7E00B000 ADC 控制寄存器。 ADCTSC 0x7E00B004 ADC 的觸摸屏控制寄存器。 ADCDLY 0x7E00B008 ADC 啟動或時間延遲寄存器。 ADCDAT0 0x7E00B00c ADC 的數(shù)據(jù)轉(zhuǎn)換寄
17、存器。ADCUPDN 0x7E00B014 觸摸筆向上或向中斷寄存器。 ADCCLRINT0x7E00B018 清除ADC 中斷。 ADCCLRINTPNDNUP 0x7E00B020 清楚觸摸筆向上或向下中斷配置步驟:(1) 設(shè)置ADCCON寄存器,玄色輸入信號通道,設(shè)置A/D轉(zhuǎn)化器的時鐘。時能A/D轉(zhuǎn)換器時鐘的預(yù)分頻功能時,A/D時鐘的計算公式如下:A/D時鐘 = PCLK / (PRSCVL +1)。(2) 設(shè)置ADCTSC寄存器為0x0C,進入自動(連續(xù))x/y軸坐標(biāo)轉(zhuǎn)換模式,觸摸屏控制器就會自動轉(zhuǎn)換觸點的x、y坐標(biāo)值,并非別寫入ADCDAT0、ADCDAT1寄存器中,然后發(fā)出INT_
18、ADC中斷。(3) 轉(zhuǎn)換結(jié)束時,讀取ADCDAT0寄存器數(shù)值。使用INT_ADC中斷,發(fā)生INT_ADC中斷時表示轉(zhuǎn)換結(jié)束。具體中斷程序見附錄B。4 實現(xiàn)結(jié)果在該技術(shù)實現(xiàn)過程中CPU采用三星公司的S3C6410處理器,操作系統(tǒng)采用的是LINUX。S3C6410的LCD控制器采用的是RGB888格式,接口選擇I80接口,同步方式為幀同步方式。最終成功實現(xiàn)了20圖片的循環(huán)瀏覽,并且可以實現(xiàn)上下一圖片的切換。5 結(jié)束語基于ARM11 開.板和嵌入式Líux 核,給出了一個能夠應(yīng)用于ARM11核的圖片瀏覽器。采用的是TFTLCD控制器,顯示的圖片品質(zhì)高,說明其有較好的推廣價值。參考文獻1 A
19、RM11 S3C6410 中文用戶手冊.2 韋東山,嵌入式Linux應(yīng)用開發(fā)完全手冊,2008.3柯勇,宗凱,夢欣,圖像處理中間件在嵌入式系統(tǒng)中的設(shè)計與實現(xiàn),2007.附錄A:/圖片轉(zhuǎn)換為“.bin”文件程序#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h>#include <unistd.h>int main(int argc, char *argv)int fid_bmp20;int fid_rgb;int x, y;in
20、t i;char tmp4;fid_rgb = open(argv1, O_RDWR|O_CREAT);if(fid_rgb < 0)perror("open");exit(1);for(i=0;i<20;i+)fid_bmpi = open(argvi+2, O_RDWR);if(fid_bmpi < 0)perror("open");exit(1);for(i=0;i<20;i+)for(y=271; y>=0; y-)lseek(fid_bmpi, 54, SEEK_SET);lseek(fid_bmpi, y*480
21、*3, SEEK_CUR);for(x=1; x<=480; x+)read(fid_bmpi, tmp, 3);write(fid_rgb, tmp, 4);close(fid_rgb);for(i=0;i<20;i+)close(fid_bmpi);return 0;附錄B:/實現(xiàn)圖片瀏覽程序#include"image.h"void show_picture(unsigned long frem);int (*printf)(char *,.)=0x57e11d4c;void do_irq(void);void ts_init();int FLAG = 0
22、;/*/void _strat()unsigned long *handler = 0x50000000;*handler = do_irq;/cpsr7:6_asm_ _volatile_("mrs r0, cpsrnt""bic r0, #0x80nt""msr cpsr, r0nt":"r0","memory");/*/lcd中斷VIC1INTSELECT &= (3<<30);VIC1INTENABLE |= 3<<30;ts_init();/*/int
23、i=0;int j;int flag = 0;int fd;unsigned long add = FRAMEBUFFER;show_picture(add);while(1)if(FLAG = 1) /下一照片flag+;if(flag = 20)/到結(jié)尾時跳到第一add = FRAMEBUFFER;show_picture(add);flag = 0;i = 0;FLAG = 0;continue;elseadd = (add-(480*i*4)+(480*272*4);show_picture(add);i=0;FLAG = 0;continue;if(FLAG = 2)/上一照片if(
24、flag = 0)flag = 19;add = (add-(480*i*4)+(480*272*4*19);show_picture(add);i=0;FLAG = 0;continue;elseflag-;add = (add-(480*i*4)-(480*272*4);show_picture(add);i = 0;FLAG = 0;continue;else/正常循環(huán)圖片add = add+(480*4);show_picture(add);i+;if(i=272)for(j=0;j<999999;j+);flag+;i=0;if(flag = 20)add = FRAMEBUF
25、FER;show_picture(add);flag = 0;void ts_init()ADCTSC=0xd3;/ 觸摸屏坐標(biāo)設(shè)置 ADCCON=(0<<2)|(0xff<<6)|(1<<14)|(1<<16); /ADC控制寄存器的一些設(shè)定 ADCDLY=0xffff;/ 延時設(shè)定void do_irq(void)if (VIC1IRQSTATUS & (1<<30) if (ADCUPDN & 1) ADCTSC = (1<<2) | (1<<3);/Automatic sequencing conversion of X-Position and Y-Position ADCCON |= 1;/start ADC else if (ADCUPDN & 2) ADCTSC = 0xd3;ADCUPDN = 0;ADCCLRINTPNDNUP = 0;/clear stylus down up interrupt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色建筑鋼筋綁扎與回收利用合同4篇
- 江蘇省無錫市錫山區(qū)2019-2020學(xué)年八年級下學(xué)期期中物理試題【含答案、解析】
- 2025版房屋抵押貸款風(fēng)險評估與咨詢服務(wù)合同4篇
- 股權(quán)代持合同簽訂與解除的法律要點2025年合同2篇
- 江西省贛州市瑞金市2024-2025學(xué)年八年級上學(xué)期期末考試道德與法治試題(含答案)
- 廣東省茂名市電白區(qū)2024-2025學(xué)年八年級上學(xué)期期末地理試卷(含答案)
- 固體飲料行業(yè)的融資模式與投資機會分析報告考核試卷
- 2025版企業(yè)知識產(chǎn)權(quán)保護委托合同范本指南3篇
- 東南歐eMAG知識百科 2025
- 2001年江蘇南通中考滿分作文《我發(fā)現(xiàn)女孩也可做“太陽”》
- 《健康體檢知識》課件
- 蘇少版七年級美術(shù)下冊 全冊
- 名表買賣合同協(xié)議書
- JTG-T-F20-2015公路路面基層施工技術(shù)細則
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 中西方校服文化差異研究
- 《子宮肉瘤》課件
- 《準(zhǔn)媽媽衣食住行》課件
- 給男友的道歉信10000字(十二篇)
- 客人在酒店受傷免責(zé)承諾書范本
- 練字本方格模板
評論
0/150
提交評論