徐文嫻,謝玉萍,師文慶
(廣東海洋大學(xué)電子與信息工程學(xué)院,廣東湛江 524088)
在這個信息高速發(fā)展的時代,紙質(zhì)的照片非常不方便保存,容易丟失,損壞,發(fā)黃,褪色?,F(xiàn)在很少有人沖洗照片,膠卷時代已成為過去式,現(xiàn)如今人們更多是選擇將圖片存儲到SD卡中,再通過數(shù)碼相框讀取SD卡的圖片,將其顯示出來。這樣做既可以永久保存圖片,又可以獲得高清晰度的數(shù)碼照片。這種繪制圖片,循環(huán)播放,具備極高的視覺享受,讓生活充滿科技感。
通過了解各個硬件模塊的時序圖、TFT_LCD的液晶驅(qū)動代碼、電阻式觸摸屏代碼、[BMP/JPG/JPEG]圖片的解碼、基于SPI的SD驅(qū)動代碼、FATFS文件系統(tǒng)管理SD卡、功能模塊的切換,可實現(xiàn)彩色畫板和數(shù)碼相框兩個基本功能。
設(shè)計路線:顯示字符→觸屏功能→彩色畫板→存儲照片→讀SD卡→顯示圖片→設(shè)置幻燈片的播放時間。圖1所示為整體的系統(tǒng)設(shè)計圖,圖2為功能圖。
圖1 系統(tǒng)設(shè)計圖
圖2 功能圖
用一個標(biāo)志位flag來切換不同的功能。用EXTI外部中斷,得到flag的不同值。在主函數(shù)中,根據(jù)flag不同,執(zhí)行不同的代碼。
(1)按鍵0:播放PICTURE目錄的圖片,以250ms的速度播放。觸摸LCD屏上部可向上翻頁,觸摸LCD屏下部可向下翻頁,觸摸LCD屏中部可暫停播放。圖3(a)所示為屏幕界面。
(2)按鍵1:彩色畫板,有RST(復(fù)位),SAVE(保存,圖片名字為當(dāng)前時間),畫筆顏色(RED、YELLOW、BLUE、GREEN)。圖3(b)所示為彩色繪圖。
(3)按鍵2:播放PAINT目錄的圖片,其他功能如按鍵0。
圖3 屏幕顯示圖
該設(shè)計采用2.8寸TFT_LCD屏用于顯示和觸摸,圖4為TFT_LCD原理圖。該觸摸屏的分辨率為240*320,ILI9341液晶驅(qū)動,XPT2046觸摸驅(qū)動,3.3 V供電。
圖4 TFT_LCD原理圖
(1)TFT_LCD顯示
驅(qū)動:ILI9341-65K-color,RGB(5,6,5-bit)inputdata存儲顏色數(shù)據(jù),自帶顯存。
畫點(diǎn)流程如圖5所示。讀點(diǎn)流程如圖6所示。
圖5 畫點(diǎn)流程圖
圖6 讀點(diǎn)流程圖
(2)TFT_LCD觸屏
電阻式觸摸屏基本原理:當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層間的電阻在觸摸點(diǎn)位置發(fā)生變化,在橫坐標(biāo)和縱坐標(biāo)方向上產(chǎn)生信號??刂破鳈z測到信號后,導(dǎo)電層接通橫軸方向的5Ⅴ均勻電壓場,另一導(dǎo)電層將接觸點(diǎn)的電壓進(jìn)行A/D轉(zhuǎn)換,得到電壓值后與5Ⅴ相比即可得觸摸點(diǎn)的橫軸坐標(biāo),同理得出縱軸的坐標(biāo)。
(3)AD轉(zhuǎn)換器XPT2046
電阻屏觸摸感應(yīng),輸出兩個方向的電壓。根據(jù)不同的電壓值來判斷觸摸的位置。需要特定的觸摸屏AD轉(zhuǎn)換芯片XPT2046,如圖7所示。
圖7 XPT2046原理圖
XPT2046是內(nèi)含12位分辨率,4根導(dǎo)線,25 kHz轉(zhuǎn)換速率的A/D逐步逼近型轉(zhuǎn)換器。
SD卡是一種新一代存儲器,被廣泛地應(yīng)用于便攜式設(shè)置上,例如數(shù)碼相機(jī)和多媒體播放器等,如8所示。采用SPI訪問模式,其定義如圖9所示。
SD卡初始化流程如下:
(1)初始化SPI接口及相關(guān)IO。
(2)上電延時,發(fā)送>74個SCK時鐘。
(3)卡復(fù)位(CMD0),進(jìn)入IDLE狀態(tài)。
(4)發(fā)送CMD8,檢查是否支持SD卡2.0協(xié)議。
(5)根據(jù)不同協(xié)議檢查SD卡(相關(guān)命令:CMD55、CMD41、CMD58和CMD1等)。
(6)取消片選,發(fā)多8個CLK,結(jié)束初始化。
圖8 SD卡原理圖
圖9 SPI模式定義
該設(shè)計EXTI外部中斷的作用為切換各個功能模塊,如圖10所示。
圖10 EXTI外部中斷
外部中斷流程如下:
(1)初始化IO口為輸入,開啟復(fù)用時鐘;
(2)設(shè)置IO口與中斷的映射關(guān)系;
(3)初始化線上中斷,設(shè)置觸發(fā)條件等;
(4)配置中斷分組,并使能中斷;
(5)編寫中斷服務(wù)。
FATFS是FAT文件系統(tǒng)模塊,圖11所示,可以用FAT32來管理大容量存儲器的讀寫操作,如SD卡、硬盤等。
圖11 FAT文件系統(tǒng)
(1)底層接口。底層存儲媒介讀/寫接口(SD卡)和給文件創(chuàng)建提供時間的實時時鐘RTC。
(2)中間層FATFS模塊。實現(xiàn)對FAT文件的讀/寫協(xié)議。
(3)最頂層是應(yīng)用層。調(diào)用FATFS模塊提供的應(yīng)用接口函數(shù),如f_open,f_read,f_write和f_close等,這些接口可以讓直接讀/寫文件。
(1)BMP圖片
BMP圖片采用位映射存儲格式,占用的空間很大,不采用任何壓縮,沒有失真。按從左到右、從下到上的順序掃描。
(2)JPG圖片
JPEG文件后輟名為”.Jpg”或”.jpeg”,同BMP格式不同,JPEG是一種有損壓格式,能夠?qū)D像壓縮在很小的儲存空間,容易造成圖像數(shù)據(jù)的損傷。JPEG/JPG解碼運(yùn)用解碼庫:TjpgDec。
在該設(shè)計中,RTC實時時鐘的作用:在彩色畫板時,設(shè)置圖片名字。
RTC時鐘初始化流程如下:
(1)使能電源時鐘、允許訪問RTC;
(2)使能外部晶振、選擇RTC時鐘源為外部低速晶振(RCC_RTCCLKSource_LSE);
(3)設(shè)置日期和時間;
(4)配置外部中斷控制線;
(5)使能外部中斷,設(shè)置中斷優(yōu)先級;
(6)編寫rtc的中斷服務(wù)函數(shù)。
該設(shè)計是基于TFT_LCD觸摸顯示屏做的數(shù)碼相框,搭載FATFS文件系統(tǒng)管理SD卡。可用于背景墻上,有彩色畫板,幻燈片瀏覽圖片功能。讓多媒體更加貼近我們的生活,感受數(shù)碼的感覺。
以后科技發(fā)展中,觸摸面板將會成為生活中不可缺少的家居,辦公用品?!白烂嬗|摸”將成為一大新亮點(diǎn)。人們即將走入“萬物觸摸時代”。