技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于單片機(jī)嵌入式網(wǎng)絡(luò)接入模塊的設(shè)計(jì)與實(shí)現(xiàn)

基于單片機(jī)嵌入式網(wǎng)絡(luò)接入模塊的設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2009-12-28 16:46:29來源:yangliu

導(dǎo)語:?本文主要提出了一種基于普通單片機(jī)的網(wǎng)絡(luò)接入模塊的設(shè)計(jì)方案

摘 要:本文主要提出了一種基于普通單片機(jī)的網(wǎng)絡(luò)接入模塊的設(shè)計(jì)方案。網(wǎng)絡(luò)接入模塊是廉價(jià)的測(cè)控網(wǎng)絡(luò)接入方案,它可以將具有RS-232等接口的測(cè)控設(shè)備簡(jiǎn)單又直接地連接在局域網(wǎng)上,利用豐富現(xiàn)成的局域網(wǎng)資源,組成一系列局域網(wǎng)的分布式測(cè)控系統(tǒng),可以作為一種新的實(shí)用測(cè)控網(wǎng)絡(luò)分布式控制的方法。

關(guān)鍵詞:網(wǎng)絡(luò)接入模塊,TCP,IP,UDP ,ARP

一、前言

  利用現(xiàn)有局域網(wǎng)的豐富資源,組建局域網(wǎng)分布式測(cè)控系統(tǒng)是一種低成本、高可靠性、快捷的技術(shù)方案。局域網(wǎng)測(cè)控系統(tǒng)的組成方式有以下三種。方案一采用PC機(jī)+網(wǎng)卡+采集卡組成局域網(wǎng)測(cè)控網(wǎng)關(guān),進(jìn)行協(xié)議轉(zhuǎn)換,將由現(xiàn)場(chǎng)總線連接測(cè)控設(shè)備組成的分布式測(cè)控系統(tǒng)接入局域網(wǎng),將管理PC機(jī)放在局域網(wǎng)內(nèi),組成一個(gè)較大的自控系統(tǒng)。這種組成方式成本很高,只適用于大的控制系統(tǒng)。方案二采用嵌入式系統(tǒng)+局域網(wǎng)卡+采集卡來組成局域網(wǎng)測(cè)控網(wǎng)關(guān)。嵌入式系統(tǒng)實(shí)際上是在硬件和軟件上均可按用戶需要進(jìn)行配置的微型機(jī)。所以,實(shí)際上它是第一種方案的簡(jiǎn)化和微型化。它的成本比第一種有所下降,但價(jià)格還是較高。方案三則由于最近網(wǎng)絡(luò)發(fā)展的趨勢(shì),人們利用單片機(jī)加上局域網(wǎng)接口芯片組成網(wǎng)絡(luò)接入模塊。它以單片機(jī)取代PC機(jī),用局域網(wǎng)接口芯片取代局域網(wǎng)卡,并只需一臺(tái)網(wǎng)絡(luò)計(jì)算機(jī)進(jìn)行監(jiān)控,使測(cè)控方案的價(jià)格大大下降。這就使測(cè)控設(shè)備能以低廉的費(fèi)用,以簡(jiǎn)捷的方式接入局域網(wǎng),使網(wǎng)絡(luò)信息家電、IC卡網(wǎng)絡(luò)控制等變?yōu)楝F(xiàn)實(shí),使局域網(wǎng)分布式測(cè)控系統(tǒng)能得到迅速的發(fā)展。

