《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 24位高精度磁傳感器數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
24位高精度磁傳感器數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2014年第5期
郭熙寶, 曹大平
(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院, 湖北 武漢430072)
摘要: 設(shè)計(jì)一種用于磁傳感器的三路24位高精度數(shù)據(jù)采集系統(tǒng),要求三路噪聲均低于20 μV,系統(tǒng)總功耗低于1 mA。系統(tǒng)采用三片AD7192同步進(jìn)行A/D轉(zhuǎn)換,采集和處理磁傳感器前置模擬電路的信號(hào),微控制器采集所得的數(shù)據(jù),處理后發(fā)送到上位機(jī)進(jìn)行處理分析。軟件仿真及硬件測試結(jié)果表明,該系統(tǒng)完全達(dá)到了設(shè)計(jì)要求。
中圖分類號(hào): TP274
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2014)05-0077-04
Design of 24 bit high-precision magnetic sensor data acquisition system
Guo Xibao, Cao Daping
School of Physics and Technology, Wuhan University, Wuhan 430072, China
Abstract: A kind of three channels and 24 bits high-precision magnetic sensor data acquisition system was designed, it is required that the noise of all channels are less than 20 ?滋V and the power consumption of the system is lower than 1 mA. In this system , three AD7192 data acquisition chips are slected to do the A/D conversion ,they can collect and analysis signals,after that, micro controller collect the data,in that, they are analyzed. As all this,data are sent to the PC for subsequent processing analysis.Software simulation and hardware test shows that the system quite fit the bill of high accuracy.
Key words : data acquisition system; AD7192; A/D conversion; magnetic sensor

 高精度磁傳感器用于在大的地球背景磁場下,探測微弱的目標(biāo)磁場變化信號(hào),需要使用高分辨率、低功耗的模數(shù)轉(zhuǎn)換器(ADC)。本文介紹了一種基于Σ-Δ模數(shù)轉(zhuǎn)換器的高精度磁傳感器數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),該數(shù)據(jù)采集系統(tǒng)可以采集、處理和發(fā)送磁傳感器前置模擬電路發(fā)送來的X、Y、Z三路模擬信號(hào)。與其他數(shù)據(jù)采集系統(tǒng)相比,該系統(tǒng)具有分辨率高、轉(zhuǎn)換速度快、功耗低等優(yōu)點(diǎn)。文中給出系統(tǒng)各模塊電路和軟件的設(shè)計(jì),并給出了系統(tǒng)的性能測試結(jié)果,在此基礎(chǔ)上對(duì)整個(gè)系統(tǒng)進(jìn)行評(píng)價(jià)。
1 主要器件選擇
    本文討論的高精度數(shù)據(jù)采集系統(tǒng)應(yīng)用于磁傳感器模擬信號(hào)的采集和處理。磁傳感器接收外界的磁信號(hào),輸出相應(yīng)的模擬信號(hào),數(shù)據(jù)采集系統(tǒng)負(fù)責(zé)采集此模擬信號(hào),并處理、發(fā)送。為了獲得磁傳感器輸出的微弱信號(hào),數(shù)據(jù)采集系統(tǒng)必須符合高精度、低功耗、規(guī)模小、轉(zhuǎn)換速率快等設(shè)計(jì)指標(biāo)。
    常用的模數(shù)轉(zhuǎn)換器類型主要有積分型ADC、逐次逼近型ADC、并行/串并行比較型ADC和&Sigma;-&Delta;型ADC等。積分型ADC由于轉(zhuǎn)換精度依賴于積分時(shí)間,因此轉(zhuǎn)換速率極低。逐次比較型ADC在低分辯率(<12位)時(shí)價(jià)格便宜,但高精度(>12位)時(shí)價(jià)格很高。并行/串并行比較型ADC轉(zhuǎn)換速率極高,但電路規(guī)模極大,價(jià)格高。&Sigma;-&Delta;型ADC具有分辨率高、轉(zhuǎn)換速度快、電路規(guī)模小、功耗低、價(jià)格便宜等優(yōu)點(diǎn),能夠很好地達(dá)到設(shè)計(jì)要求。在眾多的&Sigma;-&Delta;型ADC中,AD7192抗干擾能力強(qiáng),接口方便,價(jià)格低,因此選擇AD7192作為模數(shù)轉(zhuǎn)換芯片。AD7192 [1]是一款適合高精度精密測量的低噪聲、24位&Sigma;-&Delta; 型模數(shù)轉(zhuǎn)換器 (ADC)。由于采用&Sigma;-&Delta;技術(shù)[2],使得整個(gè)A/D芯片具有精度高、抗干擾能力強(qiáng)、噪聲小和線性讀取好的優(yōu)點(diǎn),在片內(nèi)功能全開的情況下,電流為4.35 mA。
    微控制器對(duì)整個(gè)系統(tǒng)的功耗和性能起著決定性的作用,為達(dá)到設(shè)計(jì)要求,必須選用功耗低、性能穩(wěn)定的微處理器。在本系統(tǒng)中微控制器采用PIC24FV32KA304[3],該器件采用了16位改進(jìn)型哈佛架構(gòu),引入了Microchip超低功耗的理念,該器件帶有內(nèi)部時(shí)鐘,同時(shí)具有打盹模式操作和基于指令的三種節(jié)能模式,這一系列的功能,大幅度地降低了器件的功耗。
