第五章控制網(wǎng)絡與現(xiàn)場總線技術CAN_第1頁
第五章控制網(wǎng)絡與現(xiàn)場總線技術CAN_第2頁
第五章控制網(wǎng)絡與現(xiàn)場總線技術CAN_第3頁
第五章控制網(wǎng)絡與現(xiàn)場總線技術CAN_第4頁
第五章控制網(wǎng)絡與現(xiàn)場總線技術CAN_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

控制網(wǎng)絡與現(xiàn)場總線技術

第五章CAN總線技術

5.1、CAN總線技術與汽車網(wǎng)絡簡介CAN(controllerareanetwork)是控制器局城網(wǎng)的簡稱,是德國Bosch公司1986年為解決現(xiàn)代汽車中測量控制部件之間的數(shù)據(jù)交換問題而開發(fā)的一種串行數(shù)據(jù)通信總線。己經(jīng)被列入ISO國際標準,稱為ISO11898。目前、CAN已成為工業(yè)數(shù)據(jù)通信的主流技術之一。CAN作為數(shù)字式串行通信技術,與其他同類技術相比,在可靠性、實時性和靈活性方面具有獨特的技術優(yōu)勢。其主要特點如下:1、CAN網(wǎng)絡上的任一節(jié)點均可在任意時刻主動向網(wǎng)絡上其他節(jié)點發(fā)起通信,節(jié)點不分主從,通信方式靈活。利用這一特點可方便地構成多機備份系統(tǒng)。控制網(wǎng)絡與現(xiàn)場總線技術2、CAN網(wǎng)絡上的節(jié)點信息分成不同的優(yōu)先級,可滿足不同級別的實時要求,高優(yōu)先級的數(shù)據(jù)可在134us內得到傳輸。3、CAN采用非破壞性總線仲裁技術。當多個節(jié)點同時向總線發(fā)送信息時,優(yōu)先級較低的節(jié)點會主動地退出發(fā)送,而最高優(yōu)先級的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突的仲裁時間。即使是在網(wǎng)絡負載很重的情況下也不會出現(xiàn)網(wǎng)絡癱瘓情況。4、CAN通過報文濾波,實現(xiàn)點對點、一點對多點及全局廣播等幾種方式傳送接收數(shù)據(jù),無需專門的"調度"。5、CAN的直接通信距離最遠可達10km(速率在5Kbps以下);通信速率最高可達1Mbps(通信距離最長為40m)。控制網(wǎng)絡與現(xiàn)場總線技術6、CAN上的節(jié)點數(shù)主要決定于總線驅動電路,目前可達110個;報文標識符可達2032種(CAN2.0A);而CAN2.0B的報文標識符幾乎不受限制。7、采用短幀結構,傳輸時間短,受干擾概率低,具有極好的檢錯效果。8、CAN節(jié)點中設有錯誤檢測、標定和自檢等強有力措施。檢測錯誤的措施包括:位錯誤檢測、循環(huán)冗余校驗、位填充、報文格式檢查和應答錯誤檢測。保證了很低的數(shù)據(jù)出錯率。9、CAN的通信介質可為雙絞線、同軸電纜或光纖,選擇靈活。10、CAN器件可置于無任何內部活動的睡眠方式,相當于末連接到總線驅動器上。這可降低系統(tǒng)功耗。睡眠狀態(tài)可借助總線激活或系統(tǒng)內部條件喚醒??刂凭W(wǎng)絡與現(xiàn)場總線技術11、CAN節(jié)點在錯誤嚴重的情況下具有自動關閉輸出的功能,使總線上其他節(jié)點的操作不受影響。CAN在汽車電子系統(tǒng)中得到廣泛應用,已成為歐洲汽車制造業(yè)的主體行業(yè)標準,代表著汽車電子控制網(wǎng)絡的主流發(fā)展趨勢。現(xiàn)代汽車越來越多地采用電子裝置控制,例如發(fā)動機的定時注油控制,加速、剎車控制及防抱死剎車系統(tǒng)(ABS)等。由于這些控制需檢測及交換大量數(shù)據(jù),采用硬接信號線的方式不但煩瑣、昂貴,而且難以解決問題,而引入CAN通信技術,組成汽車內部網(wǎng)絡,有助于上述測量控制問題的解決。世界上一些著名的汽車制造廠商,例如Benz(奔馳)、BMW(寶馬)、Porsche(保時捷)、Roll-Royce(勞斯萊斯)等都已開始采用CAN總線來實現(xiàn)汽車內部控制系統(tǒng)與各檢測和執(zhí)行機構間的數(shù)據(jù)通信??刂凭W(wǎng)絡與現(xiàn)場總線技術汽車內部網(wǎng)絡由稱為ECU(電控單元)作為網(wǎng)絡節(jié)點的不同功能部件構成。分為動力、照明、操作、顯示、安全、娛樂等多個子系統(tǒng)。汽車內部的控制器、執(zhí)行器、監(jiān)測儀器、傳感器數(shù)量很多,按模擬系統(tǒng)的接線方式,一個傳統(tǒng)車輛的典型連線束展開后,其長度約為1600多米,有將近300個接頭,因而基于CAN總線的數(shù)據(jù)通信與網(wǎng)絡技術在汽車內部有良好的應用前景。圖1為基于CAN的汽車內部網(wǎng)絡的解決方案之一。圖中的動力系統(tǒng)采用傳輸速率大于25OKbps的CAN網(wǎng)段,車身電子系統(tǒng)采用傳輸速率不小于125Kbps的低速CAN網(wǎng)段,兩個子網(wǎng)之間通過中央模塊實現(xiàn)互聯(lián)。圖中各模塊中還標出了Motorola公司生產(chǎn)的可以實現(xiàn)節(jié)點功能的CAN微控制器型號??刂凭W(wǎng)絡與現(xiàn)場總線技術