二、 TCP/IP網(wǎng)絡(luò)基本原理與網(wǎng)絡(luò)接入模塊的組成及結(jié)構(gòu)

  1. TCP/IP網(wǎng)絡(luò)基本原理及TCP/IP的具體連接過程

  TCP/IP協(xié)議是把因特網(wǎng)上的各種系統(tǒng)互連起來的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準(zhǔn)確快速傳輸。參考開放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡(jiǎn)化的四層模型,分別為:應(yīng)用層、傳輸層、網(wǎng)際層、網(wǎng)絡(luò)接口層。其中網(wǎng)絡(luò)接口層由控制同一物理網(wǎng)絡(luò)上的不同機(jī)器間數(shù)據(jù)傳送的底層協(xié)議組成,如Ethernet 協(xié)議等,為TCP/IP協(xié)議組的下層物理電氣層接口。網(wǎng)際層讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡(luò)的主機(jī)上,IP協(xié)議就是該層中傳送數(shù)據(jù)的機(jī)制并定義了IP數(shù)據(jù)幀的格式。同時(shí)為了建立網(wǎng)絡(luò)間的互連,應(yīng)提供ARP地址解析協(xié)議,實(shí)現(xiàn)從IP地址到網(wǎng)絡(luò)物理地址的映射,并用RARP逆向地址解析協(xié)議實(shí)現(xiàn)物理地址到IP地址的映射。傳輸層讓網(wǎng)絡(luò)程序通過定義的通道,端口等獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號(hào)等,實(shí)現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義應(yīng)用的會(huì)話過程,如Http、Ftp、Telnet等。

  2.網(wǎng)絡(luò)接入模塊的組成及結(jié)構(gòu)

  網(wǎng)絡(luò)接入模塊就是局域網(wǎng)的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換器。它主要在網(wǎng)絡(luò)層完成局域網(wǎng)TCP/IP協(xié)議和測(cè)控設(shè)備現(xiàn)場(chǎng)總線RS-232協(xié)議的轉(zhuǎn)換,完成局域網(wǎng)和測(cè)控設(shè)備及現(xiàn)場(chǎng)總線網(wǎng)絡(luò)間的互聯(lián),實(shí)現(xiàn)不同局域網(wǎng)和現(xiàn)場(chǎng)總線網(wǎng)絡(luò)設(shè)備之間的數(shù)據(jù)交換。

  由于網(wǎng)絡(luò)接入模塊的接口豐富,且價(jià)格低廉,所以它可以直接將具有RS-232、RS-485(需通過轉(zhuǎn)接口實(shí)現(xiàn)轉(zhuǎn)接)接口的測(cè)控設(shè)備接入局域網(wǎng),組成局域網(wǎng)分布式測(cè)控系統(tǒng),而不需要再架設(shè)現(xiàn)場(chǎng)總線。

  網(wǎng)絡(luò)接入模塊的組成如圖1所示,其主要由單片機(jī)和局域網(wǎng)接口芯片組成。


圖1、網(wǎng)絡(luò)接入模塊的組成原理結(jié)構(gòu)圖



  局域網(wǎng)接口芯片可選用符合IEEE802.3協(xié)議通用接口芯片,如RTL8019AS等芯片。這些芯片完成與局域網(wǎng)在物理層上的通信任務(wù),采用RJ-45插口,可以直接連接到局域網(wǎng)上。

  網(wǎng)絡(luò)接入模塊中的單片機(jī)可選用普通單片機(jī),如AT系列的AT89C52等。單片機(jī)閃存(或外接EEPROM)內(nèi)用匯編語言寫入TCP/IP通信協(xié)議,以及與RS-232、RS-485等現(xiàn)場(chǎng)串行總線通信協(xié)議。它負(fù)責(zé)完成網(wǎng)際層、網(wǎng)絡(luò)接口層的協(xié)議轉(zhuǎn)換,數(shù)據(jù)交換任務(wù)。它將從局域網(wǎng)接收來的UDP包,進(jìn)行拆包,取出數(shù)據(jù),再按RS-232、RS-485等現(xiàn)場(chǎng)串行總線通信協(xié)議重新組成幀,發(fā)送給測(cè)控設(shè)備;或者將測(cè)控設(shè)備發(fā)送來的數(shù)據(jù)幀,重新打成IP包,向局域網(wǎng)服務(wù)器發(fā)送。

三、網(wǎng)絡(luò)接入模塊的硬件設(shè)計(jì)與工作原理

  1.硬件原理框圖

  系統(tǒng)提供RJ45接口連接局域網(wǎng),并且提供一個(gè)RS-232總線的串口并控制測(cè)控設(shè)備。網(wǎng)絡(luò)接入模塊可以將從局域網(wǎng)上過來的UDP數(shù)據(jù)報(bào)解包后送給對(duì)應(yīng)的串口,也可將從串口過來的數(shù)據(jù)封裝為UDP包送到局域網(wǎng)中。單片機(jī)采用62256外部RAM芯片來暫時(shí)存儲(chǔ)數(shù)據(jù),并保存中間處理結(jié)果以及作為與UDP服務(wù)器端進(jìn)行數(shù)據(jù)通信的緩沖區(qū):如在發(fā)生UDP數(shù)據(jù)發(fā)送錯(cuò)誤需要重新發(fā)送時(shí),將數(shù)據(jù)再次從RAM中取出并發(fā)送到網(wǎng)絡(luò),而在數(shù)據(jù)發(fā)送后被正確接收后才將該幀數(shù)據(jù)沖內(nèi)存單元內(nèi)刪除。使用EEPROM芯片,既可以作為看門狗(用于單片機(jī)程序故障時(shí)自動(dòng)復(fù)位)使用,也可以保存IP地址、網(wǎng)卡物理地址和其他參數(shù)。具體,網(wǎng)絡(luò)接口模塊的硬件原理框圖如圖2所示:


