控制器局域網(wǎng)絡基礎(CAN BUS Basic)_第1頁
控制器局域網(wǎng)絡基礎(CAN BUS Basic)_第2頁
控制器局域網(wǎng)絡基礎(CAN BUS Basic)_第3頁
控制器局域網(wǎng)絡基礎(CAN BUS Basic)_第4頁
控制器局域網(wǎng)絡基礎(CAN BUS Basic)_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、內容提要 一、CAN總線概述二、CAN總線主要規(guī)格參數(shù)三、使用CAN總線的好處四、報文幀結構(Message Frames)五、報文廣播(Message Broadcasting)六、總線仲裁(Bus Arbitration)七、數(shù)據(jù)傳輸同步(Data Transfer Synchronization)八、錯誤偵測和故障界定(Error Detection and Fault Confinement)九、物理層(Physical Layer)2022-1-29CAN BUS Basic2CAN總線概述CAN BUS Basic2022-1-293概述控制器局域網(wǎng)絡(Controller Are

2、a Network,簡稱CAN)主要用于各種過程(設備)監(jiān)測及控制。CAN最初是由德國的Bosch公司為汽車的監(jiān)測與控制設計的,但由于CAN總線本身的突出特點,其應用領域目前已不再局限于汽車行業(yè)。簡化了程序員的工作,把總線仲裁、錯誤偵測和故障界定等工作都集成到了芯片之中。2022-1-29CAN BUS Basic4什么是CAN?用于實時應用的串行數(shù)據(jù)通信總線成本效能高于其它串行系統(tǒng)如RS232和TCP/IP比其它串行總線系統(tǒng)更容易使用最高波特率1MBit/sec卓越的錯誤偵測和故障界定能力極高的可靠性大量用于工業(yè)自動化和控制應用替代昂貴和復雜的Dual-Port RAM技術已經(jīng)成為國際標準:

3、ISO11898CAN BUS Basic2022-1-295發(fā)展歷程-從構想到第一塊芯片CAN BUS Basic2022-1-296CAN簡史年份年份里程碑里程碑1983Bosch啟動車輛網(wǎng)絡發(fā)展項目1986CAN協(xié)議正式推出1987Intel和Philips公司推出各自的第一款CAN控制芯片1991Bosch發(fā)布CAN 2.0規(guī)范1992CiA (CAN in Automation)國際用戶和制造商協(xié)會成立1992CiA發(fā)布CAN應用層協(xié)議(CAL)1992第一臺裝備CAN的汽車從Mercedes-Benz出廠1993ISO 11898發(fā)布1994CiA組織第一屆國際CAN會議iCC (

4、International CAN Conference)1994Allen-Bradley發(fā)布DeviceNet協(xié)議1995ISO 11898修訂版發(fā)布,定義了擴展幀格式1995CiA發(fā)布CANopen協(xié)議2022-1-29CAN BUS Basic7CAN應用乘用車卡車和公共汽車非路用車輛客運及貨運列車船用電子航空及航天電子工廠自動化工業(yè)機器控制建筑自動化升降機和自動扶梯醫(yī)療設備其它更多領域2022-1-29CAN BUS Basic8CAN-in-Automation (CiA)CiA是國際用戶與制造商組織,它發(fā)展和支持CAN標準和基于CAN的高層協(xié)議。所有的活動都是基于會員的興趣、參與

5、和主動。CiA積極推動CAN成為國際標準與國家標準。CiA起草和發(fā)布CiA標準。這些標準包括不僅物理層定義,而且包括應用層和設備屬性描述。網(wǎng)址:2022-1-29CAN BUS Basic9國際標準ISO 11898ISO 11898包括以下部分:數(shù)據(jù)鏈路層和物理信號高速介質訪問單元(medium access unit)低速、容錯的(fault-tolerant)、專用媒體界面(medium dependent interface)時間觸發(fā)的通信2022-1-29CAN BUS Basic10CAN總線主要規(guī)格參數(shù)C

6、AN BUS Basic2022-1-2911CAN性質概述基于總線訪問的多主機通信非破壞性仲裁多路廣播,報文驗收濾波遠程數(shù)據(jù)請求配置靈活性全系統(tǒng)范圍的數(shù)據(jù)一致性錯誤偵測和錯誤信號報告自動重發(fā)仲裁失敗的報文自動重發(fā)被錯誤破壞的報文識別節(jié)點的暫時錯誤與永久失效自發(fā)注銷(deactivation)有缺陷的節(jié)點2022-1-29CAN BUS Basic12幀在CAN的標準語言中,報文被稱為“幀”。發(fā)送到總線上的幀必須遵守一定格式且有長度限制。CAN總線定義了四種不同的幀,用于總線通訊。1、最常用的是“數(shù)據(jù)幀”,用于一個節(jié)點傳送信息到其它任一或所有節(jié)點;2、“遠程幀”,基本上是一個數(shù)據(jù)幀但其中的RT

