中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
通俗易懂的CAN網(wǎng)絡(luò)解讀

~~~CAN概述~~~

  1. CAN總線定義

CAN,全稱為“Controller Area Network”,CAN總線是控制器局域網(wǎng)總網(wǎng),由德國(guó)博世公司研發(fā)出來的IOS國(guó)際標(biāo)準(zhǔn)化串行通信協(xié)議總線,是一種分布式實(shí)時(shí)控制的串行網(wǎng)絡(luò),用于在不同的ECU下傳輸數(shù)據(jù),是國(guó)際應(yīng)用最廣的現(xiàn)場(chǎng)總線之一。

2.CAN總線標(biāo)準(zhǔn)

CAN總線標(biāo)準(zhǔn)規(guī)定數(shù)據(jù)鏈路層和物理層,應(yīng)用層需要用戶定義,不同場(chǎng)景使用的不同的應(yīng)用層標(biāo)準(zhǔn),例如物理層和數(shù)據(jù)鏈路層使用ISO 11898 協(xié)議。

3.CAN網(wǎng)絡(luò)分層

遵循IOS\OSIwnagl標(biāo)準(zhǔn)模型,can規(guī)定了數(shù)據(jù)鏈路層和物理層,數(shù)據(jù)鏈路層又分邏輯鏈路控制子層LLC和媒介訪問控制子層MAC,不同的can標(biāo)準(zhǔn)僅物理層不同。

4.CAN協(xié)議

CAN有兩個(gè)ISO國(guó)際通信協(xié)議 :

ISO11519:定義了通信速率10~125kbps的低速can通信標(biāo)準(zhǔn),屬于開環(huán)總線,傳輸速度為40kbps時(shí),總線長(zhǎng)度可達(dá)1000米 。低速can用于車身控制系統(tǒng)等要求高的場(chǎng)景,低速can在斷掉任一線路時(shí)還可以繼續(xù)接收數(shù)據(jù) 。

ISO11898:定義了通信速率為125kbps~1mbps的高速can通信標(biāo)準(zhǔn),屬于閉環(huán)總線,最高可達(dá)1mbps,總線長(zhǎng)度<40米 。高速can用于發(fā)動(dòng)機(jī) 變速箱等要求實(shí)時(shí)性 傳輸效率高場(chǎng)景。

5.CAN應(yīng)用層

CAN總線只提供可靠的傳輸服務(wù),所以節(jié)點(diǎn)接收?qǐng)?bào)文時(shí),要通過應(yīng)用層協(xié)議來判斷是誰發(fā)送的數(shù)據(jù),數(shù)據(jù)代表什么含義。

CAN應(yīng)用層協(xié)議驅(qū)動(dòng)是運(yùn)行在主控制器上的程序,它按照應(yīng)用層協(xié)議對(duì)CAN報(bào)文進(jìn)行定義,完成報(bào)文的解析和拼裝,例如:將幀ID當(dāng)作節(jié)點(diǎn)地址,當(dāng)接收到的幀ID與自身節(jié)點(diǎn)ID不通過時(shí),就直接丟棄或交給上層處理。

6.ISO11898與ISO11519物理層不同點(diǎn)

7.CAN電壓

CAN總線上通過CAN_H和CAN_L兩條線的電位差來表示can信號(hào),can總線上兩種電位差分別為顯性電平邏輯0和隱性電平邏輯1,顯性電平優(yōu)先級(jí)高于隱性電平,can控制器將cpu傳來的信號(hào)轉(zhuǎn)為邏輯電平,can發(fā)射器將接收到的邏輯電平轉(zhuǎn)化成差分電發(fā)送到can總線上。

8.CAN差分信號(hào)

9.開環(huán)總網(wǎng)絡(luò)/閉環(huán)總網(wǎng)絡(luò)

來自CSDN

來自CSDN

10.CAN的優(yōu)點(diǎn)

