第5章 CAN 器件及開發(fā)實例_第1頁
第5章 CAN 器件及開發(fā)實例_第2頁
第5章 CAN 器件及開發(fā)實例_第3頁
第5章 CAN 器件及開發(fā)實例_第4頁
第5章 CAN 器件及開發(fā)實例_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1第五章 CAN 器件及開發(fā)實例與其他現(xiàn)場總線相比,CAN總線得到多家芯片廠商的支持。 制造商制造商產(chǎn)品型號產(chǎn)品型號器件功能及特點器件功能及特點INTELINTEL82526825278XC196CA/CBCAN通信控制器通信控制器,符合符合CAN2.0ACAN通信控制器通信控制器,符合符合CAN2.0B擴展的擴展的8XC196 CAN通信控制器,符合通信控制器,符合CAN2.0BPHILIPPHILIP82C200SJA100082C15082C250P51XA-C3CAN通信控制器通信控制器,符合符合CAN2.0ACAN通信控制器通信控制器,符合符合CAN2.0A/B帶數(shù)字及模擬帶數(shù)字及模

2、擬I/O的的CAN擴展器件擴展器件,符合符合CAN2.0A高性能的高性能的CAN總線收發(fā)器總線收發(fā)器16位微處理器位微處理器+ CAN通信控制器通信控制器,符合符合CAN2.0BMOTOROLAMOTOROLA68HC05X4系列系列68HC05X4微控制器微控制器+CAN通信控制器通信控制器,符合符合CAN2.0ASINMENSSINMENS81C90/91C167CCAN通信控制器通信控制器,符合符合CAN2.0A微控制器微控制器+CAN通信控制器通信控制器,符合符合CAN2.0A/B2CAN總線總線控制節(jié)點控制節(jié)點1控制節(jié)點控制節(jié)點n傳感器、變送器傳感器、變送器MMI Tx Rx微處理器

3、微處理器CAN控制器控制器CAN收發(fā)器收發(fā)器圖圖 CAN 模塊裝置模塊裝置傳感器、變送器傳感器、變送器MMITx Rx微處理器微處理器CAN控制器控制器CAN收發(fā)器收發(fā)器35.1獨立獨立CAN控制器控制器SJA1000 n SJA1000SJA1000是是適用于適用于汽車和一般工業(yè)環(huán)境的獨立汽車和一般工業(yè)環(huán)境的獨立CANCAN控制器。它是控制器。它是PHILIPSPHILIPS公司生產(chǎn)。公司生產(chǎn)。nSJA1000SJA1000有兩種工作模式:有兩種工作模式:BasicCANBasicCAN模式,模式, PeliCANPeliCAN工作模式工作模式。 nBasicCANBasicCAN模式模式是

4、是PHILIPSPHILIPS公司生產(chǎn)的公司生產(chǎn)的 PCA82C200PCA82C200的替代產(chǎn)品,引腳兼容,電氣兼容。的替代產(chǎn)品,引腳兼容,電氣兼容。 PeliCANPeliCAN工作模式支持工作模式支持CAN2.0BCAN2.0B協(xié)議。協(xié)議。nPeliCANPeliCAN模式下模式下,SJA1000SJA1000具有與具有與BasicCANBasicCAN模式模式下完全不同的寄存器結(jié)構(gòu)。下完全不同的寄存器結(jié)構(gòu)。4SJA1000的PeliCAN模式具有以下新增特性:n接收和發(fā)送標準和擴展格式報文;接收和發(fā)送標準和擴展格式報文;n達達64字節(jié)的接收字節(jié)的接收FIFO;n對于標準和擴展幀都有單對

