引言
整機(jī)在工作時(shí),大概有4%的能量被各種電力電子器件所消耗,這些被消耗的能量以熱量的形式分別在單個(gè)模塊中通過(guò)散熱器散發(fā)出去。
針對(duì)以上的現(xiàn)象,可用PTl00鉑電阻溫度傳感器在散熱器表面感應(yīng)溫度,以保護(hù)電力電子器件不因?yàn)樵诟邷叵逻\(yùn)行而損壞。金屬鉑(Pt)的電阻值隨溫度變化而變化,并且具有很好的重現(xiàn)性和穩(wěn)定性,利用鉑的此種物理特性制成的傳感器稱為鉑電阻溫度傳感器,通常使用的鉑電阻溫度傳感器的零度電阻值為100Ω,電阻變化率為0.3851Ω/℃。鉑電阻溫度傳感器具有精度高,穩(wěn)定性好,應(yīng)用范圍廣等優(yōu)點(diǎn),是最常用的一種溫度傳感器。
串行外設(shè)接口SPI (Serial Peripheral Interface)是一種高速同步串行輸入輸出端口。近年來(lái)SPI接口廣泛應(yīng)用于外部移位寄存器、DA轉(zhuǎn)換器、AD轉(zhuǎn)換器、串行EEPROM、LED顯示驅(qū)動(dòng)器等外部設(shè)備的擴(kuò)展。SPI接口可以共享.因而便于組成帶多個(gè)SPI接口器件的系統(tǒng)。其傳送速率可編程,連接線少,并具有良好的擴(kuò)展性。
AD7705是典型的具有SPI接口的AD轉(zhuǎn)換器,可以方便地與帶有SPI模塊的控制器進(jìn)行通信。本文采用FPGA為主控制器,利用其通用I/O口來(lái)模擬SPI時(shí)序,以采集AD7705的兩路輸入信號(hào)(溫度信號(hào)和電壓信號(hào)),并將采集到的16位溫度數(shù)字信號(hào)和16位電壓數(shù)字信號(hào)送給DSP進(jìn)行處理,然后對(duì)數(shù)字信號(hào)進(jìn)行算法還原,最終在1602液晶顯示器上分別顯示兩路實(shí)際信號(hào),從而實(shí)現(xiàn)對(duì)溫度和電壓兩路信號(hào)的實(shí)時(shí)監(jiān)控。
l 硬件設(shè)計(jì)方案
該系統(tǒng)的功能主要是實(shí)現(xiàn)對(duì)工控領(lǐng)域后臺(tái)裝置的溫度信號(hào)和電壓信號(hào)的實(shí)時(shí)雙監(jiān)控。其中溫度信號(hào)可根據(jù)PT電阻值隨溫度變化的線性關(guān)系將溫度信號(hào)轉(zhuǎn)換為0~2.5 V變化的電壓信號(hào)。然后送給AD7705的l通道。電壓信號(hào)則可用變壓器轉(zhuǎn)換為O~2.5 V的電壓信號(hào),送給AD7705的2通道,從而實(shí)現(xiàn)對(duì)溫度和電壓兩路信號(hào)的采集。
1.1 P11電阻的特點(diǎn)
PT電阻值可隨溫度的變化而變化,在0℃時(shí),電阻值為100Ω。小于0℃時(shí),阻值隨溫度的降低而減?。淮笥?℃時(shí),阻值隨溫度的增加而增大。阻值隨溫度的變化關(guān)系可用公式1和公式2表達(dá)。
其中,R1為PT電阻在溫度為t時(shí)的電阻值,R0為PT電阻在0℃時(shí)的電阻值,式(1)和式(2)為溫度系數(shù)TCR=0.003851時(shí),PT電阻值隨溫度變化的數(shù)學(xué)表達(dá)式,其中,A、B、C三個(gè)系數(shù)分別為:
由于t2和t3項(xiàng)的系數(shù)都很小,故可近似的認(rèn)為,鉑電阻的阻值隨溫度呈線性的變化關(guān)系,又因?yàn)樗臏囟认禂?shù)為TCR=0.003851,所以在計(jì)算時(shí),可以直接按照溫度系數(shù)來(lái)計(jì)算。如果把PTl00鉑電阻放在散熱器表面的功率器件周圍,那么,就可以根據(jù)測(cè)試點(diǎn)的電阻值估算出溫度。
1.2 溫度信號(hào)轉(zhuǎn)換電路
圖1所示是本系統(tǒng)中的溫度信號(hào)檢測(cè)電路。
圖1電路中,R14是放在散熱器表面的鉑電阻,用于感應(yīng)散熱器的溫度,該電路可將PT電阻隨溫度信號(hào)變化的阻值信號(hào)轉(zhuǎn)變成電壓信號(hào),這樣,根據(jù)PTl00-V點(diǎn)的電壓值,即可換算出PT電阻R14的電壓信號(hào),ref-V為基準(zhǔn)電壓信號(hào),ref-V經(jīng)過(guò)圖2所示的差分放大電路后,再根據(jù)圖中元器件的參數(shù)即可計(jì)算出,最后傳輸?shù)碾妷盒盘?hào)Va為與基準(zhǔn)電壓差值的12倍。
圖3所示為光耦隔離傳輸電路,由圖2所示的差分放大電路輸出的電壓信號(hào)Va經(jīng)過(guò)光耦隔離電路后,即可以l:1的形式傳送,即Vb點(diǎn)的電壓信號(hào)和差分放大后的信號(hào)Va是一樣的,將Vb送到AD7705進(jìn)行模數(shù)轉(zhuǎn)換。然后將其轉(zhuǎn)換成串行序列輸出給FPGA處理,同時(shí)也上傳到DSP控制器。
2 軟件設(shè)計(jì)方案
本系統(tǒng)的軟件設(shè)計(jì)主要是根據(jù)AD7705的特點(diǎn)和操作時(shí)序,用FPGA的通用GPIO模擬SPI時(shí)序。圖4給出了該系統(tǒng)中AD7705的主狀態(tài)流程圖。此后,根據(jù)流程圖再編寫各子模塊,即可完成對(duì)AD7705兩路信號(hào)的實(shí)時(shí)采集。
2.1 AD7705的特點(diǎn)及操作時(shí)序
AD7705是采用∑-△轉(zhuǎn)換技術(shù)來(lái)實(shí)現(xiàn)16位代碼無(wú)丟失性能的AD轉(zhuǎn)換器件。該器件可以直接接收來(lái)自傳感器的低電平輸入信號(hào),然后產(chǎn)生串行的數(shù)字輸出。AD7705只需2.7~5.25 V的單電源,采用雙通道全差分模擬輸入,并有一個(gè)差分基準(zhǔn)輸入。當(dāng)電源電壓為5 V、基準(zhǔn)電壓為2.5 V時(shí),這種器件可對(duì)輸入信號(hào)范圍在0~20 mA和0~2.5 V的信號(hào)進(jìn)行處理,還可以處理±20 mV~±2.5 V的雙極性輸入信號(hào),其串行接口也可配置為三線接口。其增益值、信號(hào)極性以及更新速率的選擇均可用串行輸入口由軟件來(lái)配置。此外,該器件還包括自校準(zhǔn)和系統(tǒng)校準(zhǔn)選項(xiàng),以消除器件本身或系統(tǒng)的增益和偏移誤差。
AD7705包括6個(gè)用戶可通過(guò)串口訪問(wèn)的片內(nèi)寄存器。其中第一個(gè)是通訊寄存器,用于管理通道選擇,決定下一個(gè)操作是讀操作還是寫操作,以及下一次讀或?qū)懩囊粋€(gè)寄存器。所有與器件的通訊必須從寫通訊寄存器開始。上電或復(fù)位后,器件將等待在通訊寄存器上進(jìn)行一次寫操作;
第二個(gè)是設(shè)置寄存器,用于決定校準(zhǔn)模式、增益設(shè)置、單/雙極性輸入以及緩沖模式;
第三個(gè)是時(shí)鐘寄存器,其中包括濾波器選擇位和時(shí)鐘控制位;
第四個(gè)是數(shù)據(jù)寄存器,器件輸出的數(shù)據(jù)從這個(gè)寄存器讀出;
第五個(gè)是零標(biāo)度校準(zhǔn)寄存器,AD7705包含兩組獨(dú)立的零標(biāo)度寄存器,每個(gè)零標(biāo)度寄存器負(fù)責(zé)一個(gè)輸入通道。它們都是24位讀,寫寄存器;
第六個(gè)是滿標(biāo)度校準(zhǔn)寄存器,AD7705包含兩組獨(dú)立的滿標(biāo)度寄存器,每個(gè)滿標(biāo)度寄存器負(fù)責(zé)一個(gè)輸入通道。它們都是24位讀/寫寄存器。
AD7705的寫操作時(shí)序圖如圖5所示。在將片選端CS拉低后,即可在串行時(shí)鐘的上升沿發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)時(shí),高位在前。
AD7705的讀操作時(shí)序圖如圖6所示。當(dāng)在AD7705的DRDY信號(hào)腳檢測(cè)到邏輯低電平時(shí),表示可以從AD7705的數(shù)據(jù)寄存器獲取新的輸出字,當(dāng)完成對(duì)一個(gè)完全的輸出字的讀操作后,DRDY引腳立即回到高電平。如果在兩次輸出更新之間,不發(fā)生數(shù)據(jù)輸出,DRDY將在下一次輸出更新前500個(gè)輸入時(shí)鐘時(shí)間返回高電平。DRDY處于高電平時(shí),不能進(jìn)行讀操作。當(dāng)數(shù)據(jù)更新后,DRDY又返回低電平。
2.2 FPGA接口的軟件設(shè)計(jì)
FPGA與AD7705共有5個(gè)接口引腳,分別為片選端CS、串行時(shí)鐘端SCLK、串行數(shù)據(jù)輸入端DIN、串行數(shù)據(jù)輸出端DOUT和串行數(shù)據(jù)請(qǐng)求端
DRDY。
讀AD7705的數(shù)據(jù)寄存器前,需先設(shè)置其時(shí)鐘寄存器和設(shè)置寄存器,下面以1通道為例來(lái)簡(jiǎn)要說(shuō)明,首先向AD7705發(fā)送串行數(shù)據(jù)0x20,表示下一操作選擇時(shí)鐘寄存器,接著發(fā)送串行數(shù)據(jù)0x0C,設(shè)置時(shí)鐘為2分頻,然后發(fā)送Oxl0,表示下一操作選擇設(shè)置寄存器,接著發(fā)送串行數(shù)據(jù)0x44,表示設(shè)置寄存器模式為自校準(zhǔn),增益l,單極性,無(wú)緩沖,然后再向AD7705發(fā)送0x38,表示可以讀通道1的數(shù)據(jù)寄存器,并等待AD7705的DRDY變低,然后發(fā)送16個(gè)時(shí)鐘,以讀取通道1的16位轉(zhuǎn)換數(shù)據(jù)。通道2的數(shù)據(jù)讀取與通道1的數(shù)據(jù)讀取相似,發(fā)送的數(shù)據(jù)分別為0x21,0x0C,
0x11,0x44,0x39。
3 結(jié)束語(yǔ)
本文用有限狀態(tài)機(jī)在FPGA上實(shí)現(xiàn)了對(duì)有SPI接口的AD轉(zhuǎn)換器AD7705的接口應(yīng)用,并對(duì)AD7705的兩路輸入信號(hào)進(jìn)行了實(shí)時(shí)采集。事實(shí)上,選用通用I/O口模擬SPI時(shí)序,相比標(biāo)準(zhǔn)SPI接口IP核更為簡(jiǎn)潔,可以節(jié)約FPGA的片上資源。由于AD7705提供有雙通道、低成本、高分辨率的模數(shù)轉(zhuǎn)換功能,因此,采用∑-△結(jié)構(gòu)實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,可使得該器件在噪音環(huán)境下免受干擾,因而很適合于工業(yè)控制應(yīng)用。
發(fā)布者:小宇