傳輸速度:傳輸最高速度可達(dá)1mbps,最遠(yuǎn)1000米,無損位仲裁機(jī)制,多主結(jié)構(gòu) 

低成本:ECUs通過單個(gè)CAN接口通信,布線成本低 

高集成:CAN總線系統(tǒng)允許在所有ECUs上進(jìn)行集中診斷和配置 

可靠性:該系統(tǒng)對(duì)子系統(tǒng)故障和電磁干擾有很強(qiáng)的魯棒性,是汽車控制系統(tǒng)的理想選擇 

高效率:可以對(duì)信息ID進(jìn)行優(yōu)先排序,以便最高等級(jí)的的信息不被中斷 

靈活性:每個(gè)ECU包含一個(gè)用于can信號(hào)收發(fā)芯片,隨意添加can節(jié)點(diǎn)

11.CAN的特點(diǎn)

多主控制:總線空閑時(shí)ECU都可以發(fā)送信號(hào),兩個(gè)以上單位同時(shí)發(fā)送信號(hào)時(shí)以標(biāo)識(shí)符(ID)決定優(yōu)先級(jí) 。

系統(tǒng)柔軟性:連接總線的單元沒有“地址”信息,所以添加新的單元時(shí),其他的已連接的單元軟硬件和應(yīng)用層都不需要做出改變 具有錯(cuò)誤檢測(cè),錯(cuò)誤通知,錯(cuò)誤恢復(fù)功能:所有單元都可以檢測(cè)錯(cuò)誤(錯(cuò)誤檢測(cè)功能),檢測(cè)出錯(cuò)誤的單元會(huì)立即同時(shí)通知其他所有單元(錯(cuò)誤通知功能),正在發(fā)送消息的單元一旦檢測(cè)出錯(cuò)誤,會(huì)強(qiáng)制結(jié)束當(dāng)前的發(fā)送。強(qiáng)制結(jié)束發(fā)送的單元會(huì)不斷反復(fù)地重新發(fā)送此消息直到成功發(fā)送為止(錯(cuò)誤恢復(fù)功能)。

故障封閉功能:CAN可以判斷出錯(cuò)誤的類型是總線上暫時(shí)的數(shù)據(jù)錯(cuò)誤(如外部噪聲等)還是持續(xù)的數(shù)據(jù)錯(cuò)誤(如單元內(nèi)部故障、驅(qū)動(dòng)器故障、斷線等)。由此功能,當(dāng)總線上發(fā)生持續(xù)數(shù)據(jù)錯(cuò)誤時(shí),可將引起此故障的單元從總線上隔離出去。

~~~CAN通訊詳解~~~

1.CAN的通訊流程

CAN通訊是一種基于信號(hào)的通信,信號(hào)的發(fā)送一般是基于事件和周期的屬性,CAN信號(hào)發(fā)送可以一對(duì)一,也可以一對(duì)多,采用廣播形式,也就一條總線上一個(gè)節(jié)點(diǎn)發(fā)送的信號(hào)會(huì)被其他節(jié)點(diǎn)接收到,所以一條can總線上不允許多個(gè)ECU發(fā)送相同的CANID,避免總線沖突。

來自CSDN

2.CAN通信網(wǎng)絡(luò)結(jié)構(gòu)

實(shí)際上,CAN總線網(wǎng)絡(luò)底層只采用了OSI基本參照模型中的數(shù)據(jù)鏈路層、傳輸層。

3.CAN通訊載體

常見CAN總線是由帶屏蔽層的雙絞線、收發(fā)器、控制器和終端電阻組成的。

4.CAN的通訊節(jié)點(diǎn)

can通訊節(jié)點(diǎn)是由一個(gè)can控制器和can收發(fā)器組成,控制器與收發(fā)器之間通過can-Tx和can-Rx信號(hào)相連接,收發(fā)器與can總線之間用can-low和can-high信號(hào)線相連,其中can-tx和can-rx使用的普通類似ttl巡邏信號(hào),而can-high和can-low是一對(duì)差分信號(hào)線,使用比較特別差分信號(hào) 。

