




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線1CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線6 CAN的開發(fā)與設(shè)計的開發(fā)與設(shè)計概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用n CAN節(jié)點(diǎn)結(jié)構(gòu)節(jié)點(diǎn)結(jié)構(gòu)n 系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成n 通信控制:寄存器設(shè)置、收發(fā)緩沖器、認(rèn)可濾波器通信控制:寄存器設(shè)置、收發(fā)緩沖器、認(rèn)可濾波器監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線2CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線n 硬件:微處理器(硬件:微處理器(80518051等單片機(jī))、等單片機(jī))、CANCAN總線控制器總線控制器 (SJA1000SJA1000)、)、CANCAN
2、總線收發(fā)器(總線收發(fā)器(80C25080C250)、)、A/DA/D轉(zhuǎn)換器、外轉(zhuǎn)換器、外圍擴(kuò)展電路等。圍擴(kuò)展電路等?;诨贑ANCAN總線的監(jiān)控節(jié)點(diǎn):硬件軟件總線的監(jiān)控節(jié)點(diǎn):硬件軟件監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線3CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線軟件:軟件:n 初始化:初始化:設(shè)置各個寄存器(中斷設(shè)置、波特率設(shè)置、輸出設(shè)置各個寄存器(中斷設(shè)置、波特率設(shè)置、輸出方式設(shè)置等)。方式設(shè)置等)。n 數(shù)據(jù)接收:數(shù)據(jù)接收:讀取接收緩沖區(qū)的數(shù)據(jù);采用查詢還是中斷。讀取接收緩沖區(qū)的數(shù)據(jù);采用查詢還是中斷。 ( 2029)n 數(shù)據(jù)發(fā)送:數(shù)據(jù)發(fā)送:向向CAN總線控制器發(fā)送緩沖器中寫數(shù)據(jù)
3、??偩€控制器發(fā)送緩沖器中寫數(shù)據(jù)。 (1019)監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線4CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線5CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線認(rèn)可濾波器:認(rèn)可濾波器: 認(rèn)可碼寄存器(認(rèn)可碼寄存器(ACR)認(rèn)可屏蔽寄存器()認(rèn)可屏蔽寄存器(AMR)組成)組成監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線6CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線(1) 總線定時寄存器總線定時寄存器0(BTR0)n CAN系統(tǒng)時鐘周期系統(tǒng)時鐘周期 t tSCLSCL的大小是可編程的,該數(shù)值也用來確定的大小是可編程的,該數(shù)值也用來確
4、定CAN的位定時。的位定時。CAN的系統(tǒng)時鐘的周期由下式給出:的系統(tǒng)時鐘的周期由下式給出: n t txtalxtal:由振蕩器周期派生出的一個固定時間單元,即頻率倒數(shù)。由振蕩器周期派生出的一個固定時間單元,即頻率倒數(shù)。n t tSCLSCL:即即時間份額。時間份額。監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線7CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線(2 2)總線定時寄存器)總線定時寄存器1(BTR1)總線定時寄存器總線定時寄存器1 1(BTR1BTR1)定義了位周期的長度和數(shù)據(jù))定義了位周期的長度和數(shù)據(jù) 采樣點(diǎn)的位置和個數(shù)。采樣點(diǎn)的位置和個數(shù)。在復(fù)位模式下在復(fù)位模式下BTR1BTR1為
5、讀寫方式;為讀寫方式;在運(yùn)行模式下,若為在運(yùn)行模式下,若為PeliCANPeliCAN模式,該寄存器為只讀方式模式,該寄存器為只讀方式; ;在在BasicCANBasicCAN模式下,對此寄存器進(jìn)行讀操作,返回值為模式下,對此寄存器進(jìn)行讀操作,返回值為0FFH0FFH。監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線8CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線 正常輸出方式正常輸出方式n 在正常輸出方式,位流序列在正常輸出方式,位流序列TXDTXD通過通過TX0TX0和和TX1TX1輸出,輸出驅(qū)動器腳輸出,輸出驅(qū)動器腳TX0TX0和和TX1TX1的電平值不僅取決于可編程位的電平值不僅取決于可編程
6、位OCTPxOCTPx和和OCTNxOCTNx,而且也取決于輸,而且也取決于輸出極性位出極性位OCPOLxOCPOLx的編程值。的編程值。 時鐘輸出模式時鐘輸出模式n 在這種方式下,在這種方式下,TX0TX0與正常輸出模式一樣,輸出位流序列,而與正常輸出模式一樣,輸出位流序列,而TX1TX1則輸則輸出發(fā)送時鐘(出發(fā)送時鐘(TXCLKTXCLK),發(fā)送時鐘的上升沿標(biāo)注一個位周期的開始,),發(fā)送時鐘的上升沿標(biāo)注一個位周期的開始,時鐘的輸出寬度為一個系統(tǒng)時鐘時鐘的輸出寬度為一個系統(tǒng)時鐘t tSCLSCL 。 輸出控制寄存器(輸出控制寄存器(OCROCR)監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線9CUMT
7、CUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線 雙相輸出模式雙相輸出模式n 與正常輸出模式不同,在雙相輸出模式時,位的輸出是隨時間變化與正常輸出模式不同,在雙相輸出模式時,位的輸出是隨時間變化的,而且的,而且TX0TX0和和TX1TX1交替輸出。交替輸出。n 若總線控制器是用變壓器與線路隔離的,則位流中就不允許包含有若總線控制器是用變壓器與線路隔離的,則位流中就不允許包含有直流成份,這一點(diǎn)可以通過下述方法實(shí)現(xiàn):直流成份,這一點(diǎn)可以通過下述方法實(shí)現(xiàn):n 在發(fā)送隱性位時,所有的輸出被關(guān)閉(懸浮態(tài)),而顯性位則交替在發(fā)送隱性位時,所有的輸出被關(guān)閉(懸浮態(tài)),而顯性位則交替地輸出到地輸出到TX0TX0和
8、和TX1TX1,即第一個顯性位送到,即第一個顯性位送到TX0TX0,第二個顯性位則送到,第二個顯性位則送到TX1TX1,第三個又送到,第三個又送到TX0TX0,依次類推。,依次類推。 監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線10CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線6.4 CAN 的通信功能的應(yīng)用的通信功能的應(yīng)用n 通過通過CANCAN總線建立通信的過程:總線建立通信的過程:系統(tǒng)上電后系統(tǒng)上電后設(shè)置主控制器與設(shè)置主控制器與SJA1000SJA1000相關(guān)的硬相關(guān)的硬件及軟件件及軟件SJA1000SJA1000上電復(fù)位后,設(shè)置上電復(fù)位后,設(shè)置CANCAN控制控制器的通信功能:方式選擇、
9、認(rèn)可濾器的通信功能:方式選擇、認(rèn)可濾波器的設(shè)置、位定時信息等。波器的設(shè)置、位定時信息等。在應(yīng)用主程序中在應(yīng)用主程序中準(zhǔn)備要發(fā)送的數(shù)據(jù)并激活準(zhǔn)備要發(fā)送的數(shù)據(jù)并激活SJA1000SJA1000將數(shù)據(jù)發(fā)出將數(shù)據(jù)發(fā)出處理處理CANCAN控制器接收到的報文控制器接收到的報文處理在通信過程中發(fā)生的錯誤處理在通信過程中發(fā)生的錯誤 概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線11CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線6.4.1 初始化初始化 n SJA1000SJA1000在上電或硬復(fù)拉后,必須初始化以便進(jìn)行通信。在
10、上電或硬復(fù)拉后,必須初始化以便進(jìn)行通信。n 在運(yùn)行過程中還可以通過主控制器對其組態(tài)進(jìn)行修改(重新在運(yùn)行過程中還可以通過主控制器對其組態(tài)進(jìn)行修改(重新組態(tài)),在進(jìn)行重新組態(tài)時,首先要進(jìn)入復(fù)位狀態(tài)。組態(tài)),在進(jìn)行重新組態(tài)時,首先要進(jìn)入復(fù)位狀態(tài)。n 圖圖6-126-12給出了初始化程序的流程。給出了初始化程序的流程。概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線12CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線n 上電復(fù)位后,主控制器要運(yùn)行其復(fù)位子程序,然后進(jìn)入初始化上電復(fù)位后,主控制器要運(yùn)行其復(fù)位子程序,然后進(jìn)入初
11、始化SJA1000SJA1000的子程序,因?yàn)橐M態(tài)的寄存器只有在復(fù)位模式(的子程序,因?yàn)橐M態(tài)的寄存器只有在復(fù)位模式(Reset ModeReset Mode)下,才能被寫入。)下,才能被寫入。主控制器必須在復(fù)位模式下對控制段的下列寄存器進(jìn)行設(shè)置。主控制器必須在復(fù)位模式下對控制段的下列寄存器進(jìn)行設(shè)置。(1)控制寄存器選擇下列運(yùn)行方式:)控制寄存器選擇下列運(yùn)行方式:n 復(fù)位或運(yùn)行復(fù)位或運(yùn)行概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線13CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線(2)時鐘分頻寄存器:)時鐘
12、分頻寄存器:n BasicCAN或或PeliCAN模式模式n 時鐘輸出(時鐘輸出(CLKOUT)是否有效)是否有效n 接收比較器是否旁路接收比較器是否旁路n TX1輸出腳是否用作專用接收中斷輸出輸出腳是否用作專用接收中斷輸出(3)認(rèn)可碼與認(rèn)可碼屏蔽寄存器:)認(rèn)可碼與認(rèn)可碼屏蔽寄存器:n 定義要接收報文的認(rèn)可碼定義要接收報文的認(rèn)可碼n 定義認(rèn)可碼與報文進(jìn)行比較的相關(guān)位定義認(rèn)可碼與報文進(jìn)行比較的相關(guān)位 概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線14CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線(4)總線定時寄存
13、器)總線定時寄存器n 定義總線的波特率定義總線的波特率n 定義在位周期中的采樣點(diǎn)位值定義在位周期中的采樣點(diǎn)位值n 定義采樣點(diǎn)數(shù)目定義采樣點(diǎn)數(shù)目(5)輸出控制寄存器)輸出控制寄存器n 定義定義CAN總線輸出腳總線輸出腳 TX0和和TX1的輸出方式的輸出方式n 定義輸出腳定義輸出腳TX0、TX1的組態(tài):懸浮、上拉、下拉或推的組態(tài):懸浮、上拉、下拉或推挽及極性挽及極性n 正常輸出方式正常輸出方式、時鐘輸出方式時鐘輸出方式、雙相輸出方式或測試雙相輸出方式或測試方式方式概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線15CUMT
14、CUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線上述的組態(tài)信息寫入上述的組態(tài)信息寫入SJA1000SJA1000的控制段后,就可以通過的控制段后,就可以通過清除清除R/RR/R標(biāo)志進(jìn)入運(yùn)行狀態(tài)標(biāo)志進(jìn)入運(yùn)行狀態(tài),但必須檢驗(yàn)這個標(biāo)志位是否真正被,但必須檢驗(yàn)這個標(biāo)志位是否真正被清除了,并且確已進(jìn)入運(yùn)行模式,否則程序不應(yīng)繼續(xù)往下清除了,并且確已進(jìn)入運(yùn)行模式,否則程序不應(yīng)繼續(xù)往下執(zhí)行。執(zhí)行。在設(shè)置在設(shè)置SJA1000SJA1000寄存器前,主控制器應(yīng)該通過讀寄存器前,主控制器應(yīng)該通過讀R/RR/R(Reset Reset mode/Requestmode/Request)標(biāo)志來確認(rèn))標(biāo)志來確認(rèn)SJA1000
15、SJA1000確在復(fù)位方式,確在復(fù)位方式,因?yàn)橐驗(yàn)橐M態(tài)的寄存器只有在復(fù)位模式(組態(tài)的寄存器只有在復(fù)位模式(Reset ModeReset Mode)下,才能被)下,才能被寫入。寫入。(RR(RR復(fù)位請求復(fù)位請求 在控制寄存器在控制寄存器(CR)(CR)中中) )概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線16CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線參數(shù)定義參數(shù)定義(起始地址:(起始地址:8000H) CON EQU 8000H ;控制寄存器;控制寄存器 CMR EQU 8001H ;命令寄存器;命令
16、寄存器 SREQU 8002H ;狀態(tài)寄存器;狀態(tài)寄存器 CDR EQU 801FH ;時鐘分頻器;時鐘分頻器 ACREQU 8004H ;認(rèn)可碼寄存器;認(rèn)可碼寄存器 AMR EQU 8005H ;認(rèn)可碼屏蔽寄存器;認(rèn)可碼屏蔽寄存器 BTR0 EQU 8006H ;總線定時寄存器;總線定時寄存器0 BTR1EQU 8007H ;總線定時寄存器;總線定時寄存器1 OCREQU 8008H ;輸出控制寄存器;輸出控制寄存器 CANTXD EQU 800AH ;發(fā)送緩沖區(qū);發(fā)送緩沖區(qū) CANRXD EQU 8014H ;接收緩沖區(qū);接收緩沖區(qū)監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線17CUMTCUMT監(jiān)
17、控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線CINIT:MOV DPTR,# CON;控制寄存器控制寄存器 MOV A,#01H ;復(fù)位復(fù)位SJA1000 MOVX DPTR,A監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線18CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線MOV DPTR,#CDR;時鐘分頻寄存器時鐘分頻寄存器MOV A,#6FH;BASICCAN模式模式,CLKOUT關(guān)關(guān)MOVX DPTR,AMOV DPTR,#BTR0 ;總線定時器總線定時器0MOV A,#0C5HMOVX DPTR,AMOV DPTR,#BTR1 ;總線定時器總線定時器1MOV A,#0A5H MOVX DPTR,A
18、監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線19CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線n 波特率波特率1/(tTseg1+tTseg2+tSYN) tSYN tSCL監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線20CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線n 例:例:24MHz晶振,晶振,BTR0=0C5H,BTR1=0A5H。 BTR01100 0101 ; BTR1=1010 0101tSCL 2(412011)/241060.510-6tTseg1=(80412011) tSCL6 tSCLtTseg2=(4021101) tSCL3 tSCL波特率波特率1/(tTseg1+tT
19、seg2+tSCL)1/10 tSCL=200103監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線21CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線 MOV DPTR,#AMR ;接收屏蔽寄存器接收屏蔽寄存器 MOV A,# DAMR MOVX DPTR,A MOV DPTR,#ACR ;認(rèn)可碼寄存器認(rèn)可碼寄存器 MOV A,#DACR MOVX DPTR,A 監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線22CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線 MOV DPTR,#CON MOV A,#08H MOVX DPTR,A ;并返回工作狀態(tài)并返回工作狀態(tài)監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線23C
20、UMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線n 報文的發(fā)送是報文的發(fā)送是CANCAN控制器控制器SJA1000SJA1000依據(jù)依據(jù)CANCAN協(xié)議規(guī)范自動協(xié)議規(guī)范自動進(jìn)行的;進(jìn)行的;主控制器將要發(fā)送的報文寫入主控制器將要發(fā)送的報文寫入SJA1000SJA1000的發(fā)送緩沖區(qū),的發(fā)送緩沖區(qū),并將發(fā)送請求位(并將發(fā)送請求位(Transmit RequestTransmit Request)置;)置;發(fā)送過程既可以采用中斷方式,也可以采用查詢方式發(fā)送過程既可以采用中斷方式,也可以采用查詢方式(查詢(查詢SJA1000SJA1000控制段的狀態(tài)標(biāo)志)??刂贫蔚臓顟B(tài)標(biāo)志)。概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)
21、成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用6.4.2 數(shù)據(jù)的發(fā)送數(shù)據(jù)的發(fā)送監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線24CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線1) 采用中斷方式的數(shù)據(jù)發(fā)送采用中斷方式的數(shù)據(jù)發(fā)送 監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線25CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線2) 查詢方式的報文發(fā)送查詢方式的報文發(fā)送n 在查詢方式下在查詢方式下CANCAN發(fā)送中斷應(yīng)被屏蔽。發(fā)送中斷應(yīng)被屏蔽。n 一旦報文開始發(fā)送,發(fā)送緩沖器寫閉鎖,因此主控制器要查一旦報文開始發(fā)送,發(fā)送緩沖器寫閉鎖,因此主控制器要查詢詢“發(fā)送緩沖器狀態(tài)發(fā)送緩沖器狀態(tài)”標(biāo)志
22、,確定是否可以將一個新的報文標(biāo)志,確定是否可以將一個新的報文寫入發(fā)送緩沖器(寫入發(fā)送緩沖器(TXBufferTXBuffer) 。 概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線26CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線發(fā)送子程序發(fā)送子程序TDATA: MOV DPTR,#SR ;狀態(tài)寄存器狀態(tài)寄存器 MOVX A,DPTR ;從從SJA1000 讀入狀態(tài)寄存器值讀入狀態(tài)寄存器值 JB ACC.4,TDATA ;判斷是否正在接收判斷是否正在接收,正在接收則等待正在接收則等待TS0:MOVX A,DPTR
23、JNB ACC.3,TS0 ;判斷上次發(fā)送是否完成判斷上次發(fā)送是否完成,未完成則等待發(fā)送完成未完成則等待發(fā)送完成TS1:MOVX A,DPTRJNB ACC.2,TS1 ;判斷發(fā)送緩沖區(qū)是否鎖定判斷發(fā)送緩沖區(qū)是否鎖定,鎖定則等待鎖定則等待監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線27CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線TS2:MOV DPTR #CANTXD ; SJA1000發(fā)送緩存區(qū)首址發(fā)送緩存區(qū)首址 MOV A #88H ; MOVX DPTR A INC DPTR MOV A,#88H; 標(biāo)識符標(biāo)識符1000 1000 100MOVX DPTR,A監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與
24、現(xiàn)場總線28CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線向發(fā)送緩沖區(qū)寫數(shù)據(jù)向發(fā)送緩沖區(qū)寫數(shù)據(jù) MOV R1,#08H ;數(shù)據(jù)長度數(shù)據(jù)長度MOV R0,#TRDATA ;cpu發(fā)送數(shù)據(jù)區(qū)首地址發(fā)送數(shù)據(jù)區(qū)首地址 MTBF:MOV A,R0INC DPTRMOVX DPTR,AINC R0DJNZ R1,MTBF 監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線29CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線MOV DPTR,#CMR ;命令寄存器地址命令寄存器地址MOV A,#01H ;發(fā)送請求置;發(fā)送請求置1MOVX DPTR,A ;啟動啟動SJA1000 發(fā)送發(fā)送RET監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)
25、控系統(tǒng)與現(xiàn)場總線30CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線6.4.3 中止發(fā)送中止發(fā)送請求發(fā)送的報文可以用請求發(fā)送的報文可以用“中止發(fā)送中止發(fā)送”命令來中止發(fā)送過程命令來中止發(fā)送過程這一特性可以用來發(fā)送一個比已寫入發(fā)送緩沖器這一特性可以用來發(fā)送一個比已寫入發(fā)送緩沖器TXBuff中中的報文更緊急的報文。的報文更緊急的報文。圖圖6-15給出了中斷方式下的中止發(fā)送程序流程圖,這個流給出了中斷方式下的中止發(fā)送程序流程圖,這個流程圖演示了中止當(dāng)前報文而發(fā)送一個優(yōu)先級別高的報文。程圖演示了中止當(dāng)前報文而發(fā)送一個優(yōu)先級別高的報文。 概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CAN
26、CAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線31CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線6.4.4 接收報文接收報文接收報文是接收報文是CANCAN控制器依據(jù)控制器依據(jù)CANCAN協(xié)議規(guī)范自動進(jìn)行,接收報協(xié)議規(guī)范自動進(jìn)行,接收報文被放在接收緩沖器文被放在接收緩沖器RXBufferRXBuffer中。中。一個報文是否可以傳送給主控制器,由狀態(tài)寄存器的接收一個報文是否可以傳送給主控制器,由狀態(tài)寄存器的接收緩沖器狀態(tài)緩沖器狀態(tài)RBSRBS和接收中斷標(biāo)志確定(若中斷開放)。和接收中斷標(biāo)志確定(若中斷開放)。主控制器要將有效數(shù)據(jù)讀入其內(nèi)存,釋放接收緩沖器主控制器要將有效數(shù)據(jù)
27、讀入其內(nèi)存,釋放接收緩沖器RXBufferRXBuffer,并對報文進(jìn)行處理。,并對報文進(jìn)行處理。傳送過程既可由中斷控制,也可通過查詢狀態(tài)寄存器標(biāo)志傳送過程既可由中斷控制,也可通過查詢狀態(tài)寄存器標(biāo)志來完成。來完成。 概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線32CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線CAN控制器的接收中斷應(yīng)屏蔽,主控制器讀控制器的接收中斷應(yīng)屏蔽,主控制器讀SJA1000狀態(tài)寄存器(周狀態(tài)寄存器(周期性的)、查詢接收緩沖器狀態(tài)標(biāo)志期性的)、查詢接收緩沖器狀態(tài)標(biāo)志RBS,看接收緩沖器中是
28、否有報,看接收緩沖器中是否有報文存在。文存在。 概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用1) 查詢方式的接收過程查詢方式的接收過程若接收緩沖器空,主控制若接收緩沖器空,主控制器繼續(xù)其它的程序,直到器繼續(xù)其它的程序,直到下一個查詢接收緩沖器狀下一個查詢接收緩沖器狀態(tài)命令。態(tài)命令。若接收緩沖器狀態(tài)標(biāo)志指若接收緩沖器狀態(tài)標(biāo)志指示示“滿滿”,接收緩沖器中,接收緩沖器中已接收到一個或多個報文已接收到一個或多個報文。 監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線33CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線CAN控制器的接收中斷和主控制器用于連接控制器的接
29、收中斷和主控制器用于連接CAN控制器接控制器接收中斷信號的外部中斷源,應(yīng)在接收報文開始前開放。收中斷信號的外部中斷源,應(yīng)在接收報文開始前開放。概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用2)中斷方式的接收)中斷方式的接收接收中斷允許標(biāo)接收中斷允許標(biāo)志在控制寄存器志在控制寄存器(BasicCAN模模式)式)或在中斷允許寄或在中斷允許寄存器(存器(PeliCAN 模式)。模式)。監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線34CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線概述概述系統(tǒng)構(gòu)成系統(tǒng)構(gòu)成CANCAN通信的通信的控制控制CANCAN通信的通信的應(yīng)用應(yīng)用監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線35CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線接收子程序接收子程序REC: MOV DPTR,#SR MOVX A,DPTR JB ACC.4,REC ;判斷判斷sja1000是否正在接收報文,是則等待是否正在接收報文,是則等待 JNB ACC.0,REC ;讀出狀態(tài)寄存器中的值,判斷是否有報文,有則接收,讀出狀態(tài)寄存器中的值,判斷是否有報文,有則接收,無則返回?zé)o則返回監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線36CUMTCUMT監(jiān)控系統(tǒng)與現(xiàn)場總線監(jiān)控系統(tǒng)與現(xiàn)場總線ACCEPT: MOV DPTR,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人診所合同標(biāo)準(zhǔn)文本
- 知識管理系統(tǒng)規(guī)劃計劃
- 住宅加裝電梯合同標(biāo)準(zhǔn)文本
- 兒童合同標(biāo)準(zhǔn)文本標(biāo)準(zhǔn)文本玩具
- 2025年住宅樓購房合同全文(合同范本)
- 2025房地產(chǎn)項(xiàng)目借款合同協(xié)議
- 宣傳策劃方案(6篇)
- 監(jiān)理工程師考試首要知識點(diǎn)試題及答案
- 2025年中外合作開發(fā)合同
- 短視頻委托代運(yùn)營服務(wù)合同-模板
- 2024年揚(yáng)州市事業(yè)單位統(tǒng)考招聘筆試真題
- 高中主題班會 高一下學(xué)期《自律自主自覺-成就更好的自己》主題班會教案
- 舞蹈簡史考試題及答案
- 3.1公民基本權(quán)利 課件 2024-2025學(xué)年統(tǒng)編版道德與法治八年級下冊
- 2025年浙江安防職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫匯編
- 2025年ACR痛風(fēng)管理指南
- 2024年畢節(jié)市東關(guān)坡糧食儲備有限公司社會招聘筆試真題
- DBJ50T-309-2018 地下管網(wǎng)危險源監(jiān)控系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 廣東省汕頭市2025年普通高考第一次模擬考試生物學(xué)試題(含答案)
- 酒店服務(wù)人員職業(yè)道德課件
- 河道清淤人員培訓(xùn)
評論
0/150
提交評論