旋轉編碼器目前已經廣泛地被運用在各種工業自動化系統中,這類編碼器其中一種常見的用途,就是電動機具,其將編碼器連接到旋轉軸,並向控制系統提供回饋資訊。

編碼器的主要用途是量測角度位置與轉速,另外還配備像是系統診斷與參數設定等常見功能。圖1所顯示為一個馬達控制訊號鏈,其利用RS-485收發器與微處理器來連結絕對值編碼器(ABS encoder)受控端以及工業伺服驅動器主控端,以建構出交流馬達的封閉迴路控制機制。

伺服驅動器與絕對值編碼器之間的RS-485通訊鏈路通常需要高達16MHz的資料傳輸率,以及低傳輸延遲的時序。RS-485線路最長可佈線到50公尺,有些情況下,甚至還會延長到150公尺。馬達控制編碼器對於資料通訊而言是屬於極具挑戰性的環境,因為電氣雜訊以及長線路都會影響RS-485訊號的完整性。

本文以亞德諾半導體(Analog Devices)的50Mbps(25MHz) ADM3065E RS-485收發器以及ADSP-CM40x混合訊號控制處理器為例,探討編碼器可為馬達控制應用帶來的關鍵優勢。

20180227_ADI_TA31P1 圖1:使用RS-485連結絕對值編碼器受控端與伺服驅動器主控端,建構交流馬達的封閉迴路控制機制

ADM3065E RS-485收發器是專門設計以用來在如馬達控制編碼器這類嚴苛環境中提供穩定運行的能力,另外,其還提供雜訊免疫力以及(IEC) 61000-4-2靜電放電(ESD)的耐受力。

雜訊免疫力

RS-485傳訊機制具有平衡、差動以及雜訊免疫力等特性。在RS-485雙絞線中,系統雜訊會同等地耦合到兩條線中。其中一個訊號會與另一個訊號反相,而耦合到RS-485匯流排的電磁場則會相互抵銷,如此一來,就會降低整個系統的電磁干擾(EMI)。此外,增強後的ADM3065E 2.1 V驅動電壓讓通訊達到更高的訊號噪訊比(SNR)。

另外還可運用ADuM141D輕易為ADM3065E增加訊號隔離機制。ADuM141D是一顆採用Analog Devices iCoupler技術的四通道數位隔離器。ADuM141D能在高達150 Mbps的資料傳輸率下運行,因此適合搭配50Mbps的ADM3065E RS-485收發器(如圖2所示)一起運作,運用能量直接注入(DPI)技術量測元件拒斥雜訊的能力,這些雜訊通常會注入到電源供應器或輸入針腳。ADuM141D採用的隔離技術已針對DPI IEC 62132-4標準的規範進行測試。ADuM141D在雜訊免疫力方面的性能超越其他類似產品。此外,ADuM141D在頻率方面維持極佳效能,反觀其他隔離產品在200MHz到700MHz頻帶區間則會經常出現位元錯誤。

20180227_ADI_TA31P2 圖2:訊號隔離,傳輸率達50Mbps的RS-485解決方案簡圖

IEC 61000-4-2 ESD性能

編碼器和馬達驅動器之間暴露,是RS-485接點與纜線上的靜電放電是一項常見的系統危險。系統層級的IEC 61800-3標準在EMC免疫力方面,則針對可調速電子功率驅動系統規定了必須具備最低±4kV接觸/±8kV 空氣的IEC 61000-4-2 ESD靜電放電防護能力。而ADM3065E的防護性能超越上述規範,其可達到±12kV 接觸/±12kV空氣的IEC 61000-4-2 ESD防護能力。

圖3顯示IEC 61000-4-2標準規範8kV接觸放電電流的波形對比人體模型(HBM)靜電放電 8kV波形。圖4顯示兩項標準相互指定不同波形與尖峰電流。IEC 61000-4-2 8kV脈衝的峰值電流為30安培,而對應HBM ESD的峰值電流就低了超過5倍,僅為5.33安培。另一項差異則是啟動電壓突波(spike)的上升時間,相較於HBM ESD波形的10奈秒,IEC 61000-4-2 ESD的上升時間要快上許多,僅為1奈秒。IEC ESD波形的功率遠高於HBM ESD波形。HBM ESD標準規定受測設備(EUT)須進行3次正極放電與3次負極放電測試——相較之下,IEC ESD標準則規定須進行10次正極與10次負極放電測試。相較於其他具備不同等級HBM ESD防護能力的RS-485收發器,符合IEC 61000-4-2 ESD規範的ADM3065E則更適合用在各種條件嚴苛的環境中。

20180227_ADI_TA31P3 圖3:在8kV的IEC 61000-4-2 ESD波形,對比在8kV的HBM ESD波形

EnDat通訊協定

編碼器可採用許多通訊協定,像是EnDat、BiSS、HIPERFACE、以及Tamagawa。這些編碼器通訊協定雖然存在差異,但在實作方面也有許多相似處。這些通訊協定的介面都屬於串列式雙向管線,並符合RS-422或RS-485電氣規格。雖然硬體層面有一些相同點,但每種通訊協定所需要的軟體並不相同。每種協定的通訊協定堆疊以及所需的程式碼都不一樣。本文則專為探討EnDat 2.2介面在主控端的硬體與軟體實作。

