當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]ARM11嵌入式系統(tǒng)實時網(wǎng)絡通信和LCD顯示的實現(xiàn)

摘要:通過對ARM11嵌入式系統(tǒng)Linux下的實時網(wǎng)絡通信LCD顯示進行研究,分析了網(wǎng)絡通信協(xié)議和LCD驅(qū)動方式。在ARM11嵌入式系統(tǒng)下設(shè)計了直接讀寫GPIO的LCD顯示程序,并實現(xiàn)網(wǎng)絡終端服務器和客戶端雙線程的工作模式,解決了網(wǎng)絡通信實時性和可靠性的問題。實際應用表明:該方法LCD顯示速度快、網(wǎng)絡通信實時性強可靠性好、ARM11和計算機的資源利用率高。
關(guān)鍵詞:ARM11;實時網(wǎng)絡通信;LCD;Linux

0 引言
    ARM11主頻為533 MHz,最高可達667 MHz,較ARM7主頻提高了10倍,且擁有更豐富的片上資源,處理速度更快,功能更強?;谏鲜鎏攸c,ARM11可完全適應實時性較強的網(wǎng)絡終端的設(shè)計。
    在以ARM11為核心的網(wǎng)絡終端設(shè)計中,需要LCD在終端實時顯示網(wǎng)絡通信的各項參數(shù)和設(shè)備工作狀態(tài),LCD的顯示內(nèi)容依靠網(wǎng)絡傳輸數(shù)據(jù)中的指令來控制,而網(wǎng)絡終端的操作數(shù)據(jù)也要通過網(wǎng)絡傳輸?shù)接嬎銠C,因此網(wǎng)絡通信和LCD顯示需要很強的實時性才能合理使用計算機和ARM11的資源,從而提高系統(tǒng)的運行效率。
    該文以ARM11處理器S3C6410為平臺,基于Linux操作系統(tǒng)設(shè)計了一種在ARM11內(nèi)核直接控制LCD顯示的方法,并采用TCP/IP協(xié)議設(shè)計了一種同時作客戶端和服務器的終端工作模式。

1 ARM11網(wǎng)絡終端實時通信特性分析
1.1 數(shù)據(jù)流分析
    在計算機與ARM11通信的系統(tǒng)中,計算機的處理速度比ARM11快很多,如將數(shù)據(jù)處理等工作量大的任務分配給計算機去處理,則可大大減少ARM11的資源消耗,ARM11就可以更快地去響應其他操作,因此為了減少ARM11顯示任務的時間,可以將ARM11要顯示圖片的數(shù)據(jù)處理交給計算機,計算機按照ARM11顯示的數(shù)據(jù)要求處理好數(shù)據(jù)后再通過網(wǎng)絡傳到ARM11再完成LCD的顯示。此外,ARM11網(wǎng)絡終端還要向計算機傳輸設(shè)備工作狀態(tài)信息,計算機則還要向網(wǎng)絡終端傳輸一些控制命令。
