《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > S1D13506顯示控制器與AT91RM9200處理器的接口設計和應用

S1D13506顯示控制器與AT91RM9200處理器的接口設計和應用

2008-06-18
作者:劉和平, 常 猛

  摘 要: 介紹了AT91RM9200處理器和S1D13506顯示控制器" title="顯示控制器">顯示控制器的接口設計" title="的接口設計">的接口設計,在此基礎上詳細闡述了μC/GUI" title="C/GUI">C/GUI移植到AT91RM9200的過程,并給出一個應用實例。
  關鍵詞: S1D13506 AT91RM9200 μC/GUI 移植


1 S1D13506和AT91RM9200介紹
  AT91RM9200是一款基于ARM920T內核的高性價比、低功耗、32位的ARM芯片,時鐘頻率為180MHz,運算速度可以達到200MIPS。AT91RM9200具有存儲器管理單元(MMU)、16KB的SRAM和128KB的ROM以及外部總線接口(EBI),支持SDRAM、靜態存儲器、Burst Flash、CompactFals、SmartMedia以及NAND Flash,還集成了USB控制器、以太網控制器、RTC、SPI、I2C等豐富的外圍設備。AT91RM9200處理器內部沒有集成LCD控制器,因而需要配備專用的顯示控制器,才能實現LCD顯示。
  S1D13506是EPSON大規模顯示控制器家族中較新的一款,是以SED1354控制器為基礎發展起來的具有更多功能的LCD顯示控制器。它可以靈活地對各種不同的顯示方式進行設置,功能非常強大,可以和目前市場上流行的多種CPU總線兼容。
2 AT91RM9200與S1D13506的接口設計
2.1 AT91RM9200的EBI總線接口

  AT91RMR9200的EBI總線接口用以確保多個外設與基于ARM器件的內置控制存儲器之間實現正確數據傳輸。靜態存儲器、SDRAM及Burst Flash控制器均可作為EBI 上的外部存儲控制器。EBI擁有8個片選信號(NCS[7:0]),可處理多達8 個外設的數據傳輸;數據通過8位或16位數據總線進行傳輸(SMC_CSR中的DBW 位控制相應的數據總線寬度);地址總線高達26 位。在16位數據總線寬度下,EBI與顯示控制器相關的總線接口信號定義如表1所示。


2.2 S1D13506的PC卡總線接口
  S1D13506的PC卡總線接口可以很方便地與AT91RM9200相連,其總線接口信號定義如表2所示。


2.3 接口分析及實現
  從上述接口信號的定義分析得出,AT91RM9200 的AB[1:20]、DB[0:15] 、NRST、NCS2、NWR1、NWR0、信號引腳和S1D13506的A[1:20]、D[0:15]、R E S E T、CS 、WE1、W E 0信號引腳可以分別進行連接,而S1D13506的RD/WR和RD則短接以后和AT91RM9200的NRD信號相連。S1D13506與AT91RM9200的總線連接如圖1所示。S1D13506的輸出可以驅動VGA顯示器或者最大為800×600點陣的 LCD顯示屏。


