【導(dǎo)讀】旋轉(zhuǎn)編碼器廣泛用于工業(yè)自動化系統(tǒng)中。此類編碼器的典型應(yīng)用是電力機(jī)械,其中編碼器連接到旋轉(zhuǎn)軸,從而向控制系統(tǒng)提供反饋。雖然編碼器的主要用途是角度位置和速度測量,但系統(tǒng)診斷和參數(shù)配置等其他特性也很常見。圖1顯示了一個(gè)電機(jī)控制信號鏈,其利用RS-485收發(fā)器和微處理器連接絕對編碼器(ABS編碼器)從機(jī)和工業(yè)伺服驅(qū)動器主機(jī),以實(shí)現(xiàn)對交流電機(jī)的閉環(huán)控制。
伺服驅(qū)動器和ABS編碼器之間的RS-485通信鏈路通常要求最高達(dá)16 MHz的高數(shù)據(jù)速率和低傳播延遲時(shí)序規(guī)格。RS-485線纜延伸長度最大值通常是50米,但有時(shí)候也可能長達(dá)150米。對數(shù)據(jù)通信而言,電機(jī)控制編碼器應(yīng)用是具有挑戰(zhàn)性的環(huán)境,因?yàn)殡姎庠肼暫烷L電纜會影響RS-485信號傳輸?shù)耐暾浴1疚闹攸c(diǎn)闡述電機(jī)控制應(yīng)用采用ADI公司50 Mbps (25 MHz) ADM3065E RS-485收發(fā)器和ADSP-CM40x混合信號控制處理器的主要好處。
ADM3065E RS-485收發(fā)器設(shè)計(jì)用于在電機(jī)控制編碼器之類惡劣環(huán)境中可靠地工作,并且具備增強(qiáng)的抗擾度和(IEC) 61000-4-2 ESD(靜電放電)魯棒性。
圖1. 利用RS-485連接絕對編碼器從機(jī)和伺服驅(qū)動器主機(jī),實(shí)現(xiàn)對交流電機(jī)的閉環(huán)控制。
抗擾度
RS-485信號傳輸是平衡的差分式傳輸,本身便能抗干擾。系統(tǒng)噪聲均等地耦合到RS-485雙絞線電纜中的每條導(dǎo)線。一個(gè)信號的發(fā)射與另一個(gè)信號相反,耦合到RS-485總線的電磁場彼此抵消。這降低了系統(tǒng)的電磁干擾(EMI)。此外,ADM3065E增強(qiáng)的2.1 V驅(qū)動強(qiáng)度支持在通信中實(shí)現(xiàn)更高的信噪比(SNR)。給ADM3065E增加信號隔離可利用ADuM141D輕松實(shí)現(xiàn)。ADuM141D是一款采用ADI公司iCoupler®技術(shù)的四通道數(shù)字隔離器。ADuM141D的工作數(shù)據(jù)速率最高可達(dá)150 Mbps,因此它適合與50 Mbps ADM3065E RS-485收發(fā)器一起工作(參見圖2)。直接功率注入(DPI)法測量器件抑制注入到電源或輸入引腳的噪聲的能力。ADuM141D采用的隔離技術(shù)已通過測試,符合DPI IEC 62132-4標(biāo)準(zhǔn)。ADuM141D抗擾度性能超過同類產(chǎn)品。ADuM141D在整個(gè)頻率范圍內(nèi)保持了出色的性能,而其他隔離產(chǎn)品在200 MHz至700 MHz頻段出現(xiàn)位錯(cuò)誤。
圖2. 信號隔離的50 Mbps RS-485解決方案(簡化圖,未顯示全部連接)。
IEC 61000-4-2 ESD性能
編碼器到電機(jī)驅(qū)動器的裸露RS-485連接器和線纜上的ESD是一個(gè)常見系統(tǒng)危險(xiǎn)因素。與變速電力驅(qū)動系統(tǒng)的EMC抗擾度要求相關(guān)的系統(tǒng)級IEC 61800-3標(biāo)準(zhǔn),要求最低±4 kV(接觸)/±8 kV(空氣)的IEC 61000-4-2 ESD保護(hù)。ADM3065E超過了這一要求,提供±12 kV(接觸)/±12 kV(空氣)的IEC 61000-4-2 ESD保護(hù)。圖3所示為IEC 61000-4-2標(biāo)準(zhǔn)中的8 kV接觸放電電流波形與人體模型(HBM) ESD 8 kV波形的對比。
從圖4中可以看出,兩個(gè)標(biāo)準(zhǔn)規(guī)定的波形形狀和峰值電流是不同的。與IEC 61000-4-2 8 kV脈沖關(guān)聯(lián)的峰值電流為30 A,相應(yīng)的HBM ESD峰值電流比該數(shù)值的五分之一還小,為5.33A。另一差異為初始電壓尖峰的上升時(shí)間,對于IEC 61000-4-2 ESD,上升時(shí)間為1 ns,相較于與HBM ESD波形關(guān)聯(lián)的10 ns時(shí)間要快得多。與IEC ESD波形關(guān)聯(lián)的功率值顯著大于HBMESD波形的相應(yīng)值。HBM ESD標(biāo)準(zhǔn)要求待測設(shè)備(EUT)經(jīng)受3次正放電和3次負(fù)放電,而IEC ESD標(biāo)準(zhǔn)則要求10次正放電和10次負(fù)放電測試。與標(biāo)稱多種HBM ESD保護(hù)級別的其他RS-485收發(fā)器相比,具有IEC 61000-4-2 ESD額定值的ADM3065E更適合在惡劣環(huán)境中工作。
圖3. IEC 61000-4-2 ESD波形(8 kV)與HBM ESD波形(8 kV)的對比
EnDat通信協(xié)議
編碼器使用的通信協(xié)議有很多種,例如EnDat、BiSS、HIPERFACE和Tamagawa。盡管有區(qū)別,但編碼器通信協(xié)議在實(shí)現(xiàn)方面具有相似點(diǎn)。這些協(xié)議的接口是串行雙向管道,符合RS-422或RS-485電氣規(guī)范。雖然硬件層有相同之處,但運(yùn)行每種協(xié)議所需的軟件是獨(dú)一無二的。通信堆棧和所需的應(yīng)用程序代碼均特定于協(xié)議。本文主要說明EnDat 2.2接口主機(jī)側(cè)的硬件和軟件實(shí)現(xiàn)。
延遲影響
延遲分為兩類:第一類是電纜的傳輸延遲,第二類是收發(fā)器的傳播延遲。電纜延遲由光速和電纜的電介質(zhì)常數(shù)決定,典型值為6 ns/m至10 ns/m。當(dāng)總延遲超過半時(shí)鐘周期時(shí),主機(jī)和從機(jī)之間的通信就會出故障。對此,設(shè)計(jì)人員有如下選擇:
* 降低數(shù)據(jù)速率* 減小傳播延遲* 在主機(jī)側(cè)提供延遲補(bǔ)償
選項(xiàng)3可同時(shí)補(bǔ)償電纜延遲和收發(fā)器延遲,因此是確保系統(tǒng)能以高時(shí)鐘速率通過長電纜運(yùn)行的有效辦法。缺點(diǎn)是延遲補(bǔ)償會增加系統(tǒng)的復(fù)雜性。在延遲補(bǔ)償不可行的系統(tǒng)中,或在電纜較短的系統(tǒng)中,使用傳播延遲短的收發(fā)器具有明顯的優(yōu)勢。低傳播延遲使得時(shí)鐘速率可以更高,而且不必在系統(tǒng)中引入延遲補(bǔ)償。
圖4. 實(shí)驗(yàn)設(shè)置
主機(jī)實(shí)現(xiàn)
主機(jī)實(shí)現(xiàn)包括串行端口和通信堆棧。編碼器協(xié)議并不兼容標(biāo)準(zhǔn)端口(例如UART),故無法使用大多數(shù)通用微控制器上的外設(shè)。不過,利用FPGA的可編程邏輯可以在硬件中實(shí)現(xiàn)專用通信端口,并支持延遲補(bǔ)償?shù)雀呒壧匦?。FPGA方法雖然很靈活,可以針對具體應(yīng)用進(jìn)行定制,但也有缺點(diǎn)。與處理器相比,F(xiàn)PGA成本高,功耗大,而且上市時(shí)間長。
本文討論的EnDat接口是在ADI公司的ADSP-CM40x上實(shí)現(xiàn),后者是一款針對電機(jī)控制驅(qū)動器而開發(fā)的處理器。除了脈寬調(diào)制器(PWM)定時(shí)器、模數(shù)轉(zhuǎn)換器(ADC)和sinc濾波器等用于電機(jī)控制的外設(shè)以外,ADSP-CM40x還有高度靈活的串行端口(SPORT)。
這些SPORT可以仿真多種協(xié)議,包括EnDat和BiSS等編碼器協(xié)議。由于ADSP-CM40x的外設(shè)很豐富,所以它不僅能執(zhí)行高級電機(jī)控制,而且能與編碼器接口。換言之,無需使用FPGA。
測試設(shè)置
EnDat 2.2測試設(shè)置如圖4所示。EnDat從機(jī)是Kollmorgen的一款標(biāo)準(zhǔn)伺服電機(jī)(AKM22),EnDat編碼器(ENC1113)安裝在軸上。三對線(數(shù)據(jù)、時(shí)鐘和電源線)將編碼器連接到收發(fā)器板。EnDat PHY上有兩個(gè)收發(fā)器和用于編碼器的電源。一個(gè)收發(fā)器用于時(shí)鐘,另一個(gè)收發(fā)器用于數(shù)據(jù)線路。EnDat主機(jī)由ADSP-CM40x結(jié)合標(biāo)準(zhǔn)外設(shè)和軟件而實(shí)現(xiàn)。發(fā)送端口和接收端口均利用靈活的SPORT實(shí)現(xiàn)。EnDat協(xié)議包括多種長度不同的幀,不過這些幀全都基于相同序列,如圖5所示。首先,主機(jī)發(fā)送命令至從機(jī),然后從機(jī)處理命令并執(zhí)行必要的計(jì)算。最后,從機(jī)將結(jié)果送回主機(jī)。
圖5. EnDat發(fā)送/接收序列
發(fā)送時(shí)鐘(Tx CLK)由處理器ADSP-CM40x產(chǎn)生。由于系統(tǒng)延遲,來自編碼器的數(shù)據(jù)在返回處理器之前會與發(fā)送時(shí)鐘錯(cuò)相。為補(bǔ)償傳輸延遲tDELAY,處理器還會產(chǎn)生一個(gè)接收時(shí)鐘(Rx CLK),它比發(fā)送時(shí)鐘延遲tDELAY。讓接收時(shí)鐘與自從機(jī)收到的數(shù)據(jù)同相是補(bǔ)償傳輸延遲的有效辦法。
來自處理器的時(shí)鐘信號是連續(xù)的,而EnDat協(xié)議規(guī)定,時(shí)鐘只能在通信期間施加于編碼器。在所有其他時(shí)候,時(shí)鐘線路必須保持高電平。為此,處理器產(chǎn)生一個(gè)時(shí)鐘使能信號CLK EN,其被送至ADM3065E數(shù)據(jù)使能引腳。恰好兩個(gè)時(shí)鐘周期(2T)之后,主機(jī)開始在Tx DATA上發(fā)出命令。
命令有6位長,隨后是兩個(gè)0位。為了控制收發(fā)器的數(shù)據(jù)方向,處理器在傳輸時(shí)將Tx/Rx EN位置1。在從機(jī)準(zhǔn)備響應(yīng)的同時(shí),系統(tǒng)進(jìn)入等待狀態(tài),主機(jī)繼續(xù)施加時(shí)鐘,但數(shù)據(jù)線無效。當(dāng)從機(jī)準(zhǔn)備就緒時(shí),數(shù)據(jù)線接收數(shù)據(jù)被拉高,然后立即發(fā)送響應(yīng)。收到n位響應(yīng)之后,主機(jī)將CLK EN信號設(shè)為低電平以停止時(shí)鐘。與此同時(shí),ENC CLK信號變?yōu)楦唠娖?。?shù)據(jù)流為半雙工式, ENC數(shù)據(jù)圖為畫在一起的收發(fā)數(shù)據(jù)流。
實(shí)驗(yàn)結(jié)果
圖6顯示了EnDat系統(tǒng)的測試結(jié)果。測試使用的時(shí)鐘頻率為8 MHz,延遲補(bǔ)償通過接收時(shí)鐘相移實(shí)現(xiàn)。底部信號是來自EnDat主機(jī)的命令。此處顯示的命令為“發(fā)送位置”,其前面是兩個(gè)0,接著是六個(gè)1,最后又是兩個(gè)0。該命令總共有10位。編碼器的響應(yīng)是從頂部起的第三個(gè)信號。合并數(shù)據(jù)線是從頂部起的第二個(gè)信號。最后,頂部信號是施加于編碼器的時(shí)鐘。
圖6. EnDat數(shù)據(jù)交換
推薦閱讀: