畢業(yè)設(shè)計(jì)論文基于TCPIP的機(jī)房多點(diǎn)告警傳輸與控制系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)論文基于TCPIP的機(jī)房多點(diǎn)告警傳輸與控制系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)論文基于TCPIP的機(jī)房多點(diǎn)告警傳輸與控制系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)論文基于TCPIP的機(jī)房多點(diǎn)告警傳輸與控制系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)論文基于TCPIP的機(jī)房多點(diǎn)告警傳輸與控制系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、畢業(yè)設(shè)計(jì)基于TCP/IP的機(jī)房多點(diǎn)告警傳輸與控制系統(tǒng) 告警數(shù)據(jù)的采集及網(wǎng)絡(luò)傳輸?shù)膶?shí)現(xiàn)學(xué)院 通信工程 學(xué)生姓名 指導(dǎo)教師 摘 要 隨著嵌入式系統(tǒng)的廣泛應(yīng)用,賦予嵌入式系統(tǒng)Internet網(wǎng)絡(luò)接入功能已經(jīng)成為一種需要,也是嵌入式應(yīng)用領(lǐng)域的研究熱點(diǎn)之一。本課題用應(yīng)用最廣泛的MCS-51系列單片機(jī)作為嵌入式系統(tǒng)的核心,自行設(shè)計(jì)和開發(fā)了一套適合該類嵌入式系統(tǒng)的精簡(jiǎn)TCP/IP協(xié)議棧,實(shí)現(xiàn)了低成本嵌入式系統(tǒng)的Internet接入?;谠撓到y(tǒng),設(shè)計(jì)了一套完整、靈活、可擴(kuò)展性強(qiáng)的機(jī)房監(jiān)控設(shè)備。該設(shè)備適用于各種無人機(jī)房的遠(yuǎn)程監(jiān)控,實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控的網(wǎng)絡(luò)化。關(guān)鍵詞 單片機(jī) RTL8019AS 精簡(jiǎn)TCP/IP C5

2、1ABSTRACT With the widespread application of the embedded systems, endowing the embedded systems with network-access function has become necessary and one of the research focus of embedded system application field. This paper designs a tiny TCP/IP stacks suitable for embedded systems with the widely

3、 used MCS-51 series MCU as its CPU, which makes the low-cost embedded systems accessing the Internet come true. A complete remote-supervise device has been designed using this embedded system. It is an integrated, flexible and well expandable device that can be used in various non-person machine roo

4、m, realizing the network for remote supervision.Keyword: MCU RTL8019AS Tiny TCP/IP C511、系統(tǒng)總體概述系統(tǒng)分為硬件設(shè)計(jì)和軟件編程兩個(gè)部分。其中,硬件部分包括三個(gè)功能模塊:數(shù)據(jù)采集模塊、匯集器模塊和網(wǎng)絡(luò)通信模塊。三個(gè)模塊各負(fù)其責(zé)但又協(xié)調(diào)統(tǒng)一,共同完成告警數(shù)據(jù)的采集、匯集及網(wǎng)絡(luò)傳輸。圖1給出了總體結(jié)構(gòu)示意圖。軟件部分包括各功能模塊的控制程序及精簡(jiǎn)TCP/IP協(xié)議棧的開發(fā)。整套系統(tǒng)具有多路數(shù)據(jù)采集,多路數(shù)據(jù)匯集以及網(wǎng)絡(luò)TCP、UDP傳輸?shù)墓δ?;并且成本低,局域網(wǎng)傳輸穩(wěn)定可靠。采集器1采集器2采集器8數(shù)據(jù)匯集器網(wǎng)絡(luò)通

5、信模塊Internet圖1 總體結(jié)構(gòu)圖監(jiān)控中心2、數(shù)據(jù)采集模塊的設(shè)計(jì)此模塊的設(shè)計(jì)分為兩個(gè)部分:數(shù)據(jù)采集卡和母板控制器。兩者之間用DB37接口連接。數(shù)據(jù)采集卡負(fù)責(zé)采集數(shù)據(jù),母板控制器負(fù)責(zé)數(shù)據(jù)的處理和傳輸。其中,數(shù)據(jù)采集卡前端使用光電偶合器,將設(shè)備的地信號(hào)和本系統(tǒng)的地信號(hào)分開,以免影響系統(tǒng)的穩(wěn)定工作且起保護(hù)作用。母板的設(shè)計(jì)采用了8個(gè)LS244芯片作緩沖器,使用單片機(jī)的P2口進(jìn)行片選,通過輪詢的方式采集數(shù)據(jù),并由單片機(jī)處理,形成自定義串行通信協(xié)議的數(shù)據(jù)幀格式,然后將該數(shù)據(jù)幀以RS232通信方式發(fā)送給下一級(jí)匯集器模塊。為了此模塊具有靈活性和通用性,在設(shè)計(jì)時(shí)加入了3位的撥碼開關(guān),連接到單片機(jī)的P0口,可

