亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的智能抄表采集系統(tǒng)設(shè)計

        2018-02-07 05:06:11葉碩
        關(guān)鍵詞:系統(tǒng)

        葉碩

        (武漢郵電科學(xué)研究院,湖北 武漢 430000)

        佘新平

        (長江大學(xué)電子信息學(xué)院,湖北 荊州 434023)

        智能抄表采集是指通過嵌入式技術(shù)、無線通訊以及計算機,對用戶電能使用信息進(jìn)行采集處理的過程。隨著通信技術(shù)、微處理器技術(shù)、數(shù)據(jù)處理技術(shù)的共同發(fā)展[1],智能電網(wǎng)的建設(shè)克服了傳統(tǒng)抄表對人力資源造成浪費的缺陷,有效降低了抄表的成本,并提高了電表信息采集的準(zhǔn)確性。筆者設(shè)計了一種基于STM32處理器、運用循環(huán)冗余校驗手段的智能抄表采集系統(tǒng),旨在方便用電管理部門對用電信息的采集,提高工作效率。

        1 系統(tǒng)設(shè)計

        圖1 智能抄表采集系統(tǒng)結(jié)構(gòu)框圖

        智能抄表采集系統(tǒng)(采集器)的結(jié)構(gòu)框圖如圖1所示。采集系統(tǒng)以STM32處理器為核心,RS485通信模塊和紅外發(fā)射模塊為主要結(jié)構(gòu),使用液晶屏和LED指示燈顯示采集信息和狀態(tài)。電能表通過RS485通信模塊與處理器相連,將表征著用戶用電狀況的信息發(fā)送給STM32處理器;電表信息經(jīng)過STM32處理后,再通過紅外通信模塊發(fā)送給上位機做進(jìn)一步分析;同時,液晶屏顯示當(dāng)前采集到的用電數(shù)據(jù),指示燈提示采集是否成功。上位機為基于MCU(微控制單元,Microcontroller Unit)組成的控制系統(tǒng),具有對紅外上傳數(shù)據(jù)進(jìn)行分析篩選的能力。

        目前市面上STM32處理器主要存在F4、F1兩種型號[1]。相比STM32F1,STM32F4運算速度更快、功能更為完善。該系統(tǒng)在算法上對速度有一定要求,且為考慮到以后升級擴(kuò)展,故選用STM32F4作為處理器。

        RS232與RS485是2種常用的有線數(shù)據(jù)通信接口標(biāo)準(zhǔn)。與RS232相比,RS485接口電平降低且兼容于TTL電平,即使在無法確保斷電的情況下插拔,也能降低對接口電路芯片的損壞概率。其數(shù)據(jù)傳輸采用差分信號負(fù)邏輯,因而能有效抑制共模干擾,保證傳輸數(shù)據(jù)的穩(wěn)定。此外,RS485在近距離時速率可達(dá)到35Mbps,并支持遠(yuǎn)距離傳輸,還可以通過多種校驗的手段進(jìn)一步提高數(shù)據(jù)傳輸?shù)目煽啃裕m合作為智能抄表采集系統(tǒng)的底層通信方式。

        圖2 MAX3485芯片與DB9連接電路

        MAX3485是一種差分信號到電平信號轉(zhuǎn)換的芯片,適用于半雙工通信,其通信電壓3.3V,可實現(xiàn)最高10Mbps的傳輸速率。該系統(tǒng)設(shè)計選用該芯片(見圖2),MAX3485芯片A、B引腳與DB9的2、3腳相連,將接收到的差分信號轉(zhuǎn)換為電平信號后,傳送至STM32的USART1中,通過算法完成對采集數(shù)據(jù)的處理。

        紅外通信主要通過數(shù)據(jù)電脈沖與紅外光脈沖之間的相互轉(zhuǎn)換來實現(xiàn)無線的數(shù)據(jù)收發(fā),可用來取代點對點的線纜連接[2]。紅外線接收頭CHQ1838D具有較強的抗干擾能力,能實現(xiàn)寬角度、長距離接收,且能正常工作于2.7V的低電壓條件,因此系統(tǒng)紅外模塊的設(shè)計選用其作為接收裝置。

        采集器在整個抄表系統(tǒng)中承擔(dān)中轉(zhuǎn)作用,對電能表而言,采集器將表中表征著用戶電能使用情況的數(shù)據(jù)進(jìn)行采集;對上位機而言,采集器給整個智能電網(wǎng)系統(tǒng)提供基本用電數(shù)據(jù)。因此,采集系統(tǒng)收發(fā)數(shù)據(jù)的可靠性就顯得很重要,為保證數(shù)據(jù)的可靠,必須對所有傳輸?shù)臄?shù)據(jù)進(jìn)行循環(huán)冗余校驗(CRC)。

        2 CRC校驗原理

        數(shù)據(jù)的傳輸速率和可靠性往往不可兼得,采用信道編碼的方式可以有效解決二者之間的矛盾。信道編碼又稱差錯控制編碼,其常用的方法包括前向糾錯方式(FEC)、混合糾錯(HEC)方式以及循環(huán)冗余校驗(CRC)方式。其中,前2種方式都有各自的缺陷[3],適用場合受局限,而循環(huán)冗余校驗(CRC)方式,不僅編碼、解碼方式簡單,在不增加過多冗余位的條件下,也能保持較低的誤判率,因此,CRC校驗方式被廣泛應(yīng)用。

        循環(huán)冗余校驗原理如下:將待傳送的k位碼序列視為多項M(x)式的系數(shù),則M(x)的最高次冪為k-1次冪,選擇最高次冪為r的多項式G(x)作為生成多項式,則由:

        生成多項式G(x)應(yīng)滿足3個要求:任何一位發(fā)生錯誤都應(yīng)使余數(shù)不為0;不同位發(fā)生錯誤時應(yīng)當(dāng)使余數(shù)不同;余數(shù)應(yīng)滿足循環(huán)規(guī)律[4]。幾種典型的生成多項式如表1所示。

        表1 幾種典型的生成多項式

        圖3 CRC-16編碼發(fā)送流程圖

        CRC校驗可以檢測出所有奇數(shù)個隨機錯誤和長度不超過多項式G(x)最高階的突發(fā)錯誤[4],但若出現(xiàn)錯誤碼元恰好能被多項式G(x)整除的情況,則CRC校驗無法發(fā)揮作用,但通過增加CRC的生成多項式G(x)的階數(shù),使余式R(x)位數(shù)增加,可有效降低誤判概率。

        3 系統(tǒng)程序設(shè)計

        3.1 CRC-16編碼計算模塊

        CRC-16校驗算法分為查表法和計算法2種,其中查表法節(jié)省了CPU運算時間,因此具有更高的運算速度;而計算法嚴(yán)格遵照CRC校驗原理進(jìn)行運算,因此代碼相對較少,具有靈活的移植性。設(shè)計之初筆者考慮了處理器的運算速度,因此采用計算法。

        CRC-16校驗碼計算方法是將16位的CRC寄存器所有位全部賦值為1(1111 1111 1111 1111,化為十六進(jìn)制為0xFFFF),取發(fā)送數(shù)據(jù)的一個字節(jié),與CRC寄存器中的數(shù)據(jù)進(jìn)行異或運算,再將CRC寄存器的內(nèi)容右移一位,用0填補最高位,并檢查右移后的移出位:若移除數(shù)據(jù)為1,則將當(dāng)前CRC寄存器的數(shù)據(jù)與多項式0xA001(1010 0000 0000 0001)進(jìn)行異或;若移除數(shù)據(jù)為0,則CRC寄存器的內(nèi)容繼續(xù)右移一位,用0填補最高位,并檢查右移后的移出位。

        重復(fù)上述步驟直至右移8次完成,這樣整個8位數(shù)據(jù)全部進(jìn)行了處理;將發(fā)送所有字節(jié)數(shù)據(jù)都按上述步驟計算完成后,得到的16位CRC寄存器的檢驗碼;追加在發(fā)送數(shù)據(jù)后,構(gòu)成循環(huán)冗余校驗。CRC-16編碼發(fā)送流程圖如圖3所示,對應(yīng)的校驗程序如下:

        unsigned short CRC_CHECK(unsigned char *USART_RX_BUF, unsigned char size)

        {

        unsigned short CRC_Temp;

        unsigned char i,j;

        CRC_Temp = 0xffff;

        for (i=0;i

        {

        CRC_Temp^= USART_RX_BUF[i];

        //取一個字節(jié)的數(shù)據(jù)進(jìn)行異或運算

        for (j=0;j<8;j++)

        {

        if (CRC_Temp & 0x01)

        //移除數(shù)據(jù)為1,則與0xA001進(jìn)行異或

        CRC_Temp = (CRC_Temp ?1 ) ^ 0xa001;

        else //移除數(shù)據(jù)為0,寄存器內(nèi)容右移0補最高位

        CRC_Temp = CRC_Temp ?1;

        }

        }

        return(CRC_Temp);

        }

        圖4 CRC-16解碼流程圖

        圖5 數(shù)據(jù)發(fā)射程序框圖

        3.2 數(shù)據(jù)采集模塊

        數(shù)據(jù)采集模塊實現(xiàn)將電表中的信息采集到STM32中,如果數(shù)據(jù)采集無誤,則閃爍綠燈2s用于提示采集成功。如果數(shù)據(jù)采集失敗,則持續(xù)閃爍紅燈,提示數(shù)據(jù)重新采集。

        由于CRC編碼采用模2除法,因此每一位除或減的結(jié)果不影響其他位,這意味著運算中不會向高位借位,因此本質(zhì)上等同于異或運算[5],所以在解碼過程中,將接收信息碼M(x)·xr+R(x)與事先選定的G(x)相除,若恰好整除,則視為傳輸無誤。

        實際操作中,將CRC編碼發(fā)送的校驗位數(shù)據(jù)單獨存儲,取接收的信息位進(jìn)行CRC編碼,對比校驗位,若兩者一致,則認(rèn)為發(fā)送信息傳輸無誤,若不正確,則舍棄改組數(shù)據(jù),并通過指示燈提示數(shù)據(jù)重新采集。CRC-16解碼流程如圖4所示。

        3.3 數(shù)據(jù)發(fā)射模塊

        數(shù)據(jù)發(fā)射模塊將STM32中的信息整理后通過紅外通信的方式發(fā)送給上位機,數(shù)據(jù)發(fā)送過程中閃爍綠色指示燈。

        紅外收發(fā)模塊的數(shù)據(jù)傳輸格式,要求前2個字節(jié)為發(fā)送指令位:第1個字節(jié)為地址控制位,規(guī)定發(fā)射地址,其中A1為默認(rèn)地址;第2個字節(jié)為操作控制位,用于修改發(fā)射狀態(tài),具有F1、F2、F3三種設(shè)置,分別對應(yīng)紅外發(fā)射狀態(tài)、修改串口通信地址狀態(tài)、修改波特率狀態(tài);后3個字節(jié)為用戶自定義的發(fā)送信息,由于規(guī)定一次必須發(fā)送5個字節(jié),因此,通過如圖5所示的算法將數(shù)據(jù)完整地傳給上位機。

        發(fā)送中,將前兩位字符設(shè)置為A1、F1,因此發(fā)射程序算法如下:首先將所得數(shù)據(jù)分為3個字節(jié)一組,不足3個字節(jié)則補充添加特定字符FF。然后開辟新數(shù)組,并定義其前2個字節(jié)為所需的發(fā)送指令A(yù)1、F1,再將分組后的電表信息數(shù)據(jù)循環(huán)寫入并發(fā)送。

        4 測試分析

        試驗?zāi)M測試完整的數(shù)據(jù)采集過程,通過RS485對電表數(shù)據(jù)進(jìn)行抄收,再經(jīng)由紅外通信對數(shù)據(jù)進(jìn)行發(fā)送。

        首先完成抄收數(shù)據(jù)的檢查,將紅外模塊即將發(fā)送的數(shù)據(jù)打印到串口進(jìn)行對比,驗證CRC編碼程序與數(shù)據(jù)發(fā)送程序是否正確。測試結(jié)果如圖6所示。然后數(shù)據(jù)通過紅外模塊發(fā)送,上位機將接收的數(shù)據(jù)打印到串口,對比發(fā)送數(shù)據(jù),驗證系統(tǒng)的功能能否實現(xiàn)。測試結(jié)果如圖7所示。

        圖6 自檢發(fā)送測試結(jié)果

        圖7 紅外收發(fā)數(shù)據(jù)結(jié)果

        在晴朗天氣情況下于室外測試系統(tǒng),并對不同距離條件下數(shù)據(jù)發(fā)送情況進(jìn)行匯總,試驗結(jié)果如表2所示。從試驗結(jié)果可以看出,系統(tǒng)的通信在短距離內(nèi)較為可靠。

        上位機需要接收來自各個采集器的電表數(shù)據(jù),若使用硬件插拔方式進(jìn)行通信,上位機的使用壽命將因硬件磨損而縮短,設(shè)計紅外收發(fā)的目的在于克服這一問題,當(dāng)前的紅外收發(fā)距離,已經(jīng)可以較好勝任通信工作。

        表2 數(shù)據(jù)抄收記錄

        5 結(jié)語

        智能抄表技術(shù)在我國經(jīng)過多年發(fā)展,已經(jīng)具有了一定規(guī)模,但智能電網(wǎng)的完善仍有很長的路要走,需要在以綠色節(jié)能為目標(biāo)的驅(qū)動下,完成配電網(wǎng)的更新?lián)Q代、輸電站的進(jìn)一步自動化等,提高電網(wǎng)整體的安全性與高效性。同時,這項惠及民生的工程,還需要在制度上、管理上做到同步的發(fā)展。

        [1]任順航,呂鵬鵬,王立鵬,等. 基于STM32的電能手抄系統(tǒng)設(shè)計與實現(xiàn)[J]. 電子技術(shù)應(yīng)用,2014,40(1):75~78.

        [2]魏曉艷,李軍. 紅外通訊技術(shù)與藍(lán)牙技術(shù)比較[J]. 電子元器件應(yīng)用,2007,9(4):68~69,72.

        [3]王忠,李延社,游智勝. CRC算法設(shè)計與程序?qū)崿F(xiàn)[J]. 電子測量技術(shù),2007,30(12):26~28,36.

        [4]彭偉. 嵌入式系統(tǒng)CRC循環(huán)冗余校驗算法設(shè)計研究[J]. 南京信息工程大學(xué)學(xué)報(自然科學(xué)版),2012,4(3):258~265.

        [5]李宥謀,房鼎益. CRC編碼算法研究與實現(xiàn)[J]. 西北大學(xué)學(xué)報(自然科學(xué)版),2006,36(6):895~898.

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        亚洲国产成人av二区| 亚洲AV无码一区二区三区少妇av | 亚洲一区二区三区99| 国产精品久久久久久一区二区三区| 五月婷婷俺也去开心| 国产在线一区二区三区av| 91九色精品日韩内射无| 国精产品一区一区三区有限在线| 国产精品自在线拍国产手机版| 欧美日韩国产综合aⅴ| 日本中文字幕一区二区在线观看| 中文字幕中文字幕在线中二区| 乱中年女人伦av一区二区| 麻豆av传媒蜜桃天美传媒| 国产精品无码mv在线观看| 国产免费人成视频在线观看 | 国产熟女白浆精品视频二| 国产激情艳情在线看视频| 人妻妺妺窝人体色www聚色窝| 久久青草国产免费观看| 国产一区二区三区男人吃奶| 97色偷偷色噜噜狠狠爱网站| 久久天天躁狠狠躁夜夜爽| 高潮社区51视频在线观看| 高清不卡日本v二区在线| 久久99热狠狠色精品一区| 少妇高潮喷水久久久影院| 性感人妻一区二区三区| 男女视频在线观看一区| 亚洲av麻豆aⅴ无码电影 | 日韩中文字幕无码av| 人妻少妇艳情视频中文字幕| 国产精品视频免费播放| 91av国产视频| 日本人妖一区二区三区| 天天干天天日夜夜操| 天天爽夜夜爽夜夜爽| 精品无码成人片一区二区| 国产精品成人一区二区在线不卡| 亚洲av无码片vr一区二区三区| 波多野结衣亚洲一区二区三区|