1. 程式人生 > >ADIS16203角度感測器的stm32驅動實現要點

ADIS16203角度感測器的stm32驅動實現要點

一、前言

ADIS16203是一款完整的傾斜角測量系統,採用ADI公司的 iSensor™整合技術製造,全部功能均集成於一個緊湊的封裝中。該器件採用嵌入式訊號處理解決方案來增強ADI公司的 iMEMS®感測器技術,可提供適當格式的工廠校準、感測器數字傾斜角資料,從而利用序列外設介面(SPI)即可方便地訪問資料。通過SPI介面可以訪問多個測量結果:360°線性傾斜角、±180°線性傾斜角、溫度、電源和一個輔助模擬輸入。由於可以輕鬆訪問校準的數字感測器資料,因此開發者能夠獲得可立即供系統使用的器件,使開發時間、成本和程式設計風險得以減少。

通過數個內建特性,如單命令失調校準等,以及方便的取樣速率控制和頻寬控制,該器件很容易適應終端系統的獨特特徵。

ADIS16203提供下列嵌入式特性,無需外部電路,並提供簡化的系統介面:

  • 可配置報警功能
  • 輔助12位模數轉換器(ADC)
  • 輔助12位數模轉換器(DAC)
  • 可配置數字I/O埠
  • 數字自測功能

二、怎樣從datasheet裡面提取與驅動編寫有關的資訊

1.spi的通訊速率

從時序規格表可知該晶片的spi通訊速率最快是2.5MHz,普通模式是1MHz。

2.SPI的極性和相位


從時序圖可知該晶片的相位CPHA=1(時鐘空閒時高電平),極性CPOL=1(上升沿取樣)

3.CS片選訊號

由上圖可知CS是低電平有效。

4.spi一個數據幀的位數

由圖可知一個數據幀是16位的。

5.spi傳送資料位的順序


由圖可知是先發高位(MSB)

6.spi的讀寫控制


由圖可知控制spi讀寫是由地址位元組的最高位控制的,READ=0,WRITE=1

7.spi的復位控制


復位只需要把RST引腳拉低一會再拉高即可。

8.SPI寫資料的時序控制

從手冊可知該晶片寫一個位元組的資料需要發兩幀資料,每幀資料有兩個位元組,高位元組是暫存器地址,低位元組是要寫的資料內容,地址的位元組還需要把位元組高位置1來表示寫資料。


每個暫存器有兩個位元組的地址,對應可以儲存兩個位元組的資料內容。

9.SPI讀資料的時序控制

讀資料的時候需要傳送一個讀取資料的命令幀,該資料幀分兩個位元組,高位元組需攜帶暫存器的地址(6位)(暫存器有兩個地址,隨便一個地址都可以),地址位元組高位需置1表示讀操作,資料幀的低位元組可以不用管(填入任意資料都可以)。晶片接收該讀資料的命令幀則會通過MISO返回暫存器儲存的16位資料。

10.  ADIS16203晶片的資料解析

通過spi讀取到的資料是16進位制數,按照不同暫存器你可以乘以一個單位值就能得到取樣的資料。

假如當前讀取的內容是INCL_180_OUT暫存器,讀到的資料值0x0019,則換算方式是:25x0.025=0.625度

下圖是換算的參考表


參考: