以太網(wǎng)標(biāo)準(zhǔn)與驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)
因?yàn)槎喾N原因,工業(yè)以太網(wǎng)已成為工廠自動(dòng)化的主流技術(shù)。而沒(méi)有引起同樣重視的是,需要在供應(yīng)商系統(tǒng)中實(shí)現(xiàn)這一通信技術(shù)。本文從工廠自動(dòng)化供應(yīng)商開(kāi)發(fā)從機(jī)系統(tǒng)的角度出發(fā),介紹實(shí)現(xiàn)工業(yè)以太網(wǎng)的各種選擇,例如I/O模塊和驅(qū)動(dòng)等從機(jī)系統(tǒng)。
這些OEM面臨的難題可以從查看機(jī)系統(tǒng)體系結(jié)構(gòu)開(kāi)始。供應(yīng)商并非針對(duì)某一協(xié)議來(lái)設(shè)計(jì)從機(jī)系統(tǒng),而必須支持可以在工廠中實(shí)現(xiàn)的任何標(biāo)準(zhǔn),不能指定某一種協(xié)議,因此系統(tǒng)必須適應(yīng)任何一種協(xié)議。
開(kāi)發(fā)的從機(jī)協(xié)議新標(biāo)準(zhǔn)也有獨(dú)特的硬件特性,它們不能使用標(biāo)準(zhǔn)MAC實(shí)現(xiàn)。這些都直接影響對(duì)實(shí)現(xiàn)平臺(tái)的選擇。
以太網(wǎng)簡(jiǎn)介
一開(kāi)始,以太網(wǎng)——10 Mbps最初的以太網(wǎng)、100 Mbps的快速以太網(wǎng),以及1 Gbps的千兆以太網(wǎng),是在共享介質(zhì)上在器件之間傳送信號(hào),都不能適應(yīng)工業(yè)應(yīng)用。而快速以太網(wǎng)(100 Mbps)的出現(xiàn),其交換模式支持全雙工功能,意味著可以在兩個(gè)器件之間構(gòu)建點(diǎn)對(duì)點(diǎn)鏈接,使得以太網(wǎng)能夠用于大部分工業(yè)應(yīng)用中。
但是,所有工業(yè)以太網(wǎng)協(xié)議都需要作出一定程度的判決,傳統(tǒng)上是通過(guò)使用軟件協(xié)議堆棧來(lái)解決的。一些新協(xié)議已經(jīng)開(kāi)始使用特殊MAC結(jié)構(gòu)來(lái)實(shí)現(xiàn)更好的延時(shí)。圖1顯示了一些工業(yè)以太網(wǎng)協(xié)議的結(jié)構(gòu)。
對(duì)速度的要求(或延時(shí))
工廠自動(dòng)化系統(tǒng)有實(shí)時(shí)響應(yīng)要求。“實(shí)時(shí)”是什么?答案是取決于應(yīng)用類型。有時(shí)候,按照數(shù)百毫秒來(lái)衡量,而有時(shí)候按照微秒來(lái)衡量。有不同的設(shè)計(jì)方法使得通信協(xié)議能夠滿足不同的延時(shí)要求。
圖1:工業(yè)以太網(wǎng)協(xié)議體系結(jié)構(gòu)
如圖1所示,PHY層通常是獨(dú)立的模擬器件。但是,可以在數(shù)字邏輯器件中實(shí)現(xiàn)其他功能,由處理器針對(duì)協(xié)議棧以及定制應(yīng)用來(lái)運(yùn)行軟件。
而所有的工業(yè)以太網(wǎng)協(xié)議都需要特殊的軟件堆棧,某些新協(xié)議在MAC以及交換上使用獨(dú)特的非標(biāo)準(zhǔn)設(shè)計(jì)。
EtherCAT和Powerlink是兩種較新的協(xié)議,需要特殊的MAC設(shè)計(jì)。特別是EtherCAT使用了創(chuàng)新的方法,在一個(gè)以太網(wǎng)幀中封裝了更多的數(shù)據(jù)包。多個(gè)從機(jī)器件的數(shù)據(jù)被封裝到一個(gè)以太網(wǎng)幀中。當(dāng)從機(jī)器件讀取以太網(wǎng)幀時(shí),它必須為自己提取出數(shù)據(jù)包的內(nèi)在含義,而忽略其他信息——更重要的是,它必須能夠“隨時(shí)”完成這一工作。當(dāng)連接了很多從機(jī)器件時(shí),也要滿足最低延時(shí)要求。典型的應(yīng)用是運(yùn)動(dòng)控制以及多軸機(jī)器人驅(qū)動(dòng)。
這一協(xié)議好的一面是,會(huì)引起一個(gè)幀延時(shí)而不是256幀延時(shí)(如果您是網(wǎng)絡(luò)上的第256個(gè)從機(jī)器件)。
為支持所選擇的協(xié)議,從機(jī)器件中的MAC設(shè)計(jì)不同于傳統(tǒng)的以太網(wǎng)MAC,是非標(biāo)準(zhǔn)的,需要FPGA或者ASIC特殊設(shè)計(jì)。圖2顯示了不同的實(shí)時(shí)要求是怎樣導(dǎo)致通信協(xié)議標(biāo)準(zhǔn)不同體系結(jié)構(gòu)的。
從系統(tǒng)設(shè)計(jì)的角度看,如果您必須支持標(biāo)準(zhǔn)MAC實(shí)現(xiàn)以及特殊實(shí)現(xiàn),那么,設(shè)計(jì)應(yīng)包含MAC設(shè)計(jì),或者是硬件可編程的。
圖2:不同的實(shí)時(shí)要求導(dǎo)致不同的實(shí)現(xiàn)
關(guān)鍵趨勢(shì)影響了系統(tǒng)設(shè)計(jì)
驅(qū)動(dòng)和I/O模塊(工廠自動(dòng)化中典型的從機(jī)器件)的第一個(gè)發(fā)展趨勢(shì)是通信功能的深度嵌入,這是由于系統(tǒng)成本下降、外形減小以及功耗預(yù)算降低等因素造成的。
過(guò)去,客戶花費(fèi)數(shù)百美元來(lái)購(gòu)買商用通信模塊,然后將其加入到驅(qū)動(dòng)模塊中。這類模塊性價(jià)比不高,而且也不適用于小外形封裝驅(qū)動(dòng)設(shè)計(jì)。
另一替代方案是包括單獨(dú)的ASSP專用于實(shí)現(xiàn)通信功能。由于不同的客戶會(huì)使用不同的工業(yè)以太網(wǎng)標(biāo)準(zhǔn),因此,這種ASSP可能會(huì)被過(guò)度設(shè)計(jì),以支持多種協(xié)議。
但是,供應(yīng)商希望將他們所有的數(shù)字驅(qū)動(dòng)功能集成到一個(gè)硅片中,要求通信協(xié)議功能規(guī)模不大,能夠作為整個(gè)“芯片驅(qū)動(dòng)”設(shè)計(jì)的組成部分來(lái)實(shí)現(xiàn)。
圖3顯示了工業(yè)以太網(wǎng)功能實(shí)現(xiàn)的轉(zhuǎn)變。
圖3:從模塊到器件,到芯片集成功能
第二個(gè)趨勢(shì)是工業(yè)以太網(wǎng)標(biāo)準(zhǔn)的快速發(fā)展。與現(xiàn)場(chǎng)總線協(xié)議相似,有很多類型的工業(yè)以太網(wǎng)協(xié)議,最重要的是,這些標(biāo)準(zhǔn)并沒(méi)有在市場(chǎng)上合并。
驅(qū)動(dòng)系統(tǒng)供應(yīng)商必須能夠支持6到8個(gè)標(biāo)準(zhǔn),才能將其產(chǎn)品銷售到全球不同的工廠中。例如,如果您希望在亞洲和歐洲同時(shí)銷售您的驅(qū)動(dòng)設(shè)備,同時(shí)適應(yīng)EtherCAT和Ethernet Powerlink,那么,您需要:
· 設(shè)計(jì)、開(kāi)發(fā),并維持兩組驅(qū)動(dòng)設(shè)計(jì)
或者
· 包括ASSP以支持多種協(xié)議——希望協(xié)議不會(huì)變化
或者
· 使用可編程平臺(tái)
表1列出了流行于全世界的某些競(jìng)爭(zhēng)以太網(wǎng)標(biāo)準(zhǔn)。
表1:出現(xiàn)了競(jìng)爭(zhēng)以太網(wǎng)標(biāo)準(zhǔn),基于底層現(xiàn)場(chǎng)總線協(xié)議
過(guò)去,當(dāng)工業(yè)以太網(wǎng)標(biāo)準(zhǔn)使用標(biāo)準(zhǔn)MAC/交換機(jī)時(shí),很容易采用MPU進(jìn)行通信。如果您需要支持新標(biāo)準(zhǔn),您只需要交換協(xié)議棧(軟件)。但是,正如前面所討論的,很多新標(biāo)準(zhǔn)需要特殊的MAC實(shí)現(xiàn)。
很顯然,應(yīng)對(duì)這些新標(biāo)準(zhǔn)時(shí),在標(biāo)準(zhǔn)MPU上采用標(biāo)準(zhǔn)以太網(wǎng)MAC和交換機(jī)對(duì)通信協(xié)議進(jìn)行標(biāo)準(zhǔn)化處理是不夠的。
某些MPU供應(yīng)商開(kāi)發(fā)了創(chuàng)新方法,例如開(kāi)發(fā)專用嵌入式處理器使用的定制微代碼,用于仿真非標(biāo)準(zhǔn)MAC。但是,編寫(xiě)專用RISC引擎定制微代碼來(lái)仿真硬件MAC并不是實(shí)現(xiàn)或者更新邏輯設(shè)計(jì)最直接簡(jiǎn)單的方法。
需要特殊MAC實(shí)現(xiàn)的協(xié)議通常采用定制硬件方法,取決于產(chǎn)量以及要求的價(jià)格點(diǎn)而使用ASIC或者FPGA。而且,MAC設(shè)計(jì)總是有可能隨著標(biāo)準(zhǔn)的發(fā)展而改變。為保證您的設(shè)計(jì)今后不會(huì)過(guò)時(shí),采用可編程方法是最安全的。
另一考慮是可能向千兆以太網(wǎng)發(fā)展。由于幾乎所有的FPGA都支持千兆以太網(wǎng),即使標(biāo)準(zhǔn)開(kāi)始向高于1 Gbps速率發(fā)展,經(jīng)過(guò)深思熟慮的系統(tǒng)設(shè)計(jì)也需要新的FPGA編程文件來(lái)支持這類標(biāo)準(zhǔn)的發(fā)展。
在可編程架構(gòu)中以深度嵌入的功能來(lái)實(shí)現(xiàn)工業(yè)以太網(wǎng)使您不僅能夠以相同的硬件靈活的支持多種協(xié)議,而且還受益于高度集成的設(shè)計(jì)——功耗、成本和外形封裝。