圖1汽車內部網(wǎng)絡的解決方案示例控制網(wǎng)絡與現(xiàn)場總線技術CAN最初是為汽車的監(jiān)測、控制系統(tǒng)而設計的,但由于它在性能、可靠性等方面的技術優(yōu)勢與獨特設計,已經(jīng)為航天、電力、石化、冶金、紡織、造紙、倉儲等行業(yè)廣泛采用。在火車、輪船、機器人、樓宇自控、醫(yī)療器械、數(shù)控機床、智能傳感器、過程自動化儀表等自控設備中,都有CAN技術的身影。控制網(wǎng)絡與現(xiàn)場總線技術5.2、CAN通信技術隨著CAN的應用和推廣,對其通信協(xié)議的標準化也提出了要求。為此,1991年9月飛利浦半導體(Philipssemiconductors)公司制訂并發(fā)布了CAN技術規(guī)范(Version2.0)。該技術規(guī)范包括A和B兩部分。2.0A給出了CAN報文標準格式;2.0B給出了標準的和擴展的兩種格式。1993年11月ISO正式將它頒布為道路交通運輸工具-數(shù)據(jù)信息交換-高速通信控制器局域網(wǎng)標準:ISO11898。這為控制局域網(wǎng)的標準化、規(guī)范化推廣鋪平了道路??刂凭W(wǎng)絡與現(xiàn)場總線技術一、CAN的通信參考模型CAN的通信參考模型包括:數(shù)據(jù)鏈路層(包括邏輯鏈路子層LLC和介質訪問子層MAC)和物理層。通信參考模型如圖2所示。圖2CAN通信模型的分層結構控制網(wǎng)絡與現(xiàn)場總線技術LLC子層主要功能:為數(shù)據(jù)傳送和遠程數(shù)據(jù)請求提供服務,確認由LLC子層接收的報文實際已被接收,并為恢復管理和通知超載提供信息。MAC子層主要規(guī)定傳輸規(guī)則:控制幀結構、執(zhí)行仲裁、錯誤檢測、出錯標定和故障界定。MAC子層要為開始一次新的發(fā)送確定總線是否開放或者是否馬上開始接收。位定時特性也是MAC子層的一部分。MAC子層特性不存在修改的靈活性??刂凭W(wǎng)絡與現(xiàn)場總線技術物理層規(guī)定了節(jié)點的全部電氣特性。在一個網(wǎng)絡內,要實現(xiàn)不同節(jié)點間的數(shù)據(jù)傳輸,所有節(jié)點的物理層必須是相同的。然而,茬選擇物理層時存在很大的靈活性。CAN規(guī)范2.0B定義了數(shù)據(jù)鏈路中的MAC子層和LLC子層的一部分,并描述了與CAN有關的外層。物理層定義了信號怎樣進行發(fā)送,因而涉及位定時、位編碼和同步的描述。在這部分技術規(guī)范中未定義物理層中的驅動器、接收器特性。MAC子層是CAN協(xié)議的核心,它規(guī)定了報文幀的編碼、封裝、仲裁、應答、錯誤檢測和標定。MAC子層由稱之為故障界定的一個管理實體監(jiān)控,它具有識別永久故障或短暫擾動的自檢機制。LLC子層的主要功能是報文濾波、超載通知和恢復管理??刂凭W(wǎng)絡與現(xiàn)場總線技術二、CAN的報文傳送與幀結構

在數(shù)據(jù)傳輸中,發(fā)出報文的節(jié)點稱為該報文的發(fā)送器。節(jié)點在總線進入空閑狀態(tài)前或丟失仲裁一直為發(fā)送器。如一個節(jié)點不是報文發(fā)送器,且總線不處于空閑狀態(tài),則該節(jié)點為接收器。報文發(fā)送器和接收器確認某個報文為有效的時刻是不同的。對于發(fā)送器,如果直到幀結束的最后一位一直末出錯,則發(fā)送器認為該報文有效。如果報文受損,將允許自動重發(fā)送。對于接收器而言,如果直到幀結束的倒數(shù)第二位一直末出錯,則接收器認為該報文有效。

