SPR0,SPR1是SPI時鐘頻率選擇位,控制SPI時鐘為單片機時鐘的幾分頻,如表1所示:

SPI接口初始化程序如下所示:

|
 2.2 A/D數據采集程序 ADS1212內部有5種功能寄存器。其中,指令寄存器(INSR)和命令寄存器(CMR)用于控制轉換器的操作。數據輸出寄存器(DOR)用于存放最新的轉換結果。零點校準寄存器(OCR)和滿量程寄存器(FCR)用于對轉換結果進行校準。 指令寄存器INSR是一個8位寄存器,對ADS1212的每一步操作都是從它開始的。具體格式如下:
R/W是讀寫控制位;“1”為讀操作,“0”為寫操作。 MB1MB0是欲讀寫的字節數。“00”~“11”對應“1”~“4”; A3~A0是欲讀寫寄存器的地址。 命令寄存器CMR是一個32位寄存器,通過對它的操作可以設置ADS1212的各種工作模式,格式如下: 
| 
| 

采樣精度同增益和加速因子的設置都有關系,具體如表3所示。這里需要指出的是。不能同時追求采樣速度和采樣精度,只有選取合適的速度和精度才能體現出該芯片的優勢。 
注:G=1,fXIN=1 MHz(fXIN是外部晶體振蕩囂頻率) 零點校準寄存器(OCR)和滿量程寄存器(FCR)用于對轉換結果進行校準。它們都是24位寄存器,可以在初始化中對其寫入,以便用于校準輸出數據。 數據采集程序的流程圖如圖2所示。 
如下是程序的部分片段: 數據輸出寄存器DOR為24位寄存器,用于存放最新的轉換結果。只有在DRDY信號為低時,DOR中的數據才有效。如果在(1/fDATA)-12 (1/fXIN)時間內沒有讀出DOR中的數據,則它將會被新的數據所覆蓋。DOR中輸出的數據格式可以用補碼形式表示,如 “FFFFFFH~000000H~7FFFFFH”,表示“負最大量程~0~正最大量程”;也可以用原碼形式表示,如 “000000H~800000H~FFFFFFH”,表示“負最大量程~0~正最大量程”,這可用設置CMR3的DF位來實現。
3 結 語 采用ADS1212與SST89E564RD完成的數據采集處理系統采集速度快,精度高,還能將數據及時通過串口發送給上位機程序,且外圍電路簡單。因此,能用于較為復雜的系統開發,非常適用于工業控制、自動測試、儀器儀表、遠程通信等領域的數據采集與傳輸。
|
|
評論