国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2021-02-10 06:24李紹軍胡福東李其昌梁冬冬夏偉光
電子產(chǎn)品世界 2021年6期

李紹軍 胡福東 李其昌 梁冬冬 夏偉光

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

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

0 引言

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

1 設(shè)計(jì)方案

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

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

BiSS-B協(xié)議傳感器模式時(shí)序如圖1所示。

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

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

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

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

2 軟件設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

4 結(jié)束語(yǔ)

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

參考文獻(xiàn):

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

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

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

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

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

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

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

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

东城区| 江孜县| 兰坪| 汉沽区| 灵台县| 八宿县| 肇州县| 油尖旺区| 潞西市| 三河市| 神农架林区| 建瓯市| 镇雄县| 观塘区| 育儿| 汉沽区| 芦溪县| 德安县| 张家口市| 本溪| 荆门市| 丽水市| 高尔夫| 万源市| 延寿县| 和平区| 林周县| 金华市| 海城市| 兰州市| 旌德县| 泽库县| 常州市| 德庆县| 洛隆县| 太保市| 静海县| 萍乡市| 永春县| 丰县| 富蕴县|