2 系統(tǒng)組成與各部分功能
 本系統(tǒng)設(shè)計(jì)主要分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。其中硬件設(shè)計(jì)主要包括數(shù)據(jù)采集模塊、微控制器、電源模塊、數(shù)據(jù)發(fā)送模塊等。軟件設(shè)計(jì)主要包括各器件的初始化模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)顯示模塊等。系統(tǒng)結(jié)構(gòu)框架圖如圖1所示。

    首先在微控制器PIC24FV32KA304的控制下,3片AD7192芯片分別將采集到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后微控制器PIC24FV32KA304讀取數(shù)字信號(hào),并處理此數(shù)字信號(hào),將其轉(zhuǎn)化為所需要的數(shù)據(jù),最后微控制器通過串口將數(shù)據(jù)發(fā)送到上位機(jī),在上位機(jī)上通過VB顯示、處理和分析,實(shí)現(xiàn)目標(biāo)磁場變化信號(hào)的顯示。
3 系統(tǒng)硬件設(shè)計(jì)
3.1 數(shù)據(jù)采集模塊

    數(shù)據(jù)采集模塊由3片AD7192和外圍電路組成。如圖2所示,X路輸入為待轉(zhuǎn)換的模擬信號(hào),AINCOM接地。AD7192以偽差分模式采集外部的模擬信號(hào)。信號(hào)與芯片的AIN1腳連接,信號(hào)的參考地與芯片的AINCOM連接,輸入的模擬電壓值為兩者之差。偽差分輸入減小了信號(hào)源與設(shè)備的參考地電位(地環(huán)流)不同所造成的影響,提高了測量的精度。AD7192的15腳REFIN1+為正基準(zhǔn)輸入,16腳REFIN1-為負(fù)基準(zhǔn)輸入,REFIN1+輸入可以是AVDD與AGND+1 V之間的任意值,REFIN1-輸入可以是AGND與AVDD-1 V之間的任意值,基準(zhǔn)電壓(REFIN1+-REFIN1-)最大為AVDD。在此設(shè)計(jì)中,REFIN1+接2.048 V外部標(biāo)準(zhǔn)電壓,REFIN1-直接與地相連,基準(zhǔn)電壓值即為2.048 V。AD7192與PIC24FV32KA304之間通過SPI串行通信。AD7192 的SPI串行接口包含3個(gè)信號(hào):DIN、SCLK和DOUT/RDY。DIN 線路用于將數(shù)據(jù)傳輸至片內(nèi)寄存器中;DOUT/RDY 則用于從片內(nèi)寄存器中獲取數(shù)據(jù);SCLK 是器件的串行時(shí)鐘輸入,所有數(shù)據(jù)傳輸(無論是 DIN 上還是DOUT/RDY 上)均相對(duì)于 SCLK 信號(hào)進(jìn)行。CS用于選擇器件,設(shè)計(jì)中有3片AD7192, 微控制器在讀取轉(zhuǎn)換結(jié)果時(shí),必須使用片選信號(hào)CS來選擇不同AD7192。


