基于BiSS協議的光電編碼器通信模塊設計
引言
本文引用地址:http://cqxgywz.com/article/169493.htm位置編碼器是工業自動控制中重要的反饋環節執行元件。位置編碼器按工作方式分為絕對式和增量式兩種。絕對位置式編碼器的數據輸出一般采用串行通信的方式[1]。位置編碼器的通信速度,在一定程度上影響閉環系統的時間常數。德國IC-Haus公司提出的BiSS(Bidirectional Synchronous Serial)協議是一種新型的可自由使用的開放式同步串行通信協議[2],使用該協議通信波特率可以達到10Mbps,達到RS422接口總線的波特率上限[3],是其它一些同類常用串行通信協議(如SSI,EnDat,Hiperface,起止式異步協議)的5倍以上。

注:起止式指一種常用的異步串行通信協議[5],每幀數據包括1位起始位、5-8位數據位、1(或0)位奇偶校驗位、1(或1.5或2)位停止位。
由表1中可知,BiSS協議通信波特率遠遠高出其它協議,總線連接方式、報警位、協議長度可調整,工業應用靈活性好,無協議產權成本,全數字接口無模擬器件成本。可見,在通信速度、產品適應性、成本等綜合方面,BiSS協議具有很好的發展前景。
1、BiSS協議
BiSS協議包括讀數模式(sensor mode)和寄存器模式(register mode)兩部分的內容。如圖1、圖2所示,在點對點或總線連接下由主機發送MA(master)信號,編碼器返回SL(slave)信號。SL的返回信號是和MA的時鐘同步的。在寄存器模式下,MA在提供時鐘的同時,需要攜帶寄存器地址、寄存器值等信息,這是通過不同的占空比實現的:當占空比在10%~30%(文中稱為低占空比)時,同時表示數據0;當占空比在70%~90%(文中稱為高占空比)時,同時表示數據1。

1.1 讀數模式
在讀數模式下,通信波特率可達到10Mbps,MA和SL的幀結構如圖3所示。其中,MA的REQ(請求)位的①~②時間長度要小于timeoutSENS(可編程的時間參數),編碼器識別為讀數模式。在MA的每一個時鐘上升沿,SL返回相應的數據位。
實際應用中,長距離的導線傳輸、接口電平轉換芯片等帶來的總線延時(line delay),會有SL2的延遲響應波形。由此可估計總線延時為③~⑧時間長度,即MA時鐘上升沿和SL響應位下降沿的時間長度,相應地延遲采樣時刻,使通信不受總線延時的影響。
編碼器的位置信號需要內部采集,轉換等過程。當編碼器忙不能立刻響應主機的讀數請求時,延遲響應start位,此時為SL3的波形,數據處理帶來的延時為④~⑨時間長度。
可見,在高波特率的通信狀態下,仍能通過估計總線延時和忙延時,準確的進行數據通信。

1.2 寄存器模式
在讀寫寄存器模式下,通信波特率相對較低。文中編碼器的寄存器為EEPROM,正常工作上限波特率為250K。MA的REQ位時間長度要大于timeoutSENS,編碼器識別為寄存器模式。寄存器地址序列為③~④波形(讀寄存器、寫寄存器相同),包括3位的ID(編碼器編號)、7位ADR(編碼器地址)、1位WNR(讀寫標志位)和4位CRC(校驗位),同樣使用高低占空比來實現時鐘和數據的同時輸出。













評論