現(xiàn)場總線工業(yè)控制網(wǎng)絡技術(shù)-CAN器件介紹_第1頁
現(xiàn)場總線工業(yè)控制網(wǎng)絡技術(shù)-CAN器件介紹_第2頁
現(xiàn)場總線工業(yè)控制網(wǎng)絡技術(shù)-CAN器件介紹_第3頁
現(xiàn)場總線工業(yè)控制網(wǎng)絡技術(shù)-CAN器件介紹_第4頁
現(xiàn)場總線工業(yè)控制網(wǎng)絡技術(shù)-CAN器件介紹_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022/7/29現(xiàn)場總線工業(yè)控制網(wǎng)絡技術(shù) CAN控制器與驅(qū)動器2022/7/292CAN控制器與驅(qū)動器學習目標1)熟練掌握CAN控制器SJA1000的BasicCAN模式和PeliCAN模式,加深理解CAN2.0規(guī)范2)熟練掌握CAN驅(qū)動器82C250的功能及特點3)熟練運用SJA1000和82C2502022/7/293CAN控制器與驅(qū)動器引言1. CAN控制器的作用1)完成CAN規(guī)范所規(guī)定的物理層和數(shù)據(jù)鏈路層的大部分功能2)具有微處理器接口,易于與微處理器連接不同型號的CAN控制器在實現(xiàn)CAN總線協(xié)議方面是相近的,只是在微處理器接口方面存在差異2022/7/294CAN控制器與驅(qū)動器引言

2、2. CAN控制器的類型根據(jù)與微處理器的集成程度,CAN控制器分為獨立CAN控制器和集成于微處理器內(nèi)部的CAN內(nèi)核。1)獨立CAN控制器PCA82C200,PHILIPS,CAN2.0ASJA1000,PHILIPS,CAN2.0ACAN2.0BMCP2510,MICROCHIP,CAN2.0ACAN2.0B,SPI接口82526,INTEL,CAN2.0A82527,INTEL,CAN2.0ACAN2.0B81C90/91,SIEMENS,CAN2.0ACAN2.0B2022/7/295CAN控制器與驅(qū)動器引言2. CAN控制器的類型2)集成CAN內(nèi)核的微處理器P8XC592P8XC591,

3、PHILIPS,80C51+CAN,CAN2.0A CAN2.0BDS80C390,DALLAS,80C51+CAN,雙CAN,CAN2.0A CAN2.0BAT90CAN3264128,ATMEL,AVR8+CAN,CAN2.0A CAN2.0BT89C51CC01, ATMEL,80C51+CAN,CAN2.0A CAN2.0BAT91SAM9263, ATMEL,ARM9+CAN,CAN2.0A CAN2.0BSTM32F105/107,ST,ARM cortex-M3 + CAN,CAN2.0B68HC05X4系列,MOTOROLA,68HC05處理器+CAN, CAN2.0A8XC1

4、96CA/CB,INTEL,8XC196+CAN,CAN2.0A2022/7/296CAN控制器與驅(qū)動器獨立CAN控制器SJA10001. SJA1000總體描述SJA1000是適用于汽車和一般工業(yè)環(huán)境的獨立CAN控制器,是PHILIPS公司的獨立CAN控制器PCA82C200的替代產(chǎn)品(引腳兼容、電氣特性兼容),在PCA82C200基礎上增加了PeliCAN模式以支持CAN2.0B協(xié)議,在SJA1000中PCA82C200的工作模式稱為BasicCAN模式。 PeliCAN模式和BasicCAN模式通過時鐘分頻寄存器中的CAN模式位來選擇,系統(tǒng)復位默認模式為BasicCAN模式。2022/7

5、/297CAN控制器與驅(qū)動器獨立CAN控制器SJA10002. SJA1000的特性1)繼承的PCA82C200的功能:靈活的微處理接口:支持INTEL模式和MOTOROLA模式可編程的CAN輸出驅(qū)動:支持多種物理層驅(qū)動高達1Mbps的位速率2)改進的PCA82C200的功能:CAN2.0B(被動):可以容忍擴展格式(29標志符)幀64字節(jié)的接收FIFO:可以存儲高達21個報文24MHz時鐘頻率:更快的微處理器訪問和更多的位時序選擇接收比較器旁路功能:縮短了內(nèi)部延遲,支持更高速率的CAN 總線2022/7/298CAN控制器與驅(qū)動器獨立CAN控制器SJA10002. SJA1000的特性3)P