5、于標準和擴展幀都有單/雙接收過濾器;雙接收過濾器;n可讀可讀/寫訪問的錯誤計數(shù)器;寫訪問的錯誤計數(shù)器;n可編程的錯誤報警限;可編程的錯誤報警限;n最近一次錯誤代碼寄存器;最近一次錯誤代碼寄存器;n對于每一種對于每一種CAN總線錯誤都能產(chǎn)生不同的出錯總線錯誤都能產(chǎn)生不同的出錯中斷;中斷;5n仲裁丟失中斷,并帶有詳細丟失仲裁位置的信仲裁丟失中斷,并帶有詳細丟失仲裁位置的信息;息;n允許單次發(fā)送,當出錯或丟失仲裁時不重發(fā);允許單次發(fā)送,當出錯或丟失仲裁時不重發(fā);n只聽模式(監(jiān)視只聽模式(監(jiān)視CAN總線,無應(yīng)答,無出錯標總線,無應(yīng)答,無出錯標志);志);n支持熱插拔;支持熱插拔;n自身發(fā)送報文接收(自

6、接收請求);自身發(fā)送報文接收(自接收請求);n硬件禁止硬件禁止CLKOUT 輸出。輸出。6CANCAN控制模塊控制模塊SJA1000SJA1000功能框圖功能框圖7SJA1000CAN控制器由下述幾部分組成:n1 1接口管理邏輯(接口管理邏輯(IMLIML)n通過通過SJA1000SJA1000復用的地址復用的地址/ /數(shù)據(jù)總線數(shù)據(jù)總線 ,控制讀,控制讀/ /寫選通信號等,完成對外部主控制器的連接。寫選通信號等,完成對外部主控制器的連接。并向該控制器提供中斷信息和狀態(tài)信息。并向該控制器提供中斷信息和狀態(tài)信息。n解釋來自解釋來自CPUCPU的命令,控制的命令,控制SJA1000SJA1000內(nèi)部

7、尋址,內(nèi)部尋址,向向CPUCPU提供中斷信息和狀態(tài)信息。提供中斷信息和狀態(tài)信息。 8n2 2發(fā)送緩沖器(發(fā)送緩沖器(TXBTXB)n發(fā)送緩沖器是發(fā)送緩沖器是CPUCPU和位流處理器之間的接和位流處理器之間的接口???。n能夠存儲發(fā)送到能夠存儲發(fā)送到CANCAN總線上的完整報文,總線上的完整報文,緩沖器長緩沖器長1313字節(jié)字節(jié),由,由CPUCPU寫入,位流處理寫入,位流處理器器BSPBSP讀出。讀出。9n3 3接收緩沖器(接收緩沖器(RXBRXB,RXFIFORXFIFO)n是是接收過濾器接收過濾器和和CPUCPU之間之間的接口,用于儲的接口,用于儲存從存從CANCAN總線上接收并采用的報文???/p>

8、線上接收并采用的報文。nRXBRXB,長,長1313字節(jié),字節(jié),作為作為RXFIFORXFIFO,長,長6464字節(jié),字節(jié),的一個窗口,可被的一個窗口,可被CPUCPU訪問。訪問。n在在RXFIFORXFIFO的支持下,的支持下,CPUCPU可以在處理一個可以在處理一個報文的同時接收其他報文。報文的同時接收其他報文。10信息信息2信息信息3信息信息1接收緩沖器窗接收緩沖器窗口口CAN地址地址輸入信息輸入信息釋放接收緩沖器命令釋放接收緩沖器命令接收緩沖器中的當前可用信息接收緩沖器中的當前可用信息是信息是信息1圖圖 RXFIFO中信息存儲示例中信息存儲示例114 4接收過濾器(接收過濾器(ACFA

9、CF)n接收過濾器把接收數(shù)據(jù)和接收識別碼的接收過濾器把接收數(shù)據(jù)和接收識別碼的內(nèi)容相比較,以決定是否接收信息。如內(nèi)容相比較,以決定是否接收信息。如果比較的結(jié)果為真,則報文完整地存入果比較的結(jié)果為真,則報文完整地存入RXFIFORXFIFO中。中。125.5.位流處理器:位流處理器:n位流處理器是一個序列發(fā)生器,控制發(fā)位流處理器是一個序列發(fā)生器,控制發(fā)送緩沖器、送緩沖器、RXFIFORXFIFO和和CANCAN總線之間的數(shù)據(jù)總線之間的數(shù)據(jù)流。流。n完成完成CANCAN總線上的錯誤檢測、仲裁、填充總線上的錯誤檢測、仲裁、填充和錯誤處理等功能。和錯誤處理等功能。136.6.位定時邏輯:位定時邏輯:n位

10、定時邏輯監(jiān)視位定時邏輯監(jiān)視CANCAN總線并處理總線位定時??偩€并處理總線位定時。n它同步于幀起始的從隱性到顯性電平的跳變它同步于幀起始的從隱性到顯性電平的跳變(硬同步硬同步),并且在接收報文的過程中進行重),并且在接收報文的過程中進行重同步(同步(軟同步軟同步)。)。n提供可編程的時間段用于補償傳播延時和相位提供可編程的時間段用于補償傳播延時和相位變化,變化,n定義采樣時刻和一位時間內(nèi)的采樣次數(shù)。定義采樣時刻和一位時間內(nèi)的采樣次數(shù)。147.7.錯誤管理邏輯錯誤管理邏輯:n負責錯誤界定。負責錯誤界定。n接收來自位流處理器的出錯報告,并將接收來自位流處理器的出錯報告,并將分析出的出錯狀態(tài)傳達給位

11、流處理器和分析出的出錯狀態(tài)傳達給位流處理器和接口管理邏輯。接口管理邏輯。15CAN控制模塊SJA1000管腳排列圖:控制線:7地址/數(shù)據(jù):8時鐘:2電源:6復位:1發(fā)送接收:416符號符號引腳引腳說說 明明AD7-0AD7-02,1,28-232,1,28-23多路地址多路地址/ /數(shù)據(jù)總線數(shù)據(jù)總線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產(chǎn)生的提供給微控制器的時鐘輸出信號;時鐘信號產(chǎn)生的提供給微控制器的時鐘輸出信號;時鐘信號來源于內(nèi)部振蕩器,且通過編程驅(qū)動時鐘控制;寄存器來源于內(nèi)部振蕩器,且通過編程驅(qū)動時鐘控制;寄存器的時鐘關(guān)閉位可禁止該引腳的時鐘關(guān)

13、閉位可禁止該引腳V VSS1SS18 8接地接地XTAL1XTAL19 9輸入到振蕩器放大電路;外部振蕩信號由此輸入輸入到振蕩器放大電路;外部振蕩信號由此輸入 注注 XTAL2XTAL21010振蕩放大電路輸出;使用外部振蕩信號時左開路輸出振蕩放大電路輸出;使用外部振蕩信號時左開路輸出 注注 MODEMODE1111模式選擇輸入:模式選擇輸入:1=Intel1=Intel模式模式 0=Motorola0=Motorola模式模式CAN控制模塊SJA1000管腳功能描述17VDD3VDD31212輸出驅(qū)動的輸出驅(qū)動的5V5V電壓源電壓源TX0TX01313從從CANCAN輸出驅(qū)動器輸出驅(qū)動器0

14、0輸出到物理線路上輸出到物理線路上TX1TX11414從從CANCAN輸出驅(qū)動器輸出驅(qū)動器1 1輸出到物理線路上輸出到物理線路上VSS3VSS31515輸出驅(qū)動器接地輸出驅(qū)動器接地/INT/INT1616中斷輸出,用于中斷微控制器;中斷輸出,用于中斷微控制器;/INT/INT在內(nèi)部中斷寄存器各位在內(nèi)部中斷寄存器各位都被置位時低電平有效;都被置位時低電平有效;/INT/INT是開漏輸出,且與系統(tǒng)中的其是開漏輸出,且與系統(tǒng)中的其它它/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輸入比較器以減少內(nèi)部延時;這種情況下輸入比較器以減少內(nèi)部延時;這種情況下只有只有RX0RX0是激活的;高電平被認為是隱性,而低電平被認為是是激活的;高電平被認為是隱性,而低電平被認為是顯性。顯性。VSS2VSS22121輸入比較器的接地端輸入比較器的接地端VDD1VDD12222邏輯電路的邏輯電路的5V5V電壓源電壓源18振蕩器和時鐘振蕩器和時鐘:四種不同的振蕩器連接方法。四種不同的振蕩器連接方法。195.2 SJA1000的Basi

17、cCAN模式 5.2.1 BasicCAN5.2.1 BasicCAN模式下的地址分配模式下的地址分配 nSJA1000SJA1000對于對于CPUCPU而言,是而言,是可編程外圍芯片可編程外圍芯片。nSJA1000SJA1000的地址區(qū)包括的地址區(qū)包括控制段、發(fā)送、接控制段、發(fā)送、接收信息緩沖區(qū)三大部分收信息緩沖區(qū)三大部分: 控制段:控制段:在初始化期間,控制段可被編在初始化期間,控制段可被編程來配置通訊參數(shù)。同時程來配置通訊參數(shù)。同時CPUCPU通過這個段通過這個段來控制來控制CANCAN總線上的通信。總線上的通信。20n復位模式:復位模式:當硬件復位或控制器掉線時當硬件復位或控制器掉線時

18、會自動進入復位模式;會自動進入復位模式;n工作模式:工作模式:工作模式是通過工作模式是通過置零置零控制寄控制寄存器的復位請求位激活的。存器的復位請求位激活的。 n接收碼寄存器、屏蔽碼寄存器、總線定接收碼寄存器、屏蔽碼寄存器、總線定時寄存器時寄存器0 0、總線定時寄存器、總線定時寄存器1 1以及輸出以及輸出控制寄存器控制寄存器只有在控制寄存器中的復位只有在控制寄存器中的復位請求位(請求位(CR.0CR.0)被置)被置1 1才可訪問。才可訪問。21 發(fā)送緩沖區(qū):發(fā)送緩沖區(qū):一個報文在發(fā)送之前必須寫入發(fā)送緩沖一個報文在發(fā)送之前必須寫入發(fā)送緩沖器,再向總線上串行送出。器,再向總線上串行送出。 接收緩沖

19、區(qū):接收緩沖區(qū):在成功接收一個報文后,在成功接收一個報文后,CPUCPU從接收緩從接收緩沖器讀取報文并釋放這部分緩存,使其可繼續(xù)用于存沖器讀取報文并釋放這部分緩存,使其可繼續(xù)用于存儲后續(xù)收到的報文。儲后續(xù)收到的報文??刂贫慰刂贫?SJA1000在在BasicCAN模式下的地址中模式下的地址中共有共有10個字節(jié),偏移地址分別為個字節(jié),偏移地址分別為09。發(fā)送緩沖器發(fā)送緩沖器:位于位于CAN地址的地址的1019, ,占占10個字節(jié),個字節(jié),接收緩沖器接收緩沖器:位位于于CAN地址的地址的2029, ,占占10個字節(jié),個字節(jié),22CANCAN地址地址寄存器名稱(符號)寄存器名稱(符號)段段工作模式工

20、作模式復位模式復位模式讀讀寫寫讀讀寫寫0 0控制寄存器(控制寄存器(CRCR)控控制制控制控制控制控制控制控制控制控制1 1命令寄存器(命令寄存器(CMRCMR)(FFHFFH)命令命令(FFHFFH)命令命令2 2狀態(tài)寄存器(狀態(tài)寄存器(SRSR)狀態(tài)狀態(tài)- -狀態(tài)狀態(tài)- -3 3中斷寄存器(中斷寄存器(IRIR)(FFHFFH)- -中斷中斷- -4 4接收碼寄存器(接收碼寄存器(ACRACR)(FFHFFH)- -接收代碼接收代碼接收代碼接收代碼5 5接收屏蔽寄存器接收屏蔽寄存器(AMRAMR)(FFHFFH)- -接收屏蔽接收屏蔽接收屏蔽接收屏蔽6 6總線定時寄存器總線定時寄存器0 0

21、(BTR0BTR0)(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)發(fā)送發(fā)送緩沖緩沖器器(10-310-3)(10-310-3)(FFHFFH)- -1111識別碼(識別碼(ID2-0ID2-0)+RTR+RTR和和DLC

22、DLC(2-02-0)+RTR+RTR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC(FFHFFH)- -1212數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1(FFHFFH)- -1313數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2(FFHFFH)- -1414數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3(FFHFFH)- -1515數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4(FFHFFH)- -1616數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5(FFHFFH)-

23、 -1717數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6(FFHFFH)- -1818數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7(FFHFFH)- -1919數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 8數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 8數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)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)+R

24、TR+RTR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC(2-02-0)+RTR+RTR和和DLCDLC2222數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 1數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)1 12323數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 2數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)2 22424數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 3數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)3 32525數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 4數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)4 426

25、26數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 5數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)5 52727數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 6數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)6 62828數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 7數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)7 72929數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 8數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 8數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 8數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 8數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)8 83030(FFHFFH)- -(FFHFFH)- -3131時鐘分頻器(時鐘分頻器(CDRCDR)時鐘分頻時鐘分頻器器時鐘分頻時鐘分

26、頻器器時鐘分頻時鐘分頻器器時鐘分頻時鐘分頻器器25nSJA1000SJA1000有兩種復位方式:有兩種復位方式:硬件復位與軟件復硬件復位與軟件復位。位。n硬件復位硬件復位是指在芯片的復位腳上提供一定寬度是指在芯片的復位腳上提供一定寬度低電平,硬件復位需要足夠的時間才能使控制低電平,硬件復位需要足夠的時間才能使控制寄存器中的復位請求位置寄存器中的復位請求位置1 1;n軟件復位軟件復位是指通過軟件設(shè)置是指通過軟件設(shè)置CR.0CR.0為為1 1或由脫離或由脫離總線引起的復位??偩€引起的復位。 5.2.2復位值復位值26nSJA1000SJA1000檢測到檢測到復位請求位為復位請求位為1 1后,將中后

27、,將中止當前報文的接收止當前報文的接收/ /發(fā)送而進入復位模式。發(fā)送而進入復位模式。n當當CR.0CR.0復位請求位從復位請求位從1 1轉(zhuǎn)變到轉(zhuǎn)變到0 0,SJA1000SJA1000返回到工作模式。返回到工作模式。27寄存器寄存器名稱名稱位位符號符號名稱名稱值值硬件復位硬件復位軟件軟件CR.0CR.0或總線或總線關(guān)閉復位關(guān)閉復位控制控制CR.7CR.7- -保留保留0 00 0CR.6CR.6- -保留保留CR.5CR.5- -保留保留1 11 1CR.4CR.4OIEOIE溢出中斷使能溢出中斷使能CR.3CR.3EIEEIE錯誤中斷使能錯誤中斷使能CR.2CR.2TIETIE發(fā)送中斷使能發(fā)

28、送中斷使能CR.1CR.1RIERIE接收中斷使能接收中斷使能CR.0CR.0RRRR復位請求復位請求1(1(復位模式復位模式) )1(1(復位模式復位模式) )命令命令CMR.7CMR.7- -保留保留讀命令寄存器的結(jié)果總讀命令寄存器的結(jié)果總是是“1111 1111” 1111 1111” 讀命令寄存器的結(jié)果讀命令寄存器的結(jié)果總是總是“1111 11111111 1111”CMR.6CMR.6- -保留保留CMR.5CMR.5- -保留保留CMR.4CMR.4GTSGTS睡眠睡眠CMR.3CMR.3CDOCDO清除數(shù)據(jù)溢出清除數(shù)據(jù)溢出CMR.2CMR.2RRBRRB釋放接收緩沖器釋放接收緩沖

29、器CMR.1CMR.1ATAT忽略傳送忽略傳送CMR.0CMR.0TRTR發(fā)送請求發(fā)送請求復位模式下各寄存器的狀態(tài)復位模式下各寄存器的狀態(tài)28狀態(tài)狀態(tài)SR.7SR.7BSBS總線狀態(tài)總線狀態(tài)0(0(在線在線) )SR.6SR.6ESES出錯狀態(tài)出錯狀態(tài)0(0(無錯無錯) )SR.5SR.5TSTS發(fā)送狀態(tài)發(fā)送狀態(tài)0(0(空閑空閑) )0(0(空閑空閑) )SR.4SR.4RSRS接收狀態(tài)接收狀態(tài)0(0(空閑空閑) )0(0(空閑空閑) )SR.3SR.3TCSTCS發(fā)送完畢狀態(tài)發(fā)送完畢狀態(tài)1(1(完畢完畢) )SR.2SR.2TBSTBS發(fā)送緩沖器狀態(tài)發(fā)送緩沖器狀態(tài)1(1(釋放釋放) )1(1

30、(釋放釋放) )SR.1SR.1DOSDOS數(shù)據(jù)溢出狀態(tài)數(shù)據(jù)溢出狀態(tài)0(0(無溢出無溢出) )0(0(無溢出無溢出) )SR.0SR.0RBSRBS接收緩沖器狀態(tài)接收緩沖器狀態(tài)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數(shù)據(jù)溢出中斷數(shù)據(jù)溢出中斷0(0(復位復位) )0(0(復位復位) )IR.2IR.2EIEI錯誤中斷錯誤中斷0(0(復位復位) ) 注注4

31、4IR.1IR.1TITI發(fā)送中斷發(fā)送中斷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使能使能:如果置位數(shù)據(jù)溢出位如果置位數(shù)據(jù)溢出位,微控制器接收溢出中斷信號微控制器接收溢出中斷信號0 0禁能禁能

32、:微控制器不從微控制器不從SJA1000SJA1000接收溢出中斷信號接收溢出中斷信號CR.3CR.3EIEEIE錯誤中斷錯誤中斷使能使能1 1使能使能:如果出錯或總線狀態(tài)改變?nèi)绻鲥e或總線狀態(tài)改變,微控制器接收錯誤中斷信號微控制器接收錯誤中斷信號0 0禁能禁能:微控制器不從微控制器不從SJA1000SJA1000接收錯誤中斷信號接收錯誤中斷信號CR.2 CR.2 TIETIE發(fā)送中斷發(fā)送中斷使能使能1 1使能使能:當信息被成功發(fā)送或發(fā)送緩沖器又可訪問時當信息被成功發(fā)送或發(fā)送緩沖器又可訪問時,微控制器接微控制器接收收SJA1000SJA1000發(fā)出的一個發(fā)送中斷信號發(fā)出的一個發(fā)送中斷信號0 0

