久久色av_国产特级毛片aaaaaa毛片_成人一级黄色大片_操她视频网站_亚洲毛片_91精品国产日韩91久久久久久

基于以太網(wǎng)的嵌入式自動抄表系統(tǒng)

所屬欄目:計(jì)算機(jī)應(yīng)用論文 發(fā)布日期:2010-09-16 16:40 熱度:

  【摘要】:本文設(shè)計(jì)了基于嵌入式系統(tǒng)的網(wǎng)絡(luò)化自動抄表系統(tǒng),并著重闡述系統(tǒng)硬件ATmega128和LAN91C111的特點(diǎn),并在采集器中移植了NUT/OS實(shí)時操作系統(tǒng)和實(shí)現(xiàn)了Tcp/Ip協(xié)議,能夠?qū)崟r地處理多任務(wù),大幅提高系統(tǒng)的管理能力。
【關(guān)鍵詞】:ATmega128,NUT/OS,以太網(wǎng)
1.引言
自動抄表(AutomatieMeterReading,以下簡稱AMR)是指采用電子和計(jì)算機(jī)以及網(wǎng)絡(luò)技術(shù)自動讀取和處理各類表計(jì)數(shù)據(jù)的自動化系統(tǒng)。自動抄表技術(shù)不僅是提高用電管理水平的需要,也是微電子和計(jì)算機(jī)技術(shù)迅速發(fā)展的必然。在用電管理方面,采用自動抄表技術(shù),不僅能節(jié)約人力資源,更重要的是可提高抄表的準(zhǔn)確性,減少因估計(jì)或謄寫而造成帳單出錯,使供用電管理部門能及時準(zhǔn)確獲得數(shù)據(jù)信息。由于電力用戶因此不再需要與抄表者預(yù)約上門抄表時間,還能實(shí)時查詢帳單,故這種技術(shù)越來越受到用戶和電力管理部門歡迎。自動抄表技術(shù)不僅用于電力表的自動抄收,也被廣泛的用在水表、天然氣表和熱氣表的自動抄收上,同樣具有自動化、速度快、準(zhǔn)確度高等優(yōu)點(diǎn)[1]。
本系統(tǒng)集微電子技術(shù),自控技術(shù),通信技術(shù)和網(wǎng)絡(luò)技術(shù)于一體。采用集散結(jié)構(gòu),模塊化設(shè)計(jì),所有主要設(shè)備均帶有微處理器,能獨(dú)立運(yùn)行。采集器與各終端(或智能電表)之間的通信采用RS485總線或電力載波技術(shù),實(shí)現(xiàn)雙向數(shù)據(jù)傳輸。采集器與管理中心計(jì)算機(jī)的通信可通過以太網(wǎng)實(shí)現(xiàn)遠(yuǎn)距離的數(shù)據(jù)通信。獨(dú)特靈活的組網(wǎng)方式,適應(yīng)于各種安裝使用環(huán)境。自動抄表系統(tǒng)結(jié)構(gòu)圖如圖1所示。
表1.jpg
圖1自動抄表系統(tǒng)結(jié)構(gòu)圖
2.硬件結(jié)構(gòu)
本系統(tǒng)基于嵌入式系統(tǒng)設(shè)計(jì)智能數(shù)據(jù)采集器,該數(shù)據(jù)采集及傳輸控制器作為整個系統(tǒng)的核心起到橋梁作用。本系統(tǒng)的硬件采用Ethernut2.1g版本的硬件方案,在此平臺上加入了RS485總線接口,使用Atmel的ATmega128單片機(jī)和SMSC公司的LAN91C111以太網(wǎng)控制芯片,外擴(kuò)一塊32K的SRAM,并提供一個UART接口,一個RJ45以太網(wǎng)接口,并提供一個ISP編程接口。硬件原理圖如圖2所示:

