發布日期:2022-04-18 點擊率:46
摘 要: 文章提出了以DS80C400為核心處理器將多路CAN網絡與多路以太網互連的嵌入式智能網橋實現方案。給出了 DS80C400 MII與外部物理設備之間的連接,詳細闡述JAVAKIT在WINDOWS開發平臺下的配置方法,系統規劃了TINI OS下系統軟件的開發框架與程序編制方法。利用DS80C400微控制器開發嵌入式系統,可以方便地開發網絡應用系統,大大提高開發效率。
關鍵詞:CAN ,以太網, DS80C400 ,嵌入式智能網橋
0 引言
目前,各類智能網橋設計方案基本都是CPU+MAC+PHY+RTOS+TCP/IP STACK的方式,如:PC Gateway+專用網、32位MCU+RTOS、8位或16位單片機+網絡協議包,它們在實時性、可靠性、開發周期、實現難度、價格、開放性和通信效率等方面各有千秋。
PC Gateway+專用網:該方案采用專用網絡(如RS232、RS485、CANBUS等)可以連接多種單片機系統。但存在如下缺點:需要依賴PC機作為網關進行協議轉換,專用網絡布線極為不便;需要在PC機上安裝價格昂貴的專門的協議轉換軟件。
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內核處理器,內部嵌入功能強大的ROM固件,提供了強大的網絡連接和網絡支持功能。DS80C400的超低功耗特性是其它微處理器所無法比擬的。DS80C400芯片上10/100兆MAC和IEEE802.3Mll以及ENDEC PHY的標準接口兼容。
DS80C400 MII模塊主要由緩沖區控制單元(BCU)、命令狀態寄存器(CSR)、MAC物理地址、MII 管理模塊、地址檢查模塊、接收/發送緩沖存儲、電源管理模塊等組成,其結構圖如圖2所示。
緩沖區控制單元(BCU): 緩沖區控制單元(BCU)是DS80C400的以太網接口的中心控制單元。BCU通過一系列的SFR調節CPU,控制以太網模塊的讀/寫活動。
命令狀態寄存器(CSR):CSR寄存器本質上是定義以太網控制器的操作特性。CSR寄存器包括下面幾項:
MAC物理地址:發送,接受和流控制設置;地址檢查模塊使用的組播哈希表;地址檢查模塊需要的過濾模式和好/壞幀控制;VLAN標簽標識符;喚醒幀過濾器;串行的MII物理設備管理總線的寄存器界面。
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進入休眠模式,這樣當沒有以太網通信要處理時以便節約能源。
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單片機開發那樣簡單,在除了KEIL C軟件環境外,它還需要特定的軟件開發平臺,DS80C400內部強大的ROM功能,使得系統軟件的開發周期短,系統功能強大。
4.1 DS80C400軟件開發平臺
DALLAS公司為DS80C400提供了兩種串行加載工具,MTK和JAVAKIT。其中MTK簡潔好用,但是目前MTK僅僅支持WINDOWS平臺。JAVAKIT是一款基于JAVA的圖形界面程序。JAVAKIT的運行需要以下幾個附加軟件同時運行:JAVA Development Environment;Java Communications API;TINI Software Development Kit.。AVAKIT 可以應用于WINDOWS,LINUX以及MAC OSX平臺,但是JAVAKIT的配置雖然比較煩鎖。應當注意的是,目前網絡上流行的javacomm3.0并不支持WINDOWS,當用WINDOWS作為開發平臺時,要下載javacomm2.0才能正確配置JAVAKIT.
在PC機的命令行界面正確配置JAVAKIT需注意如下命令配置:
(1)set path=%path%; X:jdkin;
(2)set classpath=X:jdklibcomm.jar;
(3)set classpath=X:tiniin ini.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用于嵌入式系統開發有十分廣闊的前景,對推動嵌入式系統在國內的應用有十分重要的意義。
主要創新點:
(1) 在基于8位8051內核單片機上進行嵌入式系統開發。
(2)利用強大的內部ROM完成多路CAN-ETHERNET的數據轉發功能。
參考文獻
1. DS80C400網絡微控制器完整的數據資料 (PDF, 1.9M, English only)
2. DSTINIM400網絡微控制器評估板完整的數據資料(PDF, 776k, English only)
3.http://www.maxim-ic.com.cn/products/microcontrollers/pdfs/high_speed_micro_user_guide.pdf
4.http://www.maxim-ic.com.cn/products/microcontrollers/pdfs/network_microcontrller_suppement.pdf
5. http://www.maxim-ic.com.cn/products/tini/pdfs/tinispec.pdf
6. http://www.maxim-ic.com.cn/products/tini/pdfs/TINI_GUIDE.pdf
7.王凌、胡海江、張鳳登.分布式環境下CAN網橋的實現和性能分析.微計算機信息,2005,2.44-45
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV