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

  ARM11主頻為533 MHz,最高可達(dá)667 MHz,較ARM7主頻提高了10倍,且擁有更豐富的片上資源,處理速度更快,功能更強(qiáng)?;谏鲜鎏攸c,ARM11可完全適應(yīng)實時性較強(qiáng)的網(wǎng)絡(luò)終端的設(shè)計。

  在以ARM11為核心的網(wǎng)絡(luò)終端設(shè)計中,需要LCD在終端實時顯示網(wǎng)絡(luò)通信的各項參數(shù)和設(shè)備工作狀態(tài),LCD的顯示內(nèi)容依靠網(wǎng)絡(luò)傳輸數(shù)據(jù)中的指令來控制,而網(wǎng)絡(luò)終端的操作數(shù)據(jù)也要通過網(wǎng)絡(luò)傳輸?shù)接嬎銠C(jī),因此網(wǎng)絡(luò)通信和LCD顯示需要很強(qiáng)的實時性才能合理使用計算機(jī)和ARM11的資源,從而提高系統(tǒng)的運(yùn)行效率。

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

  1 ARM11網(wǎng)絡(luò)終端實時通信特性分析

  1.1 數(shù)據(jù)流分析

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

  1.2 通信協(xié)議分析

  網(wǎng)絡(luò)通信必然涉及到通信協(xié)議的問題,目前普遍采用的網(wǎng)絡(luò)協(xié)議有UDP協(xié)議和TCP/IP協(xié)議。在實時性要求較高的網(wǎng)絡(luò)通信中希望能做到想發(fā)就發(fā),有數(shù)據(jù)就收。兩個協(xié)議中UDP比較符合這個要求,但是它不能保證數(shù)據(jù)傳輸?shù)挠行裕?dāng)數(shù)據(jù)較多時很可能會發(fā)生嚴(yán)重的丟包現(xiàn)象,尤其是像LCD顯示的圖片數(shù)據(jù)這類數(shù)據(jù)較大而且傳輸頻繁的數(shù)據(jù),可能會嚴(yán)重影響液晶顯示這是不能被接受的。相比之下TCP/IP協(xié)議能夠保證數(shù)據(jù)傳輸?shù)挠行浴?/p>

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

  2 LCD顯示的軟件設(shè)計

  2.1 LCD的顯示方法分析

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

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

  2.2 LCD顯示的實現(xiàn)

  通過上述分析,本文設(shè)計直接讀寫GPIO驅(qū)動帶LCD控制器的液晶屏,該方法的程序結(jié)構(gòu)如圖1所示。

a.JPG

  在底層驅(qū)動中主要包括以下幾個函數(shù):

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

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

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

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

  3 網(wǎng)絡(luò)通信和LCD顯示的整體設(shè)計

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

c.JPG

  主程序核心代碼如下:

b.JPG

  4 系統(tǒng)運(yùn)行效果分析

  在系統(tǒng)中網(wǎng)絡(luò)終端和計算機(jī)的服務(wù)器線程一直處于工作狀態(tài),這樣就保證了任何一端隨時能作為客戶端發(fā)起鏈接并鏈接成功,換個角度任何一端也能夠隨時收到客戶端發(fā)送過來的數(shù)據(jù),這樣就實現(xiàn)了想發(fā)就發(fā),有數(shù)據(jù)就收,達(dá)到了實時網(wǎng)絡(luò)通信的實時性要求。

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

  5 結(jié)語

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



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一级久久| 99re这里只有精品6| 亚洲精品网站在线播放gif| 精品成人久久| 欧美高清免费| 亚洲系列中文字幕| 先锋影音一区二区三区| 影音先锋久久久| 欧美日韩免费一区| 午夜精品久久久久久久蜜桃app| 亚洲综合色丁香婷婷六月图片| 国产婷婷一区二区| 免费永久网站黄欧美| 亚洲一区二区网站| 欧美在线日韩精品| 亚洲人午夜精品| 国产精品一区二区三区观看| 免费亚洲电影| 欧美国产免费| 欧美老女人xx| 欧美在线免费观看| 一区二区日韩精品| 久久国产66| 一区二区欧美国产| 樱桃国产成人精品视频| 在线日本欧美| 国产亚洲欧洲一区高清在线观看| 欧美日韩成人综合| 久久性天堂网| 亚洲欧美一区二区原创| 国产亚洲激情| 亚洲国产一区二区三区高清 | 欧美大色视频| 亚洲香蕉网站| 亚洲一区视频在线观看视频| 午夜一区在线| 亚洲卡通欧美制服中文| 日韩亚洲精品电影| 欧美中文字幕第一页| 久久精品一本| 午夜日韩电影| 一区二区精品在线| 亚洲国产美女| 国内自拍一区| 国产精品综合久久久| 国产日韩欧美| 欧美三级电影精品| 欧美成人视屏| 欧美日韩一区不卡| 国产精品久久久久一区二区三区共| 蜜桃av噜噜一区二区三区| 午夜欧美大尺度福利影院在线看| 欧美影院在线播放| 免费观看日韩| 国产精品二区在线观看| 欧美电影在线观看| 欧美性久久久| 欧美日韩一区综合| 国产日韩欧美视频在线| 亚洲人成在线播放| 亚洲欧美在线免费| 亚洲精品之草原avav久久| 亚洲欧美日韩天堂| 欧美 日韩 国产精品免费观看| 国产精品高精视频免费| 亚洲第一精品夜夜躁人人爽| 99精品视频免费全部在线| 久久黄色影院| 亚洲字幕一区二区| 亚洲深夜福利在线| 在线视频亚洲欧美| 久久激情综合网| 久久激情五月丁香伊人| 欧美精品在线一区二区三区| 国产精品自在欧美一区| 91久久精品www人人做人人爽| 伊人久久久大香线蕉综合直播 | 亚洲精品专区| 亚洲精品一区二区在线观看| 亚洲国产精品久久久久| 亚洲免费影视第一页| 亚洲另类视频| 久久天天综合| 国产精品一区二区a| 国产欧美一区二区三区在线老狼| 亚洲人成亚洲人成在线观看| 久久国产福利国产秒拍| 亚洲欧美一区二区原创| 欧美精品黄色| 国产精品激情| 亚洲激情电影中文字幕| 久久精品三级| 久久精品国亚洲| 国产精品普通话对白| 亚洲美女精品一区| 亚洲精品国产精品国自产在线 | 亚洲经典在线看| 亚洲精品乱码| 久久精品一本| 免费亚洲电影在线| 国产一区二区三区久久精品| 亚洲免费视频在线观看| 亚洲在线观看视频网站| 欧美日韩免费看| 亚洲精品乱码久久久久| 亚洲激情综合| 狂野欧美性猛交xxxx巴西| 欧美jjzz| 国语自产精品视频在线看8查询8| 精品成人在线| 欧美伊人影院| 久久精品1区| 国产视频久久| 欧美一区亚洲一区| 久久久xxx| 国模一区二区三区| 久久精品国产第一区二区三区| 久久久久成人网| 国产在线高清精品| 久久精品99国产精品酒店日本| 久久久99国产精品免费| 国模大胆一区二区三区| 久久精品系列| 欧美成人精品在线观看| 亚洲高清二区| 99国产精品久久久久久久| 欧美精品在线免费播放| 日韩视频在线一区| 亚洲一级片在线看| 国产精品一级在线| 欧美在线播放高清精品| 久久亚洲综合色| 亚洲福利专区| 99re热这里只有精品视频| 欧美日韩午夜在线| 正在播放亚洲一区| 欧美中文字幕第一页| 国自产拍偷拍福利精品免费一| 久久精品亚洲乱码伦伦中文 | 久久免费视频在线观看| 在线观看中文字幕亚洲| 日韩一级免费| 欧美性一区二区| 亚洲欧美日韩综合一区| 亚洲国产一区二区a毛片| 蜜臀久久99精品久久久画质超高清| 亚洲第一免费播放区| 日韩午夜一区| 国产精品久久久一区麻豆最新章节| 亚洲综合精品| 麻豆精品精品国产自在97香蕉| 亚洲精品久久| 香蕉久久精品日日躁夜夜躁| 国产原创一区二区| 亚洲精品影视| 国产精品视频男人的天堂| 久久成人综合网| 欧美日韩第一区日日骚| 先锋影音久久久| 欧美激情免费在线| 亚洲一区二区免费看| 一本到12不卡视频在线dvd| 久久人人爽人人爽| 亚洲黄色高清| 午夜欧美视频| 在线播放豆国产99亚洲| 亚洲网站在线播放| 国产一区美女| 亚洲图中文字幕| 一区视频在线播放| 亚洲综合电影一区二区三区| 好看的日韩视频| 亚洲一区二区三区四区视频| 国产一区二区三区久久久久久久久| 日韩一区二区精品| 国产亚洲成人一区| 正在播放日韩| 美女亚洲精品| 免费成人高清在线视频| 9l国产精品久久久久麻豆| 久久精品综合一区| 99re在线精品| 美女主播一区| 午夜视频一区在线观看| 欧美日韩成人综合在线一区二区| 午夜精彩国产免费不卡不顿大片| 欧美二区乱c少妇| 欧美在线啊v一区| 国产精品久久久99| 日韩一本二本av| 精品成人在线视频| 欧美在线网站| 在线性视频日韩欧美| 欧美+亚洲+精品+三区| 翔田千里一区二区| 国产精品高潮呻吟| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 久久av红桃一区二区小说| 欧美日韩影院| 亚洲精选一区二区|