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