CAN總線在組合機床電控系統通信中的應用
● 波特率設置的編程
CAN總線的傳輸速率與兩個節點之間最大距離有關,如表1所示。表中還同時給出了LF2407A的可編程位定時器的數值。這些值還與LF2407A的主時鐘頻率有關,表中的數值是在主時鐘頻率為16MHz下得到的,一般地可以按下面的公式計算位速率。
波特率=ICLK/[(BRP+1)+BitTime]
其中ICLK為DSP的系統頻率,BRP由總線時序寄存器0(BTR0)決定。
BitTime=(TSEG1+1)+(TSEG2)+1
其中TSEG1和TSEG2由總線時序寄存器1(BTR1)決定。
● 幀結構設計
按照CAN2.0規范,CAN總線上傳送的報文由3~11個字節組成,其中包含3個字節的控制字節和0~8個數據字節,見表2。
其中,方向位決定一半的優先級,而剩余的優先級由節點地址決定,低地址優先級為高。當方向位為“1”時,地址域是源節點地址(從節點到主節點),優先級由地址決定;當方向位為“0”時,地址域是目標節點地址(主節點到從節點),優先級由地址決定。類型的三個比特可以有多個取值,10×為單幀(廣播),111為非結束多幀(廣播),110為結束多幀(廣播),00×為單幀(點對點),011為非結束多幀(點對點),010為結束多幀(點對點)。每幀字節數用五個比特表示。忙信號位表示主節點正在與某一從節點通信,如果有另外從節點提出與主節點通信的要求時,主節點就向此從節點發出忙反饋信號,通知此節點稍后再與主節點通信,否則,從節點會連續向主節點提出通信請求,如果一直未收到任何響應,此節點會發出報警信息,從而會造成通信系統的誤操作。控制命令表示該幀所傳送消息的具體意義,可對各個消息(如測量、調整、控制等)編碼,實現模塊間的信息交換以及對外界的安全保密。系統的軟件
● 主控節點的確認
為了使連接在一起的組合機床電控單元模塊能夠協調工作,在所有入網的模塊中動態地確立一個主模塊。所有非主模塊的數據基準取自主模塊。為了適應模塊熱插拔的要求,并避免主模塊故障導致系統的工作失常,主模塊是動態確立的。每隔一定的時間間隔,各個模塊都要廣播一個“爭主”請求,如果有已經確立的主模塊,則主模塊廣播一個“反對”應答,禁止其他模塊成為主模塊;如果尚未確立主模塊、或者已經確立的主模塊因故障而不能發出“反對”應答,則發出“爭主”請求的模塊就可以成為新的主模塊。利用多主競爭的原則,在某一主機失效的情況下,由其他從機競爭成為主模塊,代替原有主機的地位,這樣的機制可以保證整個系統不會因為一臺通信主節點的癱瘓造成整個組合機床電控單元間通信系統的癱瘓。
● 監控主機的軟件
用一臺工控機作為監控機,通過適配卡與CAN連接。在監控機上用VB6.0編寫監控的操作軟件,并且把監控機作為局域網上的一臺操作服務器,用戶通過它可以對各個模塊進行操作。
結束語
本文介紹了TI公司TMS320LF2407A芯片中內嵌CAN控制器的特點,并在其基礎上把CAN總線技術應用在組合機床電控數據通信系統的設計與實現中,該系統主要采用了高性能的DSP芯片和適配卡,通過靈活的通信協議和接口的設計,使系統滿足CAN總線短突發、高實時性、高數據率的要求。此系統還可以應用到其他工業控制領域,具有廣泛的應用前景。
參考文獻
1 靳自愚.RS-232接口方法與范例.海洋出版社.1992
2 童曉陽.基于CAN總線的分布式絕緣在線監測系統的設計與實現.電力系統自動化.2003.第27卷第1期
3 H.Kopetz, A Comparison of CAN and TIP, Annual Reviews in Control 24(2000)
4 樓少敏.基于零件工藝分析的可重組機床設計研究.浙江大學碩士學位論文.2000.6
5 Jose Luis Sevillano, Analysis of channel utilization for controller area networks,Computer Communications 21 (1998)
6 TMS320LF/LC240XA DSP Controllers Reference Guide System and Peripherals. Texas Instruments Inc.2002
評論