免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

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

 新用戶82165308 2022-10-30 發(fā)布于廣東

~~~CAN概述~~~

  1. CAN總線定義

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

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

CAN總線標(biāo)準(zhǔn)規(guī)定數(shù)據(jù)鏈路層和物理層,應(yī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有兩個ISO國際通信協(xié)議 :

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

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

圖片

5.CAN應(yīng)用層

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

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

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

圖片

7.CAN電壓

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

圖片

8.CAN差分信號

圖片圖片

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通過單個CAN接口通信,布線成本低 

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

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

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

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

11.CAN的特點(diǎn)

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

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

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

~~~CAN通訊詳解~~~

1.CAN的通訊流程

CAN通訊是一種基于信號的通信,信號的發(fā)送一般是基于事件和周期的屬性,CAN信號發(fā)送可以一對一,也可以一對多,采用廣播形式,也就一條總線上一個節(jié)點(diǎn)發(fā)送的信號會被其他節(jié)點(diǎn)接收到,所以一條can總線上不允許多個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)是由一個can控制器和can收發(fā)器組成,控制器與收發(fā)器之間通過can-Tx和can-Rx信號相連接,收發(fā)器與can總線之間用can-low和can-high信號線相連,其中can-tx和can-rx使用的普通類似ttl巡邏信號,而can-high和can-low是一對差分信號線,使用比較特別差分信號 。

TTL:晶體管_晶體管邏輯電平,TTL信號電平規(guī)定, 5V等價于邏輯1,0V等價于邏輯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ù)鏈路層的全部功能,能夠自動完成CAN協(xié)議的解析,CAN控制器一般有兩種 一是控制器IC(SJA1000)二是集成CAN控制器的MCU(LPC11C00) 。

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

圖片

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


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

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

CAN控制器驅(qū)動

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

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

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

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

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

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

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

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

圖片

7.CAN控制器

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

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

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

1.報文發(fā)送

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

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

圖片

2.報文仲裁

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

報文同時發(fā)送時才啟動仲裁機(jī)制

圖片

3.仲裁處理

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

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

圖片

4.報文接收和過濾

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

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

圖片

~~~CAN幀解析~~~

  1. CAN幀種類

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

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

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

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

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

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

圖片

來自CSDN

一、幀起始(SOF)

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

SOF恒定為顯性(1bit)。

圖片

來自CSDN

1.NRZ編碼與位填充

NRZ(非歸零)編碼 

確保報文緊湊,相同寬帶下信息量更大 。

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

圖片

2.CAN的波特率及位同步

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

(1)位時序分解

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

圖片

圖片

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

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

(3)硬件同步

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

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

圖片

(4)再同步

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

圖片

來自CSDN

二、仲裁段

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

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

圖片圖片

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

圖片

仲裁場IDE位,標(biāo)準(zhǔn)幀中的IDE對應(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ā)送時必須是顯性,接受方可以是顯性和隱性任意組合 最后4個字節(jié)的DLC代表數(shù)據(jù)長度,指示了數(shù)據(jù)楨中的數(shù)據(jù)長度,對于沒有數(shù)據(jù)段的遙控幀,DLC表示該遙控幀對應(yīng)的數(shù)據(jù)幀的數(shù)據(jù)段的字節(jié)數(shù)。

圖片

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

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

圖片

五、校驗場(CRC)

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

圖片

圖片

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

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

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

圖片

圖片

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

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

圖片

八、ITM間歇場

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

圖片

3.遙控幀

圖片

來自CSDN

圖片

來自CSDN

4.錯誤幀

在發(fā)送和接收報文時,總線上的節(jié)點(diǎn)如果檢測出了錯誤,那么該節(jié)點(diǎn)就會發(fā)送錯誤幀錯誤一共有5種,多種錯誤可能同時發(fā)生:

位錯誤 

填充錯誤 

CRC錯誤 

格式錯誤 

ACK錯誤。

圖片

圖片

(1).錯誤幀的輸出

檢測出滿足錯誤條件的單元輸出錯誤標(biāo)志通報錯誤。

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

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

圖片

來自CSDN

圖片

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

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

  • 總線關(guān)閉        

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

  • 被動錯誤        

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

    錯誤產(chǎn)生時發(fā)送被動錯誤標(biāo)志(6個連續(xù)隱性位)        

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

  • 主動錯誤 

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

圖片

5.過載幀

圖片

6.幀間隔

圖片

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

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

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

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

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

圖片

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

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

圖片

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多