在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機和MCP2510的CAN息線通信模塊設計

            單片機和MCP2510的CAN息線通信模塊設計

            —— ISP Bank I2C CRC MTV412
            作者: 時間:2008-03-11 來源: 收藏

              摘要 CAN總線上的分布式控制節(jié)點一般由單片機和可編程的CAN通信控制器組成。硬件方面介紹了節(jié)點的電路原理,軟件方面給出了系統(tǒng)程序設計流程及其需要注意的問題。

            本文引用地址:http://www.biyoush.com/article/79855.htm

              關鍵詞

              CAN(Controller Area Network)總線,即控制器局域網(wǎng)。由于具有高性能、高可靠性以及獨特的設計,CAN總線越來越受到人們的重視。德國的Bosch公司最初為汽車監(jiān)控和控制系統(tǒng)設計了CAN總線,現(xiàn)在,其應用已面向過程工業(yè)、機械工業(yè)、紡織工業(yè)、農(nóng)用機械、機器人、數(shù)控機床、醫(yī)療器械及傳感器等領域發(fā)展。CAN總線已經(jīng)形成國際標準,并已經(jīng)公認為是最有前途的現(xiàn)場總線之一。CAN總線規(guī)范已經(jīng)被國際標準化組織制訂為國際標準ISOll898,并得到眾多半導體器件廠商的支持,推出各種集成有CAN協(xié)議的產(chǎn)品。CAN總線系統(tǒng)智能節(jié)點是網(wǎng)絡上報文的接收和發(fā)送站,一般由單片機和CAN控制器或二者合二為一組成。

              MCP2510是Microchip公司生產(chǎn)的一種獨立的可編程CAN控制器芯片。本文將介紹新型的獨立CAN通信控制器MCP2510,并給出其在CAN總線系統(tǒng)智能節(jié)點中的應用實例。

              1 MCP2510芯片介紹

              MCP2510是一種帶有SPI接口的CAN控制器,DIP封裝如圖l所示。它支持CAN技術規(guī)范V2.OA/B。能夠發(fā)送或接收標準的和擴展的信息幀,同時具有接收濾波和信息管理的功能。MCP2510通過SI接口與MCU進行數(shù)據(jù)傳輸,最高數(shù)據(jù)傳輸速率可達5Mbps,MCU可通過MCP2510與CAN總線上的其他MCU單元通信。MCP25lO內含3個發(fā)送緩沖器和2個接收緩沖器,同時還具有靈活的中斷管理能力,這些特點使得MCU對CAN總線的操作變得非常簡便。

              

              1.1 MCP2510的主要特點

              ◇支持CANV2.OA/B;

              ◇具有SPI接口,支持SPI模式0,O和l,1;

              ◇內含3個發(fā)送緩沖器和2個接收緩沖器,可對其優(yōu)先權進行編程;

              ◇具有6個接收過濾器,2個接收過濾器屏蔽;

              ◇具有靈活的中斷管理能力;

              ◇采用低功耗CMOS工藝技術,其工作電壓范圍為3.0~5.5V,有效電流為5mA,維持電流為10μA;

              ◇工作溫度范圍為-40~+125℃。

              1.2 結構及工作原理

              MCP25lO有PDIP、SOIC和TSSOP三種封裝形式。圖2是MCP2510的內部結構框圖。CAN協(xié)議機負責與CAN總線的接口,SPI接口邏輯用于實現(xiàn)同MCU的通信,而寄存、緩沖器組與控制邏輯則用來完成各種方式的設定和操作控制?,F(xiàn)結合其工作過程將各部分的功能、原理作一介紹。

              

              (1)收發(fā)操作

              MCP2510的發(fā)送操作通過3個發(fā)送緩沖器來實現(xiàn)。這3個發(fā)送緩沖器各占據(jù)14字節(jié)的SRAM。第1字節(jié)是控制寄存器TXBNCTRL,該寄存器用來設定信息發(fā)送的條件,且給出了信息的發(fā)送狀態(tài);第2~6字節(jié)用來存放標準的和擴展的標識符以及仲裁信息;最后8字節(jié)則用來存放待發(fā)送的數(shù)據(jù)信息。在進行發(fā)送前,必須先對這些寄存器進行初始化。

              (2)中斷管理

              MCP2510有8個中斷源,包括發(fā)送中斷、接收中斷、錯誤中斷及總線喚醒中斷等。利用中斷使能寄存器(CANINTE)和中斷屏蔽寄存器(CANINTF)可以方便地實現(xiàn)對各種中斷的有效管理。當有中斷發(fā)生時,INT引腳變?yōu)榈碗娖讲⒈3衷诘碗娖?,直到MCU清除中斷為止。

              (3)錯誤檢測

              CAN協(xié)議具有CRCF錯誤、應答錯誤、形式錯誤、位錯誤和填充錯誤等檢測功能。MCP2510內含接收出錯計數(shù)器(REC)和發(fā)送出錯計數(shù)器(TEC)兩個錯誤計數(shù)器。因而對網(wǎng)絡中的任何一個節(jié)點來說,都有可能因為錯誤計數(shù)器的數(shù)值不同而使其處于錯誤一激話、錯誤一認可和總線一脫離3種狀態(tài)之一。

              2 MCP2510在智能節(jié)點中的應用實例

              利用MCP2510和CAN總線收發(fā)器TJAl050可構成一個CAN總線分布式測控網(wǎng)絡。系統(tǒng)可包括一個主控制器和多個節(jié)點控制器,這種節(jié)點控制器可對電動機的電流、電壓及周圍的溫度進行監(jiān)控,其結構如圖3所示。

              

              這種網(wǎng)絡拓撲結構采用了總線式結構和無源抽頭連接,且結構簡單、成本低,因而系統(tǒng)的可靠性較高。其信息傳輸采用CAN通信協(xié)議,通信介質采用雙絞線。由于CAN總線是基于發(fā)送報文的編碼,不對CAN控制節(jié)點進行編碼,故系統(tǒng)的可擴充性比較好,同時增刪CAN總線上的控制節(jié)點不會對系統(tǒng)的其余節(jié)點造成任何影響。

              節(jié)點控制器的MCU可選用具有SPI接口的微處理器,也可采用不帶SPI接口的微處理器。本系統(tǒng)采用的是不帶SPI接口的微處理器AT89C5l。AT89C51可通過P1口與CAN控制器的SPI接口直接相連,并用軟件算法來實現(xiàn)SPI接口協(xié)議。CAN總線收發(fā)器TJAl050則作為MCP2510與物理總線的接口。如果需要進一步提高系統(tǒng)的抗干擾能力,則可在MCP2510和TJAl050之間再加一個光電隔離器。

              智能節(jié)點電路原理圖如圖4所示。

              

              2.1 軟件設計

              MCP2510正常工作之前,需要進行正確的初始化,包括設置SPI接口的數(shù)據(jù)傳輸速率、CAN通信的波特率、MCP25lO的接收過濾器和屏蔽器以及發(fā)送和接收中斷允許標志位等。與SJAl000不同的是,單片機對MCP2510的接收緩沖器和發(fā)送緩沖器的操作,必須通過SPI接口用MCP25lO內置讀寫命令來完成。其讀、寫命令時序圖如圖5和圖6所示。

              

              本文中MCP2510主要采取中斷模式進行總線數(shù)據(jù)的接收和發(fā)送。整個系統(tǒng)主序提供兩種中斷:定時器中斷和外部中斷。定時器中斷的中斷子程序主要負責處理來自模擬通道AINO~AIN7的A/D數(shù)據(jù),向MCP25lO發(fā)送“數(shù)據(jù)發(fā)送請求命令”以及發(fā)送數(shù)據(jù)。外部中斷的中斷處理子程序主要包括CAN總線錯誤處理子程序和數(shù)據(jù)接收子程序。

              2.2 軟件主體設計流程

              軟件主體設計流程如圖7所示。軟件設計時需要注意以下問題:

             ?、僖驗镸CP2510在初始化完成后處于默認Config-uration模式下,所以就需要在MCP2510的初始化完后將其置為Normal模式,否則MCP2510將一直停留在Configuration模式下,不能正常進行工作。將MCP2510置Normal模式可通過使用MCP2510內置的BitModify(位修改)4指令向CANCTRL控制字寫入一個0字節(jié)來實現(xiàn)。

             ?、谠趯CP2510進行任何操作之前,都要由微處理器向MCP2510的片選CS輸出一個低電平,使得MCP2510選通。

             ?、墼趫?zhí)行MCP2510的“讀”操作時,發(fā)送完讀指令及其地址碼之后,仍然需要向MCP2510提供時鐘,以接收“讀”到的數(shù)據(jù)。可以通過向MCP2510發(fā)送一個O字節(jié)來實現(xiàn)。

              ④在對MCP2510完成任意操作后,都要延時一段時間,使其有足夠的時間來準備接收下次操作的命令,防止出現(xiàn)MCP2510“忙”的情況。

              3 總 結

              CAN總線已被公認為是最有前途的幾種現(xiàn)場總線之一。因其性價比高、實現(xiàn)簡單等突出優(yōu)點深受越來越多的研發(fā)人員的青睞。本文的智能節(jié)點可聯(lián)結多個集散控制系統(tǒng),其軟硬件電路的設計方法同樣適合于其他基于CAN總線的分布式控制系統(tǒng)的節(jié)點設計。

            通信相關文章:通信原理


            隔離器相關文章:隔離器原理
            雙絞線傳輸器相關文章:雙絞線傳輸器原理


            評論


            相關推薦

            技術專區(qū)

            關閉