文獻(xiàn)標(biāo)識碼: B
文章編號: 0258-7998(2014)05-0077-04
高精度磁傳感器用于在大的地球背景磁場下,,探測微弱的目標(biāo)磁場變化信號,需要使用高分辨率,、低功耗的模數(shù)轉(zhuǎn)換器(ADC),。本文介紹了一種基于Σ-Δ模數(shù)轉(zhuǎn)換器的高精度磁傳感器數(shù)據(jù)采集系統(tǒng)的設(shè)計,該數(shù)據(jù)采集系統(tǒng)可以采集,、處理和發(fā)送磁傳感器前置模擬電路發(fā)送來的X,、Y、Z三路模擬信號,。與其他數(shù)據(jù)采集系統(tǒng)相比,,該系統(tǒng)具有分辨率高、轉(zhuǎn)換速度快,、功耗低等優(yōu)點(diǎn),。文中給出系統(tǒng)各模塊電路和軟件的設(shè)計,并給出了系統(tǒng)的性能測試結(jié)果,,在此基礎(chǔ)上對整個系統(tǒng)進(jìn)行評價,。
1 主要器件選擇
本文討論的高精度數(shù)據(jù)采集系統(tǒng)應(yīng)用于磁傳感器模擬信號的采集和處理,。磁傳感器接收外界的磁信號,輸出相應(yīng)的模擬信號,數(shù)據(jù)采集系統(tǒng)負(fù)責(zé)采集此模擬信號,,并處理、發(fā)送,。為了獲得磁傳感器輸出的微弱信號,,數(shù)據(jù)采集系統(tǒng)必須符合高精度、低功耗,、規(guī)模小,、轉(zhuǎn)換速率快等設(shè)計指標(biāo)。
常用的模數(shù)轉(zhuǎn)換器類型主要有積分型ADC,、逐次逼近型ADC,、并行/串并行比較型ADC和Σ-Δ型ADC等。積分型ADC由于轉(zhuǎn)換精度依賴于積分時間,,因此轉(zhuǎn)換速率極低,。逐次比較型ADC在低分辯率(<12位)時價格便宜,但高精度(>12位)時價格很高,。并行/串并行比較型ADC轉(zhuǎn)換速率極高,,但電路規(guī)模極大,價格高,。Σ-Δ型ADC具有分辨率高,、轉(zhuǎn)換速度快、電路規(guī)模小,、功耗低,、價格便宜等優(yōu)點(diǎn),能夠很好地達(dá)到設(shè)計要求,。在眾多的Σ-Δ型ADC中,,AD7192抗干擾能力強(qiáng),接口方便,,價格低,,因此選擇AD7192作為模數(shù)轉(zhuǎn)換芯片。AD7192 [1]是一款適合高精度精密測量的低噪聲,、24位Σ-Δ 型模數(shù)轉(zhuǎn)換器 (ADC),。由于采用Σ-Δ技術(shù)[2],使得整個A/D芯片具有精度高,、抗干擾能力強(qiáng),、噪聲小和線性讀取好的優(yōu)點(diǎn),在片內(nèi)功能全開的情況下,,電流為4.35 mA,。
微控制器對整個系統(tǒng)的功耗和性能起著決定性的作用,,為達(dá)到設(shè)計要求,必須選用功耗低,、性能穩(wěn)定的微處理器,。在本系統(tǒng)中微控制器采用PIC24FV32KA304[3],該器件采用了16位改進(jìn)型哈佛架構(gòu),引入了Microchip超低功耗的理念,,該器件帶有內(nèi)部時鐘,,同時具有打盹模式操作和基于指令的三種節(jié)能模式,這一系列的功能,大幅度地降低了器件的功耗,。
2 系統(tǒng)組成與各部分功能
本系統(tǒng)設(shè)計主要分為硬件設(shè)計和軟件設(shè)計兩部分,。其中硬件設(shè)計主要包括數(shù)據(jù)采集模塊、微控制器,、電源模塊,、數(shù)據(jù)發(fā)送模塊等。軟件設(shè)計主要包括各器件的初始化模塊,、數(shù)據(jù)采集模塊,、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)顯示模塊等,。系統(tǒng)結(jié)構(gòu)框架圖如圖1所示,。
首先在微控制器PIC24FV32KA304的控制下,3片AD7192芯片分別將采集到的模擬信號轉(zhuǎn)換成數(shù)字信號,,然后微控制器PIC24FV32KA304讀取數(shù)字信號,,并處理此數(shù)字信號,將其轉(zhuǎn)化為所需要的數(shù)據(jù),,最后微控制器通過串口將數(shù)據(jù)發(fā)送到上位機(jī),,在上位機(jī)上通過VB顯示、處理和分析,,實現(xiàn)目標(biāo)磁場變化信號的顯示,。
3 系統(tǒng)硬件設(shè)計
3.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊由3片AD7192和外圍電路組成。如圖2所示,,X路輸入為待轉(zhuǎn)換的模擬信號,,AINCOM接地。AD7192以偽差分模式采集外部的模擬信號,。信號與芯片的AIN1腳連接,,信號的參考地與芯片的AINCOM連接,輸入的模擬電壓值為兩者之差,。偽差分輸入減小了信號源與設(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è)計中,,REFIN1+接2.048 V外部標(biāo)準(zhǔn)電壓,REFIN1-直接與地相連,,基準(zhǔn)電壓值即為2.048 V,。AD7192與PIC24FV32KA304之間通過SPI串行通信。AD7192 的SPI串行接口包含3個信號:DIN,、SCLK和DOUT/RDY。DIN 線路用于將數(shù)據(jù)傳輸至片內(nèi)寄存器中,;DOUT/RDY 則用于從片內(nèi)寄存器中獲取數(shù)據(jù),;SCLK 是器件的串行時鐘輸入,所有數(shù)據(jù)傳輸(無論是 DIN 上還是DOUT/RDY 上)均相對于 SCLK 信號進(jìn)行,。CS用于選擇器件,,設(shè)計中有3片AD7192, 微控制器在讀取轉(zhuǎn)換結(jié)果時,必須使用片選信號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引腳輸出時鐘信號CLKIN作為AD7192的振蕩源,,連接在AD7192的MCLK2引腳上。系統(tǒng)工作時,,微控制器PIC24FV32KA304將初始化命令發(fā)送至AD7192,AD7192接收到初始化命令后,,開始工作,將采集到的模擬信號轉(zhuǎn)換成數(shù)字信號,。微控制器等待上位機(jī)發(fā)送的報文頭,,當(dāng)接收到報文頭以后,微控制器判斷報文頭是否正確,,如果錯誤,,微控制器繼續(xù)等待接收報文頭;如果正確,,則微控制器讀取AD7192轉(zhuǎn)換后的數(shù)字信號并處理,。處理結(jié)束后微控制器將數(shù)據(jù)發(fā)送給上位機(jī)顯示軟件,,在上位機(jī)上通過VB顯示、處理和分析,,發(fā)送結(jié)束后微控制器和AD7192進(jìn)入休眠,,以降低功耗。休眠一段時間(大約400 ms)后,,喚醒微控制器和AD7192,,進(jìn)入下一次轉(zhuǎn)換。PIC24FV32KA304與AD7192的連接電路如圖2所示,,圖中X為輸入的模擬信號,。
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 μ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為低電平時,,處于接收狀態(tài),,A、B的差分信號經(jīng)MAX3471轉(zhuǎn)換成單端信號由微控制器的串行口線RXD接收,;當(dāng)DE/RE為高電平時,,微控制器串口線TXD發(fā)送出的數(shù)據(jù)經(jīng)MAX3471轉(zhuǎn)換為差分信號發(fā)送出去。在差分線A,、B上并接120 Ω的終端電阻,,用以吸收信號反射。
為了減小系統(tǒng)的體積,,在設(shè)計印制電路板時,,采用四層板。為了降低系統(tǒng)噪聲,,提高系統(tǒng)的穩(wěn)定性和精度,,在元器件布局和電路板走線時,需要遵循以下規(guī)則[4]:
(1)電路板模擬部分與數(shù)字部分分離,并限制在電路板的一定區(qū)域內(nèi),。當(dāng)距離很近時,,中間要用地線隔開。
(2)元器件在整個板面上應(yīng)緊湊分布,,盡量縮短元器件間的布線長度,。屬于同一模塊的器件,要就近放置,。
(3)加寬電源線和地線,。數(shù)字地和模擬地分開,在電源入口處單點(diǎn)匯集,。
(4)輸入和輸出盡量避免相鄰平行,,電路板相鄰兩個信號層的導(dǎo)線應(yīng)相互垂直、斜交或彎曲走線,。印制導(dǎo)線拐角一般選擇45°,,或采用圓弧拐角。
4 系統(tǒng)軟件設(shè)計
本系統(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)各個功能模塊初始化,,包括微控制器端口初始化,UART串口初始化,,SPI初始化,,AD7192初始化等,初始化結(jié)束后,,系統(tǒng)即進(jìn)入工作狀態(tài),,采集并轉(zhuǎn)換模擬信號。轉(zhuǎn)換結(jié)束,, 輸出轉(zhuǎn)換輸出碼[1],,ADC配置為單極性工作模式,輸出碼為自然(直接)二進(jìn)制碼,;零差分輸入電壓對應(yīng)的碼為000……000,,中間電平電壓對應(yīng)的碼為100……000,滿量程輸入電壓對應(yīng)的碼為111……111。任意模擬輸入電壓的輸出碼可以表示為式(1):
輸出碼=(2N×AIN×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)生一個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ī)內(nèi)部振蕩器作為AD7192和PIC24FV32KA304的時鐘信號,,并且工作結(jié)束即讓AD7192和PIC24FV32KA304進(jìn)入休眠狀態(tài),,所以系統(tǒng)的功耗很低。通過數(shù)字電流表顯示,系統(tǒng)平均功耗為0.8 mA,低于系統(tǒng)設(shè)計要求的1 mA,。
5.2 系統(tǒng)噪聲測試
在輸入模擬電壓為零的情況下,,上位機(jī)Visual Basic上顯示的圖形即為系統(tǒng)噪聲圖。圖7為在Visual Basic上顯示的X路數(shù)據(jù)采集系統(tǒng)的噪聲(Y路,、Z路噪聲和X路基本一致),,其中橫坐標(biāo)表示測試時間,一格為1 min,??v坐標(biāo)表示數(shù)據(jù)采集系統(tǒng)的自噪聲,,單位為μV,從圖中可以看出系統(tǒng)自噪聲峰值基本在10 μV左右,,低于系統(tǒng)設(shè)計要求的20 μV,。
本系統(tǒng)采用了內(nèi)置低噪聲、24位Σ-Δ 型模數(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] 張靜,,羅丁利. Σ-Δ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ī)輔助電路設(shè)計與protel DXP[M].北京:高等教育出版社,2010:61-64.
[5] 譚浩強(qiáng). C程序設(shè)計[M]. 北京:清華大學(xué)出版社,2005:281-318.
[6] 譚浩強(qiáng).Visual Basic程序設(shè)計教程[M].北京:清華大學(xué)出版社,,2006:13-47.