新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線在組合機(jī)床電控系統(tǒng)通信中的應(yīng)用

CAN總線在組合機(jī)床電控系統(tǒng)通信中的應(yīng)用

作者: 時(shí)間:2012-03-29 來(lái)源:網(wǎng)絡(luò) 收藏

摘 要:本文分析了目前廣泛的TI公司TMS320C2000X系列芯片中內(nèi)嵌控制器的特點(diǎn),介紹了電控設(shè)計(jì)與實(shí)現(xiàn),并在其基礎(chǔ)上重點(diǎn)介紹了控制器以及PC機(jī)與接口的硬件設(shè)計(jì)和層協(xié)議軟件的設(shè)計(jì)思想。

本文引用地址:http://butianyuan.cn/article/149324.htm

關(guān)鍵詞:電控;CAN;DSP;TMS320LF2407A

引言

現(xiàn)代裝備了大量的電子設(shè)備來(lái)滿足加工精度、加工速度等要求,如果采用常規(guī)的點(diǎn)到點(diǎn)方式,直接把12V/24V電源連到負(fù)載設(shè)備上(如電機(jī)、液壓泵等),用開關(guān)使電路閉合,勢(shì)必造成導(dǎo)線數(shù)量不斷增加,而有限的布線空間則在相對(duì)減少。此外,這些電控單元還要進(jìn)行復(fù)雜的控制決策運(yùn)算,包括從周邊設(shè)備收集信息,發(fā)出控制命令,再根據(jù)反饋的信息做下一步的決策等。這一過(guò)程需要不同的電控單元之間進(jìn)行,彼此影響。這些是不能通過(guò)簡(jiǎn)單的連接所能實(shí)現(xiàn)的。

有多種信息傳輸手段可以實(shí)現(xiàn)不同的電控單元之間的,如常用的RS-232、RS-485和CAN。RS-232雖然廣泛,但是傳輸速率 較低,傳輸距離較短,抗干擾能力較差,而且最重要的是它只適合點(diǎn)對(duì)點(diǎn)的連接方式;RS-485也是一個(gè)常用的通信規(guī)范,它可以實(shí)現(xiàn)半雙工的總線型的網(wǎng)絡(luò),總線上允許連接多收發(fā)器,即具有多站能力;而CAN(控制器局域網(wǎng))具有現(xiàn)場(chǎng)總線的特征,與RS-485相比,CAN的信號(hào)形式更適合于熱插拔,而且它的網(wǎng)絡(luò)層協(xié)議在滿足模塊間通信高實(shí)時(shí)性要求的同時(shí),與定時(shí)觸發(fā)的TIP相比更適合不定時(shí)傳送信息的要求。CAN繼承了集散控制系統(tǒng)(DCS)的優(yōu)點(diǎn),可以更方便地構(gòu)建模塊間通信網(wǎng)絡(luò)。

本文介紹利用CAN總線,實(shí)現(xiàn)組合機(jī)床電控系統(tǒng)間通信的系統(tǒng)設(shè)計(jì)與應(yīng)用,給出模塊控制器以及監(jiān)控PC機(jī)的CAN總線接口的硬件設(shè)計(jì),和應(yīng)用層協(xié)議軟件的設(shè)計(jì)思路。

系統(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ù)采集和加工過(guò)程控制兩部分,前者由掛接在CAN總線上的數(shù)據(jù)采集單元完成,主要是從總線上收集有關(guān)組合機(jī)床的運(yùn)行數(shù)據(jù)(由組合機(jī)床上的控制單元提供),進(jìn)行一些基本的數(shù)據(jù)處理和診斷,如有關(guān)傳感器、執(zhí)行器是否失效,然后將有關(guān)數(shù)據(jù)和加工狀況存儲(chǔ)在擴(kuò)展的EPROM中,在適當(dāng)時(shí)刻將存儲(chǔ)的數(shù)據(jù)通過(guò)RS232總線上傳到監(jiān)控主機(jī)(PC)進(jìn)行分析。實(shí)際上可以直接把PC機(jī)掛接在CAN總線上。加工過(guò)程控制運(yùn)行在PC機(jī)上,主要是處理由數(shù)據(jù)采集系統(tǒng)發(fā)送的數(shù)據(jù),如動(dòng)力頭轉(zhuǎn)速、進(jìn)給量、切削深度等。這種分層處理的好處在于可以更好地利用PC數(shù)據(jù)處理能力以及已有的一些控制軟件資源,并且可以脫機(jī)處理。

監(jiān)控主機(jī)通過(guò)CAN總線從各模塊獲取現(xiàn)場(chǎng)控制數(shù)據(jù),監(jiān)控整個(gè)系統(tǒng)的工作狀態(tài),控制各模塊的投入和退出,完成人機(jī)對(duì)話,響應(yīng)近端和遠(yuǎn)端的操作。

各個(gè)組合機(jī)床電控單元間以及模塊與監(jiān)控主機(jī)之間通過(guò)CAN連接通信,通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用總線式結(jié)構(gòu)。

這種結(jié)構(gòu)的特點(diǎn)是多個(gè)節(jié)點(diǎn)共用一條傳輸線,結(jié)構(gòu)簡(jiǎn)單、成本低;采用無(wú)源抽頭連接,可靠性高。信息的傳輸采用CAN通信協(xié)議,線路利用率高。傳輸介質(zhì)為雙絞線,如需進(jìn)一步提高抗干擾能力,還可在控制器和傳輸介質(zhì)之間加接光電隔離。

● 硬件介紹

硬件包括TMS320LF2407A與CAN總線的接口、監(jiān)控機(jī)與CAN的接口。