6、以通過設(shè)定開關(guān)的不同狀態(tài)來區(qū)分不同的設(shè)備以及使用采集卡的數(shù)量,方便用戶。硬件總體結(jié)構(gòu)如下圖所示:數(shù)據(jù)線控制線片選片選片選多路數(shù)據(jù)采集緩存器0緩存器1緩存器7AT89C52串口通信撥碼開關(guān)P0口MAX232圖2 數(shù)據(jù)采集模塊總體硬件結(jié)構(gòu)圖數(shù)據(jù)采集模塊程序的編寫,采用匯編語言,簡(jiǎn)單且運(yùn)行效率高,程序的總體流程圖如下:開始初始化1分鐘定時(shí)?讀取開關(guān)狀態(tài)比較數(shù)據(jù)N輪詢采集卡是否有變化?刷新發(fā)送數(shù)據(jù)計(jì)算校驗(yàn)和形成數(shù)據(jù)幀發(fā) 送YN接受數(shù)據(jù)根據(jù)不同數(shù)據(jù)做出相應(yīng)動(dòng)作中斷入口中斷返回圖3 采集模塊的軟件總體流程圖3、匯集器模塊的設(shè)計(jì)多路匯集模塊的主要功能是將多路(最多八路)串口過來的告警數(shù)據(jù),匯集成一路數(shù)據(jù),發(fā)

7、送給網(wǎng)絡(luò)通信模塊;或是將網(wǎng)絡(luò)通信模塊過來的控制數(shù)據(jù)準(zhǔn)確的分路給各個(gè)串口,實(shí)現(xiàn)雙向通信。自定義的通信協(xié)議,除了很好的識(shí)別各路告警數(shù)據(jù)外,還具有線路自檢功能,監(jiān)控中心可根據(jù)數(shù)據(jù)幀中內(nèi)容,知道各模塊之間的連接是否正常,各數(shù)據(jù)采集卡的工作狀態(tài)是否正常等,大大增強(qiáng)了整個(gè)系統(tǒng)的可靠性。硬件設(shè)計(jì)上采用了77E58單片機(jī)控制兩片TL16C554四串口異步通信芯片來完成該模塊數(shù)據(jù)匯集的功能??傮w結(jié)構(gòu)及接口如下圖:TL16C554串口1串口2串口3串口4控制總線77E58通信口P0口地址鎖 存器74LS573P2口3-8譯碼 器發(fā)地址總線數(shù)據(jù)總線讀/寫RD/WRP3.5復(fù)位MAX232MAX232MAX232MA

8、X232數(shù)據(jù)采集模塊1數(shù)據(jù)采集模塊2數(shù)據(jù)采集模塊3數(shù)據(jù)采集模塊4MAX232網(wǎng)絡(luò)通模塊 圖4 匯集器模塊的硬件結(jié)構(gòu)及接口此處使用77E58單片機(jī)是因?yàn)槠鋬?nèi)部有1K的SRAM可以用來暫存各路的數(shù)據(jù),從而就不必外掛RAM,簡(jiǎn)化了硬件結(jié)構(gòu)??刂瞥绦虻闹饕悸肥遣捎眉拇嫫鞑樵兎绞竭M(jìn)行數(shù)據(jù)收發(fā),然后根據(jù)通信協(xié)議對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理,并配合定時(shí)器來達(dá)到線路的自檢功能,流程圖如下:開始77E58的初始化各路串口的初始化是否有數(shù)據(jù)?接受并校驗(yàn)數(shù)據(jù)處理數(shù)據(jù)發(fā)送至網(wǎng)絡(luò) 通信模塊YN無誤錯(cuò)誤復(fù)位定時(shí)器定時(shí)中斷2分鐘定時(shí)到?發(fā)送失效信息中斷返回NY復(fù)位定時(shí)器串口中斷發(fā)送中斷?發(fā)送下一數(shù)據(jù)?發(fā)送完成?接受數(shù)據(jù)分析數(shù)據(jù)并分