表2.jpg
圖2數(shù)據(jù)采集器硬件原理圖
在圖2中,數(shù)據(jù)線和地址線采取總線方式:8位數(shù)據(jù)線和16位地址線,PA口8位端口為復(fù)用AD端口,接地址鎖存器74HC573D,PC口的8位端口用于地址線的高8位(A8~A15)。PD2,PD3通過MAX485接口,F(xiàn)場總線的信號通過ATmega128接收信號再通過LAN91C111與以太網(wǎng)進(jìn)行相連。圖中的HR601681是針對10M/100M以太網(wǎng)的變壓濾波器。
2.1主控制模塊芯片ATmega128
主控芯片ATmega128是一款低功耗CMOS8位單片機(jī),最快頻率可達(dá)16MHz,其具有128K字節(jié)內(nèi)置Flash程序存儲器,4K字節(jié)EEPROM,4K字節(jié)SRAM,32個8位通用工作寄存器,53個通用I/O口,兩個USART口,一個I2C總線接口,一個標(biāo)準(zhǔn)的JTAG接口(用于在線仿真調(diào)試和程序下載),4個有比較模式和PWM模式的定時器/計(jì)數(shù)器,一個帶內(nèi)部振蕩器的可編程看門狗定時器,一個8通道10位具有可選增益差分輸入的A/D轉(zhuǎn)換器,一個SPI口,6種可通過軟件選擇的節(jié)電模式[2]。
ATmega128的片內(nèi)Flash程序存儲器可以存放通過SPI串行接口、通用編程器或通過JTAG接口燒寫的程序。自引導(dǎo)BOOT程序可以用任意的接口下載到應(yīng)用Flash程序存儲器中。當(dāng)應(yīng)用程序區(qū)被更新時BOOT區(qū)的軟件將繼續(xù)運(yùn)行,實(shí)現(xiàn)同時可讀/寫的功能。增強(qiáng)RISC的8位CPU與在系統(tǒng)編程和在應(yīng)用編程的Flash存儲器集成在一個芯片內(nèi),使ATmega128成為功能強(qiáng)大的單片機(jī),當(dāng)運(yùn)行Nut/OS嵌入式實(shí)時操作系統(tǒng)時(占用大約20K空間),還有100KB左右的空間,可以滿足大多數(shù)應(yīng)用程序的程序存儲器需要,用戶可以在此基礎(chǔ)上編寫自己的嵌入式控制應(yīng)用程序。
2.2以太網(wǎng)接口設(shè)計(jì)
網(wǎng)絡(luò)接口模塊中,選用的是SMSC公司為嵌入式應(yīng)用系統(tǒng)推出的第三代快速以太網(wǎng)控制器。LAN91C111的芯片上集成了遵循SMSC/CD協(xié)議的MAC(媒體層)和PHY(物理層),符合IEEE802.3/802.U-100Base-Tx/10Base-T規(guī)范。
LAN91C111芯片功能模塊包括[3]:
(1)CSMA/CD收發(fā)分離的邏輯塊,完成載波偵聽多路訪問/沖突檢測功能。
(2)MAC模塊依據(jù)CSMA/CD模塊的狀態(tài)對數(shù)據(jù)包進(jìn)行訪問,該模塊一邊與CSMA/CD模塊的收發(fā)FIFO接口,另一邊與仲裁器模塊接口。
(3)仲裁器模塊Arbiter,在BIU和DMA訪問內(nèi)部RAM的請求之間進(jìn)行仲裁。
(4)總線接口單元模塊BIU支持同步或異步的總線接口。
(5)內(nèi)存管理單元模塊MMU,用來分配內(nèi)存和收發(fā)包隊(duì)列。
LAN91C111為全雙工、收發(fā),支持交換式以太網(wǎng),提前發(fā)送和接收功能;支持突發(fā)數(shù)據(jù)傳輸;通信速率可選,自動偵測10M和100M;增強(qiáng)的功率管理。該以太網(wǎng)控制器所遵循的標(biāo)準(zhǔn)與協(xié)議為IEEE802.3以太網(wǎng)傳輸協(xié)議。8位~32位數(shù)據(jù)總線接口單元由控制總線、地址總線和數(shù)據(jù)總線與外部的CPU控制芯片相連。外部數(shù)據(jù)可以8位、16位或32位方式與LAN91C111進(jìn)行交換。該單元還集成了EEPROM接口,所有內(nèi)部寄存器的初始值可先放在EEPROM中,自舉時通過EEPROM接口輸入芯片中,實(shí)現(xiàn)自動初始化。總線仲裁器監(jiān)視以太網(wǎng)總線的數(shù)據(jù)交流情況,一旦發(fā)生阻塞,一方面通過總線接口單元與外部CPU聯(lián)系,另一方面控制MMU(內(nèi)存管理單元)實(shí)現(xiàn)總線數(shù)據(jù)協(xié)調(diào)。MMU控制8KBSRAM的存儲情況,實(shí)現(xiàn)與DMA控制器之間的數(shù)據(jù)聯(lián)絡(luò)。DMA控制器與總線控制器一起控制數(shù)據(jù)在DMA與EPH(以太網(wǎng)協(xié)議處理器)之間的交換。從EPH出來的數(shù)據(jù)最終經(jīng)過10M/100M的PHY直接接到以太網(wǎng)總線上。LAN91C111使用引腳TPIN+,TPIN-,TPOUT+和TPOUT-連接耦合隔離變壓器HR601681,利用RJ-45插頭實(shí)現(xiàn)與以太網(wǎng)的連接。數(shù)據(jù)線和地址線均采用總線方式:8位數(shù)據(jù)線和16位地址線,PA口的8位端口為復(fù)用的低8位地址線/8位數(shù)據(jù)線AD端口,接地址鎖存器74HC573。讀數(shù)據(jù)時,D:[0:7]直接送到ATmega128;寫數(shù)據(jù)時,D:[0:7]送到LAN91C111。LANC91C111使用了四條地址線A1,A2,A3,A4來訪問內(nèi)部寄存器,和IS62C256的地址進(jìn)行區(qū)分;LAN91C111端數(shù)據(jù)總線D0~D15與ATmega128的AD0~AD7及IS62C256的I/00~I(xiàn)/O7相連(PA口擴(kuò)展外部數(shù)據(jù)存儲器SRAM),D16~D32懸空;片選信號AEN接與非門SN54HC00的6腳,由地址線A14、A15控制。nBE0接SN54HC00的9、10端和A0,nBE1接SN54HC00的8腳,nBE2和nBE3通過上拉電阻接VCC。LAN91C111的ENEEP腳沒有接EEPROM,所以通過電阻接地。RBIAS腳接11K電阻再接地,以便PHY能正確接收數(shù)據(jù)。LAN91C111的RESET腳接ATmega128的PE7(外部中斷7),中斷輸出信號INTR0接PE2口(USART外部時鐘輸入/輸出口),兩元件的/RD、/WR相連。nSRDY、nDATA、nVLBUS工作在32位數(shù)據(jù)傳輸?shù)姆绞较,不用懸空。nADS是地址鎖存信號接地。
3.軟件設(shè)計(jì)
Ethernut是一個開放源代碼的基于8位單片機(jī)的嵌入式以太網(wǎng)解決方案,Ethernut在軟件上包含一個NUT/OS實(shí)時操作系統(tǒng)和Nut/Net協(xié)議棧,除了非常少量與硬件相關(guān)的源代碼使用匯編語言編寫外,剩下的都是使用C語言編寫的,具有很高的可移植性。Ethernut的總體結(jié)構(gòu)圖如圖3所示。它的各個模塊是獨(dú)立開發(fā)的,為用戶提供標(biāo)準(zhǔn)AVR-GCC和ICCAVR語言可調(diào)用的API函數(shù)。系統(tǒng)內(nèi)核占用的程序空間大約是1.5KB,它是直接運(yùn)行在設(shè)備驅(qū)動程序之上的系統(tǒng)核心軟件,主要完成任務(wù)管理、任務(wù)的同步與通信。網(wǎng)絡(luò)管理、文件系統(tǒng)和I/O管理是運(yùn)行于系統(tǒng)內(nèi)核之上的外圍模塊。
表3.jpg
圖3Ethernut的總體結(jié)構(gòu)圖
3.1操作系統(tǒng)移植
嵌入式操作系統(tǒng)的移植就是使一個實(shí)時內(nèi)核能在微處理器或微控制器上運(yùn)行,本系統(tǒng)是在ATmega128中移植了開源的操作系統(tǒng)Nut/OS。
Nut/OS可以分成下面幾個相對獨(dú)立的部分:
.定時器管理(TimerManagement)
.堆棧管理(HeapManagement)
.I/O管理(I/OManagement)
.事件管理(EventManagement)
.系統(tǒng)初始化(SystemInitialization)
.信號量(Semaphore)
.互斥體(RecursiveMutex)
.內(nèi)存塊管理(BankedMemoryManagement)
.線程管理(ThreadManagement)
通過系統(tǒng)提供的函數(shù)來進(jìn)行系統(tǒng)調(diào)用,實(shí)現(xiàn)用戶程序功能。從上面也可以看出在這樣的操作系統(tǒng)上編程還是緊靠內(nèi)核的,為了不影響軟件的執(zhí)行效率,沒有再增加一層軟件抽象。
3.2TCP/IP主要協(xié)議實(shí)現(xiàn)
由于Ethernut的Nut/Net協(xié)議棧為精簡的TCP/IP協(xié)議棧,它對TCP/IP協(xié)議并不完全支持,僅保留了核心部分,它可以很方便地嵌入到8位MCU中,且盡量少占用MCU資源。Nut/Net僅支持以太網(wǎng)而不支持令牌網(wǎng)等其他網(wǎng)絡(luò)[4]。
ARP協(xié)議(AddressResolutionProtocol),該協(xié)議的主要功能是為IP地址到對應(yīng)的硬件地址之間提供動態(tài)映射,使網(wǎng)絡(luò)上的每一個主機(jī)都建立一張IP地址和鏈路層地址之間的映射表。實(shí)現(xiàn)函數(shù)主要集中在NutArpInput.c、NutArpOutput.c、NutArpCacheUpdate.c三個文件中。ARP提供了一種把IP地址映射到MAC地址的機(jī)制。使用TCP/IP的編址方法,給每臺機(jī)分配一個32位地址,整個互聯(lián)網(wǎng)表現(xiàn)得如同一個虛擬網(wǎng),只使用分配的地址來發(fā)送接收分組,但當(dāng)主機(jī)路由器要在一個物理網(wǎng)絡(luò)上發(fā)送分組時,得把IP地址映射到正確的物理地址上才能完成分組投遞,它使用了動態(tài)綁定技術(shù)來完成地址的轉(zhuǎn)換,為減少通信量,使用緩存機(jī)制來保存近期的活動連接,從而加快操作時間。從功能上看,ARP被分成兩部分:一是在發(fā)送分組時把一個IP地址映射到一個物理地址上,二是回答其它主機(jī)的請求。主要的實(shí)現(xiàn)函數(shù)有[5]:
voidNutArpInput(NUTDEVICE*dev,NETBUF*nb);
NETBUF*NutArpAllocNetBuf(u_shorttype,u_longip,u_char*mac);
intNutArpOutput(NUTDEVICE*dev,NETBUF*nb)。
對于ARP請求或應(yīng)答操作,以太幀中的幀類型值都是0x0806。ARP分組中的各個字段用來描述硬件類型和協(xié)議類型。硬件類型字段表示硬件地址的類型,值為1表示是以太網(wǎng)地址,協(xié)議類型值為0x0800表示IP地址。對以太網(wǎng)上IP地址的ARP請求或應(yīng)答,硬件地址長度和協(xié)議地址長度分別是6和4,單位是字節(jié)。操作字段類型共有4種,1為ARP請求,2為應(yīng)答,3為RARP請求,4為RARP應(yīng)答。對于一個ARP請求,除目的地址外的所有字段都有填充值。當(dāng)系統(tǒng)收到一個目的端為本機(jī)的ARP請求報文后,就把硬件地址填進(jìn)去,然后將兩個目的端地址分別替換兩個發(fā)送端地址,把操作字段改為2,然后發(fā)送。
IP協(xié)議(InternetProtocol)。該協(xié)議的實(shí)現(xiàn)函數(shù)主要集中在NutIpInput.c、NutIpOutput.c、Route.c三個文件中。IP協(xié)議工作在網(wǎng)絡(luò)層,是TCP/IP協(xié)議棧中最為核心的協(xié)議。所有的TCP、UDP、ICMP數(shù)據(jù)都是以IP數(shù)據(jù)包格式傳輸?shù)。IP提供的是不可靠的、無連接的數(shù)據(jù)包。不可靠是指不能保證IP數(shù)據(jù)報成功到達(dá)目的地,可靠性得由上層協(xié)議來完成。如果有錯誤發(fā)生,IP僅簡單地丟棄該數(shù)據(jù)報,并發(fā)送ICMP數(shù)據(jù)報給發(fā)送者。無連接是指IP不維護(hù)后續(xù)數(shù)據(jù)報的狀態(tài)信息,每個數(shù)據(jù)報的處理是獨(dú)立的,IP可能是亂序地到達(dá)目的地。將IP數(shù)據(jù)發(fā)往一個目標(biāo)主機(jī)和數(shù)據(jù)報轉(zhuǎn)發(fā)其實(shí)是一回事,本IP協(xié)議的實(shí)現(xiàn)提供了IP路由功能,這樣可以很方便地將該協(xié)議用于服務(wù)器或網(wǎng)關(guān)中。由于物理網(wǎng)絡(luò)對數(shù)據(jù)幀的長度有限制,因此IP層在發(fā)送IP數(shù)據(jù)報的時候,都判斷數(shù)據(jù)報的長度是否大于網(wǎng)絡(luò)接口的MTU,超過了就要發(fā)生分片。數(shù)據(jù)報一旦分片后,只有到目的地才進(jìn)行重組。對于本文的系統(tǒng)而言,由于使用的是以太網(wǎng)的物理接口,其MTU=1500B,分片比較單一,重組要考慮打印數(shù)據(jù)的分片,而一般的請求和應(yīng)答可以在一個報文段完成。IP數(shù)據(jù)報的首部提供了分片的有關(guān)信息。主要函數(shù)實(shí)現(xiàn)有:
u_longu_shortNutIpChkSumPartial(u_shortics,CONSTvoid*buf,size_tlen);
voidNutIpInput(NUTDEVICE*dev,NETBUF*nb);
intNutIpOutput(u_charproto,u_longdest,NETBUF*nb);
intNutIpRouteAdd(u_longip,u_longmask,u_longgate,NUTDEVICE*dev);
intNutIpRouteDelAll(NUTDEVICE*dev)。
4.上位機(jī)管理程序
在遠(yuǎn)端控制中心,需要有上位機(jī)管理程序負(fù)責(zé)對數(shù)據(jù)的統(tǒng)計(jì)和管理。設(shè)計(jì)的抄表管理系統(tǒng)運(yùn)行于Windows操作系統(tǒng),使用Delphi編寫,通過ODBC接口與ACCESS數(shù)據(jù)庫系統(tǒng)連接。軟件的功能模塊主要包括以下幾個方面:系統(tǒng)管理包括重新登錄、修改密碼、操作權(quán)限管理等功能;系統(tǒng)設(shè)置包括儀表類型設(shè)置、收費(fèi)參數(shù)設(shè)置等功能;遠(yuǎn)程操作包括讀表、初始化和置數(shù)、撥號催款和關(guān)表等功能:數(shù)據(jù)管理包括儀表信息修改和查詢、歷史收費(fèi)查詢、收費(fèi)、數(shù)據(jù)入庫、用戶的增添、刪除、排序等功能;幫助包括使用指南等功能。
5.結(jié)語
本系統(tǒng)在8位MCU上實(shí)現(xiàn)嵌入式網(wǎng)絡(luò)技術(shù),在保證性能的基礎(chǔ)上嚴(yán)格控制成本,而且還提升了抗干擾的性能,通過合理設(shè)計(jì)通信協(xié)議使得嵌入式網(wǎng)絡(luò)的性能能夠最大的提高,通過TCP/PI協(xié)議及通信網(wǎng)絡(luò)和抄表計(jì)算機(jī)通信,將數(shù)據(jù)采集器所采集的計(jì)量數(shù)據(jù)集中并傳送到抄表計(jì)算機(jī)中,完成遠(yuǎn)程抄表的功能。本系統(tǒng)通過分布廣泛的網(wǎng)絡(luò)來構(gòu)成傳輸通道,這使得它組網(wǎng)簡單、費(fèi)用低廉、易于維護(hù),具有良好的應(yīng)用前景。

