相關(guān)鏈接: 中國安全網(wǎng) 中國質(zhì)量網(wǎng) 中國論文網(wǎng) 中國資訊網(wǎng)
吳彤,劉嘉新
(東北林業(yè)大學(xué),黑龍江哈爾濱150040)
摘要:隨著人們現(xiàn)代生活水平的日益提高,數(shù)碼相框已經(jīng)成為人們存放讀取照片的首選工具,它不僅綜合了多種功能并且方便實用,使其得到了越來越多人的青睞。該設(shè)計采用的是基于ARM Cortex-M3內(nèi)核的STM32F103ZET6微控制器,以GUI為用戶控制界面,利用SD卡進(jìn)行存儲,通過FAT文件系統(tǒng)進(jìn)行SD卡中的文件讀取功能,系統(tǒng)移植成功后加入應(yīng)用程序?qū)崿F(xiàn)VS1003播放歌曲以及TFT液晶顯示圖片的功能。由于采用TFT-LCD觸控屏設(shè)計,使得整個系統(tǒng)實現(xiàn)了良好的人機(jī)交換,不僅符合現(xiàn)代的科技發(fā)展,并且適應(yīng)當(dāng)代人的生活習(xí)慣。
關(guān)鍵詞:數(shù)碼相框;ARM Cortex-M3;單片機(jī);TFT液晶
中圖分類號:TP202 文章編號:1006 - 2394( 2016) 03 - 0015 - 04
0 引言
我國于2006年打開數(shù)碼相框的銷售、使用的市場,直到現(xiàn)在才逐漸呈現(xiàn)出較快速度的發(fā)展趨勢。數(shù)碼相框由于其方便、實用的特點(diǎn)在廣大圖片播放器產(chǎn)品中脫穎而出,成為消費(fèi)者的可選家電產(chǎn)品之一。數(shù)碼相框是使用液晶屏LCD查看照片并具有一些輔助裝飾功能的設(shè)備,一般具有照片瀏覽、選擇、放大、縮小等功能,同時可播放音樂,也可以對圖像進(jìn)行簡單加工。本文選用的STM32是基于Cortex-M3的ARM系列處理器,速度快,能滿足圖片顯示的需求,也可以外接高分辨率LCD圖像顯示圖片;具有觸摸屏接口,實現(xiàn)對圖片的觸摸選擇;同時使用SPI接口外接觸摸屏和VS1003模塊實現(xiàn)音頻播放功能。
1硬件設(shè)計
本系統(tǒng)硬件共有4個主要模塊:微控制器STM32F103ZET6控制模塊、TFT-LCD觸控模塊、音頻解碼模塊VS1003、存儲模塊SD卡。系統(tǒng)硬件總體框架如圖1所示。
1.1 電源模塊
本系統(tǒng)可使用開發(fā)板電源選擇跳線支持外部SV電源供電、USB供電或是由ULINK2 ARM仿真器提供的5V電源供電,其電路圖如圖2所示。
(1)5 V DC電源適配器連接到J3,電源選擇跳線JP4插到1-2處,選擇外部SV電源供電。
(2)把USB電纜連接到USB口J4,電源選擇跳線JP4插到2-3處,選擇USB 5 V電源供電。
(3)把ULINK2 ARM仿真器連接到J5口處,在ULINK COMMANDER中輸入Power on perm即可由ULINK2輸出SV電源提供給開發(fā)板供電。
1.2 TFT液晶及觸摸屏模塊
TFT-LCD即薄膜晶體管液晶顯示器,其英文全稱為:Thin Film Transistor-Liquid Crstal Displayorrvr_LCD與無源TN-LCD、STN-LCD的簡單矩陣不同,它在液晶顯示屏的每一個像素上都設(shè)置有一個薄膜晶體管( TFT),可有效地克服非選通時的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此大大提高了圖像質(zhì)量。本設(shè)計采用的TFT的控制器ID為8989,顯示面積為3.2英寸,320×240點(diǎn)陣。要正常使用TFT-LCD.需要初始化一系列寄存器,如顯示時鐘、掃描方式等。TFT-LCD采用16位并口數(shù)據(jù)總線,可以把TFT-LCD看成是類似于SRAM的存儲器,其硬件電路如圖3所示。
使用PG12連接到TFT-LCD的片選CS,F(xiàn)SMC總線地址連接到TFT的數(shù)據(jù)引腳RS,TFT的讀使能引腳RD連接到FSMC的PD4,寫使能引腳WR連接到FSMC的PD5,TFT的16位并口數(shù)據(jù)引腳分別與FMSC的DO~D15相連。
1.3 SD卡讀取模塊
SDIO即安全數(shù)字輸入/輸出卡,是在SD標(biāo)準(zhǔn)上定義的一種外設(shè)接口。SD卡即是一種基于半導(dǎo)體快閃記憶器的記憶設(shè)備,它被廣泛地使用于便攜式裝置上,例如數(shù)碼相機(jī)、手機(jī)和多媒體播放器等。
本設(shè)計所采用的紅牛STM32F103ZET開發(fā)板自帶SD卡接口,使用SPI接口,最大通信速度可達(dá)18 M bit/s,傳輸數(shù)據(jù)可達(dá)2 MB yte/s,其硬件電路圖如圖4所示。
1.4 VS1003音頻模塊
VS1003的芯片內(nèi)部包含一個高性能的低功耗DSP處理器核,還有一個工作數(shù)據(jù)存儲器。VS1003通過一個串行接口接收比特流,能解碼MPEG1和MPEG2音頻層Ⅲ、WMA、WAV文件,VS1003具有SPI接口,UART可用于調(diào)試。
本設(shè)計使用STM32內(nèi)部接口SPI與VS1003進(jìn)行通信。數(shù)據(jù)流的傳輸方向是從VS1003傳輸給STM32:已連接到STM32內(nèi)部接口SPI的主輸出從輸入(MO-SI)信號線。
2軟件設(shè)計
本系統(tǒng)在軟件設(shè)計上包括兩個部分:用戶界面的設(shè)計和各功能模塊的設(shè)計。軟件設(shè)計平臺使用K eil MDK4,軟件設(shè)計流程如圖5所示。
2.1用戶界面的設(shè)計
μC/GUI是μC/OS-II的圖形界面,用于為使用LCD的應(yīng)用提供一個有效的、不依賴于處理器和LCD控制器的圖形用戶接口,工作于單任務(wù)或多任務(wù)的系統(tǒng)環(huán)境下。
它的設(shè)計是模塊化的,由在不同模塊中的不同的層組成。典型的μC/GUI框架圖如圖6所示。
2.1.1繪制位圖
基本函數(shù):GUI_ DrawBitmap,繪制位圖即在當(dāng)前屏幕的指定位置繪制一幅圖片。
函數(shù)原型:void GUI_DrawBitmap( const GUI_BIT-MAP*Pbm.int x.int y);其參數(shù)如表1所示。
位圖數(shù)據(jù)被定義為像素×像素,其最高有效位定義為第一個像素,圖片數(shù)據(jù)以第一個字節(jié)的MSB作為起始,可以在任意一點(diǎn)用戶區(qū)顯示。
2.1.2μC/GUI視窗管理器
視窗管理器是一個獨(dú)立的項目,位于子目錄“GUI\WM”下,窗口外形是矩形,由它們的原點(diǎn)(左上角的X和Y坐標(biāo))及它們的X和Y尺寸所定義。
基本函數(shù):WM_CreateWindow()
函數(shù)原型:WM_HWIN WM_ CreateWindow(int x0,nt yO,int width,int height,U8 Style,WM_CALLBACK*cb,int NumExtraBytes);
各參數(shù)含義見表2。
2.2 FATFS文件目錄
文件系統(tǒng),指的是整個系統(tǒng)用于管理在狹義上存儲的數(shù)據(jù),特別是指在FAT文件系統(tǒng)上的數(shù)據(jù)格式的存儲。常用的文件系統(tǒng)有FAT12/16/32等,F(xiàn)AT16可以管理2G的空間,而FAT32能管理到2TB的空間。FAT32較FAT16的優(yōu)勢在于FAT32采用了更小的簇,可以更有效地保存信息,而不會造成多的浪費(fèi)。因此本文中使用了FAT32作為文件系統(tǒng)。
在FATFS的API函數(shù),例程中用到的全局變量定義如下:
2.3 圖片瀏覽模塊設(shè)計
圖片瀏覽功能的實現(xiàn)在BMP圖像中不需要做額外的數(shù)據(jù)處理,可以把讀取的BMP屬性的文件數(shù)據(jù)直接送給TFT顯示驅(qū)動即可實現(xiàn)相應(yīng)的功能,而在處理
PG格式的圖片時需要進(jìn)行函數(shù)解碼。其軟件流程圖如圖7所示。
2.4音頻播放模塊設(shè)計
要讓VS1003實現(xiàn)音樂播放,首先要實現(xiàn)對芯片的寫命令功能,然后通過寫命令對VS1003進(jìn)行初始化操作;完成以上步驟之后,將音頻數(shù)據(jù)送人控制器中,即實現(xiàn)對音樂的播放功能。
在完成VS1003初始化之后就可以對其寫入MP3文件數(shù)據(jù),該過程主要看DREQ信號,在VS1003的FIFO能夠接收數(shù)據(jù)的時候輸出高電平,每次可以寫入32個字節(jié)的數(shù)據(jù);當(dāng)DREQ變?yōu)榈碗娖綍r,則停止數(shù)據(jù)的發(fā)送。寫數(shù)據(jù)的具體方法是先將XDCS電平拉低,等待DREQ變?yōu)楦唠娖綍r通過SPI寫人數(shù)據(jù);當(dāng)所有的數(shù)據(jù)都發(fā)送完后,需要發(fā)送2048無效字節(jié)以清除VS1003中的數(shù)據(jù)緩沖區(qū);最后將XDCS置高電平,寫數(shù)據(jù)過程完畢。
3測試
在軟件調(diào)試時,采用分步漸進(jìn)的測試方法。系統(tǒng)用到了多個中斷,在設(shè)計過程中遇到過中斷嵌套而無法退出的問題,因而需要設(shè)定中斷優(yōu)先級,其中觸摸屏引腳中斷優(yōu)先級最高。
程序設(shè)計中,遇到電阻屏觸摸抖動不準(zhǔn)確和雙擊的問題,這時需要利用延遲測量法進(jìn)行解決,測量完后再次延遲300 ms后打開筆中斷,即可改善該問題。
經(jīng)過調(diào)試后,系統(tǒng)的主要功能運(yùn)行效果如圖8所示。
4結(jié)論
本設(shè)計采用STM32F103ZET6與TFT液晶觸摸觸屏、VS1003結(jié)合的方案,在實現(xiàn)了基本的數(shù)碼相框的基礎(chǔ)上增添了MP3播放器的功能。STM32F103ZET6具有豐富的硬件外設(shè),在使用過程中有豐富的資料,簡單實用的同時節(jié)約了設(shè)計成本,VS1003提供優(yōu)秀的音樂處理能力,能夠保障高品質(zhì)的音質(zhì)。在顯示控制方面,本設(shè)計采用當(dāng)前流行的TFT觸摸彩屏,使本系統(tǒng)具有更好的人機(jī)交換體驗。