- 相關(guān)推薦
EFD圖像數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)論文
在此計(jì)以STM32系列處理器作為控制器,利用uCGUI進(jìn)行圖形界面設(shè)計(jì),利用循環(huán)移位算法將黑白圖像定制成符合TFT?EFD顯示的數(shù)據(jù)格式,實(shí)現(xiàn)了靜態(tài)EFD圖像的通信,可以根據(jù)實(shí)際要求傳輸不同靜態(tài)EFD圖像,后期如果需要可以升級(jí)成傳輸數(shù)據(jù)流來(lái)支持動(dòng)態(tài)顯示。
1 設(shè)計(jì)原理
本設(shè)計(jì)采用的單色TFT?EFD顯示屏的分辨率是320×240,行線連接著晶體管的柵極,控制著晶體管的打開(kāi)與關(guān)閉,列線連接著晶體管的源極,控制著數(shù)據(jù)的傳輸,整體的結(jié)構(gòu)如圖1所示。
圖1 EPD Panel
基于EFD的圖像顯示經(jīng)歷了圖像采集,圖像傳輸,圖像顯示等步驟。EFD目前只支持黑白圖像顯示,因此圖像采集利用Processing軟件對(duì)圖片進(jìn)行一次加工,轉(zhuǎn)換成黑白圖像。數(shù)據(jù)生成之后需要進(jìn)行傳輸,傳遞給微控制器進(jìn)行處理,這時(shí)需要對(duì)數(shù)據(jù)進(jìn)行二次加工,變成滿足TFTEFD顯示屏驅(qū)動(dòng)芯片要求的格式,之后通過(guò)DMA方式傳遞給外部的SRAM。FPGA讀取SRAM的數(shù)據(jù),根據(jù)相應(yīng)的時(shí)序控制驅(qū)動(dòng)芯片輸出數(shù)據(jù),從而實(shí)現(xiàn)圖像顯示。如果控制好時(shí)序,能在1 s內(nèi)刷新25幀以上,那么就可以實(shí)現(xiàn)圖像的動(dòng)態(tài)顯示。
數(shù)據(jù)的傳輸是整個(gè)過(guò)程的中間階段,需要進(jìn)行不斷的測(cè)試來(lái)找到最優(yōu)的傳輸數(shù)據(jù)時(shí)序,構(gòu)造出相對(duì)完善的波形序列來(lái)實(shí)現(xiàn)動(dòng)態(tài)顯示。因此搭建數(shù)據(jù)傳輸系統(tǒng)來(lái)顯示不同的圖像,測(cè)試其顯示效果,對(duì)于實(shí)現(xiàn)穩(wěn)定的動(dòng)態(tài)顯示有積極的作用。本設(shè)計(jì)利用uCGUI構(gòu)造圖形控制界面,可以傳輸不同的EFD圖像數(shù)據(jù)給SRAM,F(xiàn)PGA讀取其中的數(shù)據(jù)就可以進(jìn)行圖像顯示,并且系統(tǒng)界面簡(jiǎn)單直觀,操作起來(lái)也相對(duì)簡(jiǎn)便。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件設(shè)計(jì)
利用STM32F103ZET6微處理器作為主控芯片,SD卡作為存儲(chǔ)設(shè)備,SRAM作為轉(zhuǎn)換數(shù)據(jù)的輸送目的地,TFT?LCD用作顯示與觸摸控制,各個(gè)硬件相互配合構(gòu)建起一個(gè)完整的數(shù)據(jù)傳輸系統(tǒng)。系統(tǒng)框圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)
顯示模塊采用2.8寸ALIENTEK TFTLCD模塊,利用ILI9320控制器作為驅(qū)動(dòng)芯片進(jìn)行驅(qū)動(dòng)。ILI9320液晶控制器自帶顯存,其顯存總大小為172 820 b(240×320×[1818])。并且ALIENTEK TFTLCD模塊自帶電阻式觸摸屏,可以實(shí)現(xiàn)觸控的功能。ALIENTEK TFTLCD模塊自帶的觸摸屏控制芯片為XPT2046,內(nèi)部含有12位分辨率125 kHz轉(zhuǎn)換速率逐步逼近型A/D轉(zhuǎn)換器,是一款4導(dǎo)線制觸摸屏控制器。
由于數(shù)據(jù)量比較大,將大量數(shù)據(jù)儲(chǔ)存在SD卡中[1],SD卡的配置使用SPI驅(qū)動(dòng),最高通信速度可達(dá)18 Mb/s,每秒可傳輸數(shù)據(jù)2 MB以上,可以滿足一般的應(yīng)用需求。SRAM采用的是IS62WV51216芯片,存儲(chǔ)容量為1 MB,采用STM32的FSMC接口對(duì)其進(jìn)行配置。FSMC是靈活的靜態(tài)存儲(chǔ)控制器,能夠與同步或異步存儲(chǔ)器、16位PC存儲(chǔ)器卡接口,STM32的FSMC接口支持包括SRAM,NAND FLASH,NOR FLASH等存儲(chǔ)器。本設(shè)計(jì)使用FSMC的BANK1區(qū)域3來(lái)控制IS62WV51216芯片。
2.2 軟件設(shè)計(jì)
FATFS文件系統(tǒng):FATFS是一個(gè)完全免費(fèi)開(kāi)源的FAT文件系統(tǒng)模塊,專門為小型的嵌入式系統(tǒng)而設(shè)計(jì)。它用標(biāo)準(zhǔn)C 語(yǔ)言編寫,一般只需要修改2個(gè)文件,即ffconf.h和diskio.c,之后進(jìn)行簡(jiǎn)單配置就可以移植到單片機(jī)上,進(jìn)而可以對(duì)SD卡和FLASH進(jìn)行文件的讀、寫操作。
uCGUI移植:uCGUI 是一種小型化的嵌入式圖形界面接口,該接口獨(dú)立于處理器和LCD 控制器種類,對(duì)系統(tǒng)的要求很低[2]。它設(shè)計(jì)用于為任何使用LCD圖形顯示的應(yīng)用提供高效的獨(dú)立于處理器和LCD控制器的圖形用戶接口[3],它適用單任務(wù)或是多任務(wù)系統(tǒng)環(huán)境,并且在任意LCD控制器和CPU下進(jìn)行任何尺寸的真實(shí)顯示或虛擬顯示。
本設(shè)計(jì)依靠uCGUI進(jìn)行界面設(shè)計(jì),設(shè)計(jì)比較直觀的按鍵和列表來(lái)控制圖像傳輸和圖像顯示。使用uCGUI也需要做移植的工作,移植的工作包括顯示屏和觸摸屏兩個(gè)部分。
顯示屏:首先,TFT?LCD顯示屏的底層驅(qū)動(dòng)函數(shù)需要事先寫好,保證單線程程序中正常顯示。
其次,向工程中加入uCGUI程序包。
再次,根據(jù)自己的顯示屏規(guī)格配置LcdConf.h GuiConf.h
GuiTouchConf.h文件
最后,修改LcdDriver使uCGUI與你的LCD驅(qū)動(dòng)相互關(guān)聯(lián)。
觸摸屏:若要在uCGUI 中使用觸摸屏, 則必須將GUI_SUPPORT_TOUCH (Config 目錄下GUIConf.h中定義的宏)設(shè)置為1[4]。同時(shí)要編寫底層的觸摸屏源驅(qū)動(dòng)函數(shù),對(duì)gui_TouchConf.h文件中進(jìn)行配置,然后在GUI_X_Touch.c文件中進(jìn)行函數(shù)的改動(dòng)。
具體的移植過(guò)程可以參考uCGUI使用手冊(cè),這里不再贅述。
數(shù)據(jù)轉(zhuǎn)換算法?循環(huán)移位:顯示屏里每一個(gè)像素格里有一滴彩色油墨,油墨在加電時(shí)會(huì)收縮,在不加電時(shí)會(huì)平鋪。下極板是一層反光隔膜,里邊每一個(gè)像素格里有一個(gè)TFT晶體管作為電壓開(kāi)關(guān),上極板是玻璃板,當(dāng)在上下極板間加入適當(dāng)電壓,像素格里的油墨就會(huì)打開(kāi),用光照射就顯示出明亮狀態(tài),當(dāng)不加電時(shí)就會(huì)平鋪顯示出的是油墨的顏色。EFD?Panel的微觀結(jié)構(gòu)如圖3所示。
圖3 EPD Panel微結(jié)構(gòu)
由于EFD是國(guó)內(nèi)新型顯示技術(shù),有著自身的圖像數(shù)據(jù)格式,需要定制符合其顯示格式的數(shù)據(jù)來(lái)實(shí)現(xiàn)圖像顯示。控制油墨打開(kāi)與關(guān)閉的芯片要求一個(gè)像素格有兩位進(jìn)行控制,即“01”代表打開(kāi),“10”代表關(guān)閉,因此需要對(duì)原始圖像數(shù)據(jù)進(jìn)行二次加工來(lái)滿足要求。EPD Panel 的規(guī)格是320×240,即240行,320列,由于驅(qū)動(dòng)芯片的數(shù)據(jù)輸出位數(shù)是8位,因此先定義一個(gè)字符型的二維數(shù)組data[240][80],然后利用內(nèi)存管理單元開(kāi)辟相應(yīng)的區(qū)域來(lái)存放最終數(shù)據(jù)。利用FATFS模塊的f_read函數(shù)從文本文檔里讀取數(shù)據(jù),根據(jù)文檔中每一個(gè)數(shù)據(jù)的內(nèi)容是‘1’還是‘0’,分別對(duì)二維數(shù)組內(nèi)的元素進(jìn)行0x01或0x02的賦值操作,如果移位次數(shù)沒(méi)有達(dá)到4次則進(jìn)行左移兩位操作,否則讀取下一個(gè)數(shù)據(jù)重新進(jìn)行判斷。這樣每4個(gè)數(shù)據(jù)構(gòu)成二維數(shù)組里的一個(gè)元素值。接下來(lái)的工作就是判斷列數(shù)與行數(shù)是否小于預(yù)先設(shè)定數(shù)值,如果列數(shù)超出設(shè)定值,則行數(shù)加1,從新的一行開(kāi)始讀取數(shù)據(jù),如果行數(shù)超出設(shè)定值,則循環(huán)結(jié)束,所有數(shù)據(jù)均被轉(zhuǎn)換完。
算法流程圖如圖4所示。
圖4 圖像轉(zhuǎn)換算法
在Keil集成開(kāi)發(fā)環(huán)境下利用C語(yǔ)言編寫數(shù)據(jù)格式轉(zhuǎn)換代碼,實(shí)現(xiàn)圖像轉(zhuǎn)換的重要代碼片段如下:
if(*(num++)=='1')
{
if((x%4==0)&&(x!=0))j++;
data[i][j]|=0x01;
if(x!=(3+4*j))data[i][j]<<=2;
}
else
{
if(x==320||x==321)continue;
if((x%4==0)&&(x!=0))j++;
data[i][j]|=0x02;
if(x!=(3+4*j))data[i][j]<<=2;
}
界面設(shè)計(jì)部分:進(jìn)行完所有的移植工作之后,就可以進(jìn)行界面的設(shè)計(jì),具體的界面程序流程圖如圖5所示。
圖5 主程序流程圖
整個(gè)系統(tǒng)分成了3個(gè)界面,界面之間可以實(shí)現(xiàn)相互的切換。第一個(gè)界面是進(jìn)入界面,第二個(gè)界面是控制界面,第三個(gè)界面是數(shù)據(jù)列表界面。具體實(shí)現(xiàn)方法是建立了非模態(tài)對(duì)話框,以第一個(gè)界面為例,其對(duì)話框建立代碼為: GUI_CreateDialogBox(_aDialogCreate1,GUI_COUNTOF(_aDialogCreate1),
&_cbCallback1, 0, 0, 0);
構(gòu)造的ENTER按鍵用來(lái)控制界面的交換。第二個(gè)界面構(gòu)造了三個(gè)按鍵來(lái)實(shí)現(xiàn)不同的控制,包括Begin Button,Exit Button,List Button,利用掃描方式來(lái)檢測(cè)按鍵的觸摸,從而執(zhí)行不同的功能函數(shù),代碼片段如下:
switch(GUI_GetKey())
{
case GUI_ID_BUTTON0: datacopy(col); //控制數(shù)據(jù)傳送
break;
case GUI_ID_BUTTON1: LED0=1; //界面轉(zhuǎn)換標(biāo)志置位
break;
case GUI_ID_BUTTON2: GUI_Clear();
BUTTON_Delete(hButton[0]);
BUTTON_Delete(hButton[1]);
BUTTON_Delete(hButton[2]);
GUI_CreateDialogBox(ImagelistDialog, GUI_COUNTOF(ImagelistDialog), &listCallBack, 0, 0, 0); //界面轉(zhuǎn)換
break;
default:break;
}
第三個(gè)界面是圖像名稱的列表,是將對(duì)話框與列表結(jié)合顯示出存儲(chǔ)在SD卡中圖像名稱,進(jìn)而來(lái)控制傳輸不同的圖像。三個(gè)界面的顯示效果如圖6所示。
3 結(jié) 語(yǔ)
本設(shè)計(jì)可以作為EFD圖像顯示的測(cè)試裝置來(lái)進(jìn)行使用,通過(guò)顯示不同的圖像來(lái)找到合適的波形圖來(lái)輔助動(dòng)態(tài)圖像顯示,同時(shí)實(shí)現(xiàn)了信息的可視化顯示[5],后期可以進(jìn)行程序上的修改,對(duì)系統(tǒng)進(jìn)行改進(jìn)與升級(jí),以數(shù)據(jù)流的形式傳輸數(shù)據(jù),和終端的FPGA進(jìn)行配合來(lái)實(shí)現(xiàn)動(dòng)態(tài)顯示。
【EFD圖像數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)論文】相關(guān)文章:
圖像處理技術(shù)論文07-29
FPGA數(shù)據(jù)采集與回放系統(tǒng)設(shè)計(jì)論文04-24
基于系統(tǒng)設(shè)計(jì)的科研管理論文09-22
《圖像的選取及合成》教學(xué)設(shè)計(jì)07-02
解析科技競(jìng)賽賽務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)論文04-19
綜合布線系統(tǒng)設(shè)計(jì)項(xiàng)目教學(xué)模式應(yīng)用論文07-12
機(jī)器學(xué)習(xí)的服務(wù)器調(diào)優(yōu)系統(tǒng)設(shè)計(jì)論文04-20
系統(tǒng)優(yōu)化與系統(tǒng)設(shè)計(jì)的教學(xué)07-08
關(guān)于景觀導(dǎo)視系統(tǒng)設(shè)計(jì)實(shí)踐教學(xué)方法的論文07-12