33、禁能禁能:微控制器不從微控制器不從SJA1000SJA1000接收發(fā)送中斷信號接收發(fā)送中斷信號CR.1CR.1RIERIE接收中斷接收中斷使能使能1 1使能使能:信息被無錯接收時信息被無錯接收時,SJA1000SJA1000發(fā)出一個接收中斷信號到微控發(fā)出一個接收中斷信號到微控制器制器0 0禁能禁能:微控制器不從微控制器不從SJA1000SJA1000接收發(fā)送中斷信號接收發(fā)送中斷信號CR.0 CR.0 RRRR復位請求復位請求 注注441 1當前當前:SJA1000SJA1000檢測到復位請求后檢測到復位請求后, ,忽略當前發(fā)送忽略當前發(fā)送/ /接收的信息接收的信息,進進入復位模式入復位模式0

34、0空缺空缺:復位請求位由復位請求位由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清除數(shù)據(jù)清除數(shù)據(jù)溢出溢出1 1清除清除:清除數(shù)

35、據(jù)溢出狀態(tài)位清除數(shù)據(jù)溢出狀態(tài)位0 0無動作無動作CMR.2CMR.2RRBRRB釋放接收釋放接收緩沖器緩沖器1 1釋放釋放:接收緩沖器中存放信息的內(nèi)存空間將被釋放接收緩沖器中存放信息的內(nèi)存空間將被釋放0 0無動作無動作CMR.1CMR.1ATAT中止發(fā)送中止發(fā)送1 1當前當前:如果不是在處理過程中如果不是在處理過程中, ,等待處理的發(fā)送請求將等待處理的發(fā)送請求將取消取消0 0空缺空缺:無動作無動作CMR.0CMR.0TRTR發(fā)送請求發(fā)送請求1 1當前當前:信息被發(fā)送信息被發(fā)送0 0空缺空缺:無動作無動作5.2.4 5.2.4 命令寄存器命令寄存器 (CMR (CMR ,地址,地址1)1)命令寄