9、路給指定串口中斷返回NYYN圖5 匯集模塊軟件總體流程圖4、網(wǎng)絡(luò)通信模塊的設(shè)計(jì)網(wǎng)絡(luò)通信模塊是本系統(tǒng)設(shè)計(jì)的重點(diǎn)也是難點(diǎn)所在。主要功能是實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸。主要包括對(duì)數(shù)據(jù)進(jìn)行TCP/IP的打包或解包以及對(duì)網(wǎng)絡(luò)控制器的控制與操作。設(shè)計(jì)中,為了降低系統(tǒng)成本,采用的是8位微處理器AT89C55WD單片機(jī)和10M以太網(wǎng)絡(luò)控制器RTL8019AS。41 硬件的設(shè)計(jì)網(wǎng)絡(luò)通信模塊大致可以分為四個(gè)部分:主CPU、存貯器(包括IS62C256 32K的RAM 和24C02 I2C總線的EEPROM)、網(wǎng)絡(luò)控制器RTL8019AS和串口通信部分。各個(gè)部分在單片機(jī)AT89C55WD的協(xié)調(diào)控制下,各盡所能,共同完成網(wǎng)絡(luò)通

10、信的任務(wù)??傮w邏輯結(jié)構(gòu)如圖6所示。地址鎖存器P0.0P0.7數(shù)據(jù)總線P2.0P2.6地址總線P2.7片選讀/寫RD/WR62256AT89C55WDRTL8019ASP3.5隔離變壓器數(shù)據(jù)總線地址總線復(fù)位讀/寫網(wǎng)絡(luò)通信口網(wǎng)絡(luò)接口MAX232通信串口匯集器模塊網(wǎng)絡(luò)圖6 網(wǎng)絡(luò)通信模塊的硬件結(jié)構(gòu)和接口24C02P1.6P1.7EEPROM其中,設(shè)計(jì)的重點(diǎn)是網(wǎng)絡(luò)控制器RTL8019AS的硬件設(shè)置和與單片機(jī)的接口設(shè)計(jì)。RTL8019AS的硬件設(shè)置包括三個(gè)內(nèi)容:工作模式的設(shè)定、I/O基址與數(shù)據(jù)總線模式的設(shè)置以及網(wǎng)絡(luò)接口的設(shè)置,這些硬件設(shè)置都是網(wǎng)絡(luò)控制器正常工作的前提。針對(duì)本課題所應(yīng)用8位單片機(jī)為主CPU,

11、對(duì)RTL8019AS進(jìn)行相應(yīng)的硬件設(shè)置。方法如下:工作模式設(shè)定為跳線方式,將管腳JP(第65腳)通過10K電阻上拉接VCC即可;I/O基址設(shè)定為300H,故需將引腳IOS3、IOS2、IOS1、IOS0懸空(RTL8019AS中,管腳懸空相當(dāng)于接低電平,因?yàn)閮?nèi)部有下拉電阻);數(shù)據(jù)總線模式為8位模式,相應(yīng)管腳第96腳IOCS16接低電平;網(wǎng)絡(luò)接口設(shè)置為自檢方式,將引腳PL0、PL1(第74、77腳)懸空即可。AT89C55WD單片機(jī)對(duì)RTL8019AS進(jìn)行讀寫和控制操作,是通過設(shè)計(jì)兩者之間的接口實(shí)現(xiàn)的,這也是硬件設(shè)計(jì)的重點(diǎn)內(nèi)容。接口設(shè)計(jì)主要包括:數(shù)據(jù)和地址總線、讀寫線和復(fù)位線的接口設(shè)計(jì)。如總體結(jié)

12、構(gòu)圖6所示,RT8019AS的讀寫線,連接到單片機(jī)對(duì)應(yīng)的讀寫線(RD和WR );第33腳復(fù)位引腳RESDRV與單片機(jī)的P3.5相連,通過控制P3.5的輸出來達(dá)到復(fù)位RT8019AS的目的。根據(jù)前面的設(shè)置,RTL8019AS采用了8位的數(shù)據(jù)總線模式,故將起低8位數(shù)據(jù)總線接單片機(jī)的P0端口。RTL8019AS 共有20根地址線,為SA0SA19,可尋址的輸入輸出地址共32個(gè),地址偏移量為00H-1FH,根據(jù)前述設(shè)置,RTL8019AS的基址定為300H,所以尋址的地址為:300H31FH。從地址對(duì)應(yīng)表1中可以看出,地址線的SA19-SA5都是固定的值000000000011000,因此設(shè)計(jì)中將SA