6、eliCAN模式新增功能:CAN2.0B(主動):全面支持擴展格式幀發(fā)送緩沖器:支持標準格式和擴展格式幀的單獨發(fā)送緩沖器增強的驗收濾波器:支持標準格式和擴展格式幀的兩種驗收濾波模式可讀寫的錯誤計數(shù)器、可編程的錯誤警戒限、錯誤碼捕獲寄存器、錯誤中斷:方 便系統(tǒng)診斷、維護和優(yōu)化仲裁丟失捕獲中斷:支持報文延遲分析允許單次發(fā)送:簡化軟件操作、允許快速重填發(fā)送緩沖器只聽模式:用于監(jiān)視分析總線運行情況自檢模式:支持功能自檢和自身發(fā)送報文接收支持熱插拔:無干擾檢測總線傳輸速率2022/7/299CAN控制器與驅(qū)動器獨立CAN控制器SJA10003. 封裝與引腳描述封裝:DIP28 or SO282022/7

7、/2910CAN控制器與驅(qū)動器獨立CAN控制器SJA10004. 功能框圖2022/7/2911CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.1 CAN總線節(jié)點的結(jié)構(gòu)2022/7/2912CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.2 SJA1000的典型應用框圖2022/7/2913CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.3 SJA1000的電源系統(tǒng)VDD1VSS1:內(nèi)部邏輯電源,數(shù)

8、字VDD2VSS2:內(nèi)部比較器電源,模擬VDD3VSS3:輸出驅(qū)動器電源,模擬2022/7/2914CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.4 系統(tǒng)時鐘策略2022/7/2915CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.5 SJA1000與微處理器接口示意圖2022/7/2916CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.5 SJA1000與微處理器接口示意圖2022/7/2917

9、CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.5 SJA1000與微處理器接口示意圖2022/7/2918CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.6 SJA1000的物理層接口2022/7/2919CAN控制器與驅(qū)動器獨立CAN控制器SJA10005. 基于SJA1000進行CAN總線系統(tǒng)設計的幾個接口問題5.6 SJA1000的物理層接口2022/7/29206. SJA1000的BasicCAN模式6.1 SJA1000片內(nèi)寄存器的地址分配SJA10

10、00是一個可編程外圍器件;BasicCAN模式下,SJA1000的寄存器地址包括:控制段、報文緩沖器段;SJA1000的寄存器訪問模式:復位模式、工作模式;注:1)BasicCAN模式SJA1000的寄存器地址空 間為32;2)測試寄存器只用于產(chǎn)品測試,正常操作中訪問該寄存器會導致不可預料的結(jié)果;3)時鐘分頻寄存器的CAN模式、CBP、RXINTEN、時鐘關(guān)閉位只在復位模式才是可寫的2022/7/29216. SJA1000的BasicCAN模式6.2 SJA1000片內(nèi)寄存器的復位值兩種復位方式:硬件復位、軟件復位;硬件復位:復位引腳上一定寬度的低電平軟件復位:軟件設置CR.0或脫離總線受復

11、位影響的寄存器:控制、狀態(tài)、中斷、接收緩沖器、時鐘分頻寄存器注:1)脫離總線時,在出錯中斷允許的情況下出錯中斷被置位;2)RXFIFO的讀寫指針在復位后被置為初始值:硬件復位,指針指向物理地址0的RAM單元;軟件復位,指針置為上次釋放RXB后的有效FIFO的起始地址。2022/7/29226. SJA1000的BasicCAN模式6.2 SJA1000片內(nèi)寄存器的復位值不受復位影響的寄存器:命令、驗收代碼、驗收屏蔽、總線定時0、總線定時1、輸出控制寄存器、發(fā)送緩沖器注:命令寄存器為只寫寄存器,讀命令寄存器的值總為FFH.2022/7/29236. SJA1000的BasicCAN模式6.3 控