圖2、網(wǎng)絡(luò)接入模塊的硬件結(jié)構(gòu)原理框圖



  其中AT89C52單片機(jī)采用P0.0~P0.7口與RTL8019AS網(wǎng)卡芯片的數(shù)據(jù)端口SD0~SD7連接,單片機(jī)的P2.0~P2.4與網(wǎng)卡芯片地址端口SA0~SA4連接,單片機(jī)P3.7、P3.6分別對(duì)應(yīng)網(wǎng)卡芯片的IORB、IOWB端口,實(shí)現(xiàn)對(duì)網(wǎng)卡數(shù)據(jù)的交換及TCP/IP通信的實(shí)現(xiàn)。單片機(jī)的P2.5、P2.6端口分別對(duì)應(yīng)AT24C512的串行EEPROM的SCL,SDA口。AT24C512中存放IP地址,網(wǎng)卡物理地址等設(shè)備參數(shù)。單片機(jī)與62256RAM芯片的數(shù)據(jù)接口采用時(shí)分復(fù)用片選方式用P0.0~P0.7口與62256的D0~D7口交換數(shù)據(jù),用P1.0 ~P1.7來控制62256內(nèi)存單元的物理地址進(jìn)行數(shù)據(jù)存放控制。單片機(jī)通過P3.0~P3.3端口分別與MAX232芯片(其作用是將TTL電平轉(zhuǎn)變?yōu)镽S-232電平)串口控制的片選信號(hào),然后根據(jù)相應(yīng)的串口線路進(jìn)行串口數(shù)據(jù)傳送。而串口接收數(shù)據(jù)時(shí),通過CTS控制信號(hào)進(jìn)行MAX232芯片的選通,然后MAX232芯片輸出中斷信號(hào)來分別與單片機(jī)進(jìn)行串口數(shù)據(jù)交換及自定義通信協(xié)議的實(shí)現(xiàn)。

  2.網(wǎng)絡(luò)接入模塊的工作原理及流程

  網(wǎng)絡(luò)接入模塊上電復(fù)位后,首先進(jìn)行系統(tǒng)初始化,然后分別接受數(shù)據(jù)網(wǎng)絡(luò)數(shù)據(jù)傳送預(yù)處理(數(shù)據(jù)打包、拆包)-網(wǎng)絡(luò)數(shù)據(jù)傳送-自定義通信協(xié)議的數(shù)據(jù)處理等操作。

  根據(jù)單片機(jī)的程序的不同可以采用兩種方式實(shí)現(xiàn)TCP/IP的數(shù)據(jù)通信:即采用TCP和UDP兩種方式進(jìn)行數(shù)據(jù)傳輸。但是TCP連接的方式采用可靠連接,雖然系統(tǒng)的可靠性高,但建立可靠連接的系統(tǒng)開銷大,不適用于采用傳輸數(shù)據(jù)量少的場(chǎng)合。所以采用UDP方式進(jìn)行數(shù)據(jù)傳輸,并采用上層出錯(cuò)重發(fā)等協(xié)議來進(jìn)行差錯(cuò)控制。采用UDP的單片機(jī)算法流程如下:


圖3.單片機(jī)UDP通信的算法流程



  在單片機(jī)相關(guān)的存儲(chǔ)器中寫入相應(yīng)UDP的控制處理程序,進(jìn)行UDP的數(shù)據(jù)打包、拆包,檢驗(yàn)等處理和ARP地址解析的處理并進(jìn)行自定義通信協(xié)議握手連接等處理,以確保測(cè)控?cái)?shù)據(jù)的正確傳輸。

