<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于FPGA的BiSS編碼器解碼器設計

一種基于FPGA的BiSS編碼器解碼器設計

作者:李紹軍,陳國勝,范俊玲,夏偉光,王國右(北方信息控制研究院集團有限公司,南京 210000) 時(shí)間:2021-09-03 來(lái)源:電子產(chǎn)品世界 收藏
編者按:BiSS協(xié)議是一種高速同步串行通信協(xié)議,使用BiSS協(xié)議的編碼器有利于提高伺服控制系統的動(dòng)態(tài)性能,在高精度絕對式編碼器中應用廣泛。本文在分析BiSS協(xié)議數據幀特點(diǎn)的基礎上,利用FPGA設計了BiSS協(xié)議編碼器解碼器,采集了BiSS協(xié)議編碼器位置數據和總線(xiàn)波形,通過(guò)與DSP聯(lián)合使用,基于BiSS協(xié)議編碼器對永磁同步電機的動(dòng)態(tài)性能進(jìn)行了驗證,結果表明該設計的合理性。

作者簡(jiǎn)介:李紹軍(1989—),男,碩士,工程師,研究方向為光電云臺伺服控制。

本文引用地址:http://dyxdggzs.com/article/202109/428017.htm

0   引言

協(xié)議是一種時(shí)鐘頻率高達10 MHz 的串行通信協(xié)議,物理上采用RS422 差分總線(xiàn)方式,使用 通信協(xié)議的光電具有數據線(xiàn)占用少、抗干擾性強、通信速率快等優(yōu)點(diǎn),在機器人、數控機床、雷達轉臺等領(lǐng)域應用廣泛[1-2]。一些新型微控制器已經(jīng)具備了物理上支持 通信協(xié)議的外設接口,如Infineon 公司的XMC4000 系列使用SPI 接口可完成BiSS 協(xié)議解碼功能[3],但當進(jìn)行伺服電機控制時(shí)需要CPU 在執行FOC 算法的基礎上實(shí)時(shí)通過(guò)較復雜的軟件實(shí)現BiSS 協(xié)議解碼,增加了CPU的負擔;TI 公司的TMS320F3837x 系列使用CLB 模塊配合SPI 外設接口實(shí)現對BiSS 協(xié)議的解碼[4],可以減輕CPU 的負擔,但CLB 外設數量有限。且這些方式均難以達到BiSS 協(xié)議最高時(shí)鐘頻率,綜合比較使用 解碼可降低CPU 負擔同時(shí)可充分發(fā)揮BiSS 協(xié)議時(shí)鐘頻率高的優(yōu)點(diǎn)。文中針對BiSS 協(xié)議數據幀格式,設計了BiSS 協(xié)議解碼器狀態(tài)機和CRC 校驗器,并使用Moldisim 對校驗過(guò)程進(jìn)行仿真, 將解碼數據發(fā)送給,通過(guò)驅動(dòng)永磁同步電機對該設計的解碼效果進(jìn)行了驗證。

1   解碼器硬件設計

1.1 BiSS協(xié)議分析

