[發明專利]一種校準燃氣表上報成功率的方法及裝置有效
| 申請號: | 201910766711.2 | 申請日: | 2019-08-20 |
| 公開(公告)號: | CN110519356B | 公開(公告)日: | 2022-02-01 |
| 發明(設計)人: | 厲晶瑩;唐玲玲;夏積貴 | 申請(專利權)人: | 杭州先鋒電子技術股份有限公司 |
| 主分類號: | H04L67/025 | 分類號: | H04L67/025;H04L67/12;H03B5/04;G01F25/10 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310052 浙江省*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 校準 燃氣 上報 成功率 方法 裝置 | ||
1.一種校準燃氣表上報成功率的方法,包括MCU模塊和NB-IoT模塊,所述MCU模塊采用STM32L系列的低功耗芯片,MCU模塊集成有UART模塊和溫度傳感器模塊,MCU模塊內部配有時鐘晶振的寄存器,能夠存儲和設置晶振頻率的值,溫度傳感器模塊能夠通過AD通道讀取到溫度值,UART模塊用于MCU模塊與NB-IoT模塊進行通訊,其特征在于包括如下流程:
步驟01:在NB-IoT智能燃氣表的正常運行狀態下,系統所使用的電壓為6V,當系統到達需要遠程上報數據的時間點或者是外部進行按鍵等上報操作時,內部MCU處理器會對操作進行處理后調用上報程序,系統開始上報數據;內部MCU處理器處理后會打開與TEMPER_CTL引腳相連接的引腳開關,根據串聯電阻分壓原理輸出3V電壓,使外圍的熱敏電阻R3處于工作狀態;
步驟02:本系統中采用的是STM32L系列的低功耗芯片,該芯片內部含有一個12位的ADC,擁有16個輸入通道,包括一個內部溫度傳感器,基于本系統的使用,需要的溫度傳感器輸出電壓特性,其電壓與溫度的關系為:
T(℃) = (Vsense/AvgSlope)-273.15——公式1
其中AvgSlope是參照溫度與電壓曲線的平均斜率的一個估計值,根據手冊可取AvgSlope = 1.62mV/℃,
由芯片的數據手冊可知,其內部還包括一個內部參考電壓,這個內部參考電壓的電壓值是芯片產商出廠時校準設定的,所以是精確的,這個內部參考電壓為1.225V,ADC選擇內部參考電壓作為測量通道,可以測量到內部電壓的轉化值Nadc,此時,已知VDD的轉化值為4096,內部參考電壓VREFINT電壓值為1.225V,以及定義測試電壓為Vtemp,這些值滿足比例關系:
VDD/4096 = VREFINT/Vtemp
VDD/4096 = 1.225/Vtemp
VDD = 1.225*4096/Vtemp——公式2
溫度傳感器在確定內部參考電壓后,可利用內部溫度傳感器進行溫度采集后,結合公式1和公式2 可得出公式3:
Vtemp = ((T(℃)+273.5)*1.62)/1000——公式3
由于內部溫度傳感器的精度并沒有很高,因此需要利用AD采樣通道進行溫度補償和校準,但是STM32L低功耗芯片的模擬電壓輸入范圍為0-3V,但是在實際中使用到的A/D端口采樣信號時,并不能保證所采集到的信號在輸入范圍之內;由于ADC模塊比較脆弱,當電壓不在正常工作范圍之內的時候可能會損壞ADC端口,使相對應的A/D采樣端口不能正常工作;
A/D的保護電路中,DQ1與DQ2是兩個二級管,在工業要求較高的環境下,此處可以用一個快恢復的雙二級管代替,當ADC1端電壓略高于3.3V時,DQ2二極管被導通,輸入到A/D端口電壓直接為3.3V;同理,當ADC1端口的電壓為負電壓時,DQ1二級管被導通,輸入到A/D端口電壓直接為0V;這樣就可以利用這兩個二級換將ADC端口輸入電壓保持在其允許的范圍內,使其能正常工作;
除了要確保A/D的采樣端口不被破壞以外,還要保證采樣的精度要足夠高,內部芯片的A/D的采樣精度在實際使用過程中并沒有達到所謂的12位精度;其轉化精度較差的主要原因是存在增益誤差和偏移誤差,要提高ADC轉換精度就必須對這兩種誤差進行補償,因此本系統中增加了A/D的硬件校正電路;
由于A/D采樣通道自身的誤差,在此可以利用A/D的兩路采樣通道來求得此ADC存在的增益誤差和偏移誤差,并以此來校正其余的A/D采樣通道;考慮到兩路校正通道的輸入電壓精度要求比較高,再次可以選用CJ431電壓基準芯片來產生兩路基準電壓,并選擇ADC0和ADC8兩通道為校正通道;
經過校正A/D的校正電路以及保護電路的作用下,MCU內部的溫度傳感器以及A/D模塊的作用,可通過熱敏電阻的采樣端口TEMPER_CHK端口采集熱敏電阻R3的電壓AD值Va;
步驟03:通過采集的電壓AD值Va,MCU處理器利用分壓公式
Va/3 = R3/(R2+R3) 公式4
計算出當前熱敏電阻R3的電阻值;
步驟04:根據熱敏電阻特性,參照溫度與電阻值的對應關系公式
Temp=(298.15/((1-(log(50/R)*298.15/3950))))-273.15 公式6
將上述步驟03中得到的熱敏電阻R3的值帶入到上述公式中的R,就可以計算出當前的環境溫度值Temp;
步驟05:如果溫度值Temp在區間25±5度范圍內,則系統工作在一個溫區穩定的范圍,其時鐘晶振為32.678KHz,電路穩定性高,精確度高,UART的時鐘受溫度影響較小,通訊的波特率較穩定,則能夠以32.678KHz的時鐘晶振進行系統工作,則結束本次流程;否則就要對溫度進行補正,來確保波特率的準確性,其可跳轉至步驟06;
步驟06:根據溫度值Temp,對32.768kHz的時鐘晶振進行溫度補正;
首先計算頻率偏移量Δf,根據
Δf =K(T-Ti)2 公式7
其中K為頻率溫度系數常數,可根據芯片數據手冊得到K值為,根據熱敏電阻的特性可知,其工作在25度是個最佳工作環境,所以T取值為25度,Ti為當前采集的溫度,將這些值帶入Δf =K(T-Ti)2就可以計算出頻率的偏移量Δf的值;
步驟07:將步驟06中的偏移量Δf的值帶入到修正公式
f= 32.768×(1+Δf) 公式8
可得到修正后時鐘晶振 f,可將修正后的時鐘晶振f 的值寫入MCU配置的時鐘晶振寄存器中去,
步驟08:在步驟07之前的所有操作中,處理器均以自己內部時鐘在工作,步驟07完成后,系統定時器Timer對32.768kHz時鐘晶振進行頻率捕獲,該定時器的時鐘源仍為內部時鐘fsys,首次上升沿中斷時,采集timer捕獲值A0;
步驟09:第二次上升沿中斷觸發時,采集timer捕獲值A1,同時關閉定時器timer;
步驟10:根據步驟08、步驟09得到的捕獲值,算出兩次捕獲值的差值ΔN=A1-A0;
步驟11:根據比值算式
ΔN/fsys = 1/32768 公式9
將步驟10中捕獲差值的值帶入到公式9中可獲得當前真實的內部時鐘;
步驟12:參考芯片數據手冊可得到,UART波特率跟波特率設定值以及系統時鐘頻率有關,其關系式為:
公式10
根據實際系統中最有效的傳輸速率,將Bound的值帶入到公式10中,便可以得出當前波特率的設定值V;
步驟13:根據最新的波特率配置值V,將值寫到時鐘晶振的寄存器中去,再啟動本次UART通訊,則本次使用的時鐘頻率是跟外界環境溫度進行補償后的最佳值,可確保傳輸的順利進行后也確保了系統的UART通訊的高效性。
2.根據權利要求1所述的一種校準燃氣表上報成功率的方法,其特征在于所述步驟02利用具有高精度的溫度檢測特性的熱敏電阻來檢測環境溫度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州先鋒電子技術股份有限公司,未經杭州先鋒電子技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910766711.2/1.html,轉載請聲明來源鉆瓜專利網。