控制網(wǎng)絡與現(xiàn)場總線技術構成幀的幀起始位、仲裁場、控制場、數(shù)據(jù)場和CRC序列均借助位填充規(guī)則進行編碼。數(shù)據(jù)幀和遠程幀的其余位場,包括CRC定界符、應答場和幀尾,采用固定格式,不進行填充。出錯幀和超載幀都是固定格式,也不進行位填充。報文中的位流按非歸零(NRZ)碼的方法編碼。報文傳送由4種不同類型的幀表示:數(shù)據(jù)幀攜帶數(shù)據(jù)由發(fā)送器至接收器;遠程幀用以請求發(fā)送具有相同標識符的數(shù)據(jù)幀;出錯幀由檢測出總線錯誤的任何單元發(fā)送;超載幀用于提供當前和后續(xù)數(shù)據(jù)幀或遠程幀之間的附加延遲。數(shù)據(jù)幀和遠程幀借助幀間空間與當前幀分開??刂凭W(wǎng)絡與現(xiàn)場總線技術1、數(shù)據(jù)幀數(shù)據(jù)幀由7個不同的位場組成,即幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應答場和幀尾。數(shù)據(jù)場長度可為0。CAN2.0A數(shù)據(jù)幀的組成如圖3所示。圖3數(shù)據(jù)幀組成控制網(wǎng)絡與現(xiàn)場總線技術在CAN2.0B中存在兩種不同的幀格式,其主要區(qū)別在于標識符的長度,具有11位標識符的幀稱為標準幀,而包括29位標識符的幀稱為擴展幀。標準格式和擴展格式的數(shù)據(jù)幀結構如圖4所示。圖4標準格式和擴展格式數(shù)據(jù)幀控制網(wǎng)絡與現(xiàn)場總線技術為使控制器設計相對簡單,并不要求執(zhí)行完全的擴展格式,但必須完全執(zhí)行標準格式??刂破髦辽賾哂邢铝刑匦?,方可被認為與CAN技術規(guī)范兼容:每個控制器均支持標準格式;每個控制器均接受擴展格式報文,不至于因為格式而破壞擴展幀。CAN2.0B的報文濾波以整個標識符為基準。屏蔽寄薦器可用于選擇一組標識符,標識符被選中的報文會映像至接收緩沖器中,屏蔽寄存器的每一位都是可編程的。它的長度可以是整個標識符,也可以僅是其中一部分。(1)幀起始(SOF)標志數(shù)據(jù)幀和遠程幀的開始,它僅由一個顯位構成。只有在總線處于空閑狀態(tài)時,允許節(jié)點開始發(fā)送。所有節(jié)點都必須同步于首先開始發(fā)送的那個節(jié)點的幀起始位前沿??刂凭W(wǎng)絡與現(xiàn)場總線技術(2)仲裁場由標識符和遠程發(fā)送請求位(RTR)組成。仲裁場如下圖所示。CAN2.0A標準,標識符的長度為11位。RTR位在數(shù)據(jù)幀中是顯位,在遠程幀中為隱位。對CAN2.0B標準格式和擴展格式仲裁場格式不同。標準格式中,仲裁場由11位標識符和遠程發(fā)送請求位RTR組成,標識符位為ID.28一ID.18,擴展格式中,仲裁場由29位標識符和替代遠程請求SRR位、標識位IDE和遠程發(fā)送請求位組成,標識符位為ID.28-ID.0,分基本ID(ID.28~ID.18)和擴展ID(ID.17-ID.0)??刂凭W(wǎng)絡與現(xiàn)場總線技術標準格式與擴展格式中的控制場是有區(qū)別的。在標準格式中,控制場包括數(shù)據(jù)長度代碼DLC,IDE和保留位r0,保留位必須發(fā)送顯位,但接收器認可顯位與隱位的任何組合。數(shù)據(jù)長度碼DLC指出數(shù)據(jù)場的字節(jié)數(shù)目。數(shù)據(jù)長度碼為4位,在控制場中被發(fā)送。數(shù)據(jù)長度碼中數(shù)據(jù)字節(jié)數(shù)目編碼如表1所列,其中:d表示顯位,r表示隱位。數(shù)據(jù)字節(jié)允許使用的數(shù)值為0-8不能使用其他數(shù)值。(3)控制場由6位組成,如下圖所示。控制網(wǎng)絡與現(xiàn)場總線技術(4)數(shù)據(jù)場由數(shù)據(jù)幀中被發(fā)送的數(shù)據(jù)組成,它可包括0-8字節(jié),每字節(jié)8位。首先發(fā)送的是最高有效位。控制網(wǎng)絡與現(xiàn)場總線技術(5)CRC場:包括CRC序列,后隨CRC界定符。CRC場的結構如下圖所示。

