CAN匯流排通訊的實現

2021-07-24 21:57:58 字數 1610 閱讀 2865

實現mic-3680與f28335 can匯流排通訊的設定(mic-3680can模組濾波使用單濾波模式):

can2.0a協議: (使用11位識別符號)

<1>f28335傳送,mic-3680接收:

f28335設定:1、設定msgid暫存器中ide位為0(即第31位)時,傳送標準幀;

2.f28335的設定要與mic-3680的acr0、acr1的高三位一致,即acpcode的前11位相同,acr的其它為補填為0,而且acpcode必須補充完整為32位二進位制;(但是當mic-3680的acpmask全設為ffffffff時,acpcode不用必須為32位);

mic-3680設定: 1、mic-3680的acpmask設為0000ffff(即通過設定遮蔽位來選擇要比較的位數);

注:此時f28335和mic-2380雖然可以比較32位數(即和傳送過來的11位識別符號、rtr位、資料場前兩個位元組(即mdl.all的前16位)比較),但是識別符號id的比較只用了11位,所以雙方使用的都是can2.0a協議;

<2>f28335接收,mic-3680傳送時:mic-3680的傳送id設定成與f28335接收的id(即msgid的28-18位)相同即可,同時,f28335可以設定遮蔽暫存器lam使用遮蔽位來選擇需要比較的位;

注:mic-3680

接收can標準幀時,單濾波配置時,f28335傳送的標準幀的11位識別符號、rtr位、資料場前兩個位元組(即mdl.all的前16位)參入濾波,對於參與的濾波位資料,所有acpmask為0的位所對應的acpcode位必須與參與濾波資料的對應位進行比較,所有比較位都相等則接收訊息;

can2.0b協議: (使用29位識別符號)

<1>f28335傳送,mic-3680接收時:

f28335設定:1、msgid暫存器中ide位為1(即第31位),傳送擴充套件幀;

2、f28335傳送的id(即msgid的28-0位)的設定要與mic-3680的acr0、acr1、acr2、acr3的高五位一致

mic-3680設定: 1、mic-3680的acpmask設為00000007,設定完成即可接收;

<2>f28335接收,mic-3680傳送時:mic-3680的傳送id(29位)設定成與f28335接收的id(即msgid的28-0位)相同即可,同時,f28335可以設定遮蔽暫存器lam使用遮蔽位;

注:無論雙方誰傳送或者接收,雙方比較的識別符號id位數為29位,所以雙方使用的都是can2.0b協議;

終極總結:雙方正在通訊時的協議一定是一致的,只有協議一致才可能互通,畢竟這就是協議的作用;所說的can2.0b相容can2.0a協議,應該是說硬體模組上通過自動或者手動設定,可以接收或者傳送遵循can2.0b和can2.0a協議的訊息;其實只要傳送訊息一方傳送的幀格式確定了(即選定了使用哪個協議)之後,或者接收方接收的訊息幀格式確定了之後,接收雙方之間使用的協議就確定了,即比較的識別符號id位數就確定了,如果比較的識別符號id位不一樣,則不會接受;在協議確定後,遮蔽暫存器的作用就是用來決定哪些位需要比較,哪些位不需要比較;

can匯流排實時通訊排程技術

下面的討論主要針對主從式。原始的辦法是採用輪詢方式,無法保證系統的確定的時態特性,對通訊的滯後無法 和控制。因此要採取恰當的排程策略。1。通訊資料的實時性 通訊是用來節點之間交換資料,這些資料 1 實時資料 包括週期實時資料和非週期性實時資料 2 非實時資料 資料的實時性是以資料的截止期來表示的,所...

CAN匯流排技術通訊應用闡述

can 控制器區域網 匯流排是一種現場匯流排,最早是由博世公司開發的,主要應用在工業控制和汽車電控領域,通用的技術標準有can2.0b iso11898等。本博文主要針對汽車電控應用方面闡述一些技術應用要點,對相關規範不做詳細描述。終端電阻型別 在can網路中,都應在幹線的兩端安裝終端電阻,這類終端...

can匯流排學習(一) 初識can匯流排

can匯流排最初由德國bosch公司為汽車檢測 控制系統而設計的。1993年can成為國際標準iso11898 高速應用 和iso1119 低速應用 can的規範從can1.2規範 標準格式 發展為相容can1.2規範的can2.0規範 can2.0a為標準格式,can2.0b為擴充套件格式 目前應...