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