關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 一種BiSS協(xié)議的編碼器數(shù)據(jù)讀取方法

一種BiSS協(xié)議的編碼器數(shù)據(jù)讀取方法

作者:李紹軍,胡福東,李其昌,梁冬冬,夏偉光 (北方信息控制研究院集團(tuán)有限公司,南京 210000) 時間:2021-07-13 來源:電子產(chǎn)品世界 收藏


本文引用地址:http://www.butianyuan.cn/article/202107/426880.htm

摘要:針對目前協(xié)議編碼器數(shù)據(jù)讀取多采用實(shí)現(xiàn)的實(shí)際情況,文中介紹一種基于微控制器的協(xié)議編碼器數(shù)據(jù)讀取實(shí)現(xiàn)方案。采用該方案,可將使用協(xié)議編碼器的伺服系統(tǒng)控制電路常用的+雙控制器架構(gòu)方式簡化為單控制器方式,在一定程度上降低了硬件成本和開發(fā)難度。用該方案采集BiSS協(xié)議編碼器數(shù)據(jù)的實(shí)物平臺,使用顯示對讀取的數(shù)據(jù),并與電機(jī)自帶增量編碼器值進(jìn)行對比,同時記錄BiSS協(xié)議編碼器實(shí)際數(shù)據(jù)波形圖,結(jié)果表明,該方案具有較高的采樣速率和較好的讀取效果,具有一定參考價值。

作者簡介:李紹軍(1989—),男,碩士,從事光電轉(zhuǎn)臺伺服控制技術(shù)研究。Email:lsj_gdsf@163.com。

0   引言

BiSS 協(xié)議是一種快速雙向通信協(xié)議,具有通信速率高、抗干擾能力強(qiáng)、硬件電路簡單等優(yōu)點(diǎn),在伺服系統(tǒng)位置傳感器領(lǐng)域得到了越來越廣泛的使用[1-2]。BiSS通信協(xié)議物理接口采用全雙工差分RS422 方式,但由于其時序較為獨(dú)立及長度不定,難以使用常用的通用異步串口直接對BiSS 協(xié)議編碼器數(shù)據(jù)解碼讀取。實(shí)際使用中,BiSS 協(xié)議的編碼器數(shù)據(jù)可通過編碼器廠商提供的專用解碼芯片、微控制器或 讀取[3]。編碼器廠商提供的專用解碼芯片一般價格較高且功能單一;文獻(xiàn)[4] 中提出使用CY8C29466 微控制器對BiSS 協(xié)議編碼器數(shù)據(jù)進(jìn)行解碼,以讀取正確的解碼值,但受限于微控制器功能及性能,只能實(shí)現(xiàn)較低的采樣速率,難以滿足高速、高性能伺服控制系統(tǒng)的要求;文獻(xiàn)[5] 提出使用A3P400 型FPGA 對BiSS 協(xié)議編碼器數(shù)據(jù)進(jìn)行解碼,以準(zhǔn)確讀取解碼值且具有較高采樣速率,但FPGA 只用于編碼器數(shù)據(jù)采集,實(shí)際伺服電機(jī)由 驅(qū)動,即伺服系統(tǒng)電路結(jié)構(gòu)采用+FPGA 方式實(shí)現(xiàn)。這種雙控制器方式通過高性能DSP 實(shí)現(xiàn)控制算法的快速準(zhǔn)確計算,同時利用FPGA 的并行機(jī)理完成信號采集[6]。如果可以使用較為簡化的硬件電路實(shí)現(xiàn)對BiSS 協(xié)議編碼器數(shù)據(jù)準(zhǔn)確的解碼,并具有較高的數(shù)據(jù)采樣速率,這樣的方式顯然具有更高實(shí)用價值。

1626181653566461.png

圖1 BiSS-B協(xié)議傳感器模式時序圖

1   設(shè)計方案

BiSS-B 在BiSS 協(xié)議中應(yīng)用最為廣泛,由于涉及專利保護(hù)問題,隨之開發(fā)出BiSS-C 協(xié)議,BiSS-C 與BiSS-B 可實(shí)現(xiàn)物理接口兼容[7],不同點(diǎn)在于兩者時序定義略有差異,文中編碼器使用BiSS-B 協(xié)議。BiSS 協(xié)議具有傳感器模式和寄存器模式兩種不同工作模式,前者可實(shí)現(xiàn)編碼器數(shù)據(jù)的快速讀取,后者可實(shí)現(xiàn)編碼器寄存器數(shù)據(jù)的讀寫雙向訪問[8],文中基于傳感器模式對方案的可行性進(jìn)行了驗(yàn)證。

BiSS 協(xié)議編碼器使用Hengstler 公司的AD36-1213AF.0RBI 多圈絕對式光電編碼器,其具有500 kHz 帶寬,適合作為無刷伺服電機(jī)位置傳感器。BiSS-B 協(xié)議傳感器模式時序如圖1 所示。

MA 為BiSS 總線的時鐘線,SLO 為Biss 總線的數(shù)據(jù)線。當(dāng)MA 和SLO 同為高電平狀態(tài)時,總線處于空閑時間,不進(jìn)行數(shù)據(jù)傳送。非空閑時間BiSS-B 協(xié)議編碼器數(shù)據(jù)線SLO 上的數(shù)據(jù)幀格式如圖2 所示,圖中括號內(nèi)的數(shù)字表示該段數(shù)據(jù)所占用的MA 時鐘個數(shù),不帶括號的表示與MA 時鐘個數(shù)無關(guān)。

image.png

根據(jù)3 種不同BiSS 協(xié)議編碼器數(shù)據(jù)解碼方式特點(diǎn)和BiSS-B 協(xié)議編碼器時序的分析, 文中采用 微處理器實(shí)現(xiàn)對BiSS-B 協(xié)議編碼器數(shù)據(jù)的解碼,該方案硬件電路組成如圖3 所示。

image.png

XMC4500 是Infineon 公司推出的基于Arm Cortex-M4內(nèi)核的微控制器,主頻可以達(dá)到120 MHz,其內(nèi)部集成多種專用電機(jī)控制外設(shè),有多達(dá)6 個通信接口方面,分別用于UART、SPI、IIC 和IIS 等4 種不同功能的通用串行接口。本文使用其SPI 功能接口實(shí)現(xiàn)對BiSS-B 編碼器數(shù)據(jù)的解碼。XMC4500 的SPI 接口MOSR 引腳作為輸出引腳,輸出BiSS 協(xié)議編碼器時鐘線MA 信號;MRSO 引腳作為輸入引腳,采集BiSS 協(xié)議編碼器數(shù)據(jù)線SLO 上的信號。 是一種圖形化編程的數(shù)據(jù)采集軟件,具有數(shù)據(jù)讀取、數(shù)據(jù)分析、數(shù)據(jù)管理等功能,可減少程序代碼編寫,縮短設(shè)計時間[9]。為方便對BiSS編碼器數(shù)據(jù)的觀察,使用 設(shè)計了對應(yīng)的上位機(jī),顯示XMC4500 通過UART 接口定時發(fā)出的編碼器解碼數(shù)據(jù)。

XMC4500 將BiSS-B 協(xié)議編碼器MA 線狀態(tài)由空閑時間的高電平狀態(tài)置為低電平狀態(tài),以啟動一次BiSS-B 總線上的數(shù)據(jù)發(fā)送。作為回應(yīng),編碼器會在一定時間后將SLO 線狀態(tài)由高電平置為低電平狀態(tài),并隨后再次置為高電平,以表示開始傳輸位置數(shù)據(jù)。位置數(shù)據(jù)以Start 位開始,后面依次為:12 位多圈計數(shù)值用于記錄編碼器旋轉(zhuǎn)圈數(shù);13 位單圈計數(shù)值用于記錄編碼器單圈位置;1 位錯誤位用于監(jiān)測光電編碼器LED 工作狀態(tài);1 位警告位用于監(jiān)測編碼器內(nèi)部傳感器工作環(huán)境溫度、6 位CRC 校驗(yàn)位和Timeout 段。