13、5-SA7和SA10-SA19都接地,而將SA0-SA4接到單片機(jī)P2端口的P2.0P2.4,將SA8、SA9接P2口的P2.7。表1 地址對(duì)應(yīng)表引腳地址SA19SA10SA9SA8SA7SA6SA5SA4SA3SA2SA1SA0300H01100000000011000XXXXX31FH01100011111上述設(shè)計(jì)表明,當(dāng)單片機(jī)外部尋址0x8000時(shí),即可尋址到以太網(wǎng)控制偏移量為0的基址0x300,這也是以太網(wǎng)控制器的命令寄存器<CR>的訪問地址。由此,完成了單片機(jī)與RTL8019AS的接口設(shè)計(jì)。存儲(chǔ)器部分可以分成兩塊:一塊是32K的外掛RAM 62256,用于存放數(shù)幀、協(xié)議參

14、數(shù)等信息,與單片機(jī)之間采用并行總線方式接口。另一塊是EEPROM 24C02,用于上電復(fù)位時(shí),初始化系統(tǒng)參數(shù)。采用的IIC總線是一種串行模式,通過軟件模擬實(shí)現(xiàn)的。42 軟件的設(shè)計(jì)網(wǎng)絡(luò)通信模塊的軟件程序主要由下面幾個(gè)部分組成:網(wǎng)絡(luò)控制器的驅(qū)動(dòng)程序、精簡(jiǎn)的嵌入式TCP/IP協(xié)議棧、串口驅(qū)動(dòng)、中斷服務(wù)程序和IIC驅(qū)動(dòng)以及應(yīng)用函數(shù)。其中設(shè)計(jì)的重點(diǎn)和難點(diǎn)是網(wǎng)絡(luò)控制器RTL8019AS的驅(qū)動(dòng)和精簡(jiǎn)的嵌入式TCP/IP協(xié)議棧的實(shí)現(xiàn)。(1) RTL8019AS的驅(qū)動(dòng)RTL8019AS的驅(qū)動(dòng)過程包括四個(gè)步驟,分別為復(fù)位操作、內(nèi)部寄存器的初始化、接收數(shù)據(jù)包服務(wù)程序的設(shè)計(jì)和發(fā)送數(shù)據(jù)包服務(wù)程序的設(shè)計(jì)。其中,復(fù)位操作是

15、對(duì)RTL8019AS的復(fù)位引腳RSTDRV(此處連到了單片機(jī)的P3.5腳上),施加一個(gè)1us以上的高電平就可以復(fù)位;然后初始化內(nèi)部寄存器,根據(jù)設(shè)計(jì)的工作方式,參照使用手冊(cè)對(duì)其必要的寄存器進(jìn)行配置,使RTL8019AS能按照所要求的工作。接下來就是RTL8019AS的兩個(gè)主要功能,即數(shù)據(jù)的接收和發(fā)送。首先,讀取內(nèi)部的寄存器BNRY和CURR,一個(gè)是指向最后一個(gè)已經(jīng)讀取的頁的讀指針,另一個(gè)指向當(dāng)前正在寫的頁的下一頁的指針,通過判斷兩個(gè)寄存器之間的關(guān)系可以判斷是否有新的數(shù)據(jù)包,當(dāng)CURRBNRY+1時(shí),說明有新的數(shù)據(jù)包,這時(shí),程序就開始接收所收到且暫存于緩沖區(qū)中的數(shù)據(jù)。與接收相比,數(shù)據(jù)的發(fā)送過程相對(duì)

16、簡(jiǎn)單,將待發(fā)送的數(shù)據(jù),通過遠(yuǎn)程DMA通道送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令,完成幀的發(fā)送。(2) 精簡(jiǎn)TCP/IP協(xié)議棧的實(shí)現(xiàn)考慮到我們要在嵌入式系統(tǒng)中實(shí)現(xiàn)TCP/IP協(xié)議棧,且主要是應(yīng)用于遠(yuǎn)程監(jiān)控等領(lǐng)域,其特點(diǎn)是數(shù)據(jù)流量較小,但可靠性要求比較高。針對(duì)這樣的需求,對(duì)TCP/IP協(xié)議棧進(jìn)行一定的裁減,只實(shí)現(xiàn)必要的一些協(xié)議即可。本設(shè)計(jì)中,精簡(jiǎn)的TCP/IP協(xié)議棧主要實(shí)現(xiàn)了6個(gè)基本協(xié)議的主要部分,包括ETH、ARP、ICMP、IP、UDP和TCP。其中,以太網(wǎng)協(xié)議(ETH)負(fù)責(zé)網(wǎng)絡(luò)接口數(shù)據(jù)幀的收發(fā)以及向上層提供服務(wù);ARP協(xié)議實(shí)現(xiàn)IP地址和以太網(wǎng)物理地址之間的轉(zhuǎn)換;ping程序用

17、來檢測(cè)服務(wù)器是否可達(dá);IP協(xié)議、TCP協(xié)議、UDP協(xié)議負(fù)責(zé)為數(shù)據(jù)傳輸提供服務(wù);TCP協(xié)議和UDP協(xié)議均為運(yùn)輸層協(xié)議,但是它們分別具有不同的特點(diǎn),適用于不同的場(chǎng)合。所有程序用C51語言編程實(shí)現(xiàn),并采用Keil公司的Keil C51編譯器進(jìn)行編譯。下面給出精簡(jiǎn)的TCP/IP協(xié)議棧的工作流程:總體初始化有無串口告警數(shù)據(jù)?有無網(wǎng)絡(luò)數(shù)據(jù)包?ARP包?本地IP包?是TCP包、UDP包、還是ICMP包?處理TCP包發(fā)生處理UDP包發(fā)生處理ICMP包發(fā)生處理ARP包發(fā)生TCP發(fā)送還是UDP發(fā)送TCP處理UDP處理丟棄該包YYYYN網(wǎng)絡(luò)發(fā)送NNN圖7 TCP/IP 的總體流程圖此外,網(wǎng)絡(luò)通信模塊的主程序這里我們

18、其為“守護(hù)程序”,顧名思義做的是“值班員”的工作。它的主要工作就是查詢RTL8019AS是否有數(shù)據(jù)到達(dá);查詢事件狀態(tài)字是否有相應(yīng)事件發(fā)生,如果有則轉(zhuǎn)到相應(yīng)的處理程序進(jìn)行處理。主程序以事件觸發(fā)方式為主要設(shè)計(jì)思路。下面給出網(wǎng)絡(luò)通信模塊總體的軟件運(yùn)行流程圖:開始初始化讀取24C02配置參數(shù)驅(qū)動(dòng)8019查詢網(wǎng)絡(luò)是否有數(shù)據(jù)包到達(dá)重新配置8019串口中斷接受數(shù)據(jù)?發(fā)送數(shù)據(jù)?YYNN接受并且分析數(shù)據(jù)發(fā)送中斷返回定時(shí)中斷ARP地址超時(shí)?ARP重傳超時(shí)?TCP重傳超時(shí)?YYNNNY中斷返回標(biāo)記事件標(biāo)記事件標(biāo)記事件告警數(shù)據(jù)?配置數(shù)據(jù)?標(biāo)記發(fā)送事件標(biāo)記配置事件YYNN接受數(shù)據(jù)事件?ARP高速緩存事件?ARP超時(shí)重傳

19、事件?TCP超時(shí)重傳事件?NYYYYNNN發(fā)送數(shù)據(jù)事件?8019重配置事件?NYY接受并處理接受并處理接受并處理處理并發(fā)送接受并處理刪超時(shí)地址處理并發(fā)送接受并處理重傳處理重傳處理N圖8 網(wǎng)絡(luò)通信模塊軟件總體流程圖其中事件狀態(tài)字定義如下:#define EVENT_ETH_ARRIVED 0x01 /有網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)#define EVENT_AGE_ARP_CACHE 0x02 /ARP高速緩存事件#define EVENT_ARP_RESEND 0x04 /ARP重傳事件#define EVENT_TCP_RESEND 0x08 /TCP重傳事件#define EVENT_DATA_SEND 0x10 /網(wǎng)絡(luò)數(shù)據(jù)發(fā)送事件#define EVENT_CONFIG 0x20 /RTL8019AS配置事件5、結(jié)束語本課題對(duì)局域網(wǎng)環(huán)境下TCP/IP的嵌入式應(yīng)用進(jìn)行了較為深入分析和研究,討論了在這種特定條件下的系統(tǒng)整體的設(shè)計(jì)與實(shí)現(xiàn)方案,重點(diǎn)包括對(duì)以太網(wǎng)控制器RTL8019AS的配置和操作,鏈路層上以太網(wǎng)數(shù)據(jù)幀的收發(fā)以及精簡(jiǎn)TCP/IP協(xié)議棧的開發(fā)等,并最終完成了由低成本的51系列單片機(jī)構(gòu)成了嵌入式系統(tǒng)的Internet接入,而且應(yīng)用此設(shè)計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng),經(jīng)局域網(wǎng)實(shí)驗(yàn)測(cè)試,運(yùn)行穩(wěn)定,傳輸可靠,平均丟包率為1。主要參考文獻(xiàn)1、 胡漢才編著. 單片機(jī)原理

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論