7、R位被置1,表明這是一個“遠端發(fā)送請求”,用于一個節(jié)點主動要求其它節(jié)點發(fā)送信息;3 、“錯誤幀”,如果節(jié)點在接收過程中檢測到任一在CAN總線協(xié)議中定義了的錯誤信息,它就會發(fā)送一個錯誤幀;4、“過載幀”,當一個節(jié)點正忙于處理接收的信息,需要額外的等待時間接收下一報文時,可以發(fā)送過載幀,通知其它節(jié)點暫緩發(fā)送新報文。2022-1-29CAN BUS Basic13多主機總線訪問為保證節(jié)點之間的直接通信、提供最大速度及可靠性,CAN不采用主/從網(wǎng)絡結構。所有節(jié)點都具有同等的權利,每一個節(jié)點在傳輸/請求數(shù)據(jù)時都是一個主機。采用非破壞性總線仲裁解決沖突問題,傳輸?shù)膬?yōu)先權由報文本身的仲裁位決定(較小的ID有

8、較大的優(yōu)先權)。仲裁失敗的報文不會丟失,只是暫緩發(fā)送。2022-1-29CAN BUS Basic14如何實現(xiàn)非破壞性的位仲裁?為了達到這種“非破壞性的位仲裁方式”,CAN總線協(xié)議必須滿足一些前提條件。首先,必須定義兩種邏輯狀態(tài)在這里叫作“支配位(DOMINANT)” (又稱“顯性”電平)和“順從位(RECESSIVE)”(又稱 “隱性”電平);然后,節(jié)點在發(fā)送過程中必須檢測剛剛發(fā)出的狀態(tài)是否就是信息中所描述的內容。在CAN總線的定義中,邏輯0為支配位,邏輯1為順從位。2022-1-29CAN BUS Basic15平均電壓電平U隱性位隱性位顯性位時間TVdiffVdiffVdiff報文廣播報

9、文廣播基于生產(chǎn)者/消費者原理。一個節(jié)點在發(fā)送報文時就是生產(chǎn)者,其余節(jié)點都是消費者。每個節(jié)點一直偵聽著總線,接收所有的報文,然后進行過濾。沒有報文確認,以免增加不必要的總線通信量。CAN通過“錯誤檢測”機制處理可能的問題。另外,還利用“故障界定”機制排除故障節(jié)點,讓總線恢復正常。當然,CAN也可以運用“遠程幀”進行數(shù)據(jù)請求。CAN BUS Basic2022-1-2916報文優(yōu)先級CAN節(jié)點不關心系統(tǒng)配置,如節(jié)點地址等。CAN數(shù)據(jù)傳輸是以唯一的報文ID(11位或29位)來區(qū)分的,同時它又代表了報文優(yōu)先級。較小的ID優(yōu)先級較高。即使總線負載較高,高優(yōu)先級的報文也會以最快的時間發(fā)送。報文傳輸是以事件

10、驅動的,可以降低總線負載,保證實時應用的時效性。CAN BUS Basic2022-1-2917短報文CAN報文支持0至8字節(jié)的數(shù)據(jù)長度,與其它技術相比,這是一種比較短的報文。短報文有利于提高時效性(針對高優(yōu)先級報文),以及惡劣電磁環(huán)境的承受能力。有些高層協(xié)議支持更長的報文,可以被更高優(yōu)先級的短報文中斷,之后再恢復傳輸。Process Data Objects = PDOService Data Object = SDOCAN BUS Basic2022-1-2918數(shù)據(jù)速率和報文頻率雖說CAN的最高速率1 Mbit/sec不像是很高,但結合短報文、高效防沖突機制、錯誤檢測及故障界定能力等特點

11、,讓CAN更適合實時應用。TCP/IP擁有100 Mbit/sec的數(shù)據(jù)傳輸速率,但不強制要求時間的精確,故不太適合實時應用。CAN的凈數(shù)據(jù)傳輸率為17543至70168數(shù)據(jù)字節(jié)每秒。CAN BUS Basic2022-1-2919總線仲裁CAN使用二條導線組成物理總線,所以必須采用總線仲裁機制防止數(shù)據(jù)傳輸沖突。沖突可能發(fā)生在兩個或多個節(jié)點幾乎同時向總線發(fā)送報文的時候。CAN采用非破壞性總線仲裁,不會有報文丟失。高優(yōu)先級的報文贏得總線訪問權,低優(yōu)先級的報文則等待它們的時間到來。在1 Mbit/sec速率及11 Bit報文ID條件下,仲裁完成時間為12微秒。CAN BUS Basic2022-1