36、存器對微控制器來說是只寫存儲器。如果去讀這個地址,返回值是命令寄存器對微控制器來說是只寫存儲器。如果去讀這個地址,返回值是“1111 11111111 1111”31位位符號符號名稱名稱值值功能說明功能說明SR.7SR.7BSBS總線狀態(tài)總線狀態(tài)1 1總線關(guān)閉:總線關(guān)閉:SJA1000SJA1000退出總線活動退出總線活動0 0總線開啟:總線開啟:SJA1000SJA1000加入總線活動加入總線活動SR.6SR.6ESES出錯狀態(tài)出錯狀態(tài)1 1出錯:至少出現(xiàn)一個錯誤計數(shù)器滿或超過出錯:至少出現(xiàn)一個錯誤計數(shù)器滿或超過CPUCPU報警限制報警限制0 0Ok Ok :兩個錯誤計數(shù)器都在報警限制以下:

37、兩個錯誤計數(shù)器都在報警限制以下SR.5SR.5TSTS發(fā)送狀態(tài)發(fā)送狀態(tài)1 1發(fā)送:發(fā)送:SJA1000SJA1000在傳送信息在傳送信息0 0空閑:沒有要發(fā)送的信息空閑:沒有要發(fā)送的信息SR.4SR.4RSRS接收狀態(tài)接收狀態(tài) 注注331 1接收:接收:SJA1000SJA1000正在接收信息正在接收信息0 0空閑:沒有正在接收的信息空閑:沒有正在接收的信息SR.3SR.3TCSTCS發(fā)送完畢狀發(fā)送完畢狀態(tài)態(tài) 注注441 1完畢:最近一次發(fā)送請求被成功處理完畢:最近一次發(fā)送請求被成功處理0 0未完畢:當前發(fā)送請求未處理完畢未完畢:當前發(fā)送請求未處理完畢SR.2 SR.2 TBSTBS發(fā)送緩沖器

