這篇主要是介紹一下BISS編碼器協定,以及TI的對于絕對值編碼器的方案。主要針對BISS的是線路延遲補償的一些介紹。順便一提,有一說一,TI的文檔寫的全,還細緻。
關于SSI的絕對值編碼器協定可以看這裡:
SSI編碼器通信
首先簡單的介紹一下BISS的編碼器協定。
它和SSI的硬體一樣,相容SSI接口。為了通信速度更快,BISS加入了傳播延遲的補償功能。又怕資料出錯,加入的資料診斷CRC校驗。在SSI隻能單向通信的情況,那BISS又有了雙向通信,可以對編碼器進行設定。并且不滿足點對點的通信,那又有組網功能。是以其特點:
- 高速通信
- 低延遲時間且固定
- 延遲補償
- 資料診斷(crc)
- 雙向通信
- 組網能力
在TI文檔:《Universal Digital Interface to Absolute Position Encoders》中有表進行了幾個編碼器的對比:
線路延遲
TI文檔《Interface to a 5-V BiSS® Position Encoder》有描述線纜的長度和信号傳輸的延遲關系。
電纜對較長電纜長度的傳播延遲有顯着貢獻,這遠遠超過了 RS485 收發器的傳播延遲。電纜的傳播延遲取決于電纜的電氣參數,根據經驗,大約使用 5 ns/m。
理想情況下,傳播延遲與相對介電常數εr和相對磁導率μr的平方根成反比。 對于PVC,在1 MHz時的相對介電常數εr約為4至4.5。 假設µr約為1,則傳播速度為0.3 / sqrt(4)[m / ns] = 0.15 [m / ns]。 倒數是6.6 ns / m
而1M的時鐘,其一個時鐘機關才1us。要是10M的時鐘,一個時鐘機關100ns。
BISS的線路延遲補償原理
BISS-C的ACK提供了可以檢測準确延遲的機制。BiSS主裝置以時鐘MA開始傳輸幀。 MA的第一個上升沿用于從站的同步。 随着MA的第二個上升沿,從機将SLO線設定為0并生成一個确認信号(Ack)。
延遲補償原則:
從時鐘脈沖MA到SL信号輸入的總信号延遲可以分别由主機檢測和補償。 為了确定線路延遲,主機測量從第二個MA上升沿到從機響應的Ack位(SL:Ack)下降沿的延遲。
TI的方案
這《适用于 C2000™ MCU 的 BiSS-C 絕對編碼器主接口參考設計》這個文檔中有詳細的介紹:
這個文檔中有TI對于biss的通信庫的介紹,TI的 control suit裡面還有這幾種編碼器通信的庫,以及例程。
ti使用c2000系列的F28379D,它帶有可程式設計邏輯塊。
這個子產品能讓多個外設共同協調,配置,計算相關值。以下是内部實作圖:
其原理大緻:
利用了兩路PWM,SPI,和INNPUT XBAR 以及CLB,四個外設。
- PWMB是作為SPI從機的時鐘
- PWMA是作為編碼器的MASTER,
- 其接受資料還是用的SPI的外設,不過是作為從機。兩路PWM即是為了檢測到線延遲,進行相位時間的調整。
- Ack的檢測即是圖中INNPUT XBAR監測SPISIMO來确定時間。
- 可程式設計邏輯塊就是把pwm子產品,spi子產品,INNPUT XBAR把他們連接配接起來。
mcu對于BISS的開發
在禹衡光學《新型傳感器通信總線BISS介紹》這篇文章中較為詳細介紹了BISS。https://wenku.baidu.com/view/1b9fa24a6c175f0e7cd13768.html
提到MCU開發BISS的難點:
随着MCU的發展,對于電機控制類的MCU,很有可能會開發加上對于這些絕對值編碼器的外設。可能在一些驅動器産品中就可以省去一片FPGA或者CPLD。
我也确實看到的有MCU介紹,去內建這種外設:
反正牛逼就是了。
禹衡光學《新型傳感器通信總線BISS介紹》
《适用于 C2000™ MCU 的 BiSS-C 絕對編碼器主接口參考設計》
《Interface to a 5-V BiSS® Position Encoder》
《Universal Digital Interface to Absolute Position Encoders》
被抛棄的寫随筆公衆号改寫技術文章了,感興趣的可以關注公衆号:王崇衛