基于FPGA的BiSS協(xié)議光電編碼器通信模塊設(shè)計(jì)
引言
位置編碼器是工業(yè)自動(dòng)控制中重要的反饋環(huán)節(jié)執(zhí)行元件。位置編碼器按工作方式分為絕對(duì)式和增量式兩種。絕對(duì)位置式編碼器的數(shù)據(jù)輸出一般采用串行通信的方式[1]。位置編碼器的通信速度,在一定程度上影響閉環(huán)系統(tǒng)的時(shí)間常數(shù)。德國(guó)IC-Haus公司提出的BiSS(Bidirectional Synchronous Serial)協(xié)議是一種新型的可自由使用的開(kāi)放式同步串行通信協(xié)議[2],使用該協(xié)議通信波特率可以達(dá)到10Mbps,達(dá)到RS422接口總線的波特率上限[3],是其它一些同類(lèi)常用串行通信協(xié)議(如SSI,EnDat,Hiperface,起止式異步協(xié)議)的5倍以上。
注:起止式指一種常用的異步串行通信協(xié)議[5],每幀數(shù)據(jù)包括1位起始位、5-8位數(shù)據(jù)位、1(或0)位奇偶校驗(yàn)位、1(或1.5或2)位停止位。
由表1中可知,BiSS協(xié)議通信波特率遠(yuǎn)遠(yuǎn)高出其它協(xié)議,總線連接方式、報(bào)警位、協(xié)議長(zhǎng)度可調(diào)整,工業(yè)應(yīng)用靈活性好,無(wú)協(xié)議產(chǎn)權(quán)成本,全數(shù)字接口無(wú)模擬器件成本??梢?jiàn),在通信速度、產(chǎn)品適應(yīng)性、成本等綜合方面,BiSS協(xié)議具有很好的發(fā)展前景。
1、BiSS協(xié)議
BiSS協(xié)議包括讀數(shù)模式(sensor mode)和寄存器模式(register mode)兩部分的內(nèi)容。如圖1、圖2所示,在點(diǎn)對(duì)點(diǎn)或總線連接下由主機(jī)發(fā)送MA(master)信號(hào),編碼器返回SL(slave)信號(hào)。SL的返回信號(hào)是和MA的時(shí)鐘同步的。在寄存器模式下,MA在提供時(shí)鐘的同時(shí),需要攜帶寄存器地址、寄存器值等信息,這是通過(guò)不同的占空比實(shí)現(xiàn)的:當(dāng)占空比在10%~30%(文中稱(chēng)為低占空比)時(shí),同時(shí)表示數(shù)據(jù)0;當(dāng)占空比在70%~90%(文中稱(chēng)為高占空比)時(shí),同時(shí)表示數(shù)據(jù)1。
1.1 讀數(shù)模式
在讀數(shù)模式下,通信波特率可達(dá)到10Mbps,MA和SL的幀結(jié)構(gòu)如圖3所示。其中,MA的REQ(請(qǐng)求)位的①~②時(shí)間長(zhǎng)度要小于timeoutSENS(可編程的時(shí)間參數(shù)),編碼器識(shí)別為讀數(shù)模式。在MA的每一個(gè)時(shí)鐘上升沿,SL返回相應(yīng)的數(shù)據(jù)位。
實(shí)際應(yīng)用中,長(zhǎng)距離的導(dǎo)線傳輸、接口電平轉(zhuǎn)換芯片等帶來(lái)的總線延時(shí)(line delay),會(huì)有SL2的延遲響應(yīng)波形。由此可估計(jì)總線延時(shí)為③~⑧時(shí)間長(zhǎng)度,即MA時(shí)鐘上升沿和SL響應(yīng)位下降沿的時(shí)間長(zhǎng)度,相應(yīng)地延遲采樣時(shí)刻,使通信不受總線延時(shí)的影響。
編碼器的位置信號(hào)需要內(nèi)部采集,轉(zhuǎn)換等過(guò)程。當(dāng)編碼器忙不能立刻響應(yīng)主機(jī)的讀數(shù)請(qǐng)求時(shí),延遲響應(yīng)start位,此時(shí)為SL3的波形,數(shù)據(jù)處理帶來(lái)的延時(shí)為④~⑨時(shí)間長(zhǎng)度。
可見(jiàn),在高波特率的通信狀態(tài)下,仍能通過(guò)估計(jì)總線延時(shí)和忙延時(shí),準(zhǔn)確的進(jìn)行數(shù)據(jù)通信。
1.2 寄存器模式
在讀寫(xiě)寄存器模式下,通信波特率相對(duì)較低。文中編碼器的寄存器為EEPROM,正常工作上限波特率為250K。MA的REQ位時(shí)間長(zhǎng)度要大于timeoutSENS,編碼器識(shí)別為寄存器模式。寄存器地址序列為③~④波形(讀寄存器、寫(xiě)寄存器相同),包括3位的ID(編碼器編號(hào))、7位ADR(編碼器地址)、1位WNR(讀寫(xiě)標(biāo)志位)和4位CRC(校驗(yàn)位),同樣使用高低占空比來(lái)實(shí)現(xiàn)時(shí)鐘和數(shù)據(jù)的同時(shí)輸出。
主機(jī)輸出寄存器地址序列后,如果是讀寄存器模式,即寄存器地址序列中的WNR位為0,MA繼續(xù)輸出時(shí)鐘,SL返回寄存器中的數(shù)據(jù)。如果是寫(xiě)寄存器模式,即寄存器地址序列中的WNR位為1,MA則繼續(xù)輸出高低占空比信號(hào),SL返回寫(xiě)入的寄存器值,如該值與發(fā)送的數(shù)據(jù)一致,說(shuō)明寫(xiě)寄存器操作成功。
位置數(shù)據(jù)、寄存器數(shù)據(jù)、寄存器地址后均加有CRC校驗(yàn),保證傳送數(shù)據(jù)的準(zhǔn)確性。對(duì)于總線連接方式,BiSS協(xié)議給出了多編碼器串行連接的讀數(shù)方式和寄存器讀寫(xiě)方式,是上述時(shí)序的組合。
2、通信模塊的軟硬件設(shè)計(jì)
2.1 硬件設(shè)計(jì)
通信模塊基于EP1C12Q240-FPGA設(shè)計(jì),對(duì)Netzer RE252型號(hào)的絕對(duì)位置式光電編碼器進(jìn)行位置讀數(shù),采用點(diǎn)對(duì)點(diǎn)連接,RS422差分總線接口使用MAX3460電平轉(zhuǎn)換芯片。為了提高通信模塊在工業(yè)應(yīng)用中的抗干擾性,接口芯片和FPGA核心模塊之間加入高速光耦HCPL0630進(jìn)行隔離。輸出接口有并行接口、串行通信接口、增量式等,與上位機(jī)通信。
2.2 軟件設(shè)計(jì)
程序在Quartus II軟件[6]環(huán)境下,使用Verilog HDL[7]語(yǔ)言編寫(xiě),采用的是自底向上的編寫(xiě)方式,使用約6000門(mén)資源。底層模塊包括讀數(shù)模塊、讀寫(xiě)寄存器模塊。底層模塊的clk時(shí)鐘由頂層模塊的鎖相環(huán)PLL分頻提供[8]。讀數(shù)模塊或者讀寫(xiě)寄存器模塊在EN置位后,獨(dú)占MA線,發(fā)送與協(xié)議對(duì)應(yīng)的波形,再根據(jù)編碼器返回的SL波形采樣識(shí)別數(shù)據(jù),通過(guò)data總線保存到頂層模塊的數(shù)據(jù)緩沖區(qū)。
頂層模塊主要包括兩個(gè)狀態(tài)機(jī)。讀數(shù)狀態(tài)機(jī)根據(jù)編碼器的工作時(shí)序要求完成寄存器的初始化,然后不斷的讀取編碼器的數(shù)據(jù)保存到數(shù)據(jù)緩沖區(qū)。輸出狀態(tài)機(jī)根據(jù)指定標(biāo)志位從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù),控制以并行、串口、增量式的輸出時(shí)序邏輯。
3、實(shí)驗(yàn)結(jié)果及對(duì)比
quartus II中的signalTap邏輯分析儀可以嵌入到FPGA,觀察管腳電平和內(nèi)部變量值。圖7所示為編碼器返回14位數(shù)據(jù)的通信波形。從圖中可見(jiàn),SL的第一個(gè)下降沿即ACK位延遲了約0.65μs,為總線延時(shí)。一個(gè)完整的讀數(shù)操作從-5時(shí)刻開(kāi)始需要約210個(gè)采樣點(diǎn),即4.2μs的時(shí)間(4.2μs=210*1/50 MHz,采樣頻率50MHz)。
圖8為*AGAWA-TS5667型號(hào)的絕對(duì)式光電位置編碼器返回17位數(shù)據(jù)的通信波形,該編碼器采用起止式異步串行通信協(xié)議,波特率為2.5M。半雙工通信方式下,一個(gè)完整的讀數(shù)操作從0時(shí)刻di請(qǐng)求開(kāi)始,到約868時(shí)刻ro應(yīng)答結(jié)束,需要約30.4μs的時(shí)間(30.4μs=868*1/28.57MHz,采樣頻率28.57MHz)。
BiSS協(xié)議下的數(shù)據(jù)位數(shù)可調(diào)整,如果把BiSS協(xié)議下的數(shù)據(jù)位數(shù)從14位增加到17位,只需增加3個(gè)時(shí)鐘的時(shí)間長(zhǎng)度,在10Mbps下為0.3秒。
由此得到,在同樣傳輸17位光電編碼器位置數(shù)據(jù)的情況下,起止式異步協(xié)議耗時(shí)30.4μs,而B(niǎo)iSS協(xié)議僅耗時(shí)4.5μs,通信速度提高了6.75倍。
4、結(jié)論
基于BiSS協(xié)議的各方面優(yōu)點(diǎn),目前已有德國(guó)IC-Haus,美國(guó)Danaher,以色列Netzer Precision等130多家公司申請(qǐng)并免費(fèi)使用了BiSS協(xié)議,BiSS協(xié)議得到了越來(lái)越廣泛的應(yīng)用。同時(shí),BiSS與SSI協(xié)議下的接口兼容,方便SSI使用者和廠商系統(tǒng)升級(jí)。綜上所述,BiSS協(xié)議在降低協(xié)議成本、硬件成本,提高通信速度和準(zhǔn)確率等綜合方面,是未來(lái)編碼器用串行通信協(xié)議中一種非常理想的選擇。
參考文獻(xiàn):
[1].MAX3460datasheethttp://www.dzsc.com/datasheet/MAX3460_1016230.html.
[2].HCPL0630datasheethttp://www.dzsc.com/datasheet/HCPL0630_823696.html.
來(lái)源:過(guò)往煙云0次