38、發(fā)送緩沖器狀態(tài)狀態(tài) 注注551 1釋放:釋放:CPUCPU可以向發(fā)送緩沖器寫信息可以向發(fā)送緩沖器寫信息0 0鎖定:鎖定:CPUCPU不能訪問發(fā)送緩沖器;有信息正在等待發(fā)送或不能訪問發(fā)送緩沖器;有信息正在等待發(fā)送或正在發(fā)送正在發(fā)送SR.1SR.1DOSDOS數(shù)據(jù)溢出狀數(shù)據(jù)溢出狀態(tài)態(tài) 注注661 1溢出:信息丟失,因為溢出:信息丟失,因為RXFIFORXFIFO中沒有足夠的空間來存儲它中沒有足夠的空間來存儲它0 0自從最后一次清除數(shù)據(jù)溢出命令執(zhí)行無數(shù)據(jù)溢出發(fā)生自從最后一次清除數(shù)據(jù)溢出命令執(zhí)行無數(shù)據(jù)溢出發(fā)生SR.0 SR.0 RBSRBS接收緩沖器接收緩沖器狀態(tài)狀態(tài) 注注771 1滿:滿:RXFIF

39、ORXFIFO中有可用信息中有可用信息0 0空:無可用信息空:無可用信息5.2.5 狀態(tài)寄存器狀態(tài)寄存器 (SR 地址地址2 ):只讀存儲器:只讀存儲器32位位符號符號名稱名稱值值功能說明功能說明IR7-5IR7-5- - - -保留保留 注注11IR.4IR.4WUIWUI喚醒中斷喚醒中斷 注注221 1置位:退出睡眠模式時此位被置位置位:退出睡眠模式時此位被置位0 0復位:復位: 微控制器的任何讀訪問將清除此位微控制器的任何讀訪問將清除此位IR.3IR.3DOIDOI數(shù)據(jù)溢出數(shù)據(jù)溢出中斷中斷 注注331 1設(shè)置:當數(shù)據(jù)溢出中斷使能位被置為設(shè)置:當數(shù)據(jù)溢出中斷使能位被置為1 1時向數(shù)據(jù)溢出狀

40、態(tài)位傳送時向數(shù)據(jù)溢出狀態(tài)位傳送“0-1”0-1”,此位被置位,此位被置位0 0復位:微控制器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位IR.2 IR.2 EIEI錯誤中斷錯誤中斷1 1置位:錯誤中斷使能時,錯誤狀態(tài)位或總線狀態(tài)位的變化會置置位:錯誤中斷使能時,錯誤狀態(tài)位或總線狀態(tài)位的變化會置位此位位此位0 0復位:微控制器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位IR.1IR.1TITI發(fā)送中斷發(fā)送中斷1 1置位:發(fā)送緩沖器狀態(tài)從置位:發(fā)送緩沖器狀態(tài)從0 0變?yōu)樽優(yōu)? 1(釋放)和發(fā)送中斷使能時,(釋放)和發(fā)送中斷使能時,置位此位置位此位0 0復位:微控制器的任