1.2 通信協(xié)議分析
    網(wǎng)絡通信必然涉及到通信協(xié)議的問題,目前普遍采用的網(wǎng)絡協(xié)議有UDP協(xié)議和TCP/IP協(xié)議。在實時性要求較高的網(wǎng)絡通信中希望能做到想發(fā)就發(fā),有數(shù)據(jù)就收。兩個協(xié)議中UDP比較符合這個要求,但是它不能保證數(shù)據(jù)傳輸?shù)挠行裕敂?shù)據(jù)較多時很可能會發(fā)生嚴重的丟包現(xiàn)象,尤其是像LCD顯示的圖片數(shù)據(jù)這類數(shù)據(jù)較大而且傳輸頻繁的數(shù)據(jù),可能會嚴重影響液晶顯示這是不能被接受的。相比之下TCP/IP協(xié)議能夠保證數(shù)據(jù)傳輸?shù)挠行浴?br />     在TCP/IP協(xié)議ARM11網(wǎng)絡終端作為服務器或者客戶端是不能做到隨時想發(fā)就發(fā),有數(shù)據(jù)就收的,比如作為服務器接收完來自計算機的數(shù)據(jù)后,如果計算機斷開了連接,那么網(wǎng)絡終端再想向計算機發(fā)送數(shù)據(jù),就必須等到計算機再次作為客戶端向終端發(fā)起連接才行。為了解決TCP/IP協(xié)議的這種問題,本文設(shè)計了網(wǎng)絡終端和計算機既作客戶端又作服務器的雙線程工作模式,在這種工作模式下終端和計算機隨時能發(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)存映射將其映射到進程地址空間之后,就可以直接進行讀寫操作,而操作可以直接反應到屏幕上。該方法反應速度快、執(zhí)行效率高,應用程序簡單,但是底層硬件驅(qū)動復雜,硬件變更后編寫難度大,不易實現(xiàn)。不帶控制器的LCD通常采用這種方法。
    (2)直接讀寫GPIO驅(qū)動方式。目前有很多類型的液晶屏自帶LCD控制器,ARM向控制器寫控制指令和數(shù)據(jù)就可以完成對LCD的初始化和內(nèi)容的顯示。這種顯示方法軟件設(shè)計相對簡單,占用的代碼空間小,可以通過簡單的控制芯片進行驅(qū)動。針對自帶控制器的LCD,本文設(shè)計了直接讀寫GPIO驅(qū)動LCD的方法。該方法在底層驅(qū)動向LCD控制器和LCD的應用程序提供接口,LCD控制器的讀寫時序全部在底層驅(qū)動中完成,底層驅(qū)動向應用程序提供初始化接口和顯示數(shù)據(jù)接口。該方法應用程序和內(nèi)核的交互少,程序執(zhí)行效率高。
2.2 LCD顯示的實現(xiàn)
    通過上述分析,本文設(shè)計直接讀寫GPIO驅(qū)動帶LCD控制器的液晶屏,該方法的程序結(jié)構(gòu)如圖1所示。


    在底層驅(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ù)到達在液晶屏上具體位置顯示具體圖片或文字的效果。
    (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),以供應用程序調(diào)用,應用程序使用iotcl(fd,1,xx)就可初始化結(jié)晶屏,只需要向s3c6410_LCDdisplay的接口iotcl(fd,2,xx)中寫數(shù)據(jù)就實現(xiàn)了數(shù)據(jù)的LCD顯示。[!--empirenews.page--]

3 網(wǎng)絡通信和LCD顯示的整體設(shè)計
    在網(wǎng)絡通信和LCD顯示的整體設(shè)計上,從LCD顯示數(shù)據(jù)的有效性和網(wǎng)絡系統(tǒng)工作的實時性角度出發(fā),本文擬采用TCP/IP協(xié)議設(shè)計服務器和客戶端雙線程工作模式,液晶顯示用直接讀寫GPIO的驅(qū)動方法,顯示數(shù)據(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)建服務器線程和客戶端線程。當線程建立后ARM11網(wǎng)絡終端同時進入兩個線程:服務器線程將一直等待客戶端發(fā)起連接,當客戶端有數(shù)據(jù)要發(fā)送時只要發(fā)起連接就能保證和它連接上,接收到客戶端數(shù)據(jù)后用于LCD顯示或者其他處理,處理完成后再回到等待客戶端連接;客戶端線程則一直掃描終端狀態(tài),一旦有數(shù)據(jù)需要發(fā)送給服務器就馬上發(fā)起連接發(fā)送數(shù)據(jù),數(shù)據(jù)發(fā)送完成后繼續(xù)掃描。


    主程序核心代碼如下:


4 系統(tǒng)運行效果分析
    在系統(tǒng)中網(wǎng)絡終端和計算機的服務器線程一直處于工作狀態(tài),這樣就保證了任何一端隨時能作為客戶端發(fā)起鏈接并鏈接成功,換個角度任何一端也能夠隨時收到客戶端發(fā)送過來的數(shù)據(jù),這樣就實現(xiàn)了想發(fā)就發(fā),有數(shù)據(jù)就收,達到了實時網(wǎng)絡通信的實時性要求。
    ARM11網(wǎng)絡終端上,將液晶顯示的圖片數(shù)據(jù)交由計算機處理,大大減少ARM11的處理時間,使得響應按鍵、開關(guān)等的速度更為迅速。LCD顯示上采用直接讀寫GPIO,LCD控制器的讀寫時序全部在底層驅(qū)動中完成,應用程序和內(nèi)核的交互少,試驗證明內(nèi)核的執(zhí)行速度在數(shù)量級上大于應用程序的執(zhí)行速度,程序運行效率高。

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