基于新型多MCU系統(tǒng)的多功能電能表的設(shè)計
0. 引言
隨著電力電子技術(shù)的快速發(fā)展,越來越多具有諧波源作用的非線性設(shè)備投入使用,電網(wǎng)電能質(zhì)量日益惡化,現(xiàn)行的電能計量和考核方式不利于對諧波污染源的考核和治理。合理的解決辦法是分別計量基波電能和各次諧波電能,并分諧波電能的傳遞方向分別執(zhí)行懲罰性和補償性計費制度以提高電網(wǎng)的電能質(zhì)量。實現(xiàn)這個準確、合理的電能計量和質(zhì)量評估方案的關(guān)鍵,是研制能夠進行諧波分析的多功能電能計量監(jiān)測裝置,這樣的裝置必須能夠在高速、實時采集數(shù)據(jù)的同時對數(shù)據(jù)進行快速傅立葉變換分析和對各項電能指標進行計算、顯示,這要求用多MCU系統(tǒng)設(shè)計多功能電能表。
應(yīng)用多MCU系統(tǒng)的電能計量、質(zhì)量監(jiān)測裝置總體框圖如圖1所示。多MCU系統(tǒng)由兩個微處理器MCU1、MCU2及數(shù)據(jù)共享接口構(gòu)成,微處理器MCU1負責(zé)外圍數(shù)據(jù)采集、濾波、A/D轉(zhuǎn)換單元模塊的控制、電能指標顯示和遠程抄表數(shù)據(jù)通信等功能,MCU2負責(zé)對采集到的數(shù)據(jù)進行FFT運算和對基波及各次諧波電能數(shù)據(jù)的分時計費計算,數(shù)據(jù)共享接口則承擔(dān)著微處理器MCU1和MCU2之間數(shù)據(jù)交換共享的作用,相當于多MCU系統(tǒng)數(shù)據(jù)中心。因此,數(shù)據(jù)共享接口性能的優(yōu)劣,將直接決定著多MCU系統(tǒng)工作效率的高低和和系統(tǒng)數(shù)據(jù)保護的可靠程度。
目前,多MCU系統(tǒng)多采用雙口RAM(如IDT7134芯片)或微控制器的串行接口作為多個微處理器MCU之間數(shù)據(jù)共享接口,如圖2a、b所示。雙口RAM是一個配備兩套獨立的地址、數(shù)據(jù)、控制線的存儲器,允許兩個獨立的MCU對數(shù)據(jù)進行存取共享。當發(fā)生兩個MCU同時訪問同一地址的存儲單元時,通過內(nèi)部仲裁邏輯控制電路提供訪問允許和延緩保持的訪問控制機制。以速度等級是55ns級的雙口RAM為例,由于雙MCU之間的數(shù)據(jù)共享讀寫控制突,這樣的多MCU系統(tǒng)必定存在110ns的數(shù)據(jù)交換延時周期,而且數(shù)據(jù)存儲具有易失性,系統(tǒng)一旦掉電重要數(shù)據(jù)就會丟失。另外,每個MCU需要至少16條I/O口線作為地址、數(shù)據(jù)、控制線,MCU之間的接線比較復(fù)雜。這對于運算速度高、數(shù)據(jù)量大、MCU外圍模塊多的多功能電能表來講效果并不理想。與之相比,串行通信數(shù)據(jù)共享方案效率更低,難以滿足系統(tǒng)對實時性的要求。隨著符合I2C總線標準的鐵電存儲器(FRAM)的出現(xiàn),為用戶所熟悉的I2C總線技術(shù)將為我們解決多MCU系統(tǒng)數(shù)據(jù)共享的問題,提供了一種接線簡單、數(shù)據(jù)訪問高速、無讀寫時延和數(shù)據(jù)保護可靠性高的解決方案。本文采用Ramtron公司的FM31256芯片設(shè)計了一種應(yīng)用于多功能電能表的基于I2C總線的新型多MCU系統(tǒng),該系統(tǒng)實時性高,數(shù)據(jù)保護可靠,接線簡單器件集成度高,裝置體積小。
1. 符合I2C總線標準的鐵電存儲器(FRAM)工作原理和特性
1.1、 I2C總線標準
I2C 總線是PHILIPS公司開發(fā)的一種簡單、雙向、二線制、同步串行總線,只需要兩條信號線即可在連接于總線上的器件之間傳送信息,具備多MCU系統(tǒng)所需要的裁決和高低速設(shè)備同步等功能,應(yīng)用極為廣泛。
I2C 總線的信號線為數(shù)據(jù)線SDA ( Serial Data) 和時鐘線SCL (Serial Clock) ,都是雙向傳輸?shù)摹?shù)據(jù)線SDA用于在器件之間串行的傳輸數(shù)據(jù)位、地址碼、應(yīng)答、非應(yīng)答信號,時鐘線SCL上傳輸由主控器件發(fā)出時鐘同步信號。根據(jù)向總線發(fā)送數(shù)據(jù)還是從總線接收數(shù)據(jù)將總線上器件的工作模式分為發(fā)送和接收。通常,在I2C總線上有一個控制總線的器件,稱為主器件(Master),負責(zé)為所有的通信操作產(chǎn)生時鐘信號,而受控制的器件稱為從器件( Slave),可以是任何符合I2C總線標準的器件,但是主器件只能由帶CPU的器件擔(dān)任。每一個主器件都可以工作于主發(fā)送模式或者主接收模式,每一個從器件都可以工作于從接收模式或者從發(fā)送模式,并且可以有多個主器件共存于一條I2C總線上,比如本文所設(shè)計的多MCU系統(tǒng)中MCU1和MCU2在I2C 總線上都作為主器件。
通常,掛在總線上的從器件都有唯一的地址標號,稱為從地址(Slave ID),主器件通過向總線發(fā)送從地址來呼叫某個要與之交換數(shù)據(jù)的器件,這種呼叫和數(shù)據(jù)交換以I2C 總線通信協(xié)議為規(guī)范進行,這種協(xié)議由SDA、SCL信號線上的啟動(Start)、數(shù)據(jù)位傳輸(Data Bit)、應(yīng)答(Acknowledge)和停止(Stop)四種狀態(tài)的變換控制,圖3a說明了這四種狀態(tài)的信號組成。其中啟動和停止由主器件發(fā)送,數(shù)據(jù)位和應(yīng)答位可以由主器件發(fā)送,也可以由從器件發(fā)送。當主器件發(fā)送數(shù)據(jù)位時,它工作于主發(fā)送模式,此時從器件工作于從接收模式并對每個收到的字節(jié)數(shù)據(jù)以一個應(yīng)答位作為收到確認信號。與此相反,從器件向總線發(fā)送數(shù)據(jù)位,主器件負責(zé)對每一個收到的字節(jié)數(shù)據(jù)進行應(yīng)答或者非應(yīng)答(根據(jù)需要用于結(jié)束通信)。通常,通信由主器件發(fā)送一個啟動狀態(tài)開始,然后發(fā)送一個帶有讀、寫識別的從地址,這個從地址的高7位標識器件的ID號,最低位標識讀寫或數(shù)據(jù)傳輸方向,0為寫1為讀。寫數(shù)據(jù)時由主器件向從器件傳送數(shù)據(jù),讀數(shù)時由從器件向主器件傳送數(shù)據(jù)。總線上所有器件都有內(nèi)部邏輯,當檢測到啟動狀態(tài)后則進入電平比較狀態(tài),如果從地址與其ID標號相符則被選中并自動產(chǎn)生一個應(yīng)答位,從而建立通信連接,否則不予應(yīng)答。一旦建立通信連接,可根據(jù)需要由通信軟件控制主、從器件之間傳輸數(shù)據(jù)字節(jié)的長短。最后,通信結(jié)束時由主器件產(chǎn)生一個停止狀態(tài)(Stop)以結(jié)束這次通信。圖3b說明了I2C 總線的通信時序。
評論