由于LF2407A內(nèi)嵌CAN控制器,因此它的CAN總線接口只需一個(gè)完成電平轉(zhuǎn)換和線路驅(qū)動(dòng)的驅(qū)動(dòng)器PCA82C250T。

PCA82C250T是CAN協(xié)議控制器和物理總線的接口,對(duì)總線提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力,完全符合“ISO11898”標(biāo)準(zhǔn)。在CAN總線的網(wǎng)絡(luò)終端,總線上需加一個(gè)120Ω的匹配電阻。

監(jiān)控機(jī)使用了工業(yè)控制用PC機(jī),與CAN的接口用一塊CAN總線通信接口適配卡實(shí)現(xiàn),適配卡插在PC機(jī)的擴(kuò)展槽內(nèi)。

● LF2407A的CAN控制器

LF2407A的CAN控制器是一個(gè)16位的外設(shè)模塊,可以通過(guò)設(shè)置或讀取內(nèi)部寄存器來(lái)訪問(wèn)CAN控制器。LF2407A的CAN控制器由可編程位定時(shí)器和6個(gè)郵箱組成。郵箱方式是CAN控制器的特點(diǎn),郵箱是一個(gè)48×16位的RAM空間,此空間分為6個(gè)郵箱,每個(gè)郵箱由郵箱標(biāo)識(shí)寄存器、郵箱控制寄存器及4×16位的存儲(chǔ)空間組成,其中郵箱0和郵箱1是接收郵箱,郵箱4和郵箱5是發(fā)送郵箱,而郵箱2和郵箱3則可隨意配置成發(fā)送或接收郵箱。CPU以統(tǒng)一的內(nèi)存編址來(lái)訪問(wèn)這些郵箱寄存器。

LF2407A的CAN控制器支持CAN2.0協(xié)議,有自動(dòng)重發(fā)功能,支持?jǐn)?shù)據(jù)幀和遠(yuǎn)程幀,數(shù)據(jù)收發(fā)采用郵箱方式,可工作在標(biāo)準(zhǔn)模式和擴(kuò)展模式,有可編程位定時(shí)器,可編程實(shí)現(xiàn)總線喚醒功能,可對(duì)中斷配置編程。TMS320LF2407A芯片的這些特點(diǎn)方便了系統(tǒng)功能的實(shí)現(xiàn)。

CAN網(wǎng)絡(luò)發(fā)送周期

該圖為在其他站處于等待狀態(tài)時(shí),一次成功發(fā)送周期的時(shí)序圖,成功發(fā)送周期=傳輸時(shí)延+傳輸時(shí)間。

由于CAN網(wǎng)絡(luò)的信息傳遞是基于ID優(yōu)先權(quán)的競(jìng)爭(zhēng)機(jī)制仲裁。當(dāng)t時(shí)刻發(fā)生在A節(jié)點(diǎn)仲裁場(chǎng)結(jié)束之前,即有不少于兩個(gè)站同時(shí)發(fā)送時(shí),需根據(jù)優(yōu)先權(quán)的比較結(jié)果,決定發(fā)送站的成功發(fā)送周期時(shí)序。這里的“同時(shí)”可定義為,“當(dāng)節(jié)點(diǎn)A發(fā)送信息時(shí),另一個(gè)節(jié)點(diǎn)B在t時(shí)刻發(fā)送信息,若t時(shí)刻發(fā)生在A節(jié)點(diǎn)仲裁場(chǎng)結(jié)束之前,則稱A節(jié)點(diǎn)和B節(jié)點(diǎn)為同時(shí)發(fā)送信息”。在仲裁場(chǎng)結(jié)束之后,信息的成功發(fā)送周期由優(yōu)先權(quán)的比較結(jié)果決定。此時(shí),優(yōu)先權(quán)高的占據(jù)總線,信息得以成功發(fā)送,優(yōu)先權(quán)低的發(fā)送失敗,等待下一次發(fā)送。此時(shí)若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ā)送時(shí)間加上兩節(jié)點(diǎn)同時(shí)發(fā)送進(jìn)行優(yōu)先權(quán)比較時(shí)A節(jié)點(diǎn)的仲裁場(chǎng)時(shí)間,即成功發(fā)送周期=傳輸時(shí)間+2×最大傳輸時(shí)延+仲裁場(chǎng)時(shí)間。若t時(shí)刻發(fā)送在A節(jié)點(diǎn)仲裁場(chǎng)結(jié)束之后,則B節(jié)點(diǎn)等待下一次發(fā)送,成功發(fā)送周期不變。

CAN控制器的編程

● 包過(guò)濾功能的編程

CAN結(jié)點(diǎn)對(duì)數(shù)據(jù)包的選擇接收是通過(guò)接收包過(guò)濾功能來(lái)實(shí)現(xiàn)的。在數(shù)據(jù)鏈路層LLC(邏輯鏈路控制)子層實(shí)現(xiàn)數(shù)據(jù)包過(guò)濾。只有符合一定條件的數(shù)據(jù)包才會(huì)被該節(jié)點(diǎn)接收,其他數(shù)據(jù)包在底層即被丟棄。因此只要在發(fā)送節(jié)點(diǎn)為數(shù)據(jù)包設(shè)置正確的標(biāo)示符,即可將其發(fā)送到指定的一個(gè)或多個(gè)節(jié)點(diǎn)。利用CAN總線端口驗(yàn)收碼AC,驗(yàn)收屏蔽碼AM,報(bào)文標(biāo)識(shí)符ID的關(guān)系,即可實(shí)現(xiàn)上述目的。設(shè)目的CAN端口驗(yàn)收碼、驗(yàn)收屏蔽碼分別為AC、AM,則源CAN端口報(bào)文標(biāo)識(shí)符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)對(duì)點(diǎn),一點(diǎn)對(duì)多點(diǎn),以及多主機(jī)的工作方式。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