(6)應答場(ACK)為兩位,包括應答間隙和應答界定符,如下圖所示??刂凭W(wǎng)絡與現(xiàn)場總線技術在應答場中,發(fā)送器送出兩個隱位。一個正確地接收到有效報文的接收器,將在應答間隙發(fā)送一個顯位,以此來告知發(fā)送器。應答界定符是應答暢的第二位,并且必須是隱位,因此應答間隙被兩個隱位(CRC界定符和應答界定符)包圍。(7)幀結束:每個數(shù)據(jù)幀和遠程幀均以7個連續(xù)的隱位作為結束標志??刂凭W(wǎng)絡與現(xiàn)場總線技術2、遠程幀接收器的節(jié)點可以通過向相應的數(shù)據(jù)源節(jié)點發(fā)送一個遠程幀來激活該源節(jié)點,讓它把該源節(jié)點的數(shù)據(jù)發(fā)送給接收器。遠程幀由6個不同位場組成 :幀起始、仲裁場、控制場CRC場、應答場和幀結束。與數(shù)據(jù)幀相反,遠程幀的RTR位是隱位。遠程幀不存在數(shù)據(jù)場。DLC的數(shù)據(jù)值是獨立的,它可以是0~8中的任何數(shù)值,這數(shù)值為對應數(shù)據(jù)幀的DLC。遠程幀的組成如下圖所示??刂凭W(wǎng)絡與現(xiàn)場總線技術3、出錯幀出錯幀由兩個不同場組成,第一個場由來自各站的錯誤標志疊加得到,第二個場是出錯界定符。出錯幀的組成如下圖所示。錯誤標志具有兩種形式:一種是活動出錯標志(activeerrorflag);一種是認可出錯標志(passiveerrorflag)?;顒映鲥e標志由6個連續(xù)的顯位組成;而認可出錯標志由6個連續(xù)的隱位組成,它可被來自其他節(jié)點的顯位改寫??刂凭W(wǎng)絡與現(xiàn)場總線技術一個檢測到出錯條件的"錯誤激活"節(jié)點通過發(fā)送一個活動出錯標志來指示出錯。這一出錯標志在格式上違背了由幀起始至CRC界定符的位填充規(guī)則,破壞了應答場或幀結束場的固定格式,因而其他節(jié)點將檢測到出錯條件并發(fā)送出錯標志。這樣,在總線上監(jiān)視到的顯位序列是由各個節(jié)點單獨發(fā)送的出錯標志疊加而成的。該序列的總長度在最小值6位到最大值12位之間變化。一個檢測到出錯條件的"錯誤認可"節(jié)點試圖發(fā)送一個錯誤認可標志來指明出錯。該錯誤認可節(jié)點以認可錯誤標志為起點,等待6個相同極性的連續(xù)位。當檢測到6個相同的連續(xù)位后,認可錯誤標志即告完成。出錯界定符包括8個隱位。出錯標志發(fā)送后,每個節(jié)點都送出隱位,并監(jiān)視總線,直到檢測到隱位,然后開始發(fā)送剩余的7個隱位??刂凭W(wǎng)絡與現(xiàn)場總線技術4、超載幀超載幀包括兩個位場:超載標志和超載界定符,如下圖所示。CAN2.0A指明了兩種導致發(fā)送超載標志的超載條件:一個是接收器因內部條件要求推遲下一個數(shù)據(jù)幀或遠程幀;另一個是在間歇場檢測到顯位。由前一個超載條件引起的超載幀起點,僅允許在間歇場的第一位時間開始,而由后一個超載條件引起的超載幀在檢測到顯位的后一位開始。在大多數(shù)情況下,為延遲下一個數(shù)據(jù)幀或遠程幀,兩種超載幀均可產(chǎn)生。根據(jù)CAN2.0B,有3種超載的情況,這3種情況都會引發(fā)超載標志的傳送:0接收器內部情況,即此接收器在接收下一個數(shù)據(jù)幀或遠程幀之前需要一個延時;0在"間歇暢"的第一或第散位檢測到顯位的情況;0如果CAN節(jié)點在錯誤定界符或超載定界符的第8位(最后一位)采樣到一個顯位,則該節(jié)點會發(fā)送一個超載幀(不是出錯幀),錯誤計數(shù)器不會增加。控制網(wǎng)絡與現(xiàn)場總線技術由情況0引發(fā)的超載幀只允許起始于間歇暢的第一個位時間;而由情況0或0引發(fā)的超載幀則起始于檢測到的顯位的后一位。通常為了延遲下一個數(shù)據(jù)偵或遠程幀的發(fā)送,兩種超載幀均可產(chǎn)生。超載標志由6個顯位組成。其全部形式對應于活動出錯標志形式。超載標志形式破壞了間歇暢的固定格式,因而所有其他節(jié)點都將檢測到一個超載條件,并且各自開始發(fā)送超載標志。如果在間歇暢的第3位檢測到顯位,則這個顯位將被認為是幀起始。超載界定符由8個隱位組成。超載界定符與錯誤界定符具有相同的形式。節(jié)點在發(fā)送超載標志后,就開始監(jiān)視總線,直到檢測到一個從顯位到隱位的跳變,這說明總線上的所有節(jié)點都已經(jīng)完成超載標志的發(fā)送,因此所有節(jié)點將開始發(fā)送超載界定符的剩下7個隱位??刂凭W(wǎng)絡與現(xiàn)場總線技術5、幀間空間數(shù)據(jù)幀或遠程幀,通過幀間空間與前一幀分隔開,不管前一幀是何種類型的幀(數(shù)據(jù)幀、遠程幀、出錯幀或超載幀)。而在超載幀與出錯幀前面不需要幀間空間,多個超載幀之間也不需要幀間空間來作分隔。幀間空間包括間歇場和總線空閑場,如果“出錯認可”節(jié)點是前一報文的發(fā)送器,則其幀間空間還包括一個“暫停發(fā)送場”。作為“活動出錯”的前一報文的發(fā)送器節(jié)點,或作為報文接收器的節(jié)點,其幀間空間如圖5(a)所示;而前一報文的發(fā)送器作為“錯誤認可”節(jié)點時,其幀間空間如圖5(b)所示??刂凭W(wǎng)絡與現(xiàn)場總線技術