TTL:晶體管_晶體管邏輯電平,TTL信號(hào)電平規(guī)定, 5V等價(jià)于邏輯1,0V等價(jià)于邏輯0,這樣的數(shù)據(jù)通信及電平規(guī)定方式,被稱為TTL。

5.CAN節(jié)點(diǎn)

CAN收發(fā)器是實(shí)現(xiàn)CAN控制器邏輯電平和CAN總線差分電平的互換,實(shí)現(xiàn)CAN收發(fā)器的方案有兩種:

一是使用CAN收發(fā)IC(需要加電源隔離和電氣隔離)

二是使用CAN隔離收發(fā)模塊

CAN控制器是CAN的核心元件,它實(shí)現(xiàn)了CAN協(xié)議中數(shù)據(jù)鏈路層的全部功能,能夠自動(dòng)完成CAN協(xié)議的解析,CAN控制器一般有兩種 一是控制器IC(SJA1000)二是集成CAN控制器的MCU(LPC11C00) 。

MCU負(fù)責(zé)實(shí)現(xiàn)對(duì)功能電路和CAN控制器的控制,在節(jié)點(diǎn)啟動(dòng)時(shí)初始化CAN控制器參數(shù);通過CAN控制器讀取和發(fā)送CAN幀;在CAN控制器發(fā)生中斷時(shí),處理CAN控制器的中斷異常;根據(jù)接收到的數(shù)據(jù)輸出控制信號(hào)。

6.CAN節(jié)點(diǎn)構(gòu)建


構(gòu)建節(jié)點(diǎn),實(shí)現(xiàn)相應(yīng)控制,由下而上分為4部分,:

CAN節(jié)點(diǎn)電路

CAN控制器驅(qū)動(dòng)

CAN應(yīng)用層協(xié)議

CAN節(jié)點(diǎn)應(yīng)用程序 

雖然不同節(jié)點(diǎn)完成的功能不同,但是都有相同的硬件和軟件架構(gòu)。

CAN的收發(fā)器和控制器分別對(duì)應(yīng)CAN的物理層和數(shù)據(jù)鏈路層,完成CAN報(bào)文的收發(fā) 功能電路完成特定的功能,如信號(hào)采集或控制外設(shè)等 主控制器與應(yīng)用程序按照CAN報(bào)文格式解析報(bào)文,完成相應(yīng)控制CAN硬件驅(qū)動(dòng)是運(yùn)行在主控制器上的序,它主要完成以下工作:

基于寄存器的操作、初始化 

CAN控制器、發(fā)送CAN報(bào)文、接收CAN報(bào)文 

如果直接使用CAN硬件驅(qū)動(dòng),當(dāng)更換控制器時(shí),需要修改上層應(yīng)用程序,移植性差,在應(yīng)用層和硬件驅(qū)動(dòng)層加入虛擬驅(qū)動(dòng)層,能夠屏蔽不同CAN控制器的差異 。

一個(gè)CAN節(jié)點(diǎn)除了完成通信功能,還包括一些特定的硬件功能電路,功能電路驅(qū)動(dòng)向下直接控制功能電路,向上為應(yīng)用層提供控制功能電路的函數(shù)接口,特定功能包括 數(shù)據(jù)采集、人機(jī)顯示等。

7.CAN控制器

接口管理邏輯 解釋MCU指令,尋址CAN控制器中各功能模塊的寄存器單元,向主控制器提供中斷信息和狀態(tài)信息 。

發(fā)送緩沖區(qū)和接收緩沖區(qū)都可以儲(chǔ)存CAN總線網(wǎng)絡(luò)的完整信息 驗(yàn)收濾波是將儲(chǔ)存的驗(yàn)證碼與CAN報(bào)文的識(shí)別碼比較,跟驗(yàn)證碼符合的CAN幀才會(huì)儲(chǔ)存到接收緩沖區(qū) CAN內(nèi)核實(shí)現(xiàn)數(shù)據(jù)鏈路的全部協(xié)議。

