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