基于ADS1252的數(shù)據(jù)采集模塊設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)高精度數(shù)據(jù)采集模塊廣泛應(yīng)用于高精度測(cè)量系統(tǒng)的需求,提出一種基于S3C451OB處理器,并以ADS1252為A/D轉(zhuǎn)換器的高精度數(shù)據(jù)采集模塊的設(shè)計(jì)方案。首先描述了ADS1252芯片特性;接著詳細(xì)描述了數(shù)據(jù)采集模塊電路的設(shè)計(jì)原理并給出了選用的主要芯片型號(hào);最后詳細(xì)描述了數(shù)據(jù)采集模塊軟件設(shè)計(jì)流程。目前已完成數(shù)據(jù)采集模塊硬件和軟件的設(shè)計(jì),通過實(shí)驗(yàn)驗(yàn)證,此方案正確可行。
關(guān)鍵詞:ADS1252;83C4510B;數(shù)據(jù)采集;高精度測(cè)量系統(tǒng)
現(xiàn)代醫(yī)療、地質(zhì)、環(huán)境監(jiān)測(cè)、工業(yè)過程控制往往需要對(duì)監(jiān)測(cè)點(diǎn)進(jìn)行高速高精度的數(shù)據(jù)采集,高精度的數(shù)據(jù)采集模塊在其中得到廣泛的應(yīng)用。數(shù)據(jù)采集模塊的設(shè)計(jì)決定著測(cè)量數(shù)據(jù)的精度和可靠性,因此它是構(gòu)建高精度測(cè)量系統(tǒng)的基礎(chǔ)。本文提出一種基于ARM7處理器S3C4510B和A/D轉(zhuǎn)換器ADS1252構(gòu)建的高精度數(shù)據(jù)采集模塊的設(shè)計(jì)方案,并介紹了該方案的軟硬件設(shè)計(jì)。
1 ADS1252芯片特性
ADS1252是美國BURR-BROWN公司推出的一款高精度、寬動(dòng)態(tài)范圍、采用單+5 V電源供電、具有24位分辨率的單通道A/D轉(zhuǎn)換器。它采用差分輸入方式,對(duì)于低電平電壓信號(hào)接入非常有利;它采用4階∑-△結(jié)構(gòu)的調(diào)制器,可以得到寬動(dòng)態(tài)范圍和24位無差錯(cuò)編碼;它內(nèi)部有三階數(shù)字濾波器,可以濾除電源波紋和其他干擾;它的數(shù)據(jù)輸出率可隨系統(tǒng)時(shí)鐘的改變而改變,當(dāng)數(shù)據(jù)輸出速率達(dá)到最大40 kHz時(shí),仍具有19位的分辨率;它提供一個(gè)2線同步串行接口,可以方便的與微處理器連接。所有這些特點(diǎn)使得ADS1252非常適合用做高精度數(shù)據(jù)采集模塊的A/D轉(zhuǎn)換器。
2 采集模塊電路設(shè)計(jì)
本數(shù)據(jù)采集模塊設(shè)計(jì)使用的微處理器是S3C4510B,它是三星公司針對(duì)網(wǎng)絡(luò)應(yīng)用而開發(fā)的一款性價(jià)比很高的ARM7TDMI內(nèi)核的16/32位RISC微處理器,具有低成本和高性能的特點(diǎn)。本文以ADS1252測(cè)量電壓為例說明采集模塊電路的設(shè)計(jì)原理。S3C4510B與ADS1252的接口電路如圖1所示:其中CPU_TOUT1信號(hào)對(duì)應(yīng)于S3C4510B定時(shí)器1的溢出TOUT1引腳,主要為ADS1252工作提供系統(tǒng)時(shí)鐘CLK;CPU_P1信號(hào)對(duì)應(yīng)于S3C4510B的I/O端口P1引腳,主要為讀取ADS1252的有效數(shù)據(jù)提供串行時(shí)鐘SCLK;CPU_P2信號(hào)對(duì)應(yīng)于S3C4510B的I/O端口P2引腳,主要用于檢測(cè)ADS1252數(shù)據(jù)是否準(zhǔn)備好以及讀取有效數(shù)據(jù)DOUT而提供的串行數(shù)據(jù)引腳。
由于S3C4510B的I/O引腳的工作電壓為3.3 V,而ADS1252的I/O引腳的工作電壓為5 V,因此S3C4510B的CPU_TOUT1,CPU_P1,CPU_P2信號(hào)不能與ADS1252的CLK,SCLK,信號(hào)直接相連。74HC245芯片是8路總線收發(fā)器,在發(fā)送和接收兩個(gè)方向上都具有正相三態(tài)總線兼容輸出,并且其輸入、輸出的工作電壓范圍是0~VCC。本設(shè)計(jì)通過74HC245芯片使S3C4510B與ADSl252的I/O引腳的工作電壓進(jìn)行匹配,并使DIR=H且,令數(shù)據(jù)從A總線傳送到B總線。
為了實(shí)現(xiàn)S3C4510B與ADS1252電氣信號(hào)隔離,本設(shè)計(jì)選用6N137高速光耦,它是電子線路中隔離電壓沖擊及噪聲串?dāng)_的優(yōu)選器件,具有體積小、隔離效果好、價(jià)格便宜、便于安裝等特點(diǎn)。
REF195是一款精密、微功耗、低溫漂、高穩(wěn)定性的基準(zhǔn)電壓源。本設(shè)計(jì)選用它為ADS1252提供5 V的基準(zhǔn)電壓。ADS1252的差分模擬輸入V+,V-支持雙極性輸入,但本設(shè)計(jì)將V-引腳參考AGND,只允許單極性輸入,因此ADS1252的電壓測(cè)量范圍為0~5 V。本設(shè)計(jì)在V+、V-之間并接5.1 V的齊納二極管,當(dāng)輸入電壓大于5.1 V時(shí),可以把V+,V-兩端的電壓穩(wěn)定在5.1 V,從而起到保護(hù)ADS1252的目的。
3 采集模塊軟件開發(fā)
采集模塊軟件的開發(fā)主要包括兩個(gè)方面:ADS1252驅(qū)動(dòng)和采集任務(wù)軟件的開發(fā)。
3.1 ADS1252驅(qū)動(dòng)的開發(fā)
由圖2(a)可知,ADS1252的驅(qū)動(dòng)開發(fā)主要包括I/O初始化、時(shí)鐘初始化、ADS1252初始化、ADS1252讀數(shù)據(jù)、校準(zhǔn)數(shù)據(jù)?,F(xiàn)分別介紹如下:
(1)I/O初始化:由于S3C4510B的I/O端口P1、P2既可用作輸入口也可以用作輸出口,因此必須通過軟件對(duì)IOPMOD寄存器配置將P1設(shè)置為輸出口,用于產(chǎn)生ADS1252的串行時(shí)鐘;將P2設(shè)置為輸入口,用于讀取ADS1252的串行數(shù)據(jù)。
(2)時(shí)鐘初始化:由于S3C4510B的I/O端口P17既可用作I/O口、也可用作定時(shí)器1的溢出TOUT1,因此必須通過軟件對(duì)IOPCON寄存器配置將P17設(shè)置為定時(shí)器1的溢出TOUT1;接著通過軟件對(duì)TMOD寄存器配置將定時(shí)器1設(shè)置為觸發(fā)工作模式;
最后通過軟件對(duì)TDATA1寄存器配置產(chǎn)生ADS1252工作所需的時(shí)鐘頻率。
(3)ADS1252初始化:當(dāng)ADS1252工作在某個(gè)頻率f(t=1/f),首先通過軟件對(duì)P1端口置1使SCLK引腳保持高電平的時(shí)間TReset滿足4TDRDY≤ TReset<20TDRDY(TDRDY=384t),那么ADS1252就會(huì)進(jìn)入復(fù)位的狀態(tài)。接著通過軟件對(duì)P1端口置0使SCLK引腳變?yōu)榈碗娖?,此時(shí)ADS1252開始工作,它的串行數(shù)據(jù)引腳首先會(huì)進(jìn)入Mode,接著進(jìn)入DOUT Mode模式,之后在這兩種模式之間交替切換。
(4)ADS1252讀數(shù)據(jù):當(dāng)對(duì)ADS1252進(jìn)行初始化后,此時(shí)軟件通過對(duì)P2端口的輪詢檢測(cè)上升沿。一旦檢測(cè)到上升沿,表明ADS1252進(jìn)入 Mode,該模式的持續(xù)時(shí)間。當(dāng)軟件延時(shí)后,ADS1252進(jìn)入DOUT Mode,該模式持續(xù)時(shí)間TDOUT=348t。在DOUT Mode期間,軟件對(duì)P1端口產(chǎn)生一個(gè)脈沖,即可從P2端口讀取到1位的數(shù)據(jù)。同理,即可獲取其余23位的數(shù)據(jù)。軟件必須保證在TDOUT時(shí)間內(nèi)讀完24位數(shù)據(jù),否則ADS12 52將會(huì)進(jìn)入下一個(gè)數(shù)據(jù)轉(zhuǎn)換周期。
(5)校準(zhǔn)數(shù)據(jù):采集數(shù)據(jù)必須經(jīng)過校準(zhǔn)參數(shù)K,B的調(diào)整才能匹配實(shí)際值。其中采集電路的校準(zhǔn)原理是采用兩個(gè)恒定電壓作為基準(zhǔn),通過原始的采集數(shù)據(jù)和高精度電壓表實(shí)測(cè)電壓,進(jìn)行比較計(jì)算,從而得出校準(zhǔn)參數(shù)K,B。
3.2 采集任務(wù)軟件的開發(fā)
VxWorks是美國風(fēng)河公司開發(fā)的一款具有微內(nèi)核、高性能、可裁剪的嵌入式實(shí)時(shí)操作系統(tǒng)。本采集模塊軟件是基于VxWorks5.5操作系統(tǒng)進(jìn)行開發(fā)的,為了滿足數(shù)據(jù)采集的實(shí)時(shí)性,采集任務(wù)被分配了最高的優(yōu)先級(jí)。由圖2(b)可知,采集任務(wù)軟件的開發(fā)主要包括采集數(shù)據(jù)、數(shù)據(jù)平滑處理、數(shù)據(jù)轉(zhuǎn)發(fā)、任務(wù)休眠?,F(xiàn)分別介紹如下:
(1)采集數(shù)據(jù):調(diào)用ADS1252驅(qū)動(dòng)程序?qū)﹄妷哼M(jìn)行多次采集。
(2)數(shù)據(jù)平滑處理:除了在硬件上采取必要的抗干擾措施外,很有必要對(duì)多次的采集數(shù)據(jù)進(jìn)行軟件濾波,但必須考慮因此造成的延時(shí)。在保證測(cè)量精度和實(shí)時(shí)性要求的前提下,在軟件處理上采取去掉最大、最小值,然后取平均的算法。
(3)數(shù)據(jù)轉(zhuǎn)發(fā):采集任務(wù)除了對(duì)數(shù)據(jù)進(jìn)行采集以及平滑處理外,還必須將數(shù)據(jù)定時(shí)轉(zhuǎn)發(fā)到它的訂閱者,如通信模塊、顯示模塊等。
(4)任務(wù)休眠:調(diào)用操作系統(tǒng)的taskDelay()函數(shù),采集任務(wù)交出對(duì)CPU的控制權(quán),以便讓其他任務(wù)得到運(yùn)行的機(jī)會(huì)。
4 軟硬件調(diào)試
當(dāng)數(shù)據(jù)采集模塊的硬件和軟件設(shè)計(jì)完畢,需要對(duì)它進(jìn)行軟硬件的調(diào)試以驗(yàn)證其設(shè)計(jì)的正確性。數(shù)據(jù)采集模塊軟硬件調(diào)試按以下步驟依次進(jìn)行:
(1)ADS1252驅(qū)動(dòng)調(diào)試:運(yùn)行ADS1252驅(qū)動(dòng)程序,首先用示波器監(jiān)測(cè)ADS1252的CLK引腳,觀察時(shí)鐘頻率的測(cè)量值是否與設(shè)定值一致。當(dāng)CLK時(shí)鐘頻率設(shè)置正確,接著用示波器監(jiān)測(cè)ADS1252的SCLK與引腳,觀察這兩個(gè)引腳的時(shí)序是否正確。
最主要保證串行時(shí)鐘是發(fā)生在 Mode之后,否則將會(huì)讀取到錯(cuò)誤的數(shù)據(jù)。
(2)校準(zhǔn)數(shù)據(jù)計(jì)算:在ADS1252驅(qū)動(dòng)工作正常的前提下,首先用直流可調(diào)穩(wěn)壓源對(duì)ADS1252的差分輸入端分別輸出1 V,4 V的電壓,將ADS1 252采集的電壓分別記為VS1,VS2,同時(shí)將高精度電壓表測(cè)量的電壓分別記為VM1,VM2。接著通過對(duì)VS1,VS2,VM1,VM2的比較計(jì)算,得出校準(zhǔn)參數(shù)K,B。
(3)采集任務(wù)調(diào)試:當(dāng)校準(zhǔn)參數(shù)計(jì)算完畢,啟動(dòng)采集任務(wù)對(duì)實(shí)時(shí)電壓數(shù)據(jù)進(jìn)行采集。在0~5 V的范圍內(nèi),用直流可調(diào)穩(wěn)壓源對(duì)ADS1252的差分輸入端輸出從低至高的電壓,此時(shí)采集任務(wù)通過printf()函數(shù)將采集電壓輸出到控制臺(tái)。通過對(duì)比用高精度電壓表測(cè)量的電壓值,可以計(jì)算出ADS1252的采集電壓誤差,從而判斷采集精度是否滿足要求。
5 實(shí)驗(yàn)結(jié)果
現(xiàn)使用廣東省電子技術(shù)研究所研制的GE/FC1燃料電池測(cè)試系統(tǒng)對(duì)質(zhì)子交換膜燃料電池(Proton Exchange Membrane Fuel Cell,PEMFC)工作所需的氫氣及氧氣的流量、壓力、濕度控制到合適值,然后進(jìn)行電流掃描測(cè)試。在測(cè)試期間,用基于ADS1252的數(shù)據(jù)采集模塊對(duì)電流掃描測(cè)試過程PEMFC的電壓、電流的動(dòng)態(tài)變化數(shù)據(jù)進(jìn)行記錄;同時(shí)用安捷倫數(shù)字萬用表測(cè)量PEMFC電壓、電流的某些特征值。
由于實(shí)驗(yàn)用的PEMFC采用單片Nation膜(截面積為2 cm×2 cm)組裝,其開路電壓不超過1.5 V。首先通過測(cè)試系統(tǒng)控制PEMFC氫氣及氧氣流量分別為0.1 SLPM,0.07 SLPM;控制PEMFC氫氣及氧氣背壓均為0.05 MPa;控制PEMFC氫氣及氧氣的露點(diǎn)溫度、氣體溫度分別為65℃,70℃。然后測(cè)試系統(tǒng)以1 mA的起始電流,按10 mA/s的增量對(duì)該P(yáng)EMFC進(jìn)行放電,并以“結(jié)束電流≥10 A”或“結(jié)束電壓≤1 mV”為條件結(jié)束測(cè)試。
為了檢測(cè)10 A范圍的電流,本數(shù)據(jù)采集模塊通過檢測(cè)0.5 Ω測(cè)流電阻的電壓來間接計(jì)算出電流值。本數(shù)據(jù)采集模塊測(cè)量PEMFC的極化曲線如圖3所示,并且通過比較特征電壓電流的采集值及實(shí)際值,計(jì)算出電壓電流的采集精度均滿足±(0.5‰RD+0.5‰FS),其中RD表示當(dāng)前讀數(shù)值,F(xiàn)S表示滿刻度值。
6 結(jié)論
目前已完成基于ADS1252的數(shù)據(jù)采集模塊軟硬件的設(shè)計(jì)及調(diào)試,并成功將軟件移植到VxWorks 5.5操作系統(tǒng)上運(yùn)行。通過實(shí)時(shí)采集PEMFC電流掃描測(cè)試過程中的電壓、電流數(shù)據(jù)的實(shí)驗(yàn),表明基于ADS1252的數(shù)據(jù)采集模塊具有較高的采集速度和采集精度。長(zhǎng)期嚴(yán)格的測(cè)試表明本數(shù)據(jù)采集模塊的軟硬件工作穩(wěn)定可靠。