網(wǎng)絡(luò)和現(xiàn)場總線模塊-CAN總線
CAN總線已經(jīng)獲得了巨大的成功,尤其是在機(jī)械制造領(lǐng)域,而且正在變得越來越重要。成功的原因包括高抗干擾性,高速數(shù)據(jù)傳輸,易用性以及確定性實時能力。CAN對于擁有易管理的遠(yuǎn)程I/O節(jié)點數(shù)和較少軸數(shù)的應(yīng)用而言是理想的解決方案。作為現(xiàn)場總線,CAN總線在處理規(guī)模更大更復(fù)雜的機(jī)器時會受到限制。然而對于這些應(yīng)用而言,POWERLINK是擴(kuò)展至更高性能范圍的理想之選。 |
報文傳輸按照生產(chǎn)者-消費者原則
CAN的報文傳輸是基于“生產(chǎn)者-消費者原則”。由生產(chǎn)者節(jié)點發(fā)送的報文可以由所有其它消費者節(jié)點接收。為此,報文并不是由目的地址標(biāo)明,而是由一個明確的“報文標(biāo)識符”標(biāo)記。報文發(fā)送給所有網(wǎng)絡(luò)節(jié)點也被稱為“廣播”。在CAN協(xié)議中,報文通常有一個11位長的標(biāo)識符(標(biāo)準(zhǔn)格式)。這意味著每個系統(tǒng)可以定義2048個不同的報文。這個數(shù)字足以應(yīng)對大多數(shù)的應(yīng)用。然而,對于特殊應(yīng)用(如重型車輛),也可以使用29位長的標(biāo)識符(擴(kuò)展格式),并定義最多5.12億個不同的報文。節(jié)點必須過濾掉與總線上的報文流相關(guān)的報文。
多主站,事件導(dǎo)向報文發(fā)送
一旦總線空閑,CAN網(wǎng)絡(luò)的每個節(jié)點都可以啟動報文傳輸。由于可能同時出現(xiàn)一個以上的網(wǎng)絡(luò)節(jié)點開始發(fā)送報文的情況,因此需要一個仲裁過程以確保實際上只有一個節(jié)點繼續(xù)發(fā)送其報文。
由于每個節(jié)點都可以啟動報文發(fā)送,因此可以在所有網(wǎng)絡(luò)節(jié)點間直接發(fā)送報文。因而也可以僅在需要時發(fā)送報文,即一個相應(yīng)的事件已經(jīng)發(fā)生。與循環(huán)發(fā)送報文相比,結(jié)果大大降低了總線負(fù)載,減少了所需的數(shù)據(jù)傳輸速率。
無損,逐位總線仲裁
由于在一個CAN網(wǎng)絡(luò)中,一旦總線空閑,每一個節(jié)點就會開始發(fā)送報文,因此多個節(jié)點可以在同一時間開始發(fā)送。為了防止破壞節(jié)點間發(fā)送的數(shù)據(jù),在所有同時仲裁的報文中確定具有優(yōu)先級的報文的過程被稱為“仲裁階段”。只有發(fā)送優(yōu)先級報文的網(wǎng)絡(luò)節(jié)點才可以繼續(xù)發(fā)送其報文。報文標(biāo)識符數(shù)值的報文優(yōu)先級。圖1顯示了總線仲裁機(jī)制。在仲裁階段,每個節(jié)點都會監(jiān)控總線上的信號電平。仲裁階段由發(fā)送報文標(biāo)識符以及所謂的RTR位所組成。如果一個網(wǎng)絡(luò)節(jié)點檢測到一個顯性總線電平(顯性位),雖然它已產(chǎn)生一個隱性電平(隱性位),那么它會立即中止傳輸過程,因為在這種情況下會同時發(fā)送更高優(yōu)先級的報文;所以它就進(jìn)入了接收狀態(tài)。由于報文都會通過總線仲裁發(fā)送,因此該過程確保了“無損”總線訪問。
優(yōu)先導(dǎo)向報文傳送
上述仲裁過程保證了在各種情況下,總線一旦空閑,就會始終傳輸具有優(yōu)先級的報文。報文優(yōu)先級是由報文標(biāo)識符的值確定的。該數(shù)值越小,報文的優(yōu)先級就越高。優(yōu)先導(dǎo)向報文原則可以非常有效地利用帶寬傳輸數(shù)據(jù)。因此,低優(yōu)先級的報文99%占用總線而基本不會延遲具有較高優(yōu)先級的報文傳輸。對于具有優(yōu)先級的報文而言,約130 µs的等待時間會導(dǎo)致1 Mbit/s的傳輸速率。另一方面,在設(shè)計CAN系統(tǒng)的時候,必須確保高優(yōu)先級報文不會經(jīng)常占用總線。例如,可以引入所謂的最小“傳輸阻塞時間”(CANopen:禁止時間)。
- 位速率和總線長度
CAN使用的逐位仲裁機(jī)制要求在一個位時間間隔內(nèi)對分布在總線上的所有網(wǎng)絡(luò)節(jié)點上的本地位電平進(jìn)行比較。由于在總線上分配信號所需的信號傳播時間與總線長度成正比,因此有必要根據(jù)總線長度的增加相應(yīng)延長一個位間隔的持續(xù)時間。因而根據(jù)下述公式,總線長度(網(wǎng)絡(luò)擴(kuò)展)與位速率成反比:位速率(Mbit/s) x 總線長度(m) ≤60。