圖5幀間空間控制網(wǎng)絡與現(xiàn)場總線技術間歇場由3個隱位組成。間歇期間,所有節(jié)點都不允許啟動發(fā)送數(shù)據(jù)幀或遠程幀,只能標示超載條件??偩€空閑時間可為任意長度。此時,總線是開放的,因此任何需要發(fā)送的節(jié)點均可訪問總線。在其他報文發(fā)送期間,暫時被掛起的待發(fā)送報文在間歇場后第一位開抬發(fā)送。此時總線上的顯位被理解為幀起殆。暫停發(fā)送銹是指;出鍺認可節(jié)點發(fā)完一個報文后,在開始下一次報文發(fā)送或認可總線空閑之前,緊隨間歇暢后送出s個隱位。如果此時另一節(jié)點開殆發(fā)送報文(由其他站引起,,則本站將變?yōu)閳笪慕邮掌???刂凭W(wǎng)絡與現(xiàn)場總線技術三、錯誤類型和界定CAN總線中存在5種錯誤類型:(1)位錯誤:節(jié)點在發(fā)送每一位的同時也對總線進行監(jiān)視,當監(jiān)視到總線的位數(shù)值與送出的位數(shù)值不同時,則在駭位時間里檢測到一個位錯誤。例外情況是,在仲裁竊的填充位流期間或應答間賒送出隱位而檢測到顯位時,不視為位錯誤。節(jié)點在炭送"出鍺認可標志"期間檢測到顯位,也不視為位錯誤。(2)填充錯誤:在應使用位填充方法進行編碼的報文中,若出現(xiàn)了第6個連續(xù)相同的位電平時,則判斷檢出一個位填充錯誤。(3)CRC錯誤:CRC序列是由發(fā)送器CRC計算的結果組成的。接收器以與發(fā)送器相同的方法計算出CRC序列。若計算結果與接收到的CRC序列不相同,則檢出一個CRC錯誤??刂凭W(wǎng)絡與現(xiàn)場總線技術(4)格式錯誤:若固定形式的位場中出現(xiàn)一個或多個非法位時,則檢出一個格式錯誤。(5)應答錯誤:在應答間隙,若發(fā)送器末檢測到顯位,則由它檢出一個應答錯誤。檢測到出錯條件的節(jié)點通過發(fā)送錯誤標志來指示錯誤。當任何節(jié)點檢出位錯誤、填充錯誤、格式錯誤或應答錯誤時,該節(jié)點將在下一位開始發(fā)送出錯標志。當檢測到CRC錯誤時,出錯標志在應答界定符后面那一位開始發(fā)送,除非其他出錯條件的錯誤標志在此之前已經(jīng)開始發(fā)送。在CAN總線中的故障狀態(tài)有3種:錯誤激活(erroractive)、錯誤認可(errorpassive)和總線關閉。檢測到出錯條件的節(jié)點通過發(fā)送出錯標志進行標定。對于錯誤激活節(jié)點,它為活動錯誤標志;而對于錯誤認可節(jié)點,發(fā)送認可錯誤標志??刂凭W(wǎng)絡與現(xiàn)場總線技術錯誤激活節(jié)點可以照常參與總線通信,當檢測到錯誤時,送出一個活動錯誤標志。當錯誤認可節(jié)點檢測到錯誤時,只能送出認可錯誤標志。總線關閉狀態(tài)不允許節(jié)點對總線有任何影響(如輸出驅動器關閉)。為了界定故障,在每個總線單元中都設有兩種計數(shù):發(fā)送出錯計數(shù)和接收出錯計數(shù)。這些計數(shù)按照下列規(guī)則進行(在設定的報文傳送期間,可應用其中一個以上的規(guī)則):(1)當接收器檢出錯誤時,接收出錯計數(shù)加1;在發(fā)送活動錯誤標志或超載標志期間接收器檢測到位錯誤時接收出錯計數(shù)不加1。(2)接收器在送出錯誤標志后在下一位時間檢測出顯位時,接收器鍺誤計數(shù)加8。控制網(wǎng)絡與現(xiàn)場總線技術(3)發(fā)送器送出一個錯誤標志時,發(fā)送錯誤計數(shù)加8。其中有兩個例外情況:一是發(fā)送器為“認可錯誤”,并檢測到一個應答錯誤(在應答間隙檢測不到顯位),而且在送出其被動成為錯誤標志期間沒有檢測到顯位。二是由于仲裁期間發(fā)生的填充錯誤,此填充位應讀為隱位,但卻檢測出為顯位,發(fā)送器送出一個出錯標志。在以上兩種例外情況下,發(fā)送器錯誤計數(shù)不改變。(4)發(fā)送器送出一個活動錯誤標志或超載標志時,檢測到位錯誤,則發(fā)送錯誤計數(shù)加8。(5)接收器送出一個活動錯誤標志或超載標志時,檢測到位錯誤,則發(fā)送錯誤計數(shù)加8。(6)在送出活動錯誤標志、認可錯誤標志后,最多允許7個連續(xù)的顯位。在這些標志后面,如果檢測到第8個連續(xù)的顯位,或者多于8個連續(xù)的顯位,則每個發(fā)送器的發(fā)送錯誤計數(shù)都加8并且每個接收器的接收錯誤計數(shù)也加8。(7)報文成功發(fā)送后(得到應答,并且直到幀結束末出現(xiàn)錯誤),則發(fā)送錯誤計數(shù)減1,除非它己經(jīng)為0??刂凭W(wǎng)絡與現(xiàn)場總線技術(8)報文成功接收后(直到應答間隙接收無錯誤,并且成功地送出應答位),如果計數(shù)器處于1~127之間,則接收錯誤計數(shù)器減1。若接收錯誤計數(shù)為0,則仍保持為0而若接收錯誤計數(shù)大于127,則將其值置為119-127之間的某個數(shù)值。(9)當某個節(jié)點的發(fā)送錯誤計數(shù)器等于或大于128,或接收錯誤計數(shù)器等于或大于128時,該節(jié)點進入錯誤認可狀態(tài)。導致節(jié)點變?yōu)殄e誤認可的錯誤條件使節(jié)點送出一個活動錯誤標志。(10)當發(fā)送錯誤計數(shù)大于或等于256時,節(jié)點進入總線關閉狀態(tài)。(11)當發(fā)送錯誤計數(shù)和接收錯誤計數(shù)兩者均變成小于或等于127時,錯誤認可節(jié)點再次變?yōu)殄e誤激活節(jié)點。(12)在監(jiān)測到總線上11個連續(xù)的隱位發(fā)生128次后,總線關閉節(jié)點將變?yōu)閮蓚€錯誤計數(shù)器均為0的錯誤激活節(jié)點。當錯誤計數(shù)器數(shù)值大于96時,說明總線被嚴重干擾。它提供測試此狀態(tài)的一種手段。若系統(tǒng)啟動期間僅有一個節(jié)點在線,此節(jié)點發(fā)出報文后,將得不到應答,檢出錯誤并重發(fā)該報文。因此,它將會變?yōu)殄e誤認可狀態(tài),但不會進人總線關閉狀態(tài)??刂凭W(wǎng)絡與現(xiàn)場總線技術

四、位定時與同步CAN總線中位定時要求包括如下概念:(1)正常位速率:在非重同步情況下,理想發(fā)送器每秒發(fā)送的位數(shù)。(2)正常位時間:正常位速率的倒數(shù),正常位時間分為幾個時間段:包括同步段(SYNC-SEG)、傳播段(PROP-SEG)、相位緩沖段1(PHASE-SEG1)和相位緩沖段2(PHASE-SEG2)。如下圖所示。