12、制寄存器CR(地址0)控制寄存器CR在復位模式和工作模式均是可讀寫的;對CR.7的寫訪問,必須置CR.7為0;對CR.6訪問無任何影響;讀CR.5總為1,寫CR.5無任何影響;溢出中斷對應數(shù)據(jù)溢出狀態(tài)SR.1錯誤中斷對應總線狀態(tài)SR.7和出錯狀態(tài)SR.6發(fā)送中斷對應發(fā)送緩沖器狀態(tài)SR.2接收中斷對應接收緩沖器狀態(tài)SR.0硬件復位、總線狀態(tài)位SR.7為1 (總線脫離)或軟件置位CR.0時,CR.0被置位;硬件復位期間,CPU不能清零CR.0,因此,CPU清零CR.0時必須確認。軟件清零CR.0后,SJA1000的操作:1)若硬件復位或軟件置位CR.0,等待1個總線空閑(11個隱性位);2)若脫離

13、總線,等待128個總線空閑。2022/7/29246. SJA1000的BasicCAN模式6.4 命令寄存器CMR(地址1)命令寄存器CMR在復位模式和工作模式均是只寫的,讀的返回值為FFH;命令寄存器的高三位保留,訪問無影響;睡眠:睡眠位GTS置1,且沒有總線活動,且沒有未處理中斷;三條件任何一個不滿足就被喚醒進入睡眠模式,CLKOUT至少持續(xù)15位時間;喚醒時,產(chǎn)生喚醒中斷,當前報文不接收,等待一個總線空閑后才正常接收報文;復位模式,GTS不能置位,復位清零后,等待一個總線空閑,GTS才能置位。清除數(shù)據(jù)溢出位CDO用于清數(shù)據(jù)溢出標志SR.1,SR.1置位只產(chǎn)生一次數(shù)據(jù)溢出中斷,可以在釋放

14、接收緩沖器的同時清除數(shù)據(jù)溢出標志;釋放接收緩沖器位RRB用于釋放接收緩沖器:接收緩沖器釋放后,若RXFIFO還有可用報文,將再次產(chǎn)生接收中斷;若無可用報文,接收緩沖器狀態(tài)SR.0將清零。2022/7/29256. SJA1000的BasicCAN模式6.4 命令寄存器CMR(地址1)中止發(fā)送位AT用于取消先前的發(fā)送請求,前提是該發(fā)送未開始;可通過查看狀態(tài)寄存器的發(fā)送完成狀態(tài)SR.3位來確認先前的發(fā)送請求是否已成功處理,該檢查需在TXB釋放或產(chǎn)生發(fā)送中斷的情況下進行;發(fā)送請求位TR置1后不能通過TR清零取消,需通過發(fā)送中止位AT置1取消;2022/7/29266. SJA1000的BasicCA

15、N模式6.5 狀態(tài)寄存器SR(地址2)狀態(tài)寄存器是只讀寄存器,反映了SJA1000的工作狀態(tài); 總線狀態(tài):發(fā)送錯誤計數(shù)器超過255,SR.7置位,脫離總線,復位請求置1,出錯狀態(tài)置1,產(chǎn)生出錯中斷(允許);退出總線脫離狀態(tài):復位請求清0,等待128個總線空閑,總線狀態(tài)清0,出錯狀態(tài)清0,錯誤計數(shù)器復位,產(chǎn)生出錯中斷(允許)。出錯狀態(tài):至少一個錯誤計數(shù)器達到或超過CPU報警限(96)時,出錯狀態(tài)置位,產(chǎn)生出錯中斷(允許)。若發(fā)送狀態(tài)TS和接收狀態(tài)RS均為0,則CAN總線是空閑的,若兩位均為1,則SJA1000正在等待下一次空閑。2022/7/29276. SJA1000的BasicCAN模式6.

