一種基于ARM的遠(yuǎn)程電表抄表系統(tǒng)集中器的設(shè)計(jì)方案
目前,我國(guó)城市居民用戶的電表、水表、天然氣表很多是人工抄表,由抄表工作人員每月逐個(gè)查抄各種儀表,也有很多地區(qū)已經(jīng)通過(guò)抄表改造工程實(shí)現(xiàn)了集中抄表。
本文引用地址:http://m.butianyuan.cn/article/201610/311526.htm由于目前已經(jīng)使用的遠(yuǎn)程抄表還面臨一些挑戰(zhàn):比如初期成本較高,同時(shí)總線上傳輸?shù)臄?shù)據(jù)是終端用戶所消費(fèi)的水、電、氣等重要數(shù)據(jù),對(duì)總線的抗干擾性要求非常高,要具有抵抗容性、感性的偶合干擾的能力,為節(jié)約成本,要采用遠(yuǎn)程供電的方式給從設(shè)備提供電源,以盡可能減少元器件的使用。
為了解決以上問(wèn)題,本文設(shè)計(jì)了一種基于CAN總線的遠(yuǎn)程電表抄表系統(tǒng)集中器?;?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/CAN">CAN總線的智能電表系統(tǒng)具有造價(jià)較低,可靠性高,組網(wǎng)簡(jiǎn)單,管理方便,操作簡(jiǎn)捷等優(yōu)點(diǎn),并且可以通過(guò)擴(kuò)展和升級(jí)硬件,利用有線網(wǎng)絡(luò)或無(wú)線網(wǎng)絡(luò)通信,把集中器采集到的實(shí)時(shí)數(shù)據(jù)發(fā)送到售電公司的管理系統(tǒng)中統(tǒng)一管理,通過(guò)應(yīng)用線損分析、遠(yuǎn)程通斷電、防竊電分析等功能達(dá)到更高的智能化。
1 集中器的功能及原理分析
一般的智能電表系統(tǒng)由四部分組成:表頭,集中器,通訊器,上位機(jī)系統(tǒng)。具體如圖1所示,其工作原理是通過(guò)一體化載波表或安裝在電表表尾的電力計(jì)量傳感系統(tǒng)模塊經(jīng)CAN總線組網(wǎng),集中器按設(shè)定好的時(shí)間段接收數(shù)據(jù)并保存到內(nèi)部flash中,當(dāng)上位機(jī)發(fā)來(lái)讀數(shù)據(jù)的信號(hào)后上位機(jī)通過(guò)RS232或RS485讀數(shù),讀到的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳送到用電管理中心。
在遠(yuǎn)程抄表表系統(tǒng)中,集中器是一個(gè)重要組成部分。
集中器通過(guò)CAN總線控制并讀取表頭的數(shù)據(jù),數(shù)據(jù)存儲(chǔ)在集中器的flash中。集中器執(zhí)行從上位機(jī)發(fā)送的控制命令:
對(duì)時(shí)、讀flash、讀表數(shù)、限電、增加表頭地址等。
集中器通過(guò)CAN控制器發(fā)送讀表命令信號(hào)到總線上,每個(gè)表頭根據(jù)讀表命令將采集的信號(hào)通過(guò)CAN總線發(fā)送到集中器。集中器將采集的信號(hào)存儲(chǔ)在flash芯片中。上位機(jī)通過(guò)串口發(fā)送讀數(shù)據(jù)信號(hào)到集中器,集中器就把存儲(chǔ)在flash中的數(shù)據(jù)傳送給上位機(jī)。
2 集中器硬件設(shè)計(jì)
主控芯片采用的是ST公司的STM32系列的STM32F103Tx,該系列單片機(jī)是ARM的CortexTM-M3處理器是最新一代的嵌入式ARM處理器,它為實(shí)現(xiàn)MCU的需要提供了低成本的平臺(tái)、縮減的引腳數(shù)目、降低的系統(tǒng)功耗,同時(shí)提供卓越的計(jì)算性能和先進(jìn)的中斷系統(tǒng)響應(yīng)。具有運(yùn)行速度快(系統(tǒng)時(shí)鐘頻率最高可達(dá)72MHz)26個(gè)復(fù)用GPIO;64KB片上RAM;2個(gè)12位模數(shù)轉(zhuǎn)換器,1μs轉(zhuǎn)換時(shí)間(多達(dá)16個(gè)輸入通道);3個(gè)SPI,5個(gè)USARTs,2個(gè)IIC接口;片上256KBFLASH;2個(gè)看門狗,11個(gè)定時(shí)器;芯片具有獨(dú)立的實(shí)時(shí)時(shí)鐘,能夠相關(guān)資料豐富,提供單片機(jī)使用庫(kù)函數(shù),用C語(yǔ)言編程十分方便,易于開發(fā)。
由于智能電表控制器需要很準(zhǔn)確的實(shí)時(shí)性,以方便售電公司收取用電費(fèi)用。因?yàn)橹骺匦酒詭?shí)時(shí)時(shí)鐘,所以只需要外接獨(dú)立的32.768kHz的晶體。實(shí)時(shí)時(shí)鐘既可以通過(guò)寄存器設(shè)置年月日及具體時(shí)間,同時(shí)還有鬧鐘功能,定時(shí)中斷進(jìn)行指定操作。
智能電表集中器的硬件部分結(jié)構(gòu)如圖1所示,主要有ARM,F(xiàn)lash,時(shí)鐘芯片,接口電路,RS232,RS485,電源等組成。ARM作為控制芯片,有標(biāo)準(zhǔn)設(shè)計(jì);ARM接口電路比較簡(jiǎn)單,以下重點(diǎn)討論CAN總線接口和Flash接口設(shè)計(jì)。
圖1智能電表抄表系統(tǒng)結(jié)構(gòu)框圖
2.1 CAN總線接口電路設(shè)計(jì)
因?yàn)橄到y(tǒng)對(duì)信號(hào)傳輸過(guò)程中的穩(wěn)定性和抗干擾能力要求很高,所以CAN接口采用高標(biāo)準(zhǔn)接口電路。電路圖如圖2所示。
圖2CAN接口硬件電路圖
CAN-bus接口電路采用+3.3V供電,選擇CTM8251A隔離CAN收發(fā)器。該芯片是3.3V工業(yè)級(jí)的隔離CAN收發(fā)器。CTD0信號(hào)連接主控芯片的CAN控制器的發(fā)送腳,CRD0信號(hào)連接CAN控制器的接收腳。CTM隔離CAN收發(fā)器內(nèi)有一完整的CAN-bus隔離收發(fā)器電路,可以將來(lái)自CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線信號(hào),并具有DC2500V隔離功能。另外,CTM收發(fā)器可以選擇集成ESD保護(hù)功能的“T”系列,從而省略外擴(kuò)的ESD保護(hù)器件。共模扼流圈T1起著EMI增強(qiáng)的功能,用于提高設(shè)備的EMI能力;共模扼流圈T1的電感參數(shù)很重要,選擇CAN-bus專用器件,比如EPCOS的B82793扼流圈。
2.2 Flash接口電路設(shè)計(jì)
集中器需要對(duì)與之相連的每個(gè)電表表頭采集數(shù)據(jù),所以數(shù)據(jù)量較大,從而對(duì)存儲(chǔ)有著較高的要求,故選用ST的M25P64-VMF6TP。該芯片為64M串行接口閃存,增強(qiáng)數(shù)據(jù)傳輸時(shí)鐘速率為50MHz;讀的吞吐量為50Mbps;接口為簡(jiǎn)單的4線SPI(串行外圍設(shè)備接口)接口;深度降功耗模式間斷功耗,電流消耗僅為1uA。
M25P64Flash芯片,通過(guò)SPI總線與ARM相連。SPI總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息,一般使用4條線:串行時(shí)鐘線(SCL)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO(SDO)、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI(SDI)和低電平有效的從機(jī)選擇線CS。SPI以主從方式工作,通常有一個(gè)主設(shè)備和一個(gè)或多個(gè)從設(shè)備。
圖3為ARM與Flash的連接電路圖。以下幾點(diǎn)說(shuō)明:(1)SCL串行時(shí)鐘信號(hào),由主設(shè)備產(chǎn)生;(2)SDO主設(shè)備數(shù)據(jù)輸出,從設(shè)備數(shù)據(jù)輸入;(3)SDI主設(shè)備數(shù)據(jù)輸入,從設(shè)備數(shù)據(jù)輸出;(4)CS為片選,從設(shè)備使能信號(hào),由主設(shè)備控制。(5)對(duì)7、15、16角外接上拉電阻,提高芯片輸入信號(hào)的噪聲容限增強(qiáng)抗干擾能力。
圖3Flash接口硬件電路圖
3 集中器軟件設(shè)計(jì)
集中器系統(tǒng)采用數(shù)序程序設(shè)計(jì),按功能模塊設(shè)計(jì)程序,由主程序調(diào)用各個(gè)功能模塊程序?qū)崿F(xiàn)各個(gè)相應(yīng)功能,各個(gè)功能模塊通過(guò)調(diào)用底層函數(shù)完成相應(yīng)的操作。具體流程見(jiàn)圖4,啟動(dòng)后,開始初始化系統(tǒng)。系統(tǒng)進(jìn)入等待命令模式,如果有上位機(jī)操作命令或有定時(shí)中斷發(fā)生則進(jìn)入對(duì)時(shí)程序,對(duì)時(shí)如果超出一定時(shí)間還未成功則向上位機(jī)報(bào)警。
對(duì)時(shí)成功后,集中器繼續(xù)等待上位機(jī)的讀數(shù)命令或等待中斷讀數(shù)命令。當(dāng)收到讀數(shù)的命令后,定時(shí)讀數(shù)使集中器按設(shè)置的時(shí)間,自動(dòng)讀取表頭采集來(lái)的數(shù)據(jù);讀數(shù)使集中器讀取當(dāng)前表頭的數(shù)據(jù)。
圖4系統(tǒng)軟件流程圖
集中器通過(guò)CAN總線可以掛載最多100個(gè)表頭,集中器發(fā)出CAN總線設(shè)備的ID。每個(gè)分系統(tǒng)表接收到對(duì)應(yīng)的ID號(hào)后,根據(jù)系統(tǒng)發(fā)出的讀表頭命令來(lái)反饋數(shù)據(jù)。如果CAN通訊有故障,CAN控制器通訊將報(bào)故障。如系統(tǒng)回路正常,集中器的發(fā)送命令數(shù)據(jù)包。每幀CAN數(shù)據(jù)包含8字節(jié),因?yàn)槊看巫x數(shù)的數(shù)據(jù)流量不是很大,所以每次通訊只需要使用一幀CAN數(shù)據(jù)即可,表頭ID使用幀ID來(lái)識(shí)別,每個(gè)表頭對(duì)應(yīng)獨(dú)立的幀ID。
集中器發(fā)送CAN數(shù)據(jù)命令包到CAN總線,表頭根據(jù)各自的ID選擇接收讀表命令后發(fā)送應(yīng)答數(shù)據(jù)到CAN總線上。
集中器將接收到的應(yīng)答數(shù)據(jù)提取出電表讀數(shù)存儲(chǔ)在flash中。CAN數(shù)據(jù)收發(fā)工作流程如圖5所示。
圖5數(shù)據(jù)收發(fā)流程圖
4 結(jié)束語(yǔ)
本設(shè)計(jì)作為智能電表抄表系統(tǒng)的一部分,目前成功應(yīng)用于某些遠(yuǎn)程抄表系統(tǒng)中,由于成本適中、性能穩(wěn)定,取得了較好的經(jīng)濟(jì)效益,具有很好的推廣前景,同時(shí)經(jīng)過(guò)簡(jiǎn)單的修改就可以開發(fā)出其他的遠(yuǎn)程抄表系統(tǒng),如燃?xì)膺h(yuǎn)程抄表系統(tǒng)等。
評(píng)論