控制網(wǎng)絡與現(xiàn)場總線技術(3)同步段:用于同步總線上的各個節(jié)點。(4)傳播段:指網(wǎng)絡上用于傳輸?shù)难舆t時間;(5)相位緩沖段1和相位緩沖段2:用于彌補跳變沿的相位誤差造成的影響,通過重同步,這兩個時間段可被延長或縮短。(6)采樣點:采樣點是讀取總線電平并理解該位數(shù)值的時刻,它位于相位緩沖段1的終點。(7)信息處理時間:以采樣點為起點的一個時間段,后續(xù)的位電平用于理解該位數(shù)值。(8)時間份額:由振蕩器工作周期派生出的一個固定時間單元,有一個可編程的預置比例因子,其整數(shù)值范圍為1~32,以一個最小時間份額為起點,時間份額可為:時間份額=mx最小時間份額其中:m為預置比例因子??刂凭W(wǎng)絡與現(xiàn)場總線技術(9)硬同步:硬同步后,內部位時間以SYNC-SEG重新開始。迫使觸發(fā)該硬同步的跳變沿處于新的位時間的同步段(SYNC-SEG)之內。(10)重同步跳轉寬度:由于重同步的結果,PHASE-SEGl可被延長或PHASE-SEG2可被縮短。相位緩沖段長度的改變量不應大于重同步跳轉寬度。重同步跳轉寬度可編程為1和min(4,PHASE-SEG1)之間的值。時鐘信息可由一位數(shù)值到另一位數(shù)值的跳轉獲得??偩€上出現(xiàn)連續(xù)相同位的位數(shù)的最大值是確定的,在幀期間可利用跳變沿重新將總線單元同步于位流??杀挥糜谥赝降膬纱翁冎g的最大長度為29個位時間??刂凭W(wǎng)絡與現(xiàn)場總線技術(11)沿相位誤差:由沿相對于SYNC-SEG的位置給定,沿處于SYNC-SEG之內,e=0;沿處于采樣點之前,e>0;沿處于前一位的采樣點之后,e<0。(12)重同步:當引起重同步沿的相位誤差小于或等于重同步跳轉寬度編程值時,重同步的作用跟硬同步相同。若相位誤差大于重同步跳轉寬度且相位誤差為正,則PHASE-SEG1延長總數(shù)為重同步跳轉寬度。若相位誤差大于重同步跳磚寬度且相位誤差為負,則PHASE-SEG2縮短總數(shù)為重同步跳轉寬度。

控制網(wǎng)絡與現(xiàn)場總線技術(13)同步規(guī)則:硬同步和重同步是同步的兩種形式。它們遵從下列規(guī)則:a、在一個位時間內僅允許一種同步。b、對于一個跳變沿,僅當它前面的第一個采樣點數(shù)值與緊跟該跳變沿之后的總線值不相同時,才把該跳變沿用于同步。c、在總線空閑期間,若出現(xiàn)一個隱位至顯位的跳變沿,則執(zhí)行一次硬同步。d、符合規(guī)則a和規(guī)則b的從隱性到顯性的跳變沿都被用于重同步(在低位速時也可選擇從顯性到隱性的跳變沿),例外的情況是,具有正相位誤差的隱性到顯性的跳變沿將不會導致重同步。

控制網(wǎng)絡與現(xiàn)場總線技術五、CAN總線介質裝置CAN技術規(guī)范2.0B遵循ISO/OSI標準模型,分為邏輯鏈路層和物理層。其物理層包括位編碼-解碼、位定時及同步等內容,但對總線介質裝置,諸如驅動器-接收器未作規(guī)定,以便根據(jù)具體應用進行設計。在1993年形成的國際標準IS011898中對基于雙絞線的CAN總線介質裝置特性做了建議??刂凭W(wǎng)絡與現(xiàn)場總線技術ISO1898建議的電氣連接如圖5所示。這里,將連接于總線的每個節(jié)點稱為電子控制裝置(ECU)。總線的兩個末端均接有RL表示的抑制反射的終端負載電阻??偩€驅動可采用單線上拉、單線下拉或雙線驅動,接收采用差分比較器。圖5ISO11898建議電氣連接控制網(wǎng)絡與現(xiàn)場總線技術

總線可具有兩種邏輯狀態(tài):隱性或顯性。在隱性狀態(tài)下,VCANH和VCANL被固定于平均電壓電平,Vdiff近似為零。顯性狀態(tài)以大于最小閥值的差分電壓表示。顯位能改寫隱位??偩€上的位電平如圖6所示。若所有ECU的晶體管均被關閉,則總線處于隱性狀態(tài)。此時總線的平均電壓由具有高內阻的每個ECU電壓源產(chǎn)生。圖5示出了確定總線電平電阻網(wǎng)絡。

圖6總線上的位電平表示

控制網(wǎng)絡與現(xiàn)場總線技術5.3、CAN通信控制器CAN通信協(xié)議由CAN通信控制器完成。CAN通信控制器由實現(xiàn)CAN總線協(xié)議部分和與微控制器接口部分電路組成。不同型號的CAN總線通信控制器,實現(xiàn)CAN協(xié)議部分電路結構和功能大都相同,與微控制器接口部分的結構及方式存在一些差異。下面以Philips公司支持CAN2.0A協(xié)議的82C200和支持CAN2.0B協(xié)議的SJA1000對CAN控制器的結構、功能及應用加以介紹。

