新聞中心

EEPW首頁 > 消費電子 > 設計應用 > MAXQ3120多功能電表參考設計

MAXQ3120多功能電表參考設計

——
作者: 時間:2007-01-26 來源:《Maxim》 收藏
本文介紹了一款基于maxq3120的電表參考設計,可滿足國際電表市場的性能要求。

為何要使用另一種電表

目前常用的機械結構的電表已經存在了約一個世紀。在此期間,它如實可靠地記錄著電能,因此電力公司能夠準確地向客戶收取費用。這種基于旋轉金屬圓盤的機械式千瓦-時電表不考慮輸入電壓或功率因數,只跟蹤記錄實際的用電量(圖1)。

本文引用地址:http://butianyuan.cn/article/21285.htm
圖1. 美國得克薩斯州某住宅使用的一款機械式電表。機械式電表通過旋轉的圓盤測量有功功率。機械式顯示器指示出電表出廠后的累計用電量。 而能源工業(yè)正在發(fā)生著變革,使得傳統(tǒng)的機械式電表不得不淡出市場。首先,用電量在不同的時段極不均衡,而目前客戶在用電高峰時沒有節(jié)能的動機。因此,電力公司現(xiàn)在認識到必須對其發(fā)電設備和配電網絡進行工程改進以應對用電高峰,哪怕一天中的大部分時間內都未充分使用其裝備容量。其次,當電壓和電流同相傳送時配電效率是最高的。傳輸給負載的有功功率為:

preal = v x i x cos
式中 為電壓和電流波形之間的相位差。遺憾的是,許多連接到電力線路的設備都表現(xiàn)為較大的感性負載,如感應電動機和熒光燈,這使得電流相位滯后于電壓相位。直到現(xiàn)在,電力公司對大多數住宅用戶的這種低效情況仍然束手無策。這是因為監(jiān)測時段、峰值用電量和功率因數并據此進行收費的成本太高了。

多功能、多費率電表改變了這種狀況,從而對電能的利用更為有利。利用由微控制器控制的千瓦-時電表,電力公司可以跟蹤用戶在用電高峰時段的用電量或者超過合同規(guī)定的用電量,并據此收取更高的費用。如果用戶使用了大的感性負載,電力公司也可以收取更多費用,同時使用該數據有助于修正這些低效情況。 maxq3120微控制器基于maxim/dallas semiconductor的maxq? risc架構,不但可勝任這些任務,還可提供更多功能。本文提出一種基于maxq3120的電表參考設計,并能滿足國際電表市場的要求。


maxq3120電表參考設計

maxq3120電表參考設計為全功能、具有用戶定制功能的標準電表(圖2)。定制范圍由設計者根據市場需求而定。


圖2. maxq3120電表參考設計可為滿足特定需要進行定制。電表底部配有功率、負載、網絡和脈沖輸出連接點;光通信和可見的電表脈沖led位于lcd上方。 iec 61036是所有電表都必須遵循的主要國際標準。該標準對電氣、機械和環(huán)境要求做出了規(guī)定,并提出兩個精度等級:1級精度在幾乎整個可用電流范圍的標稱精度為1%,2級精度的標稱精度為2%。表1總結了符合標準的電表的其他關鍵要求。

iec 61036 (或縮略版本)是公認的電表標準,但多功能電表的要求遠沒這樣普遍。本電表參考設計為1級電表,定制為符合中國多功能電表通信標準(dl/t 645),但可進行調整以適應任何國家或工業(yè)標準。


maxq3120外設

maxq3120的核心是maxq20內核,其工作頻率為8mhz,含有32k字節(jié)閃存和512字節(jié)ram-完成多功能電表的任務綽綽有余。因maxq3120內含兩個16位、-模數轉換器(adc),可以精確測量瞬時電壓和電流。這兩個adc通道每48μs完成1次新的轉換,即轉換速率為20667采樣/秒。這些數據轉換器的前端帶可編程增益放大器(增益可達16倍),非常適合監(jiān)測電壓和電流波形。要將原始電壓和電流采樣值轉換成可用的用電量信息,需要強大的數學運算能力。為此,maxq3120集成了1個帶40位累加器的16 x 16位乘法器。該乘法器在單個時鐘周期內即可完成一次運算,因與cpu內核緊密地集成在一起,所以效率極高。

maxq3120還提供一個堅固的通信模塊。包括兩路uart,其中一路具有特殊邏輯電路,可輕松實現(xiàn)紅外數據傳輸。另外,maxq3120集成了一個lcd控制器,可驅動的段數高達112段 - 與傳統(tǒng)的、常采用機電式計數器的電表相比,性能更好,更經濟。如果你需要根據每天的不同時段差異計費,則需要一個精確時鐘。maxq3120包含一個電池備份的時鐘模塊,具有亞秒計數器和報警功能。該時鐘具有數字微調功能,時鐘精度優(yōu)于4ppm (每月約10秒)。