3 μC/GUI的移植
  μC/GUI是Micrium公司開發的通用的嵌入式用戶圖形界面軟件。它為任何使用圖形LCD的應用程序提供獨立于處理器和LCD控制器的有效圖形用戶接口。可以應用于單一任務環境中,也可以應用于多任務環境中。μC/GUI能夠應用于任何LCD控制器和CPU的任何尺寸的物理顯示或者模擬顯示中。
  本接口電路的底層測試軟件均用C語言編程實現。由于源程序太長,在本文中不便列出。該程序可以在www.atmel.com上找到。
  在S1D13506顯示控制器硬件驅動程序正常的情況下,μC/GUI移植的主要工作就是修改LCD_Conf.h、GUICONF.h和GUI_X.C三個配置文件。GUICONF.h、GUI_X.C的移植比較簡單,下面主要介紹LCD_Conf.h的移植。
  #define LCD_XSIZE (640) /*定義液晶的參數,640x480*/
  #define LCD_YSIZE (480)
  #define LCD_FIXEDPALETTE (565) /*RGB 565格式*/
  #define LCD_SWAP_BYTE_ORDER (1)  //16bit數據總線時需要交換
  #define LCD_CONTROLLER 1356 //定義控制器的型號
  #define S1D13806_BASE1 ( (unsigned char *) 0x30000000 )//該地址由片選NCS2決定
  #define S1D13806_DISP_MEM_BASE1( ( (int)S1D13806_BASE1) + ((int) 0x200000) ) //控制器的顯示緩沖區開始地址
  #define LCD_READ_MEM(Off)
  *((U16*) (S1D13806_DISP_MEM_BASE1+(((U32)(Off))<<1)))  //定義讀函數
  #define LCD_WRITE_MEM(Off,data)
  *((U16*)(S1D13806_DISP_MEM_BASE1+(((U32)(Off))<<1)))=data   //定義寫函數
  #define LCD_READ_REG(Off) 0     //在本次移植中沒用,定義為空,避免做大改動
  #define LCD_WRITE_REG(Off,data)    //在本次移植中沒用,定義為空,避免做大改動
  #define LCD_INIT_CONTROLLER() AT91RM9200_LCD_Init ()  // 初始化 LCD 控制器,該段程序可以在www.atmel.com上找到
  另外,μC/GUI中還有一些跟時間相關的調用,如GUI_X_Delay()等。這些函數需用到系統時間變量OS_TimeMS,該變量可用μC/OS" title="C/OS">C/OS 操作系統維護更新,或者通過以下方式解決。
  void GUI_X_Delay(int ms) {
  // int tEnd = OS_TimeMS + ms;
  // while ((tEnd - OS_TimeMS) > 0); //該變量可由μC/
  OS 操作系統來維護更新
  extern void Delay(int time); //用戶的延時函數
  Delay(150*ms);
  }
  LCD_Conf.h、GUICONF.h和GUI_X.C三個配置文件修改完以后,μC/GUI的移植基本完成。
4 μC/GUI的一個應用實例
  首先通過和AT91RM9200相連的MAX1320芯片把電網三相電壓采集進來,然后在液晶上把三相電壓波形顯示出來。顯示效果如圖2所示。


4.1 主程序的編寫
  在對電網一個周波采樣完成以后,調用GUI_MEMDEV_Draw函數在LCD上顯示波形。主程序如下:
  int main()
  {
  BSP_init(); //和AT91RM9200相關的硬件初始化
  GUI_Init(); //ucGUI初始化程序
  GUI_MEMDEV_Load();
  Lable();
  While(1)
  {
  ADResult(); //讀出AD采樣的結果
  …………
  if(AD FLAG==1)GUI_MEMDEV_Draw(&Rect, sinwave, &0, 0, 0); //當一個周波采樣完成繪制波形
  }
  }