控制網(wǎng)絡與現(xiàn)場總線技術一、CAN通信控制器82C20082C200有PAC82C200和PCF82C200兩種類型。前者使用溫度范圍為-40OC-+125OC適用于汽車及某些軍用領域;后者適用于一般工業(yè)領域,溫度范圍為-40OC-+80OC,82C200具有完成CAN通信協(xié)議所要求的特性。通過簡單連接可完成CAN總線協(xié)議的物理層和數(shù)據(jù)鏈路層的功能,應用層功能由微控制器完成。82C200的功能框圖如圖7所示

控制網(wǎng)絡與現(xiàn)場總線技術

圖782C200功能框圖控制網(wǎng)絡與現(xiàn)場總線技術控制器主要由下述幾部分構成:(1)接口管理邏輯:接收來自微控制器的命令,分配控制信息緩沖器,并為微控制器提供中斷和狀態(tài)信息。(2)發(fā)送緩沖器:由10字節(jié)存儲單元組成,存儲由微控制器寫入將被發(fā)送到CAN總線的報文。(3)接收緩沖器0和1:均由10字節(jié)組成,交替存儲由總線接收到的報文,當一個緩沖器被分配給CPU時,位流處理器可以對另一個進行寫操作。(4)位流處理器:是控制發(fā)送緩沖器和接收緩沖器(并行數(shù)據(jù))與CAN總線(串行數(shù)據(jù))之間數(shù)據(jù)流的序列發(fā)送器。(5)位時序邏輯:將82C200同步于CAN總線上的位流。(6)收發(fā)邏輯:用來控制輸出驅動器。(7)錯誤管理邏輯:按照CAN協(xié)議完成錯誤界定。(8)控制器接口邏輯:與外部微控制器的接口,82C200可直接與多種微控制器相連接??刂凭W(wǎng)絡與現(xiàn)場總線技術下面介紹各寄存器的分配及功能。82C200的地址域由控制段和報文緩沖器組成,在初始化向下加載期間,控制段可被編程以配置通信參數(shù),CAN總線上的通信可通過此段由CPU控制。被發(fā)送的報文必須寫人發(fā)送緩沖器然后經(jīng)位流處理器發(fā)送到CAN總線上;接收報文時,必須先寫人接收緩沖器,成功接收后,微控制器可從接收緩沖器讀取報文,然后釋放它,準備下次使用。微控制器與82C200之間的行為狀態(tài)、控制和命令信號的交換在控制段中完成。初始化下載后,接收碼、接收屏蔽、總線定時0和1以及輸出控制器的內容不應改變。當控制器中的復位請求位置為高時,這些寄存器又可被訪問。以下說明控制段的10個寄存器。控制網(wǎng)絡與現(xiàn)場總線技術1、控制段寄存器。

(1)控制寄存器(CR):用于改變82C200的行為狀態(tài),微控制器可對寄存器進行讀寫操作。(2)命令寄存器(CMR):命令位初始化82C200傳輸層上的動作,命令寄存器是直寫寄存器。(3)狀態(tài)寄存器(SR):反映控制器的狀態(tài),狀態(tài)寄存器是直讀寄存器。(4)中斷寄存器(IR):中斷寄存器允許識別中斷源,當寄存器的一個或多個位被置位時,INT引腳被激活(低電平),該寄存器被控制器讀出后,所有位被82C200復位,中斷寄存器是只讀寄存器。(5)驗收碼寄存器(ACR):控制網(wǎng)絡與現(xiàn)場總線技術(6)驗收屏蔽寄存器(AMR):態(tài),微控制器可對寄存器進行讀寫操作。(7)總線定時寄存器0(BTR0):命令位初始化82C200傳輸層上的動作,命令寄存器是直寫寄存器。(8)總線定時寄存器1(BTR1):反映控制器的狀態(tài),狀態(tài)寄存器是直讀寄存器。(9)輸出控制寄存器(OCR):允許識別中斷源,當寄存器的一個或多個位被置位時,INT引腳被激活(低電平),該寄存器被控制器讀出后,所有位被82C200復位,中斷寄存器是只讀寄存器。(10)測試碼寄存器:僅用于生產(chǎn)測試。

控制網(wǎng)絡與現(xiàn)場總線技術2、發(fā)送緩沖器:3、接收緩沖器:4、時鐘分頻寄存器:控制網(wǎng)絡與現(xiàn)場總線技術三.SJA1000CAN通信控制器SJA1000CAN通信控制器是Philips公司于1997年推出的一種獨立CAN總線控制器,它實現(xiàn)了CAN總線物理層和數(shù)據(jù)鏈路層的所有功能。SJAlO00是PCA82C2O0的替代產(chǎn)品。PCA82C2O0支持CAN2.0A協(xié)議,可完成基本的CAN模式。SJAl000可完成增強CAN模式(PeliCAN),支持CAN2.0B協(xié)議。適用于汽車和一般工業(yè)環(huán)境??刂凭W(wǎng)絡與現(xiàn)場總線技術1、SJA1000的主要特點:引腳、電氣特性、軟件與PCA82C2O0兼容。增強CAN模式(PeliCAN)支持CAN2.0B協(xié)議,支持11位和29位標識符。具有64字節(jié)的FIFO擴展接收緩沖器。位通信速率高達1Mbps。采用24MHz時鐘頻率。支持多種微處理器接口??删幊虒AN輸出驅動進行配置。單觸發(fā)發(fā)送。不應答、不激活出錯標志的只聽模式。支持熱插拔??刂凭W(wǎng)絡與現(xiàn)場總線技術接收濾波器擴展為4字節(jié)編碼,4字節(jié)屏蔽。自身報文的接收(自接收請求)。工作溫度范圍為-40OC-+125OC。帶讀寫訪問的出錯計數(shù)器??赏ㄟ^編程設置出錯報警限。最近一次錯誤代碼寄存器??蓪偩€錯誤的出錯中斷。仲裁丟失中斷帶有位置細節(jié)信息??刂凭W(wǎng)絡與現(xiàn)場總線技術2,SJA1000的功能框圖與引腳說明