通信 - 物理層

中國多功能電表標準規(guī)定兩種通信類型:一類是住宅樓內或小型街道的多個電表通過有線網絡連接,通過該網絡向主計算機(一般為pc)發(fā)送用戶數據;另一類是用于手持、非接觸抄表器的紅外連接。

有線網絡基于多點rs-485標準,工作速率為1200位/秒。rs-485標準將網絡規(guī)模限制為32個站點;然而,現(xiàn)在的rs-485收發(fā)器能夠支持更多的站點,遠遠超出了eia網絡規(guī)范給出的最多32個站點。例如,本參考設計使用的max3072 rs-485收發(fā)器為1/8單位負載器件,允許總線上最多掛接256個收發(fā)器。

與rs-485通道不同,紅外(ir)通道不是基于眾所周知的物理層標準。dl/t 645沒有使用標準紅外鏈路(如irda)來傳輸數據,而是規(guī)定了一種開/關調制技術,即有調制ir光束時表示0,無ir光束表示1。在這種方式下,通道空閑時為狀態(tài)1。字符信元的第一個1-0跳變表示起始位,與第一次探測到載波光束相對應。這一技術的細節(jié)信息如圖3所示。


圖3. dl/t 645多功能電表標準規(guī)定的ir通信示意圖。通過調制ir光束發(fā)送數據,有信號表示0,無信號則表示1。 通信 - 數據包格式

物理層一旦確定,則必須定義數據包格式。由于電表環(huán)境要求不同于通用數據網絡要求,通信規(guī)范給出了不同于其他網絡環(huán)境下的數據包格式(見圖4)。


圖4. dl/t 645規(guī)定的幀格式包括一系列固定域和可變域。該幀格式在ir和rs-485通信模式下是相同的。

該數據包格式有以下幾點非常獨特,包括:

沒有源地址。總是由主機啟動通信過程,而且每個網絡上只有一個主機。主機沒有地址。

網絡上的電表不能啟動通信過程。只有主機才能要求電表發(fā)送數據。主機不能協(xié)助解決任何意外情況,這是因為在許多情況下實際上沒有網絡。主機為手持終端,電力公司員工每個月會攜帶該終端到現(xiàn)場抄表。所有意外情況都必須由電表本身來處理。

主機到電表的數據包總長度規(guī)定不允許超過50個字符,從電表到主機的總長度不超過200個字符。在參考設計中,雙向包長度都保持為50個字符。
cmd域表示主機告訴電表如何操作。多數情況下,命令為讀或寫寄存器。但cmd域也可以命令電表清除其最大需量寄存器,接收通信口令,或者設置時間或日期。

欲了解dl/t 645協(xié)議的完整說明,請參考電表參考設計規(guī)范。圖5所示為參考設計的軟件架構。


圖5. 參考設計軟件包括多項任務,并通過任務輪被依次調用。任務通過一系列全局變量來通信,其中最重要的部分是消息板。消息板是一組標志,各任務通過設置標志來將關鍵事件通知給其他任務。 參考設計中的寄存器

dl/t 645定義了大量的寄存器,來設置工作參數、讀取用電量或其他測量值。一個寄存器包含一個信息項,并具有一個16位地址。例如,地址為0xc030的寄存器指定了有功電表常數(每千瓦-時脈沖數)。在registermanager.c的源代碼注釋里有完整的寄存器列表及其功能說明,參考設計中包含該程序。

寄存器管理程序(registermanager.c)對所有寄存器進行分類并管理其任務,從許多方面來說都是電表軟件系統(tǒng)的核心。重要的是,要認識到電表里的許多任務都需要訪問寄存器數據,而不只是來自通信子系統(tǒng)的簡單請求需要訪問寄存器數據。寄存器管理程序根據系統(tǒng)其他任務發(fā)出的讀取和寫入寄存器請求,完成相應操作。例如,如果顯示管理程序需要知道一個特定值要在lcd上顯示多長時間,它必須從寄存器管理程序獲取該值,隨后寄存器管理程序再從外部eeprom獲取該值。

對于大多數寄存器讀操作,寄存器管理程序只需簡單地向readeeprom子程序發(fā)送請求。這一過程比表面上看起來的情況更復雜。如果eeprom仍忙于前一個寫周期操作,可能需要幾毫秒時間才能完成讀周期,cpu絕不能被任一個任務占用如此長的時間。在這些情況下,將掛起寄存器管理程序,所有其他任務繼續(xù)運行。隨后,一旦eeprom重新準備就緒,寄存器管理程序將恢復運行,并且一般會持續(xù)運行到任務完成。對eeprom的寫請求也如此處理。


