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