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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 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. 人人文庫網(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)論