~~~CAN報(bào)文發(fā)送流程~~~

1.報(bào)文發(fā)送

節(jié)點(diǎn)發(fā)送要檢測(cè)到總線空閑狀態(tài)(連續(xù)11位隱性) 。

只有總線空閑時(shí)節(jié)點(diǎn)才能發(fā)送報(bào)文 在發(fā)送過程中進(jìn)行回讀,判斷發(fā)出的位和回讀的位是否一致。

2.報(bào)文仲裁

線與機(jī)制 通過ID進(jìn)行制裁 顯性位能夠覆蓋隱性位,報(bào)文ID值越小,優(yōu)先等級(jí)越高。

報(bào)文同時(shí)發(fā)送時(shí)才啟動(dòng)仲裁機(jī)制

3.仲裁處理

非破壞性仲裁 退出仲裁后進(jìn)入接收狀態(tài) 。

總線空閑時(shí)重新發(fā)送

4.報(bào)文接收和過濾

通過濾波器對(duì)接收的報(bào)文進(jìn)行過濾 。

相關(guān)就接收,不相關(guān)就過濾。

~~~CAN幀解析~~~

  1. CAN幀種類

數(shù)據(jù)幀:用于發(fā)送單元向接收單元傳送數(shù)據(jù)的楨 

遙控幀:用于接收單元向相同ID單元發(fā)送請(qǐng)求的楨 

錯(cuò)誤幀:用于當(dāng)檢測(cè)出錯(cuò)誤時(shí)向其他單元通知錯(cuò)誤的楨 

過載幀:用于接收單元通知其尚未做好準(zhǔn)備的楨 

幀間隔:用于將數(shù)據(jù)楨和遠(yuǎn)程楨與前面楨隔開的楨

2.CAN數(shù)據(jù)幀格式

來自CSDN

一、幀起始(SOF)

楨最開始就是起始幀,也叫(SOF)。

SOF恒定為顯性(1bit)。

來自CSDN

1.NRZ編碼與位填充

NRZ(非歸零)編碼 

確保報(bào)文緊湊,相同寬帶下信息量更大 。

不能保證足夠的跳變沿同步,帶來節(jié)點(diǎn)間計(jì)時(shí)器誤差的累積。

2.CAN的波特率及位同步

由于can屬于異步通信,沒有時(shí)鐘信號(hào)線,連接在同一個(gè)總線網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)會(huì)像串口異步通訊那樣,節(jié)點(diǎn)間使用約定好的波特率進(jìn)行通訊,特別的 CAN 還會(huì)使用“位同步”的方式來抗干擾、吸收誤差,實(shí)現(xiàn)對(duì)總線電平信號(hào)進(jìn)行正確的采樣,確保通訊正常。

(1)位時(shí)序分解

為了實(shí)現(xiàn)位同步,CAN 協(xié)議把每一個(gè)數(shù)據(jù)位的時(shí)序分解成如圖 所示的 SS 段、PTS 段、PBS1 段、PBS2 段,這四段的長(zhǎng)度加起來即為一個(gè) CAN 數(shù)據(jù)位的長(zhǎng)度。分解后最小的時(shí)間單位是 Tq,而一個(gè)完整的位由 8~25 個(gè) Tq 組成,總線上的各個(gè)通訊節(jié)點(diǎn)只要約定好 1 個(gè) Tq 的時(shí)間長(zhǎng)度以及每一個(gè)數(shù)據(jù)位占據(jù)多少個(gè) Tq,就可以確定 CAN 通訊的波特率。

(2)CAN的同步機(jī)制

