【導(dǎo)讀】工業(yè)4.0為遠(yuǎn)距離實(shí)現(xiàn)邊緣智慧帶來了曙光,而10BASE-T1L以太網(wǎng)絡(luò)的數(shù)據(jù)線供電(PoDL)功能、高數(shù)據(jù)傳輸速率以及與以太網(wǎng)絡(luò)協(xié)議兼容,也為未來發(fā)展鋪路。本文介紹如何在自動化和工業(yè)場景中整合新的10BASE-T1L以太網(wǎng)絡(luò)物理層標(biāo)準(zhǔn),將控制器和用戶接口與端點(diǎn)(例如多個傳感器和執(zhí)行器)相連接,所有組件均使用標(biāo)準(zhǔn)以太網(wǎng)絡(luò)接口進(jìn)行雙向通訊。
工業(yè)4.0為遠(yuǎn)距離實(shí)現(xiàn)邊緣智慧帶來了曙光,而10BASE-T1L以太網(wǎng)絡(luò)的數(shù)據(jù)線供電(PoDL)功能、高數(shù)據(jù)傳輸速率以及與以太網(wǎng)絡(luò)協(xié)議兼容,也為未來發(fā)展鋪路。本文介紹如何在自動化和工業(yè)場景中整合新的10BASE-T1L以太網(wǎng)絡(luò)物理層標(biāo)準(zhǔn),將控制器和用戶接口與端點(diǎn)(例如多個傳感器和執(zhí)行器)相連接,所有組件均使用標(biāo)準(zhǔn)以太網(wǎng)絡(luò)接口進(jìn)行雙向通訊。
10BASE-T1L是針對工業(yè)連接的物理層標(biāo)準(zhǔn)。其使用標(biāo)準(zhǔn)雙絞線電纜,數(shù)據(jù)速率高達(dá)10 Mbps,電力傳輸距離長達(dá)1000公尺。低延遲和PoDL功能有助于實(shí)現(xiàn)對傳感器或執(zhí)行器等組件的遠(yuǎn)程控制。本文介紹如何實(shí)現(xiàn)一個能夠同步控制兩個或更多步進(jìn)馬達(dá)的遠(yuǎn)程主機(jī)系統(tǒng),借此展示遠(yuǎn)距離實(shí)時通訊的能力。
系統(tǒng)概述
圖1是系統(tǒng)級應(yīng)用的示意圖。在主機(jī)端,由 ADIN1100 和 ADIN1200 以太網(wǎng)絡(luò)PHY負(fù)責(zé)管理標(biāo)準(zhǔn)鏈路和10BASE-T1L鏈路之間的轉(zhuǎn)換,而在遠(yuǎn)程,控制器透過 ADIN1110 以太網(wǎng)絡(luò)MAC-PHY與鏈路接口,只需要一個SPI周邊來交換數(shù)據(jù)和命令。準(zhǔn)確的同步運(yùn)動控制利用Trinamic TMC5160 步進(jìn)馬達(dá)控制器和驅(qū)動器來實(shí)現(xiàn),這些組件可產(chǎn)生六點(diǎn)斜坡用于定位,而無需在控制器上進(jìn)行任何計(jì)算。選擇這些組件還能降低對微控制器所用周邊、計(jì)算能力和代碼大小的要求,進(jìn)而支持使用更廣泛的商用產(chǎn)品。
此外,在不超過預(yù)定功耗限制的情況下,整個遠(yuǎn)程子系統(tǒng)可以直接由數(shù)據(jù)線供電;因此,只有媒介轉(zhuǎn)換器板需要供應(yīng)區(qū)域電源。
圖1 : 系統(tǒng)概覽
系統(tǒng)硬件
該系統(tǒng)由四個不同的板組成:
●EVAL-ADIN1100板具有ADIN1200 10BASE-T/100BASE-T PHY,與ADIN1100 10BASE-T1L PHY搭配使用,可以將訊息從一種物理標(biāo)準(zhǔn)轉(zhuǎn)換為另一種物理標(biāo)準(zhǔn),其可以針對不同的工作模式進(jìn)行配置。本項(xiàng)目使用標(biāo)準(zhǔn)模式15(媒介轉(zhuǎn)換器)。EVAL-ADIN1100板并整合微控制器,用于執(zhí)行媒介轉(zhuǎn)換所需的基本配置和讀取診斷信息。但它不能與發(fā)送和接收的消息交互;該板對通訊完全透明。
●EVAL-ADIN1110是遠(yuǎn)程組件控制器的核心。ADIN1110 10BASE-T1L MAC-PHY透過10BASE-T1L鏈路接收數(shù)據(jù),并透過SPI接口將數(shù)據(jù)傳輸?shù)桨遢dCortex-M4微控制器進(jìn)行處理;該板并提供與Arduino Uno兼容的接頭,可利用這些接頭安裝擴(kuò)展板以增加更多功能。
●TMC5160擴(kuò)展板為一款基于Arduino擴(kuò)展板外型尺寸客制的開發(fā)板。單一擴(kuò)展板最多支持兩個TMC5160 SilentStepStick板,多個擴(kuò)展板可以堆棧在一起以增加可控馬達(dá)的最大數(shù)量。所有驅(qū)動器共享相同的SPI時鐘和數(shù)據(jù)訊號,但芯片選擇線保持獨(dú)立。
此種配置支持兩種通訊模式:如果芯片選擇線各自置為有效,則微控制器可以與單一控制器通訊,例如配置運(yùn)動參數(shù)。相反,如果同時將多條芯片選擇線置為有效,則所有選定的驅(qū)動器同時接收相同的命令。后一種模式主要用于運(yùn)動同步。該板還為StepStick提供了一些額外的輸入電容,以降低馬達(dá)啟動時的電流峰值,并使正常工作期間的電流曲線更加平滑。其允許使用PoDL為最多配有兩個NEMA17馬達(dá)的整個系統(tǒng)供電(默認(rèn)設(shè)定下,24 V時的最大傳輸功率為12 W)。該板支持使用螺絲端子來簡化與步進(jìn)馬達(dá)的連接,使控制器的相位輸出更容易存取。
●兩個EVAL-ADIN11X0EBZ板用于向系統(tǒng)增加PoDL功能,其中一個板用于媒介轉(zhuǎn)換器,另一個用于EVAL-ADIN1110EBZ。該板是一個插件模塊,可以安裝在評估板的MDI原型接頭上,并且可以配置為透過數(shù)據(jù)線提供和接收電力。
圖2 : 裝配好的EVAL-ADIN1110、EVAL-ADIN11X0EBZ和TMC5160擴(kuò)展板
軟件
為了保持代碼的輕量化并有效減少通訊開銷,沒有在數(shù)據(jù)鏈路層之上實(shí)現(xiàn)標(biāo)準(zhǔn)通訊協(xié)議。所有訊息都是透過預(yù)定義固定格式的以太網(wǎng)絡(luò)幀的有效載荷字段進(jìn)行交換。數(shù)據(jù)被組織成46字節(jié)的數(shù)據(jù)段,一個數(shù)據(jù)段由2字節(jié)的固定標(biāo)頭和44字節(jié)的數(shù)據(jù)字段組成。標(biāo)頭包括:一個8位組件類型字段,用于確定如何處理接收的數(shù)據(jù);以及一個8位組件ID字段,如果存在多個相同類型的組件,可以透過ID來選擇單一物理組件。
圖3 : 通訊協(xié)議格式
主機(jī)接口采用Python編寫,以確保與Windows和Linux主機(jī)兼容。以太網(wǎng)絡(luò)通訊透過Scapy模塊進(jìn)行管理,該模塊允許在堆棧的每一層(包括以太網(wǎng)絡(luò)數(shù)據(jù)鏈路)建立、發(fā)送、接收和運(yùn)算數(shù)據(jù)包。
協(xié)議中定義的每種組件都有一個相應(yīng)的類別,其中包括用于儲存要交換的數(shù)據(jù)的屬性,以及一組可用于修改這些屬性而不必直接編輯變量的方法。例如,若要在運(yùn)動控制器的速度模式下更改運(yùn)動方向,可以使用已定義的方法 "setDirectionCW()" 和 "setDirectionCCW() ",而不必手動為方向標(biāo)志賦值0或1。每個類別還包括一個"packSegment()"方法,該方法根據(jù)所考慮的設(shè)備組件的預(yù)定義格式,以字節(jié)數(shù)組的形式打包并返回與受控組件對應(yīng)的數(shù)據(jù)段。
韌體利用ChibiOS環(huán)境以C語言編寫,其中包括實(shí)時操作系統(tǒng)(RTOS)、硬件抽象層(HAL)、周邊驅(qū)動程序等工具,使代碼可以在相似的微控制器之間輕松移植。項(xiàng)目基于三個自定義模塊:
? ADIN1110.c是驅(qū)動程序,用于支持透過SPI接口與ADIN1110交換數(shù)據(jù)和命令。其括用于從組件緩存器讀取和寫入數(shù)據(jù)的低層通訊函數(shù),以及用于發(fā)送和接收以太網(wǎng)絡(luò)幀的高層級函數(shù)。其并包括用于在10BASE-T1L收發(fā)器之間建立通訊的函數(shù)。通知是否出現(xiàn)新幀的接腳在中斷時讀取,以盡量減少延遲。
? TMC5160.c實(shí)現(xiàn)了控制TMC5160運(yùn)動控制器所需的全部函數(shù),配置為以全功能運(yùn)動控制器模式運(yùn)行。其實(shí)現(xiàn)了恒速和位置控制兩種模式,允許使用六點(diǎn)斜坡進(jìn)行平滑準(zhǔn)確的定位。與多個運(yùn)動控制器的通訊透過單條SPI總線和多條獨(dú)立的芯片選線實(shí)現(xiàn)。還提供了一組函數(shù)和類型定義來簡化運(yùn)動同步。
? Devices.c是從T1L鏈路接收的數(shù)據(jù)與連接到控制器的物理組件之間的接口。其包括與主機(jī)接口中定義的結(jié)構(gòu)體類似的結(jié)構(gòu)體,并且具有在每次接收到具有效數(shù)據(jù)的新幀時更新結(jié)構(gòu)體的函數(shù)。此模塊還用于確定每次更新結(jié)構(gòu)體時執(zhí)行哪些操作,例如哪個物理運(yùn)動控制器與在特定組件地址接收到的命令相關(guān)。
圖4 : 固件流程圖
系統(tǒng)亮點(diǎn)和驗(yàn)證
該項(xiàng)目目的在展示如何在自動化和工業(yè)場景中整合新的10BASE-T1L以太網(wǎng)絡(luò)物理層標(biāo)準(zhǔn),將控制器和用戶接口與端點(diǎn)(例如多個傳感器和執(zhí)行器)連接起來。此應(yīng)用針對多個步進(jìn)馬達(dá)的遠(yuǎn)程實(shí)時控制,廣泛用于工業(yè)中的低功耗自動化任務(wù),但也可用于輕型機(jī)器人和數(shù)字控制機(jī)床,例如桌上型3D打印機(jī)、桌面式銑床和其他類型的笛卡爾繪圖儀。
此外,還能擴(kuò)展用于其他類型的執(zhí)行器和遠(yuǎn)程控制組件。相較于具有類似用途的現(xiàn)有接口,其主要特色包括:
? 布線簡單,只需要一根雙絞線。由于支持透過資料線供電,低功耗組件(如傳感器)可以直接借助此連接供電,進(jìn)一步減少所需的布線和連接器數(shù)量,并降低整體系統(tǒng)的復(fù)雜性、成本和重量。使用PoDL標(biāo)準(zhǔn)的電力傳輸方式,透過數(shù)據(jù)在線迭加的直流電壓為連接到網(wǎng)絡(luò)的設(shè)備供電。這種耦合只需要使用被動組件就可以實(shí)現(xiàn),接收端的電壓經(jīng)過濾波后,可以直接為組件或DC-DC轉(zhuǎn)換器供電,不需要整流。只要適當(dāng)確定用于此類耦合的組件大小,就可以實(shí)現(xiàn)一個高效率系統(tǒng)。本項(xiàng)目中使用評估板上安裝的標(biāo)準(zhǔn)組件,整體效率約為93%(采用24 V電源,總負(fù)載電流為200 mA)。然而此一結(jié)果還有很大的改善空間,事實(shí)上,大部分損耗是電源路徑上被動組件的電阻壓降造成的。
? 用途廣泛,既可用于最后一哩路連接,也可用于端點(diǎn)連接。ADI 10BASE-T1L組件針對長達(dá)1.7公里的距離進(jìn)行了測試。其并支持菊煉連接,這對系統(tǒng)復(fù)雜性的影響很小。例如使用 ADIN2111 雙端口低復(fù)雜度交換芯片可以設(shè)計(jì)整合菊煉功能的組件,使鏈路也適用于端點(diǎn)網(wǎng)絡(luò)。
? 易于與已整合以太網(wǎng)絡(luò)控制器的現(xiàn)有設(shè)備連接,包括個人計(jì)算機(jī)和筆記本電腦。數(shù)據(jù)幀遵循以太網(wǎng)絡(luò)數(shù)據(jù)鏈路標(biāo)準(zhǔn),所有與以太網(wǎng)絡(luò)兼容的協(xié)議都可以在其之上實(shí)現(xiàn),因此只需要一個媒介轉(zhuǎn)換器作為網(wǎng)橋與標(biāo)準(zhǔn)以太網(wǎng)絡(luò)鏈路連接。例如,本項(xiàng)目中使用的評估板EVAL-ADIN1100可用作透明媒介轉(zhuǎn)換器的參考設(shè)計(jì),其僅需要兩個以太網(wǎng)絡(luò)PHY和一個可選微控制器用于配置和偵錯。
? 高達(dá)10 Mbps的高數(shù)據(jù)速率,全雙工。此特性與菊煉拓?fù)洌ㄔ谄渖峡梢詫?shí)現(xiàn)基于工業(yè)以太網(wǎng)絡(luò)的協(xié)議)相互結(jié)合,使其可用于需要確定性傳輸延遲的實(shí)時應(yīng)用。
? 根據(jù)應(yīng)用的安全性和穩(wěn)健性要求,收發(fā)器和媒介之間的隔離可以透過兼容性耦合或磁耦合實(shí)現(xiàn)。
我們對該系統(tǒng)進(jìn)行多次量測以評估其性能。所有用于與ADIN1110收發(fā)器和TMC5160控制器通訊的周邊,都配置為使用標(biāo)準(zhǔn)硬件配置可達(dá)到的最大可能速度??紤]到微控制器具有80 MHz系統(tǒng)頻率,對于運(yùn)動控制器和ADIN1110收發(fā)器,SPI周邊的數(shù)據(jù)速率分別設(shè)定為2.5 MHz和20 MHz。對于TMC5160,透過調(diào)整微控制器頻率配置并向IC提供外部頻率訊號,SPI頻率可進(jìn)一步提高至8 MHz。
對延遲進(jìn)行評估,請求數(shù)據(jù)和收到接收響應(yīng)幀之間的總時間大約為4 ms(500個樣本的平均值,使用Wireshark協(xié)議分析儀計(jì)算數(shù)據(jù)請求和相應(yīng)響應(yīng)的時間戳之間的差值測得)。我們還進(jìn)行了其他評估,以確定系統(tǒng)的哪些部分是導(dǎo)致此延遲的原因。結(jié)果顯示,主要原因是RTOS的延時函數(shù),其預(yù)留的最小延遲為1 ms,用于設(shè)定TMC5160的讀寫操作間隔,而所需的延遲約為幾十納秒(nanoseconds),這可以透過定義基于定時器的其他延遲函數(shù)來改進(jìn),使延遲間隔可以更短。
導(dǎo)致延遲的第二個原因是用于接收幀的Scapy函數(shù),調(diào)用此函數(shù)后至少需要3 ms的設(shè)定時間。在實(shí)際應(yīng)用中,直接使用操作系統(tǒng)的網(wǎng)絡(luò)適配器驅(qū)動程序來開發(fā)接口,而不借助Scapy等第三方工具也能有所改善。然而,這樣做也有一些缺點(diǎn),包括會失去與不同操作系統(tǒng)的兼容性并增加代碼復(fù)雜度。
圖5 : 電源路徑的簡化方案
透過切換GPIO并使用示波器測量高位準(zhǔn)周期,可測得微控制器上實(shí)現(xiàn)回調(diào)的準(zhǔn)確運(yùn)行時間,至于實(shí)測運(yùn)行時間,包括讀取和解析接收到的幀,以及向運(yùn)動控制器發(fā)送命令的函數(shù)運(yùn)行時間。
表1:實(shí)測運(yùn)行時間
命令 | 運(yùn)行時間(ms) | 累計(jì)延遲時間(ms) | 優(yōu)化運(yùn)行時間(ms) |
同步運(yùn)動,兩個馬達(dá) | 24.058 | 24.000 | 0.058 |
馬達(dá)數(shù)據(jù)請求 | 3.109 | 3.000 | 0.109 |
偽數(shù)據(jù)請求 | 0.080 | 0 | 0.080 |
第二組量測旨在評估使用PoDL為遠(yuǎn)程組件供電時傳輸路徑上的功率損耗。我們用設(shè)定為不同電流的電子負(fù)載取代運(yùn)動控制器擴(kuò)展板進(jìn)行測試,從0.1 A到0.5 A,步長為100 mA,以確定哪些組件對功率損耗有較大影響,進(jìn)而確定如何改善設(shè)計(jì)以實(shí)現(xiàn)更高的額定電流。
表2:系統(tǒng)效率
電流(A) | 輸入功率(W) | 輸出功率(W) | 效率 |
0.109 | 2.61 | 2.47 | 0.95 |
0.200 | 4.70 | 4.45 | 0.93 |
0.308 | 7.37 | 6.70 | 0.91 |
0.399 | 9.54 | 8.51 | 0.89 |
0.502 | 12.00 | 10.45 | 0.87 |
圖6 : 每個無源組件的功率損耗與電流的關(guān)系
結(jié)果顯示,橋式整流器和肖特基二極管D2是造成損耗的主要因素,兩者均用于極性反接保護(hù)。兩個組件可以用基于MOSFET晶體管和理想二極管控制器的類似電路取代,以獲得更高的效率,同時也不會失去上述保護(hù)能力。在較高電流下,用于輸入和輸出電源濾波的耦合電感的直流電阻占主導(dǎo)地位,因此為了提高電流能力,還需使用具有更高額定電流的類似電感。
結(jié)論
工業(yè)4.0正推動著智慧自動化的發(fā)展。ADI Trinamic技術(shù)與ADIN1100、ADIN1110、10BASE-T1L收發(fā)器的搭配,有助于控制器對遠(yuǎn)至1700公尺的傳感器和執(zhí)行器實(shí)現(xiàn)遠(yuǎn)程控制,而無需邊緣供電。透過可靠的遠(yuǎn)程控制方法,可以輕松在更遠(yuǎn)距離實(shí)時控制步進(jìn)馬達(dá),而不必犧牲任何性能或速度。這些系統(tǒng)解決方案將助力工業(yè)轉(zhuǎn)型,可望進(jìn)一步縮短響應(yīng)時間,充分提升性能。
(本文作者Alessandro Leonardi為ADI客戶經(jīng)理、Giorgio Paganini為米蘭理工大學(xué)學(xué)生、Fulvio Bagarelli 為ADI技術(shù)主管)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。
推薦閱讀:
DigiKey: 助力具有創(chuàng)新能力的元器件供應(yīng)商走向全球
3D ToF相機(jī)于物流倉儲自動化的應(yīng)用優(yōu)勢