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

下載本文檔

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

文檔簡(jiǎn)介

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

2、2. CAN控制器的類型根據(jù)與微處理器的集成程度,CAN控制器分為獨(dú)立CAN控制器和集成于微處理器內(nèi)部的CAN內(nèi)核。1)獨(dú)立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ū)動(dòng)器引言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ū)動(dòng)器獨(dú)立CAN控制器SJA10001. SJA1000總體描述SJA1000是適用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN控制器,是PHILIPS公司的獨(dú)立CAN控制器PCA82C200的替代產(chǎn)品(引腳兼容、電氣特性兼容),在PCA82C200基礎(chǔ)上增加了PeliCAN模式以支持CAN2.0B協(xié)議,在SJA1000中PCA82C200的工作模式稱為BasicCAN模式。 PeliCAN模式和BasicCAN模式通過(guò)時(shí)鐘分頻寄存器中的CAN模式位來(lái)選擇,系統(tǒng)復(fù)位默認(rèn)模式為BasicCAN模式。2022/7

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

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

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

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

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

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

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

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

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

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

15、N模式6.5 狀態(tài)寄存器SR(地址2)狀態(tài)寄存器是只讀寄存器,反映了SJA1000的工作狀態(tài); 總線狀態(tài):發(fā)送錯(cuò)誤計(jì)數(shù)器超過(guò)255,SR.7置位,脫離總線,復(fù)位請(qǐng)求置1,出錯(cuò)狀態(tài)置1,產(chǎn)生出錯(cuò)中斷(允許);退出總線脫離狀態(tài):復(fù)位請(qǐng)求清0,等待128個(gè)總線空閑,總線狀態(tài)清0,出錯(cuò)狀態(tài)清0,錯(cuò)誤計(jì)數(shù)器復(fù)位,產(chǎn)生出錯(cuò)中斷(允許)。出錯(cuò)狀態(tài):至少一個(gè)錯(cuò)誤計(jì)數(shù)器達(dá)到或超過(guò)CPU報(bào)警限(96)時(shí),出錯(cuò)狀態(tài)置位,產(chǎn)生出錯(cuò)中斷(允許)。若發(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ā)送請(qǐng)求位置1,發(fā)送完成狀態(tài)位就清0,一直保持到報(bào)文成功發(fā)送。發(fā)送緩沖器狀態(tài):發(fā)送緩沖器狀態(tài)為0時(shí),CPU不能訪問(wèn)TXB,所寫數(shù)據(jù)會(huì)在沒有任何提示的情況下丟失。數(shù)據(jù)溢出狀態(tài):若報(bào)文有效(直到幀結(jié)束的倒數(shù)第二位沒有錯(cuò)誤),RXFIFO空間不夠,報(bào)文丟失,數(shù)據(jù)溢出狀態(tài)置位,產(chǎn)生數(shù)據(jù)溢出中斷(允許);若報(bào)文出錯(cuò),則不產(chǎn)生數(shù)據(jù)溢出。接收緩沖器狀態(tài):用釋放RXB命令釋放RXB后,該位自動(dòng)清0,若RXFIFO中還有可用報(bào)文,將在下一個(gè)時(shí)間單元重新置1。2022/7/29286. SJA1000的BasicCAN模式6.6 中斷標(biāo)志寄存器IR(地址3

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

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

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

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

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

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

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

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

25、線定時(shí)器0、總線定時(shí)器1、輸出控制寄存器、測(cè)試寄存器、時(shí)鐘分頻寄存器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)寄存器的復(fù)位值兩種復(fù)位方式:硬件復(fù)位、軟件復(fù)位;硬件復(fù)位:復(fù)位引腳上一定寬度的低電平軟件復(fù)位:軟件設(shè)置MOD.0或脫離總線受復(fù)位影響的寄存器:模式、命令、狀態(tài)、中斷、仲裁丟失捕捉、錯(cuò)誤代碼捕捉、錯(cuò)誤報(bào)警限、RX錯(cuò)

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

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

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

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

30、位被置位,CMR.0會(huì)自動(dòng)清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是只讀的,用于識(shí)別中斷來(lái)源;中斷寄存器IR讀過(guò)后,除接收中斷外所有位被清0。釋放RX緩沖器命令清接收中斷位與BasicCAN模式相比,PeliCAN模式增加了:1)錯(cuò)誤消極中斷:至少一個(gè)錯(cuò)誤計(jì)數(shù)器超過(guò)127或從錯(cuò)誤消極狀態(tài)進(jìn)入錯(cuò)誤積極狀態(tài)2)仲裁丟失中斷:節(jié)點(diǎn)丟失仲裁變?yōu)榻邮掌?)總線錯(cuò)誤中

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論