一個(gè)位時(shí)間內(nèi)只允許一種同步方式 任何一個(gè)從隱性到顯性的下降沿都可以用來同步 硬同步發(fā)生在報(bào)文SOF位,所有接收節(jié)點(diǎn)調(diào)整自己當(dāng)前位的同步段 重同步發(fā)生在一個(gè)報(bào)文SOF位之外的其他段,當(dāng)下降沿在同步段之外時(shí)發(fā)生重同步 從SOF到?jīng)_裁場(chǎng)發(fā)送時(shí)間段內(nèi),如果有多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送報(bào)文,那么這些節(jié)點(diǎn)對(duì)跳變沿不發(fā)生重同步。

(3)硬件同步

接收單元在總線空閑時(shí)檢測(cè)出幀起始時(shí)進(jìn)行的同步調(diào)整 。

在檢測(cè)出邊沿的地方不考慮SJW值,而認(rèn)為SS段。

(4)再同步

在接收過程中檢測(cè)總線電平發(fā)生變化時(shí)進(jìn)行同步調(diào)整 當(dāng)檢測(cè)出邊沿時(shí),根據(jù)SJW值通過加長(zhǎng)PBS1段或縮短PBS2段進(jìn)行同步,但如果發(fā)生超出SJW值的誤差時(shí),最大調(diào)整量不能超過SJW值。

來自CSDN

二、仲裁段

仲裁段是用來判斷一幀報(bào)文的優(yōu)先等級(jí)(包含報(bào)文源地址和目標(biāo)地址)。

數(shù)據(jù)仲裁段RTR恒定為顯性,遠(yuǎn)程幀恒定為隱性(標(biāo)準(zhǔn)幀11位bit,拓展幀29位bit。

仲裁場(chǎng)SSR與標(biāo)準(zhǔn)幀同一位置,故名遠(yuǎn)程代替請(qǐng)求位 SRR為隱性1,確保標(biāo)準(zhǔn)幀收發(fā)高于拓展幀優(yōu)先級(jí)。

仲裁場(chǎng)IDE位,標(biāo)準(zhǔn)幀中的IDE對(duì)應(yīng)拓展幀中的IDE,確保前11位ID相同下,數(shù)據(jù)幀優(yōu)先于拓展幀 區(qū)分標(biāo)準(zhǔn)幀和拓展幀 。

標(biāo)準(zhǔn)楨為顯性0(11位ID) 拓展楨為隱性1(29位ID)。

三、控制段

保留位r0,r1發(fā)送時(shí)必須是顯性,接受方可以是顯性和隱性任意組合 最后4個(gè)字節(jié)的DLC代表數(shù)據(jù)長(zhǎng)度,指示了數(shù)據(jù)楨中的數(shù)據(jù)長(zhǎng)度,對(duì)于沒有數(shù)據(jù)段的遙控幀,DLC表示該遙控幀對(duì)應(yīng)的數(shù)據(jù)幀的數(shù)據(jù)段的字節(jié)數(shù)。

四、數(shù)據(jù)段

數(shù)據(jù)段為數(shù)據(jù)幀的核心內(nèi)容,它是節(jié)點(diǎn)要發(fā)送的原始信息,由 0~8 個(gè)字節(jié)組成,MSB 先行。

五、校驗(yàn)場(chǎng)(CRC)

CRC段包含了CRC校驗(yàn)序列(15位)和CRC界定符1(隱性)。

六、應(yīng)答場(chǎng)(ACK)

發(fā)送節(jié)點(diǎn)在ack段發(fā)送2個(gè)隱性位,即發(fā)送方發(fā)送報(bào)文ack槽為隱性 。

接受節(jié)點(diǎn)在接收到正確信息后在ack槽發(fā)送顯性,通知發(fā)送節(jié)點(diǎn)正常接收。

七、幀結(jié)束(EOF)

固定格式,連續(xù)7個(gè)隱性單位,表示數(shù)據(jù)楨結(jié)束。

八、ITM間歇場(chǎng)

固定格式 :3個(gè)連續(xù)的隱性位 ITM后進(jìn)入總線空閑狀態(tài),此時(shí)節(jié)點(diǎn)可以收發(fā)報(bào)文。

3.遙控幀

來自CSDN

來自CSDN

4.錯(cuò)誤幀

在發(fā)送和接收?qǐng)?bào)文時(shí),總線上的節(jié)點(diǎn)如果檢測(cè)出了錯(cuò)誤,那么該節(jié)點(diǎn)就會(huì)發(fā)送錯(cuò)誤幀錯(cuò)誤一共有5種,多種錯(cuò)誤可能同時(shí)發(fā)生:

