• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      EFD圖像數(shù)據傳輸系統(tǒng)設計

      2015-04-12 00:00:00仇廣東羅智杰周國富
      現(xiàn)代電子技術 2015年6期

      摘 "要: 在此計以STM32系列處理器作為控制器,利用uCGUI進行圖形界面設計,利用循環(huán)移位算法將黑白圖像定制成符合TFT?EFD顯示的數(shù)據格式,實現(xiàn)了靜態(tài)EFD圖像的數(shù)據傳輸,可以根據實際要求傳輸不同靜態(tài)EFD圖像,后期如果需要可以升級成傳輸數(shù)據流來支持動態(tài)顯示。

      關鍵詞: 循環(huán)移位算法; EFD顯示; uCGUI; 數(shù)據傳輸

      中圖分類號: TN919?34; TP274+.2 " " " " " " " 文獻標識碼: A " " " " " " " " " 文章編號: 1004?373X(2015)06?0097?04

      Design of EFD image data transmission system

      QIU Guang?dong, LUO Zhi?jie, ZHOU Guo?fu

      (Institute of Electronic Paper Displays, South China Academy of Adavanced Optoelectronics, South China Normal University, Guangzhou 510006, China)

      Abstract: In this design, STM32 series microprocessor is taken as the controller, uCGUI for graphical interface design and cyclic shift algorithm for making the black?and?white image meet the TFT?EFD (Electro? Fluidic Display) data format to realize static EFD image data transmission. It can transmit various static EFD images according to the practical requirement. If needs later on, it can be upgraded to transmit data flow to support the dynamic display.

      Keywords: cycle displacement algorithm; electro? fluidic displays; uCGUI; data transmission

      電子紙技術近年來發(fā)展迅速,憑借其超低耗能、閱讀視角廣、類紙顯示等一系列優(yōu)點,可能引領新一代的顯示潮流。目前,電子紙的彩色動態(tài)圖像顯示是一個前沿研究方向。EFD(Electrofluidic Display)是一種將電潤濕與微流技術結合的新型顯示技術,其響應時間可小于10 ms,讓動態(tài)顯示成為了可能。動態(tài)圖像顯示的前提是實現(xiàn)靜態(tài)圖像顯示,如果將靜態(tài)圖像顯示成熟穩(wěn)定,那么只要在1 s時間內刷新25幀以上的圖片就可以實現(xiàn)動態(tài)顯示。因此研究靜態(tài)圖像顯示對找到最佳時序來實現(xiàn)動態(tài)顯示有著積極的推動作用。

      1 "設計原理

      本設計采用的單色TFT?EFD顯示屏的分辨率是320×240,行線連接著晶體管的柵極,控制著晶體管的打開與關閉,列線連接著晶體管的源極,控制著數(shù)據的傳輸,整體的結構如圖1所示。

      lt;E:\王芳\現(xiàn)代電子技術201506\現(xiàn)代電子技術15年38卷第6期\Image\24t1.tifgt;

      圖1 EPD Panel

      基于EFD的圖像顯示經歷了圖像采集,圖像傳輸,圖像顯示等步驟。EFD目前只支持黑白圖像顯示,因此圖像采集利用Processing軟件對圖片進行一次加工,轉換成黑白圖像。數(shù)據生成之后需要進行傳輸,傳遞給微控制器進行處理,這時需要對數(shù)據進行二次加工,變成滿足TFTEFD顯示屏驅動芯片要求的格式,之后通過DMA方式傳遞給外部的SRAM。FPGA讀取SRAM的數(shù)據,根據相應的時序控制驅動芯片輸出數(shù)據,從而實現(xiàn)圖像顯示。如果控制好時序,能在1 s內刷新25幀以上,那么就可以實現(xiàn)圖像的動態(tài)顯示。

      數(shù)據的傳輸是整個過程的中間階段,需要進行不斷的測試來找到最優(yōu)的傳輸數(shù)據時序,構造出相對完善的波形序列來實現(xiàn)動態(tài)顯示。因此搭建數(shù)據傳輸系統(tǒng)來顯示不同的圖像,測試其顯示效果,對于實現(xiàn)穩(wěn)定的動態(tài)顯示有積極的作用。本設計利用uCGUI構造圖形控制界面,可以傳輸不同的EFD圖像數(shù)據給SRAM,F(xiàn)PGA讀取其中的數(shù)據就可以進行圖像顯示,并且系統(tǒng)界面簡單直觀,操作起來也相對簡便。

      2 "系統(tǒng)設計

      2.1 "硬件設計

      利用STM32F103ZET6微處理器作為主控芯片,SD卡作為存儲設備,SRAM作為轉換數(shù)據的輸送目的地,TFT?LCD用作顯示與觸摸控制,各個硬件相互配合構建起一個完整的數(shù)據傳輸系統(tǒng)。系統(tǒng)框圖如圖2所示。

      lt;E:\王芳\現(xiàn)代電子技術201506\現(xiàn)代電子技術15年38卷第6期\Image\24t2.tifgt;

      圖2 系統(tǒng)結構

      顯示模塊采用2.8寸ALIENTEK TFTLCD模塊,利用ILI9320控制器作為驅動芯片進行驅動。ILI9320液晶控制器自帶顯存,其顯存總大小為172 820 b(240×320×[1818])。并且ALIENTEK TFTLCD模塊自帶電阻式觸摸屏,可以實現(xiàn)觸控的功能。ALIENTEK TFTLCD模塊自帶的觸摸屏控制芯片為XPT2046,內部含有12位分辨率125 kHz轉換速率逐步逼近型A/D轉換器,是一款4導線制觸摸屏控制器。

      由于數(shù)據量比較大,將大量數(shù)據儲存在SD卡中[1],SD卡的配置使用SPI驅動,最高通信速度可達18 Mb/s,每秒可傳輸數(shù)據2 MB以上,可以滿足一般的應用需求。SRAM采用的是IS62WV51216芯片,存儲容量為1 MB,采用STM32的FSMC接口對其進行配置。FSMC是靈活的靜態(tài)存儲控制器,能夠與同步或異步存儲器、16位PC存儲器卡接口,STM32的FSMC接口支持包括SRAM,NAND FLASH,NOR FLASH等存儲器。本設計使用FSMC的BANK1區(qū)域3來控制IS62WV51216芯片。

      2.2 "軟件設計

      FATFS文件系統(tǒng):FATFS是一個完全免費開源的FAT文件系統(tǒng)模塊,專門為小型的嵌入式系統(tǒng)而設計。它用標準C 語言編寫,一般只需要修改2個文件,即ffconf.h和diskio.c,之后進行簡單配置就可以移植到單片機上,進而可以對SD卡和FLASH進行文件的讀、寫操作。

      uCGUI移植:uCGUI 是一種小型化的嵌入式圖形界面接口,該接口獨立于處理器和LCD 控制器種類,對系統(tǒng)的要求很低[2]。它設計用于為任何使用LCD圖形顯示的應用提供高效的獨立于處理器和LCD控制器的圖形用戶接口[3],它適用單任務或是多任務系統(tǒng)環(huán)境,并且在任意LCD控制器和CPU下進行任何尺寸的真實顯示或虛擬顯示。

      本設計依靠uCGUI進行界面設計,設計比較直觀的按鍵和列表來控制圖像傳輸和圖像顯示。使用uCGUI也需要做移植的工作,移植的工作包括顯示屏和觸摸屏兩個部分。

      顯示屏:首先,TFT?LCD顯示屏的底層驅動函數(shù)需要事先寫好,保證單線程程序中正常顯示。

      其次,向工程中加入uCGUI程序包。

      再次,根據自己的顯示屏規(guī)格配置LcdConf.h GuiConf.h

      GuiTouchConf.h文件

      最后,修改LcdDriver使uCGUI與你的LCD驅動相互關聯(lián)。

      觸摸屏:若要在uCGUI 中使用觸摸屏, 則必須將GUI_SUPPORT_TOUCH (Config 目錄下GUIConf.h中定義的宏)設置為1[4]。同時要編寫底層的觸摸屏源驅動函數(shù),對gui_TouchConf.h文件中進行配置,然后在GUI_X_Touch.c文件中進行函數(shù)的改動。

      具體的移植過程可以參考uCGUI使用手冊,這里不再贅述。

      數(shù)據轉換算法?循環(huán)移位:顯示屏里每一個像素格里有一滴彩色油墨,油墨在加電時會收縮,在不加電時會平鋪。下極板是一層反光隔膜,里邊每一個像素格里有一個TFT晶體管作為電壓開關,上極板是玻璃板,當在上下極板間加入適當電壓,像素格里的油墨就會打開,用光照射就顯示出明亮狀態(tài),當不加電時就會平鋪顯示出的是油墨的顏色。EFD?Panel的微觀結構如圖3所示。

      lt;E:\王芳\現(xiàn)代電子技術201506\現(xiàn)代電子技術15年38卷第6期\Image\24t3.tifgt;

      圖3 EPD Panel微結構

      由于EFD是國內新型顯示技術,有著自身的圖像數(shù)據格式,需要定制符合其顯示格式的數(shù)據來實現(xiàn)圖像顯示??刂朴湍蜷_與關閉的芯片要求一個像素格有兩位進行控制,即“01”代表打開,“10”代表關閉,因此需要對原始圖像數(shù)據進行二次加工來滿足要求。EPD Panel 的規(guī)格是320×240,即240行,320列,由于驅動芯片的數(shù)據輸出位數(shù)是8位,因此先定義一個字符型的二維數(shù)組data[240][80],然后利用內存管理單元開辟相應的區(qū)域來存放最終數(shù)據。利用FATFS模塊的f_read函數(shù)從文本文檔里讀取數(shù)據,根據文檔中每一個數(shù)據的內容是‘1’還是‘0’,分別對二維數(shù)組內的元素進行0x01或0x02的賦值操作,如果移位次數(shù)沒有達到4次則進行左移兩位操作,否則讀取下一個數(shù)據重新進行判斷。這樣每4個數(shù)據構成二維數(shù)組里的一個元素值。接下來的工作就是判斷列數(shù)與行數(shù)是否小于預先設定數(shù)值,如果列數(shù)超出設定值,則行數(shù)加1,從新的一行開始讀取數(shù)據,如果行數(shù)超出設定值,則循環(huán)結束,所有數(shù)據均被轉換完。

      算法流程圖如圖4所示。

      lt;E:\王芳\現(xiàn)代電子技術201506\現(xiàn)代電子技術15年38卷第6期\Image\24t4.tifgt;

      圖4 圖像轉換算法

      在Keil集成開發(fā)環(huán)境下利用C語言編寫數(shù)據格式轉換代碼,實現(xiàn)圖像轉換的重要代碼片段如下:

      if(*(num++)=='1')

      {

      if((x%4==0)amp;amp;(x!=0))j++;

      data[i][j]|=0x01;

      if(x!=(3+4*j))data[i][j]lt;lt;=2;

      }

      else

      {

      if(x==320||x==321)continue;

      if((x%4==0)amp;amp;(x!=0))j++;

      data[i][j]|=0x02;

      if(x!=(3+4*j))data[i][j]lt;lt;=2;

      }

      界面設計部分:進行完所有的移植工作之后,就可以進行界面的設計,具體的界面程序流程圖如圖5所示。

      lt;E:\王芳\現(xiàn)代電子技術201506\現(xiàn)代電子技術15年38卷第6期\Image\24t5.tifgt;

      圖5 主程序流程圖

      整個系統(tǒng)分成了3個界面,界面之間可以實現(xiàn)相互的切換。第一個界面是進入界面,第二個界面是控制界面,第三個界面是數(shù)據列表界面。具體實現(xiàn)方法是建立了非模態(tài)對話框,以第一個界面為例,其對話框建立代碼為:

      GUI_CreateDialogBox(_aDialogCreate1,GUI_COUNTOF(_aDialogCreate1),

      amp;_cbCallback1, 0, 0, 0);

      構造的ENTER按鍵用來控制界面的交換。第二個界面構造了三個按鍵來實現(xiàn)不同的控制,包括Begin Button,Exit Button,List Button,利用掃描方式來檢測按鍵的觸摸,從而執(zhí)行不同的功能函數(shù),代碼片段如下:

      switch(GUI_GetKey())

      {

      case "GUI_ID_BUTTON0: datacopy(col); " //控制數(shù)據傳送

      break;

      case "GUI_ID_BUTTON1: LED0=1; " //界面轉換標志置位

      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), nbsp; "amp;listCallBack, 0, 0, 0); " " " " " " "http://界面轉換

      break;

      default:break;

      }

      第三個界面是圖像名稱的列表,是將對話框與列表結合顯示出存儲在SD卡中圖像名稱,進而來控制傳輸不同的圖像。三個界面的顯示效果如圖6所示。

      3 "結 "語

      本設計可以作為EFD圖像顯示的測試裝置來進行使用,通過顯示不同的圖像來找到合適的波形圖來輔助動態(tài)圖像顯示,同時實現(xiàn)了信息的可視化顯示[5],后期可以進行程序上的修改,對系統(tǒng)進行改進與升級,以數(shù)據流的形式傳輸數(shù)據,和終端的FPGA進行配合來實現(xiàn)動態(tài)顯示。

      lt;E:\王芳\現(xiàn)代電子技術201506\現(xiàn)代電子技術15年38卷第6期\Image\24t6.tifgt;

      圖6 整體控制界面

      參考文獻

      [1] 米波,賀鋒濤.基于STM32的視頻流圖像更新方法的研究[J].西安航空學院學報,2014,32(1):64?66.

      [2] 王蘭英.基于STM32 嵌入式系統(tǒng)的uCGUI 移植與實現(xiàn)[J].四川理工學院學報,2012,25(1):56?58.

      [3] 徐寶國,宋愛國.基于UCOS和UCGU I的嵌入式數(shù)字示波器[J].測控技術,2007,26(7):7?8.

      [4] 王宜結.基于uCGUI 的觸摸屏消息流轉機制的研究[J].淮南師范學院學報,2013,15(3):35?37.

      [5] 羅衛(wèi)兵,胡健生.基于STM32+uCGUI的北斗導航定位系統(tǒng)設計[J].液晶與顯示,2014,29(2):195?201.

      [6] 申智源.TFT?LCD技術:結構、原理及制造技術[M].北京:電子工業(yè)出版社,2012.

      汉源县| 呼和浩特市| 汾阳市| 天峻县| 乾安县| 天全县| 稻城县| 天祝| 壶关县| 万载县| 合肥市| 湘阴县| 彭山县| 疏附县| 长泰县| 寿宁县| 阳谷县| 营山县| 故城县| 增城市| 嘉鱼县| 襄汾县| 临高县| 日土县| 台北市| 卢龙县| 河西区| 女性| 内丘县| 裕民县| 于田县| 祁东县| 太康县| 都昌县| 隆子县| 南木林县| 奈曼旗| 民丰县| 新竹市| 内黄县| 武乡县|