引言
在智能儀表設(shè)計(jì)中,經(jīng)常用到A/D轉(zhuǎn)換器。在常用的A/D轉(zhuǎn)換中,7135應(yīng)用最為廣泛,它具有41/2位A/D轉(zhuǎn)換精度,抗干擾能力強(qiáng),價(jià)格低廉,主要用于檢測參數(shù)的測量顯示,在智能儀器儀表中,常利用其A/D轉(zhuǎn)換特性,與單片機(jī)串行連接,通過簡單的人機(jī)界面實(shí)現(xiàn)對(duì)A/D轉(zhuǎn)換數(shù)據(jù)的智能控制。本文以PIC單片機(jī)與ICL7135的實(shí)際工程應(yīng)用為例,介紹一款智能溫度控制儀表在溫度變送器中的應(yīng)用。
1 PIC單片機(jī)
PIC系列8位CMOS單片機(jī)具有獨(dú)特的RISC結(jié)構(gòu),數(shù)據(jù)總線和指令總線分離的哈佛總線(Harvard)結(jié)構(gòu),使指令具有單字長的特性,且允許指令碼的位數(shù)可多于8位的數(shù)據(jù)位數(shù),這與傳統(tǒng)的采用CISC結(jié)構(gòu)的8位單片機(jī)相比,可以達(dá)到2:1的代碼壓縮,速度提高4倍。
PIC有優(yōu)越開發(fā)環(huán)境、徹底的保密性、PIC以保密熔絲來保護(hù)代碼,用戶在燒入代碼后熔斷熔絲,別人再也無法讀出,除非恢復(fù)熔絲、自帶看門狗定時(shí)器,可以用來提高程序運(yùn)行的可靠性。在本工程項(xiàng)目中選用了PIC中檔單片機(jī)PIC16F62x,內(nèi)部含有2K flash、224字節(jié)SRAM、128字節(jié)EEPROM、16個(gè)I/O口、1個(gè)CCP捕獲通道、2個(gè)比較器通道、2個(gè)8位1個(gè)16位定時(shí)器、具有UART功能。
2 7135 A/D轉(zhuǎn)換原理
7135采用高阻抗差分輸入方式,總失調(diào)電壓小于10μV,其A/D轉(zhuǎn)換器采用雙積分式,共分4個(gè)階段:自動(dòng)調(diào)零,輸入信號(hào)積分,標(biāo)準(zhǔn)信號(hào)反積分,積分器歸零。其當(dāng)個(gè)轉(zhuǎn)換過程如圖1所示。
由圖1可以看出,7135在對(duì)輸入信號(hào)進(jìn)行積分時(shí),其BUSY信號(hào)線由低向高跳變并一直保持高電平,直到標(biāo)準(zhǔn)信號(hào)反積分結(jié)束時(shí)才跳變到低電平。在此過程中,對(duì)輸入信號(hào)的積分一般保持10001個(gè)時(shí)鐘脈沖,而在滿量程的情況下,反相標(biāo)準(zhǔn)積分值為20001(當(dāng)Vin="2Vref"時(shí)),對(duì)于不同的模擬量輸入,7135反向標(biāo)準(zhǔn)積分脈沖數(shù)不同,BUSY信號(hào)的高電平寬度也不同,且反向積分脈沖數(shù)正比于輸入信號(hào)幅度,與測量結(jié)果有一一對(duì)應(yīng)關(guān)系。在轉(zhuǎn)換過程中,7135提供一輸入信號(hào)極性判斷引腳POL,當(dāng)輸入(Vin+-Vin-)為正值時(shí),POL信號(hào)為高電 平,(Vin+-Vin-)為負(fù)值時(shí),POL信號(hào)為低電平。
3 7135與PIC單片機(jī)的串行連接
由7135的轉(zhuǎn)換原理可知,可以通過脈沖計(jì)數(shù)的方式獲得測量的結(jié)果,且只需要3條控制線CLK,BUSY,POL。Microchip推出的PIC系列單片機(jī)具有驅(qū)動(dòng)能力大,抗干擾能力強(qiáng),價(jià)格適中等優(yōu)點(diǎn)。其推出的PIC16F6X系列,有2~4K FLASH內(nèi)存,1個(gè)16位定時(shí)器,2個(gè)CCP比較/捕捉模塊,多于22個(gè)I/O,唯一的遺憾是沒有符合7135的采樣時(shí)鐘??紤]到儀表需要通信及隔離模擬變送輸出,采用16M晶振,利用16位定時(shí)器T1作為7135的同步計(jì)數(shù)脈沖,BUSY接于CCP1引腳,工作于捕捉方式,用于測量脈沖寬度;而7135的CLK時(shí)鐘,則利用CPU的晶振接于高速反相器,再經(jīng)分頻取出??紤]到采樣速度及對(duì)50Hz電源的抗干擾影響,以及溫度變量的慣性大的特點(diǎn),取CLK="250kHz",采樣速度約為4次/min。系統(tǒng)硬件聯(lián)接如圖2:
在實(shí)際應(yīng)用中,監(jiān)測的對(duì)象為玻璃熔爐的溫度,采用熱電偶將信號(hào)采集到變送器。作為溫度變送器還必須要考慮環(huán)境溫度的影響。其次,還要考慮到器件的溫度漂移,必須在后期得到的數(shù)據(jù)對(duì)這兩個(gè)干擾量進(jìn)行處理才能得到真實(shí)的溫度值。因此在模擬量的輸入部分有三個(gè)量需要采集,通過多路模擬開關(guān)隔離,再將信號(hào)送給運(yùn)算放大器后進(jìn)行A/D轉(zhuǎn)換。在A/D轉(zhuǎn)換部分,由于ICL7135本身沒有自帶的參考電壓,因此設(shè)計(jì)中必須配以精確的參考電壓源。
實(shí)際應(yīng)用中采用的是TL431可調(diào)電壓基準(zhǔn),應(yīng)用中達(dá)到了生產(chǎn)要求,效果良好。在變送器的輸出部分則需加以隔離并且MAX485的輸出端接以上,下拉電阻。
4 A/D轉(zhuǎn)換結(jié)果的計(jì)算處理
定時(shí)器T1的時(shí)鐘和7135的時(shí)鐘不是同一個(gè)輸入,T1的時(shí)鐘為系統(tǒng)時(shí)鐘的1:128分,而7135的CLK為125KHz,為CPU引腳輸出的方波脈沖。7135的BUSY腳接CPU具有電平中斷功能的引腳,這樣當(dāng)BUSY為高時(shí)便開始計(jì)入脈沖數(shù),直到一次轉(zhuǎn)換完畢。對(duì)熱電偶通道所測得的數(shù)據(jù)根據(jù)其電壓—溫度特性表進(jìn)行處理后得到其溫度值,對(duì)溫度飄移則視POLARITY的極性而定,若為正則將其用熱電偶溫度值減去,否則則加。環(huán)境溫度直接相加。溫度數(shù)據(jù)處理完畢等待上位機(jī)發(fā)送指令上傳即可。
5 軟件設(shè)計(jì)
系統(tǒng)軟件的設(shè)計(jì)中含有以下幾個(gè)處理模塊:初始化及主程序模塊,中斷處理模塊,數(shù)據(jù)處理及傳送控制輸出模塊。其中中斷處理模塊包括通訊中斷,捕捉中斷處理。數(shù)據(jù)處理及傳送控制輸出模塊則包括溫度對(duì)象的數(shù)據(jù)處理,串行通訊的接收與發(fā)送控制。以下簡要介紹主程序運(yùn)行流程與7135電平中斷處理。程序流程如下:
在A/D轉(zhuǎn)換過程中,因?yàn)锽USY腳上升沿時(shí)開始脈沖計(jì)數(shù),下降沿是計(jì)數(shù)即完畢,所得結(jié)果存放在CCP寄存器中,它是分CCPR1H與CCPR1L高、低兩個(gè)字節(jié)共16位寄存器。將CCPR1H左移4位加上CCPR1L再減去10001,即為A/D轉(zhuǎn)換脈沖的計(jì)數(shù)值。將轉(zhuǎn)換后的數(shù)據(jù)按前述方法由軟件進(jìn)行進(jìn)一步處理。對(duì)采樣數(shù)據(jù)的處理過程中,可取對(duì)每4次或8次采樣值進(jìn)行脈沖濾波,或可以結(jié)合其他濾波方法一起例如一階濾波方法對(duì)數(shù)據(jù)進(jìn)行處理,送顯,控制,這樣能使測量更準(zhǔn)確,顯示更穩(wěn)定。為保證生產(chǎn)的持續(xù)穩(wěn)定進(jìn)行提供有力保障。
6 結(jié)束語
此溫度變送器的工作環(huán)境相當(dāng)惡劣,靜電干擾非常大,在調(diào)試過程中甚至出現(xiàn)了芯片被靜電激穿燒壞的現(xiàn)象,在串行通信的前端加光耦隔離并對(duì)MAX485芯片A、B分別上拉到電源和下拉到地起到了良好的保護(hù)作用,在長時(shí)間的使用期間此變送器無論是在穩(wěn)定性、精度、 實(shí)時(shí)性還是安全性上都表現(xiàn)良好,滿足了實(shí)際生產(chǎn)的需要。
本文作者創(chuàng)新點(diǎn)是以PIC單片機(jī)與ICL7135的實(shí)際工程應(yīng)用為例,詳細(xì)闡述PIC單片機(jī)與ICL7135將檢測到的溫度進(jìn)行轉(zhuǎn)換處理后通過串行口傳送給上位機(jī),應(yīng)用于高精度的溫度檢測儀表中,介紹了一款智能溫度控制儀表在溫度變送器中的應(yīng)用。對(duì)于實(shí)際生產(chǎn)有重要的借鑒意義。項(xiàng)目經(jīng)濟(jì)效大約50萬元;數(shù)據(jù)來源主要是通過脈沖計(jì)數(shù)的方式獲得測量的結(jié)果;研究方法:利用含有初始化及主程序模塊、中斷處理模塊、數(shù)據(jù)處理及傳送控制輸出模塊的設(shè)計(jì)軟件來模擬實(shí)驗(yàn)研究,其中中斷處理模塊包括通訊中斷,捕捉中斷處理。數(shù)據(jù)處理及傳送控制輸出模塊則包括溫度對(duì)象的數(shù)據(jù)處理,串行通訊的接收與發(fā)送控制。