41、何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位IR.0 IR.0 RIRI接收中斷接收中斷 注注441 1置位:當接收置位:當接收FIFOFIFO不空和接收中斷使能時置位此位不空和接收中斷使能時置位此位0 0復位:微控制器的任何讀訪問將清除此位復位:微控制器的任何讀訪問將清除此位5.2.6中斷寄存器中斷寄存器 (SR 地址3):只讀存儲器:只讀存儲器33名稱名稱地址地址D7D6D5D4D3D2D1D0發(fā)送緩沖器發(fā)送緩沖器標識符標識符(RTR,DLC)10ID.10ID.9ID.8ID.7ID.6ID.5ID.4ID.311ID.2ID.1ID.0RTRDLC.3DLC.2DLC.1DL

42、C.0數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)181219數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)5.2.75.2.7發(fā)送緩沖器發(fā)送緩沖器34 發(fā)送緩沖器位于發(fā)送緩沖器位于CANCAN地址的地址的10101919。發(fā)送緩沖器的讀。發(fā)送緩沖器的讀/ /寫寫只能由微控制器在只能由微控制器在工作模式下工作模式下完成。在復位模式下讀出完成。在復位模式下讀出的值總是的值總是“FFH”FFH”。(1 1)識別碼()識別碼(IDID) 識別碼有識別碼有1111位位(ID.0-ID.10)(ID.0-ID.10)。ID.10ID.10是最高位是最高位. .在仲裁過在仲裁過程中是最先被發(fā)送到總線上的。識別碼的二

43、進制值越低,程中是最先被發(fā)送到總線上的。識別碼的二進制值越低,其優(yōu)先級越高。其優(yōu)先級越高。 在接收過濾器中被用到,在仲裁過程中決定總線訪問的在接收過濾器中被用到,在仲裁過程中決定總線訪問的優(yōu)先級。優(yōu)先級。(2 2)遠程發(fā)送請求()遠程發(fā)送請求(RTRRTR) 如果如果此位置此位置1 1,總線將以遠程結(jié)構(gòu)發(fā)送數(shù)據(jù)。這意味著此,總線將以遠程結(jié)構(gòu)發(fā)送數(shù)據(jù)。這意味著此段中沒有數(shù)據(jù)字節(jié)。段中沒有數(shù)據(jù)字節(jié)。 如果如果沒有置位沒有置位RTRRTR位位,數(shù)據(jù)將以數(shù)據(jù)長度碼規(guī)定的長度來,數(shù)據(jù)將以數(shù)據(jù)長度碼規(guī)定的長度來傳送。傳送。 35(3 3)數(shù)據(jù)長度碼()數(shù)據(jù)長度碼(DLCDLC) 信息數(shù)據(jù)區(qū)的字節(jié)數(shù)根據(jù)數(shù)據(jù)

44、長度碼編制。數(shù)信息數(shù)據(jù)區(qū)的字節(jié)數(shù)根據(jù)數(shù)據(jù)長度碼編制。數(shù)據(jù)字節(jié)數(shù)是據(jù)字節(jié)數(shù)是0 08 8,用如下方法計算:,用如下方法計算:數(shù)據(jù)字節(jié)數(shù)數(shù)據(jù)字節(jié)數(shù)8 8DLC.3DLC.34 4DLC.2DLC.22 2DLC.1DLC.1DLC.0DLC.0如果選擇的值超過如果選擇的值超過8 8,則按照,則按照DLCDLC規(guī)定認為是規(guī)定認為是8 8。(4 4)數(shù)據(jù)區(qū))數(shù)據(jù)區(qū) 傳送的數(shù)據(jù)字節(jié)數(shù)由數(shù)據(jù)長度碼決定。傳送的數(shù)據(jù)字節(jié)數(shù)由數(shù)據(jù)長度碼決定。 發(fā)送的第一位是地址發(fā)送的第一位是地址1212單元的數(shù)據(jù)字節(jié)單元的數(shù)據(jù)字節(jié)1 1的最的最高位高位365.2.8接收緩沖器接收緩沖器名稱名稱地址地址D7D6D5D4D3D2D

45、1D0接收緩沖器接收緩沖器標識符標識符(RTR,DLC)20ID.10ID.9ID.8ID.7ID.6ID.5ID.4ID.321ID.2ID.1ID.0RTRDLC.3DLC.2DLC.1DLC.0數(shù)據(jù)字節(jié)數(shù)據(jù)字節(jié)182229數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)37 SJA1000從總線上接收到的信息存放在從總線上接收到的信息存放在RXFIFO共有共有64字節(jié)的信息空間。字節(jié)的信息空間。 接收緩沖器接收緩沖器RXB是指在是指在64字節(jié)字節(jié)RXFIFO中可以被中可以被CPU直接讀寫的寄存器。共直接讀寫的寄存器。共10個字節(jié),偏移地址是個字節(jié),偏移地址是2029。 如

46、何理解如何理解RXB與與RXFIFO之間的關(guān)系?之間的關(guān)系?信息信息2信息信息3信息信息1接收緩沖器接收緩沖器窗口窗口CAN地址地址輸入信息輸入信息釋放接收緩沖器釋放接收緩沖器命令命令接收緩沖器中的當前可用接收緩沖器中的當前可用信息是信息信息是信息1RXFIFO中信息存儲示例中信息存儲示例38RXFIFO合格的新合格的新報文報文如果如果RXFIFO中沒有足夠的空間中沒有足夠的空間來存儲新的信息,來存儲新的信息,CAN控制器會控制器會產(chǎn)生產(chǎn)生數(shù)據(jù)溢出數(shù)據(jù)溢出。數(shù)據(jù)溢出發(fā)生時,已部分寫入數(shù)據(jù)溢出發(fā)生時,已部分寫入 RXFIFORXFIFO的當前信息將被刪除。的當前信息將被刪除。溢出狀態(tài)位溢出狀態(tài)位