3.2 微控制器
    微控制器通過SPI串行接口向AD7192發(fā)送指令和讀取數(shù)據(jù)。其中微控制器的SDO1、SCK1、SDI1分別與AD7192的DIN、SCLK 和DOUT/RDY相連。為了降低系統(tǒng)的功耗,微控制器的振蕩器選用PIC24FV32KA304的內(nèi)部帶后分頻的8 MHz 快速RC振蕩器,在軟件中,可以設(shè)置此振蕩器的分頻系數(shù),使振蕩頻率降低為2 MHz。從微控制器的OSCO引腳輸出時(shí)鐘信號(hào)CLKIN作為AD7192的振蕩源,連接在AD7192的MCLK2引腳上。系統(tǒng)工作時(shí),微控制器PIC24FV32KA304將初始化命令發(fā)送至AD7192,AD7192接收到初始化命令后,開始工作,將采集到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。微控制器等待上位機(jī)發(fā)送的報(bào)文頭,當(dāng)接收到報(bào)文頭以后,微控制器判斷報(bào)文頭是否正確,如果錯(cuò)誤,微控制器繼續(xù)等待接收?qǐng)?bào)文頭;如果正確,則微控制器讀取AD7192轉(zhuǎn)換后的數(shù)字信號(hào)并處理。處理結(jié)束后微控制器將數(shù)據(jù)發(fā)送給上位機(jī)顯示軟件,在上位機(jī)上通過VB顯示、處理和分析,發(fā)送結(jié)束后微控制器和AD7192進(jìn)入休眠,以降低功耗。休眠一段時(shí)間(大約400 ms)后,喚醒微控制器和AD7192,進(jìn)入下一次轉(zhuǎn)換。PIC24FV32KA304與AD7192的連接電路如圖2所示,圖中X為輸入的模擬信號(hào)。
3.3 電源模塊
    該系統(tǒng)采用ADP150作為穩(wěn)壓源,為系統(tǒng)提供3.3 V的穩(wěn)定電壓。PIC24F32KA304器件引腳的最大電壓為3.6 V,不能承受5 V 電壓。故選用3.3 V電壓。ADP150是一款超低噪聲(9 &mu;V)、低壓差線性調(diào)節(jié)器,采用2.2 V至5.5 V電源供電,電路如圖3所示。

3.4 數(shù)據(jù)發(fā)送模塊
    微控制器與上位機(jī)之間采用RS-485接口方式進(jìn)行數(shù)據(jù)傳輸。圖5為數(shù)據(jù)發(fā)送模塊電路圖。圖中MAX3471的/RE(2)、DE(3)引腳并接在一起由微控制器控制,當(dāng)DE/RE為低電平時(shí),處于接收狀態(tài),A、B的差分信號(hào)經(jīng)MAX3471轉(zhuǎn)換成單端信號(hào)由微控制器的串行口線RXD接收;當(dāng)DE/RE為高電平時(shí),微控制器串口線TXD發(fā)送出的數(shù)據(jù)經(jīng)MAX3471轉(zhuǎn)換為差分信號(hào)發(fā)送出去。在差分線A、B上并接120 &Omega;的終端電阻,用以吸收信號(hào)反射。

   為了減小系統(tǒng)的體積,在設(shè)計(jì)印制電路板時(shí),采用四層板。為了降低系統(tǒng)噪聲,提高系統(tǒng)的穩(wěn)定性和精度,在元器件布局和電路板走線時(shí),需要遵循以下規(guī)則[4]:
    (1)電路板模擬部分與數(shù)字部分分離,并限制在電路板的一定區(qū)域內(nèi)。當(dāng)距離很近時(shí),中間要用地線隔開。
    (2)元器件在整個(gè)板面上應(yīng)緊湊分布,盡量縮短元器件間的布線長度。屬于同一模塊的器件,要就近放置。
    (3)加寬電源線和地線。數(shù)字地和模擬地分開,在電源入口處單點(diǎn)匯集。
    (4)輸入和輸出盡量避免相鄰平行,電路板相鄰兩個(gè)信號(hào)層的導(dǎo)線應(yīng)相互垂直、斜交或彎曲走線。印制導(dǎo)線拐角一般選擇45&deg;,或采用圓弧拐角。
4 系統(tǒng)軟件設(shè)計(jì)
    本系統(tǒng)軟件主要包括初始化模塊、數(shù)據(jù)采集處理模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)顯示模塊等。其中初始化模塊、數(shù)據(jù)采集處理模塊、數(shù)據(jù)發(fā)送模塊是在MPLAB IDE編譯器上用C [5]語言編寫,數(shù)據(jù)顯示模塊在Visual Basic[6]環(huán)境下編寫。
    初始化模塊,主要是系統(tǒng)各個(gè)功能模塊初始化,包括微控制器端口初始化,UART串口初始化,SPI初始化,AD7192初始化等,初始化結(jié)束后,系統(tǒng)即進(jìn)入工作狀態(tài),采集并轉(zhuǎn)換模擬信號(hào)。轉(zhuǎn)換結(jié)束, 輸出轉(zhuǎn)換輸出碼[1],ADC配置為單極性工作模式,輸出碼為自然(直接)二進(jìn)制碼;零差分輸入電壓對(duì)應(yīng)的碼為000&hellip;&hellip;000,中間電平電壓對(duì)應(yīng)的碼為100&hellip;&hellip;000,滿量程輸入電壓對(duì)應(yīng)的碼為111&hellip;&hellip;111。任意模擬輸入電壓的輸出碼可以表示為式(1):
    輸出碼=(2N&times;AIN&times;Gain)/VREF    (1)
