版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯以太網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)控制和管理技術(shù)設(shè)計(jì)開(kāi)發(fā)-基礎(chǔ)電子隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,以太網(wǎng)在工業(yè)控制領(lǐng)域的應(yīng)用日趨廣泛,基于以太網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)、控制和管理的有效集成[2]。使用遠(yuǎn)程監(jiān)控系統(tǒng)通過(guò)網(wǎng)絡(luò)對(duì)工業(yè)生產(chǎn)過(guò)程進(jìn)行監(jiān)測(cè),及時(shí)了解現(xiàn)場(chǎng)信息,快速進(jìn)行決策。
遠(yuǎn)程控制的關(guān)鍵技術(shù)在于如何解決工業(yè)現(xiàn)場(chǎng)設(shè)備的網(wǎng)絡(luò)接入問(wèn)題。目前,主要有兩種方法:一種是使用PC機(jī)通過(guò)PC機(jī)端口(如RS232、USB接口)或數(shù)據(jù)采集卡來(lái)采集數(shù)據(jù)同時(shí)提供網(wǎng)絡(luò)接口[3],這種方法利用強(qiáng)大的PC機(jī)軟件支持,容易實(shí)現(xiàn)網(wǎng)絡(luò)通信功能,但是PC機(jī)端口資源有限,專(zhuān)用采集卡成本較高,難以推廣;另一種就是在現(xiàn)場(chǎng)使用嵌入式系統(tǒng)實(shí)現(xiàn)網(wǎng)絡(luò)接入,嵌入式系統(tǒng)具有功耗低、體積小、成本低、可靠性高、實(shí)時(shí)性強(qiáng)等特點(diǎn),使用在工業(yè)控制現(xiàn)場(chǎng)比較合適。
本文將嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)相結(jié)合,在現(xiàn)場(chǎng)利用嵌入式系統(tǒng)實(shí)現(xiàn)網(wǎng)絡(luò)通信功能以實(shí)時(shí)傳輸液位信號(hào)和控制信號(hào),在客戶(hù)端PC機(jī)上通過(guò)套接字編程實(shí)現(xiàn)與現(xiàn)場(chǎng)嵌入式系統(tǒng)的遠(yuǎn)程通信,從而達(dá)到對(duì)遠(yuǎn)程液位的監(jiān)控。
1遠(yuǎn)程液位監(jiān)控系統(tǒng)結(jié)構(gòu)
本文設(shè)計(jì)的遠(yuǎn)程液位監(jiān)控系統(tǒng)結(jié)構(gòu)如圖1所示:其中,處理器芯片采用ARM微處理器S3C44B0X;S3C44B0X自帶8路10位ADC進(jìn)行A/D轉(zhuǎn)換來(lái)采集液位數(shù)據(jù),通過(guò)擴(kuò)展DAC0832實(shí)現(xiàn)D/A轉(zhuǎn)換以輸出控制量;S3C44B0X連接10M以太網(wǎng)卡RTL8019AS,提供網(wǎng)絡(luò)功能的硬件接口;μC/OS-Ⅱ移植到S3C44B0X上,提供操作系統(tǒng)的支持,方便了應(yīng)用程序的開(kāi)發(fā)和對(duì)整個(gè)系統(tǒng)的管理;嵌入式TCP/IP協(xié)議棧LwIP移植到μC/OS-Ⅱ平臺(tái)上,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的軟件處理,從而為嵌入式系統(tǒng)提供網(wǎng)絡(luò)通信功能;遠(yuǎn)程PC機(jī)客戶(hù)端登錄到嵌入式系統(tǒng)服務(wù)器上,通過(guò)以太網(wǎng)實(shí)現(xiàn)兩端數(shù)據(jù)的實(shí)時(shí)交互。
圖1遠(yuǎn)程液位監(jiān)控系統(tǒng)結(jié)構(gòu)圖
2硬件介紹與設(shè)計(jì)
三星的S3C44B0X微處理器芯片采用ARM公司16/32位ARM7TDMIRISC結(jié)構(gòu)的CPU核,主頻為66MHz,通過(guò)擴(kuò)展一系列通用外圍部件,提供豐富的外設(shè)功能。它的存儲(chǔ)系統(tǒng)具有8個(gè)存儲(chǔ)體,每個(gè)有32MB的存儲(chǔ)空間,通過(guò)nGCS0-7這8個(gè)片選來(lái)分配。本文使用的設(shè)計(jì)方案中nGCS0接Flash芯片AM29LV160DB,起始地址0x00000000,大小為2MB,nGCS6接SDRAM芯片HY57V641620ET-7,起始地址為0x0c000000,大小為8MB,nGCS3接RTL8019AS,起始地址為0x06000000。
RTL8019AS是一款高度集成的全雙工以太網(wǎng)控制器,收發(fā)可同時(shí)達(dá)到10Mbps的速度;支持8位、16位數(shù)據(jù)總線,8個(gè)中斷請(qǐng)求線可供選擇;支持UTP、AUI和BNC的自動(dòng)檢測(cè);內(nèi)置16K的SRAM,用于數(shù)據(jù)緩沖,以256B為單位的分頁(yè)結(jié)構(gòu),可以自行分配用于收發(fā)的分頁(yè)的大小和位置,一般前12頁(yè)用于發(fā)送緩沖,后52頁(yè)用于接收緩沖;硬件自帶收發(fā)CRC校驗(yàn)、FIFO邏輯隊(duì)列等,減少了主CPU處理網(wǎng)絡(luò)數(shù)據(jù)的工作量。S3C44B0X對(duì)RTL8019AS的操作主要集中在對(duì)網(wǎng)卡寄存器的讀寫(xiě)和網(wǎng)卡內(nèi)SRAM的處理。
3軟件設(shè)計(jì)
3.1基于嵌入式系統(tǒng)的服務(wù)器端程序設(shè)計(jì)
3.1.1S3C44B0X上μC/OS-Ⅱ的移植
嵌入式操作系統(tǒng)μC/OS-Ⅱ可以運(yùn)行于各種不同類(lèi)型的微處理器上,其內(nèi)核小、效率高,并且具有高度的模塊化和可移植性,支持多任務(wù)實(shí)時(shí)調(diào)度,擴(kuò)展后可支持網(wǎng)絡(luò)功能、圖形界面等,使得應(yīng)用程序的開(kāi)發(fā)更加簡(jiǎn)單,功能更加豐富。
在使用μC/OS-Ⅱ之前,要先將它移植到S3C44B0X上,移植工作主要包括三個(gè)方面[4]:
(1)設(shè)置與處理器和編譯器相關(guān)的代碼,包括一系列數(shù)據(jù)類(lèi)型的定義,開(kāi)中斷宏、關(guān)中斷宏的實(shí)現(xiàn),定義堆棧的生長(zhǎng)方向;
(2)用C語(yǔ)言編寫(xiě)6個(gè)操作系統(tǒng)相關(guān)的函數(shù):OSTaskStkInit()初始化任務(wù)的堆棧結(jié)構(gòu),和5個(gè)鉤子函數(shù)OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeHook()、OSTaskCreateHook();
(3)用匯編語(yǔ)言編寫(xiě)4個(gè)與處理器相關(guān)的函數(shù):運(yùn)行優(yōu)先級(jí)的就緒任務(wù)函數(shù)OSStartHighRdy(),任務(wù)級(jí)的任務(wù)切換函數(shù)OS_TASK_SW(),中斷級(jí)的任務(wù)切換函數(shù)OSIntCtxSw(),時(shí)鐘節(jié)拍服務(wù)函數(shù)OSTickISR()。
3.1.2μC/OS-Ⅱ上TCP/IP協(xié)議棧的實(shí)現(xiàn)
LwIP(Light-weightIP)是瑞典計(jì)算機(jī)科學(xué)院(SwedishInstituteofComputerScience)的AdamDunkels等開(kāi)發(fā)的一套開(kāi)源的TCP/IP協(xié)議棧[5],LwIP在保持TCP/IP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,這使得它適合在低端嵌入式系統(tǒng)中使用。
LwIP協(xié)議棧在設(shè)計(jì)時(shí)已經(jīng)把所有與硬件、操作系統(tǒng)、編譯器等移植相關(guān)的部分獨(dú)立出來(lái),放在/src/arch目錄下。因此LwIP在μC/OS-Ⅱ上的實(shí)現(xiàn)就是修改這個(gè)目錄下的文件[6]。
(1)與CPU、編譯器相關(guān)的部分
主要是cc.h、cpu.h、peRF.h文件中有關(guān)數(shù)據(jù)長(zhǎng)度、字的高低位順序等的定義,這些應(yīng)該與實(shí)現(xiàn)μC/OS-Ⅱ時(shí)參數(shù)的定義保持一致。另外,一般情況下C語(yǔ)言的結(jié)構(gòu)體struct是4字節(jié)對(duì)齊的,但是在處理數(shù)據(jù)包的時(shí)候,LwIP使用的是通過(guò)結(jié)構(gòu)體中不同數(shù)據(jù)的長(zhǎng)度來(lái)讀取相應(yīng)的數(shù)據(jù),所以,一定要在定義struct的時(shí)候使用_packed關(guān)鍵字,讓編譯器放棄struct的字節(jié)對(duì)齊。
(2)與操作系統(tǒng)相關(guān)的部分
LwIP中需要使用信號(hào)量通信,所以在sys_arch.h、sys_arch.c中應(yīng)實(shí)現(xiàn)信號(hào)量結(jié)構(gòu)體sys_sem_t,和相關(guān)的信號(hào)量處理函數(shù):包括創(chuàng)建一個(gè)信號(hào)量結(jié)構(gòu)sys_sem_new(),釋放一個(gè)信號(hào)量結(jié)構(gòu)sys_sem_free(),發(fā)送信號(hào)量sys_sem_signal(),請(qǐng)求信號(hào)量sys_arch_sem_wait()。
LwIP使用消息隊(duì)列來(lái)緩沖、傳遞數(shù)據(jù)報(bào)文,因此要在sys_arch.h、sys_arch.c中實(shí)現(xiàn)消息隊(duì)列結(jié)構(gòu)體sys_mbox_t,以及相應(yīng)的操作函數(shù):包括創(chuàng)建一個(gè)消息隊(duì)列sys_mbox_new(),釋放一個(gè)消息隊(duì)列sys_mbox_free(),向消息隊(duì)列發(fā)送消息sys_mbox_post(),從消息隊(duì)列中獲取消息sys_arch_mbox_fetch()。
LwIP中每個(gè)與外界網(wǎng)絡(luò)連接的線程都有自己的timeout屬性,即等待超時(shí)時(shí)間,移植工作需要實(shí)現(xiàn)sys_arch_timeouts()函數(shù),返回當(dāng)前正處于運(yùn)行態(tài)的線程所對(duì)應(yīng)的timeout隊(duì)列指針。
LwIP中網(wǎng)絡(luò)數(shù)據(jù)的處理需要線程來(lái)操作,所以需要實(shí)現(xiàn)創(chuàng)建新線程函數(shù)sys_thread_new()。而在μC/OS-Ⅱ中,沒(méi)有線程的概念,只有任務(wù)。因此必須要把創(chuàng)建新任務(wù)的函數(shù)OSTaskCreate()封裝一下,才可以實(shí)現(xiàn)sys_thread_new()。
(3)相關(guān)庫(kù)函數(shù)的實(shí)現(xiàn)
LwIP協(xié)議棧中用到了8個(gè)外部函數(shù),主要是來(lái)完成16位數(shù)據(jù)的高低字節(jié)交換、32位數(shù)據(jù)的大小頭對(duì)調(diào)、返回字符串長(zhǎng)度、字符串比較、內(nèi)存數(shù)據(jù)塊拷貝、指定長(zhǎng)度的數(shù)據(jù)塊清零等功能,與系統(tǒng)或編譯器有關(guān),需要用戶(hù)實(shí)現(xiàn)。
(4)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序
在LwIP中可以有多個(gè)網(wǎng)絡(luò)接口,每個(gè)網(wǎng)絡(luò)接口都對(duì)應(yīng)了一個(gè)netif結(jié)構(gòu),這個(gè)netif包含了相應(yīng)網(wǎng)絡(luò)接口的屬性、收發(fā)函數(shù)。在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序中主要就是實(shí)現(xiàn)四個(gè)網(wǎng)絡(luò)接口函數(shù):網(wǎng)卡初始化、網(wǎng)卡接收數(shù)據(jù)、網(wǎng)卡發(fā)送數(shù)據(jù)以及網(wǎng)卡中斷處理函數(shù)。
3.2PC機(jī)上客戶(hù)端程序的設(shè)計(jì)
VC++6.0環(huán)境下客戶(hù)端程序?qū)崿F(xiàn)包括以下幾個(gè)部分:
(1)建立客戶(hù)端的Socket:客戶(hù)端應(yīng)用程序首先構(gòu)造一個(gè)CAsyncSocket[7]對(duì)象CltSock,然后調(diào)用CltSock.Create()函數(shù)來(lái)建立CltSock實(shí)體。
(2)提出連接請(qǐng)求:客戶(hù)端套接字CltSock通過(guò)調(diào)用CltSock.Connect(strAddr,nPort)函數(shù)向服務(wù)器套接字提出連接請(qǐng)求。
(3)傳輸數(shù)據(jù):在客戶(hù)端應(yīng)用程序中重載消息處理函數(shù)OnReceive()和OnSend()。在OnReceive()中通過(guò)調(diào)用CltSock.Receive()函數(shù)從服務(wù)器端接收數(shù)據(jù);在OnSend()中通過(guò)調(diào)用CltSock.Send()函數(shù)向服務(wù)器端發(fā)送數(shù)據(jù)。
(4)關(guān)閉連接:客戶(hù)端套接字CltSock通過(guò)調(diào)用CltSock.Close()函數(shù)來(lái)關(guān)閉連接。
4遠(yuǎn)程液位監(jiān)控應(yīng)用程序的開(kāi)發(fā)
本文設(shè)計(jì)完成的基于以太網(wǎng)的遠(yuǎn)程液位繼電自整定PID控制系統(tǒng),其控制算法在遠(yuǎn)端主機(jī)(客戶(hù)機(jī))上實(shí)現(xiàn),兩端通過(guò)TCP協(xié)議通信,本地的嵌入式系統(tǒng)(服務(wù)器)上一方面實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的處理,一方面完成對(duì)液位高度的采集與控制;遠(yuǎn)端PC機(jī)上一方面處理網(wǎng)絡(luò)上的實(shí)時(shí)數(shù)據(jù),一方面通過(guò)PID計(jì)算出控制量,顯示相關(guān)參數(shù)。實(shí)時(shí)液位變化狀況如圖2所示,從圖中可以看出,實(shí)際液位(紅色曲線)能夠穩(wěn)定在液位設(shè)定值(藍(lán)色曲線)處。同時(shí),從用戶(hù)界面上既可以讀出液位高度值,PID自整定參數(shù)等,還可以改變液位高度設(shè)定值,從而真正實(shí)現(xiàn)了液位對(duì)象的遠(yuǎn)程監(jiān)控。
圖2遠(yuǎn)程液位繼電自整定PID控制效果圖
本文設(shè)計(jì)解決了在嵌入式系統(tǒng)中實(shí)現(xiàn)網(wǎng)絡(luò)功能的問(wèn)題,引入并實(shí)現(xiàn)了一種新的設(shè)計(jì)方案,即采用三星ARM7處理器S3C44B0X+Realt
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 正直之劍斬?cái)嗲G棘
- 2025年度個(gè)人股權(quán)并購(gòu)與整合合同8篇
- 2025年度個(gè)人分紅協(xié)議書(shū)針對(duì)知識(shí)產(chǎn)權(quán)交易分紅3篇
- 2025年度個(gè)人小產(chǎn)權(quán)房屋買(mǎi)賣(mài)合同范本與租賃權(quán)優(yōu)先購(gòu)買(mǎi)權(quán)4篇
- 2025年度城市公共停車(chē)場(chǎng)租賃與車(chē)位分配服務(wù)合同范本
- 2025年個(gè)人房屋抵押貸款保證合同模板
- 2025年度個(gè)人與個(gè)人間租賃合同(含租賃雙方權(quán)利義務(wù))
- 2025年全球及中國(guó)可充18650鋰電池行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)抗紫外線永久性乳液粘合劑行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2024年全國(guó)青少年禁毒知識(shí)競(jìng)賽小學(xué)組題庫(kù)及答案(共60題)
- 2025-2030年中國(guó)草莓市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展趨勢(shì)分析報(bào)告
- 第二章《有理數(shù)的運(yùn)算》單元備課教學(xué)實(shí)錄2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)
- 華為智慧園區(qū)解決方案介紹
- 奕成玻璃基板先進(jìn)封裝中試線項(xiàng)目環(huán)評(píng)報(bào)告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎(chǔ)設(shè)施全過(guò)程工程咨詢(xún)服務(wù)招標(biāo)文件范本(2020年版)修訂版
- 人教版八年級(jí)英語(yǔ)上冊(cè)期末專(zhuān)項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- GB/T 44304-2024精細(xì)陶瓷室溫?cái)嗔炎枇υ囼?yàn)方法壓痕(IF)法
- 年度董事會(huì)工作計(jì)劃
- 《退休不褪色余熱亦生輝》學(xué)校退休教師歡送會(huì)
- 02R112拱頂油罐圖集
評(píng)論
0/150
提交評(píng)論