李明華
(江蘇華源儀器儀表有限公司,江蘇 南京 211100)
通信觀察
智能電能表中的ESAM通信設計
李明華
(江蘇華源儀器儀表有限公司,江蘇 南京 211100)
目前,廣大居民用戶所使用的電能表,基本均為2000年以后安裝的電能表,在業(yè)內被稱為“智能電能表”,其核心部件—智能表安全模塊在智能電能表中扮演著非常重要的數(shù)據(jù)安全角色。為此,在程序設計中如何正確把握其優(yōu)勢,最終提高產(chǎn)品智能化,優(yōu)化產(chǎn)品智能方案的組合,智能模塊的通信設計是至關重要的一部分。
智能電表;安全模塊;通信設計
智能表安全模塊,簡稱電能表ESAM(Embedded Secure Access Module,嵌入式安全控制模塊),是一種具有普遍安全應用價值的嵌入式數(shù)據(jù)安全產(chǎn)品。芯片集成了國密算法SMI單元、硬件隨機數(shù)發(fā)生器、電壓和頻率檢測等安全保護機制,可有效地保證傳輸數(shù)據(jù)的機密性和完整性。
智能電能表中采用的ESAM模塊, 是一種數(shù)字式的安全通信模塊,其工作特點符合集成電路卡的標準《IOS/ IEC7816-1/2/3/4》,即ISO7816接觸式協(xié)議(卡上有金屬觸點的)通信模塊,也就是常說的7816協(xié)議。由于7816協(xié)議相對來說比較復雜和難以理解,所以程序設計中的MCU和ESAM模塊的數(shù)據(jù)交互是智能電能表設計中的難點。本文主要討論通訊設計中的注意事項。
1.1冷復位
按照圖1冷復位所示,在Ta時刻啟動CLK,在Ta后的不超過200個時鐘周期內,ESAM將其I/O置為接收模式。同時ESAM上的I/O應確保在Ta后最遲不超過200個時鐘周期內,保持高電平。當脈沖信號加到CLK后,從Ta開始至少保持400時鐘周期(Tb),通過RST端保持在低電平狀態(tài)來復位ESAM。
圖1 ESAM冷復位
輸入/輸出端口I/O上的復位應答,是在Tb時刻,復位端RST為高電平的狀態(tài)下,在RST上信號的上升沿之后的某一個時鐘周期內開始,其時鐘周期在400和40000時鐘周期段(tc)(時間段tc在Tb之后)。如果在400和40000時鐘周期內,復位應答信號仍未開始,則RST上信號必須從高電平返回到低電平狀態(tài),且接口設備必須按照圖2所示,?;钜鬁试S將電路?;?。
圖2 RST信號復活
1.2?;?/p>
電信號交換結束或放棄時,接口設備應如圖2所示,?;钏鞠铝许樞蛲;铍娐罚?/p>
(1)RST被置為狀態(tài)L;(2)CLK被置為狀態(tài)L(除非時鐘已停止在狀態(tài)L上);(3)I/O被置為狀態(tài)L;(4)VCC被?;?。
1.3復位應答
復位應答ATR(Answer To Reset)是以初始字符TS為首的一系列字節(jié),ESAM通過對這些字節(jié)的傳輸,將接口設備復位命令的響應發(fā)送給接口設備的,從而規(guī)定了ESAM和接口設備之間即將建立的通信的特性。ATR數(shù)據(jù)定義如圖3所示。
圖3 ATR數(shù)據(jù)定義
(1)TS:初始字符,必備的,向接口設備提供一個便于位同步的已知位模式并指定了解釋如何解碼后續(xù)字符的協(xié)議;TS 有兩個狀態(tài)值,一個是反向約定解碼時傳輸?shù)淖止?jié);另一個是正向約定解碼時傳輸?shù)淖止?jié);(2)T0:格式字符,必備的,由兩部分組成;分別表明第一組接口字符和歷史字符的個數(shù);其高4位有幾個bit為1,則表示后續(xù)有幾個歷史字符TA(i)TB(i)TC(i)TD(i)…接口字符,任選的,當TA (i)主要描述波特率(Fi / Di);TB(i)表示編程電流 I /電壓 P;TC2是專用接口字符;TD(i)由兩部分組成,當位b8到b5構成Y(i+1):每個等于1的位指明接口字節(jié)的存在。位b4 到b1構成參數(shù)T的值;(3)TCK:校驗字符,有條件地,檢驗復位應答期間所發(fā)送數(shù)據(jù)完整性的值。
1.4字符幀
每一個字符傳輸時都是以起始位開始,停止位結束,在起始位上I/O被以低電平(邏輯值0)來標識,如圖4所示字符幀結構所示,接著字符后面的是校驗位,最后是停止位,停止位后面是不定時長的空閑位,停止位被規(guī)定為高電平(邏輯值1),這樣就保證了每一個字符起始時有一個明顯的下降沿,在傳輸一個字符時共有8個時間段,每個時間段不是處于高電平狀態(tài),就是處于低電平狀態(tài)。
圖4 字符幀結構
(1)起始位“m1”處于低電平狀態(tài)。
(2)m2~m9八個時間段傳輸一個字符。
(3)m10是“奇偶校驗位”,8個數(shù)據(jù)位和奇偶校驗位自身均作為校驗計算位,但起始位不作校驗計算。
(4)在每個字符中,從起始位的上升沿到(停止位)第n位的下降沿之間的時間延遲是tn=(n±0.2)etu。
(5)發(fā)送方的時間起點是字符的起始沿。接收方的時間起點是在高電平狀態(tài)轉向低電平狀態(tài)的中間。為此,接收方在對I/O定期采樣時,采樣的時間應少于0.2etu。
(6)接收方應在0.7etu(接收方時間)之前確認m1,然后分別在(1.5±0.2)etu;在(2.5±0.2)etu……. 8.5±0.2)etu;(9.5±0.2)etu收到m2,m3,……m9,m10。
(7)字符奇偶校驗在字符幀傳輸結束后進行。
(8)兩個連續(xù)字符起始位和停止位的下降沿與上升沿之間的最小時間間隔應當不少于12etu,例如,一個字符的持續(xù)時間(10±0.2)etu加上保護時間(2±0.2)etu。在保護時間,接口設備和ESAM都保持接收狀態(tài),因此I/O狀態(tài)為高電平。
(9)在復位應答期間,兩個連續(xù)字符之間的最大“初始等待時間”不應超過9600etu。
注:1etu=372/f(其中f為時鐘CLK頻率)。
1.5命令的結構和處理
ESAM在發(fā)出過程字節(jié)的控制下傳輸數(shù)據(jù)字節(jié),這個過程,均由IFD(接口設備)發(fā)出的5個字節(jié)的APDU命令來發(fā)起,APDU命令頭是由5個字節(jié)組成,分別約定為:CLA、INS、P1、P2、P3。其中CLA、INS、P1、P2的參數(shù)是由ISO/ IEC7816-4部分定義。
(1)CLA:指令類別;(2)INS:指令類別中的指令代碼;(3)P1、P2:是一個完成指令代碼的參考符號;(4)P3:對命令期間被發(fā)送的數(shù)據(jù)字節(jié)D(1)~D(n)的數(shù)目n進行編碼,指明了發(fā)送給ESAM的命令的字節(jié)長度或期待ESAM響應的最大數(shù)據(jù)長度。
接口設備發(fā)送完命令頭之后,應等待一個由ESAM發(fā)送的過程字節(jié),過程字節(jié)由ESAM發(fā)送,它的值將指明接口設備下一步該做什么。已規(guī)定了3種類型的過程字節(jié):
(1)值為“60”,為 NULL,這將要求不進行數(shù)據(jù)字節(jié)的傳送。IFD接口設備應該等待ESAM傳輸下一個過程字節(jié);(2)當值除“6X”和“9X”以外,為一個ACK字節(jié)時。則表示運送所有剩余字節(jié),然后IFD接口設備應該等待ESAM傳輸下一個過程字節(jié);(3)當值等于“6X”和“9X”,則為SW1,除“60”之外,要求不進行數(shù)據(jù)字節(jié)的傳送。然后IFD接口設備應該等待ESAM傳輸下一個SW2字節(jié)。這里對SW2的值無限制。
就每一個過程字節(jié)而言,ESAM可以由一個ACK或NULL字節(jié)來使命令繼續(xù)進行下去,當接收到SW1后將等待下一個過程字節(jié)或狀態(tài)碼SW2,由結束序列SW1,SW2來結束這個命令,或變成不響應來表示不贊同。
SW1,SW2構成結束序列,結束序列在命令的結尾指示ESAM的狀態(tài)。SW1,SW2=“9000”表示正常結束。
1.6注意事項
(1)當ESAM電源處于上升、下降或低電平階段時,必須保證I/O、RST、CLK引腳信號為低電平。
(2)一個字符的誤差必須限制在±0.2etu之內。
(3)為了檢測到ESAM或接口設備的差錯信號,發(fā)送方必須在字符起始沿之后(11±0.2)etu(發(fā)送方時間)校驗I/O電路的狀態(tài)。
(4)接口設備給ESAM或卡片發(fā)送命令幀CLA前,需增加20etu的延時等待時間(包括取響應命令幀00 C0 00 00 LC),以保證ESAM或卡片有足夠的時間處理上幀命令。
(5)接口設備對ESAM進行冷復位時,一定要保證ESAM電源電壓穩(wěn)定后,再操作CLK,I/O和RST信號,禁止在電源電壓上升期間進行CLK,I/O和RST信號處理。
(1)單字節(jié)接收:如圖5所示,單字節(jié)接收流程圖;單字節(jié)發(fā)送:如圖6所示,單字節(jié)發(fā)送流程圖。
圖5 單字節(jié)接收流程
圖6 單字節(jié)發(fā)送流程
(2)復位:復位流程如圖7所示。
圖7 復位流程
(3)驅動流程:驅動流程如圖8所示。3 結語
圖8 驅動流程
7816通信設計是智能電能表設計中的難點,在2009版標準中,由于沒有完整的芯片手冊、各個電能表制造廠家在設計中,均參考了《ISO7816-3接觸式卡智能卡的電信號和傳輸協(xié)議》以及國家電網(wǎng)標準《Q/GDW365-2009智能電能表信息交換安全認證技術規(guī)范》,做得都比較松散和寬泛,很容易導致兼容性的問題發(fā)生。2013版標準芯片手冊對于時序作了很嚴格的要求,在設計13版標準的智能電能表中的7816通信時,一定要完全按照芯片手冊的要求進行設計,以避免兼容性的問題。
Design of ESAM Smart Meter in Communication
Li Minghua (Jiangsu Huayuan Instrument Co., Ltd., Nanjing 211100, China)
Currently, the majority of residential customers meter used, are substantially after 2000 meter installed in a very important industry known as "smart meter", the core components of smart meter security module plays in the smart meter data security role to this end, the program design how to properly grasp, and ultimately improve product intelligent, optimized combination of intelligent solutions,design of intelligent communication module is a vital part .
smart meter;security module;communication design
李明華(1958-),男,江蘇鹽城。