16、5 狀態(tài)寄存器SR(地址2)發(fā)送完成狀態(tài):只要命令寄存器的發(fā)送請求位置1,發(fā)送完成狀態(tài)位就清0,一直保持到報文成功發(fā)送。發(fā)送緩沖器狀態(tài):發(fā)送緩沖器狀態(tài)為0時,CPU不能訪問TXB,所寫數(shù)據(jù)會在沒有任何提示的情況下丟失。數(shù)據(jù)溢出狀態(tài):若報文有效(直到幀結(jié)束的倒數(shù)第二位沒有錯誤),RXFIFO空間不夠,報文丟失,數(shù)據(jù)溢出狀態(tài)置位,產(chǎn)生數(shù)據(jù)溢出中斷(允許);若報文出錯,則不產(chǎn)生數(shù)據(jù)溢出。接收緩沖器狀態(tài):用釋放RXB命令釋放RXB后,該位自動清0,若RXFIFO中還有可用報文,將在下一個時間單元重新置1。2022/7/29286. SJA1000的BasicCAN模式6.6 中斷標志寄存器IR(地址3

17、)利用中斷標志寄存器識別中斷來源,只讀,讀后除接收中斷外自動清0。中斷標志寄存器的高三位為保留位,讀返回值為1。若在SJA1000參與總線活動或處理中斷期間,置位命令寄存器的睡眠位,會產(chǎn)生喚醒中斷。數(shù)據(jù)溢出中斷位和數(shù)據(jù)溢出標志是同時被置位的。出錯中斷位是在出錯狀態(tài)或總線狀態(tài)發(fā)生變化時置位的。 發(fā)送中斷位和發(fā)送緩沖器狀態(tài)是同時被置位的。 接收中斷位和接收緩沖器狀態(tài)是同時被置位的。2022/7/29296. SJA1000的BasicCAN模式6.7 發(fā)送緩沖器TXB(地址10-19)TXB存儲需要發(fā)送報文:描述符區(qū)、數(shù)據(jù)區(qū)。描述符區(qū):標識符ID(ID10-0),ID.10是最高位,最先發(fā)送,標識

18、符值越小優(yōu)先級越高。遠程發(fā)送請求RTR,RTR置1表示遠程幀,RTR置0表示數(shù)據(jù)幀。數(shù)據(jù)長度碼DLC,決定數(shù)據(jù)域的字節(jié)數(shù),范圍為08;若值超過8,則數(shù)據(jù)幀中發(fā)送8個數(shù)據(jù)字節(jié),DLC不作修改發(fā)送;遠程幀沒有數(shù)據(jù),數(shù)據(jù)長度仍應正確填寫,表示數(shù)據(jù)請求的長度。數(shù)據(jù)區(qū):最先發(fā)送的數(shù)據(jù)是地址12的數(shù)據(jù)的最高位。2022/7/29306. SJA1000的BasicCAN模式6.8 接收緩沖器RXB(地址20-29)RXB是RXFIFO中可訪問的部分。RXB的標識符、RTR、DLC的定義及位置排列同TXB,只是偏移地址范圍不同。RXFIFO有64個字節(jié)的存儲空間,可存儲的報文數(shù)量取決于各個報文的長度。數(shù)據(jù)溢

19、出時,部分寫入RXFIFO的當前報文會被刪除。數(shù)據(jù)溢出當且僅當在報文有效時發(fā)生(接收到的報文直到幀結(jié)束的倒數(shù)第2位都沒有錯誤)。2022/7/29316. SJA1000的BasicCAN模式6.9 接收過濾器(ACR地址4,AMR地址5)只有標識符與接收過濾器預設值一致的報文才會存入RXFIFO,即報文被CAN控制器采用。接收過濾器:驗收代碼寄存器ACR、驗收屏蔽寄存器AMR。ACR在復位模式下可讀寫,工作模式下不可寫,讀返回值FFH,定義了高8位驗收代碼。AMR在復位模式下可讀寫,工作模式下不可寫,讀返回值FFH,定義了ACR中哪些位與驗收過濾“相關(guān)”(0相關(guān),1不相關(guān))。ACR(AC.7

20、AC.0)與報文標識符高8位(ID.10ID.3)中被AMR標記為“相關(guān)”的位必須相等,報文才會被接收。2022/7/29326. SJA1000的BasicCAN模式6.10 總線定時寄存器0(BTR0地址6)BTR0在復位模式下可讀寫,工作模式下不可寫,讀返回值FFH。BTR0定義了比特率預引比例因子BRP和同步跳轉(zhuǎn)寬度SJW。BPR確定了CAN系統(tǒng)時鐘:CAN總線利用當前總線信號沿進行重同步,SJW定義了每一位周期可以被重同步過程縮短或延長的時間長度,單位是系統(tǒng)時鐘周期:2022/7/29336. SJA1000的BasicCAN模式6.11 總線定時寄存器1(BTR1地址7)BTR1在

