《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > ARM11嵌入式系統實時網絡通信和LCD顯示的實現
ARM11嵌入式系統實時網絡通信和LCD顯示的實現
Icbuy
Icbuy
摘要:   ARM11主頻為533 MHz,最高可達667 MHz,較ARM7主頻提高了10倍,且擁有更豐富的片上資源,處理速度更快,功能更強。基于上述特點,ARM11可完全適應實時性較強的網絡終端的設計。
關鍵詞: ARM ARM11 網絡終端 LCD
Abstract:
Key words :
  0 引言

  ARM11主頻為533 MHz,最高可達667 MHz,較ARM7主頻提高了10倍,且擁有更豐富的片上資源,處理速度更快,功能更強。基于上述特點,ARM11可完全適應實時性較強的網絡終端的設計。

  在以ARM11為核心的網絡終端設計中,需要LCD在終端實時顯示網絡通信的各項參數和設備工作狀態,LCD的顯示內容依靠網絡傳輸數據中的指令來控制,而網絡終端的操作數據也要通過網絡傳輸到計算機,因此網絡通信和LCD顯示需要很強的實時性才能合理使用計算機和ARM11的資源,從而提高系統的運行效率。

  該文以ARM11處理器S3C6410為平臺,基于Linux操作系統設計了一種在ARM11內核直接控制LCD顯示的方法,并采用TCP/IP協議設計了一種同時作客戶端和服務器的終端工作模式。

  1 ARM11網絡終端實時通信特性分析

  1.1 數據流分析

  在計算機與ARM11通信的系統中,計算機的處理速度比ARM11快很多,如將數據處理等工作量大的任務分配給計算機去處理,則可大大減少ARM11的資源消耗,ARM11就可以更快地去響應其他操作,因此為了減少ARM11顯示任務的時間,可以將ARM11要顯示圖片的數據處理交給計算機,計算機按照ARM11顯示的數據要求處理好數據后再通過網絡傳到ARM11再完成LCD的顯示。此外,ARM11網絡終端還要向計算機傳輸設備工作狀態信息,計算機則還要向網絡終端傳輸一些控制命令。

  1.2 通信協議分析

  網絡通信必然涉及到通信協議的問題,目前普遍采用的網絡協議有UDP協議和TCP/IP協議。在實時性要求較高的網絡通信中希望能做到想發就發,有數據就收。兩個協議中UDP比較符合這個要求,但是它不能保證數據傳輸的有效性,當數據較多時很可能會發生嚴重的丟包現象,尤其是像LCD顯示的圖片數據這類數據較大而且傳輸頻繁的數據,可能會嚴重影響液晶顯示這是不能被接受的。相比之下TCP/IP協議能夠保證數據傳輸的有效性。

  在TCP/IP協議ARM11網絡終端作為服務器或者客戶端是不能做到隨時想發就發,有數據就收的,比如作為服務器接收完來自計算機的數據后,如果計算機斷開了連接,那么網絡終端再想向計算機發送數據,就必須等到計算機再次作為客戶端向終端發起連接才行。為了解決TCP/IP協議的這種問題,本文設計了網絡終端和計算機既作客戶端又作服務器的雙線程工作模式,在這種工作模式下終端和計算機隨時能發起和斷開連接,從而做到隨時想發就發,有數據就收。

  2 LCD顯示的軟件設計

  2.1 LCD的顯示方法分析

  (1)基于Framebuffer驅動方式。在Linux下有完善的Framebuffer驅動程序,所以可以利用ARM11集成的LCD控制器采用Framebuffer控制LCD,Framebuffer是顯示設備抽象為幀緩沖區,用戶通過內存映射將其映射到進程地址空間之后,就可以直接進行讀寫操作,而操作可以直接反應到屏幕上。該方法反應速度快、執行效率高,應用程序簡單,但是底層硬件驅動復雜,硬件變更后編寫難度大,不易實現。不帶控制器的LCD通常采用這種方法。

  (2)直接讀寫GPIO驅動方式。目前有很多類型的液晶屏自帶LCD控制器,ARM向控制器寫控制指令和數據就可以完成對LCD的初始化和內容的顯示。這種顯示方法軟件設計相對簡單,占用的代碼空間小,可以通過簡單的控制芯片進行驅動。針對自帶控制器的LCD,本文設計了直接讀寫GPIO驅動LCD的方法。該方法在底層驅動向LCD控制器和LCD的應用程序提供接口,LCD控制器的讀寫時序全部在底層驅動中完成,底層驅動向應用程序提供初始化接口和顯示數據接口。該方法應用程序和內核的交互少,程序執行效率高。

  2.2 LCD顯示的實現

  通過上述分析,本文設計直接讀寫GPIO驅動帶LCD控制器的液晶屏,該方法的程序結構如圖1所示。

