久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

基于以太網的嵌入式自動抄表系統

所屬欄目:計算機應用論文 發布日期:2010-09-16 16:40 熱度:

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

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

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

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

文章標題:基于以太網的嵌入式自動抄表系統

轉載請注明來自:http://www.56st48f.cn/fblw/dianxin/yingyong/4187.html

相關問題解答

SCI服務

搜論文知識網 冀ICP備15021333號-3

主站蜘蛛池模板: 亚洲精品视频二区 | 精品一区av | 91在线视频一区 | 久久一级大片 | 91在线免费视频 | 91看片网| 久久久久久综合 | 狠狠插天天干 | 成人精品一区二区 | 天天射中文 | 日本精品一区二区三区在线观看视频 | 超碰av免费| 国产成人一区二区三区久久久 | 国产精品国产三级国产aⅴ无密码 | 国产激情视频在线观看 | 一区二区国产在线 | 超级乱淫av片免费播放 | 天天爱天天操 | 成人国产精品入口免费视频 | 九九久久久| 国产一区日韩在线 | 91国产精品 | 久久成人免费 | 欧洲亚洲精品久久久久 | 久久99一区二区 | 成人精品一区 | 欧美一区二区三区在线 | 欧美一区二区三区 | 成人在线视频一区 | 91精品国产色综合久久 | 九一视频在线播放 | 国产日韩欧美中文字幕 | 免费成人在线网站 | 亚洲欧美一区二区三区1000 | 中文字幕av网站 | 欧洲色| 麻豆国产精品777777在线 | 日韩精品久久久 | 日批免费看 | 国产精品入口久久 | 久草资源在线视频 |