21、復位模式下可讀寫,工作模式下不可寫,讀返回值FFH。BTR1定義了位周期長度、采樣點的位置和每個采樣點的采樣次數(shù)。采樣位SAM:置1時總線采樣3次,在低中速 總線采用; 置0時總線采樣1次,在高速總 線采用。時間段1(TSEG1)、時間段2(TSEG2)決定了位周期包含的時鐘周期數(shù)和采樣點的位置:2022/7/29346. SJA1000的BasicCAN模式6.12 輸出控制寄存器(OCR地址8)OCR在復位模式下可讀寫,工作模式下不可寫,讀返回值FFH。OCR實現(xiàn)了軟件對SJA1000輸出驅(qū)動器的不同配置。 OCTPx、OCTNx:懸空00、上拉01、下拉10、推挽11OCPOLx:輸出極

22、性(0同極性,1反極性)OCMODE1、OCMODE0:輸出模式2022/7/29356. SJA1000的BasicCAN模式6.12 輸出控制寄存器(OCR地址8)OCMODE1、OCMODE0:00雙相輸出模式雙相輸出模式用于不允許位流含有直流電流的場合,如通過變壓器輸出的場合。雙相輸出模式通過電平跳變表示每一位,隱性位輸出懸空,顯性位通過TX0和TX1交替變化的電平發(fā)送。2022/7/29366. SJA1000的BasicCAN模式6.12 輸出控制寄存器(OCR地址8) OCMODE1、OCMODE0:01測試輸出模式測試輸出模式中,RX上的電平在系統(tǒng)時鐘的下一個上升沿反映到TX0

23、、TX1上。 OCMODE1、OCMODE0:10正常輸出模式正常輸出模式中,位序列通過TX0、TX1輸出,TX0、TX1引腳電平取決于OCTPx、OCTNx確定的驅(qū)動器特性和OCPOLx確定的極性。 OCMODE1、OCMODE0:11時鐘輸出模式時鐘輸出模式的TX0引腳同正常輸出模式,TX1引腳發(fā)送的是TX-CLK。2022/7/29376. SJA1000的BasicCAN模式6.13 時鐘分頻寄存器(CDR地址31) CDR控制:CLKOUT的頻率、CLKOUT的關(guān)閉/開啟、專用接收中斷輸出控制、旁路比較器、CAN模式切換。CDR的第四位CD.4,為保留位,讀為0,只能寫0。CD.2-

24、0:控制CLKOUT頻率,復位、工作模式均可訪問,硬件復位CDR默認為MOTO12分頻(05H)INTEL2分頻(00H);軟件復位不影響。CD.3:置位可關(guān)閉CLKOUT,復位模式下可寫。CD.5:置位允許TX1做專用接收中斷輸出,復位模式下可寫。CD.6:置位旁路模擬比較器,復位模式下可寫。CD.7:置0,BasicCAN模式;置1,PeliCAN模式,復位模式下可寫。2022/7/29387. SJA1000的PeliCAN模式7.1 SJA1000PeliCAN模式寄存器地址分配PeliCAN模式:1) 寄存器地址空間128;2) 工作模式與復位模式的寄存器地址映射不同 狀態(tài)寄存器、總

25、線定時器0、總線定時器1、輸出控制寄存器、測試寄存器、時鐘分頻寄存器2022/7/29397. SJA1000的PeliCAN模式2022/7/29407. SJA1000的PeliCAN模式7.1 SJA1000PeliCAN模式寄存器地址分配PeliCAN模式:從偏移地址32開始為片內(nèi)RAM空間2022/7/29417. SJA1000的PeliCAN模式7.2 SJA1000片內(nèi)寄存器的復位值兩種復位方式:硬件復位、軟件復位;硬件復位:復位引腳上一定寬度的低電平軟件復位:軟件設置MOD.0或脫離總線受復位影響的寄存器:模式、命令、狀態(tài)、中斷、仲裁丟失捕捉、錯誤代碼捕捉、錯誤報警限、RX錯

26、誤計數(shù)器、TX錯誤計數(shù)器、RX緩沖器、RX報文計數(shù)器、RX緩沖器起始地址、時鐘分頻寄存器注:中斷寄存器:脫離總線時,在出錯中斷允許的情況下出錯中斷被置位;2022/7/29427. SJA1000的PeliCAN模式7.2 SJA1000片內(nèi)寄存器的復位值受復位影響的寄存器:模式、命令、狀態(tài)、中斷、仲裁丟失捕捉、錯誤代碼捕捉、錯誤報警限、 RX錯誤計數(shù)器、 TX錯誤計數(shù)器、RX緩沖器、RX報文計數(shù)器、RX緩沖器起始地址、時鐘分頻寄存器注:RX錯誤計數(shù)寄存器:脫離總線時,RX錯誤計數(shù)器被清0;TX錯誤計數(shù)寄存器:脫離總線時,TX錯誤計數(shù)器被置為127,然后以遞減計數(shù)的方式等待CAN規(guī)范定義的12