12、-2920錯誤偵測和故障界定跟報文確認相比,CAN采用更為進取的方式來保證報文的一致性。它用錯誤偵測代替報文確認,可以有效地降低不必要的數(shù)據(jù)傳輸量。每個節(jié)點接收所有報文,經(jīng)過過濾決定忽略或處理。同時,每個節(jié)點會檢查報文是否遵從協(xié)議標準,若有任一節(jié)點不確認,則由發(fā)報者向總線發(fā)送一個錯誤幀。錯誤可能有兩個原因:發(fā)送錯誤和接收錯誤。經(jīng)過統(tǒng)計,確定是暫時錯誤還是永久故障。永久錯誤的節(jié)點將被移除,以免增加不必要的通信量。CAN的錯誤恢復時間很短,最大為23個位時間。若總線波特率為1 Mbit/sec,這個時間是23微秒。CAN BUS Basic2022-1-2921CAN總線的技術特點總結多主網(wǎng)絡報文

13、分級非破壞性總線仲裁報文過濾通信距離長節(jié)點數(shù)短幀結構數(shù)據(jù)出錯率低通信介質節(jié)點故障處理2022-1-29CAN BUS Basic22使用CAN總線的好處CAN BUS Basic2022-1-2923CAN控制器固件應用軟件7、應用層6、表示層5、會話層4、傳輸層3、網(wǎng)絡層2、數(shù)據(jù)鏈路層1、物理層應用層真正影響操作系統(tǒng)或CAN設備應用數(shù)據(jù)鏈路層實現(xiàn)前面一章介紹的所有功能物理層硬件信號電壓與正時2022-1-29CAN BUS Basic24未使用高層協(xié)議使用高層協(xié)議集成在CAN芯片之中低成本實現(xiàn)世界主要半導體廠商都生產(chǎn)他們的CAN芯片,大量的應用保證了低芯片價格:MotorolaPhilips

14、IntelInfineon低成本地實現(xiàn)在新的應用與TCP/IP相比,存儲器需求更低CAN BUS Basic2022-1-2925速度、可靠性與糾錯能力在惡劣的電磁環(huán)境中運行的能力高度時效性容易使用極短的仲裁時間:微秒級極短的錯誤恢復時間:微秒級CAN BUS Basic2022-1-2926世界性認可眾多廠商提供控制器、界面卡、分析軟件、高層協(xié)議主要半導體廠商支持乘用車、卡車、非路用機械CAN BUS Basic2022-1-2927高層協(xié)議應用軟件7、應用層6、表示層5、會話層4、傳輸層3、網(wǎng)絡層2、數(shù)據(jù)鏈路層1、物理層在一些后來擴展的領域,需要高層協(xié)議已經(jīng)有多種高層協(xié)議高層協(xié)議的功能:允

15、許一條報文超過8字節(jié)嵌入式系統(tǒng),可能需要配置成客戶機/服務器模式提供網(wǎng)絡管理網(wǎng)絡啟動節(jié)點監(jiān)視、同步等2022-1-29CAN BUS Basic28未使用高層協(xié)議使用高層協(xié)議ISO/OSI Reference ModelCANopen適合嵌入式應用最初為動作控制設計開發(fā)與維護:CAN-in-Automation User Group2022-1-29CAN BUS Basic29DeviceNet適合工業(yè)應用開發(fā):Allen Bradley / Rockwell維護:Open DeviceNet Vendor Association (ODVA)規(guī)范內

16、容:Common Industrial Protocol (CIP)DeviceNet Adaptation of CIPCAN BUS Basic2022-1-2930SAE J1939為卡車、公共汽車、農(nóng)業(yè)機械的應用而定義開發(fā):Society of Automotive Engineers (SAE)The Society of Automotive Engineers (SAE) Truck and Bus Control and Communications Subcommittee被廣泛接受的工業(yè)標準,應用擴展至建

17、筑業(yè)、物料搬運、林業(yè)機械等CAN BUS Basic2022-1-2931CANBUS與RS485比較比較特性RS485CAN BUS成本低廉稍高總線利用率低高網(wǎng)絡特性單主網(wǎng)絡多主網(wǎng)絡數(shù)據(jù)傳輸率低高容錯機制無可靠的錯誤處理和檢錯機制通信失效率高極低節(jié)點錯誤的影響導致整個網(wǎng)絡的癱瘓無任何影響通信距離小于1.5千米可達10千米(5kbps)網(wǎng)絡調試困難非常容易開發(fā)難度大小后期維護成本高低2022-1-29CAN BUS Basic32報文幀結構CAN BUS Basic2022-1-2933顯性與隱性總線電平介紹幀格式之前,有必要稍微了解物理層面的知識,因為這樣我們才可能說清楚一個幀起始位和總線仲

