| 位 | 符號(hào) | 名稱 | 值 | 功 能 |
| IR.7 | - | - | - | 保留 |
| IR.6 | - | - | - | 保留 |
| IR.5 | - | - | - | 保留 |
| IR.4 | WUI | 喚醒中斷 | 1 | 置位。退出睡眠模式時(shí)此位被置位 |
| 0 | 復(fù)位。微控制器的任何讀訪問將清除此位 | |||
| IR.3 | DOI | 數(shù)據(jù)溢出中斷 | 1 | 設(shè)置。當(dāng)數(shù)據(jù)溢出中斷使能位被置為1時(shí),向數(shù)據(jù)溢出狀態(tài)位傳送“0-1”,此位被置位 |
| 0 | 復(fù)位。微控制器的任何讀訪問清除此位 | |||
| IR.2 | EI | 錯(cuò)誤中斷 | 1 | 置位。錯(cuò)誤中斷使能時(shí),錯(cuò)誤狀態(tài)位或總線狀態(tài)位的變化會(huì)置位此位 |
| 0 | 復(fù)位。微控制器的任何讀訪問清除此位 | |||
| IR.1 | TI | 發(fā)送中斷 | 1 | 置位。發(fā)送緩沖器狀態(tài)從0變?yōu)?(釋放)和發(fā)送中斷使能時(shí),置位此位 |
| 0 | 復(fù)位。微控制器的任何讀訪問清除此位 | |||
| IR.0 | RI | 接收中斷 | 1 | 置位。當(dāng)接收FIFO不空和接收中斷使能時(shí)置位此位 |
| 0 | 復(fù)位。微控制器的任何讀訪問清除此位 |
2 SJA1000在節(jié)點(diǎn)中的應(yīng)用實(shí)例
該節(jié)點(diǎn)的微控制器選用了8位單片機(jī)AT89C51,SJA1000作為CAN總線控制器,并且使用了CAN接口芯片82C250。此節(jié)點(diǎn)可直接運(yùn)用到CAN總線網(wǎng)絡(luò)系統(tǒng)中,或者對(duì)此節(jié)點(diǎn)電路稍加變動(dòng)來滿足設(shè)計(jì)的要求。下面從硬件電路和軟件設(shè)計(jì)兩部分來介紹。
2.1 節(jié)點(diǎn)硬件電路設(shè)計(jì)
圖2是節(jié)點(diǎn)的電路原理圖。注意SJA1000復(fù)位端的連接,AT89C51是高電平復(fù)位,而SJA1000是低電平復(fù)位,因此復(fù)位信號(hào)要通過一個(gè)反相器與SJA1000的復(fù)位端相連。另外SJA1000的11腳MODE接高電平,選擇Intel二分頻模式。SJA1000的16腳是中斷信號(hào)輸出端,在中斷允許情況下,有中斷發(fā)生時(shí),16腳出現(xiàn)由高電平到低電平的跳變,因此16腳可以直接與AT89C51的外部中斷輸入腳相連接。該設(shè)計(jì)中之所以選擇82C250芯片,是因?yàn)槠渚哂懈咚傩裕ㄗ罡呖蛇_(dá)1 Mbps),具有抗瞬間干擾保護(hù)總線的能力,具有降低射頻干擾的斜率控制。此外,它可以與110個(gè)節(jié)點(diǎn)相連,防止電池與地之間發(fā)生短路,當(dāng)某一個(gè)節(jié)點(diǎn)掉電時(shí),不會(huì)影響總線。在設(shè)計(jì)節(jié)點(diǎn)電路時(shí),還要注意下面幾點(diǎn):
1.SJA1000通過光耦與82C250的連接是電流隔離的接法,這樣可以防止線路間的串?dāng)_。在總線兩端要接2個(gè)120Ω的總線阻抗匹配電阻。忽略掉它們會(huì)降低總線的抗干擾能力,甚至導(dǎo)致無法通信。
2.通過在地和82C250的8腳(RS)之間接不同阻值的電阻,可選擇三種不同的工作方式:高速、斜率控制和待機(jī),如表5所列。
表5 RS選擇的三種工作方式