非eeprom寄存器

一些寄存器讀操作所要讀取的數據并未存儲在eeprom中。對這些讀操作,寄存器管理程序必須調用一些其他資源,大多數情況下會是一些數字信號處理(dsp)程序。

例如,如果請求讀取寄存器0xb611(rms電壓,a相),寄存器管理程序請求dsp函數來計算下一電源周期的rms電壓值。注意,在50hz電源頻率下,這可能需要長達40ms時間,因為dsp程序必須等待,直到電源電壓發(fā)生下一次正轉換,然后累計下一個周期的數據。同樣,寄存器管理程序必須發(fā)出dsp任務請求,并在dsp任務數據就緒之前處于掛起狀態(tài)。

另外,寫某些eeprom寄存器會使dsp的參數發(fā)生改變。例如,寫寄存器0xc030 (有功電表常數)必須更新eeprom來反應新數值,同時需要設置dsp程序的常數,這樣才能精確產生電表脈沖。在這些情況下,寄存器管理程序首先更新eeprom,然后執(zhí)行必要的計算,更新受寄存器寫操作影響的ram變量。


dsp子系統(tǒng)的功能
如果稱寄存器管理程序為電表的心臟,那么dsp子系統(tǒng)就是電表的大腦。dsp子系統(tǒng)處理絕大多數電表實際測量功能,包括:
電流和電壓的實時測量
有功功率和無功功率計算
功率因數計算
供電頻率估算
按需計算rms電壓和電流
產生電表脈沖
dsp函數是電表參考設計中惟一以中斷方式運行的代碼段。原因很清楚:要進行太多其他操作,以至軟件無法及時輪詢dsp子系統(tǒng)。該中斷每48μs產生一次,或者說8mhz時鐘頻率下每384個指令周期發(fā)生一次。中斷程序占到cpu處理能力的25%到30%。中斷程序提供多組數據輸出。

需要用到前四個累加和來計算有功功率。需要用到第五個累加和計算無功功率,只有在需要rms電壓和電流時才計算最后兩個累加和。

中斷程序還檢測電壓通道的過零點。為避免過零檢測發(fā)生錯誤,將采樣值送給由軟件實現(xiàn)的單極點低通濾波器處理。注意,該濾波器只用于過零檢測;用于電能計算的采樣值不進行任何濾波。


產生電表脈沖

許多電表都在每使用一定量電能時產生一個脈沖。電表脈沖可以采用led閃爍的方式提供可見的用電指示信號,或采用觸點閉合方式驅動機械式計數器來指示千瓦-時用電量。參考設計中既提供了可見的脈沖led,又備有一個光耦實現(xiàn)觸點閉合功能。在給定負載下產生脈沖的速率稱為電表常數,常以每千瓦-時的脈沖數給出。因此,脈沖之間的間隔與負載的凈有功功率成反比。一般來說,產生的脈沖速率與負載功率之間的關系可由以下公式表示:
脈沖周期(秒) = 3600 / 電表常數(每kwh的脈沖數) x 負載(kw)

根據該式,對于1kw有功負載,電表常數為1600脈沖/千瓦-時的電表每2.25秒將產生一個脈沖。

本參考設計的標稱工作電壓為220v,支持的最大電流為40a。這就是說,在8.8kw的最大負載功率下,如果電表常數為1600脈沖/千瓦-時,則每256ms產生一個脈沖。所以,要在所有負載情況下保持1%的精度,電表脈沖必須精確到約2.5ms。


其它所有模塊

盡管寄存器管理程序是系統(tǒng)中的最大功能模塊,dsp花費的處理能力最大,仍然需要關注其他軟件模塊。這些模塊為用戶提供需要的大多數元素,并在電表環(huán)境中執(zhí)行重要的任務。

通信子系統(tǒng)

如上所述,通信在多功能電表中至關重要。在軟件系統(tǒng)中,這一重要工作由5個任務完成,這5個任務是:串口驅動器、消息檢查器、消息譯碼器、消息格式器和消息構建器。


圖6. 總是由主機發(fā)起與電表參考設計的通信。然后,消息從消息檢查器流向消息譯碼器、寄存器管理程序、消息格式器和消息構建器,最后回到主機。 最好將這些系統(tǒng)當作兩個對稱路徑看待:包括消息檢查器和消息譯碼器的入站路徑,以及由消息格式器和消息構建器組成的出站路徑。串口驅動器位于鏈路的頂端,寄存器管理程序則位于底部(圖6)。