旋轉是伺服電機常用的一種位置傳感器,常見(jiàn)外部接口形式有RS422、SSI、BiSS 等。使用RS422或者SSI 接口時(shí)時(shí)鐘頻率一般低于1 MHz,且受限于總線(xiàn)協(xié)議單幀傳輸位數限制,當需要傳輸的位置數據位數較多時(shí)會(huì )導致位置采樣頻率偏低。另一種常見(jiàn)位置傳感器是旋轉變壓器,隨著(zhù)技術(shù)的不斷發(fā)展,當前旋轉編碼器更容易實(shí)現比旋轉變壓器更高的分辨率,而B(niǎo)iSS 協(xié)議由于時(shí)鐘頻率高,傳輸位數多,可以輕松實(shí)現對位置數據20 kHz 的采樣頻率,因此使用BiSS 協(xié)議的旋轉編碼器十分適用于動(dòng)態(tài)性能要求高的伺服控制領(lǐng)域。BiSS 協(xié)議最初由德國IC-Haus 公司提出,是一種較為新型的開(kāi)放式同步串行通信總線(xiàn)協(xié)議,在提出后很快開(kāi)發(fā)出BiSS-B 協(xié)議并得到廣泛應用,后由于海德漢公司對BiSS-B 協(xié)議的專(zhuān)利訴求,導致很多編碼器廠(chǎng)商聯(lián)合開(kāi)發(fā)出BiSS-C 協(xié)議[5-6]。根據工作模式,BiSS 協(xié)議可分為傳感器模式和寄存器模式,寄存器模式便于使用者掌握更多編碼器狀態(tài)信息,傳感器模式與寄存器模式相比傳輸信息少,因此具有更高的位置采樣頻率。圖1 所示為亨士樂(lè )公司BiSS-B 協(xié)議編碼器時(shí)序和雷尼紹公司BiSS-C 協(xié)議編碼器時(shí)序對比圖,見(jiàn)文獻[7-8]。由圖中可見(jiàn),BiSS-B 和BiSS-C 協(xié)議高度相似,均由2 條信號線(xiàn)構成,其中一條為時(shí)鐘線(xiàn),另一條為數據線(xiàn)。數據線(xiàn)上均有Ack 位、Start 位、位置數據位、error 位、Warn 位、CRC 校驗位和Timeout 位;不同點(diǎn)在于BiSS-C 協(xié)議在Start 位和位置數據位間還有額外的1 bit 0 位。

1630658615424251.png

文中就BiSS-B 協(xié)議的旋轉編碼器傳感器模式展開(kāi)討論。

1.2 硬件電路設計

電機控制模塊采用+ 雙控制器方式,FPGA 負責采集與永磁同步電機同軸安裝的BiSS 編碼器位置數據,提供給 用于FOC 算法計算。FPGA通過(guò)內部定時(shí)器定時(shí)執行BiSS 數據解碼周期,每個(gè)周期內BiSS 時(shí)序解碼模塊產(chǎn)生BiSS 總線(xiàn)MA 時(shí)鐘,直到該幀數據時(shí)序完成,同時(shí)接收BiSS 總線(xiàn)SLO 數據線(xiàn)數據,根據BiSS 時(shí)序定義從中提取出有用的位置、錯誤位、警告位、CRC 校驗位數據段送至CRC 校驗模塊進(jìn)行處理,根據BiSS 編碼器的時(shí)序長(cháng)度可以靈活調整定時(shí)器采樣頻率,以實(shí)現最大采樣頻率。CRC 校驗模塊按照協(xié)議規定的校驗規則計算出收到有效數據位所對應的CRC 校驗碼,并與收到數據中的CRC 校驗位段進(jìn)行對比,若兩者一致則判斷該幀數據校驗正確,為有效數據,并將經(jīng)過(guò)校驗的正確數據存入FPGA 內RAM 單元,DSP 通過(guò)XINTF 接口定時(shí)從FPGA 內部RAM 讀取解析到的編碼器位置數據,完成BiSS-B 協(xié)議編碼器數據解碼;若兩者不一致則判斷校驗錯誤,將該幀數據丟棄,并對錯誤次數進(jìn)行計數,連續數次檢驗到錯誤數據則發(fā)出報警信號觸發(fā)DSP 啟動(dòng)保護措施,防止電機飛車(chē)。硬件電路框圖如圖2 所示。

1631084383535809.png

BiSS-B 協(xié)議編碼器物理接口為RS422 電平標準,使用TI 公司的高速全雙工RS485 收發(fā)器SN65HVD77將FPGA 的MA 時(shí)鐘信號和SLO 數據信號將電平轉換為兩組差分信號線(xiàn),連接至BiSS 協(xié)議編碼器。該收發(fā)器支持信號傳輸速率>50 Mbit/s,可涵蓋BiSS 協(xié)議最高傳輸速率。接口電路圖如圖3 所示。

1631084443558682.png

圖3 接口電路圖

解碼器軟件設計

軟件設計主要涉及通過(guò)FPGA 完成對BiSS-B 協(xié)議數據幀的解碼以及對解碼結果的校驗,以下從狀態(tài)機設計和CRC 校驗器設計兩方面進(jìn)行介紹。文中編碼器使用亨士樂(lè )公司的AD36-1213AF.0RBI 型多圈絕對式編碼器。

