新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的電力抄表系統(tǒng)設(shè)計(jì)

基于CAN總線的電力抄表系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2007-05-25 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:介紹了一種基于方案,設(shè)計(jì)了系統(tǒng)的軟硬件,并詳細(xì)地闡述了其工作原理。該系統(tǒng)利用AT89C52微處理器與多片8259A中斷控制器配合,實(shí)現(xiàn)分布式的電表數(shù)據(jù)的實(shí)時(shí)采集、傳輸、存儲(chǔ)以及顯示等功能。針對(duì)采集數(shù)據(jù)準(zhǔn)確度低的問(wèn)題,采用了中斷采集方式,不僅提高了采集數(shù)據(jù)的準(zhǔn)確度,而且提高了系統(tǒng)的可靠性。
關(guān)鍵詞:;中斷方式;準(zhǔn)確度;系統(tǒng)

簡(jiǎn)介

CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息;CAN網(wǎng)絡(luò)上的節(jié)點(diǎn)信息分成不同的優(yōu)先級(jí),可滿足不同的實(shí)時(shí)要求;CAN采用非破壞性總線仲裁技術(shù);CAN只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù);CAN的直接通信距離最遠(yuǎn)可達(dá)10km(速率5kbit/s以下),通信速率最高可達(dá)1Mbit/s(此時(shí)通信距離最長(zhǎng)為40m);CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,保證了數(shù)據(jù)出錯(cuò)率極低;CAN的通信介質(zhì)可為雙絞線、同軸電纜或光纜,選擇靈活。

系統(tǒng)方案設(shè)計(jì)

系統(tǒng)由以下部分組成:脈沖電度表、電量采集器、CAN轉(zhuǎn)換器、調(diào)制解調(diào)器、上位機(jī)。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。


圖1 系統(tǒng)結(jié)構(gòu)框圖

由圖1可知,電量采集器實(shí)時(shí)采集居民樓脈沖電度表輸出的脈沖信號(hào),經(jīng)CAN接口傳至CAN總線上,再經(jīng)CAN轉(zhuǎn)換器轉(zhuǎn)換和Modem實(shí)現(xiàn)上位機(jī)與下位機(jī)的通信,從而完成數(shù)據(jù)的采集、存儲(chǔ)、計(jì)量、顯示等功能,對(duì)整個(gè)小區(qū)每個(gè)用戶的情況實(shí)現(xiàn)實(shí)時(shí)監(jiān)控。

系統(tǒng)工作原理

電度量的采集
根據(jù)轉(zhuǎn)盤(pán)式電度表的結(jié)構(gòu),它的脈沖與轉(zhuǎn)盤(pán)所轉(zhuǎn)的圈數(shù)成正比,脈沖數(shù)累計(jì)后再乘以系數(shù)即可得到相應(yīng)的電度量。為提高脈沖計(jì)量的準(zhǔn)確性,軟件設(shè)計(jì)時(shí)采用定時(shí)連續(xù)采樣的方法。一個(gè)有效的電脈沖寬度在50ms以上,設(shè)計(jì)采用的定時(shí)周期為16ms.對(duì)于正常脈沖,定時(shí)采樣連續(xù)測(cè)得脈沖為高電平的次數(shù)≥2,見(jiàn)圖2。若脈沖寬度太小,測(cè)得次數(shù)不夠2次,這時(shí)可以把這個(gè)脈沖去掉。


圖2 脈沖采樣檢查示意圖

電量采集器
電量采集器的主要功能是對(duì)脈沖數(shù)據(jù)計(jì)數(shù)以及與上位機(jī)通信。它的核心器件是AT89C52微處理器與中斷控制器8259A.系統(tǒng)中,中斷源超過(guò)8級(jí),故8259A采用級(jí)聯(lián)方式。每個(gè)電量采集器下有5片8259A級(jí)聯(lián),從而滿足32路電量信號(hào)的輸入。電量采集器的原理框圖如圖3所示。


圖3 電量采集器原理框圖

系統(tǒng)中,8259A用來(lái)配合AT89C52控制外部中斷源。8259A為AT89C52分析、判斷、決定中斷請(qǐng)求信號(hào)的優(yōu)先權(quán)。來(lái)自多個(gè)電表的中斷信號(hào)經(jīng)輸入處理電路后被送到8259A.其中的一路為高電平時(shí),8259A的IRR(中斷請(qǐng)求寄存器)相應(yīng)位置位;接著,8259A對(duì)其IRR和IMR(中斷屏蔽寄存器)提供的情況進(jìn)行分析處理,當(dāng)某路中斷源未被IMR屏蔽,且該路中斷源的優(yōu)先級(jí)別高于CPU正在處理事務(wù)的級(jí)別時(shí),8259A的17 引腳產(chǎn)生一個(gè)高電平,再經(jīng)過(guò)專(zhuān)門(mén)的中斷申請(qǐng)與響應(yīng)電路變?yōu)榈碗娖?img onload="if(this.width>620)this.width=620;" onclick="window.open(this.src)" style="cursor:pointer" height=24 src="/upload/2007_05/070525132769957.jpg" width=36 border=0>,就向AT89C52提出中斷請(qǐng)求,而其余的中斷信號(hào)排隊(duì)等待并保存。這樣脈沖信號(hào)就不會(huì)丟失,保證了系統(tǒng)采集信號(hào)的準(zhǔn)確度。之后,儀表技術(shù)與傳感器得到中斷申請(qǐng)的AT89C52會(huì)比較當(dāng)前運(yùn)行程序與中斷申請(qǐng)的優(yōu)先級(jí)別,經(jīng)中斷申請(qǐng)與響應(yīng)電路向8259A發(fā)回中斷響應(yīng)信號(hào).這時(shí),AT89C52轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。

