電路功能與優(yōu)勢
本電路顯示如何在精密熱電偶溫度監(jiān)控應(yīng)用中使用 ADuC7060 或 ADuC7061精密模擬微控制器ADuC7060/ADuC7061集成雙通道24位∑-△型模數(shù)轉(zhuǎn)換器(ADC)、雙通道可編程電流源、14位數(shù)模轉(zhuǎn)換器(DAC)、1.2 V內(nèi)置基準(zhǔn)電壓源以及ARM7內(nèi)核、32 kB閃存、4 kB SRAM和各種數(shù)字外設(shè),例如UART、定時器、串行外設(shè)接口(SPI)和I2C接口。
在該電路中,ADuC7060/ADuC7061連接到一個熱電偶和一個100Ω鉑電阻溫度檢測器(RTD)。RTD用于冷結(jié)補(bǔ)償。作為額外選項,ADT7311數(shù)字溫度傳感器可用于代替RTD來測量冷結(jié)溫度。
在源代碼中,ADC采樣速率選擇4 Hz。當(dāng)ADC輸入可編程增益放大器(PGA)的增益配置為32時,ADuC7060/ADuC7061的無噪聲分辨率大于18位。
與主機(jī)的單邊半字節(jié)傳輸(SENT)接口通過使用定時器控制數(shù)字輸出引腳來實現(xiàn)。然后,使用外部NPN晶體管將此數(shù)字輸出引腳通過外部方式電平轉(zhuǎn)換為5 V。按照SENT協(xié)議(SAE J2716標(biāo)準(zhǔn))第6.3.1節(jié)的建議在SENT輸出電路中提供了EMC濾波器。數(shù)據(jù)按下降沿到下降沿測量,每個脈沖的持續(xù)時間與系統(tǒng)時鐘周期數(shù)相關(guān)。可通過測量SYNC脈沖來確定系統(tǒng)時鐘速率。SYNC脈沖在每個數(shù)據(jù)包開始時發(fā)送。要了解更多詳情,請參見“SENT接口”部分。
圖1. 具有熱電偶接口、用作溫度監(jiān)控器控制器的ADuC7060/ADuC7061(原理示意圖,未顯示所有連接)
電路描述
本應(yīng)用中用到: ADuC7060/ ADuC7061的下列特性:
內(nèi)置PGA的24位∑-△型主ADC。PGA的增益在本應(yīng)用的軟件中設(shè)置為32。主ADC在熱電偶信號采樣與RTD電壓信號采樣之間連續(xù)切換。
如果用RTD測量冷結(jié)溫度,可編程激勵電流源會驅(qū)動受控電流流過RTD。雙通道電流源可在0μA至2μA范圍內(nèi)以200μA階躍配置。本例使用200μA設(shè)置,以便將RTD自熱效應(yīng)引起的誤差降至最小。
如果用ADT7311測量冷結(jié)溫度,將在主機(jī)模式下使用SPI接口來連接ADT7311從機(jī)。
ADuC7060/ ADuC7061中ADC的內(nèi)置1.2 V基準(zhǔn)電壓源。內(nèi)部基準(zhǔn)電壓源精度高,適合測量熱電偶電壓。
ADuC7060/ ADuC7061中ADC的外部基準(zhǔn)電壓源。為了測量RTD電阻,我們采用比率式設(shè)置,將一個外部基準(zhǔn)電阻(RREF)連接在外部VREF+和VREF?引腳上。
AD8628 單電源運算放大器用于緩沖RREF至ADC的高阻抗基準(zhǔn)電壓。
OP193是用于替代AD8628的另一可選擇型號。
用于將熱電偶共模電壓設(shè)為地以上850 mV的DAC。
ARM7TDMI?內(nèi)核。功能強(qiáng)大的16/32位ARM7內(nèi)核集成了32 kB閃存和SRAM存儲器,用來運行用戶代碼,可配置并控制ADC、通過RTD處理ADC轉(zhuǎn)換,以及控制SPI接口的通信。
定時器1和數(shù)字輸出引腳用于產(chǎn)生SENT輸出信號。
用于抑制ESD、電快速瞬變(EFT)和電涌瞬變(最高23kV)的可選PESDLIN保護(hù)二極管。
按照SAE J2716標(biāo)準(zhǔn)(SENT協(xié)議)第6.3.1節(jié)的建議在SENT輸出端提供了EMC濾波器。
兩個外部開關(guān)用來強(qiáng)制該器件進(jìn)入閃存引導(dǎo)模式。使S1處于低電平,同時切換S2,ADuC7060/ADuC7061將進(jìn)入引導(dǎo)模式,而不是正常的用戶模式。在引導(dǎo)模式下,通過UART接口可以對內(nèi)部閃存重新編程。
熱電偶和RTD產(chǎn)生的信號均非常小,因此需要使用PGA來放大這些信號。ADuC7060/ADuC7061的輔助ADC不含PGA,因此二者均連接到主ADC,二者之間的切換通過軟件完成。
本應(yīng)用使用的熱電偶為T型(copperconstantan),其溫度范圍為?200°C至+350°C,靈敏度約為40μV/°C,這意味著ADC在雙極性模式和32倍PGA增益設(shè)置下可以覆蓋熱電偶的整個溫度范圍。
RTD用于冷結(jié)補(bǔ)償。本電路使用的是100Ω 鉑RTD,型號為Enercorp PCS 1.1503.1。它采用0805表貼封裝,溫度變化率為0.385Ω /°C。
注意,基準(zhǔn)電阻RREF應(yīng)為精密5.6 kΩ (±0.1%)電阻。
SENT接口
SENT接口是一種單引腳單向(傳感器至主機(jī))時間調(diào)制信號,主要用于在汽車系統(tǒng)中使分布式傳感器與主機(jī)CPU接口。
SENT的主要要求包括以下幾點:
必須有0 V至5 V的信號擺幅,且?guī)в蠩MC濾波。
用于SENT信號的時鐘必須具備±20%的精度。
SENT輸出電路必須足夠穩(wěn)定,以耐受對地短路和電源電壓短路。
關(guān)聯(lián)的源代碼使用ADuC7061的P0.4數(shù)字引腳作為SENT輸出引腳。所用數(shù)據(jù)包格式為單傳感器數(shù)據(jù)包格式,詳見SAE J2716標(biāo)準(zhǔn)(SENT協(xié)議)文檔的第A.4節(jié)??尚薷脑创a(尤其是SENT.h和Sent.c文件),來支持其它數(shù)據(jù)包格式。整體溫度結(jié)果以/°C格式通過數(shù)據(jù)半字節(jié)1至數(shù)據(jù)半字節(jié)3返回??偠灾祷氐妮敵鰯?shù)據(jù)包為
同步脈沖的56個時鐘周期
狀態(tài)脈沖(7個周期至15個周期)
數(shù)據(jù)半字節(jié)1(溫度結(jié)果的Bit 11至Bit 8)
數(shù)據(jù)半字節(jié)2(溫度結(jié)果的Bit 7至Bit 4)
數(shù)據(jù)半字節(jié)3(溫度結(jié)果的Bit 3至Bit 0)
數(shù)據(jù)半字節(jié)4(計數(shù)器的Bit 7至Bit 4)
數(shù)據(jù)半字節(jié)5(計數(shù)器的Bit 3至Bit 0)
數(shù)據(jù)半字節(jié)6(與半字節(jié)1相反)
圖2為數(shù)據(jù)包示例。
圖2. 在P0.4引腳處測得的示例SENT數(shù)據(jù)包
該電路必須構(gòu)建在具有較大面積接地層的多層印刷電路板(PCB)上。為實現(xiàn)最佳性能,必須采用適當(dāng)?shù)牟季帧⒔拥睾腿ヱ罴夹g(shù)。
代碼說明
定時器1用于控制SENT輸出引腳P0.4。根據(jù)熱電偶的ADC結(jié)果和冷結(jié)溫度計算出溫度結(jié)果后,SENT數(shù)據(jù)包結(jié)構(gòu)SENT_PACKET將更新,并且定時器1會啟動。該結(jié)構(gòu)的域會在P0.4引腳上逐個輸出,如圖2所示。數(shù)據(jù)包的第一級是同步序列。主機(jī)根據(jù)此脈沖確定時鐘周期,并據(jù)此確定后續(xù)半字節(jié)值。
要獲得溫度讀數(shù),應(yīng)測量熱電偶和RTD的溫度。RTD溫度通過一個查找表轉(zhuǎn)換為其等效熱電偶電壓。將這兩個電壓相加,便可得到熱電偶電壓的絕對值。
首先,測量熱電偶兩條線之間的電壓(V1)。然后,測量RTD電壓并通過查找表將其轉(zhuǎn)換為溫度。接著,將此溫度轉(zhuǎn)換為其等效熱電偶電壓(V2)。然后,將V1和V2相加,以得出整體熱電偶電壓,接著將此值轉(zhuǎn)換為最終的溫度測量結(jié)果。
最后,采用分段線性方案來計算最終的溫度值。固定數(shù)量的電壓各自對應(yīng)的溫度存儲在一個數(shù)組中,其間的值則利用相鄰點的線性插值法計算。圖3給出了使用理想熱電偶電壓時的算法誤差。圖4顯示了使用ADuC7060/ADuC7061上的ADC0引腳測量整個熱電偶工作范圍內(nèi)的52個熱電偶電壓時獲得的誤差。最差情況的總誤差小于1°C。
圖3. 通過分段線性逼近法利用52個校準(zhǔn)點和理想測量值計算時的誤差
圖4. 通過分段線性逼近法利用在ADuC7060/ADuC7061的ADC0引腳處測量的52個校準(zhǔn)點計算時的誤差
RTD溫度是運用查找表計算出來的,并且對RTD的運用方式與對熱電偶一樣。注意,描述RTD溫度與電阻關(guān)系的多項式與描述熱電偶的多項式不同。
設(shè)計支持包中的源代碼是利用KEILμVision V3.90生成的。
常見變化
可不使用外部RTD而改用 ADT7311 溫度傳感器來測量冷結(jié)溫度。
需要一個額外的外部穩(wěn)壓器來為ADT7311供電。該電路中用到了ADP7102,但也可使用ADP120。
如果微控制器上需要更多GPIO引腳,則可選擇采用48引腳LFCSP或48引腳LQFP封裝的ADuC7060。請注意,ADuC7060/ADuC7061可通過標(biāo)準(zhǔn)JTAG接口進(jìn)行編程或調(diào)試。
使用外部基準(zhǔn)電阻作為RTD測量的基準(zhǔn)源時,建議以單位增益模式使用運算放大器來對VREF+引腳的輸入進(jìn)行緩沖。這是為了確保進(jìn)入VREF+引腳的輸入泄漏電流不會有損于測量精度。圖9中的OP193就是針對此目的。圖1顯示了額定工作溫度范圍為?40°C至+150°C的AD8628。
對于更寬的溫度范圍,可以使用不同的熱電偶,例如J型熱電偶。為使冷結(jié)補(bǔ)償誤差最小,可以讓一個熱敏電阻與實際的冷結(jié)接觸,而不是將其放在PCB上。
針對冷結(jié)溫度測量,可以用一個外部數(shù)字溫度傳感器來代替RTD和外部基準(zhǔn)電阻。例如,ADT7311可以通過I2C接口連接到ADuC7060/ADuC7061。
電路評估與測試
SENT接口測試
評估SENT接口輸出時,利用數(shù)字示波器和邏輯分析儀。測試時間僅為1個SENT時鐘周期(100μs),這是SENT標(biāo)準(zhǔn)允許的最大值。這項實施方案的限制因素包括以下幾點:
定時器FIQ中斷延遲的變化。ARM7的中斷延遲最高可達(dá)45個CPU時鐘。CPU時鐘頻率為10.24 MHz時,此延遲最高可達(dá)4.4μs。最小值為5個CPU時鐘(0.5μs)。當(dāng)ARM7內(nèi)核正在執(zhí)行LDMIA或STMIA(從存儲器加載或向其中存儲多個值)時,延遲狀況最差。選擇“Split Load and StoreMultiple(獨立加載和存儲多項)”編譯器選項即可最大限度地避免此問題,具體方法見圖5。
ADuC7060/ ADuC7061 上的10.24 MHz振蕩器在最差情況下的精度為±3%,工作溫度范圍為?40°C至+125°C。
圖5. 選擇“Split Load and Store Multiple(獨立加載和存儲多項_”選項
盡管存在這些限制,但選擇1個SENT時鐘周期(100μs)時,這種實施方案仍完全符合SENT規(guī)范的±20%時序精度要求。
圖1中的SENT輸出上考慮到了EMC濾波器。為此濾波器選擇值(R1、C1、C2),以滿足目標(biāo)發(fā)射器輸出波形,如圖6所示,從而降低因SENT輸出而造成的EMC輻射。
這里只對此濾波器做了有限測試;因此,忽略了該輸出濾波器的電阻和電容值,如圖1所示(R1、C1和C2)。
圖6. SENT整形波形發(fā)射器輸出示例
為了進(jìn)一步測試和評估該電路,這里單獨評估了熱電偶測量和RTD測量。
熱電偶測量測試
基本測試設(shè)置如圖7所示。使用了兩種方法來評估該電路的性能。首先使用連接到電路板的熱電偶來測量冰桶的溫度,然后測量沸水的溫度。
圖7. 用于在整個熱電偶輸出電壓范圍內(nèi)校準(zhǔn)和測試電路的設(shè)置
使用Wavetek 4808多功能校準(zhǔn)儀來充分評估誤差,如圖3和圖4所示。這種模式下,校準(zhǔn)儀代替熱電偶作為電壓源,如圖7所示。為了評估T型熱電偶的整個范圍,利用校準(zhǔn)儀設(shè)置T型熱電偶?200°C至+350°C的正負(fù)溫度范圍之間52個點的等效熱電偶電壓(T型熱電偶請參見ITS-90表)。
為了評估查找算法的精度,將?200°C至+350°C溫度范圍內(nèi)每隔+1°C的溫度所對應(yīng)的551個電壓讀數(shù)傳遞到溫度計算函數(shù)中。針對線性方法和分段線性逼近法計算得到誤差,如圖3和圖4所示。
RTD測量測試
為了評估RTD電路和線性化源代碼,以精確的可調(diào)電阻源代替了電路板上的RTD。所用的儀器是1433-Z十進(jìn)制電阻。測試的RTD值范圍是90Ω到140Ω,代表?25°C到+114°C的RTD溫度范圍。
圖8顯示了RTD測試的誤差結(jié)果,圖9則顯示了設(shè)置電路。
圖8. 使用分段線性代碼和ADC0測量結(jié)果進(jìn)行RTD測量時的°C誤差
圖9. 用于校準(zhǔn)和測試?25°C至+114°C范圍內(nèi)RTD輸出電壓的測試設(shè)置
評論
查看更多