參考文獻(xiàn)
[1]譚志強(qiáng),黃懿。自動抄表技術(shù)的發(fā)展[J].電測與儀表,2009.1
[2]ATmega128datasheet,AtmelCorporation,2000
[3]LAN91C111datasheet,SMSCCorporation,2001
[4]項(xiàng)敏,王學(xué)軍。TCP/IP協(xié)議棧在嵌入式芯片上的實(shí)現(xiàn)[J]].電子設(shè)計(jì)應(yīng)用,2004.5
[5]沈文,黃力岱等。AVR單片機(jī)C語言開發(fā)應(yīng)用實(shí)例—TCP/IP篇[M].清華大學(xué)出版社,2005.7

  搜論文知識網(wǎng)致力于為需要刊登論文的人士提供相關(guān)服務(wù),提供迅速快捷的論文發(fā)表、寫作指導(dǎo)等服務(wù)。具體發(fā)表流程為:客戶咨詢→確定合作,客戶支付定金→文章發(fā)送并發(fā)表→客戶接收錄用通知,支付余款→雜志出版并寄送客戶→客戶確認(rèn)收到。鳴網(wǎng)系學(xué)術(shù)網(wǎng)站,對所投稿件無稿酬支付,謝絕非學(xué)術(shù)類稿件的投遞!

