遠程自動抄表系統(tǒng)系統(tǒng)設(shè)計_第1頁
遠程自動抄表系統(tǒng)系統(tǒng)設(shè)計_第2頁
遠程自動抄表系統(tǒng)系統(tǒng)設(shè)計_第3頁
遠程自動抄表系統(tǒng)系統(tǒng)設(shè)計_第4頁
遠程自動抄表系統(tǒng)系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

遠程自動抄表系統(tǒng)系統(tǒng)設(shè)計摘要:在互聯(lián)網(wǎng)、通訊技術(shù)的持續(xù)發(fā)展和現(xiàn)代智慧住宅的興起的背景下,對可以對居民水、電、煤氣三表進行統(tǒng)一抄寫和集中傳送的遠程自動抄表系統(tǒng)進行了研究。在此基礎(chǔ)上,提出了一種基于RS485通信協(xié)議的新型電表遠程抄表系統(tǒng)。該系統(tǒng)主要由兩個部分組成,一個是數(shù)據(jù)采集終端,一個是中央控制器,利用RS485總線,將這兩個部分構(gòu)造成一個分布式控制系統(tǒng),從而完成了對數(shù)據(jù)的采集、傳送以及對系統(tǒng)的控制。數(shù)據(jù)采集終端采用了MCU作為中心,實現(xiàn)了水、電、氣三表數(shù)據(jù)的采集、存儲和顯示;采用ARM作為中央控制單元,利用RS485總線對各個數(shù)據(jù)收集終端進行抄送,再把匯總后的結(jié)果經(jīng)以太網(wǎng)傳送到物業(yè)公司電腦,進行匯總和結(jié)算。通過測試發(fā)現(xiàn),該遠程自動抄表系統(tǒng)可以精確地完成對脈沖數(shù)據(jù)的采集、存儲、顯示和傳輸,并且工作穩(wěn)定,能夠?qū)⑵渫葡驅(qū)嶋H應(yīng)用中去。關(guān)鍵詞:自動抄表,嵌入式系統(tǒng),數(shù)據(jù)采集,RS485DesignofRemoteAutomaticMeterReadingSystemAbstract:InthecontextofthecontinuousdevelopmentoftheInternetandcommunicationtechnology,aswellastheriseofmodernsmarthousing,researchhasbeenconductedonaremoteautomaticmeterreadingsystemthatcanperformunifiedreadingandcentralizedtransmissionofresidents'water,electricity,andgasmeters.Onthisbasis,anewtypeofremotemeterreadingsystembasedonRS485communicationprotocolisproposed.Thesystemmainlyconsistsoftwoparts,oneisadataacquisitionterminalandtheotherisacentralcontroller.ByusingtheRS485bus,thesetwopartsareconstructedintoadistributedcontrolsystem,therebycompletingthecollection,transmission,andcontrolofdata.ThedataacquisitionterminaladoptsMCUasthecenter,achievingthecollection,storage,anddisplayofwater,electricity,andgasmeterdata;ARMisusedasthecentralcontrolunit,andRS485busisusedtocopyvariousdatacollectionterminals.ThesummarizedresultsarethentransmittedtothepropertymanagementcompanycomputerthroughEthernetforsummaryandsettlement.Throughtesting,itwasfoundthattheremoteautomaticmeterreadingsystemcanaccuratelycollect,store,display,andtransmitpulsedata,andworkstably,whichcanbepushedintopracticalapplications.Keywords:automaticmeterreading,embeddedsystem,datacollection,RS485緒論自動抄表簡介在現(xiàn)代化的都市中,水、電、煤氣等設(shè)施一般都是由政府統(tǒng)一計劃,集中管理,而對這些設(shè)施的有效管理,就是一個社區(qū)的智慧水平的最好體現(xiàn)。隨著水、電、熱、氣(“三表”)技術(shù)的不斷進步,新一代的電子化儀器逐漸代替了傳統(tǒng)的機械儀器,并已被大量使用,但目前仍主要依靠手工進行抄表。為了適應(yīng)“三表”的“一網(wǎng)打盡”和“一網(wǎng)打盡”的需要,目前國際上已有一套針對這一問題的解決方法,而基于智能電表的自抄是目前研究的熱點之一。自動抄表系統(tǒng),簡稱AMRS(AutomaticMeterReadingSystem),是一種無需工作人員到場就可以實現(xiàn)對用戶水表、電表和燃氣表的智能管理系統(tǒng)。自動抄表研究背景在人類生活水平不斷提高,人類生活水平不斷提高的同時,水資源的緊缺問題也日益突出。因此,要從根本上轉(zhuǎn)變目前我國水資源使用中的粗放經(jīng)營模式,建立節(jié)水型社會,就需要采取有效的管理措施。所以,目前大部分的城市都采取了“分期付款”方式,這種方式的特征是隨著使用者的用水量而提高每噸價格,從而達到節(jié)水的目的。但是,這種收費系統(tǒng)對自來水公司的抄表計費造成了很大的影響,使得以往的抄表計費方法難以適應(yīng)新的要求。與此同時,伴隨著社會的快速發(fā)展,各個行業(yè)對電力的需求量不斷增加,而在不同時段內(nèi),電力消費的不平衡問題也日趨突出。為了緩和日益突出的能源供求關(guān)系,調(diào)整負載曲線,改變當前能源消費結(jié)構(gòu)不平衡狀況,在國內(nèi)大多數(shù)城市實施了峰谷分時定價,以達到“削峰填谷”的目的,從而提升能源消費的效益,實現(xiàn)對能源的有效使用。伴隨著城市與農(nóng)村的融合,高效率、綠色、環(huán)境友好的管道燃氣開始進入家庭,由此帶來的是到每家每戶進行抄表、收費等煩瑣的工作。對于上述各種情形,為節(jié)省各管理體系的組件成本,節(jié)省人員,提升抄表精度、一致性及工作效率,三表的統(tǒng)一抄表及集中抄表已提上議事日程。我國自動抄表的發(fā)展現(xiàn)狀近年來,隨著人民群眾對居住品質(zhì)要求的不斷提升,國內(nèi)各大、中、大型城鎮(zhèn)居民居住區(qū)已逐步引入智能建筑。目前,部分高校和有關(guān)的研究機構(gòu),正加緊研發(fā)出與我國市場相適應(yīng)的產(chǎn)品,并將多種不同技術(shù)的自動抄表系統(tǒng),在部分小區(qū)中得到了應(yīng)用。還有一些自動抄表系統(tǒng),不僅可以實現(xiàn)遠程抄表的功能,而且還可以在出現(xiàn)燃氣泄露等突發(fā)事件的時候,可以對其進行及時報警,并關(guān)閉開關(guān),還可以對住戶拖欠電費、水費、燃氣費等情況進行遠程控制。我國自動抄表的發(fā)展趨勢近年來,由于技術(shù)的進步,我國的抄表技術(shù)已經(jīng)進入到一個嵌入式、網(wǎng)絡(luò)化的新時期。嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各種產(chǎn)業(yè)的特定應(yīng)用有機地融合在一起的產(chǎn)品,它包括了以32位微嵌入式處理器為代表的硬件系統(tǒng)和以可裁剪的、面向特定場合的嵌入式操作系統(tǒng)為代表的軟件系統(tǒng)。隨著以ARM為代表的高性能單片機的價格逐漸下降,以及對FreeInformationOS的改進,嵌入式系統(tǒng)已逐漸成為ATS的主流。同時,伴隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,以太網(wǎng)技術(shù)以其較高的傳輸速率、完善的通訊協(xié)議和高度的信息共享性,得到了廣泛的應(yīng)用,在嵌入式設(shè)備中也得到了廣泛的應(yīng)用。從這一點可以看出,將嵌入式技術(shù)和互聯(lián)網(wǎng)通信技術(shù)相結(jié)合的自動抄表系統(tǒng)將會變得更為準確、實用,并且擁有廣泛的市場前景。系統(tǒng)的硬件實現(xiàn)系統(tǒng)硬件設(shè)計概述在這一章中,我們將重點描述該系統(tǒng)的硬件設(shè)計和具體實施。(1)一個資料收集終端機在該系統(tǒng)中,由于每個家庭都要設(shè)置一個數(shù)據(jù)采集終端,作為整個系統(tǒng)的一個重要執(zhí)行部件,其主要由單片機,監(jiān)控電路,ISP下載調(diào)試接口,電源模塊,光電隔離電路,數(shù)據(jù)存儲電路,數(shù)據(jù)顯示電路,時鐘電路,RS485通信接口電路組成。同時,針對該系統(tǒng)的軟件調(diào)試問題,在控制面板上還進行了一種串行通訊的方式,為PC和MCU之間進行串行通訊的調(diào)試創(chuàng)造了良好的條件。(2)ARMCentralControl采用周立功公司的EasyARM2200研發(fā)板作為硬件研發(fā)平臺,在此基礎(chǔ)上,對其進行了最大限度地發(fā)揮了核心的控制功能,并對RS485通訊接口電路進行了詳細的設(shè)計,著重對其進行了詳細的闡述。數(shù)據(jù)采集終端的硬件設(shè)計在自動抄表系統(tǒng)中,數(shù)據(jù)采集終端電路是最重要的執(zhí)行器,它的作用是對信號進行采集、存儲、傳輸和顯示,同時還涉及到對MCU程序進行ISP下載調(diào)試和串口通信等。該資料收集終端機的線路包括下列組件:1.MCU和周邊的時鐘電路2.供電組件3.一種用于光、電、絕緣的數(shù)據(jù)獲取裝置4.監(jiān)視線路模組5.一種時鐘晶片模組6.一種外置內(nèi)存模組7.發(fā)光二極管數(shù)字顯示器模組8.互聯(lián)網(wǎng)服務(wù)提供商下載模塊9.一種(RS232、RS485)的數(shù)據(jù)通訊組件電源模塊設(shè)計電源模塊設(shè)計規(guī)劃電源模塊對整個數(shù)據(jù)采集終端進行供電,這樣可以降低系統(tǒng)的復(fù)雜程度。根據(jù)目前使用的數(shù)據(jù)采集終端均選擇5V電源電壓作為電源。功率模組第一次經(jīng)過功率調(diào)整器可以將220V交流電轉(zhuǎn)換為12V直流電,并且還可以增設(shè)一個12V的備用儲電在斷電時,可以作為備用電源,確保系統(tǒng)的正常運行。再用電壓調(diào)整和穩(wěn)定鐵心該芯片將12V電壓轉(zhuǎn)化為5V電壓,為各個芯片提供電源。5伏電壓電源壓力的使用方法是:-MCU工作電壓;監(jiān)控芯片MAX813的運行電壓;提供電源電壓的光耦合裝置TLP521-4;-一個LS373的電源電壓的鎖定裝置74LS373;電源電壓為DS1302的時鐘晶片;FM24C64的電源電壓為鐵電記憶體晶片;-提供電源電壓的MAX232通訊芯片;●MAX485電源電壓的RS485變換芯片;數(shù)字晶體管共陽極驅(qū)動;電路板上的工作顯示驅(qū)動電壓;程序電壓的在線下載;電源芯片選擇在單片機中,為了保證單片機的正常工作,必須有一個穩(wěn)定的工作電壓。而設(shè)計人員通常會使用線性穩(wěn)壓器件(例如78xx系列三端穩(wěn)壓器件)來將較高的直流電壓轉(zhuǎn)化為MCU所需的工作電壓。該直線穩(wěn)壓器采用直線調(diào)節(jié)的運行模式,運行時會出現(xiàn)很大的“熱損失”,且運行效率只有30%-40%。同時,切換功率調(diào)整裝置在全接通或全斷開狀態(tài)下工作。這樣,在運行過程中,要么是在低導(dǎo)通電壓開關(guān)管中有較大的電流經(jīng)過,要么是在完全斷開狀態(tài)下沒有任何電流經(jīng)過,這樣就使得功率消耗非常小,平均功率可以達到70%-90%。由于在同樣的壓差下,由于與傳統(tǒng)的直線型穩(wěn)壓器比較,切換式穩(wěn)壓器的“熱損失”較小,因而可以極大地縮小散熱器的尺寸,減小PCB的占地面積,降低對單片機工作環(huán)境的不利影響。LM2576系列是當前較為常見的切換穩(wěn)定芯片,其工作性能可靠,工作效率高,對輸出電流的驅(qū)動能力強,為單片機穩(wěn)定可靠的工作提供了有力保障。LM2576有好幾個系列,在這篇文章中,選擇了一個輸出可調(diào)系列的LM2576ADJ來作為數(shù)據(jù)采集終端的電源,這個芯片是一個降壓式開關(guān)電壓調(diào)整器,它的電壓的輸入范圍是:10V-40V,選擇了12V(由220V轉(zhuǎn)12V交直流變壓器得到)的輸入,并且可以進行調(diào)整。具有以下特定特征的LM2576ADJ:●在1.23到37V之間可以調(diào)節(jié)輸出電壓,對負荷電壓的最大允許誤差是4%●擁有完備的限流、熱關(guān)閉等保護線路一個單一芯片,它可以為一個降壓型切換電壓調(diào)節(jié)器提供所有的有效功能。具有3安培的能力,具有優(yōu)良的電壓調(diào)整率和電流調(diào)整率。內(nèi)部帶有一個具有52kHz的固定頻率的振動裝置,以及所需的外部部分。元件非常小,易于操作。高轉(zhuǎn)化效率、低“熱損失”、極低的散熱面積、可節(jié)約線路板面積?!衿涓哳l通斷特征和采用串聯(lián)濾波器電感,可有效地壓制電源的高頻干擾。采用市場上常見的電感,可大大簡化開關(guān)式供電裝置的設(shè)計。監(jiān)控電路模塊設(shè)計為增強系統(tǒng)的可靠性和穩(wěn)定性,避免單片機因為受到電磁干擾或電壓、溫度波動等突發(fā)事件的干擾,導(dǎo)致程序飛逸或死機,而不能進行正常的控制,本系統(tǒng)在單片機上安裝了看門狗監(jiān)控電路。針對AT89S52單片機要求高電平重置的特點,選用美國MAXIM公司生產(chǎn)的MAX813作為監(jiān)視控制模塊,實現(xiàn)了監(jiān)視控制功能。時鐘電路模塊設(shè)計在該自動抄表系統(tǒng)中,為了實現(xiàn)對電表的分時計費,數(shù)據(jù)采集終端需要對數(shù)據(jù)進行定時存儲,并保存時間信息,因此,需要對其進行實時時鐘電路的設(shè)計,以實現(xiàn)對時間日期信息的讀取、保存和設(shè)置。目前常用的時鐘電路的設(shè)計方式有兩種,一種是內(nèi)、另一種:1)內(nèi)置時鐘:在不增加任何外界器件的情況下,采用CPU的內(nèi)置計時器做時鐘參考,并在CPU的內(nèi)置接口上進行程序設(shè)計,以達到即時時鐘的目的。該方案簡單、經(jīng)濟,但是由于受到CPU晶振及其連接的電容的影響,使得時鐘的定時準確率不高,且存在著累計誤差。2)外部專用的實時性時鐘:是一種能在不依賴CPU的情況下進行工作、不依賴CPU晶體振蕩且定時準確的專用IC。該芯片還具備了在主電源掉電時的時鐘保護電路以及備用電源自動開關(guān)控制電路,能夠確保在主電源掉電時,系統(tǒng)時鐘的計時精度。在該系統(tǒng)中,采用了一定容量的靜態(tài)隨機存取存儲器,并具有掉電保護功能,可以對某些重要的信息進行存儲。在電能表分時收費過程中,實時時鐘的精度是一個非常關(guān)鍵的因素,為確保該系統(tǒng)的精度,該系統(tǒng)選擇了外部的專用實時時鐘來構(gòu)造該系統(tǒng)的時鐘模塊。采用美國Dallas公司的一款實時時鐘芯片DS1302,該芯片與MCU采用了一種簡易的同步串行模式來實現(xiàn)與MCU的通訊。數(shù)據(jù)存儲模塊設(shè)計該系統(tǒng)的三個表格的數(shù)據(jù)收集終端都要單獨收集并保存,在進行統(tǒng)一抄表命令的時候,采用RS485總線上的方式,把各個終端的數(shù)據(jù)傳遞給中央控制器。因此,在數(shù)據(jù)采集終端的工作過程中,它的存儲數(shù)量相對較大,并且有較多的擦寫次數(shù),并且對數(shù)據(jù)的存儲的安全期有一定的要求,這就需要在單片機的周邊擴展一個高性能的存儲器目前,半導(dǎo)體存儲器主要分為可變存儲器和非可變存儲器兩大類。目前常用的SRAM或DRAM都無法在沒有供電的條件下存儲信息,但是該內(nèi)存具有高性能,使用方便等特點。非揮發(fā)性內(nèi)存有EPROM,EEPROM,FLASH三種,它們在掉電源后仍能保持資料,但是它們也有一些不足之處,如寫速度慢,讀寫次數(shù)少,寫時消耗很大。值得高興的是,最近幾年,RAMTRON公司研發(fā)出了一種新型的FRAM存貯器,它的核心技術(shù)是鐵電水晶材料,具有隨機存取存儲體和非揮發(fā)性存貯產(chǎn)品的特征。在擦寫次數(shù)和速度上具有優(yōu)異的性能,可以在極短的時間里存儲大量數(shù)據(jù),解決了儀器在突然斷電時數(shù)據(jù)及時、安全貯存的問題,因此,本系統(tǒng)使用了該公司的串行I2C接口芯片(FM24系列)作為單片機的外部存儲器。自動抄表系統(tǒng)的軟件設(shè)計在這一章里,我們將重點討論整個系統(tǒng)的軟件設(shè)計,其中的軟件設(shè)計,RS485通訊協(xié)議的設(shè)計,以及中央控制器的設(shè)計。以下是關(guān)于這三個方面的簡單描述:數(shù)據(jù)采集終端的軟件是在單片機基礎(chǔ)上進行的,要想達到模塊化的目的,就必須把它分成脈沖采集模塊、時間電路模塊、鐵電存儲模塊、LED數(shù)據(jù)顯示模塊、RS485通信模塊,再對整個終端的軟件流程進行設(shè)計,并對各個軟件模塊進行調(diào)用。本文主要介紹了RS485通信協(xié)議的設(shè)計,以及基于RS的ARM中央控制器與MCU的數(shù)據(jù)采集終端之間的通信的軟件設(shè)計。中央控制器的軟件設(shè)計,這一部分的軟件設(shè)計包含了以下內(nèi)容:建立μC/OS-II開發(fā)環(huán)境,創(chuàng)建與數(shù)據(jù)采集終端的RS485通信任務(wù),創(chuàng)建與物業(yè)公司的計算機的網(wǎng)絡(luò)通信任務(wù)等。數(shù)據(jù)采集終端軟件設(shè)計該系統(tǒng)的工作包括:對三個表格中的信號進行實時的信號處理;三個表格在各時間節(jié)點上的實時數(shù)據(jù)存儲;發(fā)光二極管在每個月的三個表格中,將每個月的數(shù)字及時地呈現(xiàn)出來(要求發(fā)光二極管在每個月的第一天將發(fā)光二極管的顯示器調(diào)為0);通過RS485與中央控制器通訊。因為采用RS485總線接口,因此本部分將對此進行說明。程序模塊的劃分該系統(tǒng)的軟件部分按規(guī)范的模塊化結(jié)構(gòu)進行編寫,各模塊分別起到各自的作用。而每一個單元也可以分為幾個子單元,其中大部分都是函數(shù)形式,具有一個函數(shù)形式。各模塊通過單獨的文檔來實現(xiàn)相互分離,同時通過文檔中的文檔來實現(xiàn)連接。采用這種方法,可以提高系統(tǒng)的普適性,使系統(tǒng)的構(gòu)造更加清楚、易讀性更好,而且便于后續(xù)的編程更新。根據(jù)其主要功能,將該數(shù)據(jù)收集終端機的整體軟件系統(tǒng)分為如下幾個主要的模塊:●宏定義器:對在編程過程中所用到的一些常數(shù)進行宏定義,以便日后進行調(diào)整,比如:系統(tǒng)時鐘頻率,波特率,存儲周期的設(shè)置,分時電能表時的峰-谷劃分,LED字形的編碼器等等。變數(shù)模組:設(shè)定程式所需變數(shù)之種類,并設(shè)定其儲存位置。●初始化模組:初始化模組負責(zé)對微處理器及外圍設(shè)備進行配置,其中包含設(shè)定系統(tǒng)時鐘、設(shè)定端口的輸入輸出、設(shè)定定時器的工作模式、設(shè)定串口的初始化模組。主要功能包括:啟動、調(diào)試、調(diào)試、調(diào)試等。本論文首先介紹了一種對LED燈進行自動測試的方法,并對LED燈進行了自動測試。脈沖數(shù)據(jù)收集:該系統(tǒng)的工作是對三通道數(shù)據(jù)進行收集,包括對三通道數(shù)據(jù)進行過濾。這個模塊是在一個計時器計時1毫秒的中斷中被調(diào)用的。時鐘電路:實現(xiàn)了對時鐘的初始化,讀寫,定時設(shè)定,定時讀取。鐵電儲存模組:包括FM24C64的初始化、FM24C64的讀取與寫入程式,以實現(xiàn)自動化抄表系統(tǒng)中的資料的儲存。LED數(shù)字顯示部分:對三個表格的數(shù)字進行實時的顯示。在此過程中,我們使用了一個動態(tài)的顯示模式,這個模式是在一個1毫秒的時間內(nèi)被調(diào)用的?!裰袛嗵幚砟K:大部分工作的執(zhí)行過程都是在中斷中進行的,中斷處理程序主要由以下部分組成:串口的接受和發(fā)送中斷處理,定時器對1ms的中斷進行定時。RS485通信模塊:在RS485總線上實現(xiàn)設(shè)備地址的識別,數(shù)據(jù)的發(fā)送和接收。軟件整體流程設(shè)計如圖3.1所示,它顯示的是數(shù)據(jù)采集終端的整個軟件流程圖。第一步,系統(tǒng)初始化,運行自檢程序,主程序會負責(zé)讀取時鐘芯片時間,判斷是否到達整點。如果沒有到整點,那么就會重復(fù)讀取時間,直到出現(xiàn)中斷。若達到整點值,將三表值資料存入鐵電存貯器。然后,對是否已經(jīng)到了月初(也就是每個月的第1日0點)進行判定,如果是月初,那么將LED顯示清零,如果不是月初,那么就會直接跳過LED清零,然后回到一個周期,進行對時間的讀取,然后等待中斷出現(xiàn)。該編程還包括兩種中斷:1毫秒定時的中斷,1毫秒的串行通訊中斷。三個通道的脈沖信號的收集都是通過定時中斷來進行的,因此,為保證對三個通道的脈沖信號的收集,我們將定時中斷設(shè)置為比串行中斷更高的優(yōu)先權(quán)。當計時器出現(xiàn)了一個中斷,那么它就會首先執(zhí)行一個定時器中斷程序,這個中斷程序的重點是:三表脈沖數(shù)據(jù)的采集模塊(包含了軟件濾波)和LED的動態(tài)顯示模塊,當中斷完成之后,它就會回到主程序。如果出現(xiàn)了串口中斷,那么就會執(zhí)行串口中斷子程序,通過RS485通信模塊來完成數(shù)據(jù)采集終端和中央控制器之間的RS485通信。圖3.1數(shù)據(jù)采集終端軟件流程圖小節(jié)3.2將會對RS485通信的特定過程進行更多的描述,并將在此討論1毫秒計時器的特殊工作。在定時器1ms的中斷期間,先對三個脈沖數(shù)據(jù)的輸入端進行單獨的檢測,并對它們的電平進行判定,如果出現(xiàn)了一個增長邊緣,那么就表明存在一個脈沖,并對其進行對應(yīng)的計數(shù);這個脈寬在存在一個下降邊緣時被計算出來。如果三個表格的標準脈寬是80毫秒(偏差±20%),那么,一般的脈寬是64毫秒至96毫秒,超過這個距離的便是干擾[31]。用數(shù)字濾波器消除了由于窄脈寬信號的影響而造成的對脈沖數(shù)目的錯誤估計。除此之外,在每一次定時器中斷中,對一個LED數(shù)碼管進行選通,并將其進行顯示,然后利用中斷來對四個LED管的數(shù)據(jù)進行依次進行顯示,因為中斷時間相對較短,也就是動態(tài)顯示的刷新率很高,因此,數(shù)據(jù)的顯示也相對穩(wěn)定。RS485通訊協(xié)議設(shè)計及通訊軟件流程設(shè)計RS485通信協(xié)議設(shè)計在RS-485通信中,首先要明確RS-485通信的通信協(xié)議,其次要明確RS-485通信的框架結(jié)構(gòu)。在本系統(tǒng)中,數(shù)據(jù)幀的構(gòu)建方式如下:幀頭、地址、類型、數(shù)據(jù)長度,數(shù)據(jù),校驗和及結(jié)束幀,除了數(shù)據(jù)幀為N字節(jié)之外,其他都占據(jù)1個字節(jié)。開始單詞用0x24的數(shù)字“$”來確定,結(jié)尾單詞用0x2A的數(shù)字“*”來確定。該方案以中央控制單元為主要工作單元,以RS485總線為主要工作單元,以數(shù)據(jù)采集單元為主要工作單元。一個地址字節(jié)存儲相應(yīng)于一個從器的裝置編號,這個裝置編號是在每個從器(數(shù)據(jù)收集終端)最初進行初始化時設(shè)置的。表3.1幀結(jié)構(gòu)在該系統(tǒng)中,根據(jù)不同的字節(jié),有6種主要的數(shù)據(jù)幀,其中,“ACTIVE”命令被集中控制器發(fā)送到數(shù)據(jù)收集端,“GETDATA”命令被集中控制器發(fā)送到一個抄表要求,“SETTIME”命令被集中控制器發(fā)送到一個校時要求;其中,數(shù)據(jù)采集終端發(fā)出指令“READY”,數(shù)據(jù)采集終端發(fā)出指令“SENDDATA”,數(shù)據(jù)采集終端發(fā)出三個表格的數(shù)據(jù),以及數(shù)據(jù)采集終端發(fā)出的校時回復(fù)指令“GETTIME”?!癝ENDDATA”框是存儲三個表格的真數(shù)據(jù)框,其他5個框是存儲主控向從機發(fā)出的命令字符的指令框。在表格3.2中給出了傳輸裝置類型的字的定義。表3.2類型字定義在使用SENDDATA指示來傳輸資料時,資料的長度被限定為八個字節(jié),資料的格式被表示在表格3.3中。同樣地,中央控制程序也以同樣的形式來接受數(shù)據(jù)。表3.3發(fā)送數(shù)據(jù)格式在確定框架結(jié)構(gòu)之外,對于整體的通訊,還必須遵循下列原則:1)主控詢問模式:每個數(shù)據(jù)收集端子都被中央控制裝置輪番詢問,并且必須提供相應(yīng)的狀況資料,不得由端子提出任何的請求。2)在收到從站返回的“READY”(READY)后,主站將“GETDATA”(GETDATA)和“SETTIME”(SETTIME)兩個命令傳送到從站,使其處于接受狀態(tài),并使超時(超時)控制導(dǎo)通。如果在指定的時間內(nèi)沒有收到從站發(fā)出的正確答復(fù),就會報警給主機,從站發(fā)生故障。3)從站在那里等候主站發(fā)出的命令,然后按照特定的命令執(zhí)行對應(yīng)的動作。若收到的指示訊框有誤,訊框?qū)⒈涣⒓瓷釛墶?.1.1一種基于RS485的通信程序的開發(fā)RS485通訊軟件被劃分成兩部分的通信接口軟件[32],分別是主控機(集中控制器)端和從機端(數(shù)據(jù)采集終端),其流程圖如圖3.2、3.3所示。從這一點來看,這個過程和這個協(xié)議是緊密相連的。就數(shù)據(jù)采集終端來說,其工作全部由中央控制器來控制,并按照中央控制器的抄表來完成相關(guān)的操作。圖3.2數(shù)據(jù)采集終端的RS485通訊流程圖3.3集中控制器的RS485通訊流程集中控制器的軟件設(shè)計中央控制器的軟件必須與EasyARM2200硬件平臺進行配合,才能實現(xiàn)中央控制器在系統(tǒng)中的各項功能。在利用μC/OS-II進行嵌入式應(yīng)用系統(tǒng)開發(fā)時,首先要做的工作就是將μC/OS-II移植到應(yīng)用系統(tǒng)中,使其能在系統(tǒng)所采用的嵌入式微處理器(LPC2220)上運行。μC/OS-Ⅱ操作系統(tǒng)的移植要將一個OS遷移到某個CPU架構(gòu),就要求移植者對該OS的工作機制有相對透徹的理解。1、Muc/OS-II首先,我們來看一看這款Muc/OS-II多任務(wù)實時操作系統(tǒng)所具備的一些基礎(chǔ)特性。在uc/OS-II中,一個含有下列不同的服務(wù)的實時OS核心:1)工作計劃:該模型采用多工作計劃,在準備好的情況下,工作計劃始終按照多工作計劃進行。2)工作調(diào)度:系統(tǒng)最多能調(diào)度64項工作,而且一般情況下,工作調(diào)度為一個無限周期。各任務(wù)只執(zhí)行一個基本的函數(shù),其進度安排全部采用微處理器/OSII進行,并按其重要程度對各任務(wù)進行排序。3)時間管理:系統(tǒng)需要使用者在設(shè)定的時刻,設(shè)定一個被稱作「鐘點」的計時器,使用者可以設(shè)定該計時器的實際頻率,并以此計時器作為計時器的參考。4)工作之間的同步化和通訊:它有信號量,信箱,消息隊列和事件四種不同的同步化目標。5)記憶體管理:將記憶體持續(xù)的記憶體分割成不同的記憶體,藉由記憶體分割的方式,可以很好地處理記憶體的碎裂問題。μC/OS-II的工作流程是:將CPU初始化,再進行OS初始化,主要完成任務(wù)控制塊(TCB)、TCB優(yōu)先級表、TCB鏈表、事件控制塊(ECB)鏈表的初始化以及空任務(wù)的創(chuàng)建等;之后,你可以在新建立的工作中,重新建立新的工作;最終,通過對OSSTART0功能的調(diào)用,來開始多任務(wù)的調(diào)度。2、關(guān)于μC/OSII的移植分析對于Micc/OS-II來說,要進行遷移,最重要的是如何對涉及到處理器種類的部分進行修改,主要有三個方面的問題:1)重新定義數(shù)據(jù)類型。因為字長在各個處理程序中是有差異的,因此您必須對數(shù)據(jù)類型進行重新定義。2)研究了一種系統(tǒng)的層疊結(jié)構(gòu)。3)在任務(wù)轉(zhuǎn)換過程中保持和還原的方法。對于一個多任務(wù)的OS來說,這是一項非常重要且經(jīng)常發(fā)生的工作。任務(wù)轉(zhuǎn)換的正確性是OS最根本的保障,而其轉(zhuǎn)換的正確性又直接影響OS的有效性。要想解決以上三個問題,進行OS的特定移植,就必須對3個文件進行修改,其中包括:OS_CPU.H文件,OS_CPU.C文件和OS_CPU_A.ASM文件。以下是詳細說明:1)C語言的頭部文件(OS_CPU.H)其中,包含了一個由定義定義的參數(shù)和數(shù)據(jù)類型,以及一個由宏定義的切換中斷功能,從而達到掩蔽編譯程序和處理程序的目的;此外,還給出了一個新的策略,并給出了該策略的具體實現(xiàn)。以O(shè)S_STK_GROWTH設(shè)定了一個棧的成長方向,它的數(shù)值0代表了一個棧由一個較小的地址成長到一個較大的地址;l代表了在較高的位置上對較低的位置進行了擴展。因為ADS的C編譯器只支持自上而下的長度,并且需要一個完全的下降的堆棧,因此在進行系統(tǒng)移植時,OS_STK_GROWTH的值被設(shè)置成1。2)C編程源碼文件(OS_CPU.其中,所述的文檔中包含:所述的工作堆疊初始化功能OS_TASK_StkInit(),軟件中斷異常SWIServiceSWI_Exception(),打開中斷功能OS_ENTER_CRITICAL(),關(guān)中中斷功能OS_EXIT_CRITICAL(),和使用者函數(shù)Hook();除此之外,還針對LPC2220核心特性,增加了一些特定函數(shù),比如:處理器系統(tǒng)模式轉(zhuǎn)換函數(shù)ChangeToSYSMode()、用戶模式轉(zhuǎn)換函數(shù)ChangeToUSRMode()等。圖3.4任務(wù)堆棧結(jié)構(gòu)這里,按照任務(wù)的堆疊結(jié)構(gòu)來寫出了任務(wù)堆疊初始化功能OS_TASK_StkInit(),該系統(tǒng)的任務(wù)堆疊結(jié)構(gòu)見圖3.4。在系統(tǒng)中,每個任務(wù)都有自己的堆棧空間,這樣在進行任務(wù)轉(zhuǎn)換時,可以把當前的處理器現(xiàn)場存儲到任務(wù)的堆棧空間,在下一次執(zhí)行時可以重新還原。3)OS_CPU_A.ASM(ElectronicSourceFile)。在OS_CPU_A.ASM中,有4個功能是用C語言寫的:OS_StartHighRdy()、OS-_Ctxsw()、OSIntCtxSw()、OSTickISR()?!裢ㄟ^OSStart()來調(diào)用OS_StartHighRdy(),該()功能是執(zhí)行具有最高優(yōu)先權(quán)的準備任務(wù)。OS_Ctxsw()功能是一種工作級別的switch功能。這個軟件的矢量就是指這個功能。在μC/OS-II中,如果一個任務(wù)呼叫了一個功能,并且這個功能的執(zhí)行結(jié)果有可能導(dǎo)致系統(tǒng)任務(wù)的重新調(diào)度,那么在這個功能的結(jié)尾會呼叫OSSehed(),OSSched()尋找目前準備最高優(yōu)先級的任務(wù)。在不屬于目前的工作的情況下,尋找工作的TCB地址,并將其拷貝到變量OSTcbHigh_Rdy()中,接著利用宏OS_TASK_SW()來進行工作切換,完成工作。在中斷級別的任務(wù)轉(zhuǎn)換中使用了OSIntCtxSw()功能。一個中斷會導(dǎo)致一個任務(wù)切換,在一個中斷服務(wù)程序結(jié)束時,一個OSIntExit()功能將被調(diào)用以查看一個任務(wù)就緒狀況,一個OSIntCtxSw()功能?!馩STickISR()為以對時鐘中斷為主要工作的中斷處理功能。當有一個高優(yōu)先級的任務(wù)在等待一個時鐘信號時,對該()功能進行了調(diào)用,該()功能要求在一個中斷層上對該()進行調(diào)度。除了上面提到的三個要進行修正之外,還有一個標準,那就是以.C作為后綴的文件必須含有.h。集中控制器軟件整體流程中央控制系統(tǒng)要在規(guī)定的時刻,將讀、改時命令從RS485傳輸?shù)礁鹘K端,并依據(jù)各終端發(fā)出的回復(fù)消息,對所得到的數(shù)據(jù)進行判定和接受。中央控制中心還擔(dān)負著與各物業(yè)公司各臺電腦之間的通訊。為了達到這個目的,在中央控制器的軟件設(shè)計過程中,在μC/OS-IIOS下,創(chuàng)建了2個用戶任務(wù),它們分別對網(wǎng)絡(luò)通信和RS485通信進行了工作,具體的工作流程如圖3.5所示。圖3.5集中控制器軟件流程在與物業(yè)公司PC機通訊時,PC機必須經(jīng)由網(wǎng)絡(luò)端口將“上報”命令傳給中央控制中心,中央控制中心對此進行處理,并將數(shù)據(jù)傳給PC機,PC機則需經(jīng)由PC機程序?qū)⑵涫盏讲⑦M行統(tǒng)計。網(wǎng)絡(luò)通信軟件設(shè)計1、1、網(wǎng)絡(luò)通訊規(guī)約概述為了能夠在中央控制器與主機間實現(xiàn)信息的互聯(lián)網(wǎng)傳遞,需要在各個設(shè)備間構(gòu)建一個統(tǒng)一的地址模型,這就是TCP/IP(TransportControlProtocol/InternetProtocol)。IP是一套由多個節(jié)點組成的由多個節(jié)點組成的多個節(jié)點組成的多個節(jié)點,以確保在互聯(lián)網(wǎng)上進行信息的正確、迅速地傳遞。TCP/IP一般使用以下四個層次的簡單模式:(1)application層面:一般稱為HTP(HTP)、FTP(FTP)、Telnet(Telnet)等明確界定的對話處理。其中,中央控制單元要將三個表格的信息傳輸?shù)奖镜鼐W(wǎng)絡(luò),而應(yīng)用單元則要對這些信息進行封裝。(2)傳送層:使得網(wǎng)路程式能夠藉由清楚地設(shè)定信道與特定特征來取得資料,例如設(shè)定網(wǎng)路連線的端口號碼等等,執(zhí)行傳送控制協(xié)定TCP與使用者資料協(xié)定UDP。該系統(tǒng)采用的是UDP的用戶報文通訊方式。(3)網(wǎng)層:使消息能夠被傳輸給鄰近的TCP/IP網(wǎng)中的任何一臺計算機,在這一層傳輸數(shù)據(jù)的方式就是IP協(xié)議。此外,在數(shù)據(jù)鏈路上,還必須使用ARP地址分析協(xié)定來完成IP和實體的映射。(4)鏈接層:它是指在相同的實體網(wǎng)上,用來進行各種設(shè)備之間的信息傳輸?shù)幕緟f(xié)議,此部分是用ARM微處理器的控制器網(wǎng)卡晶片RTL8019AS來完成的。2、網(wǎng)絡(luò)通訊系統(tǒng)的軟硬件實現(xiàn)具體情況如下圖3.6所示,這是與網(wǎng)絡(luò)通信軟件模塊之間的關(guān)系。在本系統(tǒng)中,μC/OS-II操作系統(tǒng)主要對協(xié)議的網(wǎng)絡(luò)層和傳輸層進行了處理,而鏈路層的部分則是由RTL8019AS來完成的。圖3.6網(wǎng)絡(luò)通信軟件模塊關(guān)系在圖3.7中,可以看到網(wǎng)絡(luò)通信部分的具體軟件流程。監(jiān)聽有沒有數(shù)據(jù),如果有,就分析幀頭部,這個流程包括ARP的地址分析和IP的類型分析。在此基礎(chǔ)上,提出了一種基于網(wǎng)絡(luò)的實時監(jiān)控系統(tǒng),并利用該系統(tǒng)對網(wǎng)絡(luò)進行實時監(jiān)控的方法。圖3.7網(wǎng)絡(luò)通信軟件流程圖另外,為了完成中央控制系統(tǒng)與各主機間的信息交換,還必須編制相應(yīng)的PC機編程。當你在上面的應(yīng)用程序的時候,你可以在VC里用一個普通的SOCKET功能來完成這個功能。總結(jié)與展望一、本論文所做的工作內(nèi)

溫馨提示

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

評論

0/150

提交評論