18、裁顯性電平為0V,隱性電平為5V顯性位永遠覆蓋隱性位2022-1-29CAN BUS Basic34節(jié)點A節(jié)點B節(jié)點C總線節(jié)點輸出與總線電平的關系節(jié)點輸出與總線電平的關系顯性與隱性總線電平(續(xù))節(jié)點ABC總線00000010010001101000101011001111相同ID的數(shù)據(jù)幀與遠程幀:數(shù)據(jù)幀優(yōu)先級高于遠程幀數(shù)據(jù)幀的RTR位為顯性遠程幀的RTR位為隱性2022-1-29CAN BUS Basic35數(shù)據(jù)幀和遠程幀數(shù)據(jù)幀和遠程幀非常相似基本上,遠程幀是不帶數(shù)據(jù)場的數(shù)據(jù)幀2022-1-29CAN BUS Basic36SOF控制場CRC場ACK場EOFIFS仲裁場SOF控制場CRC場AC

19、K場EOFIFS仲裁場數(shù)據(jù)場總線空閑總線空閑總線空閑總線空閑遠程幀遠程幀數(shù)據(jù)幀數(shù)據(jù)幀數(shù)據(jù)幀如果RTR位為0(顯性),則是一個數(shù)據(jù)幀RTR位是參與總線仲裁的一部分2022-1-29CAN BUS Basic37SOF控制場CRC場ACK場EOFIFS仲裁場數(shù)據(jù)場總線空閑總線空閑數(shù)據(jù)幀結構數(shù)據(jù)幀結構SOF11位ID總線空閑RTR控制場、數(shù)據(jù)場、等等RTR = 0:數(shù)據(jù)幀RTR = Remote Transmission Request 遠程傳輸請求遠程幀請求發(fā)送數(shù)據(jù)被請求的數(shù)據(jù)使用同一個報文ID,但RTR位不同2022-1-29CAN BUS Basic38RTR = 1:遠程幀RTR = Rem

20、ote Transmission Request 遠程傳輸請求SOF11位ID總線空閑RTR控制場、數(shù)據(jù)場、等等SOF控制場CRC場ACK場EOFIFS仲裁場總線空閑總線空閑遠程幀結構遠程幀結構報文幀格式本節(jié)解釋幀結構,精確到“位”報文幀下列部分構成:幀起始(SOF)仲裁場,又分為報文ID和RTR位控制場,定義數(shù)據(jù)大小和報文ID長度數(shù)據(jù)場,真正的數(shù)據(jù)CRC場ACK場幀結束(EOF)幀間隔(幀間空間、間歇場,IFS)CAN BUS Basic2022-1-2939報文幀格式(續(xù)一:幀起始與結束)總線空閑總線空閑幀起始報文標識RTR控制場數(shù)據(jù)場CRC序列ACK幀結束IFS字節(jié)數(shù)111160 641

21、511173仲裁場CRC場幀結束ACK場位填充CAN數(shù)據(jù)幀幀間隔定界符位幀起始位遠程傳輸請求位一條報文,不管報文標識長度,都將以11個隱性位結束,包括:ACK定界符1位、幀結束場7位、幀間隔3位2022-1-29CAN BUS Basic40報文幀格式(續(xù)二:仲裁場)總線空閑幀起始11位報文標識SRR18位報文標識符DLC仲裁場位28最低有效位最高有效位IDERTRr1r0控制場位18位17位0總線空閑幀起始11位報文標識RTRDLC仲裁場位10最低有效位最高有效位IDEr0控制場位0擴展幀的仲裁場擴展幀的仲裁場標準幀的仲裁場標準幀的仲裁場2022-1-29CAN BUS Basic41報文幀

22、格式(續(xù)三:控制場與數(shù)據(jù)場)四個最低有效位表示數(shù)據(jù)長度(DLC = Data Length Code)最高有效位IDE指示標準幀(Bit = 0)或擴展幀(Bit = 1)DLC的取值范圍為0至8,表示數(shù)據(jù)場為0至8個字節(jié)遠程幀的DLC必須等返回的數(shù)據(jù)幀的DLC數(shù)據(jù)場最多8字節(jié),第一位是最高有效位2022-1-29CAN BUS Basic42仲裁場數(shù)據(jù)場(數(shù)據(jù)幀)或CRC場(遠程幀)IDE:標識符擴展位控制場保留DLC3IDEr0DLC2DLC1DLC0數(shù)據(jù)長度報文幀格式(續(xù)四:CRC場)15位CRC校驗碼是從幀起始一直到仲裁場、控制場、數(shù)據(jù)場的校驗和。不包括填充位。CRC最適合幀長度小于1