四、 網(wǎng)絡(luò)接入模塊對(duì)應(yīng)的網(wǎng)絡(luò)PC機(jī)通信軟件的實(shí)現(xiàn)

  網(wǎng)絡(luò)計(jì)算機(jī)通過WINDOWS的TCP/IP編程的Winsock機(jī)制來實(shí)現(xiàn)與網(wǎng)絡(luò)接入模塊的控制與通信。在一臺(tái)作為服務(wù)器的計(jì)算機(jī)上設(shè)置一個(gè)TCP/IP端口監(jiān)控的程序,實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)接入模塊發(fā)到局域網(wǎng)的UDP數(shù)據(jù)報(bào)。對(duì)于UDP數(shù)據(jù)報(bào)傳送方式,上層服務(wù)器先建立一個(gè)套接字,然后把它和本地接口綁定在一起,由這個(gè)綁定的套接字接口讀入U(xiǎn)DP數(shù)據(jù),并在UDP數(shù)據(jù)拆包后進(jìn)行自己定義通信協(xié)議的處理(包括安全驗(yàn)證、出錯(cuò)重發(fā)及用戶自定義幀格式等的處理)。具體的單片機(jī)與計(jì)算機(jī)之間的UDP收發(fā)數(shù)據(jù)流程如下圖所示:


圖4、UDP數(shù)據(jù)通信Winsock方式工作流程



五、 網(wǎng)絡(luò)接入模塊應(yīng)用中的幾個(gè)關(guān)鍵技術(shù)問題

  在應(yīng)用網(wǎng)絡(luò)接入模塊組建局域網(wǎng)測(cè)控系統(tǒng)的實(shí)際過程中,要根據(jù)實(shí)際應(yīng)用需要,注意以下幾個(gè)問題:

  1.網(wǎng)絡(luò)接入模塊的處理及傳輸速度

  在利用網(wǎng)絡(luò)接入模塊組成的局域網(wǎng)測(cè)控系統(tǒng)中,上位PC機(jī)與下位測(cè)控設(shè)備之間數(shù)據(jù)交換的速度取決于網(wǎng)絡(luò)接入模塊的處理及傳輸速度:網(wǎng)絡(luò)接入模塊的處理速度主要取決于實(shí)際需要處理的數(shù)據(jù)計(jì)算量和單片機(jī)的處理速度;而網(wǎng)絡(luò)接入模塊的傳輸速度取決于局域網(wǎng)接口芯片的速度、單片機(jī)的處理速度,以及網(wǎng)絡(luò)接入模塊和測(cè)控設(shè)備交換數(shù)據(jù)的方式。在一般的測(cè)控系統(tǒng)中,要傳送的僅僅是控制命令和測(cè)量反饋數(shù)據(jù),數(shù)據(jù)量及需要單片機(jī)處理的數(shù)據(jù)計(jì)算量不大。網(wǎng)絡(luò)接入模塊與測(cè)控設(shè)備之間采用RS-232串口方式連接,其通信速率僅幾十kb/s~上百kb/s。這時(shí)局域網(wǎng)接口芯片的速度(10Mb/s)和微處理器的速度就遠(yuǎn)大于串口通信速度。網(wǎng)絡(luò)接入模塊的傳輸速率就取決于串口的通信速率。

  局域網(wǎng)接口芯片的速度已達(dá)10 Mb/s,遠(yuǎn)大于微處理器的速度,遠(yuǎn)大于網(wǎng)絡(luò)與測(cè)控設(shè)備的數(shù)據(jù)交換速度,遠(yuǎn)大于測(cè)控工作的要求,所以滿足應(yīng)用要求。

  2.網(wǎng)絡(luò)接入模塊的IP地址

  局域網(wǎng)測(cè)控系統(tǒng)中,測(cè)控設(shè)備通過網(wǎng)絡(luò)接入模塊進(jìn)入局域網(wǎng),就必須確定自己的IP地址。網(wǎng)絡(luò)接入模塊的IP地址有活動(dòng)IP和固定IP兩種獲取的方法:上電時(shí),網(wǎng)絡(luò)接入模塊軟件自動(dòng)在系統(tǒng)中搜尋是否有代理服務(wù)器。若有代理服務(wù)器,則申請(qǐng)并由代理服務(wù)器分配給一個(gè)活動(dòng)IP地址,作為網(wǎng)絡(luò)接入模塊的IP地址;若系統(tǒng)中沒有代理服務(wù)器,則啟用單片機(jī)在硬件上設(shè)立的一個(gè)固定IP地址作為網(wǎng)絡(luò)接入模塊的IP地址。通常在局域網(wǎng)內(nèi)所需要控制的網(wǎng)絡(luò)接入模塊較少時(shí),如連同同一局域網(wǎng)內(nèi)工作站不超過255臺(tái)時(shí),可以分別為網(wǎng)絡(luò)接入模塊分配獨(dú)立的IP地址,以簡(jiǎn)化處理,方便單片機(jī)實(shí)現(xiàn),否則只能采用代理服務(wù)器的方式動(dòng)態(tài)分配IP地址。

  3.安全控制

  在小型封閉的局域網(wǎng)中進(jìn)行測(cè)控,安全問題不大,但為確保系統(tǒng)安全,在網(wǎng)絡(luò)接入模塊中,單片機(jī)采用48~128位的用戶密碼來保護(hù)測(cè)控設(shè)備的安全,并將部分關(guān)鍵命令碼變換加密。合法用戶可以修改、設(shè)定自己的密碼。非法用戶即使竊取了網(wǎng)絡(luò)接入模塊的IP地址,沒有密碼,也無法通過網(wǎng)絡(luò)接入模塊來操作測(cè)控設(shè)備。

  4.實(shí)時(shí)性問題

  測(cè)控系統(tǒng)在很多場(chǎng)合都要強(qiáng)調(diào)它的實(shí)時(shí)性,但局域網(wǎng)不是一個(gè)實(shí)時(shí)系統(tǒng)。由于它的載波偵聽碰撞檢測(cè)(CSMA/CD)通信方式,決定了局域網(wǎng)中IP包的傳輸會(huì)有延遲,甚至丟包,這是利用局域網(wǎng)組成分布式測(cè)控系統(tǒng)最大的缺點(diǎn)。但是,現(xiàn)在局域網(wǎng)的速度越來越快,百兆網(wǎng)甚至千兆網(wǎng),或在一些小型封閉的局域網(wǎng)中,當(dāng)網(wǎng)絡(luò)的繁忙程度大為減輕時(shí),IP包幾乎沒有碰撞,傳輸延遲、丟包現(xiàn)象就大大減小,不會(huì)影響測(cè)控系統(tǒng)的正常工作。同時(shí),在系統(tǒng)的網(wǎng)絡(luò)層之上,可增加應(yīng)答協(xié)議,并根據(jù)實(shí)際應(yīng)用情況,增加一定大小的緩沖存儲(chǔ)器暫存未應(yīng)答的數(shù)據(jù)包直到應(yīng)答為止,丟包的問題就可基本克服。而且可以將直接連接網(wǎng)絡(luò)接入模塊的網(wǎng)線通過交換機(jī)中轉(zhuǎn)連入局域網(wǎng),以保證其交換速度。