2.1 狀態(tài)機設計

BiSS-B 協(xié)議時(shí)序具有數據幀長(cháng)度不固定、數據幀信息復雜的特點(diǎn),狀態(tài)機是FPGA 設計中常用的一種設計方法,基于狀態(tài)機的設計可大大提高設計的靈活性和通用性,因此文中設計了基于狀態(tài)機的BiSS-B 協(xié)議時(shí)

序解碼模塊。根據圖1 中BiSS-B 協(xié)議時(shí)序,FPGA 作為主設備,BiSS 編碼器作為從設備,FPGA 解碼模塊初始狀態(tài)為超時(shí)狀態(tài),應將時(shí)鐘線(xiàn)MA 狀態(tài)拉高,并確認數據線(xiàn)SLO 狀態(tài)為常高。當超時(shí)狀態(tài)準備就緒后,通過(guò)將時(shí)鐘線(xiàn)MA 狀態(tài)拉低1 個(gè)時(shí)鐘啟動(dòng)1 次BiSS 協(xié)議編碼器數據轉換,并將狀態(tài)機狀態(tài)切換為空閑狀態(tài),等待數據線(xiàn)SLO 上從設備應答響應。正常情況下從設備將數據線(xiàn)SLO 狀態(tài)拉低一段時(shí)間,狀態(tài)機將轉入應答狀態(tài)。待從設備將數據線(xiàn)SLO 狀態(tài)再次拉高時(shí),狀態(tài)機轉入開(kāi)始狀態(tài),并檢測SLO 高狀態(tài)時(shí)長(cháng),若時(shí)長(cháng)為1 個(gè)MA 時(shí)鐘則轉入讀取狀態(tài),否則將回到初始超時(shí)狀態(tài)。在讀取狀態(tài)中,將對數據線(xiàn)SLO 上的數據進(jìn)行讀取,直到數據位數達到時(shí)序協(xié)議中規定的位數,然后將時(shí)鐘線(xiàn)MA狀態(tài)拉高轉入超時(shí)狀態(tài),等待開(kāi)始下一次循環(huán)。整個(gè)流程如圖4 所示。

image.png

2.2 CRC校驗模塊設計

CRC 校驗全稱(chēng)為循環(huán)冗余校驗,是一種常用于檢測通信協(xié)議或存儲設備中原始數據是否發(fā)生數據位意外變動(dòng)的錯誤檢測算法[9]。其基本思想是對實(shí)際有用數據位按照一定的計算方法提取出對應的唯一一組特征值,將特征值附加在有用數據后發(fā)送至數據接收端,接收端將讀取到的數據按照同樣的計算方法得到一組特征值,若兩組特征值一致則表示讀取數據有效。

文中BiSS-B 協(xié)議編碼器產(chǎn)品手冊規定CRC 校驗采用CRC-6 校驗算法,其等效多項式為:

X6+X+1   (1)

可以利用一組移位寄存器和異或門(mén)電路來(lái)進(jìn)行等效電路計算CRC-6 算法校驗結果,其硬件等效電路如圖5 所示,C5-C0 對應6 位移位寄存器從高至低的每位。

1631084784724698.png

CRC 校驗模塊輸入數據從最高位開(kāi)始逐位與CRC校驗結果字段最高位bit5 進(jìn)行異或運算,異或結果作為CRC 校驗結果字段的最低位bit0,并同時(shí)與bit0 異或,其結果作為bit1,其他bit 位依次為低1 bit 位移位結果。按照上述方式,應對AD36-1213AF.0RBI 型編碼器的位置數據位、error 位、Warn 位和CRC 校驗位進(jìn)行CRC 校驗,并將校驗結果與CRC 校驗位進(jìn)行對比。使用Modelsim 對CRC 校驗模塊設計的合理性進(jìn)行驗證。驗證結果如圖6 所示。在圖6 中,I_Rx_Data 為33 位經(jīng)BiSS 時(shí)序解碼模塊提取的數據,CRC_Result 為CRC 校驗結果,連續3組CRC 校驗結果和對應的三組輸入數據末6 位CRC 位一致,表明CRC 校驗正確。