23、27位的校驗。CRC定界符位永遠為隱性(= 1),為CRC處理留出時間。2022-1-29CAN BUS Basic43數(shù)據(jù)場(數(shù)據(jù)幀)或控制場(遠程幀)ACK場CRC場15位CRC序列CRC定界符總線空閑總線空閑幀起始報文標識RTR控制場數(shù)據(jù)場CRC序列ACK幀結束IFS位填充CAN數(shù)據(jù)幀被校驗的部分報文幀格式(續(xù)五:ACK場)ACK場包含一個ACK槽位加上一個永遠為隱性的ACK定界符位ACK服務于所有接收節(jié)點,而不是僅僅一個接收節(jié)點在ACK槽,發(fā)送節(jié)點切換為接收模式,接收節(jié)點在CRC校驗成功后輸出一個顯性位2022-1-29CAN BUS Basic44接收模式接收模式CRC序列傳輸節(jié)點接

24、收節(jié)點接收節(jié)點CRC校驗成功CRC校驗失敗CRC定界(隱性)ACK定界(隱性)傳輸節(jié)點在ACK槽處為偵聽模式報文幀格式(續(xù)六:幀結束場,七個隱性位)每個報文幀,無論報文標識長度,都以11個連貫的隱性位終結,即1個ACK定界符、7個幀結束位、3個幀間隔位2022-1-29CAN BUS Basic45總線空閑總線空閑幀起始報文標識RTR控制場數(shù)據(jù)場CRC序列ACK幀結束IFS位填充CAN數(shù)據(jù)幀被校驗的部分CRC場ACK幀結束幀間空間1位數(shù)ACK定界符位73總線空閑擴展的CAN協(xié)議擴展的CAN協(xié)議,SAE J1939,可向后兼容J1708/J1587的功能標準幀與擴展幀可共存于同一CAN網(wǎng)絡,但標

25、準幀的優(yōu)先級更高2022-1-29CAN BUS Basic46仲裁場數(shù)據(jù)場(數(shù)據(jù)幀)或CRC場(遠程幀)IDE:標識符擴展位控制場保留DLC3IDEr0DLC2DLC1DLC0數(shù)據(jù)長度仲裁場數(shù)據(jù)場(數(shù)據(jù)幀)或CRC場(遠程幀)控制場DLC3r1r0DLC2DLC1DLC0數(shù)據(jù)長度保留CAN 2.0BCAN 2.0A標準格式與擴展格式一個隱性(高電平)的IDE位指示它是一個29位報文標識IDE在標準格式中屬于控制場,在擴展格式中屬于仲裁場2022-1-29CAN BUS Basic47總線空閑幀起始11位報文標識SRR18位報文標識符數(shù)據(jù)長度碼仲裁場位28最低有效位最高有效位IDERTRr1r

26、0控制場位18位17位0總線空閑幀起始11位報文標識RTR數(shù)據(jù)長度碼仲裁場位10最低有效位最高有效位IDEr0控制場位02929位報文標識位報文標識1111位報文標識位報文標識r1和r0永遠保持顯性錯誤幀錯誤幀可以終止數(shù)據(jù)幀和遠程幀。它是利用故意破壞CAN規(guī)則而實現(xiàn)的(規(guī)則:SOF直到校驗場,最多允許5個連續(xù)的、相同的極性。如果實際數(shù)據(jù)本身如此,就需要在發(fā)送節(jié)點插入填充位、并在接收節(jié)點使用過濾器)。2022-1-29CAN BUS Basic48未完成的幀6個位幀間空間錯誤條件發(fā)生錯誤幀3個位重新傳輸8個位錯誤標志錯誤界定未完成的幀6個位幀間空間錯誤條件發(fā)生錯誤幀3個位重新傳輸8個位錯誤標志錯

