您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
基于CAN總線的分布式控制網(wǎng)絡(luò)智能節(jié)點(diǎn)的設(shè)計(jì)
時(shí)間:2008-09-03 10:41:00來(lái)源:ronggang
圖 2 80C196+SJA1000智能節(jié)點(diǎn)硬件電路[/align]
為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,SJA1000的TX0和RX0通過(guò)高速光耦6N137與82C250相連,這樣就很好地實(shí)現(xiàn)了總線上各CAN節(jié)點(diǎn)間的電氣隔離。電源的完全隔離可采用小功率電源隔離模塊或帶多5V隔離輸出的開(kāi)關(guān)電源模塊實(shí)現(xiàn),這些部分雖然增加了節(jié)點(diǎn)的復(fù)雜程序,但卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。
[align=center]
圖 3 16F877+MCP2510智能節(jié)點(diǎn)硬件電路[/align]
以PIC16F877單片機(jī)為核心的智能節(jié)點(diǎn)硬件電路如圖3所示,若需增加光耦隔離可采用圖2的方法。MCP2510是一種帶有串行外圍接口SPI的獨(dú)立CAN控制器,它支持CAN技術(shù)規(guī)范V2.0A/B;并能夠發(fā)送的接收標(biāo)準(zhǔn)的和擴(kuò)展的信息幀,同時(shí)具有接收濾波和信息管理的功能。MCP2510通過(guò)SPI接口與MCU進(jìn)行數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達(dá)5Mb/s,且占用I/O口少,硬件接口簡(jiǎn)單。MCU可通過(guò)MCP2510與CAN總線上的其它MCU單元通訊。MCP2510有配置、正常、睡眠、監(jiān)聽(tīng)、反饋等五種工作模式,內(nèi)含三個(gè)發(fā)送緩沖器、二個(gè)接收緩沖器,同時(shí)還具有靈活的中斷管理能力,這些特點(diǎn)使得MCU對(duì)CAN總線的操作變得非常簡(jiǎn)便。
4 智能節(jié)點(diǎn)軟件初始化
CAN總線節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括三大部分:CAN節(jié)點(diǎn)初始化、報(bào)文發(fā)送和報(bào)文接收。初始化程序設(shè)計(jì)對(duì)于CAN總線節(jié)點(diǎn)的正常工作相當(dāng)重要。它主要包括工作方式的設(shè)置、時(shí)鐘輸出寄存器的設(shè)置、接收屏蔽寄存器和接收代碼寄存器的設(shè)置、總線定時(shí)器的設(shè)置、輸出控制寄存器的設(shè)置和中斷允許寄存器的設(shè)置。本文介紹的硬件、軟件設(shè)計(jì)已在相關(guān)課題中得到應(yīng)用。
4.1 SJA1000初始化子程序
80C196KC微控制器通過(guò)并行數(shù)據(jù)總線對(duì)SJA1000進(jìn)行初始化,下面提供了SJA1000初始化的MCS-196匯編源程序。程序中寄存器符號(hào)表示的是SJA1000相應(yīng)寄存器占用的片外存儲(chǔ)器的地址,這些符號(hào)可在程序的頭部用偽指令EQU進(jìn)行定義。后文對(duì)這一點(diǎn)不再作特別說(shuō)明。
init_SJA1000:
LDB AL,#00000001B ;進(jìn)入復(fù)位模式,進(jìn)行初始化
STB AL,CR
LDB AL,#00001000B ;選擇Basic CAN,
STB AL,CDR ;關(guān)閉時(shí)鐘輸出(CLKOUT)
LDB AL,#00011011B ;開(kāi)放溢出、
STB AL,CR ;錯(cuò)誤,接收中斷
LDB AL,#00000000B ;接收代碼寄存器,ID為0
STB AL,RXCODE
LDB AL,#11111111B ;接收屏蔽寄存器
STB AL,RXMASK
LDB AL,#00110001B ;總線時(shí)序0
STB AL,BUS_T0
LDB AL,#11011000B ;總線時(shí)序1,16MHz下,
STB AL,BUS_T1 ;波特率為10kbps
LDB AL,#0AAH ;輸出控制寄存器
STB AL,OUTCON
LDB AL,#00001100B ;清除數(shù)據(jù)溢出,
STB AL,CMR ;釋放接收緩沖區(qū)
LDB AL,#00011010B ;返回工作模式
STB AL,CR
RET
4.2 MCP2510初始化子程序
[align=center]
圖 4 MCP2510讀、寫(xiě)時(shí)序圖[/align]
PIC16F877單片機(jī)通過(guò)SPI接口與MCP2510相連。MCP2510的SPI讀寫(xiě)時(shí)序如圖4所示。圖a為SPI寫(xiě)時(shí)序圖,寫(xiě)指令首先被發(fā)送到MCP2510的SI引腳,并在SCK的上升沿鎖存每個(gè)數(shù)據(jù)位,然后發(fā)送地址和數(shù)據(jù),執(zhí)行完畢指令后,數(shù)據(jù)被寫(xiě)進(jìn)指定的地址單元中。圖b為SPI讀時(shí)序圖,首先將讀指令和地址發(fā)送到MCP2510的SI引腳,并在SCK的上升沿鎖存每個(gè)數(shù)據(jù)位,然后把存儲(chǔ)在這個(gè)地址單元中的數(shù)據(jù)在SCK的下降沿輸出到SO引腳。當(dāng)執(zhí)行讀寫(xiě)操作時(shí),CS引腳應(yīng)始終保持在低電平。
PIC16F877微控制器通過(guò)SPI口對(duì)MCP2510進(jìn)行初始化,下面提供了MCP2510初始化的PIC匯編源程序。其中WRITE2510子程序就是根據(jù)圖4的SPI寫(xiě)時(shí)序圖將數(shù)據(jù)寫(xiě)進(jìn)指定的地址單元中。
MCP2510_init
CALL RESET ;系統(tǒng)復(fù)位,配置模式
MOVLW CNF1 ;總線定時(shí)
MOVWF ADDR
MOVLW B‘00110001‘
MOVWF DATA1
CALL WRITE2510 ;寫(xiě)入數(shù)據(jù)
MOVLW CNF2
MOVWF ADDR
MOVLW B‘11110001‘
MOVWF DATA1
CALL WRITE2510
MOVLW CNF3
MOVWF ADDR
MOVLW B‘00000101‘
MOVWF DATA1
CALL WRITE2510
MOVLW RXM0SIDH ; 初始化接收屏蔽寄存器0
MOVWF ADDR
MOVLW B‘11111111‘
MOVWF DATA1
CALL WRITE2510
MOVLW RXM0SIDL
MOVWF ADDR
MOVLW B‘00000000‘
MOVWF DATA1
CALL WRITE2510
MOVLW RXM0EID8
MOVWF ADDR
MOVLW B‘00000000‘
MOVWF DATA1
CALL WRITE2510
MOVLW RXM0EID0
MOVWF ADDR
MOVLW B‘00000000‘
MOVWF DATA1
CALL WRITE2510
∶ ; 初始化接收屏蔽寄存器1
∶ ; 和接收過(guò)濾寄存器0~5
∶ ;
MOVLW CANINTE ;開(kāi)放ERR,RX0中斷
MOVWF ADDR
MOVLW B‘00100001‘
MOVWF DATA1
CALL WRITE2510
MOVLW CANINTF ;清中斷標(biāo)志
MOVWF ADDR
MOVLW B‘00000000‘
MOVWF DATA1
CALL WRITE2510
MOVLW CANCTRL ;正常工作模式
MOVWF ADDR
MOVLW B‘11100000‘
MOVWF MARK
MOVLW B‘00000000‘
MOVWF DATA1
CALL Bit_Modify2510
RETURN
參考文獻(xiàn)
1 PHILIPS SJA1000 stand-alone CAN controller product specification.2000 Jan 04
2 MICROCHIP MCP2510 Stand-Alone CAN Controller with SPITM Interface.
3 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì). 北京航空航天大學(xué)出版社,1996.
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門(mén)給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
推薦專(zhuān)題
更多>