<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > CAN總線基礎(chǔ)知識(shí)(三)

          CAN總線基礎(chǔ)知識(shí)(三)

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

          (2)仲裁域,這個(gè)域表示數(shù)據(jù)的優(yōu)先級(jí)別。這個(gè)域的結(jié)構(gòu),對(duì)標(biāo)準(zhǔn)和擴(kuò)展的格式是有差別的。

          注1:關(guān)于ID:

          標(biāo)準(zhǔn)格式的ID有11bit,從ID28到ID18被依次發(fā)送,禁止高7位全為隱性。(禁止設(shè)定:ID=1111111xxxx)。這樣總共有(2048-16)個(gè)ID能被使用。

          擴(kuò)展格式的ID有29個(gè)bit?;綢D從ID28到ID18,擴(kuò)展ID由ID17到ID0表示,基本ID和標(biāo)準(zhǔn)格式ID相同,禁止高7bit全都為隱性,(禁止設(shè)定:基本ID=1111111xxxx)。這樣總共有(2048-16)個(gè)ID能被使用。

          在任何情況下,總線上不可能有多個(gè)設(shè)備在同一時(shí)刻使用同一個(gè)ID傳輸數(shù)據(jù)幀。

          (3)控制域,占6個(gè)bit,指示要傳輸信息的數(shù)據(jù)字節(jié)數(shù),這個(gè)域的結(jié)構(gòu),對(duì)標(biāo)準(zhǔn)和擴(kuò)展的格式是有差別的。如圖18所示

          注1:保留位(r0,r1),保留位必須以顯性電平傳送,然而,在接收側(cè)可以接收顯性、隱性集任意組合的電平。

          注2:數(shù)據(jù)長(zhǎng)度碼(DLC),數(shù)據(jù)長(zhǎng)度碼與數(shù)據(jù)的字節(jié)對(duì)應(yīng)關(guān)系見表7所示。數(shù)據(jù)的字節(jié)數(shù)必須是0-8個(gè)字節(jié),但接收方對(duì)DLC=9-15的情況并不視為錯(cuò)誤。

          (4)數(shù)據(jù)域,對(duì)標(biāo)準(zhǔn)的或擴(kuò)展的格式都是一樣的。這個(gè)域是傳輸?shù)臄?shù)據(jù),可以是0到8個(gè)字節(jié),字節(jié)數(shù)載控制域中指明。數(shù)據(jù)輸出開始于MSB。如圖19所示:

          (5)CRC域,對(duì)標(biāo)準(zhǔn)的或擴(kuò)展的格式都是一樣的。這個(gè)域用來(lái)檢查幀是否有傳輸錯(cuò)誤,它由15bit CRC碼和一個(gè)bitCRC定界符(delimiter)(separating bit分隔bit)

          CRC的產(chǎn)生方法是采用下面的多項(xiàng)式:,CRC的計(jì)算范圍是SOF、仲裁域、控制域、數(shù)據(jù)域。在接收側(cè),會(huì)對(duì)接收到的數(shù)據(jù)幀的這些域進(jìn)行CRC計(jì)算,如果計(jì)算結(jié)果與收到的CRC不一致,則表明存在傳輸錯(cuò)誤。

          (6)ACK域,是對(duì)一幀已被正常接收的一個(gè)確認(rèn)信號(hào),由2個(gè)bit組成,一個(gè)是ACK的slot,一個(gè)是ACK的定界符(delimiter),如圖21所示:

          注1:發(fā)送單元的ACK域,發(fā)送單元以隱性bit發(fā)送ACK slot和ACK 的delimiter。

          注2:接收單元的ACK域,正確接收到信息的接收單元在接收幀的ACK slot里發(fā)送一個(gè)顯性bit,以通知發(fā)送單元其已經(jīng)正確接收完畢,這又稱“sending ACK”或“returning ACK”。

          “Returning an ACK”:

          所有接收單元只要不是處于bus-off或休眠狀態(tài),只有正確接收信息的單元才能發(fā)送ACK。發(fā)送單元并不發(fā)送ACK。如果總線上除了發(fā)送單元,沒有其它單元能接收信息,則No ACK被返回。為了通訊的建立,除了發(fā)送單元外,至少需要有一個(gè)單元能夠接收信息。如果總線上有2個(gè)或更多個(gè)單元能接收到信息,如果它們中任意一個(gè)正常接收到信息,則會(huì)有ACK被返回。

          (7)幀結(jié)束,指示一幀結(jié)束,由7個(gè)隱性位組成。如圖22

          1.3 遙控幀

          遙控幀是接收單元請(qǐng)求發(fā)送單元發(fā)送一個(gè)信息,遙控幀有6個(gè)域組成。如圖23顯示的那樣,除了沒有數(shù)據(jù)域外其它與數(shù)據(jù)幀的結(jié)構(gòu)是一樣的。

          (1) 幀開始(SOF):這個(gè)域表示數(shù)據(jù)幀的開始。

          (2) 競(jìng)爭(zhēng)域:這個(gè)域表示數(shù)據(jù)的優(yōu)先級(jí),具有同樣ID的數(shù)據(jù)幀被請(qǐng)求。

          (3) 控制域:這個(gè)域表示保留位和數(shù)據(jù)字節(jié)數(shù)

          (4) CRC域:這個(gè)域用于檢查幀的傳輸錯(cuò)誤。

          (5) ACK域:是對(duì)幀已經(jīng)被正常接收的一個(gè)證實(shí)。

          (6) 幀結(jié)束:指示遙控幀的結(jié)束

          遙控幀和數(shù)據(jù)幀:

          • 數(shù)據(jù)幀和遙控幀之間的不同

          1. 遙控幀沒有數(shù)據(jù)域,在仲裁域里的RTR位是隱性電平,而數(shù)據(jù)幀RTR則為顯性的。
          2. 沒有數(shù)據(jù)的數(shù)據(jù)幀與遙控幀可以通過RTR為來(lái)區(qū)分

          • 遙控幀沒有數(shù)據(jù)域,其數(shù)據(jù)長(zhǎng)度碼用來(lái)干什么?

          1. 遙控幀的數(shù)據(jù)長(zhǎng)度碼的值表示對(duì)應(yīng)請(qǐng)求的數(shù)據(jù)幀的數(shù)據(jù)長(zhǎng)度碼。

          • 沒有數(shù)據(jù)域的數(shù)據(jù)幀用來(lái)干什么?

          1. 例如,數(shù)據(jù)幀可以被各單元用來(lái)作為周期連接確認(rèn)/應(yīng)答,或者仲裁域本身帶有實(shí)質(zhì)性信息。

          1.4 錯(cuò)誤幀

          這個(gè)幀用來(lái)通知在傳輸期間發(fā)生了一個(gè)錯(cuò)誤,錯(cuò)誤幀由一個(gè)錯(cuò)誤標(biāo)志和一個(gè)錯(cuò)誤定界符組成,錯(cuò)誤幀由CAN的硬件來(lái)發(fā)送。圖24顯示了錯(cuò)誤幀的結(jié)構(gòu)。

          (1) 錯(cuò)誤標(biāo)志:有2種錯(cuò)誤標(biāo)志類型:主動(dòng)錯(cuò)誤和被動(dòng)錯(cuò)誤標(biāo)志

          a)主動(dòng)錯(cuò)誤標(biāo)志:6個(gè)顯性位

          b) 被動(dòng)錯(cuò)誤標(biāo)志:6個(gè)隱性位

          (2) 錯(cuò)誤定界符:由8個(gè)隱性位組成。

          注1:錯(cuò)誤標(biāo)志重疊:取決于連接到總線上的各單元檢測(cè)出錯(cuò)誤的時(shí)間,錯(cuò)誤標(biāo)志可能一個(gè)重疊在另一個(gè)上,總共可達(dá)12bit長(zhǎng)度。

          注2:主動(dòng)錯(cuò)誤標(biāo)志:處于主動(dòng)錯(cuò)誤狀態(tài)的單元檢測(cè)出錯(cuò)誤時(shí)輸出的錯(cuò)誤標(biāo)志。

          注3:被動(dòng)錯(cuò)誤標(biāo)志:處于被動(dòng)錯(cuò)誤狀態(tài)的單元檢測(cè)出錯(cuò)誤時(shí)輸出的錯(cuò)誤標(biāo)志。

          1.5 過載幀

          這個(gè)幀被接收單元用來(lái)通知還沒有準(zhǔn)備好接收幀。它由一個(gè)過載標(biāo)志和一個(gè)過載定界符組成。圖25顯示了錯(cuò)誤幀的結(jié)構(gòu)。

          (1) 過載標(biāo)志:由6個(gè)顯性位組成,過載標(biāo)志與錯(cuò)誤幀的主動(dòng)錯(cuò)誤標(biāo)志具有相同的結(jié)構(gòu)。

          (2) 過載定界符:由8個(gè)隱性位組成,過載定界符與錯(cuò)誤幀的錯(cuò)誤定界符具有相同的結(jié)構(gòu)。

          注1:錯(cuò)誤標(biāo)志重疊:向錯(cuò)誤標(biāo)志一樣,取決于時(shí)間,過載標(biāo)志可能一個(gè)重疊在另一個(gè)上,總共可達(dá)12bit長(zhǎng)度。

          1.6 幀間間隔

          這個(gè)幀用來(lái)隔開數(shù)據(jù)幀和遙控幀。數(shù)據(jù)和遙控幀可通過插入幀間間隔與前面?zhèn)鬏數(shù)娜魏螏〝?shù)據(jù)幀、遙控幀、錯(cuò)誤幀、過載幀)分開。

          過載幀和錯(cuò)誤幀前不能插入幀間間隔。如圖26所示。

          (1)間隔:由3個(gè)隱性位組成。在間隔期間如果檢測(cè)到顯性電平,則必須發(fā)送過載幀,然而,如果間隔的第3bit是顯性電平,間隔被認(rèn)為是SOF

          (2)總線空閑:是隱性電平,長(zhǎng)度沒有限制(它可以是0bit長(zhǎng))。當(dāng)總線處于這種狀態(tài)的時(shí)候,總線被認(rèn)為是自由空閑的,任何單元都可以啟動(dòng)發(fā)送信息。

          (3)暫停傳輸(傳輸暫停期):有8個(gè)隱性位組成。只在處于被動(dòng)錯(cuò)誤狀態(tài)的單元?jiǎng)偘l(fā)送一個(gè)消息后的幀間隔中包含的段。



          關(guān)鍵詞: CAN總線基礎(chǔ)知

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();