CAN中的位填充要怎麼知道它是本來就那樣還是位填充的

2021-03-19 10:35:58 字數 5724 閱讀 5497

1樓:myy良曉

這是匯流排的一種編碼方式,當幀起始、仲裁嘗控制嘗資料場以及crc 序列均通過位填充的方法編碼時,無論何時傳送器只要檢測到位流裡有5 個連續相同值的位便自動在位流裡插入一補充位。因為如果在使用位填充法進行編碼的資訊中出現了第6 個連續相同的位電平,將檢測到一個填充錯誤,錯誤計數值加1。

2樓:匿名使用者

是個啥軟體 、cad嗎?

can匯流排位填充是什麼意思

3樓:匿名使用者

這是匯流排的一種編碼方式,當幀起始、仲裁場、控制場、資料場以及crc 序列均通過位填充的方法編碼時,無論何時傳送器只要檢測到位流裡有5 個連續相同值的位便自動在位流裡插入一補充位。因為如果在使用位填充法進行編碼的資訊中出現了第6 個連續相同的位電平,將檢測到一個填充錯誤,錯誤計數值加1。

can-bus通訊中的位填充是什麼?

4樓:怒冰花

can-bus規定訊號的跳變沿即為同步訊號,所以只要訊號發生變化,節點時鐘就會被同步。can-bus的同步最大週期為5個位。但是傳輸的資料內容不可能都滿足最長5個位就要變化一次,於是can-bus進行規範,如果輸入的訊號連續5個位是相同的,就要插入一個電平相反的位,這個額外插入的位就是「填充位」。

例子說明一下吧,

例如,要傳輸的資料中有0x00這個資料 ,其對應的二進位制是0000 0000,那麼該位元組資料在傳輸時將被替換成0000 0100,接收方會自動過濾填充位,zlg致遠電子的can卡使用的是sja1000和arm系列的的can控制器,這個插入與過濾的過程都在can控制器中自動完成。

can匯流排位填充的原理是什麼

5樓:匿名使用者

你是問位填充的實現方法、還是問位填充的作用?

位填充的作用是避免匯流排上出現太多的連續相同碼時,收發雙方失步,因為can匯流排是nrz編碼的。位填充可以確保至少每6個位時間就會產生跳變沿,這樣的話才能讓接收端的鎖相環保持與傳送端同步。

6樓:

及感測器領域都得到了廣泛的應用。目前國內外文獻中針對can匯流排協議分析的文章主要是針對can協議的幀結構以或位時序特性進行分析,如文獻鮮有從通訊的角度對can匯流排協議進行分析,鮮有從工程應用的角度出發,對can匯流排的通訊機制進行深入分析的文章。

1 can應用特性及結構構成

can匯流排協議具有兩個國際標準,分別是iso11898和iso11519。其中,is011898是通訊速率為125 kbps~1

mbps的高速can通訊標準,屬於閉環匯流排,匯流排最大長度為40 m/1 mbps。iso11519定義了通訊速率為10~125

kbps的低速can通訊標準,屬於開環匯流排,最大長度為1 km/40

kbps。由於電氣特性限制,即匯流排分佈電容和分佈電阻對匯流排波形的影響,can匯流排上最大節點數目為110個。對於應用工程師,只需正確配置收發端的波

特率和位引數即可實現收發節點的資料同步。通過can控制器硬體對報文的標示符濾波即可實現點對點、一點對多點及全域性廣播等幾種方式傳送接收資料。同時,

由於can報文采用短幀結構,並且每幀均包含crc校驗部分,保證了資料出錯率極低。can匯流排在工程應用中結構構成

系統實現中的can應用層、作業系統(在無作業系統的應用中以後臺程式實現)及驅動程式共同實現了iso參考模型中的應用層功能。其中,can應用

層定義id分組、傳送資料裝包、接收資料處理以及應用層匯流排安全監測;作業系統/後臺程式用於在can中斷到達後排程can驅動程式對資料進行處理;驅動

程式包括初始化(控制器工作狀態設定、波特率設定、驗收濾波器配置)、收發驅動及異常處理程式。

對於傳輸介質層,需要根據環境干擾噪聲、匯流排長度等來確定。在強幹擾噪聲的情況下必須採用遮蔽線;由於分佈電容造成的匯流排波形失真及分佈電阻造

成的匯流排電平的衰減,匯流排長度需要考慮採用的傳輸介質的分佈電阻和分佈電容特性;同時,若採用高速匯流排還需通過實驗確定匯流排的匹配電阻值。

對於can控制器的實現,可以選用整合於系統主控晶片的can控制器實現,如恩智浦公司出品的lpc2000系列的微控制器,

或者也可以選用分立元件的can控制器,如sja1000。對於can收發器的實現,可以選用ctm1050、tja1050等。若環境干擾噪聲較大,則

需在控制器和收發器之間新增隔離晶片或採用整合了隔離功能的can收發器。值得一提的是,恩智浦公司新推出的lpc11c24微控制器晶片中不僅整合了