27、8個11位連續(xù)隱性位組成的脫離總線恢復時間;RX緩沖器:RXFIFO的讀寫指針在復位后被置為初始值:硬件復位,指針指向物理地址0的RAM單元;軟件復位,指針置為上次釋放RXB后的有效FIFO的起始地址。發(fā)送報文在發(fā)送的同時會寫入RXB,但不產(chǎn)生接收中斷。2022/7/29437. SJA1000的BasicCAN模式7.2 SJA1000片內(nèi)寄存器的復位值不受復位影響的寄存器:中斷允許、總線定時0、總線定時1、輸出控制寄存器、TX緩沖器、驗收代碼03、驗收屏蔽碼032022/7/29447. SJA1000的PeliCAN模式7.3 模式寄存器MOD(地址0)模式寄存器MOD在復位模式和工作模

28、式均是可讀寫的;保留位:MOD.57,寫無任何影響,讀為0;睡眠: 睡眠位SM置1,且沒有總線活動,且沒有未處理中斷;三條件任何一個不滿足就被喚醒進入睡眠模式,CLKOUT至少持續(xù)15位時間;喚醒時,產(chǎn)生喚醒中斷,當前報文不接收,等待一個總線空閑后才正常接收報文;復位模式,SM不能置位,復位清零后,等待一個總線空閑,SM才能置位。MOD.31:只在復位模式下才是可寫的。只聽模式:軟件驅(qū)動的傳輸速率檢測和“熱插”場合硬件復位或總線狀態(tài)位為1(總線脫離)時,MOD.0被置位;在硬件復位時,CPU不能清零MOD.0,因此,CPU清零MOD.0時必須確認。軟件清零MOD.0后,SJA1000的操作:1

29、)若硬件復位或軟件置位MOD.0,等待一個總線空閑(11個隱性位);2)若脫離總線,等待128個總線空閑。2022/7/29457. SJA1000的PeliCAN模式7.4 命令寄存器CMR(地址1)命令寄存器CMR是只寫的,讀為00H;保留位:CMR.57,寫無任何影響,讀為0;自接收請求、發(fā)送請求、中止發(fā)送:1)置位CMR.4,報文在發(fā)送的同時被接收,會產(chǎn)生相應的發(fā)送中斷和接收中斷。 2)同時置位CMR.0、CMR.1,報文只發(fā)送一次,發(fā)生錯誤或仲裁丟失時,報文不重發(fā)。3)同時置位CMR.4、CMR.1,自接收報文只發(fā)送一次,發(fā)生錯誤或仲裁丟失時,報文不重發(fā)。4)一旦狀態(tài)寄存器的發(fā)送狀態(tài)

30、位被置位,CMR.0會自動清02022/7/29467. SJA1000的PeliCAN模式7.5 狀態(tài)寄存器SR(地址2)狀態(tài)寄存器SR是只讀的;PeliCAN模式的SR的定義同BasicCAN模式2022/7/29477. SJA1000的PeliCAN模式7.6 中斷寄存器IR(地址3)中斷寄存器IR是只讀的,用于識別中斷來源;中斷寄存器IR讀過后,除接收中斷外所有位被清0。釋放RX緩沖器命令清接收中斷位與BasicCAN模式相比,PeliCAN模式增加了:1)錯誤消極中斷:至少一個錯誤計數(shù)器超過127或從錯誤消極狀態(tài)進入錯誤積極狀態(tài)2)仲裁丟失中斷:節(jié)點丟失仲裁變?yōu)榻邮掌?)總線錯誤中

31、斷:節(jié)點檢測到總線錯誤2022/7/29487. SJA1000的PeliCAN模式7.7 中斷允許寄存器IER(地址4)中斷允許寄存器IER是可讀寫的;BasicCAN模式的中斷允許定義在控制寄存器中,無單獨的中斷允許寄存器,且無喚醒中斷允許控制。接收中斷允許位對接收中斷位和外部中斷INT引腳有直接影響,若清零RIE且沒有未處理的其他中斷,外部中斷引腳電平會立即變高。2022/7/29497. SJA1000的PeliCAN模式7.8 仲裁丟失捕捉寄存器ALC(地址11)仲裁丟失捕捉寄存器ALC是只讀的,記錄了仲裁丟失的位置信息;仲裁丟失時:產(chǎn)生仲裁丟失中斷;位流處理器的當前位位置被捕捉存入