4.2 回調" title="回調">回調函數的編寫
  回調函數是用戶編寫的主要部分,它以參數的形式被主函數調用。在本程序中,回調函數的編寫流程是:首先對黑色矩形框進行清屏,然后繪制暗灰色網格,最后調用GUI_DrawGraph()繪制曲線。程序如下:
  static void sinwave(void)
  {
  int i;
  GUI_SetBkColor(GUI_BLUE); //把背景設置為藍色
  GUI_SetColor(GUI_BLACK ); //設置黑色矩形框
  GUI_ClearRect(34, (LCD_YSIZE1 - 20) - YSIZE, (LCD_XSIZE1-2), (LCD_YSIZE1 - 21));
  for (i=0;i<(YSIZE/2);i+=40){ //繪制暗灰色網格
  GUI_DrawHLine((LCD_YSIZE1-20) - (YSIZE / 2) + i, 34,(LCD_XSIZE1 - 2));
  if (i) {
  GUI_DrawHLine((LCD_YSIZE1 - 20) - (YSIZE / 2) - i, 34, (LCD_XSIZE1 - 2));
   }
  }
  for (i = 0; i < (LCD_XSIZE1 - 20); i += 90) {
  GUI_DrawVLine(123 + i, (LCD_YSIZE1 - 20)-YSIZE,(LCD_YSIZE1 - 21));
  }
  GUI_SetColor(GUI_RED); //繪制A相電壓
  GUI_DrawGraph(UA, (LCD_XSIZE1 - 40), 34, (LCD_YSIZE1 - 20) - YSIZE);
  GUI_SetColor(GUI_YELLOW); //繪制B相電壓
  GUI_DrawGraph(UB, (LCD_XSIZE1 - 20), 34, (LCD_YSIZE1 - 20) - YSIZE);
  GUI_SetColor(GUI_GREEN); //繪制C相電壓
  GUI_DrawGraph(UC, (LCD_XSIZE1 - 20), 34, (LCD_YSIZE1 - 20) - YSIZE);
  }
  本文介紹了μC/GUI在AT91RM9200處理器和SID13506顯示控制器的接口電路上移植的過程,并給出了一個應用實例。實踐證明,μC/GUI具有完善的圖形函數接口、占用RAM和ROM的空間小、可移植性好等特點。在后PC機時代,μC/GUI將會有非常廣闊的應用前景。
