技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于CAN總線的分布式控制網(wǎng)絡(luò)智能節(jié)點(diǎn)的設(shè)計(jì)

基于CAN總線的分布式控制網(wǎng)絡(luò)智能節(jié)點(diǎn)的設(shè)計(jì)

時(shí)間:2008-09-03 10:41:00來(lái)源:ronggang

導(dǎo)語(yǔ):?現(xiàn)場(chǎng)總線是目前自動(dòng)化技術(shù)發(fā)展的一個(gè)熱點(diǎn)。本文介紹基于CAN總線的分布式控制網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)方法,給出了Intel 80C196KC+SJA1000和PIC16F877+MCP2510兩種典型的CAN總線智能節(jié)點(diǎn)的硬件電路和軟件初始化程序
摘 要:現(xiàn)場(chǎng)總線是目前自動(dòng)化技術(shù)發(fā)展的一個(gè)熱點(diǎn)。本文介紹基于CAN總線的分布式控制網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)方法,給出了Intel 80C196KC+SJA1000和PIC16F877+MCP2510兩種典型的CAN總線智能節(jié)點(diǎn)的硬件電路和軟件初始化程序。 關(guān)鍵詞:現(xiàn)場(chǎng)控制網(wǎng)絡(luò) CAN總線 SJA1000 MCP2510 1 引言   工業(yè)現(xiàn)場(chǎng)控制存在大量傳感器、電子控制單元、執(zhí)行機(jī)構(gòu)等,它們通常分布廣,且實(shí)時(shí)性、快速性的要求較高,如何將它們連接起來(lái)組成分布式控制網(wǎng)絡(luò)系統(tǒng)是現(xiàn)代控制系統(tǒng)的一個(gè)重要發(fā)展方向?,F(xiàn)場(chǎng)總線控制系統(tǒng)(FCS)就是其中的一種典型的控制網(wǎng)絡(luò)結(jié)構(gòu)的實(shí)現(xiàn)??刂破骶钟蚓W(wǎng)CAN(Controller Area Network)屬于現(xiàn)場(chǎng)總線的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的多主串行總線,以其短報(bào)文幀及優(yōu)異的CSMA/BA逐位仲裁協(xié)議而被受現(xiàn)場(chǎng)設(shè)備互連的青睞。 2 分布式控制網(wǎng)絡(luò)系統(tǒng) [align=center] 圖 1 分布式控制網(wǎng)絡(luò)系統(tǒng)[/align]   基于CAN總線的分布式控制網(wǎng)絡(luò)系統(tǒng)如圖1所示,采用現(xiàn)場(chǎng)總線式集散系統(tǒng)FDCS(Field Distributed Control System)結(jié)構(gòu),由操作站、智能節(jié)點(diǎn)以及CAN現(xiàn)場(chǎng)控制網(wǎng)絡(luò)組成。操作站主要完成在線系統(tǒng)監(jiān)控,多個(gè)智能節(jié)點(diǎn)各自獨(dú)立完成數(shù)據(jù)采集、系統(tǒng)設(shè)定、運(yùn)行顯示控制等,通過(guò)CAN現(xiàn)場(chǎng)總線,在操作站和智能節(jié)點(diǎn)之間交換各種數(shù)據(jù)和管理控制信息。 3 智能節(jié)點(diǎn)硬件電路設(shè)計(jì)   本文介紹應(yīng)用Intel 80C196KC+SJA1000及PIC16F877+MCP2510設(shè)計(jì)兩種典型的CAN總線系統(tǒng)智能節(jié)點(diǎn)。   80C196KC+SJA1000智能節(jié)點(diǎn)硬件電路如圖2所示。電路主要由四部分構(gòu)成:微控制器80C196KC、獨(dú)立CAN通信控制器SJA1000、CAN總線收發(fā)器82C250和高速光電耦合器6N137。微處理器80C196KC負(fù)責(zé)SJA1000的初始化,通過(guò)控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。   SJA1000是PHILIP公司的PCA82C200獨(dú)立CAN控制器的替代產(chǎn)品,具有Basic CAN和Peli CAN兩種工作方式。SJA1000的AD0~AD7連接到80C196的P3口,即數(shù)據(jù)總線。80C196地址總線的高三位通過(guò)譯碼器連到SJA1000的/CS引腳,CPU通過(guò)這些地址可對(duì)SJA1000執(zhí)行相應(yīng)的讀寫(xiě)操作。SJA1000的/RD、/WR、ALE分別與80C196的對(duì)應(yīng)引腳相連,/INT接80C196的外部中斷引腳INT,80C196也可通過(guò)中斷方式訪問(wèn)SJA1000。該節(jié)點(diǎn)中SJA1000通過(guò)并行口與80C196相連,因此,數(shù)據(jù)讀寫(xiě)速度快,且軟件編程簡(jiǎn)單,但占用I/O口多,硬件比較復(fù)雜。 [align=center] 圖 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)簽:

點(diǎn)贊

分享到:

上一篇:用于有源電力濾波器的IGBT驅(qū)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(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é)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)