32、ALC,ALC的內(nèi)容一直保持到軟件讀出時刻,捕捉機制再次被激活。仲裁丟失中斷標志清0后,只有ALC的值被讀出,才可能產(chǎn)生新的仲裁丟失中斷2022/7/29507. SJA1000的PeliCAN模式7.9 錯誤代碼捕捉寄存器ECC(地址12)錯誤代碼捕捉寄存器ECC是只讀的,記錄了總線錯誤類型和錯誤的位置信息;總線錯誤時:產(chǎn)生總線錯誤中斷;位流處理器的當前位位置被捕捉存入ECC,ECC的內(nèi)容一直保持到軟件讀出時刻,錯誤捕捉機制再次被激活??偩€錯誤中斷標志清0后,只有ECC的值被讀出,才可能產(chǎn)生新的總線錯誤中斷2022/7/29517. SJA1000的PeliCAN模式7.10 錯誤報警限寄存

33、器EMLR(地址13)錯誤報警限寄存器EMLR在工作模式是只讀的;復位模式是可讀可寫的,即只可在復位模式下修改。EMLR定義了錯誤報警限度,硬件復位的默認值為96。2022/7/29527. SJA1000的PeliCAN模式7.11 RX錯誤計數(shù)寄存器RXERR(地址14)RX錯誤計數(shù)寄存器RXERR在工作模式是只讀的;復位模式是可讀可寫的,即只可在復位模式下修改。RXERR硬件復位的默認值為0,當產(chǎn)生脫離總線復位時,RXERR被初始化為0??偩€脫離期間寫RXERR無效。2022/7/29537. SJA1000的PeliCAN模式7.12 TX錯誤計數(shù)寄存器TXERR(地址15)TX錯誤計

34、數(shù)寄存器TXERR在工作模式是只讀的;復位模式是可讀可寫的,即只可在復位模式下修改。TXERR:1)硬件復位的默認值為0; 2)當產(chǎn)生脫離總線復位時,TXERR被初始化為127,用于計算CAN規(guī)范定義的最小總線恢復時間(128個總線空閑) 3)若在總線脫離期間,向TXERR寫入0-254的數(shù)值,會清除脫離總線標志,復位模式清零后只等待一個總線空閑信號。 4)若在脫離總線恢復之前又進入復位模式,“脫離總線”保持有效且TXERR被鎖定。2022/7/29547. SJA1000的PeliCAN模式7.13 TX緩沖器TXB(地址16-28)TXB包括描述符區(qū)和數(shù)據(jù)區(qū)。描述符區(qū):幀信息、識別碼;數(shù)據(jù)

35、區(qū):最多包含8個字節(jié)幀信息寄存器2022/7/29557. SJA1000的PeliCAN模式7.14 RX緩沖器RXB(地址16-28)RXB的布局同TXB,同樣包括描述符區(qū)和數(shù)據(jù)區(qū)。描述符區(qū):幀信息、識別碼;數(shù)據(jù)區(qū):最多包含8個字節(jié)幀信息寄存器2022/7/29567. SJA1000的PeliCAN模式7.15 RX報文計數(shù)器RMC(地址29)RMC反映了RXFIFO中可用報文數(shù)目,每接收一個報文加1,每次釋放接收緩沖器減1,復位時清0。注:高三位不可寫,讀總為0;2022/7/29577. SJA1000的PeliCAN模式7.16 RX緩沖器起始地址寄存器RBSA(地址30)RBSA給出了已采用且被映射到RXB的報文中第一個字節(jié)的地址信息,該地址是當前有效的內(nèi)部RAM地址。 內(nèi)部RAM的偏移地址=RBSA+32硬件復位:RBSA初始化為0;軟件復位:RBSA保持原值,但RXFIFO清空。注:高兩位不可寫,讀總為02022/7/29587. SJA1000的PeliCAN模式7.17 接收過濾器接收過濾器由接收碼寄存器(ACRn)和接收屏蔽碼寄存器(AMRn)定義。兩種接收過濾器模式:單過濾器模式:模式寄存器的AFM位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論