網(wǎng)橋?qū)蓚€(gè)相似的網(wǎng)絡(luò)連接起來,并對(duì)網(wǎng)絡(luò)數(shù)據(jù)的流通進(jìn)行管理。它工作于數(shù)據(jù)鏈路層,不但能擴(kuò)展網(wǎng)絡(luò)的距離或范圍,而且可提高網(wǎng)絡(luò)的性能、可靠性和安全性。網(wǎng)絡(luò)1和網(wǎng)絡(luò)2通過網(wǎng)橋連接后,網(wǎng)橋接收網(wǎng)絡(luò)1發(fā)送的數(shù)據(jù)包,檢查數(shù)據(jù)包中的地址,如果地址屬于網(wǎng)絡(luò)1,它就將其放棄,相反,如果是網(wǎng)絡(luò)2的地址,它就繼續(xù)發(fā)送給網(wǎng)絡(luò)2.這樣可利用網(wǎng)橋隔離信息,將同一個(gè)網(wǎng)絡(luò)號(hào)劃分成多個(gè)網(wǎng)段(屬于同一個(gè)網(wǎng)絡(luò)號(hào)),隔離出安全網(wǎng)段,防止其他網(wǎng)段內(nèi)的用戶非法訪問。由于網(wǎng)絡(luò)的分段,各網(wǎng)段相對(duì)獨(dú)立(屬于同一個(gè)網(wǎng)絡(luò)號(hào)),一個(gè)網(wǎng)段的故障不會(huì)影響到另一個(gè)網(wǎng)段的運(yùn)行。
目前,各類智能網(wǎng)橋設(shè)計(jì)方案基本都是CPU+MAC+PHY+RTOS+TCP/IP STACK的方式,如:PC Gateway+專用網(wǎng)、32位MCU+RTOS、8位或16位單片機(jī)+網(wǎng)絡(luò)協(xié)議包,它們?cè)趯?shí)時(shí)性、可靠性、開發(fā)周期、實(shí)現(xiàn)難度、價(jià)格、開放性和通信效率等方面各有千秋。
PC Gateway+專用網(wǎng):該方案采用專用網(wǎng)絡(luò)(如RS232、RS485、CANBUS等)可以連接多種單片機(jī)系統(tǒng)。網(wǎng)關(guān)(Gateway)又稱網(wǎng)間連接器、協(xié)議轉(zhuǎn)換器。網(wǎng)關(guān)在傳輸層上以實(shí)現(xiàn)網(wǎng)絡(luò)互連,是最復(fù)雜的網(wǎng)絡(luò)互連設(shè)備,僅用于兩個(gè)高層協(xié)議不同的網(wǎng)絡(luò)互連。網(wǎng)關(guān)的結(jié)構(gòu)也和路由器類似,不同的是互連層。網(wǎng)關(guān)既可以用于廣域網(wǎng)互連,也可以用于局域網(wǎng)互連。網(wǎng)關(guān)是一種充當(dāng)轉(zhuǎn)換重任的計(jì)算機(jī)系統(tǒng)或設(shè)備。在使用不同的通信協(xié)議、數(shù)據(jù)格式或語(yǔ)言,甚至體系結(jié)構(gòu)完全不同的兩種系統(tǒng)之間,網(wǎng)關(guān)是一個(gè)翻譯器。與網(wǎng)橋只是簡(jiǎn)單地傳達(dá)信息不同,網(wǎng)關(guān)對(duì)收到的信息要重新打包,以適應(yīng)目的系統(tǒng)的需求。同時(shí),網(wǎng)關(guān)也可以提供過濾和安全功能。大多數(shù)網(wǎng)關(guān)運(yùn)行在OSI 7層協(xié)議的頂層--應(yīng)用層。
32位MCU+RTOS:采用32位的高性能嵌入式處理器,在RTOS(實(shí)時(shí)多任務(wù)操作系統(tǒng))平臺(tái)上進(jìn)行軟件開發(fā),該方案可以完成很多復(fù)雜的功能。但這種方案存在如下缺點(diǎn):高性能嵌入式處理器價(jià)格較貴,開發(fā)周期長(zhǎng);需要購(gòu)買昂貴的RTOS軟件,對(duì)開發(fā)人員的開發(fā)能力要求較高。
8位或16位單片機(jī)+網(wǎng)絡(luò)協(xié)議包:該方案有如下優(yōu)點(diǎn):不依賴PC機(jī)或高性能嵌入式處理器,真正實(shí)現(xiàn)8位或16位單片機(jī)系統(tǒng)直接接入網(wǎng)絡(luò),整個(gè)系統(tǒng)完全自給自足;使用外圍器件少,系統(tǒng)成本低。但是這種方法在實(shí)現(xiàn)過程中也存在一些問題,如8位或16位單片機(jī)的資源相對(duì)較少,提供的功能有限。隨著科技的發(fā)展,一些高速度的單片機(jī)(如DS80C400)己能基本滿足通常的嵌入式產(chǎn)品對(duì)處理性能的要求,采用軟件來實(shí)現(xiàn)各種協(xié)議處理,便于將來在不改變硬件的情況下,只需改變內(nèi)置程序即可升級(jí)整個(gè)嵌入式系統(tǒng)的功能。本文提出以
DS80C400為核心處理器的CAN總線網(wǎng)絡(luò)與以太網(wǎng)網(wǎng)互連的一種方案,實(shí)現(xiàn)了多路CAN總線網(wǎng)與以太網(wǎng)數(shù)據(jù)互聯(lián)。
1 總體設(shè)計(jì)
智能(CAN-ETHERNET)網(wǎng)橋作為以太網(wǎng)和現(xiàn)場(chǎng)總線網(wǎng)絡(luò)數(shù)據(jù)傳輸交換的樞紐,完成從CAN到以太網(wǎng)或是從以太網(wǎng)到CAN網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā)功能。同時(shí),智能網(wǎng)橋還是一個(gè)Web服務(wù)器,Web Server將參數(shù)顯示和監(jiān)控等功能均通過網(wǎng)頁(yè)的統(tǒng)一界面呈現(xiàn)給用戶??蛻魴C(jī)不需運(yùn)行專用的監(jiān)控軟件,只需運(yùn)行通用的瀏覽器來調(diào)用分散在各個(gè)受控設(shè)備中的嵌入式Web Server上的監(jiān)控參數(shù)顯示頁(yè)面,就能達(dá)到監(jiān)控設(shè)備的目的。
系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示:
2 DS80C400以太網(wǎng)控制模塊
DS80C400網(wǎng)絡(luò)微控制器是目前集成度最高的8051器件。集成外設(shè)包括10/100以太網(wǎng)MAC,三個(gè)串行端口,一個(gè)CAN 2.0B控制器,1-Wire?主機(jī)和64個(gè)I/O引腳。為了便于訪問網(wǎng)絡(luò),在ROM中提供了一個(gè)完整的、可被應(yīng)用訪問的TCP IPv4/6網(wǎng)絡(luò)棧和OS.網(wǎng)棧支持最多32個(gè)并發(fā)的TCP連接,并且能夠通過以太網(wǎng)MAC提供高達(dá)5Mbps的吞吐率。最高達(dá)75MHz的系統(tǒng)時(shí)鐘頻率使最短指令周期僅有54ns.24位尋址方式簡(jiǎn)化了對(duì)于大容量程序或數(shù)據(jù)存儲(chǔ)器的訪問,支持高達(dá)16MB的連續(xù)存儲(chǔ)空間。
緩沖區(qū)控制單元(BCU): 緩沖區(qū)控制單元(BCU)是DS80C400的以太網(wǎng)接口的中心控制單元。BCU通過一系列的SFR調(diào)節(jié)CPU,控制以太網(wǎng)模塊的讀/寫活動(dòng)。
CSR=ControlandStatusRegister最常見的有"指令指針寄存器","標(biāo)志寄存器","機(jī)器狀態(tài)字","程序計(jì)數(shù)器"等等,各種處理器/微機(jī)上的叫法有點(diǎn)差別,而且控制的功能也不一定相同,但都是用于控制處理器的操作。大多數(shù)這類寄存器對(duì)用戶是不可見的。
命令狀態(tài)寄存器(CSR):CSR寄存器本質(zhì)上是定義以太網(wǎng)控制器的操作特性。CSR寄存器包括下面幾項(xiàng):
MAC物理地址:發(fā)送,接受和流控制設(shè)置;地址檢查模塊使用的組播哈希表;地址檢查模塊需要的過濾模式和好/壞幀控制;VLAN標(biāo)簽標(biāo)識(shí)符;喚醒幀過濾器;串行的MII物理設(shè)備管理總線的寄存器界面。
Medium Access Control介質(zhì)訪問控制層,屬于OSI模型中數(shù)據(jù)鏈路層下層子層--物理層。它定義了數(shù)據(jù)幀怎樣在介質(zhì)上進(jìn)行傳輸。在共享同一個(gè)帶寬的鏈路中,對(duì)連接介質(zhì)的訪問是"先來先服務(wù)"的。物理尋址在此處被定義,邏輯拓?fù)洌?a target="_blank">信號(hào)通過物理拓?fù)涞穆窂剑┮苍诖颂幈欢x。線路控制、出錯(cuò)通知(不糾正)、幀的傳遞順序和可選擇的流量控制也在這一子層實(shí)現(xiàn)。
MII 管理模塊:MII管理模塊允許主機(jī)從32個(gè)寄存器中的任意一個(gè)讀取狀態(tài)信息。MII管理模塊通過2線的串行接口和外部物理設(shè)備進(jìn)行通信。
MII I/O模塊:MII 1/0模塊支持所有的在DS80C400的MAC和外部物理設(shè)備之間的數(shù)據(jù)發(fā)送和接收,同時(shí)監(jiān)控由PHY提供的網(wǎng)絡(luò)狀態(tài)信號(hào)。
地址檢查模塊:以太網(wǎng)控制器的地址檢查模塊監(jiān)控所有到來包的目的地址,然后決定是地址是否能夠通過由CPU設(shè)置的過濾標(biāo)準(zhǔn)。決定幀是廣播還是組播的地址過濾的結(jié)果和位由BCU通過包的接收狀態(tài)報(bào)告給CPU.
接收/發(fā)送緩沖存儲(chǔ):DS80C400以太網(wǎng)控制器使用8KB的內(nèi)部SRAM作為發(fā)送/接收包緩沖區(qū)。CPU可以使用MOVX指令對(duì)這個(gè)SRAM進(jìn)行讀/寫訪問。
電源管理模塊:DS80C400以太網(wǎng)控制器包含了一個(gè)電源管理模塊,它可以使以太網(wǎng)控制器通過CPU進(jìn)入休眠模式,這樣當(dāng)沒有以太網(wǎng)通信要處理時(shí)以便節(jié)約能源。
以太網(wǎng)是Xerox公司發(fā)明的基帶LAN標(biāo)準(zhǔn)。它采用帶沖突檢測(cè)的載波監(jiān)聽多路訪問協(xié)議(CSMA/CD),速率為10Mbps,傳輸介質(zhì)為同軸電纜。以太網(wǎng)是在20世紀(jì)70年代為解決網(wǎng)絡(luò)中零散的和偶然的堵塞而開發(fā)的,而IEEE802.3標(biāo)準(zhǔn)是在最初的以太網(wǎng)技術(shù)基礎(chǔ)上于1980年開發(fā)成功的。現(xiàn)在,以太網(wǎng)一詞泛指所有采用CSMA/CD協(xié)議的局域網(wǎng)。以太網(wǎng)2.0版由數(shù)字設(shè)備公司、Intel公司和Xerox公司聯(lián)合開發(fā),它與IEEE802.3兼容。
3 系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)以DS80C400為核心處理器,采用PCA82C250為CAN總線收發(fā)器,用SJA1000作總線控制器,以太網(wǎng)交換電路主要是采用五口交換芯片RTL8305SB來實(shí)現(xiàn),用100BASE_FX光纖收發(fā)器完成以太網(wǎng)物理層數(shù)據(jù)傳輸。以下著重介紹DS80C400 MII模塊與外部物理設(shè)備之間的連接。
DS80C400 MII管理模塊通過2線串行接口與外部物理設(shè)備相連,MDC提供串行時(shí)鐘信號(hào),MDIO則作為I/O口與外設(shè)進(jìn)行通信。MII I/O模塊支持DS80C400 MAC與外部物理設(shè)備之間的發(fā)送與接收數(shù)據(jù)傳輸,并且通過外設(shè)提供的信號(hào)監(jiān)控網(wǎng)絡(luò)的狀態(tài)。發(fā)送接口由TXCLK,TX_EN,TXD[3:0]組成,其中,TXCLK是由外設(shè)提供的發(fā)送時(shí)鐘,對(duì)于10MBPS操作,TXCLK應(yīng)當(dāng)運(yùn)行在2.5MHZ,而100MBPS,TXCLK應(yīng)至少運(yùn)行在25MHZ.TXD[3:0]四位數(shù)據(jù)總線發(fā)送幘到外設(shè)。接收接口由RXCLK、RX_DV、RX_ER、RXD[3:0]組成,其中,RXCLK是由外設(shè)提供的接收時(shí)鐘,其時(shí)鐘要求與發(fā)送接口類同。RXD[3:0]四位數(shù)據(jù)總線接收從外設(shè)發(fā)送來的幀。RX_DV=1表示接收有效,RX_ER指出接收錯(cuò)誤。MII也能通過外設(shè)提供的CRS、COL信號(hào)監(jiān)控網(wǎng)絡(luò)狀態(tài)。
DS80C400 MII與外部物理設(shè)備連接如圖3所示:
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)是整個(gè)設(shè)計(jì)中最為重要部分之一,利用DS80C400進(jìn)行嵌入式系統(tǒng)開發(fā)并不像標(biāo)準(zhǔn)8051單片機(jī)開發(fā)那樣簡(jiǎn)單,在除了KEILC軟件環(huán)境外,它還需要特定的軟件開發(fā)平臺(tái),DS80C400內(nèi)部強(qiáng)大的ROM功能,使得系統(tǒng)軟件的開發(fā)周期短,系統(tǒng)功能強(qiáng)大。
4.1 DS80C400軟件開發(fā)平臺(tái)
DALLAS公司為DS80C400提供了兩種串行加載工具,MTK和JAVAKIT.其中MTK簡(jiǎn)潔好用,但是目前MTK僅僅支持WINDOWS平臺(tái)。JAVAKIT是一款基于JAVA的圖形界面程序。JAVAKIT的運(yùn)行需要以下幾個(gè)附加軟件同時(shí)運(yùn)行:JAVA Development Environment;Java Communications API;TINI Software Development KitAVAKIT 可以應(yīng)用于WINDOWS,LINUX以及MAC OSX平臺(tái),但是JAVAKIT的配置雖然比較煩鎖。
在PC機(jī)的命令行界面正確配置JAVAKIT需注意如下命令配置:
(1)set path=%path%; X:jdkbin;
(2)set classpath=X:jdklibcomm.jar;
(3)set classpath=X:tinibintini.jar;%classpath%
4.2 系統(tǒng)實(shí)現(xiàn)
DS80C400內(nèi)部ROM嵌入的TINI OS使各個(gè)任務(wù)相互獨(dú)立且具有不同的優(yōu)先級(jí)來保證緊急任務(wù)及時(shí)響應(yīng),從而有效地實(shí)現(xiàn)任務(wù)調(diào)度。內(nèi)部嵌入的工業(yè)標(biāo)準(zhǔn)SOCKET套接字方便了網(wǎng)絡(luò)系統(tǒng)的開發(fā)。
系統(tǒng)軟件框架如圖4所示:
(1)任務(wù)劃分
本系統(tǒng)根據(jù)各個(gè)任務(wù)的重要性,把整個(gè)模塊分成以下幾個(gè)不同優(yōu)先級(jí)的應(yīng)用任務(wù),即系統(tǒng)監(jiān)控、CAN數(shù)據(jù)發(fā)送、以太網(wǎng)數(shù)據(jù)發(fā)送、協(xié)議轉(zhuǎn)換、LED顯示、系統(tǒng)配置。
(2)任務(wù)實(shí)現(xiàn)
任務(wù)劃分以后,各任務(wù)便具有獨(dú)立的堆??臻g,彼此爭(zhēng)奪CPU的使用權(quán)。一旦獲得CPU使用權(quán),就會(huì)獨(dú)立運(yùn)行。完成特定的功能。
(3)任務(wù)的同步與調(diào)度
DS80C400內(nèi)嵌的任務(wù)調(diào)度程序有其獨(dú)到之處,用戶可以直接利用系統(tǒng)的接口函數(shù)編寫應(yīng)用程序,不需要另行開發(fā)。基于DS80C400的CAN-ETHERNET智能網(wǎng)橋在實(shí)驗(yàn)調(diào)試過程中,運(yùn)行狀況良好,工作穩(wěn)定。
5 結(jié)束語(yǔ)
利用DS80C400微控制器作嵌入式系統(tǒng)開發(fā),可以方便地開發(fā)網(wǎng)絡(luò)應(yīng)用系統(tǒng),大大提高開發(fā)效率,這是其它8051單片機(jī)所不能比擬的。將DS80C400用于嵌入式系統(tǒng)開發(fā)有十分廣闊的前景,對(duì)推動(dòng)嵌入式系統(tǒng)在國(guó)內(nèi)的應(yīng)用有十分重要的意義。
-
微控制器
+關(guān)注
關(guān)注
48文章
7947瀏覽量
154873 -
處理器
+關(guān)注
關(guān)注
68文章
19885瀏覽量
235034 -
嵌入式
+關(guān)注
關(guān)注
5149文章
19655瀏覽量
317321
發(fā)布評(píng)論請(qǐng)先 登錄
MSPM0 G系列80MHz微控制器技術(shù)參考手冊(cè)

C2000?實(shí)時(shí)控制微控制器(MCU)使用入門

簡(jiǎn)單認(rèn)識(shí)恩智浦MCX C系列微控制器

使用TM4C129x 微控制器為 TMP1826實(shí)現(xiàn)單線枚舉功能應(yīng)用說明

微控制器內(nèi)部的存儲(chǔ)器有哪些
微控制器的結(jié)構(gòu)和應(yīng)用
S1C31W65節(jié)能32位微控制器

TM4C1231C3PM微控制器數(shù)據(jù)手冊(cè)

TM4C1230C3PM微控制器數(shù)據(jù)手冊(cè)

TM4C1233C3PM微控制器數(shù)據(jù)手冊(cè)

Tiva? TM4C1232C3PM微控制器數(shù)據(jù)手冊(cè)

評(píng)論