




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第五章 CAN 器件及開發實例與其他現場總線相比,CAN總線得到多家芯片廠商的支持。 制造商制造商產品型號產品型號器件功能及特點器件功能及特點INTELINTEL82526825278XC196CA/CBCAN通信控制器通信控制器,符合符合CAN2.0ACAN通信控制器通信控制器,符合符合CAN2.0B擴展的擴展的8XC196 CAN通信控制器,符合通信控制器,符合CAN2.0BPHILIPPHILIP82C200SJA100082C15082C250P51XA-C3CAN通信控制器通信控制器,符合符合CAN2.0ACAN通信控制器通信控制器,符合符合CAN2.0A/B帶數字及模擬帶數字及模
2、擬I/O的的CAN擴展器件擴展器件,符合符合CAN2.0A高性能的高性能的CAN總線收發器總線收發器16位微處理器位微處理器+ CAN通信控制器通信控制器,符合符合CAN2.0BMOTOROLAMOTOROLA68HC05X4系列系列68HC05X4微控制器微控制器+CAN通信控制器通信控制器,符合符合CAN2.0ASINMENSSINMENS81C90/91C167CCAN通信控制器通信控制器,符合符合CAN2.0A微控制器微控制器+CAN通信控制器通信控制器,符合符合CAN2.0A/B2CAN總線總線控制節點控制節點1控制節點控制節點n傳感器、變送器傳感器、變送器MMI Tx Rx微處理器
3、微處理器CAN控制器控制器CAN收發器收發器圖圖 CAN 模塊裝置模塊裝置傳感器、變送器傳感器、變送器MMITx Rx微處理器微處理器CAN控制器控制器CAN收發器收發器35.1獨立獨立CAN控制器控制器SJA1000 n SJA1000SJA1000是是適用于適用于汽車和一般工業環境的獨立汽車和一般工業環境的獨立CANCAN控制器。它是控制器。它是PHILIPSPHILIPS公司生產。公司生產。nSJA1000SJA1000有兩種工作模式:有兩種工作模式:BasicCANBasicCAN模式,模式, PeliCANPeliCAN工作模式工作模式。 nBasicCANBasicCAN模式模式是
4、是PHILIPSPHILIPS公司生產的公司生產的 PCA82C200PCA82C200的替代產品,引腳兼容,電氣兼容。的替代產品,引腳兼容,電氣兼容。 PeliCANPeliCAN工作模式支持工作模式支持CAN2.0BCAN2.0B協議。協議。nPeliCANPeliCAN模式下模式下,SJA1000SJA1000具有與具有與BasicCANBasicCAN模式模式下完全不同的寄存器結構。下完全不同的寄存器結構。4SJA1000的PeliCAN模式具有以下新增特性:n接收和發送標準和擴展格式報文;接收和發送標準和擴展格式報文;n達達64字節的接收字節的接收FIFO;n對于標準和擴展幀都有單對
5、于標準和擴展幀都有單/雙接收過濾器;雙接收過濾器;n可讀可讀/寫訪問的錯誤計數器;寫訪問的錯誤計數器;n可編程的錯誤報警限;可編程的錯誤報警限;n最近一次錯誤代碼寄存器;最近一次錯誤代碼寄存器;n對于每一種對于每一種CAN總線錯誤都能產生不同的出錯總線錯誤都能產生不同的出錯中斷;中斷;5n仲裁丟失中斷,并帶有詳細丟失仲裁位置的信仲裁丟失中斷,并帶有詳細丟失仲裁位置的信息;息;n允許單次發送,當出錯或丟失仲裁時不重發;允許單次發送,當出錯或丟失仲裁時不重發;n只聽模式(監視只聽模式(監視CAN總線,無應答,無出錯標總線,無應答,無出錯標志);志);n支持熱插拔;支持熱插拔;n自身發送報文接收(自
6、接收請求);自身發送報文接收(自接收請求);n硬件禁止硬件禁止CLKOUT 輸出。輸出。6CANCAN控制模塊控制模塊SJA1000SJA1000功能框圖功能框圖7SJA1000CAN控制器由下述幾部分組成:n1 1接口管理邏輯(接口管理邏輯(IMLIML)n通過通過SJA1000SJA1000復用的地址復用的地址/ /數據總線數據總線 ,控制讀,控制讀/ /寫選通信號等,完成對外部主控制器的連接。寫選通信號等,完成對外部主控制器的連接。并向該控制器提供中斷信息和狀態信息。并向該控制器提供中斷信息和狀態信息。n解釋來自解釋來自CPUCPU的命令,控制的命令,控制SJA1000SJA1000內部
7、尋址,內部尋址,向向CPUCPU提供中斷信息和狀態信息。提供中斷信息和狀態信息。 8n2 2發送緩沖器(發送緩沖器(TXBTXB)n發送緩沖器是發送緩沖器是CPUCPU和位流處理器之間的接和位流處理器之間的接口。口。n能夠存儲發送到能夠存儲發送到CANCAN總線上的完整報文,總線上的完整報文,緩沖器長緩沖器長1313字節字節,由,由CPUCPU寫入,位流處理寫入,位流處理器器BSPBSP讀出。讀出。9n3 3接收緩沖器(接收緩沖器(RXBRXB,RXFIFORXFIFO)n是是接收過濾器接收過濾器和和CPUCPU之間之間的接口,用于儲的接口,用于儲存從存從CANCAN總線上接收并采用的報文。總
8、線上接收并采用的報文。nRXBRXB,長,長1313字節,字節,作為作為RXFIFORXFIFO,長,長6464字節,字節,的一個窗口,可被的一個窗口,可被CPUCPU訪問。訪問。n在在RXFIFORXFIFO的支持下,的支持下,CPUCPU可以在處理一個可以在處理一個報文的同時接收其他報文。報文的同時接收其他報文。10信息信息2信息信息3信息信息1接收緩沖器窗接收緩沖器窗口口CAN地址地址輸入信息輸入信息釋放接收緩沖器命令釋放接收緩沖器命令接收緩沖器中的當前可用信息接收緩沖器中的當前可用信息是信息是信息1圖圖 RXFIFO中信息存儲示例中信息存儲示例114 4接收過濾器(接收過濾器(ACFA
9、CF)n接收過濾器把接收數據和接收識別碼的接收過濾器把接收數據和接收識別碼的內容相比較,以決定是否接收信息。如內容相比較,以決定是否接收信息。如果比較的結果為真,則報文完整地存入果比較的結果為真,則報文完整地存入RXFIFORXFIFO中。中。125.5.位流處理器:位流處理器:n位流處理器是一個序列發生器,控制發位流處理器是一個序列發生器,控制發送緩沖器、送緩沖器、RXFIFORXFIFO和和CANCAN總線之間的數據總線之間的數據流。流。n完成完成CANCAN總線上的錯誤檢測、仲裁、填充總線上的錯誤檢測、仲裁、填充和錯誤處理等功能。和錯誤處理等功能。136.6.位定時邏輯:位定時邏輯:n位
10、定時邏輯監視位定時邏輯監視CANCAN總線并處理總線位定時。總線并處理總線位定時。n它同步于幀起始的從隱性到顯性電平的跳變它同步于幀起始的從隱性到顯性電平的跳變(硬同步硬同步),并且在接收報文的過程中進行重),并且在接收報文的過程中進行重同步(同步(軟同步軟同步)。)。n提供可編程的時間段用于補償傳播延時和相位提供可編程的時間段用于補償傳播延時和相位變化,變化,n定義采樣時刻和一位時間內的采樣次數。定義采樣時刻和一位時間內的采樣次數。147.7.錯誤管理邏輯錯誤管理邏輯:n負責錯誤界定。負責錯誤界定。n接收來自位流處理器的出錯報告,并將接收來自位流處理器的出錯報告,并將分析出的出錯狀態傳達給位
11、流處理器和分析出的出錯狀態傳達給位流處理器和接口管理邏輯。接口管理邏輯。15CAN控制模塊SJA1000管腳排列圖:控制線:7地址/數據:8時鐘:2電源:6復位:1發送接收:416符號符號引腳引腳說說 明明AD7-0AD7-02,1,28-232,1,28-23多路地址多路地址/ /數據總線數據總線ALE/ASALE/AS3 3ALEALE輸入信號(輸入信號(IntelIntel模式),模式),ASAS輸入信號(輸入信號(MotorolaMotorola模式)模式)/CS/CS4 4片選輸入,低電平允許訪問片選輸入,低電平允許訪問SJA1000SJA1000(/RD/RD)/E/E5 5微控制
12、器的微控制器的/RD/RD信號(信號(IntelIntel模式)或模式)或E E使能信號(使能信號(MotorolaMotorola模式)模式)/WR/WR6 6微控制器的微控制器的/WR/WR信號(信號(IntelIntel模式)或模式)或RD/RD/(/WR/WR)信號)信號(MotorolaMotorola模式)模式)CLKOUTCLKOUT7 7SJA1000SJA1000產生的提供給微控制器的時鐘輸出信號;時鐘信號產生的提供給微控制器的時鐘輸出信號;時鐘信號來源于內部振蕩器,且通過編程驅動時鐘控制;寄存器來源于內部振蕩器,且通過編程驅動時鐘控制;寄存器的時鐘關閉位可禁止該引腳的時鐘關
13、閉位可禁止該引腳V VSS1SS18 8接地接地XTAL1XTAL19 9輸入到振蕩器放大電路;外部振蕩信號由此輸入輸入到振蕩器放大電路;外部振蕩信號由此輸入 注注 XTAL2XTAL21010振蕩放大電路輸出;使用外部振蕩信號時左開路輸出振蕩放大電路輸出;使用外部振蕩信號時左開路輸出 注注 MODEMODE1111模式選擇輸入:模式選擇輸入:1=Intel1=Intel模式模式 0=Motorola0=Motorola模式模式CAN控制模塊SJA1000管腳功能描述17VDD3VDD31212輸出驅動的輸出驅動的5V5V電壓源電壓源TX0TX01313從從CANCAN輸出驅動器輸出驅動器0
14、0輸出到物理線路上輸出到物理線路上TX1TX11414從從CANCAN輸出驅動器輸出驅動器1 1輸出到物理線路上輸出到物理線路上VSS3VSS31515輸出驅動器接地輸出驅動器接地/INT/INT1616中斷輸出,用于中斷微控制器;中斷輸出,用于中斷微控制器;/INT/INT在內部中斷寄存器各位在內部中斷寄存器各位都被置位時低電平有效;都被置位時低電平有效;/INT/INT是開漏輸出,且與系統中的其是開漏輸出,且與系統中的其它它/INT/INT是線或的;此引腳上的低電平可以把是線或的;此引腳上的低電平可以把ICIC從睡眠模式中從睡眠模式中激活激活/RST/RST1717復位輸入,用于復位復位輸
15、入,用于復位CANCAN接口(低電平有效);把接口(低電平有效);把/RST/RST引腳通引腳通過電容連到過電容連到VSSVSS,通過電阻連到通過電阻連到VDDVDD可自動上電復位(例如可自動上電復位(例如C=1FC=1F;R=50kR=50k)VDD2VDD21818輸入比較器的輸入比較器的5V5V電壓源電壓源RX0RX0RX1RX119192020從物理的從物理的CANCAN總線輸入到總線輸入到SJA1000SJA1000的輸入比較器;顯性電平將的輸入比較器;顯性電平將會喚醒會喚醒SJA1000SJA1000的睡眠模式;如果的睡眠模式;如果RX1RX1比比RX0RX0的電平高,就讀回的電平
16、高,就讀回顯性電平,反之讀回隱性電平;如果時鐘分頻寄存器的顯性電平,反之讀回隱性電平;如果時鐘分頻寄存器的CBPCBP位位被置位,就忽略被置位,就忽略CANCAN輸入比較器以減少內部延時;這種情況下輸入比較器以減少內部延時;這種情況下只有只有RX0RX0是激活的;高電平被認為是隱性,而低電平被認為是是激活的;高電平被認為是隱性,而低電平被認為是顯性。顯性。VSS2VSS22121輸入比較器的接地端輸入比較器的接地端VDD1VDD12222邏輯電路的邏輯電路的5V5V電壓源電壓源18振蕩器和時鐘振蕩器和時鐘:四種不同的振蕩器連接方法。四種不同的振蕩器連接方法。195.2 SJA1000的Basi
17、cCAN模式 5.2.1 BasicCAN5.2.1 BasicCAN模式下的地址分配模式下的地址分配 nSJA1000SJA1000對于對于CPUCPU而言,是而言,是可編程外圍芯片可編程外圍芯片。nSJA1000SJA1000的地址區包括的地址區包括控制段、發送、接控制段、發送、接收信息緩沖區三大部分收信息緩沖區三大部分: 控制段:控制段:在初始化期間,控制段可被編在初始化期間,控制段可被編程來配置通訊參數。同時程來配置通訊參數。同時CPUCPU通過這個段通過這個段來控制來控制CANCAN總線上的通信。總線上的通信。20n復位模式:復位模式:當硬件復位或控制器掉線時當硬件復位或控制器掉線時
18、會自動進入復位模式;會自動進入復位模式;n工作模式:工作模式:工作模式是通過工作模式是通過置零置零控制寄控制寄存器的復位請求位激活的。存器的復位請求位激活的。 n接收碼寄存器、屏蔽碼寄存器、總線定接收碼寄存器、屏蔽碼寄存器、總線定時寄存器時寄存器0 0、總線定時寄存器、總線定時寄存器1 1以及輸出以及輸出控制寄存器控制寄存器只有在控制寄存器中的復位只有在控制寄存器中的復位請求位(請求位(CR.0CR.0)被置)被置1 1才可訪問。才可訪問。21 發送緩沖區:發送緩沖區:一個報文在發送之前必須寫入發送緩沖一個報文在發送之前必須寫入發送緩沖器,再向總線上串行送出。器,再向總線上串行送出。 接收緩沖
19、區:接收緩沖區:在成功接收一個報文后,在成功接收一個報文后,CPUCPU從接收緩從接收緩沖器讀取報文并釋放這部分緩存,使其可繼續用于存沖器讀取報文并釋放這部分緩存,使其可繼續用于存儲后續收到的報文。儲后續收到的報文。控制段控制段:SJA1000在在BasicCAN模式下的地址中模式下的地址中共有共有10個字節,偏移地址分別為個字節,偏移地址分別為09。發送緩沖器發送緩沖器:位于位于CAN地址的地址的1019, ,占占10個字節,個字節,接收緩沖器接收緩沖器:位位于于CAN地址的地址的2029, ,占占10個字節,個字節,22CANCAN地址地址寄存器名稱(符號)寄存器名稱(符號)段段工作模式工
20、作模式復位模式復位模式讀讀寫寫讀讀寫寫0 0控制寄存器(控制寄存器(CRCR)控控制制控制控制控制控制控制控制控制控制1 1命令寄存器(命令寄存器(CMRCMR)(FFHFFH)命令命令(FFHFFH)命令命令2 2狀態寄存器(狀態寄存器(SRSR)狀態狀態- -狀態狀態- -3 3中斷寄存器(中斷寄存器(IRIR)中斷中斷- -中斷中斷- -4 4接收碼寄存器(接收碼寄存器(ACRACR)(FFHFFH)- -接收代碼接收代碼接收代碼接收代碼5 5接收屏蔽寄存器接收屏蔽寄存器(AMRAMR)(FFHFFH)- -接收屏蔽接收屏蔽接收屏蔽接收屏蔽6 6總線定時寄存器總線定時寄存器0 0(BTR
21、0BTR0)(FFHFFH)- -總時序總時序0 0總時序總時序0 07 7總線定時寄存器總線定時寄存器1 1(BTR1BTR1)(FFHFFH)- -總時序總時序1 1總時序總時序1 18 8輸出控制寄存器輸出控制寄存器(OCROCR)(FFHFFH)- -輸出控制輸出控制輸出控制輸出控制9 9測試寄存器(測試寄存器(TRTR)測試測試測試測試 注注22測試測試測試測試 注注22231010識別碼(識別碼(ID10-3ID10-3)發送發送緩沖緩沖器器(10-310-3)(10-310-3)(FFHFFH)- -1111識別碼(識別碼(ID2-0ID2-0)+RTR+RTR和和DLCDLC(
22、2-02-0)+RTR+RTR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC(FFHFFH)- -1212數據字節數據字節1 1數據字節數據字節1 1數據字節數據字節1 1(FFHFFH)- -1313數據字節數據字節2 2數據字節數據字節2 2數據字節數據字節2 2(FFHFFH)- -1414數據字節數據字節3 3數據字節數據字節3 3數據字節數據字節3 3(FFHFFH)- -1515數據字節數據字節4 4數據字節數據字節4 4數據字節數據字節4 4(FFHFFH)- -1616數據字節數據字節5 5數據字節數據字節5 5數據字節數據字節5 5(FFHFFH)- -17
23、17數據字節數據字節6 6數據字節數據字節6 6數據字節數據字節6 6(FFHFFH)- -1818數據字節數據字節7 7數據字節數據字節7 7數據字節數據字節7 7(FFHFFH)- -1919數據字節數據字節8 8數據字節數據字節8 8數據字節數據字節8 8(FFHFFH)- -242020識別碼(識別碼(ID.10-3ID.10-3)接接收收緩緩沖沖器器(10-310-3)(10-310-3)(10-310-3)(10-310-3)2121識別碼(識別碼(ID.2-0ID.2-0)+RTR+RTR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC(2-02-0)+RTR+R
24、TR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC2222數據字節數據字節1 1數據字節數據字節1 1數據字節數據字節1 1數據字節數據字節1 1數據字節數據字節1 12323數據字節數據字節2 2數據字節數據字節2 2數據字節數據字節2 2數據字節數據字節2 2數據字節數據字節2 22424數據字節數據字節3 3數據字節數據字節3 3數據字節數據字節3 3數據字節數據字節3 3數據字節數據字節3 32525數據字節數據字節4 4數據字節數據字節4 4數據字節數據字節4 4數據字節數據字節4 4數據字節數據字節4 42626數據
25、字節數據字節5 5數據字節數據字節5 5數據字節數據字節5 5數據字節數據字節5 5數據字節數據字節5 52727數據字節數據字節6 6數據字節數據字節6 6數據字節數據字節6 6數據字節數據字節6 6數據字節數據字節6 62828數據字節數據字節7 7數據字節數據字節7 7數據字節數據字節7 7數據字節數據字節7 7數據字節數據字節7 72929數據字節數據字節8 8數據字節數據字節8 8數據字節數據字節8 8數據字節數據字節8 8數據字節數據字節8 83030(FFHFFH)- -(FFHFFH)- -3131時鐘分頻器(時鐘分頻器(CDRCDR)時鐘分頻時鐘分頻器器時鐘分頻時鐘分頻器器時
26、鐘分頻時鐘分頻器器時鐘分頻時鐘分頻器器25nSJA1000SJA1000有兩種復位方式:有兩種復位方式:硬件復位與軟件復硬件復位與軟件復位。位。n硬件復位硬件復位是指在芯片的復位腳上提供一定寬度是指在芯片的復位腳上提供一定寬度低電平,硬件復位需要足夠的時間才能使控制低電平,硬件復位需要足夠的時間才能使控制寄存器中的復位請求位置寄存器中的復位請求位置1 1;n軟件復位軟件復位是指通過軟件設置是指通過軟件設置CR.0CR.0為為1 1或由脫離或由脫離總線引起的復位。總線引起的復位。 5.2.2復位值復位值26nSJA1000SJA1000檢測到檢測到復位請求位為復位請求位為1 1后,將中后,將中止
27、當前報文的接收止當前報文的接收/ /發送而進入復位模式。發送而進入復位模式。n當當CR.0CR.0復位請求位從復位請求位從1 1轉變到轉變到0 0,SJA1000SJA1000返回到工作模式。返回到工作模式。27寄存器寄存器名稱名稱位位符號符號名稱名稱值值硬件復位硬件復位軟件軟件CR.0CR.0或總線或總線關閉復位關閉復位控制控制CR.7CR.7- -保留保留0 00 0CR.6CR.6- -保留保留CR.5CR.5- -保留保留1 11 1CR.4CR.4OIEOIE溢出中斷使能溢出中斷使能CR.3CR.3EIEEIE錯誤中斷使能錯誤中斷使能CR.2CR.2TIETIE發送中斷使能發送中斷使
28、能CR.1CR.1RIERIE接收中斷使能接收中斷使能CR.0CR.0RRRR復位請求復位請求1(1(復位模式復位模式) )1(1(復位模式復位模式) )命令命令CMR.7CMR.7- -保留保留讀命令寄存器的結果總讀命令寄存器的結果總是是“1111 1111” 1111 1111” 讀命令寄存器的結果讀命令寄存器的結果總是總是“1111 1111”1111 1111”CMR.6CMR.6- -保留保留CMR.5CMR.5- -保留保留CMR.4CMR.4GTSGTS睡眠睡眠CMR.3CMR.3CDOCDO清除數據溢出清除數據溢出CMR.2CMR.2RRBRRB釋放接收緩沖器釋放接收緩沖器CM
29、R.1CMR.1ATAT忽略傳送忽略傳送CMR.0CMR.0TRTR發送請求發送請求復位模式下各寄存器的狀態復位模式下各寄存器的狀態28狀態狀態SR.7SR.7BSBS總線狀態總線狀態0(0(在線在線) )SR.6SR.6ESES出錯狀態出錯狀態0(0(無錯無錯) )SR.5SR.5TSTS發送狀態發送狀態0(0(空閑空閑) )0(0(空閑空閑) )SR.4SR.4RSRS接收狀態接收狀態0(0(空閑空閑) )0(0(空閑空閑) )SR.3SR.3TCSTCS發送完畢狀態發送完畢狀態1(1(完畢完畢) )SR.2SR.2TBSTBS發送緩沖器狀態發送緩沖器狀態1(1(釋放釋放) )1(1(釋放
30、釋放) )SR.1SR.1DOSDOS數據溢出狀態數據溢出狀態0(0(無溢出無溢出) )0(0(無溢出無溢出) )SR.0SR.0RBSRBS接收緩沖器狀態接收緩沖器狀態0(0(空空) )0(0(空空) )中斷中斷IR.7IR.7- -保留保留1 11 1IR.6IR.6- -保留保留1 11 1IR.5IR.5- -保留保留1 11 1IR.4IR.4WUIWUI喚醒中斷喚醒中斷0(0(復位復位) )0(0(復位復位) )IR.3IR.3DOIDOI數據溢出中斷數據溢出中斷0(0(復位復位) )0(0(復位復位) )IR.2IR.2EIEI錯誤中斷錯誤中斷0(0(復位復位) ) 注注44IR
31、.1IR.1TITI發送中斷發送中斷0(0(復位復位) )0(0(復位復位) )IR.0IR.0RIRI接收中斷接收中斷0(0(復位復位) )0(0(復位復位) )29.2.3 .2.3 控制寄存器控制寄存器 (CR,(CR,地址地址0)0)位位符號符號名稱名稱值值功能說明功能說明CR.7CR.7- - - -保留保留 注注11CR.6CR.6- - - -保留保留 注注22CR.5CR.5- - - -保留保留 注注33CR.4CR.4OIEOIE溢出中斷溢出中斷使能使能1 1使能使能:如果置位數據溢出位如果置位數據溢出位,微控制器接收溢出中斷信號微控制器接收溢出中斷信號0 0禁能禁能:微控
32、制器不從微控制器不從SJA1000SJA1000接收溢出中斷信號接收溢出中斷信號CR.3CR.3EIEEIE錯誤中斷錯誤中斷使能使能1 1使能使能:如果出錯或總線狀態改變如果出錯或總線狀態改變,微控制器接收錯誤中斷信號微控制器接收錯誤中斷信號0 0禁能禁能:微控制器不從微控制器不從SJA1000SJA1000接收錯誤中斷信號接收錯誤中斷信號CR.2 CR.2 TIETIE發送中斷發送中斷使能使能1 1使能使能:當信息被成功發送或發送緩沖器又可訪問時當信息被成功發送或發送緩沖器又可訪問時,微控制器接微控制器接收收SJA1000SJA1000發出的一個發送中斷信號發出的一個發送中斷信號0 0禁能禁
33、能:微控制器不從微控制器不從SJA1000SJA1000接收發送中斷信號接收發送中斷信號CR.1CR.1RIERIE接收中斷接收中斷使能使能1 1使能使能:信息被無錯接收時信息被無錯接收時,SJA1000SJA1000發出一個接收中斷信號到微控發出一個接收中斷信號到微控制器制器0 0禁能禁能:微控制器不從微控制器不從SJA1000SJA1000接收發送中斷信號接收發送中斷信號CR.0 CR.0 RRRR復位請求復位請求 注注441 1當前當前:SJA1000SJA1000檢測到復位請求后檢測到復位請求后, ,忽略當前發送忽略當前發送/ /接收的信息接收的信息,進進入復位模式入復位模式0 0空缺
34、空缺:復位請求位由復位請求位由1 1變變0 0后后,SJA1000SJA1000回到工作模式回到工作模式30位位符號符號名稱名稱值值功能說明功能說明CMR.7CMR.7- - - -保留保留CMR.6CMR.6- - - -保留保留CMR.5CMR.5- - - -保留保留CMR.4CMR.4GTSGTS睡眠睡眠1 1睡眠睡眠:如果沒有如果沒有CANCAN中斷等待和總線活動中斷等待和總線活動,SJA1000SJA1000進進入睡眠模式入睡眠模式0 0喚醒喚醒:SJA1000SJA1000正常工作模式正常工作模式CMR.3CMR.3CDOCDO清除數據清除數據溢出溢出1 1清除清除:清除數據溢出
35、狀態位清除數據溢出狀態位0 0無動作無動作CMR.2CMR.2RRBRRB釋放接收釋放接收緩沖器緩沖器1 1釋放釋放:接收緩沖器中存放信息的內存空間將被釋放接收緩沖器中存放信息的內存空間將被釋放0 0無動作無動作CMR.1CMR.1ATAT中止發送中止發送1 1當前當前:如果不是在處理過程中如果不是在處理過程中, ,等待處理的發送請求將等待處理的發送請求將取消取消0 0空缺空缺:無動作無動作CMR.0CMR.0TRTR發送請求發送請求1 1當前當前:信息被發送信息被發送0 0空缺空缺:無動作無動作5.2.4 5.2.4 命令寄存器命令寄存器 (CMR (CMR ,地址,地址1)1)命令寄存器對
36、微控制器來說是只寫存儲器。如果去讀這個地址,返回值是命令寄存器對微控制器來說是只寫存儲器。如果去讀這個地址,返回值是“1111 1111”1111 1111”31位位符號符號名稱名稱值值功能說明功能說明SR.7SR.7BSBS總線狀態總線狀態1 1脫離總線:脫離總線:SJA1000SJA1000退出總線活動退出總線活動0 0在線:在線:SJA1000SJA1000加入總線活動加入總線活動SR.6SR.6ESES出錯狀態出錯狀態1 1出錯:至少出現一個錯誤計數器超過出錯:至少出現一個錯誤計數器超過CPUCPU報警限制報警限制0 0Ok Ok :兩個錯誤計數器都在報警限制以下:兩個錯誤計數器都在報
37、警限制以下SR.5SR.5TSTS發送狀態發送狀態1 1發送:發送:SJA1000SJA1000在傳送信息在傳送信息0 0空閑:沒有要發送的信息空閑:沒有要發送的信息SR.4SR.4RSRS接收狀態接收狀態1 1接收:接收:SJA1000SJA1000正在接收信息正在接收信息0 0空閑:沒有正在接收的信息空閑:沒有正在接收的信息SR.3SR.3TCSTCS發送完畢狀發送完畢狀態態1 1完畢:最近一次發送請求被成功處理完畢:最近一次發送請求被成功處理0 0未完畢:當前發送請求未處理完畢未完畢:當前發送請求未處理完畢SR.2 SR.2 TBSTBS發送緩沖器發送緩沖器狀態狀態1 1釋放:釋放:CP
38、UCPU可以向發送緩沖器寫信息可以向發送緩沖器寫信息0 0鎖定:鎖定:CPUCPU不能訪問發送緩沖器;有信息正在等待發送或不能訪問發送緩沖器;有信息正在等待發送或正在發送正在發送SR.1SR.1DOSDOS數據溢出狀數據溢出狀態態1 1溢出:信息丟失,因為溢出:信息丟失,因為RXFIFORXFIFO中沒有足夠的空間來存儲它中沒有足夠的空間來存儲它0 0自從最后一次清除數據溢出命令執行無數據溢出發生自從最后一次清除數據溢出命令執行無數據溢出發生SR.0 SR.0 RBSRBS接收緩沖器接收緩沖器狀態狀態1 1滿:滿:RXFIFORXFIFO中有可用信息中有可用信息0 0空:無可用信息空:無可用信
39、息5.2.5 狀態寄存器狀態寄存器 (SR 地址地址2 ):只讀存儲器:只讀存儲器32位位符號符號名稱名稱值值功能說明功能說明IR7-5IR7-5- - - -保留保留 注注11IR.4IR.4WUIWUI喚醒中斷喚醒中斷1 1置位:退出睡眠模式時此位被置位置位:退出睡眠模式時此位被置位0 0復位:復位: 微控制器的任何讀訪問將清除此位微控制器的任何讀訪問將清除此位IR.3IR.3DOIDOI數據溢出數據溢出中斷中斷1 1設置:當數據溢出中斷使能位被置為設置:當數據溢出中斷使能位被置為1 1時向數據溢出狀態位傳送時向數據溢出狀態位傳送“0-1”0-1”,此位被置位,此位被置位0 0復位:微控制
40、器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位IR.2 IR.2 EIEI錯誤中斷錯誤中斷1 1置位:錯誤中斷使能時,錯誤狀態位或總線狀態位的變化會置置位:錯誤中斷使能時,錯誤狀態位或總線狀態位的變化會置位此位位此位0 0復位:微控制器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位IR.1IR.1TITI發送中斷發送中斷1 1置位:發送緩沖器狀態從置位:發送緩沖器狀態從0 0變為變為1 1(釋放)和發送中斷使能時,(釋放)和發送中斷使能時,置位此位置位此位0 0復位:微控制器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位IR.0 IR.0 RIRI接收中斷
41、接收中斷1 1置位:當接收置位:當接收FIFOFIFO不空和接收中斷使能時置位此位不空和接收中斷使能時置位此位0 0復位:微控制器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位5.2.6中斷寄存器中斷寄存器 (SR 地址3):只讀存儲器:只讀存儲器33名稱名稱地址地址D7D6D5D4D3D2D1D0發送緩沖器發送緩沖器標識符標識符(RTR,DLC)10ID.10ID.9ID.8ID.7ID.6ID.5ID.4ID.311ID.2ID.1ID.0RTRDLC.3DLC.2DLC.1DLC.0數據字節數據字節181219數據數據數據數據數據數據數據數據數據數據數據數據數據數據數據數據5
42、.2.75.2.7發送緩沖器發送緩沖器34 發送緩沖器位于發送緩沖器位于CANCAN地址的地址的10101919。發送緩沖器的讀。發送緩沖器的讀/ /寫寫只能由微控制器在只能由微控制器在工作模式下工作模式下完成。在復位模式下讀出完成。在復位模式下讀出的值總是的值總是“FFH”FFH”。(1 1)識別碼()識別碼(IDID) 識別碼有識別碼有1111位位(ID.0-ID.10)(ID.0-ID.10)。ID.10ID.10是最高位是最高位. .在仲裁過在仲裁過程中是最先被發送到總線上的。識別碼的二進制值越低,程中是最先被發送到總線上的。識別碼的二進制值越低,其優先級越高。其優先級越高。 在接收過
43、濾器中被用到,在仲裁過程中決定總線訪問的在接收過濾器中被用到,在仲裁過程中決定總線訪問的優先級。優先級。(2 2)遠程發送請求()遠程發送請求(RTRRTR) 如果如果此位置此位置1 1,總線將以遠程結構發送數據。這意味著此,總線將以遠程結構發送數據。這意味著此段中沒有數據字節。段中沒有數據字節。 如果如果沒有置位沒有置位RTRRTR位位,數據將以數據長度碼規定的長度來,數據將以數據長度碼規定的長度來傳送。傳送。 35(3 3)數據長度碼()數據長度碼(DLCDLC) 信息數據區的字節數根據數據長度碼編制。數信息數據區的字節數根據數據長度碼編制。數據字節數是據字節數是0 08 8,用如下方法計
44、算:,用如下方法計算:數據字節數數據字節數8 8DLC.3DLC.34 4DLC.2DLC.22 2DLC.1DLC.1DLC.0DLC.0如果選擇的值超過如果選擇的值超過8 8,則按照,則按照DLCDLC規定認為是規定認為是8 8。(4 4)數據區)數據區 傳送的數據字節數由數據長度碼決定。傳送的數據字節數由數據長度碼決定。 發送的第一位是地址發送的第一位是地址1212單元的數據字節單元的數據字節1 1的最的最高位高位365.2.8接收緩沖器接收緩沖器名稱名稱地址地址D7D6D5D4D3D2D1D0接收緩沖器接收緩沖器標識符標識符(RTR,DLC)20ID.10ID.9ID.8ID.7ID.
45、6ID.5ID.4ID.321ID.2ID.1ID.0RTRDLC.3DLC.2DLC.1DLC.0數據字節數據字節182229數據數據數據數據數據數據數據數據數據數據數據數據數據數據數據數據37 SJA1000從總線上接收到的信息存放在從總線上接收到的信息存放在RXFIFO共有共有64字節的信息空間。字節的信息空間。 接收緩沖器接收緩沖器RXB是指在是指在64字節字節RXFIFO中可以被中可以被CPU直接讀寫的寄存器。共直接讀寫的寄存器。共10個字節,偏移地址是個字節,偏移地址是2029。 如何理解如何理解RXB與與RXFIFO之間的關系?之間的關系?信息信息2信息信息3信息信息1接收緩沖器
46、接收緩沖器窗口窗口CAN地址地址輸入信息輸入信息釋放接收緩沖器釋放接收緩沖器命令命令接收緩沖器中的當前可用接收緩沖器中的當前可用信息是信息信息是信息1RXFIFO中信息存儲示例中信息存儲示例38RXFIFO合格的新報文合格的新報文如果如果RXFIFO中沒有足夠的空間中沒有足夠的空間來存儲新的信息,來存儲新的信息,CAN控制器會控制器會產生產生數據溢出數據溢出。數據溢出發生時,已部分寫入數據溢出發生時,已部分寫入 RXFIFORXFIFO的當前信息將被刪除。的當前信息將被刪除。溢出狀態位溢出狀態位SR.1SR.1置置“1 1”如果中斷允許,則數據溢出中斷如果中斷允許,則數據溢出中斷 反應到反應到
47、CPUCPU。 64字節的字節的RXFIFO中最多中最多可以存儲的報文數?可以存儲的報文數? 取決于各條報文的長度取決于各條報文的長度 10字節的字節的RXB中中可以存儲一個完整的報文?可以存儲一個完整的報文?可以(可以(ID+RTR+DLC+ID+RTR+DLC+數據區)數據區)395.2.9 5.2.9 接收過濾器接收過濾器注意:注意:ACR、AMR只有在控制寄存器只有在控制寄存器CR的的復位復位請求位請求位CR.0置置“1”時時(也就是說(也就是說SJA1000在復在復位狀態時)才可以(讀位狀態時)才可以(讀/寫)寫)接收過濾器的作用: 使得使得CANCAN控制器只接收識別碼和接收過濾器
48、中預設值相一致控制器只接收識別碼和接收過濾器中預設值相一致的信息進入到的信息進入到RXFIFO RXFIFO 。報文存入。報文存入FIFOFIFO的報文被的報文被CANCAN控制器采用。控制器采用。 接收過濾器的組成: 由接收代碼寄存器(由接收代碼寄存器(ACRACR)和接收屏蔽寄存器()和接收屏蔽寄存器(AMRAMR)組成。)組成。 接收代碼寄存器(ACR ,地址4) 接收屏蔽碼寄存器(AMR ,地址5)40接收碼寄存器(接收碼寄存器(ACRACR)的位分配)的位分配BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0AC.7AC.6AC.5AC.4AC.3AC.2AC.1AC.
49、0BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0AM.7AM.6AM.5AM.4AM.3AM.2AM.1AM.0接收屏蔽碼寄存器(接收屏蔽碼寄存器(AMRAMR)的位分配)的位分配接收屏蔽寄存器定義接收代碼寄存器的相應位對接收過濾器接收屏蔽寄存器定義接收代碼寄存器的相應位對接收過濾器是是“相關相關”的或的或“不相關不相關”的。的。1“不相關不相關”,0“相關相關”。(ID.10-ID.3)(AC.7-AC.0)或(或(AM.7-AM.0) 1111111141例:ACR.7ACR.6ACR.5ACR.4ACR.3ACR.2ACR.1ACR.0ACRACR0 00 01 11
50、10 01 11 10 0AMRAMR0 01 10 01 10 00 00 01 1信息信息IDID0 0X X1 1X X0 01 11 1X XX XX XX XID.10ID.9ID.8ID.7ID.6ID.5ID.4ID.3ID.2ID.1ID.042 一條信息通過了接收過濾器的測試,而且接收一條信息通過了接收過濾器的測試,而且接收緩沖器有足夠的空間,那么標識符和數據將被緩沖器有足夠的空間,那么標識符和數據將被分別順次寫入分別順次寫入RXFIFORXFIFO;同時:;同時: 接收緩沖器狀態接收緩沖器狀態SR.0位置位置1(非空);(非空); 如果接收中斷允許位如果接收中斷允許位CR.
51、1為為1(允許),則接(允許),則接收中斷收中斷IR.0位置位置1(產生中斷)。(產生中斷)。 如果接收緩沖區的空間已滿:如果接收緩沖區的空間已滿: 狀態寄存器狀態寄存器SR的數據溢出狀態位的數據溢出狀態位SR.1置置“1” 已部分寫入已部分寫入RXFIFO的當前信息將被刪除。的當前信息將被刪除。 如果溢出中斷允許(如果溢出中斷允許(CR.4=1),產生數據溢出,產生數據溢出中斷。中斷。 435.2.10 其它寄存器總線定時寄存器總線定時寄存器0 0(BTR0 BTR0 ,地址,地址6 6 )總線定時寄存器總線定時寄存器1 1 (BTR1BTR1,地址,地址7 7 )3 3輸出控制寄存器(輸出
52、控制寄存器(OCR OCR ,地址,地址8 8)4 4時鐘分頻寄存器(時鐘分頻寄存器(CDRCDR,地址,地址3131)以上寄存器是在以上寄存器是在BasicCANBasicCAN與與PeliCANPeliCAN兩種模式下兩種模式下共有共有的寄存器。的寄存器。偏移地址相同偏移地址相同各個位的功能定義不完全相同各個位的功能定義不完全相同44.總線定時寄存器總線定時寄存器0(BTR0 ,地址,地址6 )總線定時寄存器總線定時寄存器0定義了比特率預設值(定義了比特率預設值(BRP)和)和同步跳轉寬度(同步跳轉寬度(SJW)的值。)的值。復位模式下復位模式下: :總線定時寄存器總線定時寄存器0 0是可
53、以被訪問(讀是可以被訪問(讀/ /寫)的寫)的工作模式下工作模式下: : 如果選擇的是如果選擇的是PeliCANPeliCAN模式,那么此寄存器是只讀的;模式,那么此寄存器是只讀的; 如果選擇的是如果選擇的是BasicCANBasicCAN模式,那么讀回的值總是模式,那么讀回的值總是FFHFFH。總線定時寄存器總線定時寄存器0 0各位的功能如下:各位的功能如下: BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SJW.1SJW.2BRP.5BRP.4BRP.3BRP.2BRP.1BRP.045(1) 比特率預引比例因子比特率預引比例因子BRPCANCAN系統時鐘系統時鐘t tS
54、CLSCL的周期的周期是可編程的,而且決定了是可編程的,而且決定了本系統的位定時本系統的位定時CANCAN系統時鐘由如下公式計算:系統時鐘由如下公式計算:tSCL 2tCLK(32BRP.516BRP.48BRP.3 4BRP.22BRP.1BRP.01)式中式中t tCLKCLK =XTAL =XTAL的頻率周期的頻率周期=1/f=1/fXTALXTAL46(2 2) 同步跳轉寬度同步跳轉寬度SJWSJWtSJWtSCL(2SJW.1+SJW.0+1) 為了補償不同總線控制器的時鐘振蕩器之間的為了補償不同總線控制器的時鐘振蕩器之間的相位相位偏移偏移,任何總線控制器必須在當前傳送的相關信號沿,
55、任何總線控制器必須在當前傳送的相關信號沿進行重同步。進行重同步。 同步跳轉寬度同步跳轉寬度SJWSJW定義了每一個位周期可以被重同步定義了每一個位周期可以被重同步過程縮短或延長的時間長度,以時鐘周期的數目來計算,過程縮短或延長的時間長度,以時鐘周期的數目來計算,計算公式如下:計算公式如下:472.總線定時寄存器總線定時寄存器1 (BTR1,地址,地址7 )復位模式下復位模式下: :總線定時寄存器總線定時寄存器1 1是可以被訪問(讀是可以被訪問(讀/ /寫)的寫)的工作模式下工作模式下: : 如果選擇的是如果選擇的是PeliCANPeliCAN模式,那么此寄存器是只讀的;模式,那么此寄存器是只讀
56、的; 如果選擇的是如果選擇的是BasicCANBasicCAN模式,那么讀回的值總是模式,那么讀回的值總是FFHFFH。總線定時寄存器總線定時寄存器1定義了定義了每個位周期的長度每個位周期的長度、采樣點的位置采樣點的位置和在每個和在每個采樣點的采樣數目采樣點的采樣數目。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0總線定時寄存器總線定時寄存器1 1各位的功能如下:各位的功能如下: 時間段時間段TSEG1時間段時間段TSEG2采樣位48(1) 采樣采樣SAMTSEG1和TSE
57、G2決定了每一個位周期包含的時鐘周期的數目和采樣點的位置。tSYNCSEGSYNCSEG1tSCLtTSEG1tSCL(8TSEG1.3+4TSEG1.2+2TSEG1.1+TSEG1.0+1)tTSEG2tSCLSCL(4TSEG2.2+2TSEG2.1+TSEG2.0+1)采樣位采樣位: : SAM=1SAM=1時時,總線采樣,總線采樣3 3次,建議在低次,建議在低/ /中速總線上使用。中速總線上使用。 SAM=0SAM=0時時,總線采樣,總線采樣1 1次,建議用在高速總線上。次,建議用在高速總線上。(2) 時間段時間段1(TSEG1)和時間段)和時間段2(TSEG2)返回49一個位周期的
58、總體結構一個位周期的總體結構CAN系統時鐘與振蕩系統時鐘與振蕩周期關系周期關系依據公式50波特率計算方法舉例如下:假如外部晶振為假如外部晶振為16MHz時,時,如設定如設定SJA1000總線總線定時寄存器定時寄存器0的值為的值為#D3H=11010011 ,設定設定SJA1000總線定時寄存器總線定時寄存器1的值為的值為#0AFH=10101111,求系統時鐘,求系統時鐘為多少?系統的波特率為多少?為多少?系統的波特率為多少?tscl=2 (16+2+1+1) / 161000000=2.5us每個位周期時間每個位周期時間 2.5 (8421 1)+(2+1)+1=50us波特率波特率=1/5
59、0us=20KbpsTSEG1 TSEG2 TSYN 513 3輸出控制寄存器(輸出控制寄存器(OCR OCR ,地址,地址8 8)輸出控制寄存器實現了軟件對輸出驅動器的不同配置。輸出控制寄存器實現了軟件對輸出驅動器的不同配置。復位模式下復位模式下:輸出控制寄存器輸出控制寄存器是可以被訪問(讀是可以被訪問(讀/寫)的。寫)的。工作模式下工作模式下: 如果選擇的是如果選擇的是PeliCAN模式,那么此寄存器是只讀的;模式,那么此寄存器是只讀的; 如果選擇的是如果選擇的是BasicCAN模式,那么讀回的值總是模式,那么讀回的值總是FFH。52BIT7BIT6BIT5BIT4BIT3BIT2BIT1
60、BIT0OCTP1OCTN1OCPOL1OCTP0OCTN0OCPOL0OCMODE1OCMODE0輸出控制寄存器輸出控制寄存器在復位模式下可讀在復位模式下可讀/ /寫訪問。寫訪問。該寄存器各位功能如下:該寄存器各位功能如下:OCTP1控制輸出晶體管P1;OCTN1控制輸出晶體管N1;OCPOL1控制輸出極性1;OCTP0控制輸出晶體管P0;OCTN0控制輸出晶體管N0;OCPOL0控制輸出極性0;控制輸出模式四種狀態53當當SJA1000在在睡眠模式睡眠模式中時,中時,TX0和和TX1引腳根據輸出控制寄存器引腳根據輸出控制寄存器的內容的內容輸出隱性的電平輸出隱性的電平。在在復位狀態復位狀態(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 懷化2025年懷化會同縣招聘7名事業單位工作人員筆試歷年參考題庫附帶答案詳解
- 2025年互聯網+教育平臺建設資金申請創新機制與實施趨勢報告
- 2025云南廣電傳媒集團招聘16人筆試參考題庫附帶答案詳解
- 2025年文旅地產項目開發與旅游產業政策影響評估研究報告
- 行政管理心理學策略性考試題及答案
- 市政工程問題解析試題及答案指導
- 水利水電工程人力資源管理試題及答案
- 創新藥品生產基地項目實施方案(范文模板)
- 充電樁建設與運營的創新路徑
- 2025年交通基礎設施建設投融資模式創新與交通基礎設施建設投資案例分析報告
- 化工設計知到智慧樹章節測試課后答案2024年秋浙江大學
- 《建筑構造與識圖》課程標準
- 2025年保健食品從業人員培訓考試試題
- 2025年貴州盤江精煤股份有限公司招聘筆試參考題庫含答案解析
- 2024年中考數學復習:中點模型專項練習
- 旅行社企業章程范本
- 2025年寧波余姚市直屬企業招招聘筆試參考題庫含答案解析
- 《心理健康測試》課件
- 輸變電工程監督檢查標準化清單-質監站檢查
- GB/T 26718-2024城市軌道交通安全防范系統技術要求
- 《心房顫動》課件
評論
0/150
提交評論