can控制器,同時整合了can收發器功能,對於can匯流排系統的快速開發提供了良好的支援。另外,根據實際應用的匯流排長度及匯流排上的節點數目,還需考慮

收發器晶片的傳送和接收的延遲時間。

對於can驅動層和應用層,驅動程式包括can初始化(包括硬體使能、波特率設定、控制器工作模式設定及驗收濾波器id表配置)、收/發驅動並

向上層提供介面函式,其中需要說明的是驗收濾波器的id表配置需要根據應用層對系統id的分組來進行;can應用層根據匯流排上各節點之間的資料收發關係進

行資料包的id分組、傳送資料裝包、接收資料處理及應用層匯流排安全監測等。另外,常用的can匯流排上層協議主要有canopen、device***以及

ican等。

2 can匯流排同步機制分析

在進行通訊過程中,需要解決的最重要的問題之一就是如何實現收發端資料的同步,即接收端可以正確接收和解析傳送端傳送的資料。can匯流排協議是

一種非同步序列通訊協議,屬於基帶通訊,其同步的實現源於高階資料鏈路控制協議(hdlc)。具體來說,can匯流排協議的同步是通過如下所述的3個方面來實

現的。2.1 引數設定

通訊雙方通過軟體設定相同的波特率、相同的相位調整段長度、相同的同步跳轉寬度,通過以上3個元素設定,定義了can匯流排傳輸過程中的位時間長

度以及取樣點位置,位結構如圖2所示,圖中的can時鐘即是協議中定義的tq時間,該時鐘是通過外部時鐘或者cpu外設時鐘分頻後得到的can控制器的基

本時鐘訊號,ss段對應於起始段,匯流排上的跳變沿應發生在此段時間內,tesg1對應於傳輸段和相位調整段1,tesg2對應於相位調整段2,對於高速總

線,控制器在tesg1和tesg2之間對匯流排進行取樣判別。

2.2 固定的幀結構

can協議中明確定義的固定的幀結構,便於can控制器和收發器對匯流排狀態進行監測,在can2.0協議規範中,分為標準幀和擴充套件幀兩種幀結構,兩者區別只在於仲裁域,標準幀採用11位識別符號,而擴充套件幀有29位識別符號,具體的標準幀、擴充套件幀幀結構

2.3 硬同步和再同步

2.3.1 硬同步

所謂硬同步就是指在匯流排空閒期間(即匯流排電平表現為連續的隱性位),控制器一旦檢測到從隱性電平到顯性電平的跳變,就說明此時匯流排上有站點開始

傳送資料,則強制can控制器的位狀態計數器同步到圖2所示的ss段,同時位時鐘從此開始重新計數(can位時間由上層軟體設定)。硬同步用於幀的起始判

定。2.3.2 再同步

在can匯流排協議中,再同步是基於位填充機制實現的。與hdlc協議類似,在can的幀結構中,從幀起始到crc序列位為止,一旦檢測到5個連

續相同極性的位,can控制器自動插入一個極性相反的位。再同步就是在資料傳輸過程中,can控制器通過檢測匯流排上的跳變沿與節點內部位時間的差異來調整

相位調整段1和相位調整段2,調整大小是由同步跳轉寬度程式設計設定的,調整大小單位為tq。具體調整規則是,在傳輸過程中,由can控制器檢測到的匯流排上的

跳變沿如果位於節點內部的ss位時間段內,則不需要調整;若跳變沿位於tesg1段,說明匯流排上的位時間相對於節點的位時間有延遲,則can控制器延長節

點的tesg1位時間段,若延遲時間值(t0值)大於同步跳轉寬度,延長時間為同步跳轉寬度值,否則節點的can控制器延長其與匯流排位時間的差值;若跳變

沿位於tesg2段,說明匯流排上的位時間相對於節點的位時間有超前,則can控制器減少節點的tesg2位時間段,具體調整規則與tesg1段的調整規則

相似。3 can匯流排地址機制分析

不同於工業乙太網、rs485等匯流排,can匯流排是通過資料包id而非節點地址來收發資料的,即can匯流排上的節點沒有固定的地址,取而代之的

是每個節點都需要通過軟體配置一個id表(在該節點的驗收濾波器單元中),如果匯流排上的資料包的id號在該節點的id表中存在,則資料包成功通過該節點的

驗收濾波器單元的驗收,並將被送到上層軟體處理單元並進行相應的資料處理,否則,該資料包被丟棄。舉例來說,若匯流排上的節點a想傳送資料包到節點b,則該

資料包的id號必須位於節點b的id表中,同理,若節點a想廣播資料包到匯流排上,則該資料包的id號必須位於匯流排上所有其它節點的id表中。如前所

述,id表是通過軟體進行配置的,但驗收濾波功能卻是通過can控制器中的驗收濾波器這個硬體單元進行的,所以從速度上來說,驗收造成的延遲很小。另外,

採用這種地址機制的優點還在於是採用此匯流排的系統具有很高的靈活性,即新加入或刪除的節點不會影響系統原有節點間的通訊。