其中,AIN為模擬輸入電壓,Gain為電壓增益設(shè)置,此處設(shè)置為1,VREF為參考電壓(2.048 V),N=24。
    數(shù)據(jù)采集處理模塊,主要是編程使微控制器通過SPI通信讀取AD7192的轉(zhuǎn)換結(jié)果,并進(jìn)行簡單處理,得到需要的數(shù)據(jù)。AD7192轉(zhuǎn)換結(jié)束后,產(chǎn)生一個(gè)32位的數(shù)據(jù),其中高8位是狀態(tài)位,屏蔽高8位的狀態(tài)位后,剩下的24位數(shù)據(jù)即為所得的數(shù)據(jù)位(輸出碼)。由任意模擬輸入電壓輸出碼表達(dá)式反推可得模擬電壓AIN。
 在數(shù)據(jù)發(fā)送模塊中,微控制器通過UART串口通信,將所得的模擬電壓值A(chǔ)IN通過UART通信發(fā)送到上位機(jī),在上位機(jī)上通過數(shù)據(jù)顯示模塊顯示、處理。然后微控制器和AD7192進(jìn)入休眠狀態(tài),等待下一次轉(zhuǎn)換。程序框圖如圖6所示?!?/p>

 

 

5 系統(tǒng)性能測試
5.1 系統(tǒng)功耗測試

    由于AD7192和PIC24FV32KA304自身功耗比較低,在設(shè)計(jì)中,又使用了單片機(jī)內(nèi)部振蕩器作為AD7192和PIC24FV32KA304的時(shí)鐘信號(hào),并且工作結(jié)束即讓AD7192和PIC24FV32KA304進(jìn)入休眠狀態(tài),所以系統(tǒng)的功耗很低。通過數(shù)字電流表顯示,系統(tǒng)平均功耗為0.8 mA,低于系統(tǒng)設(shè)計(jì)要求的1 mA。
5.2 系統(tǒng)噪聲測試
    在輸入模擬電壓為零的情況下,上位機(jī)Visual Basic上顯示的圖形即為系統(tǒng)噪聲圖。圖7為在Visual Basic上顯示的X路數(shù)據(jù)采集系統(tǒng)的噪聲(Y路、Z路噪聲和X路基本一致),其中橫坐標(biāo)表示測試時(shí)間,一格為1 min。縱坐標(biāo)表示數(shù)據(jù)采集系統(tǒng)的自噪聲,單位為&mu;V,從圖中可以看出系統(tǒng)自噪聲峰值基本在10 &mu;V左右,低于系統(tǒng)設(shè)計(jì)要求的20  &mu;V。

    本系統(tǒng)采用了內(nèi)置低噪聲、24位&Sigma;-&Delta; 型模數(shù)轉(zhuǎn)換器AD7192,保證了系統(tǒng)的高精度、低噪聲。采用微控制器PIC24FV32KA304內(nèi)部快速RC振蕩器作為微控制器和AD7192的振蕩器,有效降低了系統(tǒng)的功耗。多次測量結(jié)果顯示,該系統(tǒng)完全滿足了高精度、低噪聲、低功耗的要求, 可以作為磁傳感器的數(shù)據(jù)采集系統(tǒng)使用。
參考文獻(xiàn)
[1] Analog Device. AD7192. 4.8 kHz, Ultralow Noise, 24 bit  Sigma-Delta ADC with PGA[Z]. 2009:1-38.
[2] 張靜,羅丁利. &Sigma;-&Delta;ADC原理及應(yīng)用[J].火控雷達(dá)技術(shù),2006(3):10-13.
[3] PIC24FV32KA304.General Purpose,16-Bit Flash Microcon  trollers with XLP Technology[Z], 2002:165-172.
[4] 李俊婷. 計(jì)算機(jī)輔助電路設(shè)計(jì)與protel DXP[M].北京:高等教育出版社,2010:61-64.
[5] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005:281-318.
[6] 譚浩強(qiáng).Visual Basic程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2006:13-47.

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