《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于PIC單片機(jī)開發(fā)的高精度數(shù)據(jù)采集器
基于PIC單片機(jī)開發(fā)的高精度數(shù)據(jù)采集器
摘要: 本設(shè)計(jì)可用于工業(yè)過程控制、儀器儀表、血液分析、智能發(fā)射機(jī)、電位計(jì)、質(zhì)量標(biāo)準(zhǔn)、 壓力轉(zhuǎn)換等高分辨率測(cè)量場(chǎng)合,例如可用于精度要求較高的電容式測(cè)壓微傳感器的性能測(cè)試 ,具有一定的通用性。
Abstract:
Key words :

  1ADS1210引腳及功能

  ADS1210是一種高精度、寬動(dòng)態(tài)范圍,采用單5V電源供電,具有24位分辨率的新型A/D轉(zhuǎn)換器。封裝形式有18腳雙列直插式和18線貼片式,引腳功能描述如表1。

引腳功能描述

  ●指令寄存器(INSR)

  指令寄存器是一個(gè)8位寄存器,它指明了系統(tǒng)是進(jìn)行讀操作還是寫操作,并確定讀/寫操作的字節(jié)長(zhǎng)度以及讀/寫操作寄存器的起始地址。

  ●命令寄存器(CMR)

  命令寄存器是ADS1210的關(guān)鍵,它控制著ADS1210的所有特性功能。一旦串口時(shí)鐘的下降沿將數(shù)據(jù)字節(jié)的最后一位寫入命令寄存器,新的模式就開始生效。命令寄存器控制ADS1210所選用的選項(xiàng)和操作模式,包括可編程增益放大器的增益(G)設(shè)置、增強(qiáng)模式(TMR)、輸出數(shù)據(jù)率(Decimation)和校正方式等等。

  ●數(shù)據(jù)輸出寄存器(DOR)

  數(shù)據(jù)輸出寄存器保存最近的轉(zhuǎn)換結(jié)果。“數(shù)據(jù)準(zhǔn)備就緒信號(hào)”變?yōu)榈碗娖角埃拇嫫鞯膬?nèi)容被一個(gè)新的結(jié)果更新。

  ●失調(diào)寄存器(OCR)

  失調(diào)寄存器對(duì)放入數(shù)據(jù)輸出寄存器前的轉(zhuǎn)換結(jié)果進(jìn)行失調(diào)校正。在這種應(yīng)用中,失調(diào)寄存器的內(nèi)容可能是自校正結(jié)果,也可能是系統(tǒng)校正結(jié)果,通過串行口可以對(duì)失調(diào)寄存器進(jìn)行讀寫。

  ●滿刻度校正寄存器(FCR)

  滿刻度校正寄存器對(duì)放入數(shù)據(jù)輸出寄存器前的轉(zhuǎn)換結(jié)果進(jìn)行滿刻度校正。實(shí)際的失調(diào)寄存器值和滿刻度校正寄存器值隨結(jié)構(gòu)、溫度和電源的變化而改變。因此,任何狀態(tài)下的失調(diào)寄存器和滿刻度校正寄存器的實(shí)際值都不能精確地預(yù)測(cè),也就是說,給定系統(tǒng)的校正不能簡(jiǎn)單地通過外部誤差的測(cè)量來獲得某一結(jié)果,將其寫入寄存器作為校正因子。

  與ADS1210的通信是在數(shù)據(jù)轉(zhuǎn)換完成之后,即電平為低的時(shí)候開始進(jìn)行的。通常首先是對(duì)指令寄存器進(jìn)行寫操作,指明下一步要進(jìn)行操作的寄存器的起始地址和字節(jié)長(zhǎng)度以及系統(tǒng)是進(jìn)行讀操作還是寫操作,由此決定接下來進(jìn)行什么類型的通信。之后隨著合適的時(shí)鐘脈沖產(chǎn)生(SCLK時(shí)鐘的周期數(shù)是由指令寄存器指定的字節(jié)長(zhǎng)度所決定的),對(duì)指令寄存器指定的寄存器進(jìn)行操作,完畢后等待引腳的下一個(gè)低電平產(chǎn)生,如此反復(fù)直到數(shù)據(jù)采集完成。

  在實(shí)際的測(cè)量中,電源是影響精度的重要因素。為了減小其影響,電源必須穩(wěn)定,噪聲小,因此,使用MAX666作+5V電壓的穩(wěn)壓芯片,以及利用外圍電容的作用減少電壓波動(dòng)。此外,ADS1210可使用本身的校正寄存器,通過編程對(duì)A/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行校正,進(jìn)一步提高測(cè)量精度。通過CMR的設(shè)置,使用者可自行選擇合適的校正模式。在背景校正下,校正以固定的時(shí)間間隔重復(fù)不斷地進(jìn)行,其他的幾種類型,一旦校正運(yùn)行完成就恢復(fù)正常運(yùn)行。本設(shè)計(jì)采用背景校正模式。

  PIC系列單片機(jī)硬件系統(tǒng)設(shè)計(jì)簡(jiǎn)潔,指令系統(tǒng)設(shè)計(jì)精煉。PIC單片機(jī)集成了豐富的外圍模塊,可以通過對(duì)內(nèi)部的寄存器操作實(shí)現(xiàn)對(duì)外圍模塊的控制。

  串行擴(kuò)展通信接口是單片機(jī)與其他計(jì)算機(jī)或模塊之間進(jìn)行數(shù)據(jù)交換的重要渠道。PIC16F87X系列單片機(jī)主要配置有2種形式的串口通信模塊,即主控同步串行通信MSSP和通用同步/異步收發(fā)器USART。其中,MSSP模塊主要應(yīng)用于系統(tǒng)內(nèi)部近距離的串行通信,如SPI和I2C模式;USART模塊主要應(yīng)用于系統(tǒng)之間的遠(yuǎn)距離的串口通信。

  SPI(Serial Peripheral Interface)是一種單片機(jī)外設(shè)芯片同步串行擴(kuò)展接口,由于ADS1210自帶一個(gè)靈活的同步串行接口與SPI通信模式兼容,故本設(shè)計(jì)中PIC單片機(jī)與ADS1210進(jìn)行的所有數(shù)據(jù)交換都采用SPI的通信模式。PIC單片機(jī)的SPI模塊電路包含3個(gè)主要部分:發(fā)送緩沖器、接收緩沖器和移位寄存器。

  USART在異步模式下采用的數(shù)據(jù)格式為1位起始位、8位或9位數(shù)據(jù)位和1位停止位,無奇偶位校驗(yàn)碼,常用的數(shù)據(jù)為8位。片內(nèi)提供的8位波特率發(fā)生器BRG,可以利用系統(tǒng)時(shí)鐘信號(hào)產(chǎn)生標(biāo)準(zhǔn)的波特率頻率為串行傳送所用。USART具有分別獨(dú)立的發(fā)送器和接收器,但它們所采用的數(shù)據(jù)格式和波特率是相同的。本設(shè)計(jì)運(yùn)用單片機(jī)的USART異步發(fā)送功能通過MAX232芯片進(jìn)行必要的電平轉(zhuǎn)換后向上位機(jī)傳送所采集的數(shù)據(jù)。

  ADS1210與外部器件接口形式有雙線制、三線制、四線制和多線制,此處采用的是四線制實(shí)現(xiàn)與單片機(jī)的接口,接口信號(hào)是數(shù)據(jù)準(zhǔn)備就緒信號(hào)(),數(shù)據(jù)輸入/輸出線(SDIO)、數(shù)據(jù)輸出線(SDOUT)、時(shí)鐘信號(hào)線(SCLK)。具體見圖1。

ADS1210與外部器件接口形式

  PIC單片機(jī)程序的流程圖如圖2。

PIC單片機(jī)程序的流程圖

  圖3是用來從串口接收數(shù)據(jù)的軟件運(yùn)行界面,作為本設(shè)計(jì)的測(cè)試軟件。接收區(qū)內(nèi)顯示的 數(shù)據(jù)是使用本數(shù)據(jù)采集器所采集的幾組數(shù)據(jù),而界面下端的狀態(tài)欄RX顯示的是接收數(shù)據(jù)的組 數(shù),實(shí)驗(yàn)表明,本設(shè)計(jì)完全可以達(dá)到20位以上的精度。

用來從串口接收數(shù)據(jù)的軟件運(yùn)行界面

  本設(shè)計(jì)可用于工業(yè)過程控制、儀器儀表、血液分析、智能發(fā)射機(jī)、電位計(jì)、質(zhì)量標(biāo)準(zhǔn)、 壓力轉(zhuǎn)換等高分辨率測(cè)量場(chǎng)合,例如可用于精度要求較高的電容式測(cè)壓微傳感器的性能測(cè)試 ,具有一定的通用性。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。