FPGA之BISS介面協議實現

2021-10-14 11:06:40 字數 1364 閱讀 6954

**:

biss通訊協議是一種全雙工同步序列匯流排通訊協議,專門為滿足實時、雙向、高速的感測器通訊而設計,在硬體上相容工業標準ssi(同步序列介面協議)匯流排協議。具體可參考biss通訊協議概述下面直接來看下它的時序圖:

時序圖

注意事項

程式設計思路

ma是時鐘,slo是資料,我們要做的就是給時鐘,然後採集資料。觀察時序,slo有9個狀態,分別是等待狀態、ack狀態、start狀態、0狀態、position狀態(根據我自己的實際硬體引數,這裡取26bit)、error狀態、warn狀態與crc狀態。當error為1(表示資料可信)並且crc校驗正確時,將position階段採集到的slo資料儲存輸出即可。

問1:如何區分slo的9個狀態?

解答1:巧用狀態機,這裡用狀態機標記slo的9個狀態。 

問2:等待狀態跳轉ack狀態以及ack狀態跳轉start狀態跳轉時間都是不確定的時長,針對不確定的時長如何設計轉移條件呢?

解答:可採用檢測slo下降沿和上公升沿的檢測方法。

問3:slo屬於外部器件輸進來的訊號,直接使用可能會造成亞穩態,那如何避免亞穩態的發生呢?解答:打拍子快取,常規做法是至少打3拍。

問4:輸進來的是序列資料,如何對資料進行快取組合成26bit資料輸出?

解答:串轉並即可。

問5:如何進行crc-6檢驗?

上板驗證

FPGA 之串列埠通訊協議

串列埠通訊協議 串列埠通訊 uart 是一種用兩線 rx 傳送端 tx 接收端 實現的非同步 全雙工通訊方式。由於串列埠通訊沒有時鐘訊號線,由此而出現波特率 baundrate 即接收和傳送雙方規定好相同的波特率 以此來保證傳送的資料的正確性 波特率 一秒鐘內傳送的位元組數目。如下圖1是串列埠通訊協...

FPGA筆記之 FPGA浮點運算的實現

ieee 754標準數值表示包括 浮點數,特殊值 零,無窮大,非標準數值,nan 單精度 雙精度 單精度擴充套件格式的浮點數。1 浮點格式。在ieee 754標準中,所有的浮點數都用二進位制模板表示 其中,s域表示符號位,e域表示指數,m域表示尾數 對數的一部分或小數 對於標準浮點數,預設總是存在1...

FPGA實用通訊協議之IIC

eeprom electrically erasable progammable read only memory,e2prom 即電可擦除 可程式設計唯讀儲存器,是一種常用的非易失性儲存器 掉電資料不丟失 eeprom有多種型別的 產品,較常使用的是atmel公司生產的at24c系列。at24cx...