初學can
匯流排,之前用的是
rs485
,485
中沒有匯流排仲裁的概念,如果匯流排上有十個節點,要事先算好每組資料的傳送用時,調好時間延遲,逐個排隊傳送。而
can匯流排可以把多個節點的資料都送到本站的
can晶元,並處於準備狀態,等待匯流排空閒時,向匯流排傳送資料,由匯流排仲裁哪乙個節點優先傳送。
如果多節點同時向匯流排傳送資料,那麼匯流排怎麼做到保留其中的乙個節點,退回其它節點的呢?要明白匯流排是如何仲裁的,首先要了解什麼是顯性,什麼是隱性。
can是用canh
,canl
組成的差分訊號傳送電平。
canh > canl
邏輯0
稱為顯性,
canh = canl
邏輯1
稱為**。顯性與**同時寫入匯流排,匯流排顯示顯性,這就是
can網路衝突檢測的基礎!
每個節點的傳送器將會對傳送位的電平和被監控的匯流排電平做比較,如果電平相同,那麼該節點可以繼續傳送,如果傳送的為隱性電平,但是監控到顯性電平,那麼該節點失去仲裁,必須退出傳送狀態,只到下一次匯流排空閒的時候在參與匯流排的仲裁競爭,每次比較,保留顯性,退回隱性,直到剩下乙個節點。換句話說,多個節點競爭匯流排,誰在最後多乙個關鍵性的顯性,誰就將勝出,贏得匯流排的控制權。
can匯流排學習(一) 初識can匯流排
can匯流排最初由德國bosch公司為汽車檢測 控制系統而設計的。1993年can成為國際標準iso11898 高速應用 和iso1119 低速應用 can的規範從can1.2規範 標準格式 發展為相容can1.2規範的can2.0規範 can2.0a為標準格式,can2.0b為擴充套件格式 目前應...
can匯流排配置
can 匯流排配置 在linux 系統中,can匯流排介面 裝置作為網路裝置 被系統進行統一 管理。在控制 台下,can匯流排 的配置和以 太網的配置使用相同的 命令。在控制台 上輸入命令 ifconfig a 可以得到以下結果 can0 link encap unspec hwaddr 00 00...
CAN匯流排協議
can control controller area network 是控制 器 區域網的簡稱 can是一種有效支援分布式控制或實時控制的序列通訊網路,最初由德國bosch公司80年代用於汽車內部測試和控制儀器之間的資料通訊。目前can 匯流排規範已被國際標準化組織iso制訂為國際標準iso118...