47、SR.1SR.1置置“1”1”如果中斷允許,則數(shù)據(jù)溢出中斷如果中斷允許,則數(shù)據(jù)溢出中斷 反應(yīng)到反應(yīng)到CPUCPU。 64字節(jié)的字節(jié)的RXFIFO中最多中最多可以存儲的報文數(shù)?可以存儲的報文數(shù)? 取決于各條報文的長度取決于各條報文的長度 10字節(jié)的字節(jié)的RXB中中可以存儲一個完整的報文?可以存儲一個完整的報文?可以(可以(ID+RTR+DLC+ID+RTR+DLC+數(shù)據(jù)區(qū))數(shù)據(jù)區(qū))395.2.9 5.2.9 接收過濾器接收過濾器注意:注意:ACR、AMR只有在控制寄存器只有在控制寄存器CR的的復位復位請求位請求位CR.0置置“1”時時(也就是說(也就是說SJA1000在復在復位狀態(tài)時)才可以(讀

48、位狀態(tài)時)才可以(讀/寫)寫)接收過濾器的作用: 使得使得CANCAN控制器只接收識別碼和接收過濾器中預(yù)設(shè)值相一致控制器只接收識別碼和接收過濾器中預(yù)設(shè)值相一致的信息進入到的信息進入到RXFIFO RXFIFO 。報文存入報文存入FIFOFIFO的報文被的報文被CANCAN控制器采用??刂破鞑捎?。 接收過濾器的組成: 由接收代碼寄存器(由接收代碼寄存器(ACRACR)和接收屏蔽寄存器()和接收屏蔽寄存器(AMRAMR)組成。)組成。 接收代碼寄存器(ACR ,地址4) 接收屏蔽碼寄存器(AMR ,地址5)40接收碼寄存器(接收碼寄存器(ACRACR)的位分配)的位分配BIT7BIT6BIT5BI