image.png

2   軟件設(shè)計

XMC4500 的SPI 接口有長達(dá)64 位的FIFO 存儲空間,可以一次性存儲全部BiSS-B協(xié)議數(shù)據(jù)幀。初始化時,應(yīng)對SPI 接口的波特率及FIFO 存儲空間進(jìn)行相應(yīng)設(shè)置。文中BiSS-B 協(xié)議編碼器數(shù)據(jù)通過定時中斷來讀取。根據(jù)BiSS-B 協(xié)議編碼器傳感器模式時序,XMC4500 的MOSR 引腳先發(fā)送若干Ack 位檢測時鐘,直到MRSO引腳檢測到Ack 位為止。由于編碼器輸出SLO 數(shù)據(jù)響應(yīng)MA 時鐘和總線傳輸有一定延遲時間,需要測量并記錄Ack 位相對時鐘延遲時間以進(jìn)行補(bǔ)償。然后,XMC4500 的MOSR 引腳根據(jù)數(shù)據(jù)幀有效位數(shù)不斷發(fā)送其他數(shù)據(jù)位時鐘,同時MRSO 引腳將SLO 線數(shù)據(jù)逐一存儲。當(dāng)有效數(shù)據(jù)位數(shù)計數(shù)完畢后,XMC4500 讀取存于FIFO 中的數(shù)據(jù)幀位,并根據(jù)編碼器Timeout 延遲時間將MA 線拉高直至數(shù)據(jù)幀結(jié)束。根據(jù)前面記錄的Ack位延遲時間,對讀取的FIFO 數(shù)據(jù)幀位逐一處理,并采用多數(shù)表決方式確定每位的準(zhǔn)確值,完成編碼器單圈和多圈位置值重組,并定時將通過CRC 校驗(yàn)的正確位置值發(fā)送至上位機(jī)進(jìn)行顯示。CRC 校驗(yàn)方式為BiSS-B 協(xié)議編碼器數(shù)據(jù)幀中的多圈值+ 單圈值+ 錯誤位+ 警告位。根據(jù)編碼器CRC 計算等式,將計算出的6 位CRC校驗(yàn)值與數(shù)據(jù)幀結(jié)尾處的6 位動態(tài)隨機(jī)CRC 校驗(yàn)值比較,若兩者相同則表示接收編碼器數(shù)據(jù)正確,該讀取值可以使用;否則應(yīng)判定為錯誤值,予以忽略。編碼器數(shù)據(jù)讀取軟件程序工作流程圖如圖4 所示。

1626181902898706.png

圖5 實(shí)物驗(yàn)證平臺圖

3   實(shí)驗(yàn)結(jié)果與分析

使用安川公司SGMM-A2C312 伺服電機(jī)配合AD36-1213AF.0RBI 多圈絕對值光電編碼器搭建的實(shí)物平臺對該方案實(shí)際效果進(jìn)行了測試,實(shí)物驗(yàn)證平臺如圖5 所示。

LabVIEW 上位機(jī)分別顯示編碼器上傳的單圈和多圈位置值,如圖6 所示。編碼器單圈位置值為13 位,最大值8 191,多圈值為12 位,最大值為4 195。

1626181945225440.png

圖6 上位機(jī)顯示效果圖

將同步采集伺服電機(jī)自帶的2 048 線增量式編碼器位置值與采集到的13位絕對式編碼器位置值進(jìn)行對比,對比效果如圖7 所示。

1626182005177882.png

圖7 編碼器數(shù)據(jù)對比圖

記錄連續(xù)3 個周期采集到的絕對式編碼器和增量式編碼器輸出的位置值,并計算每個周期的平均速度,對比結(jié)果如表1 所示。