文章標(biāo)題:基于以太網(wǎng)的嵌入式自動抄表系統(tǒng)

轉(zhuǎn)載請注明來自:http://m.wangshangbanli.cn/fblw/dianxin/yingyong/4187.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識網(wǎng) 冀ICP備15021333號-3

主站蜘蛛池模板: 精品视频免费看 | 国产成人精品一区二三区2022 | 久久久久久亚洲精品影院 | 成人一a毛片免费视频 | 欧美精品午夜久久久伊人 | 国产有码| 精品亚洲性xxx久久久 | 亲子交尾五十路 | 97成人资源 | 国内精品伊人久久久久妇 | 久久伊人中文字幕 | 国产成人欧美一区二区三区的 | 91精品国产9l久久久久 | 精品一区二区三区在线视频 | 中文字幕第7页 | 亚洲激情在线观看 | 国产第二十页 | 在线99视频 | 久久久国产高清 | 欧美精品一区二区三区在线播放 | 日韩高清dvd | 欧美日韩成人午夜免费 | 在线日韩理论午夜中文电影 | 一区二区三区在线视频观看 | 亚洲国产精品视频 | 日本免费大黄 | 日韩午夜视频在线观看 | 亚洲欧美中文字幕 | 久久久久成人精品一区二区 | 国产精品视频第一区二区三区 | 久久国产综合精品欧美 | 国产日韩高清一区二区三区 | 国产一区二区三区在线视频 | 日韩在线1| 精品久久久久久综合网 | 久久亚洲一区二区 | 欧美性野久久久久久久久 | 欧美日韩啪啪 | 国产嘿咻视频 | 欧美人禽杂交狂配 | 免费黄毛片 |