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