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