潘李云,孫前剛,劉 剛
(中國船舶集團有限公司第七二三研究所,江蘇揚州 225000)
當前針對大功率及超大功率應用場合,模塊化是開關電源發(fā)展的趨勢,其優(yōu)點是采用各個通用性的功能模塊,將各個功能模塊并聯(lián),構成新的系統(tǒng)來實現(xiàn)大功率輸出,從而減少產品的研發(fā)周期及提高系統(tǒng)可靠性。然而多模塊并聯(lián)的系統(tǒng)中,由于模塊數量的增多,各個模塊的調試工作量大,單個模塊是否正常工作,出故障時如何及時排查原因及檢修難度大等問題也同時出現(xiàn)了。針對這些問題,一種能夠實時采集數據,監(jiān)控各個并聯(lián)模塊,簡化調試過程的工具急需開發(fā)。CAN總線是一種可擴展性強,標準程度高,實時性好的一種串行數據通信網絡,它功能強大且易于使用,現(xiàn)如今在很多場合都有應用。張河新等[1-5]介紹了各種基于CAN 總線的數據采集及顯示功能的設備,吳艷等[6]介紹了基于CAN 總線的點菜設備,張強[7]介紹了CAN 通信保護電路設計及常見故障分析。這些文獻主要介紹的都是基于CAN 總線的信息采集功能,沒有輔助調試方面的能力。本文設計了一種基于串行總線的多機通信系統(tǒng),該系統(tǒng)可以和電源模塊通信,通過軟件更改電源模塊的參數,該通信系統(tǒng)線路少、整機結構簡約、擴展能力強,系統(tǒng)包含各個節(jié)點和上位機,實時性好,可靠性高。實現(xiàn)了對多機運行的實時、同步控制。
CAN 是控制器局域網絡(Controller Area Network)的簡稱,是ISO 國際標準化的串行通信協(xié)議。CAN 具備極高的性能和可靠性,被廣泛應用于工業(yè)化的各種設備上[8],考慮到CAN總線的卓越優(yōu)勢,本系統(tǒng)的架構也是基于CAN 總線的。CAN總線的連接只需要兩根線,即CAN_H 和CAN_L,總線通過這兩根線上的電位差來進行總線電平的判斷,CAN總線分為兩種電平,隱性電平和顯性電平,二者必居其一??偩€上顯性電平相比隱性電平具有優(yōu)先權,只要有一個節(jié)點輸出顯性電平,總線就是顯性電平,當總線空閑時,如有多個節(jié)點同時發(fā)送信息,則會根據ID 逐位決定優(yōu)先級,根據顯性電平優(yōu)先的原則決定哪個節(jié)點獲得首先發(fā)送報文的資格。
CAN總線的數據幀可以分為標準幀和擴展幀兩種格式,標準幀有11位ID,擴展幀有29位ID。當CAN 某個節(jié)點發(fā)送一個數據幀時,發(fā)送函數會把已打包完的數據幀發(fā)送到CAN 總線上來實現(xiàn)數據發(fā)送。程序進入發(fā)送函數后,首先會判斷發(fā)送緩沖區(qū)是否為空,為空則會將待發(fā)送數據輸入發(fā)送緩沖區(qū),隨即啟動發(fā)送。CAN報文接收函數往往以中斷方式實現(xiàn)來提高程序效率,該函數的主要功能是讀取CAN 接收緩沖區(qū)的數據至RAM 中。進入該函數后,首先判斷接收緩沖區(qū)是否為空,若不為空就讀取接收緩沖區(qū)的數據,進而實現(xiàn)報文接收的功能。本系統(tǒng)的架構如圖1所示。
圖1 系統(tǒng)架構
系統(tǒng)架構主要包括上位機、子節(jié)點。各節(jié)點具有采樣功能,能采樣各個電源模塊電壓、電流、溫度等信息,且能和電源模塊通信,能夠讀取和寫入電源模塊的參數信息。系統(tǒng)的上位機具有豐富的功能,主要分為調試模式及工作模式兩種模式,調試模式時,上位機可以讀取和寫入電源參數以及對電源模塊的實時工作狀態(tài)進行監(jiān)控,對電源輸出電壓電流值等需調試的參數進行調整。而在工作模式時,上位機可檢測模塊的電壓電流及故障信息,對系統(tǒng)的運行進行監(jiān)控[9],從而能在故障發(fā)生時能快速準確地定位故障模塊及故障類型。系統(tǒng)的具體功能為:各節(jié)點接收上位機發(fā)來的控制命令,并執(zhí)行,且回傳響應報文;上位機可將子節(jié)點回傳的報文信息在人機界面顯示。實現(xiàn)了上位機與各節(jié)點之間通過CAN總線實現(xiàn)通信,多機實時、可靠控制。
上位機的軟件流程如圖2 所示,是使用Windowsvisualstudio2010 開發(fā)的,其作用為通過CAN 通信設備連接CAN 總線,和掛在CAN 總線上的各節(jié)點通信。上位機在工作時會定時向每個節(jié)點的電源模塊輪流發(fā)送命令,讓每個節(jié)點向它回復報文,同時上位機接收來自各個節(jié)點的實時報文并解析成電壓電流信息以及故障報文,然后在人機交互界面顯示,方便對電源系統(tǒng)的實時監(jiān)測。尤其是當電源系統(tǒng)運行異常時,可使用上位機監(jiān)控各節(jié)點,將接收到的電壓電流實時數據及故障類型顯示出來,從而輔助技術人員對故障定位和排除。
圖2 上位機軟件流程
在電源中,往往因為各分立器件的誤差,電源模塊的各種參數需要進行調節(jié),比如調整電源模塊的保護動作點,電源的輸出電壓值等,傳統(tǒng)的硬件系統(tǒng)如果調節(jié)需要逐臺調整其對應功能的電阻電容,工作量巨大且繁瑣,還容易出錯。而本系統(tǒng)則可以通過上位機調整每臺電源的參數,將調試工作大大簡化。上位機可以直接將電源模塊的各個參數發(fā)送給總線上的每個電源,然后再根據每個節(jié)點電源回復給上位機的具體電壓電流信息微調參數,最終調整好總線上每臺電源的具體參數。
各節(jié)點的軟件流程如圖3所示,節(jié)點的主要功能是對電壓、電流、溫度等物理量進行循環(huán)采樣,并根據采樣值判斷狀態(tài)是否正常,如果不正常,則判斷發(fā)生了什么故障,并將對應的狀態(tài)位標記。每個節(jié)點都有一個唯一的ID,不同ID則是根據硬件來區(qū)分的,每個電源模塊設置四個電阻來組成ID 序列,各節(jié)點初始化時會根據不同的電阻排列方式實現(xiàn)每個電源模塊的不同ID。當上位機對某個節(jié)點發(fā)來命令要求其上報報文時,該節(jié)點會響應上位機的命令,發(fā)送目前的狀態(tài)及故障位信息。當某個節(jié)點的電源模塊收到上位機的發(fā)送實時數據命令時,會將相關的電壓電流信息以500 ms 的時間間隔不停地向上位機發(fā)送,同時,能夠根據上位機發(fā)來的參數更改自己的參數,當收到上位機的查詢參數命令時也能將自己目前的參數信息打包發(fā)給上位機。
圖3 節(jié)點軟件流程
系統(tǒng)的微控制器電路芯片使用基于Cortex-M3內核的32位單片機STM32F103ZET6,該單片機的時鐘頻率高達72 MHz,具備11個定時器;支持嵌套矢量中斷控制器(NVIC),可以實現(xiàn)極短的中斷處理延遲,能最大限度減少進入中斷時系統(tǒng)的資源占用量,進一步提高處理中斷的速度;支持外部中斷/事件控制器(EXTI),對應的邊沿檢測器可實現(xiàn)輸入信號的上升沿、下降沿監(jiān)測[10]。
電壓檢測電路如圖4 所示,主要借助電壓傳感器WBV411D07將輸入的交流強電轉變?yōu)槿蹼娦盘?,由于檢測到的電壓信號中存在一定的紋波電壓,所以需要對該電壓信號進行濾波處理,在本文中我們使用RC電路來進行濾波同時考慮到需要隔離前級采樣電路對后級電路的影響所以設計了電壓跟隨器。
圖4 電壓采樣電路
電流檢測電路如圖5所示,主要是借助電流霍爾傳感器SP3實時測量系統(tǒng)電路中的電流,霍爾傳感器輸出的信號經過RC濾波電路傳輸給電壓跟隨器,跟隨器防止了前級電路對后級產生影響,電流互感器選擇的是LEM公司的SP3,該互感器性能優(yōu)越。
圖5 電流采樣電路
CAN 收發(fā)器使用的是ISO1050,作為CAN 收發(fā)器,該器件可為總線和CAN 控制器分別提供差分發(fā)射能力和差分接收能力,信號傳輸速率高達1 兆位每秒(Mb/s)。該器件尤其適合工作在惡劣環(huán)境下,性能強大,其具有串線、過壓和接地損耗保護(-27~40 V)以及過熱關斷功能,共模電壓范圍為-12~12 V[11-12]。
此外,為了區(qū)分每個電源模塊的地址,電路里設計了4個電阻位,這些電阻位上拉至3.3 V,若不焊電阻,則IO口輸入為高電平,若焊接電阻,則IO 口輸入為低電平。這樣,4個電阻位總共可以表示16種ID,即可以區(qū)分16個電源模塊。
圖6 CAN收發(fā)器電路
使用此系統(tǒng)之前調試時需先將設備加電,然后手持三用表、鉗流表去測量母線和輸出的電壓電流,然后再讓設備斷電,使用烙鐵調換相應的元器件,從而使電源的輸出電壓值和均流等指標滿足要求。這種傳統(tǒng)的調試方法往往需要反復加電斷電以及使用烙鐵焊接數次才能調好一臺電源,效率低且麻煩。當使用此系統(tǒng)后,只需要加電后通過上位機就可以調節(jié)參數,無需斷電和使用烙鐵,效率高且操作更簡單。
為了驗證系統(tǒng)的可靠性及及實時性,通過CAN 通信設備連接各節(jié)點在上位機上測試,如圖所示為上位機界面,圖7~9 顯示了上位機的3 個頁面,圖7 在界面上可以選擇發(fā)送報文的ID,選擇調試模式還是工作模式及連接CAN,通過在圖7界面的操作可以選定所需控制的電源模塊和控制模式;圖8 和圖9 分別是調試狀態(tài)下監(jiān)控電壓電流值以及讀取和寫入參數的功能,當圖8 顯示出的電壓電流值不滿足指標時,可由圖9 界面寫入新的參數,再從圖8 界面觀察更改參數后的新的電壓電流值是否滿足指標要求,若不滿足可繼續(xù)按此方法更改。
圖7 上位機頁面1
圖8 上位機頁面2
圖9 上位機頁面3
包含多個電源模塊的系統(tǒng)工作時,如果某個模塊運行不正常,一般需要外接示波器才能監(jiān)測到輸出電壓電流的波形,從而判斷電源出了何種故障。用了此通信系統(tǒng),可由上位機監(jiān)控其輸出電壓電流,從而能夠輔助判斷哪個模塊出了何種故障,如圖10 所示,當正在工作的電源突然斷電時,上位機能夠顯示出輸出電壓和電流的波形變化,直觀顯示電源的工作狀態(tài)。
圖10 上位機實時監(jiān)控
實驗結果顯示,該系統(tǒng)能夠由軟件更改參數,使得調試更加有效率,系統(tǒng)通信正常、工作可靠,實現(xiàn)了CAN 總線多個節(jié)點在上位機環(huán)境下實時通信的功能,該系統(tǒng)可以實時地接收各電源模塊發(fā)來的電壓電流信息并在PC上顯示其數值和波形。本系統(tǒng)可以作為應對多機主從控制的選擇,整機具有擴展方便、工作可靠、運行靈活等優(yōu)點,克服了目前傳統(tǒng)調試方法效率低且麻煩的問題,提高了多機通信的實時性和可靠性。