CAN總線在組合機(jī)床電控系統(tǒng)通信中的應(yīng)用
摘 要:本文分析了目前廣泛應(yīng)用的TI公司TMS320C2000X系列芯片中內(nèi)嵌CAN控制器的特點(diǎn),介紹了CAN總線在組合機(jī)床電控系統(tǒng)間通信的系統(tǒng)設(shè)計與實(shí)現(xiàn),并在其基礎(chǔ)上重點(diǎn)介紹了控制器以及PC機(jī)與CAN總線接口的硬件設(shè)計和應(yīng)用層協(xié)議軟件的設(shè)計思想。
本文引用地址:http://m.butianyuan.cn/article/149324.htm關(guān)鍵詞:組合機(jī)床電控系統(tǒng);CAN總線;DSP;TMS320LF2407A
引言
現(xiàn)代組合機(jī)床裝備了大量的電子設(shè)備來滿足加工精度、加工速度等要求,如果采用常規(guī)的點(diǎn)到點(diǎn)方式,直接把12V/24V電源連到負(fù)載設(shè)備上(如電機(jī)、液壓泵等),用開關(guān)使電路閉合,勢必造成導(dǎo)線數(shù)量不斷增加,而有限的布線空間則在相對減少。此外,這些電控單元還要進(jìn)行復(fù)雜的控制決策運(yùn)算,包括從周邊設(shè)備收集信息,發(fā)出控制命令,再根據(jù)反饋的信息做下一步的決策等。這一過程需要不同的電控單元之間進(jìn)行通信,彼此影響。這些是不能通過簡單的連接所能實(shí)現(xiàn)的。
有多種信息傳輸手段可以實(shí)現(xiàn)不同的電控單元之間的通信,如常用的RS-232、RS-485和CAN。RS-232雖然應(yīng)用廣泛,但是傳輸速率 較低,傳輸距離較短,抗干擾能力較差,而且最重要的是它只適合點(diǎn)對點(diǎn)的連接方式;RS-485也是一個常用的通信規(guī)范,它可以實(shí)現(xiàn)半雙工的總線型的網(wǎng)絡(luò),總線上允許連接多收發(fā)器,即具有多站能力;而CAN(控制器局域網(wǎng))具有現(xiàn)場總線的特征,與RS-485相比,CAN的信號形式更適合于熱插拔,而且它的網(wǎng)絡(luò)層協(xié)議在滿足模塊間通信高實(shí)時性要求的同時,與定時觸發(fā)的TIP相比更適合不定時傳送信息的要求。CAN繼承了集散控制系統(tǒng)(DCS)的優(yōu)點(diǎn),可以更方便地構(gòu)建模塊間通信網(wǎng)絡(luò)。
本文介紹利用CAN總線,實(shí)現(xiàn)組合機(jī)床電控系統(tǒng)間通信的系統(tǒng)設(shè)計與應(yīng)用,給出模塊控制器以及監(jiān)控PC機(jī)的CAN總線接口的硬件設(shè)計,和應(yīng)用層協(xié)議軟件的設(shè)計思路。
系統(tǒng)的描述
● 系統(tǒng)的組成及網(wǎng)絡(luò)結(jié)構(gòu)
系統(tǒng)由監(jiān)控主機(jī)、并聯(lián)組合機(jī)床電控的數(shù)據(jù)采集模塊和CAN總線組成。
本文研究的組合機(jī)床采用了上述CAN總線接口的微處理器系統(tǒng)。該系統(tǒng)包括數(shù)據(jù)采集和加工過程控制兩部分,前者由掛接在CAN總線上的數(shù)據(jù)采集單元完成,主要是從總線上收集有關(guān)組合機(jī)床的運(yùn)行數(shù)據(jù)(由組合機(jī)床上的控制單元提供),進(jìn)行一些基本的數(shù)據(jù)處理和診斷,如有關(guān)傳感器、執(zhí)行器是否失效,然后將有關(guān)數(shù)據(jù)和加工狀況存儲在擴(kuò)展的EPROM中,在適當(dāng)時刻將存儲的數(shù)據(jù)通過RS232總線上傳到監(jiān)控主機(jī)(PC)進(jìn)行分析。實(shí)際上可以直接把PC機(jī)掛接在CAN總線上。加工過程控制運(yùn)行在PC機(jī)上,主要是處理由數(shù)據(jù)采集系統(tǒng)發(fā)送的數(shù)據(jù),如動力頭轉(zhuǎn)速、進(jìn)給量、切削深度等。這種分層處理的好處在于可以更好地利用PC數(shù)據(jù)處理能力以及已有的一些控制軟件資源,并且可以脫機(jī)處理。
監(jiān)控主機(jī)通過CAN總線從各模塊獲取現(xiàn)場控制數(shù)據(jù),監(jiān)控整個系統(tǒng)的工作狀態(tài),控制各模塊的投入和退出,完成人機(jī)對話,響應(yīng)近端和遠(yuǎn)端的操作。
各個組合機(jī)床電控單元間以及模塊與監(jiān)控主機(jī)之間通過CAN連接通信,通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用總線式結(jié)構(gòu)。
這種結(jié)構(gòu)的特點(diǎn)是多個節(jié)點(diǎn)共用一條傳輸線,結(jié)構(gòu)簡單、成本低;采用無源抽頭連接,可靠性高。信息的傳輸采用CAN通信協(xié)議,線路利用率高。傳輸介質(zhì)為雙絞線,如需進(jìn)一步提高抗干擾能力,還可在控制器和傳輸介質(zhì)之間加接光電隔離。
● 硬件介紹
硬件包括TMS320LF2407A與CAN總線的接口、監(jiān)控機(jī)與CAN的接口。
由于LF2407A內(nèi)嵌CAN控制器,因此它的CAN總線接口只需一個完成電平轉(zhuǎn)換和線路驅(qū)動的驅(qū)動器PCA82C250T。
PCA82C250T是CAN協(xié)議控制器和物理總線的接口,對總線提供差動發(fā)送能力,對CAN控制器提供差動接收能力,完全符合“ISO11898”標(biāo)準(zhǔn)。在CAN總線的網(wǎng)絡(luò)終端,總線上需加一個120Ω的匹配電阻。
監(jiān)控機(jī)使用了工業(yè)控制用PC機(jī),與CAN的接口用一塊CAN總線通信接口適配卡實(shí)現(xiàn),適配卡插在PC機(jī)的擴(kuò)展槽內(nèi)。
● LF2407A的CAN控制器
LF2407A的CAN控制器是一個16位的外設(shè)模塊,可以通過設(shè)置或讀取內(nèi)部寄存器來訪問CAN控制器。LF2407A的CAN控制器由可編程位定時器和6個郵箱組成。郵箱方式是CAN控制器的特點(diǎn),郵箱是一個48×16位的RAM空間,此空間分為6個郵箱,每個郵箱由郵箱標(biāo)識寄存器、郵箱控制寄存器及4×16位的存儲空間組成,其中郵箱0和郵箱1是接收郵箱,郵箱4和郵箱5是發(fā)送郵箱,而郵箱2和郵箱3則可隨意配置成發(fā)送或接收郵箱。CPU以統(tǒng)一的內(nèi)存編址來訪問這些郵箱寄存器。
LF2407A的CAN控制器支持CAN2.0協(xié)議,有自動重發(fā)功能,支持?jǐn)?shù)據(jù)幀和遠(yuǎn)程幀,數(shù)據(jù)收發(fā)采用郵箱方式,可工作在標(biāo)準(zhǔn)模式和擴(kuò)展模式,有可編程位定時器,可編程實(shí)現(xiàn)總線喚醒功能,可對中斷配置編程。TMS320LF2407A芯片的這些特點(diǎn)方便了系統(tǒng)功能的實(shí)現(xiàn)。
CAN網(wǎng)絡(luò)發(fā)送周期
該圖為在其他站處于等待狀態(tài)時,一次成功發(fā)送周期的時序圖,成功發(fā)送周期=傳輸時延+傳輸時間。
由于CAN網(wǎng)絡(luò)的信息傳遞是基于ID優(yōu)先權(quán)的競爭機(jī)制仲裁。當(dāng)t時刻發(fā)生在A節(jié)點(diǎn)仲裁場結(jié)束之前,即有不少于兩個站同時發(fā)送時,需根據(jù)優(yōu)先權(quán)的比較結(jié)果,決定發(fā)送站的成功發(fā)送周期時序。這里的“同時”可定義為,“當(dāng)節(jié)點(diǎn)A發(fā)送信息時,另一個節(jié)點(diǎn)B在t時刻發(fā)送信息,若t時刻發(fā)生在A節(jié)點(diǎn)仲裁場結(jié)束之前,則稱A節(jié)點(diǎn)和B節(jié)點(diǎn)為同時發(fā)送信息”。在仲裁場結(jié)束之后,信息的成功發(fā)送周期由優(yōu)先權(quán)的比較結(jié)果決定。此時,優(yōu)先權(quán)高的占據(jù)總線,信息得以成功發(fā)送,優(yōu)先權(quán)低的發(fā)送失敗,等待下一次發(fā)送。此時若A的優(yōu)先權(quán)高于B的優(yōu)先權(quán),成功發(fā)送周期不變。否則,則成功發(fā)送節(jié)點(diǎn)為B節(jié)點(diǎn),成功發(fā)送周期為B節(jié)點(diǎn)的發(fā)送時間加上兩節(jié)點(diǎn)同時發(fā)送進(jìn)行優(yōu)先權(quán)比較時A節(jié)點(diǎn)的仲裁場時間,即成功發(fā)送周期=傳輸時間+2×最大傳輸時延+仲裁場時間。若t時刻發(fā)送在A節(jié)點(diǎn)仲裁場結(jié)束之后,則B節(jié)點(diǎn)等待下一次發(fā)送,成功發(fā)送周期不變。
CAN控制器的編程
● 包過濾功能的編程
CAN結(jié)點(diǎn)對數(shù)據(jù)包的選擇接收是通過接收包過濾功能來實(shí)現(xiàn)的。在數(shù)據(jù)鏈路層LLC(邏輯鏈路控制)子層實(shí)現(xiàn)數(shù)據(jù)包過濾。只有符合一定條件的數(shù)據(jù)包才會被該節(jié)點(diǎn)接收,其他數(shù)據(jù)包在底層即被丟棄。因此只要在發(fā)送節(jié)點(diǎn)為數(shù)據(jù)包設(shè)置正確的標(biāo)示符,即可將其發(fā)送到指定的一個或多個節(jié)點(diǎn)。利用CAN總線端口驗(yàn)收碼AC,驗(yàn)收屏蔽碼AM,報文標(biāo)識符ID的關(guān)系,即可實(shí)現(xiàn)上述目的。設(shè)目的CAN端口驗(yàn)收碼、驗(yàn)收屏蔽碼分別為AC、AM,則源CAN端口報文標(biāo)識符ID設(shè)置應(yīng)滿足如下條件,(ID.10~I(xiàn)D.3)或(AC.7~AC.0))或(AM.7~AM.0)=11111111B。應(yīng)用中可以靈活設(shè)置CAN節(jié)點(diǎn)的驗(yàn)收碼和驗(yàn)收屏蔽碼,達(dá)到點(diǎn)對點(diǎn),一點(diǎn)對多點(diǎn),以及多主機(jī)的工作方式。
評論