摘要?。悖幔羁偩€上的分布式控制節(jié)點一般由單片機和可編程的can通信控制器組成。硬件方面介紹了節(jié)點的電路原理,軟件方面給出了系統(tǒng)程序設(shè)計流程及其需要注意的問題。 ?。悖幔睿ǎ悖铮睿簦颍铮欤欤澹颉。幔颍澹帷。睿澹簦鳎铮颍耄┛偩€,即控制器局域網(wǎng)。由于具有高性能、高可靠性以及獨特的設(shè)計,can總線越來越受到人們的重視。德國的bosch公司最初為汽車監(jiān)控和控制系統(tǒng)設(shè)計了can總線,現(xiàn)在,其應(yīng)用已面向過程工業(yè)、機械工業(yè)、紡織工業(yè)、農(nóng)用機械、機器人、數(shù)控機床、醫(yī)療器械及傳感器等領(lǐng)域發(fā)展。can總線已經(jīng)形成國際標(biāo)準(zhǔn),并已經(jīng)公認(rèn)為是最有前途的現(xiàn)場總線之一。can總線規(guī)范已經(jīng)被國際標(biāo)準(zhǔn)化組織制訂為國際標(biāo)準(zhǔn)isoll898,并得到眾多半導(dǎo)體器件廠商的支持,推出各種集成有can協(xié)議的產(chǎn)品。can總線系統(tǒng)智能節(jié)點是網(wǎng)絡(luò)上報文的接收和發(fā)送站,一般由單片機和can控制器或二者合二為一組成。 ?。恚悖穑玻担保笆牵恚椋悖颍铮悖瑁椋鸸旧a(chǎn)的一種獨立的可編程can控制器芯片。本文將介紹新型的獨立can通信控制器mcp2510,并給出其在can總線系統(tǒng)智能節(jié)點中的應(yīng)用實例?! 。薄。恚悖穑玻担保靶酒榻B mcp2510是一種帶有spi接口的can控制器,dip封裝如圖l所示。它支持can技術(shù)規(guī)范v2.oa/b。能夠發(fā)送或接收標(biāo)準(zhǔn)的和擴展的信息幀,同時具有接收濾波和信息管理的功能。mcp2510通過si接口與mcu進行數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達(dá)5mbps,mcu可通過mcp2510與can總線上的其他mcu單元通信。mcp25lo內(nèi)含3個發(fā)送緩沖器和2個接收緩沖器,同時還具有靈活的中斷管理能力,這些特點使得mcu對can總線的操作變得非常簡便。 ?。保薄。恚悖穑玻担保暗闹饕攸c ◇支持canv2.oa/b; ◇具有spi接口,支持spi模式0,o和l,1; ◇內(nèi)含3個發(fā)送緩沖器和2個接收緩沖器,可對其優(yōu)先權(quán)進行編程; ◇具有6個接收過濾器,2個接收過濾器屏蔽; ◇具有靈活的中斷管理能力; ◇采用低功耗cmos工藝技術(shù),其工作電壓范圍為3.0~5.5v,有效電流為5ma,維持電流為10μa; ◇工作溫度范圍為-40~+125℃?! 。保病〗Y(jié)構(gòu)及工作原理 ?。恚悖穑玻担欤镉校穑洌椋稹ⅲ螅铮椋愫停簦螅螅铮鹑N封裝形式。圖2是mcp2510的內(nèi)部結(jié)構(gòu)框圖。can協(xié)議機負(fù)責(zé)與can總線的接口,spi接口邏輯用于實現(xiàn)同mcu的通信,而寄存、緩沖器組與控制邏輯則用來完成各種方式的設(shè)定和操作控制。現(xiàn)結(jié)合其工作過程將各部分的功能、原理作一介紹?! 。ǎ保┦瞻l(fā)操作 ?。恚悖穑玻担保暗陌l(fā)送操作通過3個發(fā)送緩沖器來實現(xiàn)。這3個發(fā)送緩沖器各占據(jù)14字節(jié)的sram。第1字節(jié)是控制寄存器txbnctrl,該寄存器用來設(shè)定信息發(fā)送的條件,且給出了信息的發(fā)送狀態(tài);第2~6字節(jié)用來存放標(biāo)準(zhǔn)的和擴展的標(biāo)識符以及仲裁信息;最后8字節(jié)則用來存放待發(fā)送的數(shù)據(jù)信息。在進行發(fā)送前,必須先對這些寄存器進行初始化?! 。ǎ玻┲袛喙芾怼 。恚悖穑玻担保坝校競€中斷源,包括發(fā)送中斷、接收中斷、錯誤中斷及總線喚醒中斷等。利用中斷使能寄存器(caninte)和中斷屏蔽寄存器(canintf)可以方便地實現(xiàn)對各種中斷的有效管理。當(dāng)有中斷發(fā)生時,int引腳變?yōu)榈碗娖讲⒈3衷诘碗娖剑钡剑恚悖跚宄袛酁橹??! 。ǎ常╁e誤檢測 can協(xié)議具有crcf錯誤、應(yīng)答錯誤、形式錯誤、位錯誤和填充錯誤等檢測功能。mcp2510內(nèi)含接收出錯計數(shù)器(rec)和發(fā)送出錯計數(shù)器(tec)兩個錯誤計數(shù)器。因而對網(wǎng)絡(luò)中的任何一個節(jié)點來說,都有可能因為錯誤計數(shù)器的數(shù)值不同而使其處于錯誤一激話、錯誤一認(rèn)可和總線一脫離3種狀態(tài)之一?! 。病。恚悖穑玻担保霸谥悄芄?jié)點中的應(yīng)用實例 利用mcp2510和can總線收發(fā)器tjal050可構(gòu)成一個can總線分布式測控網(wǎng)絡(luò)。系統(tǒng)可包括一個主控制器和多個節(jié)點控制器,這種節(jié)點控制器可對電動機的電流、電壓及周圍的溫度進行監(jiān)控,其結(jié)構(gòu)如圖3所示?! ∵@種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用了總線式結(jié)構(gòu)和無源抽頭連接,且結(jié)構(gòu)簡單、成本低,因而系統(tǒng)的可靠性較高。其信息傳輸采用can通信協(xié)議,通信介質(zhì)采用雙絞線。由于can總線是基于發(fā)送報文的編碼,不對can控制節(jié)點進行編碼,故系統(tǒng)的可擴充