image.png

采用絕對式編碼器和增量式編碼器連續(xù)3 個周期獲得的平均速度相比誤差很小,可見采用XMC4500 采集的絕對式編碼器值與增量式編碼器相比具有較好的準(zhǔn)確度和線性度。

使用XMC4500 的SPI 接口對BiSS-B 協(xié)議編碼器以傳感器模式讀取實(shí)際時序波形,如圖8 所示。圖中通道1 為MA 線波形,通道2 為SLO 線波形,與BiSS-B協(xié)議傳感器模式協(xié)議時序一致。

1626182098460713.png

圖8 編碼器實(shí)際時序波形圖

局部波形如圖9 所示,圖中可見,XMC4500 的SPI接口所提供的MA 線時鐘頻率大于5 MHz。

1626182143713100.png
圖9 編碼器局部時序波形圖

綜合圖8 和圖9 進(jìn)行分析,使用XMC4500 微控制器SPI 接口對該型編碼器完成一次讀取用時少于28 μs,其中包含編碼器廠商設(shè)定的Timeout 時間約(10~15)μs,可實(shí)現(xiàn)較高的采樣速率。

4   結(jié)束語

文中提出了一種基于XMC4500 讀取BiSS 協(xié)議編碼器數(shù)據(jù)的方法,試驗(yàn)結(jié)果表明,該方法可替代FPGA完成對BiSS 協(xié)議的解碼,具有較高的數(shù)據(jù)采樣速率。使用該方法可以用XMC4500 單控制器替代DSP+FPGA方式,實(shí)現(xiàn)對BiSS 協(xié)議編碼器伺服系統(tǒng)的控制,簡化了硬件電路設(shè)計,具有較好的參考價值。

參考文獻(xiàn):

[1] 商懷昊,韓基鵬,肖鵬,等.基于BiSS-C協(xié)議的編碼器接口技術(shù)及在伺服驅(qū)動系統(tǒng)中的應(yīng)用[J].工藝技術(shù)創(chuàng)新,2014,01(02):211-215.

[2] 俞小露,趙志方,盧欣霽.BiSS-C絕對式級聯(lián)光柵編碼器在工業(yè)機(jī)器人領(lǐng)域的應(yīng)用[J].世界制造技術(shù)與裝備市場,2015 (2):119-120.

[3] 王希遠(yuǎn),成榮,朱煜,等.基于FPGA的BiSS-C協(xié)議編碼器接口技術(shù)研究及解碼實(shí)現(xiàn)[J].液晶與顯示,2016,31(4):386-391.

[4] 高長清,林輝,張輝.BiSS接口的光電編碼器數(shù)據(jù)讀出研究[J].計算機(jī)測量與控制,2009,17(5):957-958,961.

[5] 王列虎,皮佑國.基于BiSS協(xié)議的編碼器接口技術(shù)研究及研究[J].機(jī)床與液壓,2011,39(8):103-105,121.

[6] 李捷,盧子廣,楊達(dá)亮.基于DSP/FPGA的級聯(lián)型固態(tài)變壓器控制研究[J].電測與儀表,2016,53(24):39-43,55.孫彥超.基于XMC4500的PMSM的控制系統(tǒng)的設(shè)計[D].沈陽:沈陽航空航天大學(xué),2016.

[8] 霍海龍.基于BiSS的編碼器及其在伺服驅(qū)動系統(tǒng)中的應(yīng)用[J].電氣自動化,2011,33(3):12-14.

[9] 謝志遠(yuǎn),魏佳紅,時方,等.LabVIEW在中壓電力線信道噪聲發(fā)生器設(shè)計中的應(yīng)用[J].電測與儀表,2014,51(14):120-124.

(本文來源于《電子產(chǎn)品世界》雜志2021年6月期)



關(guān)鍵詞: 202106 BiSS XMC4500 DSP FPGA LabVIEW

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