參考文獻
1 μC/GUI在MSG19264液晶上的移植.電子技術應用, 2004;30(8)
2 基于ARM7 S3C44B0X嵌入式系統gui設計.儀器儀表用戶, 2004;(4)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜精品一区| 久久久久久久综合| 亚洲综合色视频| 日韩天堂av| 亚洲欧洲视频在线| 在线色欧美三级视频| 国产一区亚洲| 国产欧美一区二区精品性色| 欧美日韩久久| 欧美日韩国产美女| 欧美激情一区在线观看| 欧美成人一区二区| 欧美成人午夜激情视频| 美女免费视频一区| 美女主播精品视频一二三四| 久久伊人亚洲| 蜜臀va亚洲va欧美va天堂| 久久躁日日躁aaaaxxxx| 久久婷婷激情| 免费观看不卡av| 欧美福利视频网站| 欧美成人综合一区| 欧美精品一区在线发布| 欧美日韩伦理在线| 国产精品久久波多野结衣| 国产精品久久久久久av福利软件 | 国产精品丝袜xxxxxxx| 国产精品一区二区三区四区| 国产日韩欧美中文| 国产综合久久久久影院| 亚洲成在人线av| 日韩一区二区福利| 中文av字幕一区| 亚洲男人第一网站| 亚洲国产91| 日韩午夜精品视频| 亚洲自拍偷拍网址| 久久国产精品毛片| 免费在线播放第一区高清av| 欧美剧在线观看| 国产精品国产福利国产秒拍 | 欧美中文字幕视频在线观看| 亚洲国产天堂久久综合| 夜夜爽av福利精品导航 | 久久精品91久久香蕉加勒比| 久久综合导航| 欧美日韩hd| 国产片一区二区| 亚洲国产欧美另类丝袜| 夜夜爽av福利精品导航| 亚洲资源av| 亚洲国产日韩精品| 亚洲网站在线看| 久久久久久伊人| 欧美日韩国产色综合一二三四| 国产精品久久久久久久免费软件| 国产亚洲欧美aaaa| 亚洲精品人人| 性色av一区二区三区在线观看| 91久久国产综合久久| 亚洲自拍电影| 久久综合九九| 欧美视频一区二区| 国内伊人久久久久久网站视频 | 亚洲夜间福利| 久久一二三国产| 欧美日韩在线观看一区二区三区 | 亚洲成人在线视频播放 | 免费不卡在线视频| 欧美性猛交xxxx乱大交退制版| 国产手机视频一区二区| 亚洲区欧美区| 羞羞色国产精品| 在线亚洲成人| 麻豆成人在线| 国产精品亚洲综合久久| 亚洲国产欧美一区| 午夜伦欧美伦电影理论片| 亚洲理论电影网| 久久精品免费电影| 欧美丝袜一区二区| 1769国内精品视频在线播放| 亚洲综合色激情五月| 99在线|亚洲一区二区| 久久精品国产亚洲一区二区三区| 欧美日韩中文| 亚洲国产一区二区视频| 欧美一区二区三区另类 | 久久久91精品国产| 国产精品久久久久国产精品日日| 最新日韩精品| 久久精品亚洲一区二区| 午夜亚洲福利| 欧美日韩在线视频观看| 亚洲黄色大片| 亚洲人成亚洲人成在线观看| 久久久国际精品| 国产精品视频一| 99视频日韩| av不卡在线观看| 免费在线观看精品| 黄色影院成人| 欧美在线中文字幕| 欧美一区三区二区在线观看| 欧美日韩综合精品| 亚洲精品视频一区| 亚洲精品在线三区| 麻豆免费精品视频| 精品成人一区二区三区四区| 香蕉久久一区二区不卡无毒影院| 亚洲欧美国产77777| 国产精品porn| 一二三四社区欧美黄| 一区二区三区欧美激情| 欧美日韩福利| 99国产精品久久久久久久| 亚洲靠逼com| 欧美理论在线播放| 亚洲精品国产精品国自产观看| 最新国产成人av网站网址麻豆| 久久综合伊人77777| 黄色日韩网站| 亚洲国产高清aⅴ视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 樱花yy私人影院亚洲| 亚洲经典在线| 欧美高清视频在线 | 一区二区三区免费网站| 欧美日韩高清在线观看| 亚洲人线精品午夜| 99国产精品久久久久久久久久| 欧美精品久久久久久久| 亚洲老司机av| 亚洲色无码播放| 国产精品va在线播放| 亚洲欧美不卡| 久久久久久久波多野高潮日日| 国产一区自拍视频| 亚洲国产免费看| 欧美精品1区2区| 日韩一级成人av| 午夜亚洲一区| 韩日成人在线| 亚洲人成人77777线观看| 欧美日韩1区2区| 亚洲欧美日韩久久精品| 久久精品国产91精品亚洲| 一区二区亚洲精品国产| 亚洲精品国产精品国自产观看| 欧美喷水视频| 亚洲综合色网站| 另类亚洲自拍| 一区二区激情| 久久九九全国免费精品观看| 亚洲国产精品va在看黑人| 在线视频欧美日韩精品| 国产精品性做久久久久久| 久久精品官网| 欧美日韩国产bt| 亚洲欧美日韩国产一区| 久久综合伊人77777| 日韩亚洲不卡在线| 久久不射网站| 亚洲欧洲日韩综合二区| 亚洲欧美电影院| 在线播放中文一区| 亚洲午夜黄色| 尤物99国产成人精品视频| 在线视频一区二区| 国产欧美日韩中文字幕在线| 亚洲精品久久久久久久久| 国产精品福利久久久| 久久精品国产免费观看| 欧美日韩国产精品| 欧美在线日韩| 欧美日韩国产在线观看| 欧美在线观看一区| 欧美日韩中文字幕| 久久国产精彩视频| 欧美日韩国产一中文字不卡 | 毛片一区二区三区| 亚洲午夜电影在线观看| 欧美jizz19hd性欧美| 亚洲图片欧美日产| 欧美成va人片在线观看| 亚洲女人av| 欧美日韩国产在线一区| 久久成人精品一区二区三区| 欧美日韩午夜| 亚洲国产精品久久久久秋霞影院| 国产精品成人国产乱一区| 亚洲国产精品尤物yw在线观看| 国产精品高清网站| 日韩视频一区二区| 国内精品久久久久国产盗摄免费观看完整版| 中日韩男男gay无套| 在线精品国产欧美| 欧美伊人精品成人久久综合97| 亚洲精品一品区二品区三品区| 久久天堂国产精品|