| RB提供條件 | 方 式 | R8上的電壓或電流 |
| VRS>0.75Vcc 10μA<-IRS<200μA VRS<0.3VCC | 待機(jī)方式 斜率方式 高速方式 | IRS< 10μA 0.4VCC<VRS<0.6VCC -IRS<500μA |
在高速工作方式下,發(fā)送器輸出晶體管簡單地以盡可能快的速度啟閉。在這種方式下,不采取任何措施限制上升和下降斜率。建議使用屏蔽電纜以避免射頻干擾問題。通過將引腳8接地,可選擇高速方式。
對于較低速度或較短總線長度,可用非屏蔽雙絞線或平行線作總線。為降低射頻干擾,應(yīng)限制上升和下降斜率。上升和下降斜率可通過由引腳8至地連接的電阻進(jìn)行控制。斜率正比于引腳8上的電流輸出。
若引腳8加有高電平,則電路進(jìn)入低電流待機(jī)方式。在這種方式下,發(fā)送器被關(guān)掉,而接收器轉(zhuǎn)至低電流。由于在待機(jī)方式下,接收器是慢速的,因此,第一個報文將被丟失。
3.SJA1000的TX1腳懸空,RX1引腳的電位必須維持在約0.5Vcc上,否則,將不能形式CAN協(xié)議所要求的電平邏輯。

2.2 節(jié)點(diǎn)軟件設(shè)計
根據(jù)節(jié)點(diǎn)電路原理圖,SJA1000的首地址為0000H。用MCS-51匯編語言編制的初始化程序如下:
CR EQU 0000H ;控制寄存器
CMR EQU 0001H ;命令寄存器
SR EQU 0001H ;命令寄存器
SR EQU 0002H ;狀態(tài)寄存器
IR EQU 0003H ;中斷寄存器
ACR EQU 0004H ;接收代碼寄存器
AMR EQU 0005H ;接收屏蔽寄存器
BTR0 EQU 0006H ;總線時序寄存器0
BTR1 EQU 0007H ;總線時序寄存器1
OCR EQU 0008H ;輸出控制寄存器
MOV DPTR,#CR
MOV A,#1BH ;開放接收、出錯、溢出中斷
MOVX @DPTR,A ;置位復(fù)位請求,開始初始化
MOV DPTR,#ACR
MOV A,#03H ;接收代碼寄存器為03H
MOVX #DPTR,A
INC DPTR
MOV A,#0FCH ;接收屏蔽寄存器為0FCH
MOVX @DPTR,A
INC DPTR
MOV A,#00H
MOVX @DPTR,A
INC DPTR
MOV A,#1CH ;500Kbps
MOVX @DPTR,A
INC DPTR
MOV A,#0AAH ;正常輸出模式
MOVX @DPTR,A
MOV DPTR,#CR
MOV A,#1AH ;初始化結(jié)束,SJA1000進(jìn)入工作狀態(tài)
MOVX @DPTR,A
RET
注意:SJA1000初始化程序中,只有當(dāng)控制寄存器CR中的復(fù)位請求為1時(SJA1000工作在復(fù)位模式),允許訪問上述寄存器,否則既寫不進(jìn)去,也讀不出正確的內(nèi)容。在接收寄存器(RXB)為空,滿足不述條件時,報文可被正確地接收。
報文接收條件:接收代碼位(AC.7~AC.0)和信息識別碼的高8位(ID.10~I(xiàn)D.3)相等,且與接收屏蔽位(AM7~AM.0)的相應(yīng)位相或為1,則報文被接收。例如:在初始化程序中,ACR=03H,AMR=0FCH,由此只有信息識別碼的高8位為XXXXXX11的數(shù)據(jù)幀被接收。BTR0的值可決定波特率預(yù)分頻器(BRP)和同步跳轉(zhuǎn)寬度(SJW)的數(shù)值;BTR1可決定位周期的寬度,采樣點(diǎn)的位置及在每個采樣點(diǎn)進(jìn)行采樣的次數(shù)。程序中BTR0=00H,BTR1=1Ch,則波特率為500Kbps。有一點(diǎn)必須要注意,系統(tǒng)中所有節(jié)點(diǎn)的BTR0和BTR1的內(nèi)容都應(yīng)用相同,否則將無法進(jìn)行通信。對CR的第二次寫訪問是清除復(fù)位請求位,使SJA1000返回工作模式。





