引言
以太網(Ethernet)指的是由Xerox公司創建并由Xerox、Intel和DEC公司聯合開發的基帶局域網規范,是當今現有局域網采用的最通用的通信協議標準。以太網絡使用CSMA/CD(載波監聽多路訪問及沖突檢測)技術,并以10M/S的速率運行在多種類型的電纜上。以太網與IEEE802.3系列標準相類似。
?
工業以太網是應用于工業控制領域的以太網技術,在技術上與商用以太網(即IEEE802.3標準)兼容,產品設計時,在材質的選用、產品的強度、適用性以及實時性、可互操作性、可靠性、抗干擾性、本質安全性等方面能滿足工業現場的需要。
Ethernet過去被認為是一種“非確定性”的網絡,作為信息技術的基礎,是為IT領域應用而開發的,在工業控制領域只能得到有限應用,這是由于:
Ethernet的介質訪問控制(MAC)層協議采用帶碰撞檢測的載波偵聽多址訪問(CSMA/CD)方式,當網絡負荷較重時,網絡的確定性不能滿足工業控制的實時性要求;
Ethernet所用的接插件、集線器、交換機和電纜等是為辦公室應用而設計的,不符合工業現場惡劣環境要求;
在工廠環境中,Ethernet抗干擾(EMI)性能較差,若用于危險場合,以太網不具備本質安全性能;
隨著互聯網技術的發展與普及推廣,Ethernet傳輸速率的提高和Ethernet交換技術的發展,上述問題在工業以太網中正在迅速得到解決。
Ethernet應用于工業現場的關鍵技術
(一)通信確定性與實時性
工業控制網絡不同于普通數據網絡的最大特點在于它必須滿足控制作用對實時性的要求,即信號傳輸要足夠快和滿足信號的確定性。實時控制往往要求對某些變量 的數據準確定時刷新。由于Ethernet采用CSMA/CD方式,網絡負荷較大時,網絡傳輸的不確定性不能滿足工業控制的實時要求,故傳統以太網技術難 以滿足控制系統要求準確定時通信的實時性要求,一直被視為“非確定性”的網絡。
工業以太網采取了以下措施使得該問題基本得到解決:
采用快速以太網加大網絡帶寬
Ethernet的通信速率從10、100Mb/s增大到如今的1、10Gb/s。在數據吞吐量相同的情況下,通信速率的提高意味著網絡負荷的減輕和網絡傳輸延時的減小,即網絡碰撞機率大大下降,從而提高其實時性。
采用全雙工交換式以太網
用交換技術替代原有的總線型CSMA/CD技術,避免了由于多個站點共享并競爭信道導致發生的碰撞,減少了信道帶寬的浪費,同時還可以實現全雙工通信,提高信道的利用率。
降低網絡負載
工業控制網絡與商業控制網絡不同,每個結點傳送的實時數據量很少,一般為幾個位或幾個字節,而且突發性的大量數據傳輸也很少發生,因此可以通過限制網段站點數目,降低網絡流量,進一步提高網絡傳輸的實時性。
應用報文優先級技術
在智能交換機或集線器中,通過設計報文的優先級來提高傳輸的實時性。
(二)安全性
在工業生產過程中,很多現場不可避免地存在易燃、易爆或有毒氣體等,對應用于這些工業現場的智能裝置以及通信設備,都必須采取一定的防爆技術措施來保證工業現場的安全生產。
在目前技術條件下,對以太網系統采用隔爆、防爆的措施比較可行,即通過對Ethernet現場設備采取增安、氣密、澆封等隔爆措施,使現場設備本身的故 障產生的點火能量不外泄,以保證系統運行的安全性。對于沒有嚴格的本安要求的非危險場合,則可以不考慮復雜的防爆措施。
工業系統的網絡安全是工業以太網應用必須考慮的另一個安全性問題。工業以太網可以將企業傳統的三層網絡系統,即信息管理層、過程監控層、現場設備層,合成一體,使數據的傳輸速率更快、實時性更高,并可與Internet無縫集成,實現數據的共享,提高工廠的運作效率。
但同時也引人了一系列的網絡安全向題,工業網絡可能會受到包括病毒感染、黑客的非法入侵與非法操作等網絡安全威脅。
一般情況下,可以采用網關或防火墻等對工業網絡與外部網絡進行隔離,還可以通過權限控制、數據加密等多種安全機制加強網絡的安全管理。
(三)穩定性與可靠性
傳統的Ethernet并不是為工業應用而設計的,沒有考慮工業現場環境的適應性需要。由于工業現場的機械、氣候、塵埃等條件非常惡劣控制工程網版權所有,因此對設備的工業可靠性提出了更高的要求。在工廠環境中,工業網絡必須具備較好的可靠性、可恢復性及可維護性。
為了解決在不間斷的工業應用領域,在極端條件下網絡也能穩定工作的問題,美國Synergetic微系統公司和德國Hirschmann,Jetter AG等公司專門開發和生產了導軌式集線器、交換機產品,安裝在標準DIN導軌上,并有冗余電源供電,接插件采用牢固的DB-9結構。
此外,在實際應用中,主干網可采用光纖傳輸,現場設備的連接則可采用屏蔽雙絞線,對于重要的網段還可采用冗余網絡技術,以此提高網絡的抗干擾能力和可靠性。
(四)總線供電問題
總線供電(或稱總線饋電)是指連接到現場設備的線纜不僅傳輸數據信號,還能給現場設備提供工作電源。對于現場設備供電可以采取以下方法:
在目前以太網標準的基礎上適當地修改物理層的技術規范,將以太網的曼徹斯特信號調制到一個直流或低頻交流電源上,在現場設備端再將這兩路信號分離開來。
不改變目前物理層的結構,而通過連接電纜中的空閑線纜為現場設備提供電源。檢驗一下這種工業以太網解決方案,它擴大了從控制室到車間的通信范圍,不論是定時關鍵型應用還是苛刻環境下的應用均適用。
解決方案主要特性:
帶集成 MAC 的 Sitara? ARM? Cortex?-A8 處理器
支持主要的工業以太網協議
IEEE 1588 精確時間協議 10/100 PHY
8 納秒時間戳分辨率
迷你-極限溫度 10/100 PHY
在 -40 到 125°C 下無錯操作在 137m 以上
方案框圖
相關器件:
1.DP83630 – 高精度 PHYTER? - IEEE 1588 精確時間協議收發器,具有準確性,低延遲性,并允許選擇微控制器無需任何硬件定制。
系統框圖:
功能框圖:
詳細資料:DP83630:高精度 PHYTER - IEEE 1588 精確時間協議收發器
2.AM3359 – Sitara ARM Cortex-A8 處理器。基于 ARM Cortex-A8 的AM335x微處理器在圖像、圖形處理、外設和諸如 EtherCAT 和 PROFIBUS 的工業接口選項方面進行了增強。
詳細資料:AM3359:Sitara ARM Cortex-A8 處理器
3.DP83848H – 迷你-極限溫度單路 10/100 以太網收發器。
系統框圖:
功能框圖:
詳細資料:DP83848H:迷你-極限溫度單路 10/100 以太網收發器
博通BroadR-Reach汽車以太網互連技術采用單對非屏蔽雙絞線電纜和標準以太網PHY組件實現100Mbps速率數據傳輸,其互聯成本可降低多達80%,為車內互連提供了創新的解決方案。
隨著汽車電子產品的大量普及,車內安全、娛樂、診斷和輔助電子設備的數量在不斷增加,設備之間的互連需求也越來越復雜。同時,車內的模擬系統也不斷向數 字系統遷移,包括ADAS(高級駕駛員輔助系統)中的攝像頭由模擬轉向數字、車載娛樂系統中藍光、高清顯示的需求等等都給車內互連網絡系統的帶寬帶來了很 大的挑戰,大量的數據需要更大的帶寬來傳輸。
另一方面,對汽車制造商而言,他們希望車內互連網絡系統是開放和可擴展的,可以支持多種系 統和設備,具有融合能力,這樣當有新的應用和設備引進時就可以很容易地加入到系統中去。當然,越來越多設備的增加也導致了車內互連電纜數量的增多,成本也 隨之提升。汽車制造商亦希望在滿足汽車嚴格的技術要求、保證連接可靠性和穩定性的前提下,找到更低成本的互連方案。
博通公司推出創新的 BroadR-Reach汽車互連解決方案很好地滿足了汽車制造商們的需求。這是該公司首次進軍汽車市場后推出的業內第一個汽車以太網互連解決方案,該方 案利用單對非屏蔽雙絞線電纜和標準以太網PHY組件組成車內以太網互連網絡,可實現100Mbps速率全雙工數據傳輸,PHY與上層MAC之間連接采用標 準的MII接口。此互連網絡除可傳輸數據外,還支持POE功能,即雙絞線在傳輸數據的同時還可以為連接終端供電,省去了終端外接電源,降低了供電的復雜 度。
與傳統的LVDS技術相比,BroadR-Reach互連方案優勢顯著。LVDS線纜為了滿足汽車電磁輻射和溫度的嚴格要 求,需要有很厚的屏蔽層,同時連接器也比較大和復雜。而BroadR-Reach方案采用的單對非屏蔽雙絞線較之LVDS線纜,不僅能實現同樣的功能,且 減少了互連成本。
BroadR-Reach汽車以太網產品系列包括五款芯片。其中兩款是以太網PHY芯片,另外三款是嵌入了PHY的高 集成度交換芯片。其中交換芯片 BCM89500和BCM89501的應用主要是將汽車網絡中的多個終端互連,而交換芯片BCM89200主要用于互連汽車內的多個ECU。PHY芯片 BCM89610用于汽車熄火時的車內診斷系統,而同是PHY芯片的BCM89810則是針對車內多種設備之間的互連應用。
從BroadR-Reach解決方案在ADAS系統中的應用示意圖中可以看到,帶有PHY的攝像頭將視頻等數據信息通過單對雙絞線傳送到交換芯片上,交 換芯片把各通道采集的信息匯聚到一起,通過電子控制單元中的CPU做一定的處理如編解碼處理,然后將視頻輸出到顯示器上。
在車載信息娛 樂系統的應用上,目前主流的MOST技術的連接方式是將多個設備環形地連接在一起,設備間共享最大速率為150Mbps帶寬,當某個設備占用很大帶寬的時 候,別的設備可能就沒有帶寬資源可以使用了。與MOST相比,基于標準以太網BroadR-Reach技術為每個設備提供專用的 100Mbps帶寬,上行速率甚至可以達到1Gbps;同時它還具有鏈路匯聚功能,例如可以把兩條不同的百兆物理鏈路匯聚成邏輯上可看作為一條的兩百兆鏈 路,這樣可以簡單地按鏈路數量線性擴展帶寬,為要使用大帶寬的設備提供快速的帶寬增加。這種鏈路的匯聚還能提供冗余保護,當某條鏈路出錯時,可以很快地轉 到另一條鏈路上,以確保數據的順利傳輸。
Xilinx的千兆以太網解決方案
一、Xilinx的千兆以太網解決方案
1)IP的支持
Xilinx 提供了可參數化的10/1Gbps以太網媒體訪問控制器功能LogiCORE解決方案。該核設計用來同最新的Virtex-5、Virtex-4和 Virtex-II Pro平臺FPGA一起工作,并可以無縫集成到Xilinx設計流程中。吉比特級以太網媒體訪問控制器核(GEMAC)是針對1Gb/s(Gbps)以太 網媒體訪問控制器功能的可參數化的LogiCORE IP解決方案。GEMAC核的設計符合 IEEE 802.3-2002規范。GWMAC核支持兩個PHY端接口選項:GMII或RGMII。并且,Xilinx 全面的1Gb/s以太網解決方案包含吉比特MAC和PCS/PMA IP核產品。Xilinx吉比特以太網MAC解決方案還包括帶有內置處理器本地總線(PLB)接口(PLB GEMAC)的配置。該配置通過Xilinx嵌入式開發套件(EDK)提供。GEMAC LogiCORE IP可以實現與1000 Base-X PCS/PMA或SGMII核的無縫集成,并提供3種選項用來與PHY器件接口:1000 BASE-X或10位接口(TBI)或SGMII。
GEMAC核非常適合開發高密度吉比特級以太網通信和存儲設備,其關鍵特性有:
單速全雙工11 Gbps MAC控制器;
設計符合IEEE 802.3-2002規范;
具有最小緩沖的直通操作,以最大限度地實現客戶端接口的靈活性;
通過可選的獨立微處理器中的接口進行配置和監控;
直接與以太網統計數據核接口,以便實現功能強大的統計數據收集;
通過MAC控制暫停幀實現對稱的或非對稱的可選的流程控制;
VLAN幀的可選技術支持符合IEEE 802.3-2002規范的要求;
支持任意長度的“jumbo幀”(可選);
可選的地址濾波器,具有數量可選的地址表輸入。
2)相應的開發板套件
Xilinx 提供的千兆以太網開發套件為Virtex-5 ML505/ML506開發板(使用的FPGA芯片為:XC5VLX50T-1FF1136),該開發板支持10/100兆、1/10吉以太網,加上 Xilinx公開的基于ML505/506的設計,可為基于以太網開發的設計提供全方位的參考。此外,ML505/506還具備SFP、PCI E、SATA以及SMA接口等其余吉比特接口,是學習和研發高速連接設備的理想平臺。
二、基于FPGA的千兆以太網MAC控制器實現方案
整體設計方案
以太網控制器的FPGA設計工作包括以太網MAC子層的FPGA設計、MAC子層與上層協議的接口設計以及MAC與物理層(PHY)的MII接口設計。 該以太網控制器的總體結構設計框圖如圖10-30所示。整個系統分為發送模塊、接收模塊、MAC狀態模塊、MAC控制模塊、MII管理模塊和主機接口模塊 六部分。發送模塊和接收模塊主要提供MAC幀的發送和接收功能,其主要操作有MAC幀的封裝與解包以及錯誤檢測,它直接提供了到外部物理層芯片的并行數據 接口。在實現中物理層處理直接利用商用的千兆PHY芯片,主要開發量集中在MAC控制器的開發上。
圖1 以太網控制器的結構設計框圖
MAC 控制模塊則用于執行全雙工模式中的流量控制功能。MAC狀態模塊可用來監視MAC操作過程的各種狀態信息,并作修改。MII管理模塊提供了標準的IEEE 802.3介質獨立接口,可用于連接以太網的鏈路層與物理層。主機接口則提供以太網控制器與上層協議(如TCP/IP協議)之間的接口,以用于數據的發 送、接收以及對控制器內各種寄存器(控制、狀態和命令寄存器)的設置。
三、Xilinx 千兆以太網MAC IP Core
1.GMAC IP Core的應用場景和架構
Xilinx 提供了三態以太網MAC控制器的IP Core,可實現單條吉比特以太網鏈路,通過交換機或路由器可與任意以太網端口相連。由于MAC控制器的速率很高,底層傳輸必須依賴Rocket I/O,在客戶端還需要利用FIFO來交換數據,其完整的設計方案如圖10-35所示。
圖6? 千兆以太網MACIP Core的應用場合示意圖
2.GMAC IP Core的配置界面和接口信號
圖7? 千兆以太網MACIP Core的配置界面
千兆以太網MACIP Core的配置界面如圖10-36所示。GEMAC控制器所實現的主要功能如圖10-37所示,包括發送引擎、接收引擎、流控制、GMII接口、客戶發送接口、客戶接收接口以及客戶管理接口。
圖8 千兆以太網MACIP Core的主要功能示意圖
四、 本章小結
高速串行傳輸技術是FPGA未來的三大應用領域之一,本章主要介紹了Xilinx公司的Rocket I/O解決方案。首先給出高速傳輸的背景,指出串行方式是吉比特以及更高速率鏈路的必然選擇。其次,給出了吉比特串行傳輸的通用架構,為后文做好鋪墊。接 著重點介紹了Xilinx公司Rocket I/O的系統組成、相關協議、時鐘設計方案、開發要素以及Rocket I/O的使用方法。最后說明了千兆以太網MAC控制器IP Core的使用方法。讀者需要注意的是Rocket I/O是Xilinx高端FPGA中的內嵌組件,和DCM、硬核乘法器、塊RAM等的使用方法是一樣的,可通過IP Core調用。高速傳輸是一種新技術,開發難度較大,本章只是介紹了其中的主要核心部分和基本原理,還需要讀者閱讀大量的文獻和實際操作才能熟練開發相關系統。
文章詳情:Xilinx的千兆以太網解決方案
Altera的千兆以太網解決方案
1 IP核的支持
Altera提供了可參數化的千兆以太網megacore解決方案。該方案可在Altera的Arria GX,CycloneII,CycloneIII系列FPGA上工作,可配置使其包含MAC,PCS,PMA模塊中的一種或多種,配置選擇及相應的接口標準。
千兆以太網IP核的功能描述如下:
(1)支持IEEE 802.3標準。
(2)10/100/1 000 Mb,s以太網媒體訪問控制支持半雙工和全雙工工作模式。
(3)多通道MAC,支持最多24端口。
(4)以太網物理層編碼子層1000BASE一X/SGMII標準的自協商。
(5)接口使用方便。
對于千兆以太網控制器的實現,采用表第l行的配置。吉比特級以太網媒體控制器核(GEMAC)是針對1 Gb/s以太網媒體訪問控制器功能的可參數化的megacore解決方案。
2 基于FPGA的千兆以太網MAC控制器實現方案
2.1 整體設計方案
以太網控制器的FPGA設計工作包括以太網MAC子層的FPGA設計,MAC子層與上層協議的接口設計以及MAC與物理層(PHY)的GMII接口設計。該以太網控制器的總體結構設計框圖如圖1所示,整個系統分為MAC模塊,主機接口模塊和管理數據輸入輸出模塊。其中,MAC模塊主要執行在全雙工模式下的流量控制,MAC幀實現發送和接收功能,其主要操作有MAC幀的封裝與解包以及錯誤檢測,直接提供了到外部物理層器件的并行數據接口,物理層處理直接利用商用千兆PHY器件,主要開發集中在MAC控制器的研究。
管理數據輸入輸出模塊提供了標準的IEEE802.3介質獨立接口,可用于連接以太網的鏈路層和物理層。主機接口則提供以太網控制器與上層協議(如TCP/IP協議)之間的接口,用于數據的發送、接收以及對控制器內各種寄存器的設置。
2.2 接口描述
整個系統模塊間的接口連接如圖2所示。其中,PCS和PMA分別代表物理層的物理編碼子層和物理介質接入層。
(1)通過MII/GMII接口提供了與以太網物理層(PHY)設備的無縫連接。
(2)吉比特模式下支持RGMII接口。
(3)可選擇的管理數據輸入/輸出模塊為以太網PHY提供管理信息。
(4)為用戶提供基于Aalon—ST的8 bit/32 bit接口。
(5)可選擇的集成物理介質介入模塊。
2.3 千兆以太網IP核
Altera提供三態以太網MAC控制器IP核,可實現單條或多條吉比特以太網鏈路,通過交換機或路由器可與任意以太網端口相連。其配置界面如圖3所示。
整個配置界面可將IP核配置為所需模式并進行IP核參數設置,將IP核設置為千兆以太網MAC模塊,內部提供FI—FO模塊。可選的PCS模塊由PHY器件提供,這個界面分為4個配置頁面,描述如下:
Core Configuration:核配置選項,配置以太網功能模塊,是否包含PCS模塊、FIFO模塊,配置接口類型、端口數等;
MAC Options:MAC配置選項,配置MAC模塊功能;
FIFO Options:FIFO存儲器選項,可設置FlFO存儲器類型以及存儲器數據長度;
PCS/SGMII Options:物理介質接入層模塊配置頁面,配置物理層。
相應的接口信號包括:控制接口信號,復位信號,MAC系統端信號(包括接收接口信號和發送接口信號),MAC以太網端信號(包括GMII模塊信號和PHY管理接口信號)。
表1中描述了MAC以太網端GMII模塊信號、接口信號,其余信號參考千兆以太網用戶手冊。GMII模塊的接收信號一般直接連到PHY器件,負責與PHY器件的數據交互,其信號與PHY器件接口一一對應,如表1所列。
4 物理層(PHY)器件
Ahera公司的千兆以太網MAC核默認支持的物理層器件有支持10/100 Mb/s的National DP83848C,支持10/100/1 000 Mb/s的National DP83865,Marveil 88E1145以及支持雙物理層和10/100/l 000 Mb/s的Marvell 88E1111。在此,選擇National DP83865為PHY器件。
MAC核與吉比特PHY器件通過GMII接口的連接如圖4所示。
DP83865是National Semiconductor公司的全特性物理層收發器,集成了PMD子層以支持10BASE-T,100BASE-TX和1000BASE-T以太網協議,具有超低功耗,3.3V或2.5VMAC接口。
5 開發環境
利用Ahera強大的SOPC Builder系統開發工具和Quar-tusII軟件設計,基于QuartusII和niosII的SOPC設計流程如圖5所示,SOPC開發流程比 FPGA的開發流程(細線框)多增加處理器及其外設接口的定制步驟和軟件開發步驟(粗線框)。這些新增加的步驟在SOPC Builder,niosII IDE工具的協助下能夠輕松完成。
6 結語
使用千兆網系統可直接將處理的高速信號從網口發送給遠端處理計算平臺,節省功率放大器和高頻電纜等,減少投入,加強系統的集成性和可靠性,更便于設計人員的調試,且接口更具通用性和擴展性。
近年來,隨著以太網技術的進一步發展和完善,特別是通信速率的提高和交互技術的應用,使得以太網技術應用于現場控制領域成為可能,這對工業控制 網絡產生了新的影響。從目前的趨勢來看,以太網己經進入了現場控制級,但是已有的現場總線仍將繼續存在,工業以太網只能占領一定的市場。
從現實來看,以太網擴展了現有的系統,但是現場總線不可能完全被工業以太網替代,后者的潛力巨大,其應用領域一定會不斷擴大。所以,將現場總線與以太網 結合,從而實現底層生產與上層管理的緊密集成,已經成為一種趨勢。CAN總線作為國際上應用最廣泛的現場總線之一,在我國也得到了很廣泛的應用,該設計以 CAN總線作為工業現場總線,實現其與以太網的互聯。
1 硬件結構
目前,對于 CAN和以太網相連的嵌入式網關設計主要有兩種方法:一種是低檔MCU加接口芯片的設計方法,另一種是高檔MCU加EOS(實時多任務操作系統)再加接口 芯片的設計方法。因CAN只采用了ISO/OSI參考模型的一、二層,協議相對簡單,比較適合用于低成本、速率要求不高的離散控制系統。從合理的成本和有 效利用處理能力這兩方面考慮,該設計采用低檔MCU加接口芯片的方法,其硬件框圖見圖 1。
1.1 主控芯片及以太網接口模塊
根據要求,該系統選擇了性能價格比較高的Atmel公司生產的AT89C55單片機。它是面向測控對象和嵌入式應用的,所以它的體系結構以及CPU、指 令系統、外圍單元電路都是按照這種要求專門設計的。它內部帶高達20 KB的FLASH程序存儲器,AT89C55完全兼容8051指令集,片上FLASH方便了使用者進行在線編程,工作速率最高可達33 MHz,256 B的內部RAM,32個可編程的I/O口,3個16位的定時/計數器,8個中斷源,支持低功耗的空閑工作模式。以太網接口選用的是RTL8019AS芯 片,它是由Realtek公司生產的一種高度集成的以太網控制器,能實現以太網媒介訪問層(MAC)和物理層(PHY)的全部功能。RTL8019AS內 部有兩個RAM區域:一是16 KB,地址為0x4000~0x7fff,要接收和發送數據包必須通過DMA讀寫RTL8019AS內部的16 KB的RAM,它實際上是雙端口RAM,即有兩條總線與其連接,一條總線用于RTL8019AS讀/寫或寫/讀該RAM,即本地DMA;另一條總線用于單 片機讀或寫該RAM,即遠程DMA;二是32個字節,地址為0x0000~0x001F,用于存儲以太網物理地址。主控芯片和以太網接口芯片的硬件接口原 理圖見圖2。值得注意的是由于以太網的包最大可以超過1 500個字節,AT89C55的片內RAM只有256個字節,因此無法存儲這么大的包,所以這里擴展了一個32 KB的外部RAM,這樣同時也能提高單片機的數據傳輸速度。
1.2 CAN接口模塊
組成CAN系統的主要器件是CAN控制器和收發器。該設計中,CAN接口模塊選用SJA1000芯片和PCA82C250芯片。SJA1000是一個獨 立的CAN控制器,它是Philips公司另一個CAN控制器PCA82C200的替代產品,且增加了一種新的工作模式(Peli CAN),這種模式支持CAN 2.0B協議。SJA1000主要完成CAN的通信協議,實現報文的裝配和拆分、接收信息的過濾和校驗等。
PCA82C250是CAN控制器與物理總線之間的接口,主要用于增強系統的驅動能力。采用收發器的系統中,節點數至少可以達到110個,同時還具有降低射頻干擾(RFI)和很強的抗電磁干擾 (EMI)能力。在處理這部分電路時,有幾個地方要特別注意:
(1)晶振電路的問題。89C55和SJA1000都應該有各自獨立的晶振電路,不能夠用SJA1000的時鐘輸出信號CLKOUT來驅動單片機。
(2)復位引腳的問題。雖然SJA1000的復位是低電平,但不能通過一個非門直接連接單片機的復位引腳。一般對解決復位引腳問題有兩種方式:第一種是 使用單片機的I/O引腳控制SJA的復位引腳,其好處是單片機可以完全控制SJA的復位過程;第二種是采用適當的復位芯片,為了降低成本,該設計采取的是 第一種方法。
(3)RX1引腳的電位必須維持在約0.5 VCC上,否則將不能形成CAN協議所要求的邏輯電平。
(4)一定要注意電纜的終端阻抗匹配,它直接影響CAN總線是否能正常工作和網絡性能。CAN接口模塊的硬件電路圖見圖3,在PCA82C250的RS腳上接有一個斜率電阻R,可根據總線通信速度適當調整電阻的大小。
2 通信模塊軟件設計
2.1 SJA1000驅動程序的實現
SJA1000驅動程序是由SJA的初始化函數、發送函數、接收函數組成的,圖4所示為其流程圖。
(1)SJA1000的初始化。SJA1000在系統上電、硬件復位或主控制器發出復位命令后需要進行初始化,以設定它的工作模式、通信速率、輸出控制 方式和標識符屏蔽格式等重要參數。CAN控制器SJA1000的初始化只能在復位模式下才能完成。程序的流程圖如圖4所示。
首先程序檢測CAN接口是否正常工作,即向SJA1000的測試寄存器寫入并讀出,校驗其結果是否一致,如果結果一致則進入復位模式進行初始化設置。在初始化的過程中,如果對某個寄存器的設置超過規定的時間還未完成,則認為初始化失敗,初始化程序自動發送錯誤信號。
(2)數據的發送與接收。SJA1000芯片有一個報文發送緩沖區和兩個報文接收緩沖區,用于CAN報文傳送。數據從CAN控制器SJA1000發送到 CAN總線首先是由CAN控制器自動完成的,發送數據程序把數據存儲區中待發送的數據取出,組成信息幀,并將主機的ID地址填人幀頭;然后將信息幀發送到 CAN控制器的發送緩沖區;最后啟動發送命令即可。信息從CAN總線到CAN接收緩沖區也是由CAN控制器自動完成的。接收程序只需從接收緩沖區讀取要接 收的信息,并將其存儲在數據存儲區即可。
2.2 RTL8019AS驅動程序的實現
RTL8019AS的驅動程序和SJA的驅動程序一樣,有3種功能:芯片初始化、收包、發包。
(1)RTL8019AS的初始化。RTL8019AS的初始化過程比較復雜,但十分重要,它決定了通信過程中的一些重要參數。如設置相關工作模式的寄存器,分配和初始化接收及發送緩沖區,初始化網卡接收地址等,其流程圖見圖5所示。
(2)數據的發送與接收。因為在RTL8019AS的初始化程序中已經完成了以太網的物理地址設置,并指定了發送緩沖區起始頁面地址寄存器TPSR。此 外,RTL8019AS的CRC校驗自動生成器也被使能,所以RTL8019AS的數據包發送程序相對要簡單。在數據包的發送過程中,AT89C55只要 通過遠程DMA將待發送的數據包寫至RTL8019AS片內SRAM的發送緩沖區,并啟動發送過程即可。
在接收數據包時,有查詢和中斷兩種方式,鑒于AT89C55的處理能力有限,在該設計中采用查詢方式,根據判斷CURB==BNRY+1,可以判斷是否收到新的數據包,如果有則通過DMA讀操作從網卡芯片RAM讀出數據。
2.3 網關協議轉換流程
嵌入式網絡接口實現兩種網絡的互連。當以太網應用層有數據要發送到CAN節點時,首先將數據發送到網關,由以太網控制器協議轉換模塊解析完整的CAN協 議數據包,通過CAN控制器發送到CAN總線。反之,當CAN設備有數據要發送到用戶層時,首先將數據發送到透明網關,由CAN控制器協議模塊將完整的 CAN協議數據包存放在緩沖區,再通知主控芯片,由它調用以太網控制協議轉換模塊,將完整的 CAN協議數據包作為應用層數據封裝起來,再發送到以太網的應用層。
3 結 語
這里介紹的是一種低成本、高可靠性、快捷的CAN以太網網關的硬件、軟件設計方案,通過實際應用證明,該設計可以作為CAN總線節點的一個模塊,能夠與儀器儀表等設備相結合,使其具有網絡通信的能力,比較同類產品的設計,該設計能大大提高其性價比。
------------------------------------------------------------------------
以太網資料集綿——以太網技術:邁向工業物聯新時代
評論
查看更多