a.JPG

  在底層驅動中主要包括以下幾個函數:

  (1)初始化函數s3c6410_inti。該函數包括2部分的初始化:一是對ARM11用于同LCD控制器相連GPIO口控制寄存器的初始化,核心語句是writel(tmp,S3C64XX_GPICON),其中writel是驅動層的寫函數,tmp是寫入控制寄存器的數據,S3C64XX_GPICON是S3C6410中第I組GPIO口的控制寄存器,如果采用別的GPIO口就改用別的控制寄存器宏定義;二是對LCD控制器初始化。

  (2)寫數據函數s3c6410_WRData和寫命令函數s3c6410_WRCommand。這2個函數按照具體LCD控制寄存器的寫數據時序和寫命令時序,完成對LCD控制器的寫數據和寫命令,向GPIO寫數據的函數是writel(tmp,S3C64XX_GPIDAT),writel和tmp與上述相同,S3C64XX_GPIDAT是S3C64 10中第I組GPIO口的數據寄存器。

  (3)顯示函數s3c6410_LCDdisplay。該函數通過調用寫命令函數和寫數據函數到達在液晶屏上具體位置顯示具體圖片或文字的效果。

  (4)系統調用接口函數s3c64xx_ioctl(structfile*file,int cmd,long int data)。該函數定義s3c6410_inti和s3c6410_LCDdisplay2個函數接口通過系統調用iotcl(fd,1,xx)和iotcl(fd,2,xx),以供應用程序調用,應用程序使用iotcl(fd,1,xx)就可初始化結晶屏,只需要向s3c6410_LCDdisplay的接口iotcl(fd,2,xx)中寫數據就實現了數據的LCD顯示。

  3 網絡通信和LCD顯示的整體設計

  在網絡通信和LCD顯示的整體設計上,從LCD顯示數據的有效性和網絡系統工作的實時性角度出發,本文擬采用TCP/IP協議設計服務器和客戶端雙線程工作模式,液晶顯示用直接讀寫GPIO的驅動方法,顯示數據由計算機處理好后發送給ARM11客戶端來實現。程序設計的流程圖如圖2所示。軟件首先通過系統調用iotcl(fd,1,xx)調用函數底層驅動的液晶屏初始化函數初始化結晶屏,然后使用pthread_create()創建服務器線程和客戶端線程。當線程建立后ARM11網絡終端同時進入兩個線程:服務器線程將一直等待客戶端發起連接,當客戶端有數據要發送時只要發起連接就能保證和它連接上,接收到客戶端數據后用于LCD顯示或者其他處理,處理完成后再回到等待客戶端連接;客戶端線程則一直掃描終端狀態,一旦有數據需要發送給服務器就馬上發起連接發送數據,數據發送完成后繼續掃描。

c.JPG

  主程序核心代碼如下:

b.JPG

  4 系統運行效果分析

  在系統中網絡終端和計算機的服務器線程一直處于工作狀態,這樣就保證了任何一端隨時能作為客戶端發起鏈接并鏈接成功,換個角度任何一端也能夠隨時收到客戶端發送過來的數據,這樣就實現了想發就發,有數據就收,達到了實時網絡通信的實時性要求。

  ARM11網絡終端上,將液晶顯示的圖片數據交由計算機處理,大大減少ARM11的處理時間,使得響應按鍵、開關等的速度更為迅速。LCD顯示上采用直接讀寫GPIO,LCD控制器的讀寫時序全部在底層驅動中完成,應用程序和內核的交互少,試驗證明內核的執行速度在數量級上大于應用程序的執行速度,程序運行效率高。

  5 結語

  ARM11嵌入式系統以其體積小、處理速度快、功能強的特點,能實現實時性要求較高的網絡組網和網絡通信,從而進一步開拓了嵌入式系統的應用前景。本文通過設計TCP/IP協議服務器客戶端雙線程工作模式和直接讀寫GPIO驅動LCD,并將顯示圖片由網絡交給計算機處理,提高了實時網絡通信的可靠性和實時性,充分利用了計算機和ARM11的資源。同時該設計可移植性強,可應用到其他網絡終端的工作,對ARM11嵌入式系統的應用具有借鑒意義。



 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲熟妇无码AV不卡在线播放| 国产免费观看青青草原网站| peeasian人体| 日本亚洲色大成网站www久久| 亚洲av日韩综合一区久热| 欧美高清熟妇啪啪内射不卡自拍| 免费看的成人yellow视频| 老子的大ji巴cao死你| 国产午夜片无码区在线播放| 中文字幕色网站| 国产精品欧美视频另类专区| 99久久无色码中文字幕| 女人18毛片水真多免费看| 中文字幕免费在线看电影大全| 日本护士激情xxxx| 久久青草精品38国产| 欧美V国产V亚洲V日韩九九| 亚洲国产日产无码精品| 欧美综合自拍亚洲综合图片区| 人人洗澡人人洗澡人人| 福利体验区试看5次专区| 午夜男女爽爽影院网站| 羞羞答答www网址进入在线观看| 国产亚洲av手机在线观看| 风间由美100部合集| 国产影片中文字幕| 国产精品真实对白精彩久久| 国产男女免费完整视频| 中文字幕一区二区三匹| 国产精品三级在线观看无码| 18女人腿打开无遮挡网站| 国产精品香蕉在线一区| 91精品国产高清久久久久久91| 在线视频你懂的国产福利| caoporn国产精品免费| 女性一级全黄生活片在线播放| 一二三四在线观看高清| 孩交精品xxxx视频视频| 一本久久精品一区二区| 嫩草影院在线免费观看| 《波多野结衣系列mkmp-305》|