馬 銳
(國網銀川供電公司,寧夏 銀川 750001)
電能表更新換代速度越來越快,功能更全面也更加智能化,電能表的故障也越加多樣化。 產生故障的原因有很多,人為因素造成器件開裂、破損、錯件、漏件等;原材料本身不合格導致電能表故障;包裝、搬運、運輸等過程中導致的損壞;軟硬件不匹配造成的故障等多種因素。
目前, 電能表上用來存儲數據的存儲介質一般為EEPROM,EEPROM 外置于電能表主控芯片(CPU),電能表運行的所有參數均存儲在這顆外置的芯片內。 CPU 與EEPROM 之間通常通過I2C 總線進行數據傳輸,I2C 總線傳輸數據具有以下特點:
(1)數據的傳輸是以位(bit)為最小單位,字節高位(MSB)在前,低位(LSB)在后,無起始位,無奇偶校驗,無停止位。
(2)數據輸入輸出都是使用同一根數據線(SDA)。
(3)時鐘信號(SCL)由主控芯片提供。
(4)時鐘信號(SCL)的頻率為 200-400kHz(2.5V-5.5V),當工作電壓小于2.5V 時,最快時鐘信號頻率不大于l00kHz,即時鐘信號的最高頻率與EEPROM 的工作電壓有關。
(5)數據管腳SDA、時鐘管腳SCL 都是OC(集電極開路)輸出,兩個管腳均需加上拉電阻。
I2C 總線傳輸數據時,對時序波形是有相對嚴格的要求的,如果數據傳輸過程中,I2C 總線上的時序不符合要求,就會導致數據傳輸的錯誤。由于I2C 總線器件數據輸入輸出均是通過同一根數據線SDA 進行的,數據傳輸模式是通過控制命令字來實現的,如1010XXX1 表示讀取 EEPROM 數據,101OXXXO 表示向 EEPROM 寫入數據。 這兩個命令字之間只有最后一位數碼有差異,其余7 為數碼均是相同的。 所以當向EEPROM 寫入控制字時, 如果最后一位數碼受到外界干擾而發生變化,那么讀命令字就變成寫命令字,即原本想讀取EEPROM 數據的操作變成了寫EEPROM 的操作,數據就會發生錯誤。
由于數據管腳SDA、時鐘管腳SCL 都是0C(集電極幵路)輸出。 兩個管腳均需加上拉電阻,上拉電阻阻值的大小,會影響到SCL、SDA 腳上的信號波形。
因此可知SCL 信號線與SDA 信號線上的上拉電阻阻值的不同,會導致這兩個信號線上的波形發生變化。如果這兩個上拉電阻的阻值選擇的不是很合理的話, 會導致SCL 和SDA 管腳上信號波形嚴重失真,那么會嚴重影響數據傳輸的正確性。
通過對I2C 總線傳輸數據的特性分析,可以知道以下幾個方面可能會導致CPU 與EEPROM 進行數據傳輸出現錯誤:
(1)在CPU 與EEPORM 進行數據傳輸時,受到外界的干擾,導致控制命令字的最后一位傳輸出錯,讀命令變成寫命令,對需要讀取的數據進行寫操作,導致數據紊亂。
(2)SCL、SDA 這兩根信號線上的上拉電阻阻值配置不合理,導致數據傳輸的不穩定,在數據傳輸過程中,當受到強烈的外部信號干擾時,波形嚴重失真,導致數據傳輸紊亂。
(3)由于時鐘信號的最高頻率與EEPROM 的工作電壓有關,工作電壓高,頻率高,工作電壓低,頻率會降低。 所以如在程序設計中選擇時鐘頻率偏高,當EEPROM 電壓出現波動時,可能會導致工作電壓與頻率不匹配,從而導致數據傳輸出現紊亂;其次,如果在程序設計時,選擇的通訊頻率偏高,在電能表壽命的前期,由于電子元器件均處于生命的健壯期,芯片管腳的驅動能力較強,這時候使用較高的時鐘頻率是沒問題的,但是隨著時間的推移,芯片逐漸老化,驅動能力下降,無法再適應原來那么高的頻率,也會導致數據傳輸時出現問題,所以時鐘頻率的選擇也要考慮這個因素,以便留出足夠的冗余量。
(4)由于軟件設計缺陷,導致 CPU 的 RAM 溢出,RAM 里面的數據會發生不可預知的錯誤。
綜上所述,保持在EEPROM 的數據都有突變的風險,尤以一些需要進行頻繁操作的數據表現的最為突出(如電量)。
(1)校驗和查錯處理。數據出錯是很難預防的,每個程序員都不能保證肯定不會出錯。 所以在做好通用軟件可靠性設計的基礎上,重點是保證出錯后數據的恢復。 主控芯片RAM 中的當前電量在作累加之前,要作查錯處理,如在電量(XXXXXX.XX)后面加一個字節的數據校驗和,當校驗和出錯則進行數據恢復處理(從存儲器中讀回電量)。
(2) 在主控芯片RAM 中置特殊字。 程序不停的對該字節進行監控,以判斷RAM 數據是否存在非正常的變化。
(3)BCD 碼校驗。電量、時間等數據是以BCD 碼格式存在的,通過BCD 碼校驗可以判斷數據是否有效。 例如電量= 123456.7A,校驗和=16H,雖然能通過校驗和判斷,但是通過BCD 碼校驗依舊能判斷該數據無效。
(4)利用數據的規律來判斷其有效性。 電量、時間數據只能往上加,例如數據已經通過常規校驗,但RAM 數據小于EEPROM 數據,或RAM 數據與EEPROM 數據的差值大于某個合理的范圍 (如電量數據可設一個額定最大功率對時間的積分再乘以一定的系數作為閥值),都可以判斷數據已經失效。
(5)對電量做查錯處理的同時,在EEPROM 存儲器中不同的頁面做多處備份,當查錯處理發現錯誤時,則讀備份數據,并進行數據恢復處理,該方式可解決數據在EEPROM 緩存期間出現意外所產生的問題。
(6)選擇合理的數據操作時機。由于不同器件工作電壓不同,所以在數據操作前可以進行適當的延遲,可防止錯誤數據的產生。
(7)在無法恢復有效數據時電能表報錯(液晶閃爍、顯示全屏),使用戶看不到無效的數據,只是認為表計壞,消除用戶對計量正確性的懷疑。
(1)主控芯片是電子式電能表的大腦,選用抗干擾能力強的主控芯片,是一個比較直接有效的提高可靠性的方法,選型時最好遵循以下幾點:①選用知名品牌的產品;②選用工業級的產品;③在運算能力已經足夠的情況下,選用較低的工作頻率;④在前幾項保證的情況下,選用單字節的CPU。
(2)電磁兼容性方面,在通用設計規范基礎上,在PCB 板設計時要注意以下幾點,①盡可能縮短I2C 數據總線的走線,線越短受干擾的幾率就越小;②EEPROM 存儲器器件下面盡可能不要布電源線,以便提高抗干擾能力;③提高集成電路輸入信號的信噪比,是提高抗干擾能力的一個重要措施,選擇高工作電壓器件,可以提高信噪比;④在數據總線上選擇合適的上拉電阻可以提高總線信號傳輸的可靠性, 建議選用l0kΩ 及以下的上拉電阻(早期有些廠家在用20kΩ 的上拉電阻);⑤將CPU 的電源與EEPROM存儲器的電源共用,以便電能表在上、下電時電平匹配一致,不會引起因數據線上的電平變化而變成對存儲器的誤操作,同時,在它們的電源上加容量大一點的電解電容(220μF10V),以便在電能表掉電時有足夠的時間將數據寫到存儲器中;⑥電源走線不能形成環形,以便降低噪聲干擾;⑦計量芯片和釆樣回路盡可能靠近。
總之, 智能電能表實現了電網企業和電網用戶之間的信息交互、需求交互、和諧共贏,使得社會效益最大化,其優點和優勢十分明顯。隨著國網表的快速推進,電表的更新速度越來越快,功能也更加完善,同樣隨著功能的增加,故障也隨之而來。 而且智能電能表作為新興事物,運用的環境較普通電能表更為復雜,所承擔的責任更為重大,因此研究智能電能表的常見故障而提高其可靠性顯得尤為重要。
[1]趙艷云.繼電器常見故障檢修[J].大眾用電,2007(03).
[2]李保瑋.智能電表簡介[J].裝備機械,2010(03).
[3]陳樹勇,宋書芳,李蘭欣,沈杰.智能電網技術綜述[J].電網技術,2009(08).
[4]李玨煊.單相智能電能表故障模式及影響分析[D].華北電力大學,2012.