女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 引言 ARM11主頻為533 MHz,最高可達(dá)667 MHz,較ARM7主頻提高了10倍,且擁有更豐富的片上資源,處理速度更快,功能更強(qiáng)。基于上述特點(diǎn),ARM11可完全適應(yīng)實(shí)時(shí)性較強(qiáng)的網(wǎng)絡(luò)終端的設(shè)計(jì)。 在以ARM11為核

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

1 ARM11網(wǎng)絡(luò)終端實(shí)時(shí)通信特性分析
1.1 數(shù)據(jù)流分析
在計(jì)算機(jī)與ARM11通信的系統(tǒng)中,計(jì)算機(jī)的處理速度比ARM11快很多,如將數(shù)據(jù)處理等工作量大的任務(wù)分配給計(jì)算機(jī)去處理,則可大大減少ARM11的資源消耗,ARM11就可以更快地去響應(yīng)其他操作,因此為了減少ARM11顯示任務(wù)的時(shí)間,可以將ARM11要顯示圖片的數(shù)據(jù)處理交給計(jì)算機(jī),計(jì)算機(jī)按照ARM11顯示的數(shù)據(jù)要求處理好數(shù)據(jù)后再通過網(wǎng)絡(luò)傳到ARM11再完成LCD的顯示。此外,ARM11網(wǎng)絡(luò)終端還要向計(jì)算機(jī)傳輸設(shè)備工作狀態(tài)信息,計(jì)算機(jī)則還要向網(wǎng)絡(luò)終端傳輸一些控制命令。
1.2 通信協(xié)議分析
網(wǎng)絡(luò)通信必然涉及到通信協(xié)議的問題,目前普遍采用的網(wǎng)絡(luò)協(xié)議有UDP協(xié)議和TCP/IP協(xié)議。在實(shí)時(shí)性要求較高的網(wǎng)絡(luò)通信中希望能做到想發(fā)就發(fā),有數(shù)據(jù)就收。兩個(gè)協(xié)議中UDP比較符合這個(gè)要求,但是它不能保證數(shù)據(jù)傳輸?shù)挠行?,?dāng)數(shù)據(jù)較多時(shí)很可能會(huì)發(fā)生嚴(yán)重的丟包現(xiàn)象,尤其是像LCD顯示的圖片數(shù)據(jù)這類數(shù)據(jù)較大而且傳輸頻繁的數(shù)據(jù),可能會(huì)嚴(yán)重影響液晶顯示這是不能被接受的。相比之下TCP/IP協(xié)議能夠保證數(shù)據(jù)傳輸?shù)挠行浴?br/> 在TCP/IP協(xié)議ARM11網(wǎng)絡(luò)終端作為服務(wù)器或者客戶端是不能做到隨時(shí)想發(fā)就發(fā),有數(shù)據(jù)就收的,比如作為服務(wù)器接收完來自計(jì)算機(jī)的數(shù)據(jù)后,如果計(jì)算機(jī)斷開了連接,那么網(wǎng)絡(luò)終端再想向計(jì)算機(jī)發(fā)送數(shù)據(jù),就必須等到計(jì)算機(jī)再次作為客戶端向終端發(fā)起連接才行。為了解決TCP/IP協(xié)議的這種問題,本文設(shè)計(jì)了網(wǎng)絡(luò)終端和計(jì)算機(jī)既作客戶端又作服務(wù)器的雙線程工作模式,在這種工作模式下終端和計(jì)算機(jī)隨時(shí)能發(fā)起和斷開連接,從而做到隨時(shí)想發(fā)就發(fā),有數(shù)據(jù)就收。

2 LCD顯示的軟件設(shè)計(jì)
2.1 LCD的顯示方法分析
(1)基于Framebuffer驅(qū)動(dòng)方式。在Linux下有完善的Framebuffer驅(qū)動(dòng)程序,所以可以利用ARM11集成的LCD控制器采用Framebuffer控制LCD,F(xiàn)ramebuffer是顯示設(shè)備抽象為幀緩沖區(qū),用戶通過內(nèi)存映射將其映射到進(jìn)程地址空間之后,就可以直接進(jìn)行讀寫操作,而操作可以直接反應(yīng)到屏幕上。該方法反應(yīng)速度快、執(zhí)行效率高,應(yīng)用程序簡(jiǎn)單,但是底層硬件驅(qū)動(dòng)復(fù)雜,硬件變更后編寫難度大,不易實(shí)現(xiàn)。不帶控制器的LCD通常采用這種方法。
(2)直接讀寫GPIO驅(qū)動(dòng)方式。目前有很多類型的液晶屏自帶LCD控制器,ARM向控制器寫控制指令和數(shù)據(jù)就可以完成對(duì)LCD的初始化和內(nèi)容的顯示。這種顯示方法軟件設(shè)計(jì)相對(duì)簡(jiǎn)單,占用的代碼空間小,可以通過簡(jiǎn)單的控制芯片進(jìn)行驅(qū)動(dòng)。針對(duì)自帶控制器的LCD,本文設(shè)計(jì)了直接讀寫GPIO驅(qū)動(dòng)LCD的方法。該方法在底層驅(qū)動(dòng)向LCD控制器和LCD的應(yīng)用程序提供接口,LCD控制器的讀寫時(shí)序全部在底層驅(qū)動(dòng)中完成,底層驅(qū)動(dòng)向應(yīng)用程序提供初始化接口和顯示數(shù)據(jù)接口。該方法應(yīng)用程序和內(nèi)核的交互少,程序執(zhí)行效率高。
2.2 LCD顯示的實(shí)現(xiàn)
通過上述分析,本文設(shè)計(jì)直接讀寫GPIO驅(qū)動(dòng)帶LCD控制器的液晶屏,該方法的程序結(jié)構(gòu)如圖1所示。


