王雪飛
(新疆職業(yè)大學(xué) 新疆 烏魯木齊830013)
基于單片機(jī)的因特網(wǎng)通信系統(tǒng)設(shè)計(jì)
王雪飛
(新疆職業(yè)大學(xué) 新疆 烏魯木齊830013)
智能家電以及各種智能儀器儀表這種需要與因特網(wǎng)絡(luò)連接的非PC設(shè)備的使用越來越頻繁,而這些設(shè)備主要還是使用的8位處理器,若要使其實(shí)現(xiàn)互聯(lián)網(wǎng)的通信功能,必須拓展其網(wǎng)絡(luò)功能。文中提出基于單片機(jī)的因特網(wǎng)通信系統(tǒng)設(shè)計(jì),選擇八位單片機(jī)與因特網(wǎng)控制芯片構(gòu)成單片機(jī)通信系統(tǒng)。經(jīng)過分析和驗(yàn)證證明,該系統(tǒng)可以實(shí)現(xiàn)對(duì)儀器儀表的遠(yuǎn)程控制,并可對(duì)文字圖像的信息進(jìn)行實(shí)時(shí)傳輸,具有良好的實(shí)用價(jià)值。
TCP/IP協(xié)議;Internet網(wǎng)絡(luò);單片機(jī);web server
基于單片機(jī)的因特網(wǎng)絡(luò)通信,實(shí)際上就是通過傳統(tǒng)網(wǎng)絡(luò)中的TCP/IP協(xié)議將單片機(jī)中的一些應(yīng)用植入到網(wǎng)絡(luò)中,用來實(shí)現(xiàn)信息的交流與傳遞。將單片機(jī)與網(wǎng)絡(luò)有效的聯(lián)系起來,給傳統(tǒng)因特網(wǎng)帶來了新的活力,這也是未來信息化社會(huì)一個(gè)發(fā)展的趨勢(shì)。單片機(jī)與因特網(wǎng)通信最重要的一部分就是將TCP/IP協(xié)議嵌入到電子設(shè)備中[1-2]?,F(xiàn)在的技術(shù)往往是利用專用的接口芯片將單片機(jī)與網(wǎng)關(guān)聯(lián)系起來,使其可以自由進(jìn)行協(xié)議間的轉(zhuǎn)換,網(wǎng)絡(luò)接口芯片就是其傳遞信息的橋梁。每個(gè)芯片在單片機(jī)中都是獨(dú)立存在的,通過輸入與輸出接口將微控制器連接起來。這樣的做的優(yōu)勢(shì)就是單片機(jī)可以通過芯片來接受和發(fā)送由網(wǎng)絡(luò)傳送過來的一系列指令,實(shí)現(xiàn)創(chuàng)統(tǒng)電子設(shè)備的信息化與智能化。但是隨著互聯(lián)網(wǎng)技術(shù)的日漸普及與發(fā)展,對(duì)信息化處理的快捷性與準(zhǔn)確性的要求就變得越來越高,而嵌入式系統(tǒng)是隨著網(wǎng)絡(luò)快速發(fā)展后又一個(gè)科技發(fā)展的大趨勢(shì)。嵌入式技術(shù)的飛速發(fā)展,將為人們對(duì)各種客戶終端設(shè)備的靈活、高效和高性價(jià)比的需要,提供良好的解決方案。在嵌入式系統(tǒng)中,單片機(jī)起著舉足輕重的作用,在現(xiàn)在常用的處理器中,8位的微處理器依靠其穩(wěn)定的性能,成熟的技術(shù)以及相對(duì)比較合理的價(jià)格在處理器的使用和選擇中占有不可動(dòng)搖的地位。如何將單片機(jī)與因特網(wǎng)聯(lián)系起來已經(jīng)成為了目前科技研究者討論的一個(gè)熱門話題。現(xiàn)如今的應(yīng)用,比如在單片機(jī)的基礎(chǔ)上,通過與無線網(wǎng)的連接實(shí)現(xiàn)屏幕的無線化,用于天氣預(yù)報(bào)的報(bào)道,校園通知和信息等的展示等,控制人員可以對(duì)其實(shí)現(xiàn)遠(yuǎn)程精確控制,不必進(jìn)入到現(xiàn)場進(jìn)行操作,實(shí)現(xiàn)了遠(yuǎn)程控制和管理。還有就是可以通過單片機(jī)對(duì)校園進(jìn)行實(shí)時(shí)監(jiān)控。利用校園內(nèi)的攝像頭進(jìn)行信息的采集,單片機(jī)控制數(shù)據(jù)的采集的工作,利用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)及信息的實(shí)時(shí)傳遞,管理者可在計(jì)算機(jī)前對(duì)校園內(nèi)發(fā)生的所有事情做到了如指掌。硬件設(shè)備的共享可以使人力和物力得到大大的解放,這也是目前發(fā)展的一大趨勢(shì)[3-4]。
基于單片機(jī)的網(wǎng)絡(luò)通信,核心就是將原來網(wǎng)絡(luò)中的TCP/ IP協(xié)議在單片機(jī)中進(jìn)行實(shí)現(xiàn)。這里面對(duì)于一些微型的單片機(jī)嵌入式系統(tǒng),由于常規(guī)的TCP/IP協(xié)議自身的復(fù)雜性以及單片機(jī)由于空間問題造成的運(yùn)行能力問題,需要對(duì)單片機(jī)內(nèi)部的使用資源進(jìn)行優(yōu)化,使其可以滿足網(wǎng)絡(luò)傳輸中緩存以及對(duì)數(shù)據(jù)處理的準(zhǔn)確性和時(shí)效性方面的硬性需求。還可以從TCP/ IP協(xié)議自身入手,對(duì)協(xié)議進(jìn)行優(yōu)化和刪減,只留與單片機(jī)有關(guān)的部分,在保證時(shí)效性和安全性的基礎(chǔ)上,進(jìn)行優(yōu)化和改良。所以為了滿足上述條件,在系統(tǒng)的設(shè)計(jì)中加入了實(shí)時(shí)操作系統(tǒng)RTOS(Real Time Operate System)。該嵌入式實(shí)時(shí)操作系統(tǒng)其實(shí)就是指在確定時(shí)間內(nèi)執(zhí)行其功能并對(duì)外部的異步事件做出響應(yīng)的計(jì)算機(jī)系統(tǒng)。該操作系統(tǒng)是獨(dú)立于單片機(jī)系統(tǒng)與網(wǎng)絡(luò)絲獨(dú)立存在的,這么做的好處就是由于單片機(jī)例如8位處理器本身可利用資源就是有限的,再加上TCP/IP協(xié)議自身的復(fù)雜性,若在其中在嵌入操作系統(tǒng),系統(tǒng)自身的穩(wěn)定性與準(zhǔn)確性就無法得到保證[5-6]。所以文中設(shè)計(jì)的獨(dú)立于操作系統(tǒng)的 TCP/IP協(xié)議,完全可以滿足系統(tǒng)的需要。下面對(duì)設(shè)計(jì)的方案原理以優(yōu)勢(shì)進(jìn)行說明,本方案設(shè)計(jì)的初衷就是解決8位單片機(jī)自身存在的資源不夠用的問題,所以對(duì)代碼的要求就是盡量做到簡化。使用獨(dú)立的實(shí)時(shí)操作系統(tǒng),可以使代碼盡可能的簡潔化,節(jié)約了資源。還有就是目前選擇使用的單片機(jī)其自身就有很好的安全和加密措施,在互聯(lián)網(wǎng)充斥著病毒和惡意攻擊的環(huán)境下可以充分保障使用的安全性和可靠性。最后就是由于單片機(jī)自身處理速度的限制,在處理多任務(wù)的進(jìn)程時(shí)可能達(dá)不到預(yù)期的效果,從響應(yīng)時(shí)間和響應(yīng)準(zhǔn)確性上都達(dá)不到要求。本系統(tǒng)使用的是針對(duì)HTTP協(xié)議的任務(wù)處理進(jìn)程,是獨(dú)立于各個(gè)環(huán)節(jié)的獨(dú)立系統(tǒng),所以可以達(dá)到預(yù)期的目標(biāo)[7]。
使用高檔 8位單片機(jī)對(duì)網(wǎng)絡(luò)接口芯片進(jìn)行控制時(shí),單片機(jī)中的微處理器不僅需要實(shí)現(xiàn)TCP/IP和應(yīng)用層協(xié)議,還要對(duì)嵌入式的電子元器件進(jìn)行控制和管理。而互聯(lián)網(wǎng)中的接口芯片自身就可以實(shí)現(xiàn)傳輸層和數(shù)據(jù)鏈路層的協(xié)議,但也要通過RJ45接口與因特網(wǎng)進(jìn)行串口通信。本系統(tǒng)的硬件實(shí)現(xiàn)過程與互聯(lián)網(wǎng)連接實(shí)現(xiàn)數(shù)據(jù)共享和傳輸?shù)脑韴D如圖1所示。網(wǎng)絡(luò)接口中最重要的器件就是以太網(wǎng)控制器,其實(shí)現(xiàn)了嵌入式系統(tǒng)與網(wǎng)絡(luò)的互通功能。以太網(wǎng)控制器一般情況下可以依照其集成度分為兩種,一種是集成了 MAC層和物理層來對(duì)系統(tǒng)的操作和需求進(jìn)行實(shí)現(xiàn)。另一種則僅僅包含物理層接口,通過物理層的接口連接單片機(jī)與網(wǎng)絡(luò)。在具體應(yīng)用時(shí),考慮到設(shè)計(jì)所需的具體時(shí)間以及設(shè)計(jì)的條件和自身的難度情況,一般會(huì)選擇第一種模式,即物理層和鏈路層實(shí)現(xiàn)的以太網(wǎng)控制芯片。系統(tǒng)的接口也分為兩種,分別為集成了ISA總線接口以及集成了PCI總線接口[8-9]。對(duì)于 8位單片機(jī)與Internet網(wǎng)絡(luò)互聯(lián),一般選擇 ISA接口的網(wǎng)絡(luò)芯片,因?yàn)椴捎肞CI接口的網(wǎng)絡(luò)芯片和單片機(jī)的連接相對(duì)復(fù)雜,需要專門的轉(zhuǎn)接芯片。所以經(jīng)過綜合的考慮,選用的是 RTL8019AS以太網(wǎng)控制芯片。RTL8019AS是REALTEK公司生產(chǎn)的高集成度專用以太網(wǎng)接口芯片,支持PNP自動(dòng)探測,內(nèi)嵌 16KB的SRAM,具有全雙工的通信接口,可以通過交換機(jī)在雙絞線上同時(shí)發(fā)送和接收數(shù)據(jù),使傳輸帶寬從10 Mbit/s增加到20 Mbit/s,是用來進(jìn)行以太網(wǎng)通信的理想芯片[10]。
圖1 單片機(jī)與Internet網(wǎng)絡(luò)通信的原理圖
實(shí)現(xiàn)單片機(jī)與Internet網(wǎng)絡(luò)的通信,最只要的步驟就是在單片機(jī)的內(nèi)部完成TCP/IP協(xié)議。根據(jù)OSI傳統(tǒng)的七層模型,傳輸層和應(yīng)用層的協(xié)議是由以太網(wǎng)控制芯片 RTL8019AS來實(shí)現(xiàn)的,包括網(wǎng)絡(luò)傳輸數(shù)據(jù)的分析,解碼,轉(zhuǎn)換,傳輸以及錯(cuò)誤校驗(yàn),MAC地址的轉(zhuǎn)換與解析等。網(wǎng)絡(luò)層則需要實(shí)現(xiàn)的是IP、ICMP協(xié)議的順利完成,在這里ICMP協(xié)議的作用是在測試網(wǎng)絡(luò)連接完成后對(duì)延遲的測試,也就是常說的ping。而IP協(xié)議的作用就是為網(wǎng)絡(luò)層的 UDP和 TCP進(jìn)行協(xié)議的服務(wù)。數(shù)據(jù)鏈路層是由UDP和TCP組成,UDP協(xié)議是用戶自身發(fā)送數(shù)據(jù)的協(xié)議,主要為其上層傳輸層提供無需連接,穩(wěn)定快捷的數(shù)據(jù)傳輸服務(wù)。但在TCP協(xié)議中的傳輸控制協(xié)議,其與用戶自身數(shù)據(jù)協(xié)議相反,其主要工作目的是為上層提供有向連接以及有差錯(cuò)的數(shù)據(jù)信息傳輸服務(wù)。由于本系統(tǒng)主要實(shí)現(xiàn)的是webserver,數(shù)據(jù)需要實(shí)時(shí)性和一定的可靠性來進(jìn)行保障,所以UDP協(xié)議就成為了系統(tǒng)中需要重點(diǎn)實(shí)現(xiàn)的協(xié)議。最后,在系統(tǒng)軟件的具體應(yīng)用上,系統(tǒng)實(shí)現(xiàn)了HTTP與ping協(xié)議。其中ping協(xié)議的命令的作用是確定網(wǎng)絡(luò)是否連通以及穩(wěn)定性是否達(dá)到要求,而HTTP協(xié)議則是本系統(tǒng)的關(guān)鍵,該協(xié)議是實(shí)現(xiàn)webserver應(yīng)用的基礎(chǔ)[11-12]。上文提到過,由于單片機(jī)自身資源的限制,想在單片機(jī)上實(shí)現(xiàn)完整的TCP/IP協(xié)議是打不到的,所以會(huì)選擇將一些用不到的協(xié)議進(jìn)行濾除,以及對(duì)使用的協(xié)議進(jìn)行優(yōu)化和刪減,只保存可以用到的有效部分,具體的實(shí)現(xiàn)過程及原理會(huì)在下一節(jié)中進(jìn)行詳細(xì)的說明。根據(jù)OSI七層參考模型和TCP/IP協(xié)議,系統(tǒng)主要實(shí)現(xiàn)的協(xié)議和相互關(guān)系如圖2所示。
圖2 系統(tǒng)主要實(shí)現(xiàn)的協(xié)議和相互關(guān)系
TCP/IP協(xié)議棧模型及各層相關(guān)協(xié)議的相互關(guān)系如圖3所示。上文提到因?yàn)榍度胧较到y(tǒng)自身的資源可利用能力相對(duì)較少,所以必須要根據(jù)實(shí)際的需求對(duì)協(xié)議自身進(jìn)行適當(dāng)?shù)膭h減以及調(diào)節(jié)。一般來說,對(duì)上述問題進(jìn)行簡化和刪減會(huì)有兩種方案進(jìn)行實(shí)現(xiàn),第一種就是根據(jù)系統(tǒng)自身的需求,利用匯編語言重新對(duì)TCP/IP協(xié)議進(jìn)行編寫,該方案的特點(diǎn)就是對(duì)系統(tǒng)性能實(shí)現(xiàn)的針對(duì)性比較強(qiáng),還有就是由于編寫是依靠匯編語言進(jìn)行的,匯編語言自身的特點(diǎn)就是代碼簡單,執(zhí)行速度快,但是缺點(diǎn)也很明顯,就是其由于代碼過于精簡導(dǎo)致其可讀性較差其移植能力不強(qiáng)。而另一種方案則是利用C語言對(duì)TCP/IP協(xié)議進(jìn)行完整的編寫,在對(duì)完整的方案根據(jù)需求進(jìn)行簡化[14]。為了完成這個(gè)操作,系統(tǒng)選用的是nell公司設(shè)計(jì)只在微小型單片機(jī)上使用的數(shù)碼編譯器。在此編譯器上對(duì)代碼進(jìn)行編寫,雖然在編寫效率上到不到匯編語言的速度,但是經(jīng)過后期調(diào)試后的實(shí)際使用情況來看,對(duì)于單片機(jī)系統(tǒng)來說,完全符合設(shè)計(jì)要求,此外,在代碼的移植能力以及可讀性方面都有了很大的提升。互聯(lián)網(wǎng)中的計(jì)算機(jī),一般來說會(huì)存在兩個(gè)地址,一個(gè)是IP地址另一個(gè)是MAC地址。若兩臺(tái)計(jì)算機(jī)之間相互通信,只需要知道目標(biāo)主機(jī)的 IP地址即可。這正是Internet網(wǎng)絡(luò)的設(shè)計(jì)目標(biāo):將底層信息最大程度的隱藏起來,讓高層程序僅通過IP地址的使用來實(shí)現(xiàn)通信的目的。但是,通信環(huán)節(jié)不可避免的環(huán)節(jié)就是由物理網(wǎng)絡(luò)使用底層網(wǎng)絡(luò)硬件提供的物理編址方案執(zhí)行。因此,在原主機(jī)與目標(biāo)主機(jī)開始聯(lián)絡(luò)會(huì)話前,會(huì)存在一個(gè)IP地址和MAC轉(zhuǎn)換的問題。為了識(shí)別攜帶ARP報(bào)文的幀,發(fā)送方給幀首部的類型字段分配了一個(gè)特殊值,并把ARP報(bào)文放在該幀的數(shù)據(jù)字段中。當(dāng)每一幀到達(dá)計(jì)算機(jī)時(shí),網(wǎng)絡(luò)通信軟件通過幀類型確定其內(nèi)容[15-16]。
圖3 TCP/IP協(xié)議棧模型
文中提出了基于單片機(jī)的因特網(wǎng)通信系統(tǒng)設(shè)計(jì)的一種具體的實(shí)現(xiàn)方案,在選擇了目前比較流行的八位單片機(jī)與以太網(wǎng)控制芯片構(gòu)成網(wǎng)絡(luò)通信系統(tǒng),并避開了微型單片機(jī)自身資源不足的缺陷,在TCP/IP協(xié)議的編寫中進(jìn)行改善,根據(jù)其自身系統(tǒng)的需求以及原理對(duì)不需要的協(xié)議經(jīng)行刪減和替換。
[1]Douglas E.comer.Internetworking with TCP/IP (VOL I~I(xiàn)II)[M].北京:電子工業(yè)出版社,2002.
[2]WRichard stevens.TCP/IP Illstuated(VOL I~I(xiàn)II)[M].北京:機(jī)械工業(yè)出版社,2001.
[3]Heather Osterloh.TCP/IP Primer Plus[M].北京:人民郵電出版社,2002.
[4]Larry L.peterson.Computer Networks,A system Apporach[M].北京:機(jī)械工業(yè)出版社,2005
[5]Andrew S.Tanenbaum.Computer Network[M].北京:清華大學(xué)出版社,2004.
[6]C.L.Stephens.TCP/IP-An Introduction for 8&16 bit Microcnotroller Engineers,2002.
[7]王洪,呂幼新,汪學(xué)剛,劉磊.寬帶數(shù)字接收機(jī)的高效 FPGA設(shè)計(jì)[J].電子科技大學(xué)學(xué)報(bào),2008
[8]趙海.嵌入式 Internet-21世紀(jì)的一場信息技術(shù)革命[M].北京:清華大學(xué)出版社,2001.
[9]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,1997.
[10]徐祥宣.計(jì)算機(jī)算法基礎(chǔ)[M].武昌:華中科技大學(xué)出版社,1998.
[11]楊金巖.8051單片機(jī)數(shù)據(jù)傳輸接口擴(kuò)展技術(shù)與應(yīng)用實(shí)例[M].北京:人民郵電出版社,2005.
[12]求是科技.單片機(jī)通信技術(shù)與工程實(shí)踐[M].北京:人民郵電出版社,2005.
[13]慧民.單片微型計(jì)算機(jī)原理、接口及應(yīng)用[M].北京:人民郵電大學(xué)出版社,2000.
[14]史東海.單片機(jī)數(shù)據(jù)通信技術(shù)從入門到精通[M].西安:西安電子科技大學(xué)出版社,2003.
[15]黃容懷.信息技術(shù)與教育[M].北京:北京師范大學(xué)出版社,2002.
[16]楊牧,劉路路,張明 ,等.基于單片機(jī)的超聲波檢測系統(tǒng)研究[J].電子科技,2013(5):9-12.
The Internet communications system design based on single chip microcomputer
WANG Xue-fei
(Xinjiang Vocational University,Urumchi 830013,China)
Along with the computer,electronic information,the rapid development of multimedia technology,the Internet has become an indispensable part of people daily life.Now,intelligent household appliances and various kinds of intelligent instruments that need the use of the PC devices connected to the Internet is more and more frequent,and the equipment is mainly used 8-bit processor,to strengthen the function of Internet communication must expand its network function.In this paper,the Internet communication system based on single chip design,choice of eight single chip microcomputer control chip microcontroller with the Internet communications system.The system can realize the remote control of the instrument,and the text image real-time transmission of information,has a great economic and practical value,and also has the very strong impetus to the development of information technology.
TCP/IP protocol;Internet network;MCU;web server
TN99
A
1674-6236(2016)23-0153-03
2015-12-29稿件編號(hào):201512293
王雪飛(1975—),女,新疆烏魯木齊人,講師。研究方向:電氣自動(dòng)化。