1631084829313209.png

圖6 Modelsim CRC校驗結果圖

3   實(shí)驗驗證

以EP4CE30 型FPGA 和TMS320F28335 型DSP 構成的硬件電路為基礎,對BiSS-B 編碼器數據進(jìn)行了采集解析,圖7 所示為FPGA 端BiSS-B 編碼器數據時(shí)序監測結果,通道1 為MA 時(shí)鐘線(xiàn)波形,頻率為5 MHz,通道2 為SLO 數據線(xiàn)波形,由圖中可見(jiàn)完成1 次數據解析時(shí)間約30 μs,可滿(mǎn)足至少20 kHz 的編碼器數據采樣速率。

1631084896415630.png

圖7 BiSS-B編碼器波形圖

電機驅動(dòng)模塊速度環(huán)給定轉速為1 000 r/m,連續采樣多個(gè)周期的AD36-1213AF.0RBI 型編碼器未經(jīng)濾波處理的原始數據并解析出對應單圈和多圈位置數據,如圖8 所示。

1631084962627948.png

圖8 BiSS-B編碼器單圈/多圈數據圖

編碼器單圈/ 多圈數據值分布情況如表1 為所示。依據多個(gè)連續周期里編碼器數據計算出的平均轉速與給定轉速差異較小,可知編碼器數據值采樣正確,一致性較好。

表1 編碼器單圈/多圈值

1631085044884312.png

采集速度環(huán)反饋轉速響應曲線(xiàn),如圖9 所示。由圖中可見(jiàn),使用BiSS 編碼器作為位置傳感器時(shí)電機速度環(huán)響應較快,超調量小于8%,穩態(tài)誤差小于0.6%,具有較好的動(dòng)態(tài)和穩態(tài)性能。驗證了該BiSS 解碼器設計的合理性。

image.png

圖9 電機速度響應曲線(xiàn)圖

4   結束語(yǔ)

通過(guò)對BiSS 協(xié)議的分析基礎上,文中提出了BiSS協(xié)議編碼器解碼方案,通過(guò)實(shí)物試驗驗證了該方案的合理性,具有解析準確、采樣速度快的特點(diǎn),對不同的BiSS 協(xié)議具有適用性,適合應用于BiSS 協(xié)議編碼器數據解析場(chǎng)合中。

參考文獻:

[1] 王列虎,皮佑國.基于BISS協(xié)議的編碼器接口技術(shù)研究及應用[J].機床與液壓,2011,39(8):121.

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

[3] 孫彥超.基于XMC4500的PMSM控制系統的設計[D].沈陽(yáng):沈陽(yáng)航空航天大學(xué),2016.

[4] Texas Instruments Incorporated.TMS320F2837xD Dual-Core Defiino Microcontrollers Technical Reference Manual[R/OL].https://www.ti.com.cn/product/cn/TMS320F28379D?keyMatch=TMS320F2837&tisearch=Search-CNeverything.

[5] 商懷昊,韓基鵬,肖鵬,等.基于BiSS-C協(xié)議的編碼器的接口技術(shù)研究及其在伺服驅動(dòng)系統中的應用[J].工業(yè)技術(shù)創(chuàng )新,2014,1(2):211.

[6] 霍海龍.基于BiSS協(xié)議的編碼器及其在伺服驅動(dòng)系統中的應用[J].電氣自動(dòng)化,2011,33(3):12.

[7] HENGSTLER.Technical Manual SSI_BiSS_ACURO_en[R/OL].http://hengstler.com.cn/product/AD36.

[8] RENISHAW.biss_encoder_9709-9007-03-b(zh)[R/OL].https://www.renishaw.com.cn/zh/resolute-encoderseries--37823

[9] 朱正鵬,朱旭鋒,李賓,等.一種位寬可變的CRC校驗算法及硬件實(shí)現[J].航天控制,2019,37(2):42.

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



關(guān)鍵詞: BiSS FPGA 編碼器 DSP 202108

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>