延遲的影響

延遲可分為兩類:第一類是線路的傳輸延遲,第二則是收發器的傳輸延遲。光速以及線路的介電常數決定了線路延遲的多寡,通常會介於6ns/m至10ns/m之間。當總延遲超過時脈週期的一半,主控端與受控端之間的通訊就會中斷。此時設計者可擁有以下選擇:

  • 調低資料傳輸率
  • 減量傳輸
  • 在主控端執行延遲補償

第三個選項所指的是補償線路延遲與收發器延遲,因此可確保系統能用長線路運行高時脈。延遲補償的缺點則是系統複雜度會因此提高。當系統不可能進行延遲補償,或者系統使用較短的線路,那麼採用傳輸延遲較短的收發器,就會發揮顯著的價值。低傳輸延遲不僅讓設計者能採用更高的時脈速度,也不必對系統進行延遲補償。

主控端實作

主控端的實作包含一個串列埠以及一個通訊協定堆疊。由於編碼器通訊協定並不相容於像UART這些其他標準連結埠採用的協定,因此大多數通用型微控制器的週邊元件都無法使用。反觀FPGA的可程式化邏輯功能,除了可用來將專屬的通訊埠建置在硬體上,還能支援諸如延遲補償等各種先進功能。雖然FPGA頗具彈性且能針對應用量身設計,但它也有許多缺點。相較於處理器,FPGA顯得太過於昂貴、太耗電、以及上市時程過於冗長。

本文探討的EnDat介面是採用Analog Devices的ADSP-CM40x進行實作,這款處理器的應用標的鎖定各種馬達控制裝置。除了如脈衝調變(PWM)計時器、類比至數位轉換器(ADC)以及sinc函數濾波器等這類馬達控制的週邊元件外,ADSP-CM40x還支援高度彈性的串列埠(SPORT)。這些SPORT能模擬許多通訊協定,其中包括像EnDat與BiSS在內的編碼器通訊協定。由於ADSP-CM40x擁有如此多元的週邊元件,因此除了能執行先進馬達控制功能,還能連結其他編碼器。如此一來就不必再動用FPGA。

測試設定

圖4顯示EnDat 2.2的測試設定。EnDat受控端是Kollmorgen公司的一款標準伺服關馬達(AKM22),在轉軸上裝有一個EnDat 編碼器(ENC1113)。另外還有三對線組(數據、時脈以及供電)把編碼器連到收發器機板。在EnDat實體層上為編碼器配置了兩個收發器與電源供應器。其中一個收發器用來支援時脈,另一個收發器用來支援數據線。EnDat主控端用的是ADSP-CM40x,另外還混用多個標準型週邊元件以及軟體。傳送埠與接收埠都是用彈性SPORT元件進行實作。

20180227_ADI_TA31P4 圖4:實驗設定

EnDat通訊協定規範許多不同長度的訊框(frame),但這些訊框的處理程序卻都相同,如圖5所示。首先,主控端會向受控端發出一個指令,接著受控端會處理該指令並執行必要的運算。最後,受控端再把結果傳回主控端。

20180227_ADI_TA31P5 圖5:EnDat傳送/接收程序

傳送時脈(Tx CLK)是由處理器ADSP-CM40x產生。由於系統各項延遲的緣故,從編碼器送出的資料訊號在送回處理器之前會和傳送訊號時脈呈現反相(out of phase)。為補償傳輸延遲tDELAY,處理器還會發出一個接收時脈(Rx CLK),時間點是在發出傳送時脈後延遲tDELAY 再發出。讓接收時脈和受控端接收資料的訊號同相位,這樣的作法能有效補償傳輸延遲。

從處理器發出的時脈訊號是屬於連續性,而EnDat通訊協定則規定在通訊時,時脈僅套用到編碼器。時脈線路(clock line)在所有其他時間則必須維持高位(high)。在經過整整兩個時脈週期(2T)之後,主控端會根據Tx DATA指令開始發送時脈訊號。

指令長度為6位元,之後跟著兩個0-bit。系統會透過收發器控制數據的傳送方向,而處理器在傳送訊號時會把Bit Tx/Rx EN設為高位(high)。

當受控端準備回應時,系統會進入等待狀態,而主控端則持續執行(apply)時脈,但數據管線則是非運行(inactive)狀態。當受控端準備好回應,數據管線在接收資料時就會拉升到高位(high),隨後立即送出回應。主控端在收到n個位元回應後就會將CLK EN訊號設定為低位(low),藉此停止時脈訊號。在此同時,ENC CLK訊號會切至高位。這種資料流屬於半雙工模式,組合(combined)數據管線上的傳輸流即ENC資料。

實驗結果

圖6顯示EnDat系統的測試結果。測試採用的時脈頻率為8MHz,延遲補償則是透過對接收訊號時脈進行相移。圖中訊號底部波形是從EnDat主控端發出的指令。這裡顯示的指令是發送部位,有兩個0,隨後跟著6個1,再後面則是兩個0。指令長度總共為10個位元。編碼器的反應是從上數下來第3個訊號。組合(combined)數據管線則是從上數下來第2個訊號。而圖中最上面的訊號則是套用到編碼器的時脈。

20180227_ADI_TA31P6 圖6:EnDat資料交換