電梯串行通訊系統可靠性設計
3.1.2 共模干擾
共模干擾是由于微處理器、放大器地和信號源地之間的電位差而產生的干擾,也稱為縱向干擾或共態干擾。
在平衡傳輸中,對于采用差動輸入結構的接收單元而言,共模干擾不起作用;但是在不平衡傳輸結構中,共模干擾將會轉為差模干擾而對接收單元造成影響,而且不平衡程度越大,影響就越嚴重[1]。
共模干擾的抑制措施主要有如下3種:變壓器隔離、光電隔離和浮地屏蔽。變壓器隔離就是利用變壓器將模擬信號電路與數字信號電路隔離開來。光電隔離是利用光電耦合器來實現兩個電路系統間的隔離。浮地屏蔽是采用浮地隔離式放大器來抑制共模干擾電壓。相比較而言,光電隔離體積小,成本低,實現比較容易,應用廣泛。例如,在采用CANBUS網絡的電梯串行通訊系統中,CAN控制器PCA82C200與CAN驅動器PCA82C250之間加接了高速光耦芯片 6N137來實現光電隔離,以提高系統的抗干擾能力.
信號從6N137的輸入端引腳輸入,發光二極管發光,經片內光通道傳送到光敏二極管,反向偏置的光敏管經光照后導通,經電流—電壓轉換后送到與門的有關輸入端,與門的另一個輸入端為使能端。當使能端為高電平時,與門輸出高電平,經輸出三極管反向后光電隔離器輸出低電平。當輸出信號電源小于觸發閥值且使能端為低時,輸出高電平,但這個邏輯高是極電集開路的,可針對接收電路加上拉電阻或電壓調整電路。這樣就實現了CAN總線和CAN控制器之間的隔離,避免了CAN總線上的通訊干擾影響CAN控制器的工作。
3.1.3 長線傳輸干擾
信號在長線傳輸中會遇到3個問題:一是長線傳輸易受到外界干擾,二是具有信號延時,三是高速變化的信號在長線中傳輸時會出現波反射現象。采用終端或始端阻抗匹配,可以消除長線傳輸中的波反射或把它抑制到最低限度,采用雙絞線作為信號線可以部分抑制外界信號干擾。
3.2 接地技術
接地是抗干擾措施中的關鍵步驟,因此對接地必須慎重處理。下面針對電梯串行通訊系統的特點并結合筆者的個人體會,給出一些接地方法。
3.2.1 電路板內的信號地
電路板內的信號地分為如下兩種情況:
(1)對于采用了諸如模擬放大器、模擬開關、D/A轉換器等高精度模擬器件的電路板,接地必須嚴格要求。主要有:所有模擬器件(包括可能的輸入/輸出)的接地端必須單點并聯接地,各地線應盡量放寬,絕對避免串聯接地形成的環路。
(2)對于純數字電路的電路板,各器件可以允許多點接地,但地線應盡可能粗,并盡量減少串聯接地的情況。尤其對于高頻信號器件,電路中應采用大面積直接接地,以減少電路間的相互影響。
3.2.2 模擬量輸入信號與屏蔽的接地
(1)如果信號源不接地,差分放大電路端接地,則屏蔽體應在放大器端接地,且接地應保證從放大器到大地的電阻小于1W。(2)如果信號源端須接地,差分放大器端不接地,則屏蔽體應在信號源接地。(3)如果信號源端與差分放大電路端都必須接地,則對信號必須采用變壓器或光電隔離等措施,且屏蔽體在信號源端接地。(4)如果可以選擇在信號源端或放大電路端接地,則可將信號線與屏蔽層在信號源處接地。
4 串行通訊系統軟件的可靠性設計
4.1 利用軟件提高系統可靠性
電梯串行通訊系統是由硬件和軟件組成的,因此系統的可靠性也分硬件可靠性和軟件可靠性兩個方面。通過提高元器件的質量,采用冗余設計,進行預防性維護,增設抗干擾裝置等措施,能夠提高硬件的可靠性。但是,要讓整個系統得到理想的可靠性上述措施還顯不夠,還要利用軟件來進一步提高系統的可靠性。利用軟件提高系統可靠性的措施主要有下面幾種。
4.1.1 設置自檢程序
系統開機后先對硬件進行自檢,如硬件有故障,系統則停止運行并報警。另外,各節點微處理器內部設置狀態標志,程序運行時不斷查詢這些狀態標志,及時發現并糾正錯誤,以保證系統運行的高可靠性。
4.1.2 指令冗余法
微處理器受干擾后,往往會把操作數當操作碼來執行,使程序的正確執行順序被打亂且亂飛,即程序彈飛。若程序彈飛到某條單字指令上,則可自動納入正軌;當程序彈飛到某條雙字節指令上時,有可能落到其操作數上,從而繼續出錯;當程序彈飛到3字節指令上時,因它有2個操作數,出錯的幾率更大。
因此編程時應盡量多采用單字節指令,并在關鍵的地方人為地插入一些單字節指令(NOP),或將有效單字節指令重復書寫,這便是指令冗余。指令冗余無疑會降低微處理器的工作效率,但在絕大多數情況下,微處理器還不至于忙到不能多執行幾條指令的程度。
4.1.3 設置軟件陷阱
在非程序區設置一些陷阱程序。正常運行時不會進入非程序區,當程序彈飛時就可能遇到這些陷阱,在陷阱處強令程序進入初始狀態,避免出現“死機”現象。例如對于MC5-51系列單片機,可利用“LJMP #0000H”和“JB bit,aa”指令,在非程序區反復用 0200000002000000……H填滿。這樣不論程序計數器PC失控后指向哪一字節,最后都能讓程序回到復位狀態。
4.1.4 看門狗定時復位技術(WATCHDOG)
WATCHDOG可這樣設置:本身獨立工作,基本不依賴于CPU,CPU在1個固定的時間間隔內和該系統打1次交道,以表明系統工作正常并封鎖復位信號。當CPU陷入死循環后,則因超過規定的時間間隔而啟動復位信號使系統復位。此外,前面介紹的監視跟蹤定時器也屬于一種WATCHDOG。
4.1.5 輸入輸出信號的抗干擾技術
電梯串行通訊系統的輸入干擾主要來自于各層呼梯按鈕和轎內操縱按鈕,由于干擾信號一般為持續時間很短的尖脈沖,因此在滿足采樣要求的前提下,將采樣延時一定時間(一般50ms以上),等輸入信號穩定后再進行取樣并輸入微處理器,即可消除輸入干擾。因為干擾是隨機的,所以對于輸出干擾,編程時可以采取重復輸出的辦法加以克服。即在數據或控制信號輸出后,以最短的周期重復輸出原來的信息,這樣當電梯控制系統接受到一個被干擾錯誤信息后,還未來得及作出有效的反應,錯誤信息就已被糾正。當然,如果對電梯控制系統的所有輸出信號都進行重復輸出的話,難免會降低電梯控制系統的效率,但是,對于一些關鍵的輸出,如起動、開閘、減速、平層、下閘、停車、開關門等命令,采用重復輸出將可大大提高電梯控制系統的可靠性和安全性。
4.2 提高軟件的可靠性
雖然利用軟件可提高系統的可靠性,但是由于種種原因,軟件本身也會發生故障,因此應采取措施,提高軟件的可靠性。
4.2.1 程序分段和層次結構
在進行程序結構設計時,將程序分成若干具有獨立功能的子程序塊。各子程序可單獨也可和其它程序一起使用,各子程序之間通過一個固定的通訊區和一些指定的單元進行通訊。每個程序塊能分別進行調整而不影響其它程序塊。這些各自獨立的程序塊在連接時,盡量減少程序之間的依賴關系,按層次排列,而各程序塊具有獨立功能,結構簡單,易于修改和擴充,故障少。
例如,對于CANBUS通訊程序,就可分成下面3個模塊進行設計和調試。①PCA82C200發送接收數據時能否產生中斷。調試時通過仿真器讀取 PCA82C200中斷寄存器的中斷字即可。②通訊程序能否正常執行設定的命令。這牽涉到設定命令的具體情況,需分情況作出相應的判斷。③通訊程序錯誤處理能力和解決總線沖突能力的測試。這可以通過故意設置通訊錯誤和頻繁通訊來檢驗。
4.2.2 提高程序的可測試性設計
軟件故障具有和硬件不同的特點,軟件故障往往是在設計階段,由人為錯誤或者在運行初期輸入程序時的操作錯誤而引起。這種存在程序中的錯誤,必須通過反復測試才能發現。因此,必須進行提高軟件可測試性設計,使軟件便于測試。
評論