基于CAN的電源控制系統(tǒng)設(shè)計
CAN總線是一種能有效支持分布式控制系統(tǒng)的串行通信網(wǎng)絡(luò),一方面,其通信方式靈活,可實現(xiàn)多主方式工作,還可實現(xiàn)點對點、點對多點等多種數(shù)據(jù)收發(fā)方式;另一方面,他能在相對較大的距離間進(jìn)行較高位速率的數(shù)據(jù)通信,例如在3.3 km的距離內(nèi)其傳輸速率可達(dá)20 kb/s。我們的系統(tǒng)是由上位機對多臺并列的單電源控制系統(tǒng)進(jìn)行控制管理,單電源的間距在100 m左右,且其必須置于較高的位置,系統(tǒng)之間要進(jìn)行快速的數(shù)據(jù)傳輸,CAN總線能很好的滿足該系統(tǒng)的要求。
1 系統(tǒng)總體結(jié)構(gòu)
其中:CAN0節(jié)點是上位機。
本系統(tǒng)用的是C51單片機,外接CAN控制器SJA1000,他對下面多臺下位機傳送控制定值,并且在收集下位機送來數(shù)據(jù)后對其進(jìn)行分析計算以改變定值。節(jié)點CAN1~CAN31(最多可有31臺)為各單電源的控制部分,我們采用的是TI公司的TMS320LF2407芯片做主控,其上集成有CAN控制器模塊。
2 LF2407及其集成CAN控制模塊介紹
LF2407是TI公司推出的定點DSP處理器,他采用高性能靜態(tài)CMOS技術(shù),供電電壓為3.3 V,指令周期可達(dá)25 ns,其上集成了包括CAN控制器在內(nèi)的多個外圍模塊及存儲器,適用于電機及逆變電路的控制。
CAN控制器模塊是集成于LF2407中的一個16位外設(shè)模塊。該模塊具有以下特性:
(1)支持CAN2.0B協(xié)議,支持標(biāo)準(zhǔn)標(biāo)識符(11位)及擴展標(biāo)識符(29位),支持?jǐn)?shù)據(jù)幀與遠(yuǎn)程幀。
(2)配置有6個郵箱,2個接收(0,1號),2個發(fā)送(4,5號),2個可配置(3,4號);每個郵箱數(shù)據(jù)長度為8 B。接收郵箱可進(jìn)行標(biāo)識符屏蔽。當(dāng)標(biāo)識符位被屏蔽時,在接收數(shù)據(jù)幀時無須對該位標(biāo)識符進(jìn)行校驗。
(3)具有可編程的位定時器、中斷服務(wù)和CAN總線喚醒功能。
(4)能自動回復(fù)遠(yuǎn)程請求,當(dāng)發(fā)送錯誤或數(shù)據(jù)丟失時,有自動重發(fā)功能。 每個郵箱寄存器包含7個字的信息,與各功能模塊控制寄存器相類似,LF2407為其分配了固定的數(shù)據(jù)存儲器地址,例如郵箱0,其寄存器分析
MBX0A~D(4個字的存儲空間)地址:7204~7207其中:標(biāo)識符(按29位設(shè)置)在MSGIDnH的后13位和MSGIDnL中。
3 硬件電路設(shè)計及調(diào)試
在設(shè)計LF2407的CAN通信電路時應(yīng)注意一個問題,即2407的供電電壓為3.3 V,其CAN控制模塊輸出的高電平也只有3.3 V,與CAN驅(qū)動器PCA80C250電平(5 V)不兼容,在設(shè)計電路時加隔離光耦時要加以注意。圖2所示為下位機側(cè)的CAN通信原理圖。
由于TX的輸出光耦采用的是射極輸出方式,我們的輸出光耦應(yīng)采用6N136(137由于其結(jié)構(gòu)原因不能滿足要求),圖3是我們進(jìn)行數(shù)據(jù)發(fā)送時測試得到的R42兩端的電壓波形(輸出10101010…)
由我們對CAN通信控制器的位配置寄存器BCR1的設(shè)置可知,每一位數(shù)據(jù)所占的時間段中,我們的采樣點在70%的時間點,在這一點的輸出電壓必須在額定高低電平的設(shè)定值范圍內(nèi)。我們選定R42=5 kΩ,得到以上波形,滿足采樣點處高電平≥3.5 V,低電平≤1.5 V。
4 通信協(xié)議及軟件實現(xiàn)
在系統(tǒng)中,上位機給下位機發(fā)送運行定值以及起停信號,并且會定時查詢各單機的運行狀況以對其狀態(tài)進(jìn)行相應(yīng)的調(diào)整。
具體通信過程分為2類:
(1)上位機向下位機傳送操作命令及定值,上位機發(fā)送的是數(shù)據(jù)幀。
上位機發(fā)送完數(shù)據(jù)幀后,若下位機收到該數(shù)據(jù)幀則向上位機發(fā)送確認(rèn)幀,該數(shù)據(jù)幀發(fā)送結(jié)束。若發(fā)送失敗,上位機在等待一段時間后未接收到確認(rèn)幀,則自動重發(fā)該數(shù)據(jù)幀。
(2)上位機對下位機的運行狀態(tài)及各種記錄定值進(jìn)行查詢,上位機發(fā)送的是遠(yuǎn)程幀。
遠(yuǎn)程幀中只包含有數(shù)據(jù)類型而沒有數(shù)據(jù)內(nèi)容,下位機接到遠(yuǎn)程幀后,根據(jù)上位機要求的數(shù)據(jù)類型向上位機傳送數(shù)據(jù)。同時等待上位機的確認(rèn)幀。若未接收到確認(rèn)幀則定時重發(fā)。
在該系統(tǒng)中,以標(biāo)準(zhǔn)幀進(jìn)行通信,即采用11位的標(biāo)識符。其各位的定義如下:
ID0~I(xiàn)D4:節(jié)點標(biāo)識,5位的節(jié)點標(biāo)識可使網(wǎng)絡(luò)能容納32個節(jié)點。
ID5~I(xiàn)D7:數(shù)據(jù)類型,需要傳送的數(shù)據(jù)種類比較多,上傳的數(shù)據(jù)幀規(guī)定了7種類型(包括確認(rèn)幀),與此對應(yīng)下傳的遠(yuǎn)程幀有6種類型,而下傳的數(shù)據(jù)幀則有6種類型。需要至少3位標(biāo)識符來確定數(shù)據(jù)類型。
ID8~I(xiàn)D10:幀計數(shù),數(shù)據(jù)量最大的數(shù)據(jù)類型包含有17字的數(shù)據(jù),而每幀最多能傳4字,故該類型數(shù)據(jù)至少需要5幀才能傳完。需對數(shù)據(jù)幀進(jìn)行計數(shù)以對傳送數(shù)據(jù)具體類型進(jìn)行確定,故至少需要3位標(biāo)識符來進(jìn)行確定幀計數(shù)。
由于LF2407有專門的CAN模塊中斷,且在CAN控制模塊中設(shè)計了專門的CAN中斷標(biāo)志及屏蔽寄存器,可以十分方便地采用中斷的方式來啟動CAN控制器進(jìn)行數(shù)據(jù)的接收與發(fā)送。
在進(jìn)行CAN控制器的設(shè)置時,需要先對改變數(shù)據(jù)請求位CCR進(jìn)行使能,并在改變后進(jìn)行復(fù)原。值得注意的是,TMS320LF2407中有很多寄存器位是需要通過寫“1”來實現(xiàn)清“0”的,還有些位是只能讀不能用程序直接改寫的,例如:對郵箱中斷(包括接收和發(fā)送)的標(biāo)志位MIFn(0~5),在進(jìn)入中斷響應(yīng)后應(yīng)將其清除,但該位是只讀位,用戶程序只有寫1到TCR寄存器的TAn位(對發(fā)送郵箱)和寫1到RCR寄存器的RMPn位(對接受郵箱)才可達(dá)到清位目的。
5 實現(xiàn)的功能
通過該通信系統(tǒng)實現(xiàn)的功能包括:定值傳送(從上位機傳到下位機的數(shù)據(jù)幀):
(1)對時:具體到時分秒的數(shù)據(jù)。
(2)運行定值的傳輸:包括閃絡(luò)參數(shù)(閃絡(luò)系數(shù)KSP,給定火花率SPARK_NUM)、充電參數(shù)(給定峰值Up,上升率RISE-NUM,充電時限Ton-max)、放電參數(shù)(平均電壓Vg,平均電流Ig,放電時間極限Toff-max)。
(3)保護(hù)定值:包括開路參數(shù)(電壓,電流,延時)、短路參數(shù)(電壓,電流,延時)、欠壓電壓、延時、過載電流、偏勵磁、IGBT溫度、油溫等。
(4)通道參數(shù):包括一次電流、輸出電壓電流、IGBT溫度、油溫、輸入電流(三相)、直流電壓。
運行定值查詢(上位機發(fā)出遠(yuǎn)程幀):包括系統(tǒng)狀態(tài)、故障記錄、運行定值、保護(hù)定值、通道系數(shù)等。
6 結(jié) 語
本系統(tǒng)已經(jīng)過調(diào)試,在我們初制成的單對單系統(tǒng)(上位機帶1臺控制系統(tǒng))中,能抗除強干擾,在較大傳輸數(shù)據(jù)量的情況下正常工作。
【上一個】 開關(guān)電源技術(shù)的最新進(jìn)展 | 【下一個】 解析單片TOP223系列開關(guān)電源 |
^ 基于CAN的電源控制系統(tǒng)設(shè)計 |