中船重工715研究所 馮 冰
2ARM11嵌入式系統(tǒng)實(shí)時(shí)網(wǎng)絡(luò)通信和PWM波輸出控制的實(shí)現(xiàn)
中船重工715研究所 馮 冰
文章對ARM11嵌入式終端實(shí)時(shí)網(wǎng)絡(luò)通信特性分別從系統(tǒng)功能需求和網(wǎng)絡(luò)通信協(xié)議兩個(gè)方面進(jìn)行了分析,同時(shí)對網(wǎng)絡(luò)通信協(xié)議和PWM波的驅(qū)動(dòng)方式進(jìn)行了介紹,最后就如何實(shí)現(xiàn)網(wǎng)絡(luò)終端服務(wù)器和客戶端雙進(jìn)程的工作模式進(jìn)行了研究,旨在為今后研究工作提供可靠的參考資料。
ARM11;實(shí)時(shí)網(wǎng)絡(luò)通信;雙進(jìn)程;PWM波
所謂的嵌入系統(tǒng)就是指以應(yīng)用為重點(diǎn),軟硬件可以依據(jù)情況進(jìn)行剪裁,該計(jì)算機(jī)專用系統(tǒng)對整體運(yùn)行的功能性、可靠性等都有著較為嚴(yán)格的要求。而嵌入系統(tǒng)構(gòu)成主要包括以下幾個(gè)部分:嵌入式處理器、嵌入式操作系統(tǒng)、相關(guān)支撐硬件以及應(yīng)用軟件系統(tǒng)等,從構(gòu)成方面分析可知,嵌入式系統(tǒng)是一個(gè)集成軟硬件一體的專用計(jì)算機(jī)系統(tǒng)。事實(shí)上,嵌入式系統(tǒng)技術(shù)發(fā)展主要分為三個(gè)階段。首先,嵌入式技術(shù)前期。在這一階段,專用計(jì)算機(jī)系統(tǒng)功能較為簡單,可編程控制器的核心也僅為單片機(jī),基本功能主要有監(jiān)測、設(shè)備指示以及伺服等,這種嵌入式系統(tǒng)雛形主要在工業(yè)控制、飛機(jī)等武器裝備中應(yīng)用。第二階段嵌入式系統(tǒng)主要內(nèi)容就是嵌入式CPU和嵌入式操作系統(tǒng),而到了第三階段,嵌入式系統(tǒng)最大的特征就是芯片技術(shù)和互聯(lián)網(wǎng)技術(shù)的應(yīng)用。
1.1 系統(tǒng)功能需求分析
ARM11嵌入式系統(tǒng)的一大特點(diǎn)就是網(wǎng)絡(luò)通信能力較強(qiáng),可以利用網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)場控制。計(jì)算機(jī)同ARM11通信系統(tǒng)相比,前者無論是在數(shù)據(jù)處理效率和質(zhì)量方面都占據(jù)一定的優(yōu)勢,若將大量的數(shù)據(jù)信息交付給計(jì)算機(jī)系統(tǒng)進(jìn)行處理,那么一方面可以極大的降低ARM11系統(tǒng)資源消耗,另一方面ARM11系統(tǒng)可以其他操作做出迅速地反應(yīng),鑒于此,ARM11系統(tǒng)可以將需要處理的數(shù)據(jù)傳輸給計(jì)算機(jī)系統(tǒng),而計(jì)算機(jī)系統(tǒng)需要根據(jù)ARM11數(shù)據(jù)處理要求對所傳輸?shù)臄?shù)據(jù)進(jìn)行處理并將處理結(jié)果利用網(wǎng)絡(luò)傳輸至ARM11控制模塊中。例如以網(wǎng)路控制PWM來進(jìn)行說明。ARM11控制模塊需要將設(shè)備工作狀態(tài)數(shù)據(jù)信息傳輸至計(jì)算機(jī),而計(jì)算機(jī)則需要利用網(wǎng)絡(luò)控制將PWM波的開關(guān)、占空比以及頻率設(shè)置等命令進(jìn)行傳輸。
1.2 網(wǎng)絡(luò)通信協(xié)議選擇
通信協(xié)議問題在網(wǎng)絡(luò)通信中是一種必然的存在。當(dāng)下,網(wǎng)絡(luò)協(xié)議主要有兩種,即UDP和TCP/IP協(xié)議。而實(shí)時(shí)性網(wǎng)絡(luò)通信要求實(shí)時(shí)收發(fā),UDP在使用過程中不需要進(jìn)行連接綁定,故而更加符合實(shí)時(shí)性這一要求,但是值得注意的,UDP協(xié)議的無法從根本上確保數(shù)據(jù)傳輸有效性,也就是當(dāng)進(jìn)行大量數(shù)據(jù)傳輸過程中,一旦傳輸速度過快,那么就可能會(huì)出現(xiàn)丟包問題,這種問題的發(fā)生在數(shù)據(jù)龐大且傳輸次數(shù)較多的數(shù)據(jù)庫中較為常見。這種問題的發(fā)生對可靠性要求較高的數(shù)據(jù)庫而言是十分嚴(yán)重的。而TCP/IP協(xié)議在實(shí)現(xiàn)通信連接之前首先需要進(jìn)行連接綁定,從而有效地提升了數(shù)據(jù)傳輸?shù)姆€(wěn)定性和有效性。
1.3 數(shù)據(jù)流分析
同ARM11通信系統(tǒng)相比,計(jì)算機(jī)系統(tǒng)在數(shù)據(jù)處理速度方面占據(jù)一定的優(yōu)勢,例如可以將大量的數(shù)據(jù)處理任務(wù)分配給計(jì)算機(jī),這樣一方面可以有效地降低ARM11資源的消耗,另一方面也為ARM11系統(tǒng)進(jìn)行其他處理操作提供了更多的空間和時(shí)間。例如可以將顯示圖片處理任務(wù)分配給計(jì)算機(jī),計(jì)算機(jī)系統(tǒng)則是依據(jù)ARM11顯示數(shù)據(jù)的處理標(biāo)準(zhǔn)對顯示圖片信息進(jìn)行處理,并將最終的處理結(jié)果通過網(wǎng)絡(luò)傳輸至ARM11系統(tǒng)中同時(shí)使用LED進(jìn)行顯示。
所謂的PWM波是指占空比和頻率都可以進(jìn)行控制的方波,這種波不僅可以當(dāng)做測試信號,同時(shí)也可以是控制信號,而為了實(shí)現(xiàn)占空比和頻率可控目標(biāo),在進(jìn)行驅(qū)動(dòng)程序設(shè)計(jì)過程中必須對占空比和頻率接口進(jìn)行調(diào)整,同時(shí)將PWM接口進(jìn)行關(guān)閉,而PWM驅(qū)動(dòng)程序結(jié)構(gòu)如圖1所示,從圖中可以看出驅(qū)動(dòng)程序主要包括開關(guān)PWM輸出函數(shù)、設(shè)置頻率函數(shù)和設(shè)置占空比函數(shù)(見圖1)。
TCP/IP協(xié)議下的ARM11嵌入式終端單純以服務(wù)器或者是客戶端的模式應(yīng)用是無法實(shí)現(xiàn)即時(shí)收發(fā)目標(biāo)的,例如以當(dāng)做服務(wù)器為例進(jìn)行說明。ARM11終端接收計(jì)算機(jī)所傳輸?shù)臄?shù)據(jù)后,一旦計(jì)算機(jī)連接中斷,那么網(wǎng)絡(luò)終端傳輸過程也會(huì)停止,此時(shí)若想再次實(shí)現(xiàn)連接,那么計(jì)算機(jī)客戶端必須重新向終端發(fā)起連接命令,這種連接方式使得嵌入式終端運(yùn)行收到了一定的限制,無法實(shí)現(xiàn)數(shù)據(jù)的即時(shí)發(fā)送。在這種情況下,可以通過對網(wǎng)絡(luò)中斷和計(jì)算機(jī)系統(tǒng)進(jìn)行雙重工作模式的設(shè)置,即既可以是客戶端又可以是服務(wù)器,這樣一來就可以妥善的解決TCP/IP協(xié)議使用過程中存在的問題,終端可以在任何時(shí)間實(shí)現(xiàn)與計(jì)算機(jī)的連接和終端,實(shí)現(xiàn)了即時(shí)收發(fā)目標(biāo)。
圖1 P WM驅(qū)動(dòng)的程序結(jié)構(gòu)
站在數(shù)據(jù)傳輸?shù)挠行院途W(wǎng)絡(luò)系統(tǒng)運(yùn)行的實(shí)時(shí)性層面分析,在進(jìn)行網(wǎng)絡(luò)通信和遠(yuǎn)程控制PWM波輸出程序設(shè)計(jì)過程中,可以通過TCP/IP協(xié)議服務(wù)器和客戶端雙進(jìn)程工作模式的應(yīng)用來實(shí)現(xiàn)計(jì)算機(jī)處理PWM頻率和占空比數(shù)據(jù),并將處理結(jié)構(gòu)傳輸至ARM11客戶端。首先,軟件利用fork語句來進(jìn)行服務(wù)器和客戶端進(jìn)程的創(chuàng)建,同時(shí)通過pipe()語句來構(gòu)建一個(gè)進(jìn)程間數(shù)據(jù)通信通道。一旦進(jìn)程建設(shè)完畢,ARM11網(wǎng)絡(luò)終端的兩個(gè)進(jìn)程會(huì)在同一時(shí)間運(yùn)行:客戶端需要傳輸數(shù)據(jù)時(shí)僅通過發(fā)起連接就可以實(shí)現(xiàn)網(wǎng)絡(luò)連接,當(dāng)客戶端數(shù)據(jù)傳輸完畢首先需要對數(shù)據(jù)進(jìn)行解碼處理,之后進(jìn)行PWM波輸出等,當(dāng)這一過程完成后可以將連接關(guān)閉,而客戶端也會(huì)一直處于等待連接狀態(tài)。
通常情況下,網(wǎng)絡(luò)終端和計(jì)算機(jī)服務(wù)器進(jìn)程是處在一個(gè)工作狀態(tài)中,這樣一來可以實(shí)現(xiàn)任何一端都可以當(dāng)做客戶端實(shí)現(xiàn)連接,或者是接收客戶端所傳輸?shù)男畔?,?shí)現(xiàn)了即時(shí)收發(fā)的目標(biāo),進(jìn)而為實(shí)時(shí)網(wǎng)絡(luò)通信實(shí)時(shí)性的目標(biāo)的實(shí)現(xiàn)提供了保證。ARM11嵌入式終端不會(huì)對一些復(fù)雜的數(shù)據(jù)進(jìn)行處理,而是將該項(xiàng)任務(wù)交付給計(jì)算機(jī)系統(tǒng)來完成,而待計(jì)算機(jī)系統(tǒng)完成后會(huì)將處理結(jié)果反饋給嵌入式終端,極大的降低了ARM11資源消耗,同時(shí)響應(yīng)按鍵、開光等處理操作也更加的靈敏。
綜上所述,ARM11嵌入式系統(tǒng)具有體積小、處理速度快、功能性強(qiáng)等方面的特點(diǎn),符合網(wǎng)絡(luò)組網(wǎng)和網(wǎng)絡(luò)通信的實(shí)時(shí)性基本要求,同時(shí)以TCP/IP協(xié)議服務(wù)器客戶端雙進(jìn)程工作模式的應(yīng)用極大地提升了網(wǎng)絡(luò)通信的可靠性和穩(wěn)定性,實(shí)現(xiàn)對PWM波輸出的控制。
[1]張?zhí)萌A.淺析嵌入式實(shí)時(shí)系統(tǒng)CAN通信軟件設(shè)計(jì)[J].通訊世界,2016(18):25-26.
[2]鄧靜.基于嵌入式系統(tǒng)的生產(chǎn)線智能監(jiān)控終端網(wǎng)絡(luò)通信的設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2016(24):4-6.
[3]王靜.嵌入式通信網(wǎng)絡(luò)系統(tǒng)的抗毀性設(shè)計(jì)方法研究[J].現(xiàn)代電子技術(shù),2016(16):64-67.