六、網(wǎng)絡(luò)接入模塊的應(yīng)用前景

  基于單片機(jī)的網(wǎng)絡(luò)接入模塊可以滿足一般測(cè)控系統(tǒng)的要求,而且它的成本低、體積小,便于在智能樓宇,校園一卡通等工程項(xiàng)目中推廣。它可以作為一個(gè)模塊,直接嵌入到測(cè)控設(shè)備,生產(chǎn)新一代的網(wǎng)絡(luò)測(cè)控設(shè)備、信息家電等嵌入式應(yīng)用系統(tǒng)。這必將大大促進(jìn)局域網(wǎng)測(cè)控系統(tǒng)、信息家電等自動(dòng)控制設(shè)備的發(fā)展。

參考文獻(xiàn)

  [1]牟英峰 、徐殿國(guó) 、張東來 基于嵌入式TCP/IP協(xié)議棧的信息家電連接Internet單芯片解決方案 《電子技術(shù)應(yīng)用》 2002年 28卷 第6期

  [2]Behrouz Forouzan, Catherine Coombs, Sophia Chung Fegan編著 潘仡、朱丹宇 翻譯 ,吳時(shí)霖審校 《數(shù)據(jù)通信與網(wǎng)絡(luò)》北京機(jī)械工業(yè)出版社 2000年4月 第1版 P91~P114 ,P229~P236

  [3]余永權(quán) 編著 《ATMEL89系列單片機(jī)應(yīng)用技術(shù)》北京 北京航空航天大學(xué)出版社 2002年4月 第1版P124~P192,P321~P326

  [4]RTL8019AS芯片資料,Realtek Full-Duplex Ethernet Controller with Plug and Play Function Specification ,Realtek Semi-conductor Co.,Ltd. May 1st. 2001

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:變頻技術(shù)在水泵站的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)