為保護(hù)采集到的數(shù)據(jù),設(shè)計(jì)中采用了存儲(chǔ)器。存儲(chǔ)區(qū)可分為兩個(gè)區(qū):一個(gè)工作區(qū),存儲(chǔ)實(shí)時(shí)的電度量,隔一定時(shí)間刷新1次;一個(gè)備份區(qū)備份6個(gè)月的電度量,以防有用信息的丟失。

為方便用戶查詢,系統(tǒng)可在采集器中設(shè)計(jì)顯示電路LCM103,實(shí)現(xiàn)就地顯示。把它的引腳CS、WR、DA2TA和單片機(jī)的相關(guān)接口連接就可以實(shí)現(xiàn)其顯示功能。多個(gè)中斷源的數(shù)據(jù)在LCM103中采用輪流顯示方式。LCM03的10位可以分別定義為用戶戶別、表別與顯示數(shù)據(jù)。第10位為戶別,第8位為表別,其余位表示各表耗用能量的數(shù)字,第3位是小數(shù)點(diǎn)。第9位和第7位為空格,以便讀數(shù)清晰。

設(shè)計(jì)時(shí),在LCM103的VDD與VLCD引腳之間加511kΩ的電阻,以使顯示亮度適中。

CAN接口轉(zhuǎn)換器
CAN轉(zhuǎn)換器由CAN控制器SJA1000和CAN驅(qū)動(dòng)器PCA82C250組成。CAN轉(zhuǎn)換器負(fù)責(zé)接收上位機(jī)下達(dá)的命令并向上傳送本站點(diǎn)的電量,1組CAN總線上最多可掛110個(gè)站點(diǎn),其框圖如圖4所示。


圖4 CAN控制器接口功能框圖

CAN轉(zhuǎn)換器
為了實(shí)現(xiàn)單片機(jī)與上位機(jī)的通信,設(shè)計(jì)了TTL電平與RS-232之間轉(zhuǎn)換的接口,如圖5所示。AT89C52本身不含控制器,所以采用了CAN控制器SJA1000和CAN驅(qū)動(dòng)器PCA82C250。


圖5 RS232/CAN轉(zhuǎn)換器功能框圖

CAN總線通信波特率
計(jì)算出小區(qū)控制室上位機(jī)與電量采集器中單片機(jī)通信的波特率為40.5Kbit/s,取50Kbit/s,此時(shí)CAN總線的通信距離達(dá)1.5km,如果控制室建于負(fù)荷中心,此通信距離可以滿足要求。此時(shí)總線定時(shí)寄存器BTR0與BTR1分別為BTR0=47H=01000111B,BTR1=2FH=0011111B.此外,為使系統(tǒng)內(nèi)各站點(diǎn)工作時(shí)同步,上位機(jī)必須在整點(diǎn)時(shí)刻向各站點(diǎn)發(fā)布校時(shí)命令。

軟件設(shè)計(jì)

主要對(duì)采集器主程序的設(shè)計(jì)作簡(jiǎn)要說(shuō)明。它包括初始化與數(shù)據(jù)采集處理兩部分。初始化程序包括對(duì)8259A初始化。在數(shù)據(jù)采集部分,采集器主程序采取循環(huán)采集數(shù)據(jù)的方式,并對(duì)接受到的命令進(jìn)行分類(lèi),然后轉(zhuǎn)相應(yīng)的命令處理子程序。主程序流程圖如圖6所示。

系統(tǒng)抗干擾措施

(1)在中,選用了X5045芯片,該芯片中設(shè)有看門(mén)狗電路??撮T(mén)狗電路對(duì)CPU進(jìn)行實(shí)時(shí)監(jiān)測(cè),如果CPU落入死循環(huán)中,看門(mén)狗電路能及時(shí)發(fā)現(xiàn)并使整個(gè)系統(tǒng)復(fù)位。在軟件編程上,設(shè)置每隔1s訪問(wèn)1次看門(mén)狗電路。若程序跑飛或超過(guò)了設(shè)置時(shí)間(本系統(tǒng)設(shè)為1.4s)沒(méi)有訪問(wèn)看門(mén)狗芯片,X5045芯片將自動(dòng)輸出復(fù)位脈沖,直到程序運(yùn)行正常。

(2)數(shù)據(jù)采集器中設(shè)有濾波電路,對(duì)各種表產(chǎn)生的電脈沖信號(hào)進(jìn)行濾波,防止信號(hào)在傳輸過(guò)程中可能受到的干擾。

(3)利用X5045芯片的電源監(jiān)控功能設(shè)置電源監(jiān)測(cè)電路及掉電保護(hù)電路,以防止掉電后數(shù)據(jù)丟失。

結(jié)束語(yǔ)

基于CAN總線的電力抄表系統(tǒng)采用了智能數(shù)據(jù)采集,通過(guò)CAN總線進(jìn)行數(shù)據(jù)通信交換,系統(tǒng)響應(yīng)速度快,抗干擾能力強(qiáng);網(wǎng)絡(luò)的可靠性高,通信波特率高,數(shù)據(jù)傳輸量大;結(jié)構(gòu)簡(jiǎn)單,安裝、維護(hù)方便。系統(tǒng)可以方便地實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)、高速數(shù)據(jù)采集、查表打印、系統(tǒng)監(jiān)控等功能,具有較好的應(yīng)用前景。

電度表相關(guān)文章:電度表原理




評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