49、T4BIT3BIT2BIT1BIT0AC.7AC.6AC.5AC.4AC.3AC.2AC.1AC.0BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0AM.7AM.6AM.5AM.4AM.3AM.2AM.1AM.0接收屏蔽碼寄存器(接收屏蔽碼寄存器(AMRAMR)的位分配)的位分配接收屏蔽寄存器定義接收代碼寄存器的相應(yīng)位對接收過濾器接收屏蔽寄存器定義接收代碼寄存器的相應(yīng)位對接收過濾器是是“相關(guān)相關(guān)”的或的或“不相關(guān)不相關(guān)”的。的。1“不相關(guān)不相關(guān)”,0“相關(guān)相關(guān)”。(ID.10-ID.3)(AC.7-AC.0)或(或(AM.7-AM.0) 1111111141例:ACR.7ACR

50、.6ACR.5ACR.4ACR.3ACR.2ACR.1ACR.0ACRACR0 00 01 11 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 一條信息通過了接收過濾器的測試,而且接收一條信息通過了接收過濾器的測試,而且接收緩沖器有足夠的空間,那么標識符和數(shù)據(jù)將被緩沖器有足夠的空間,那么標識符和數(shù)據(jù)將被分別順次寫入分別順次寫入RXFIFORXFIFO;同時:;同時: 接收緩沖器狀

51、態(tài)接收緩沖器狀態(tài)SR.0位置位置1(非空);(非空); 如果接收中斷允許位如果接收中斷允許位CR.1為為1(允許),則接(允許),則接收中斷收中斷IR.0位置位置1(產(chǎn)生中斷)。(產(chǎn)生中斷)。 如果接收緩沖區(qū)的空間已滿:如果接收緩沖區(qū)的空間已滿: 狀態(tài)寄存器狀態(tài)寄存器SR的數(shù)據(jù)溢出狀態(tài)位的數(shù)據(jù)溢出狀態(tài)位SR.1置置“1” 已部分寫入已部分寫入RXFIFO的當前信息將被刪除。的當前信息將被刪除。 如果溢出中斷允許(如果溢出中斷允許(CR.4=1),產(chǎn)生數(shù)據(jù)溢出,產(chǎn)生數(shù)據(jù)溢出中斷。中斷。 435.2.10 其它寄存器1.1. 總線定時寄存器總線定時寄存器0 0(BTR0 BTR0 ,地址,地址6

52、6 )2.2. 總線定時寄存器總線定時寄存器1 1 (BTR1BTR1,地址,地址7 7 )3 3輸出控制寄存器(輸出控制寄存器(OCR OCR ,地址,地址8 8)4 4時鐘分頻寄存器(時鐘分頻寄存器(CDRCDR,地址,地址3131)以上寄存器是在以上寄存器是在BasicCANBasicCAN與與PeliCANPeliCAN兩種模式下兩種模式下共有共有的寄存器。的寄存器。偏移地址相同偏移地址相同各個位的功能定義不完全相同各個位的功能定義不完全相同44.總線定時寄存器總線定時寄存器0(BTR0 ,地址,地址6 )總線定時寄存器總線定時寄存器0定義了比特率預(yù)設(shè)值(定義了比特率預(yù)設(shè)值(BRP)和

53、)和同步跳轉(zhuǎn)寬度(同步跳轉(zhuǎn)寬度(SJW)的值。)的值。復位模式下復位模式下: :總線定時寄存器總線定時寄存器0 0是可以被訪問(讀是可以被訪問(讀/ /寫)的寫)的工作模式下工作模式下: : 如果選擇的是如果選擇的是PeliCANPeliCAN模式,那么此寄存器是只讀的;模式,那么此寄存器是只讀的; 如果選擇的是如果選擇的是BasicCANBasicCAN模式,那么讀回的值總是模式,那么讀回的值總是FFHFFH??偩€定時寄存器總線定時寄存器0 0各位的功能如下:各位的功能如下: BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SJW.1SJW.2BRP.5BRP.4BRP.3B

54、RP.2BRP.1BRP.045(1) 比特率預(yù)引比例因子比特率預(yù)引比例因子BRPCANCAN系統(tǒng)時鐘系統(tǒng)時鐘t tSCLSCL的周期的周期是可編程的,而且決定了是可編程的,而且決定了本系統(tǒng)的位定時本系統(tǒng)的位定時CANCAN系統(tǒng)時鐘由如下公式計算:系統(tǒng)時鐘由如下公式計算:tSCL 2tCLK(32BRP.516BRP.48BRP.3 4BRP.22BRP.1BRP.01)式中式中t tCLKCLK =XTAL =XTAL的頻率周期的頻率周期=1/f=1/fXTALXTAL46(2 2) 同步跳轉(zhuǎn)寬度同步跳轉(zhuǎn)寬度SJWSJWtSJWtSCL(2SJW.1+SJW.0+1) 為了補償不同總線控制器

55、的時鐘振蕩器之間的為了補償不同總線控制器的時鐘振蕩器之間的相位相位偏移偏移,任何總線控制器必須在當前傳送的相關(guān)信號沿,任何總線控制器必須在當前傳送的相關(guān)信號沿進行重同步。進行重同步。 同步跳轉(zhuǎn)寬度同步跳轉(zhuǎn)寬度SJWSJW定義了每一個位周期可以被重同步定義了每一個位周期可以被重同步過程縮短或延長的時間長度,以時鐘周期的數(shù)目來計算,過程縮短或延長的時間長度,以時鐘周期的數(shù)目來計算,計算公式如下:計算公式如下:472.總線定時寄存器總線定時寄存器1 (BTR1,地址,地址7 )復位模式下復位模式下: :總線定時寄存器總線定時寄存器1 1是可以被訪問(讀是可以被訪問(讀/ /寫)的寫)的工作模式下工作

56、模式下: : 如果選擇的是如果選擇的是PeliCANPeliCAN模式,那么此寄存器是只讀的;模式,那么此寄存器是只讀的; 如果選擇的是如果選擇的是BasicCANBasicCAN模式,那么讀回的值總是模式,那么讀回的值總是FFHFFH??偩€定時寄存器總線定時寄存器1定義了定義了每個位周期的長度每個位周期的長度、采樣點的位置采樣點的位置和在每個和在每個采樣點的采樣數(shù)目采樣點的采樣數(shù)目。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SAMTSEG2.2TSEG2.1TSEG2.0TSEG1.3TSEG1.2TSEG1.1TSEG1.0總線定時寄存器總線定時寄存器1 1各位的功能

57、如下:各位的功能如下: 時間段時間段TSEG1時間段時間段TSEG2采樣位48(1) 采樣采樣SAMTSEG1和TSEG2決定了每一個位周期包含的時鐘周期的數(shù)目和采樣點的位置。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次,建議用在高速總線

58、上。次,建議用在高速總線上。(2) 時間段時間段1(TSEG1)和時間段)和時間段2(TSEG2)返回49一個位周期的總體結(jié)構(gòu)一個位周期的總體結(jié)構(gòu)CAN系統(tǒng)時鐘與振蕩系統(tǒng)時鐘與振蕩周期關(guān)系周期關(guān)系依據(jù)公式50波特率計算方法舉例如下:假如外部晶振為假如外部晶振為16MHz時,時,如設(shè)定如設(shè)定SJA1000總線總線定時寄存器定時寄存器0的值為的值為#D3H=11010011 ,設(shè)定設(shè)定SJA1000總線定時寄存器總線定時寄存器1的值為的值為#0AFH=10101111,求系統(tǒng)時鐘,求系統(tǒng)時鐘為多少?系統(tǒng)的波特率為多少?為多少?系統(tǒng)的波特率為多少?tscl=2 (16+2+1+1) / 161000

59、000=2.5us每個位周期時間每個位周期時間 2.5 (8421 1)+(2+1)+1=50us波特率波特率=1/50us=20KbpsTSEG1 TSEG2 TSYN 513 3輸出控制寄存器(輸出控制寄存器(OCR OCR ,地址,地址8 8)輸出控制寄存器實現(xiàn)了軟件對輸出驅(qū)動器的不同配置。輸出控制寄存器實現(xiàn)了軟件對輸出驅(qū)動器的不同配置。復位模式下復位模式下:輸出控制寄存器輸出控制寄存器是可以被訪問(讀是可以被訪問(讀/寫)的。寫)的。工作模式下工作模式下: 如果選擇的是如果選擇的是PeliCAN模式,那么此寄存器是只讀的;模式,那么此寄存器是只讀的; 如果選擇的是如果選擇的是Basic

60、CAN模式,那么讀回的值總是模式,那么讀回的值總是FFH。52BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0OCTP1OCTN1OCPOL1OCTP0OCTN0OCPOL0OCMODE1OCMODE0輸出控制寄存器輸出控制寄存器在復位模式下可讀在復位模式下可讀/ /寫訪問。寫訪問。該寄存器各位功能如下:該寄存器各位功能如下:OCTP1控制輸出晶體管P1;OCTN1控制輸出晶體管N1;OCPOL1控制輸出極性1;OCTP0控制輸出晶體管P0;OCTN0控制輸出晶體管N0;OCPOL0控制輸出極性0;控制輸出模式四種狀態(tài)53當當SJA1000在在睡眠模式睡眠模式中時,中時,TX0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論