目前在工業(yè)用和民用的供水、供氣、供暖計(jì)量應(yīng)用中,如電子類水表、熱量表、燃?xì)獗淼榷紤?yīng)用大量的葉輪式流量計(jì)。由于這些流量計(jì)的工作原理相同,都是由液體和氣體的流動推動葉輪旋轉(zhuǎn),理論上葉輪的轉(zhuǎn)動速度與流速成正比關(guān)系,通過測量葉輪的轉(zhuǎn)速來計(jì)算流量。但由于結(jié)構(gòu)的制造工藝不一致和運(yùn)動件旋轉(zhuǎn)摩擦等不確定因素的存在,使葉輪的轉(zhuǎn)速在某些流量范圍內(nèi)與流速的關(guān)系存在誤差,將葉輪的轉(zhuǎn)速(通過測量)與實(shí)際各種不同流量之間的關(guān)系畫成曲線就是流量誤差關(guān)系曲線。為了在實(shí)際應(yīng)用中更好的使流量誤差曲線平直以減少誤差,就要用可行的方法根據(jù)曲線的特性對該曲線通過電子的方法進(jìn)行校正,通過此方法在某種程度上可拓寬其量程比。這就大大降低了通過改進(jìn)機(jī)械結(jié)構(gòu)來修正流量曲線在效果和范圍上的難度。本文針對上述問題介紹微功耗LC9723-IC芯片在葉輪式流量計(jì)中的應(yīng)用。
1 芯片概述
1.1 技術(shù)狀況與技術(shù)領(lǐng)域
LC9723-IC芯片是以發(fā)明專利“幅度頻率變化差異比較式采樣器”(專利號20081038789.1)為基礎(chǔ)設(shè)計(jì)的高性能傳感器芯片。采用本芯片構(gòu)成的非接觸式采樣的傳感器具有如下特點(diǎn):A,采樣器頻率為超聲波段,具有良好的穿透性,功耗極低,工作電流小于7μA,適用于要求微功耗的流量計(jì);B,受環(huán)境溫度影響小,適用溫度范圍寬,抗干擾性能優(yōu)良,適合環(huán)境條件差的場合;C,具有存儲功能,自帶數(shù)字通信接口與通信協(xié)議,應(yīng)用方便,誤碼率低,可以與高、中、低各種檔次的MCU、通用PC計(jì)算機(jī)實(shí)現(xiàn)通信,并且具有優(yōu)良傳輸能力,智能化程度高。
應(yīng)用LC9723-IC芯片構(gòu)成微功耗流量傳感器,可以直接應(yīng)用在熱量表、智能水表、燃?xì)獗怼⑷剂霞佑蜋C(jī)、測速儀等多種智能儀表中,具有廣闊的應(yīng)用前景。
1.2 應(yīng)用設(shè)計(jì)框圖
1.3 基本工作原理
LC9723-IC芯片分為模擬、數(shù)字兩個部分。
模擬部分:LC9723-IC芯片是應(yīng)用幅度頻率變化差異比較式采樣器工作原理以集成電路方式加以實(shí)現(xiàn)。振蕩器連接具有聚焦性能的線圈(片外器件),并由此線圈發(fā)射電磁波;被測物(金屬片)進(jìn)入探測有效區(qū)域時,產(chǎn)生回波,被線圈接收,當(dāng)被測物(金屬片)離開有效探測區(qū)域時,恢復(fù)初始狀態(tài),此變化定義為系統(tǒng)內(nèi)部特征量的變化,產(chǎn)生有效信號。當(dāng)被測物體振動或者按軸向竄動時,幅度的變化速度比正常情況下要大得多,發(fā)生時間極短,基本上來不及引起頻率瞬間的變化,造成轉(zhuǎn)換電壓的變化,或者變化極小,或者相互抵消,對于幅度突變而引起的誤碼具有良好的抑制作用,從而降低誤碼發(fā)生的幾率。當(dāng)系統(tǒng)受到來自外部的強(qiáng)靜磁或強(qiáng)電磁場的干擾時,采樣電磁波的幅度與頻率轉(zhuǎn)電壓值產(chǎn)生同向而且同步的變化,此變化定義為系統(tǒng)外部特征量的變化;不能滿足產(chǎn)生有效信號的條件,因此具有高性能的抗干擾能力。有效信號被比較器檢出,由觸發(fā)器通過驅(qū)動電路處理并輸出,同時通過刷新電路對基準(zhǔn)進(jìn)行刷新,精確的反映不同時刻的瞬時值;本芯片有時間控制、確定的閾值設(shè)計(jì),各功能塊之間電位定義嚴(yán)格,以實(shí)現(xiàn)芯片的高性能指標(biāo)。
采樣部分有potential_pulse_out;fixed_pulse_out ;delay_pulse_out三種信號輸出,均產(chǎn)生計(jì)數(shù)信號。其中potential_pulse_out電平脈沖,用以產(chǎn)生中斷,喚醒休眠狀態(tài)的計(jì)算機(jī);fixed_pulse_out 正脈寬20μs, delay_pulse_out比fixed_pulse_out延遲20μs用以識別正反轉(zhuǎn)。
數(shù)字部分:LC9723-IC芯片的數(shù)字部分主要是完成計(jì)數(shù)與通信功能。
對金屬片進(jìn)出探測區(qū)域內(nèi)的次數(shù)進(jìn)行計(jì)數(shù),并同步存入32位計(jì)數(shù)器;MCU與本芯片通信時,MCU發(fā)送指令,先將計(jì)數(shù)器中的數(shù)據(jù)拷貝到寄存器中,再讀取寄存器中的數(shù)據(jù)。不需要通信時,數(shù)字部分進(jìn)入靜態(tài)省電模式。在需要測量瞬時流速時,只要定時讀取LC9723-IC中的數(shù)據(jù),即可容易的得到瞬時流速。
LC9723-IC芯片有供電工作方式和外供電工作方式。能實(shí)現(xiàn)兩種供電方式之間的無縫隙轉(zhuǎn)接,以方便通信(如智能儀表的遠(yuǎn)程抄表)。
1.4 技術(shù)指標(biāo)
工作電壓:DC 2.0~5.5V 推薦DC 2.2~5V
平均工作電流:5~7μA
上電復(fù)位時間:3ms
工作溫度范圍:–25~125℃
探測物質(zhì): 銅、鐵、鋁、不銹鋼等
探測距離:3mm < d < 7mm
采樣方式: 非接觸式無磁性采樣
采樣頻率:1~1500Hz,采樣精度1/10000
時鐘頻率:32kHz~4MHz
通信方式:異步通信,傳輸距離100m,信號模式,電平信號
抗干擾能力:滿足相關(guān)應(yīng)用領(lǐng)域現(xiàn)行芯片電磁兼容標(biāo)準(zhǔn)
封裝形式:TSSOP14,TSSOP16,TSSOP20,TSSOP24體積小,方便應(yīng)用。
2 應(yīng)用實(shí)例
2.1 LC9723-IC芯片在熱量表上的應(yīng)用
2.1.1 熱量表基本原理簡述
熱量表的工作原理是比較簡單的,概括的講就是通過流量傳感器測量出載熱流體的體積,并計(jì)算出相應(yīng)的質(zhì)量;由溫度傳感器,測量出載熱流體在通過散熱器的進(jìn)出口的溫差;最后由積分儀計(jì)算出相應(yīng)熱量。
2.1.2 目前熱量表在應(yīng)用中存在的問題分析
熱量表的問題重點(diǎn)仍然集中在流量的采集與流量誤差曲線的校正上,目前使用的較大一部分熱量表是采用有磁流量傳感器,少部分采用無磁方案。有磁流量傳感器在熱量表的實(shí)際使用中存在著許多的缺點(diǎn),如:磁鋼在熱水中的退磁,磁鋼吸附水中的鐵銹等等,業(yè)界與用戶已經(jīng)很清楚了。隨著無磁流量傳感器的不斷成熟和發(fā)展,有磁流量傳感器將逐步被無磁流量傳感器所取代。但是不論哪種傳感器對基表流量曲線的校正還是相當(dāng)麻煩的,在編程中上的難度也較大,其功耗與可靠性均達(dá)不到理想的效果,同時使制造難度和成本大大增加。
2.1.3 應(yīng)用LC9723-IC芯片解決上述問題是目前最好方法
應(yīng)用LC9723-IC芯片解決上述問題就變得非常簡單,因?yàn)長C9723-IC芯片采樣器實(shí)現(xiàn)無磁采樣,正確反映葉輪轉(zhuǎn)動圈數(shù),其數(shù)字電路部分包括32位計(jì)數(shù)器、32位寄存器、控制器、通信接口,并自帶通信協(xié)議,時鐘頻率在32kHz~4MHz范圍內(nèi)均可選擇。工作原理是計(jì)數(shù)器實(shí)時記錄采樣器產(chǎn)生的流量脈沖,需要讀取傳感器數(shù)據(jù)時,只需上位單片機(jī)給傳感器芯片送入外接CLOCK,并發(fā)出指令即COPY和READ命令,此時傳感器芯片在幾毫秒或幾十微秒內(nèi)把數(shù)據(jù)傳給單片機(jī),單片機(jī)停掉此CLOCK,傳感器芯片數(shù)字部分進(jìn)入靜態(tài)模式,功耗僅幾個納安,由單片機(jī)處理取回的數(shù)據(jù)。
單片機(jī)向傳感器芯片發(fā)出COPY指令時,是將計(jì)數(shù)器內(nèi)的數(shù)據(jù)復(fù)制到寄存器中,在納秒級的時間內(nèi)完成,并有觸發(fā)沿時間保護(hù),此過程不影響計(jì)數(shù)器的正常計(jì)數(shù);在發(fā)出READ命令時單片機(jī)將寄存器中的數(shù)據(jù)取回,并送入響應(yīng)的通訊接口,此操作不影響計(jì)數(shù)器的正常工作,與單片機(jī)通訊時不影響傳感器正常采樣與計(jì)數(shù)。
應(yīng)用LC9723-IC傳感器,單片機(jī)只要定時與傳感器通訊讀取數(shù)據(jù),即可得到流量計(jì)的瞬時流量,同時根據(jù)基表各流量點(diǎn)的當(dāng)量(或叫流量系數(shù)),就可以修正成準(zhǔn)確值。把每次瞬時流量累計(jì)即可得到累計(jì)流量,因此在熱量表上均可以實(shí)現(xiàn)流量曲線的校正功能。如下圖:
典型的流量-誤差曲線
電子修正后的流量-誤差曲線
2.1.4 對熱量表的升級
原溫度測量方法不變,僅將流量測量改為LC9723-IC芯片工作模式。
2.2 LC9723-IC芯片在其他儀表上的應(yīng)用簡介
2.2.1 LC9723-IC芯片在電子水表上的應(yīng)用。電子水表其種類比較多,主要有各類卡式表、電子計(jì)量式水表、GPRS電子式遠(yuǎn)傳水表。目前的采樣方式多為干簧管式,以及少量的霍爾元件的,都不能滿足流量誤差校正的需要。因此,應(yīng)用LC9723-IC芯片即可非常容易的解決這一問題。其方法與熱量表流量測量方法完全相同。其他功能增加了閥門的控制,通信部件不變。
2.2.2 LC9723-IC芯片在燃?xì)獗砩系膽?yīng)用。與電子水表上的應(yīng)用極其類似,唯一不同的是,流量曲線不同。其防爆問題上,LC9723-IC芯片是不接觸煤氣氣體的,由于LC9723-IC芯片制面部件,本身就是微功耗、低電壓的,完全密封后與單片機(jī)放在個防爆殼體里面的,應(yīng)用非常簡便,且具有高可靠性。
2.2.3 LC9723-IC芯片在轉(zhuǎn)速表上的應(yīng)用。對于LC9723-IC芯片在轉(zhuǎn)速表上的應(yīng)用是最簡單的,只需定時通信,讀取測量數(shù)據(jù)。
總之,應(yīng)用 LC9723-IC芯片在各類流量計(jì)上除實(shí)現(xiàn)其微功耗及其它一系列的優(yōu)點(diǎn)和好處外,更重要的是,可大幅提高計(jì)量精度,并在一定程度上拓寬量程比。
3 編程要點(diǎn)
LC9723-IC數(shù)字部分由控制器模塊、指令接收模塊、數(shù)據(jù)發(fā)送模塊和計(jì)數(shù)器模塊組成,可實(shí)時對由LC9723-IC模擬部分產(chǎn)生的脈沖信號(上升沿)進(jìn)行計(jì)數(shù),并通過3個引腳以串行方式與MCU通訊,實(shí)現(xiàn)讀取計(jì)數(shù)器結(jié)果、計(jì)數(shù)器清零及誤碼重讀功能。電路通過模擬部分提供的復(fù)位信號實(shí)現(xiàn)上電復(fù)位功能,LC9723-IC內(nèi)置32位計(jì)數(shù)器和寄存器。
輸入信號pulse由LC9723-IC模擬部分提供,與計(jì)數(shù)器模塊連接,計(jì)數(shù)器在pulse信號上升沿進(jìn)行計(jì)數(shù)。
輸入信號rst_n由LC9723-IC 模擬部分提供,對全部模塊進(jìn)行復(fù)位,低電平有效。
輸入信號clk由外部MCU提供,與控制器模塊、指令接收模塊和數(shù)據(jù)發(fā)送模塊連接,為電路提供時鐘信號,上升沿觸發(fā)。
輸入信號data_in由外部MCU提供,與指令接收模塊連接,對電路工作狀態(tài)進(jìn)行控制,串行接受指令。
輸出信號data_in由數(shù)據(jù)發(fā)送模塊提供,與外部MCU輸入端口連接,串行發(fā)送數(shù)據(jù)。
3.1.1 指令接收及發(fā)送數(shù)據(jù)時序
Tinit:電路初始時間,5個時鐘周期,該時間段及無時鐘階段電路均不接收指令。若前一次通訊為異常退出,則LC9723-IC的Tinit為45個周期。
Twait:輸出響應(yīng)時間,5個時鐘周期,即電路將在收到正確指令5個時鐘周期后從輸出端data_out發(fā)送數(shù)據(jù)。
Twork:收到正確指令后電路工作時間,該時間段內(nèi)電路不再接收其他指令。LC9723-IC Twork為40個時鐘周期。
Tstop:電路完成工作至關(guān)閉時鐘的時間,5個時鐘周期,以確保電路已完成全部操作。
空閑時間段,MCU應(yīng)發(fā)送高電平1(即data_in=1,clk=0)以保證LC9723-IC 處于等待模式,同時LC9723-IC輸出端data_out將維持高電平1。
3.1.2 異常指令處理
LC9723-IC對錯誤指令不做任何響應(yīng)(包括指令錯誤,偶校驗(yàn)錯誤,結(jié)束位錯誤)。
3.1.3 指令/數(shù)據(jù)傳輸時序
LC9723-IC設(shè)計(jì)使用時鐘信號上升沿收發(fā)數(shù)據(jù),因此為保證數(shù)據(jù)收發(fā)穩(wěn)定可靠,MCU應(yīng)盡量使用時鐘下降沿進(jìn)行數(shù)據(jù)收發(fā)。
3.2 指令和數(shù)據(jù)
LC9723-IC共包含兩條指令COPY和READ,通過data_in串行接收,通過data_out串行發(fā)送。
3.2.1指令構(gòu)成
指令共6位,其中包括1位起始位,3位指令位,1位偶校驗(yàn)位和1位結(jié)束位。
3.2.2 數(shù)據(jù)構(gòu)成
LC9723-IC輸出數(shù)據(jù)共35位,其中包括1位起始位,32位數(shù)據(jù)位,1位偶校驗(yàn)位和1位結(jié)束位。
3.2.3 COPY指令
收到COPY指令后,電路將計(jì)數(shù)器counter中的數(shù)據(jù)拷貝到寄存器counter_reg中,并將計(jì)數(shù)器counter清零,同時data_out發(fā)送全零數(shù)據(jù)。
基于當(dāng)前指令集,MCU可實(shí)現(xiàn)實(shí)時計(jì)數(shù)結(jié)果讀取操作,并且可以對數(shù)據(jù)/指令傳輸異常進(jìn)行有效處理。
3.3.1 操作步驟
3.3.1.1 實(shí)時計(jì)數(shù)結(jié)果讀取
當(dāng)MCU需要讀取當(dāng)前計(jì)數(shù)結(jié)果時,先向LC9723-IC發(fā)送一個COPY指令,待收到正確回應(yīng)后再發(fā)送一個READ指令,即可完成實(shí)時計(jì)數(shù)結(jié)果讀取操作。
3.3.1.2 READ指令異常處理
當(dāng)MCU發(fā)出READ指令后收到的數(shù)據(jù)異常(未能按時收到數(shù)據(jù)、偶校驗(yàn)錯誤、結(jié)束位錯誤)時,可向LC9723-IC再次發(fā)送一個READ指令,以實(shí)現(xiàn)計(jì)數(shù)結(jié)果重讀操作。
3.3.1.3 COPY指令異常處理
當(dāng)MCU發(fā)出COPY指令后收到的數(shù)據(jù)異常(收到數(shù)據(jù)非32’h0、未能按時收到數(shù)據(jù)、偶校驗(yàn)錯誤、結(jié)束位錯誤),應(yīng)向LC9723-IC發(fā)送READ指令,讀取寄存器數(shù)據(jù),通過將本次讀取的數(shù)據(jù)與前次讀取數(shù)據(jù)進(jìn)行比較判斷LC9723-IC是否已經(jīng)完成COPY操作,如果未完成操作,則需重新發(fā)送COPY指令。
切勿連續(xù)發(fā)送COPY指令,從而導(dǎo)致LC9723-IC連續(xù)對計(jì)數(shù)器清零,使得計(jì)數(shù)結(jié)果丟失。
Copy指令執(zhí)行時MCU不要產(chǎn)生中斷,應(yīng)保持時鐘正常發(fā)送,待到Copy指令正常執(zhí)行完畢后再進(jìn)行中斷。
3.3.2 操作實(shí)例
3.3.2.1 初始化
向data_in發(fā)送高電平1并保持,再為電路提供時鐘信號clk,5個時鐘周期后即可發(fā)送指令,此時電路進(jìn)入等待狀態(tài),data_out輸出1。
寄存器counter_reg復(fù)位后初始狀態(tài)為全零(16’h0 / 32’h0)。
3.3.2.2 發(fā)送指令
當(dāng)電路處于等待狀態(tài)時,通過data_in向電路發(fā)送完整的指令信號,包括起始位、指令位、偶校驗(yàn)位及結(jié)束位。
當(dāng)電路接收到正確指令后進(jìn)入工作狀態(tài)。
當(dāng)電路接收到錯誤指令(包括指令錯誤,偶校驗(yàn)錯誤,結(jié)束位錯誤)后,繼續(xù)處于等待狀態(tài),data_out保持1。
為保證電路正常接收指令,應(yīng)盡量在時鐘信號下降沿附近進(jìn)行指令發(fā)送。
3.3.2.3 接收數(shù)據(jù)
電路進(jìn)入工作狀態(tài)5個時鐘周期(Twait)內(nèi)data_out保持1,5個時鐘周期后會進(jìn)行數(shù)據(jù)發(fā)送,LC9723-IC將發(fā)送35位數(shù)據(jù)。
數(shù)據(jù)發(fā)送完成后電路進(jìn)入等待狀態(tài),data_out輸出1。
3.3.2.4 關(guān)閉電路
數(shù)據(jù)發(fā)送完成5個時鐘周期后,可停止發(fā)送時鐘信號(保持0),此時電路不接收任何指令,data_out保持1。