串口驅動器

乍一看,串口驅動器好像沒有什么作用。畢竟,maxq外設中的uart系統(tǒng)基本上是自動工作的。如果要發(fā)送一個字符,你只需將其置于輸出緩沖器中;要接收一個字符,你只需讀輸入緩沖器即可。

但要記住:有兩個uart通道,而ram中只有一個通信緩沖器。我們必須提供一套機制來激活某一通道,并確保另一非活動通道不會對信息產生干擾。一般來說,當一個字符到達某一端口時,如果另一端口還沒有激活,則到達字符將激活該端口。

消息檢查器

消息檢查器就像哨兵一樣檢查輸入數據流,確保嚴格滿足條件的數據才能送達系統(tǒng)其他部分。特別是消息格式必須正確,必須尋址該電表或者具有廣播地址,校驗和必須正確,并且必須具有合理的命令域。

消息譯碼器

消息譯碼器實際完成主機要求的操作。通常,要求的操作是讀寫寄存器,但消息譯碼器還在完成主機要求的其他任務中起到重要作用。

例如,一個特定命令用于設置電表地址。另一特定命令用于清除電表的最大需量寄存器。有一個命令對時間和日期進行同步,還有一個獨立命令進行口令保存。其中一些操作會改變寄存器的內容,但并不是嚴格的寄存器寫操作。

消息譯碼器還必須處理多段響應數據包。因為主機可以采用單個命令以“通配符”方式讀多個相關寄存器,響應數據常常會超出通信緩沖器的容量。如果確實超出容量,電表必須發(fā)送一個標志,指示響應數據只是一部分,后續(xù)還有更多數據到達。消息譯碼器和消息格式器協(xié)同工作,使多消息響應機制平穩(wěn)運行。

消息格式器

發(fā)送寄存器數據時,消息格式器處理所有要求的格式轉換和分節(jié)。消息格式器也在寫請求之后發(fā)出應答消息。

消息構建器

作為響應信息發(fā)送前的最后一步,消息構建器對包進行格式化,并每次一個字節(jié)發(fā)送結果到串口驅動器。消息構建器是系統(tǒng)中較簡單的任務之一。它首先發(fā)送包頭字段,然后是數據,最后計算校驗和。


處理異步事件

這時,你也許會認為所有事件都是基于同一時鐘發(fā)生的,要么是驅動adc通道的采樣時鐘,要么是cpu時鐘。實際上,有許多事件無法和任何時鐘同步。這些事件由異步事件管理器處理。

例如,異步事件管理器監(jiān)測dsp子系統(tǒng),確定何時更新eeprom。當dsp子系統(tǒng)累計到足夠的電能時,就向異步事件管理器告警,接下來異步事件管理器開始更新eeprom寄存器。異步事件管理器同時還履行停電統(tǒng)計功能。根據dl/t 645電表標準,必須記錄每次停電情況。異步事件管理器剛好在斷電前,將時間保存到電池備份的cpu寄存器內,供電恢復后將信息恢復并存儲到eeprom中。通過這種方法,每次停電的時刻和持續(xù)時間都可以記錄下來。


時段表管理器

時段表管理器根據鐘點、日期或其他基于時鐘或日歷的標準改變計費率。


圖7. 時段表管理器指示系統(tǒng)累計用電量使用情況,并存于多個資費寄存器之一中。它將當前時間和日期與時鐘、日歷設置進行比較,主機可以通過軟件調整該設置。
雖然時段表管理器結構相當簡單,但乍一看可能很難理解。如圖7最右邊的結構所示,將每天24小時劃分為不同的收費時段。在該圖解中,一天的時段表有3個條目:資費2從0530時開始,資費3從1800時開始,資費1從2200時開始。最多可以提供14種日時段表,而每天又可以最多提供10個資費時段。

內部日歷選擇有效的日時段表。每天午夜,電表都檢查是否有新的日時段表生效。在以上圖表中,日時段表5從4月后期生效,一直持續(xù)到6月初,然后日時段表3生效。

你也可以設置一周中的某些天為"周末"日期(這樣全年都遵循某一特定日時段表),而全年中的某些天為“假日” (這樣每個假日都遵循特定的日時段表)。


結語

maxq3120電表參考設計構成了多功能、多費率電表的基礎??梢詮谋驹O計出發(fā),構建適合自己特定需求的電表。為進一步給用戶提供幫助,dallas semiconductor/maxim提供硬件和軟件調試器以及開發(fā)工具。有許多供應商提供第三方開發(fā)工具??梢詮奈覀兙W站的maxq?開發(fā)工具找到所有這些信息。




關鍵詞:

評論


相關推薦

技術專區(qū)

關閉