在底層驅(qū)動(dòng)中主要包括以下幾個(gè)函數(shù):
(1)初始化函數(shù)s3c6410_inti。該函數(shù)包括2部分的初始化:一是對(duì)ARM11用于同LCD控制器相連GPIO口控制寄存器的初始化,核心語句是writel(tmp,S3C64XX_GPICON),其中writel是驅(qū)動(dòng)層的寫函數(shù),tmp是寫入控制寄存器的數(shù)據(jù),S3C64XX_GPICON是S3C6410中第I組GPIO口的控制寄存器,如果采用別的GPIO口就改用別的控制寄存器宏定義;二是對(duì)LCD控制器初始化。
(2)寫數(shù)據(jù)函數(shù)s3c6410_WRData和寫命令函數(shù)s3c6410_WRCommand。這2個(gè)函數(shù)按照具體LCD控制寄存器的寫數(shù)據(jù)時(shí)序和寫命令時(shí)序,完成對(duì)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個(gè)函數(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ù)就實(shí)現(xiàn)了數(shù)據(jù)的LCD顯示。

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



主程序核心代碼如下:


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

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


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

在工業(yè)物聯(lián)網(wǎng)設(shè)備部署中,Modbus通信故障是導(dǎo)致系統(tǒng)停機(jī)的首要原因之一。據(jù)統(tǒng)計(jì),超過60%的現(xiàn)場(chǎng)問題源于通信配置錯(cuò)誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開發(fā)視角,系統(tǒng)闡述Modbus通信調(diào)試的方法論,結(jié)合實(shí)際案例解析如何高...

關(guān)鍵字: 嵌入式系統(tǒng) Modbus通信

在工業(yè)自動(dòng)化、汽車電子及物聯(lián)網(wǎng)領(lǐng)域,CANBUS總線因其高可靠性和實(shí)時(shí)性被廣泛應(yīng)用。然而,復(fù)雜電磁環(huán)境、機(jī)械振動(dòng)及配置不當(dāng)?shù)纫蛩爻?dǎo)致通信異常。本文基于實(shí)際工程案例,從硬件、協(xié)議、軟件及環(huán)境四大維度,系統(tǒng)梳理CANBUS...

關(guān)鍵字: CANBUS 網(wǎng)絡(luò)通信 CANBUS總線

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

人工智能(AI)和機(jī)器學(xué)習(xí)(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學(xué)習(xí)、進(jìn)行推理并隨著時(shí)間的推移提高性能的關(guān)鍵技術(shù)。這些技術(shù)通常用于大型數(shù)據(jù)中心和功能強(qiáng)大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術(shù)的需求也在不斷增...

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機(jī)器學(xué)習(xí)

7月29日消息,LG Display已將其在美國(guó)的70項(xiàng)LCD液晶顯示器相關(guān)專利轉(zhuǎn)讓給三星顯示,值得注意的是,三星顯示已于三年前退出LCD業(yè)務(wù)。

關(guān)鍵字: LCD 三星

Zephyr開源項(xiàng)目由Linux基金會(huì)維護(hù),是一個(gè)針對(duì)資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實(shí)時(shí)操作系統(tǒng)(RTOS)。近年來,Zephyr RTOS在嵌入式開發(fā)中的采用度逐步增加,支持的開發(fā)板和傳感器不斷增加...

關(guān)鍵字: 嵌入式系統(tǒng) 軟件開發(fā) 實(shí)時(shí)操作系統(tǒng) Zephyr項(xiàng)目

在資源受限的嵌入式系統(tǒng)中,代碼執(zhí)行效率和內(nèi)存占用始終是開發(fā)者需要權(quán)衡的核心問題。內(nèi)聯(lián)函數(shù)(inline functions)和宏(macros)作為兩種常見的代碼展開技術(shù),在性能、可維護(hù)性和安全性方面表現(xiàn)出顯著差異。本文...

關(guān)鍵字: 內(nèi)聯(lián)函數(shù) 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和服務(wù)器開發(fā)中,日志系統(tǒng)是故障排查和運(yùn)行監(jiān)控的核心組件。本文基于Linux環(huán)境實(shí)現(xiàn)一個(gè)輕量級(jí)C語言日志庫,支持DEBUG/INFO/WARN/ERROR四級(jí)日志分級(jí),并實(shí)現(xiàn)按大小滾動(dòng)的文件輪轉(zhuǎn)機(jī)制。該設(shè)計(jì)在某...

關(guān)鍵字: C語言 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和底層驅(qū)動(dòng)開發(fā)中,C語言因其高效性和可控性成為主流選擇,但缺乏原生單元測(cè)試支持成為開發(fā)痛點(diǎn)。本文提出一種基于宏定義和測(cè)試用例管理的輕量級(jí)單元測(cè)試框架方案,通過自定義斷言宏和測(cè)試注冊(cè)機(jī)制,實(shí)現(xiàn)無需外部依賴的嵌入...

關(guān)鍵字: C語言 嵌入式系統(tǒng) 驅(qū)動(dòng)開發(fā)
關(guān)閉