4 can匯流排仲裁機制分析

匯流排仲裁,是指當匯流排上有多個節點在同時傳送資料時匯流排協議的處理方法。can匯流排採用的是無破壞性的仲裁機制,即若匯流排上的多個節點同時傳送

資料,具有高優先順序資料包的節點仲裁勝出,可以繼續傳送資料,而其它仲裁失敗的節點將退出傳送狀態而轉為接收節點,與其他匯流排仲裁機制(例如區域網的

c**a/cd)相比,其不僅不會破壞已傳送的資料,並且不會造成傳送資料的延遲,是can匯流排與其他匯流排相比的優點之一,其主要是通過can匯流排所具備

的如下兩個特點實現:1)can匯流排的線與特性,即當匯流排上多個節點同時傳送顯性和**電平時,匯流排電平表現為顯性電平。2)can控制器即使在傳送資料

的同時也在監控匯流排電平狀態,即當在仲裁時,當控制器傳送隱性電平但檢測到匯流排為顯性電平時,節點仲裁失敗,轉為接收節點。

5 can匯流排魯棒性分析

can匯流排的魯棒性是通過其對節點和匯流排資料包安全性的實時檢測與監控來實現的,另外,can匯流排通過採用的差分訊號對外界干擾訊號有較強的抑制作用。具體論述如下。

5.1 實時監控匯流排波形

can控制器不僅在上電後會一直監測匯流排上其它節點傳送的的資料包,並且在自己傳送資料包得過程中也在實時監測自己傳送的資料,一旦檢測到位錯

誤、填充錯誤、crc錯誤、格式錯誤或者應答錯誤,該節點就會根據其所處的錯誤狀態(錯誤啟用狀態或者錯誤認可狀態)傳送相應的錯誤標誌,實際上筆者認為

只有錯誤啟用站點傳送啟用錯誤標識(即6個連續的顯性位後接8個隱性位的錯誤標識界定符)會對匯流排及匯流排上的節點產生影響,而處於錯誤認可狀態的節點傳送

的錯誤認可標識實際對匯流排沒有任何影響(傳送的6個隱性電平與匯流排空閒狀態是一致的)。

5.2 實時監控節點狀態判定節點許可權

節點會根據匯流排上資料包的情況實時改變自身的狀態(錯誤啟用、錯誤認可或者匯流排關閉狀態),處於錯誤啟用的節點正常參與匯流排通訊,錯誤認可的單

元參與匯流排通訊,但是在其啟動下一個傳送之前需要傳送8個額外的隱性位。對於匯流排上傳送的資料包,如表1所示,15位的crc序列實現了對起始位、仲裁

域、控制域以及資料域(如果有的話)的監控,接收站點在接收到資料後會根據與傳送節點相同的演算法生成該資料包的crc序列,並與接收到的crc序列做比

較,如果不同則說明有錯,接收節點不會對該資料包做出應答,傳送節點就會檢測到應答錯誤並重新傳送該資料包。總之,can匯流排通過資料鏈路層以及物理層就

已經實現了較高的匯流排的資料安全性和匯流排的穩定性。

6 結論

文中以iso11898協議規範為基礎,從通訊的角度詳細分析了can匯流排的節點同步機制、節點地址機制、匯流排仲裁機制(即匯流排衝突解決機制)

及匯流排魯棒性的實現原理和基礎,同時簡要介紹了can匯流排的應用特性以及將其應用於實際系統中時匯流排的系統分層結構,對深入理解can匯流排協議和將can

匯流排應用到具體工程專案中,以及研究或開發特定要求的匯流排系統具有指導意義。

怎麼在中的填充背景,怎麼在word文件中的一頁填充背景

1 如只是想bai 要做一個首頁的封面du,有一張 那zhi麼直接插入dao滿屏大小專的 就可。可用插入,選 屬擇 檔案的方式來插入,然後用調整工具調整一下 的大小為滿屏就可。2 在這個基礎上想要對 上新增輸入文字,需要把 的板式設定成襯於文字下方,就可在 上輸入文字。3 如果只是想要 背景,然後還...

c語言中的位運算子中 按位取反 是怎麼運算的

使用 按位取反運算的時候,計算機會將運算元所對應的二進位制表示式的每一版 個位進行取反權計算,取反後所得到的值就是 按位取反的運算結果。例如,假如計算機是32位的,接下來要計算 5的值,計算過程如下 5 的二進位制表示式為 0000 0000 0000 0000 0000 0000 0000 010...

cad中填充的設定都一樣怎麼顯示不一樣啊?怎麼調

圖案不一樣還是比例不一樣?圖案不一樣是因為你的cad圖案庫裡面沒有那種圖案,所以顯示不出來。就自動用另一種圖案替代了。填完一種,按兩次空格,選擇圖案繼續填。看看是不是比例的問題 cad填充,在同一張cad圖紙裡,填充的比例完全一樣,但是稀疏程度卻完全不一樣,ma都刷不過來,怎麼辦?我也碰到過,怎麼刷...