SJA1000的功能框圖如圖8所示,引腳圖見圖9。圖8可見,這種獨立的CAN控制器由以下幾部分構成:(1)接口管理邏輯IML:處理來自主CPU的命令,控制CAN寄存器的尋址,并為主CPU提供中斷和狀態(tài)信息。(2)發(fā)送緩沖器TxB:它是CPU和位流處理器(BSP)之間的接口,有13字節(jié)長。能存儲一條可發(fā)送到CAN總線上的完整報文。報文由CPU寫入,由位流處理器BSP讀出。

控制網(wǎng)絡與現(xiàn)場總線技術(3)接收緩沖器(RxB,13字節(jié)):接收FIFO(RXFIF0,64字節(jié))的一個可被CPU訪問的窗口。在接收FIFO的支持下,CPU可在處理當前信息的同時接收總線上的其他信息。(4)接收濾波器ACF:把收到的報文標識符和接收濾波寄存器中的內容進行比較,判斷該報文是否應被接收。如果符合接收的條件,則報文被存入RxFIFO。(5)位流處理器BSP:是一個序列發(fā)生器,它控制發(fā)送緩沖器,RxFIFO和CAN總線之間的數(shù)據(jù)流,同時它也執(zhí)行錯誤檢測、仲裁、位填充和CAN總線錯誤處理功能。

控制網(wǎng)絡與現(xiàn)場總線技術圖8SJA1000的功能框圖控制網(wǎng)絡與現(xiàn)場總線技術圖9SJA1000引腳排列圖控制網(wǎng)絡與現(xiàn)場總線技術(6)位時序邏輯BTL:監(jiān)視串行CAN總線并處理與總線相關的位時序。它在報文開始發(fā)送,總線電平從隱性跳變到顯性時同步于CAN總線上的位流(硬同步),并在該報文的傳送過程中,每遇到一次從隱性到顯性的跳變沿就進行一次重同步(軟同步)。BTL還提供可編程的時間段來補償傳播延遲時間和相位漂移(如晶振導致的漂移),還能定義采樣點以及每一個位時間內的采樣次數(shù)。(7)錯誤管理邏輯EML:它按照CAN協(xié)議完成傳輸錯誤界定。它接受來自BSP的出錯通知,并向BSP和IML提供出錯統(tǒng)計??刂凭W(wǎng)絡與現(xiàn)場總線技術3、SJA1000的增強功能SJA1000為增強出錯處理功能,增加了一些特殊功能寄存器,包括:仲裁丟失捕捉繼承器(ALC)、出錯代碼捕捉繼承器(ECC)、出錯警告限寄存器(EWLR);接收出錯計數(shù)寄存器(RXERR)和發(fā)送出錯計數(shù)寄存器(TXERR)等。借助出錯寄存器可以找到丟失仲裁位的位置,分析總線錯誤類型和位置,定義錯誤告警極限值、記錄發(fā)送和接收時出現(xiàn)底錯誤個數(shù)等??刂凭W(wǎng)絡與現(xiàn)場總線技術CAN控制器的出錯分析可通過以下3個途徑來實現(xiàn):(1)出錯寄存器:在增強CAN模式中,有兩個出錯寄存器;接收錯誤寄存器和發(fā)送出錯寄存器。對應的CAN相對地址為14和15。在調試階段,可以通過直接從這兩個寄存器Z讀取出錯計數(shù)器的值來判斷目前CAN控制器所處的狀態(tài)。(2)出錯中斷:增強CAN模式共有3種類型的出錯中斷源:總線出錯中斷、錯誤警告限中斷(可編程設置)和被動出錯中斷??梢栽谥袛嘣试S寄薦器(IER)中區(qū)分出以上各中斷,也可以通過直接從中斷寄存器(IR)中直接讀取中斷寄存器的狀態(tài)來判斷屬哪種出錯類型產(chǎn)生的中斷??刂凭W(wǎng)絡與現(xiàn)場總線技術(3)錯誤代碼捕捉寄存器(ECC)。當CAN總線發(fā)生錯誤時,產(chǎn)生相應的出錯中斷,與此同時,對應的錯誤類型和產(chǎn)生位置寫人錯誤代碼捕捉寄存器(對應的CAN相對地址為12)。這個代碼一直保存到被主控制器讀取出來后,ECC才重新被激活,可捕捉下一個錯誤代碼??梢詮腻e誤代碼捕捉寄存器讀取的數(shù)據(jù)來分析錯誤是屬于何種錯誤以及錯誤產(chǎn)生的位置,從而為調試工作提供了方便??刂凭W(wǎng)絡與現(xiàn)場總線技術SJAlO00有兩種自我測試方法:本地自我測試和全局自我測試。本地自我測試為單節(jié)點測試,它不需要來自其他節(jié)點的應答信號,可以自己發(fā)送數(shù)據(jù),自己接收數(shù)據(jù)。通過檢查接收到的數(shù)據(jù)是否與發(fā)送出去的數(shù)據(jù)相吻合,來確定該節(jié)點能否正常地發(fā)送和接收數(shù)據(jù)。方便了CAN通信電路的調試,使CAN通信電路的調試不再需要用一個正確的節(jié)點來確定某個節(jié)點是否能夠成功地發(fā)送和接收數(shù)據(jù)。只需將CAN控制器的模式寄存器(CMR)的第三位(MOD.2)設置為1,CAN控制器就會自動進人自我測試模式。雖然是單個節(jié)點進行自我測試,但CAN的物理總線必須存在。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論