27、誤界定06個位“現(xiàn)實的現(xiàn)實的”錯誤幀結構錯誤幀結構基本錯誤幀結構基本錯誤幀結構錯誤幀(錯誤恢復時間)錯誤幀長度波特率總計錯誤恢復時間(錯誤幀 幀間空間)14位1 MBit/sec14 3 sec500 kBit/sec28 6 sec250 kBit/sec56 12 sec20位1 MBit/sec20 3 sec500 kBit/sec40 6 sec250 kBit/sec80 12 sec2022-1-29CAN BUS Basic49錯誤幀(錯誤標志)如果在CRC場檢測到錯誤,錯誤幀將延遲到ACK場之后發(fā)送,以免與ACK場沖突2022-1-29CAN BUS Basic50數(shù)據(jù)場(數(shù)

28、據(jù)幀)或控制場(遠程幀)幀結束場CRC場15位CRC序列CRC定界符(隱性)ACK場ACK槽位ACK定界位(隱性)錯誤幀(錯誤定界符)錯誤標志(6個連續(xù)的顯性位)后的第一個隱性位為該節(jié)點發(fā)出的錯誤定界符等待總線電平真的變?yōu)殡[性后,再發(fā)送7個連續(xù)的隱性位最先發(fā)送隱性位的節(jié)點為第一個報告錯誤的節(jié)點通過這一算法實現(xiàn)所有節(jié)點的同步,總線歸于空閑狀態(tài),傳輸節(jié)點進入新的總線競爭,接收節(jié)點回到接收模式2022-1-29CAN BUS Basic51過載幀過載幀是一種特殊版本的錯誤幀,但不同于錯誤幀的是,不會導致前面幀的重新傳輸。過載幀會導致任何節(jié)點的數(shù)據(jù)幀或遠程幀延遲發(fā)送。過載幀只會發(fā)生在幀與幀之間,幀結束

29、場之后。錯誤幀只會發(fā)生在數(shù)據(jù)幀或遠程幀內,所以被中斷的幀會需要重新傳輸。2022-1-29CAN BUS Basic52幀結束場6個位過載幀幀間空間或過載幀8個位過載標志過載界定幀間隔任何類型的幀之間的最小允許空間。此時不允許任何節(jié)點發(fā)送數(shù)據(jù)幀或遠程幀,只允許過載幀發(fā)送。錯誤幀和過載幀不需要幀間隔。雖然幀間空間不是一個數(shù)據(jù)幀或遠程幀的必要組成部分,但一個性能良好的網(wǎng)絡中,數(shù)據(jù)幀或遠程幀后面永遠跟著一個幀間隔。2022-1-29CAN BUS Basic53CRC場ACK幀結束幀間空間1位數(shù)ACK定界符位73總線空閑幀長度數(shù)據(jù)場0字節(jié)數(shù)據(jù)場8字節(jié)無位填充47位111位最大位填充(最壞的情況)55

30、位135位平均位填充49位114位2022-1-29CAN BUS Basic54傳輸時間數(shù)據(jù)字節(jié)幀長度波特率總幀時間最大報文數(shù)每秒049位1 MBit/sec49 微秒20408500 kBit/sec98 微秒10204250 kBit/sec196 微秒51028114位1 MBit/sec114 微秒8771500 kBit/sec228 微秒4385250 kBit/sec456 微秒21922022-1-29CAN BUS Basic55波特率考量波特率kBit/sec名義位時間微秒總線長度英尺 / 米10001120 / 405002360 / 1102504920 / 2801

31、2582030 / 6202022-1-29CAN BUS Basic56帶寬數(shù)據(jù)字節(jié)數(shù)總幀長度帶寬使用率(最高)1 (8 bits)57 位14%8 (64 bits)114 位56%11位標識數(shù)據(jù)字節(jié)數(shù)總幀長度帶寬使用率(最高)1 (8 bits)78 位10%8 (64 bits)135 位47%29位標識2022-1-29CAN BUS Basic57報文廣播CAN BUS Basic2022-1-2958報文廣播報文廣播基于生產(chǎn)者-消費者原理。傳輸節(jié)點為生產(chǎn)者,其它節(jié)點為消費者,所有節(jié)點在同樣的時間接收同樣的報文。這是一個多主網(wǎng)絡,在未發(fā)送報文時,節(jié)點都處于偵聽模式,會接收總線上所有

32、的報文,然后經(jīng)過過濾,對與本節(jié)點相關的報文才做出反應。CAN網(wǎng)絡中是沒有專門用于確認接收的報文的,以免增加不必要的通信量。CAN假定所有報文都遵守定義標準,否則就報告錯誤。并且,在一個節(jié)點發(fā)送報文時,其它所有節(jié)點都對它進行一致性檢查。一旦錯誤發(fā)生,會通知整個網(wǎng)絡。發(fā)生故障的節(jié)點會自動退出總線,而不至于引起整個網(wǎng)絡癱瘓。CAN標準也定義了遠程幀。本章介紹數(shù)據(jù)幀廣播和遠程幀廣播。2022-1-29CAN BUS Basic59數(shù)據(jù)幀廣播按定義,CAN節(jié)點不關心系統(tǒng)配置,如節(jié)點地址作為代替,節(jié)點在接收報文時會經(jīng)過過濾處理在同一時刻,除發(fā)送節(jié)點外,所有其它節(jié)點處于偵聽模式,它們收到完全相同的報文202

33、2-1-29CAN BUS Basic60應用節(jié)點A緩沖器過濾器應用節(jié)點B緩沖器過濾器應用節(jié)點C緩沖器過濾器應用節(jié)點D緩沖器過濾器 X遠程幀廣播請求報文案例:節(jié)點A發(fā)送遠程幀來請求數(shù)據(jù)節(jié)點B、C和D接收報文節(jié)點D 接受報文,節(jié)點B和C拒絕2022-1-29CAN BUS Basic61應用節(jié)點A緩沖器過濾器應用節(jié)點B緩沖器過濾器應用節(jié)點C緩沖器過濾器應用節(jié)點D緩沖器過濾器 XX總線仲裁CAN BUS Basic2022-1-2962總線仲裁概述由于所有節(jié)點共享由兩條導線構成的總線,所以必須制定規(guī)則以避免沖突、以及從沖突中恢復不同的現(xiàn)場總線使用不同的方式避免沖突CAN使用報文標識來避免沖突,優(yōu)先

34、級高的報文優(yōu)先使用總線,其它節(jié)點則轉為偵聽模式仲裁失敗的報文會在總線空閑后再次進入仲裁過程,所以CAN的仲裁機制是非破壞性的CAN BUS Basic2022-1-2963109 8 7 6 5 4 3 2 1 0總線仲裁原理RTRSOFSOFSOF控制場節(jié)點A仲裁階段節(jié)點B節(jié)點C節(jié)點D總線空閑空閑空閑空閑空閑數(shù)據(jù)場CRC場 ACK場 幀結束幀間隔接收模式接收模式接收模式12311位報文標識-高位在前2022-1-29CAN BUS Basic64總線仲裁規(guī)則仲裁規(guī)則以仲裁場進行仲裁,0為顯性位、1為隱性位,顯性位覆蓋隱性位總線空閑時,任何節(jié)點都可以發(fā)起傳輸較小的報文標識具有較高的優(yōu)先級,它將

35、贏得仲裁而繼續(xù)傳輸,其它節(jié)點則轉為偵聽模式仲裁失敗的節(jié)點會在總線空閑后立即進入新的仲裁,所以CAN提供了一種非破壞性仲裁CAN BUS Basic2022-1-2965“與”規(guī)則節(jié)點ABC總線00000010010001101000101011001111CAN BUS Basic2022-1-2966仲裁處理流程等待幀間空間的結束傳送幀起始位傳送下一個仲裁位仲裁位 = 總線電平 ?全部仲裁位傳輸完成 ?傳輸剩余的報文發(fā)送了顯性位?錯誤狀態(tài)轉為偵聽否否否是是是CAN BUS Basic2022-1-2967109 8 7 6 5 4 3 2 1 0總線仲裁示例說明RTRSOFSOFSOF控制場

36、節(jié)點A仲裁階段節(jié)點B節(jié)點C節(jié)點D總線空閑空閑空閑空閑空閑數(shù)據(jù)場CRC場 ACK場 幀結束幀間隔接收模式接收模式接收模式12311位報文標識-高位在前2022-1-29CAN BUS Basic68數(shù)據(jù)傳輸同步CAN BUS Basic2022-1-2969數(shù)據(jù)傳輸同步概述每個節(jié)點有自己的時鐘,由各自的晶振提供。所以不能保證各節(jié)點的時鐘是絕對同步的。事實上,由于環(huán)境溫、濕度等影響,晶振一定會有公差,所以必需進行補償。通常,電平的下降邊緣用于同步。CAN采用“不歸零(NRZ)”編碼方式,提供了最大的傳輸容量,但也導致用于同步的信號下沿不足,所以CAN使用下列方案解決這一問題:位填充連續(xù)再同步CAN

37、 BUS Basic2022-1-2970位編碼數(shù)據(jù)轉換為信號,稱為編碼有許多種編碼方式,如不歸零(Non-Return-to-Zero,NRZ)編碼、曼切斯特編碼、脈寬調制編碼CAN采用NRZ編碼NRZ編碼的特點:提供最高的傳輸容量在位時間中保持恒定電平缺乏足夠的信號邊緣用于比特流的同步需要進行位填充需要加入持續(xù)的位同步CAN BUS Basic2022-1-2971位填充CAN標準最多允許5個極性相同的位傳輸發(fā)送節(jié)點每傳輸5個極性相同的位,要插入一個極性相反的填充位接收節(jié)點濾去這些填充位允許位填充的報文場段包括:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC序列不允許位填充的報文場段包括:CRC定

38、界符、ACK場、幀結束場、幀間空間場錯誤幀和超載幀沒有位填充2022-1-29CAN BUS Basic72132插入 填充位移除 填充位位正時與同步位取樣點位時間位時間規(guī)劃同步相位錯誤與再同步晶振頻率公差范圍CAN BUS Basic2022-1-2973位正時與同步(續(xù))位定時與同步正常位時間是指在非重同步的情況下,借助理想發(fā)送器每秒發(fā)送的位時間,它可分為幾個互不重迭的時間段。這些時間段包括:同步段(SYNC-SEG)、傳播段(PROP-SEG)、相位緩沖段1(PHASE-SEG1)和相位緩沖段2(PHASE-SEG2),如下圖所示2022-1-29CAN BUS Basic74位正時與同

39、步(續(xù))同步段:用于補償總線上的各個節(jié)點,為此此段內需要有一個跳變沿。傳播段:用于補償網(wǎng)絡內的傳輸延遲時間,它是信號在總線上傳播時間、輸入比較時間和驅動器延遲時間總和的兩倍。相位緩沖段1和相位緩沖段2:用于補償沿的相位誤差,通過重同步,這兩個時間段可以被延長或縮短。采樣點:它是這樣一個時點,在此點上,仲裁電平被讀取,并被理解為各位的數(shù)值,采樣點位于相位緩沖段1的終點。時間份額:由振蕩器周期派生出的一個固定時間單元。存在一個可編程的分度值,其整體數(shù)值范圍為132,而位時間的總數(shù)必須被編程至少為825。硬同步:硬同步后,內部位時間從SYNC-SEG重新開始,因而,硬同步強迫由與硬同步而引起的沿處于

40、重新開始的位時間同步段之內。2022-1-29CAN BUS Basic75錯誤偵測和故障界定CAN BUS Basic2022-1-2976錯誤偵測位監(jiān)視逐位檢查比較發(fā)送位電平與總線電平校驗和檢查作用15個位做CRC校驗可變的位填充違反位填充規(guī)則即形成位填充錯誤幀檢查所有節(jié)點都會檢查報文幀是否符合標準ACK檢查所有接收節(jié)點進行ACK檢查發(fā)送節(jié)點有責任ACK位并且在必要時發(fā)送錯誤幀CAN BUS Basic2022-1-2977位監(jiān)視 - 不屬位錯誤的三種例外在仲裁期間,總線電平為顯性,節(jié)點發(fā)送隱性位。雖然總線與該節(jié)點電平不符,但不會引出一個位錯誤。在ACK槽位,總線電平為顯性,節(jié)點發(fā)送隱性位

41、。節(jié)點在發(fā)送一個被動錯誤幀(6個連續(xù)的隱性位)時,若檢測到一個顯性位,也不會導致位錯誤。CAN BUS Basic2022-1-2978幀檢查錯誤報文中有一些場始終是靜態(tài)的(隱性),這些場中出現(xiàn)顯性位就是幀錯誤:CRC定界符ACK定界符幀結束場幀間空間場也有三種例外情況:一個接收節(jié)點,在幀結束場的最后一位監(jiān)測到一個顯性位任何節(jié)點在錯誤定界符的最后一個位監(jiān)測到一個顯性位任何節(jié)點在過載定界符的最后一個位監(jiān)測到一個顯性位CAN BUS Basic2022-1-2979故障界定錯誤激活節(jié)點可以照常參加總線通訊,且當檢測到錯誤時,送出一個活動錯誤標志。不允許錯誤認可節(jié)點送出活動錯誤標志,它可參與總線通訊

42、,但當檢測到錯誤時,只能送出認可錯誤標志,且發(fā)送后仍被錯誤認可,直到下次發(fā)送初始化??偩€關閉狀態(tài)不允許節(jié)點對總線由任何影響,三種狀態(tài)轉換關系如下頁圖所示。CAN BUS Basic2022-1-2980節(jié)點故障狀態(tài)為了界定故障,在每個總線節(jié)點中都設有兩種計數(shù):發(fā)送出錯計數(shù)和接收出錯計數(shù),這些計數(shù)按照一定規(guī)則進行,計數(shù)值的范圍為0-256,當錯誤計數(shù)器數(shù)值大于96時,說明總線被嚴重干擾。2022-1-29CAN BUS Basic81錯誤激活錯誤認可總線關閉TEC 255TEC 128 或 REC 128TEC 127 和 REC 127重新啟動11個連續(xù)隱性位128次錯誤計數(shù)規(guī)則接收器檢查出錯誤時,接收器錯誤計數(shù)器加1,除非所有檢測錯誤是發(fā)送活動錯誤標志或超載標志期間的位錯誤。接收器在送出錯誤標志后的第一位檢查出顯性位時,錯誤計數(shù)器加8。發(fā)送器送出一個錯誤標志時,發(fā)送器錯誤計數(shù)器加8。有兩種情況例外:其一是如果發(fā)送器為錯誤認可,由于未檢測到顯性位應答或檢測到應答錯誤,并且在送出其

溫馨提示

  • 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

提交評論