位錯(cuò)誤 

填充錯(cuò)誤 

CRC錯(cuò)誤 

格式錯(cuò)誤 

ACK錯(cuò)誤。

(1).錯(cuò)誤幀的輸出

檢測(cè)出滿足錯(cuò)誤條件的單元輸出錯(cuò)誤標(biāo)志通報(bào)錯(cuò)誤。

處于主動(dòng)錯(cuò)誤狀態(tài)的單元輸出的錯(cuò)誤標(biāo)志為主動(dòng)錯(cuò)誤標(biāo)志;處于被動(dòng)錯(cuò)誤狀態(tài)的單元輸出的錯(cuò)誤標(biāo)志為被動(dòng)錯(cuò)誤標(biāo)志。

發(fā)送單元發(fā)送完錯(cuò)誤幀后,將再次發(fā)送數(shù)據(jù)幀或遙控幀、

來自CSDN

(2).節(jié)點(diǎn)狀態(tài)

節(jié)點(diǎn)始終處于3種狀態(tài):

  • 總線關(guān)閉        

    不能收發(fā)任何報(bào)文 

  • 被動(dòng)錯(cuò)誤        

    能夠進(jìn)行總線通信        

    錯(cuò)誤產(chǎn)生時(shí)發(fā)送被動(dòng)錯(cuò)誤標(biāo)志(6個(gè)連續(xù)隱性位)        

    限制(不能連續(xù)發(fā)送2次報(bào)文) 

  • 主動(dòng)錯(cuò)誤 

    正常進(jìn)行總線通信,錯(cuò)誤產(chǎn)生時(shí)發(fā)送主動(dòng)錯(cuò)誤標(biāo)志(6個(gè)連續(xù)顯性位)

5.過載幀

6.幀間隔

~~~CAN網(wǎng)絡(luò)負(fù)載率~~~

1.CAN網(wǎng)絡(luò)負(fù)載率

CAN負(fù)載率概念CAN總線負(fù)載率是指在CAN總線上單位時(shí)間內(nèi)實(shí)際傳送的位數(shù)和可以傳送的位數(shù)之比。

2.標(biāo)準(zhǔn)CAN負(fù)載率計(jì)算

幀起始(1bit)、仲裁域(12bit)、控制域(6bit)、數(shù)據(jù)域(8×8bit)、循環(huán)冗余碼域(15bit)、應(yīng)答域(2bit)、1(bit)分隔符和幀結(jié)尾(7bit),共108位,但實(shí)際發(fā)送一幀報(bào)文長(zhǎng)度應(yīng)該在111左右。

3.拓展幀負(fù)載率計(jì)算

幀起始(1bit)、仲裁域(29bit)、控制域(6bit)、數(shù)據(jù)域(8×8bit)、循環(huán)冗余碼域(15bit)、應(yīng)答域(2bit)和幀結(jié)尾(7bit),共124位,但實(shí)際發(fā)送一幀報(bào)文長(zhǎng)度應(yīng)該在128左右。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CAN_bus總線簡(jiǎn)介及與RS-485的比較
CAN總線學(xué)習(xí)筆記(1)- CAN基礎(chǔ)知識(shí)
一文讀懂CAN通訊協(xié)議
細(xì)說汽車電子通信總線之CAN 2.0 總線協(xié)議詳解
CAN總線要點(diǎn)
一文搞懂CAN和CAN FD總線協(xié)議
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服