SPR0,SPR1是SPI時鐘頻率選擇位,控制SPI時鐘為單片機時鐘的幾分頻,如表1所示:
SPI接口初始化程序如下所示:
|
2.2 A/D數(shù)據(jù)采集程序 ADS1212內(nèi)部有5種功能寄存器。其中,指令寄存器(INSR)和命令寄存器(CMR)用于控制轉(zhuǎn)換器的操作。數(shù)據(jù)輸出寄存器(DOR)用于存放最新的轉(zhuǎn)換結(jié)果。零點校準(zhǔn)寄存器(OCR)和滿量程寄存器(FCR)用于對轉(zhuǎn)換結(jié)果進行校準(zhǔn)。 指令寄存器INSR是一個8位寄存器,對ADS1212的每一步操作都是從它開始的。具體格式如下:
R/W是讀寫控制位;“1”為讀操作,“0”為寫操作。 MB1MB0是欲讀寫的字節(jié)數(shù)。“00”~“11”對應(yīng)“1”~“4”; A3~A0是欲讀寫寄存器的地址。 命令寄存器CMR是一個32位寄存器,通過對它的操作可以設(shè)置ADS1212的各種工作模式,格式如下: | | 采樣精度同增益和加速因子的設(shè)置都有關(guān)系,具體如表3所示。這里需要指出的是。不能同時追求采樣速度和采樣精度,只有選取合適的速度和精度才能體現(xiàn)出該芯片的優(yōu)勢。 注:G=1,fXIN=1 MHz(fXIN是外部晶體振蕩囂頻率) 零點校準(zhǔn)寄存器(OCR)和滿量程寄存器(FCR)用于對轉(zhuǎn)換結(jié)果進行校準(zhǔn)。它們都是24位寄存器,可以在初始化中對其寫入,以便用于校準(zhǔn)輸出數(shù)據(jù)。 數(shù)據(jù)采集程序的流程圖如圖2所示。 如下是程序的部分片段: 數(shù)據(jù)輸出寄存器DOR為24位寄存器,用于存放最新的轉(zhuǎn)換結(jié)果。只有在DRDY信號為低時,DOR中的數(shù)據(jù)才有效。如果在(1/fDATA)-12 (1/fXIN)時間內(nèi)沒有讀出DOR中的數(shù)據(jù),則它將會被新的數(shù)據(jù)所覆蓋。DOR中輸出的數(shù)據(jù)格式可以用補碼形式表示,如 “FFFFFFH~000000H~7FFFFFH”,表示“負(fù)最大量程~0~正最大量程”;也可以用原碼形式表示,如 “000000H~800000H~FFFFFFH”,表示“負(fù)最大量程~0~正最大量程”,這可用設(shè)置CMR3的DF位來實現(xiàn)。
3 結(jié) 語 采用ADS1212與SST89E564RD完成的數(shù)據(jù)采集處理系統(tǒng)采集速度快,精度高,還能將數(shù)據(jù)及時通過串口發(fā)送給上位機程序,且外圍電路簡單。因此,能用于較為復(fù)雜的系統(tǒng)開發(fā),非常適用于工業(yè)控制、自動測試、儀器儀表、遠程通信等領(lǐng)域的數(shù)據(jù)采集與傳輸。
|
|
評論