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