單片機和MCP2510的CAN總線(xiàn)通信模塊設計
1.2 結構及工作原理
MCP2510有PDIP、SOIC和TSSOP三種封裝形式。圖2是MCP2510的內部結構框圖。CAN協(xié)議機負責與CAN總線(xiàn)的接口,SPI接口邏輯用于實(shí)現同MCU的通信,而寄存、緩沖器組與控制邏輯則用來(lái)完成各種方式的設定和操作控制?,F結合其工作過(guò)程將各部分的功能、原理作一介紹。
圖2 MCP2510內部結構框圖
(1) 收發(fā)操作
MCP2510的發(fā)送操作通過(guò)3個(gè)發(fā)送緩沖器來(lái)實(shí)現。這3個(gè)發(fā)送緩沖器各占據14字節的SRAM。第1字節是控制寄存器TXBNCTRL,該寄存器用來(lái)設定信息發(fā)送的條件,且給出了信息的發(fā)送狀態(tài);第2~6字節用來(lái)存放標準的和擴展的標識符以及仲裁信息;最后8字節則用來(lái)存放待發(fā)送的數據信息。在進(jìn)行發(fā)送前,必須先對這些寄存器進(jìn)行初始化。
(2) 中斷管理
MCP2510有8個(gè)中斷源,包括發(fā)送中斷、接收中斷、錯誤中斷及總線(xiàn)喚醒中斷等。利用中斷使能寄存器(CANINTE)和中斷屏蔽寄存器(CANINTF)可以方便地實(shí)現對各種中斷的有效管理。當有中斷發(fā)生時(shí),INT引腳變?yōu)榈碗娖讲⒈3衷诘碗娖?,直到MCU清除中斷為止。
(3) 錯誤檢測
CAN協(xié)議具有CRCF錯誤、應答錯誤、形式錯誤、位錯誤和填充錯誤等檢測功能。MCP2510內含接收出錯計數器(REC)和發(fā)送出錯計數器(TEC)兩個(gè)錯誤計數器。因而對網(wǎng)絡(luò )中的任何一個(gè)節點(diǎn)來(lái)說(shuō),都有可能因為錯誤計數器的數值不同而使其處于錯誤激活、錯誤認可和總線(xiàn)脫離3種狀態(tài)之一。
2 MCP2510在智能節點(diǎn)中的應用實(shí)例
利用MCP2510和CAN總線(xiàn)收發(fā)器TJA1050可構成一個(gè)CAN總線(xiàn)分布式測控網(wǎng)絡(luò )。系統可包括一個(gè)主控制器和多個(gè)節點(diǎn)控制器,這種節點(diǎn)控制器可對電動(dòng)機的電流、電壓及周?chē)臏囟冗M(jìn)行監控,其結構如圖3所示。
這種網(wǎng)絡(luò )拓撲結構采用了總線(xiàn)式結構和無(wú)源抽頭連接,且結構簡(jiǎn)單、成本低,因而系統的可靠性較高。其信息傳輸采用CAN通信協(xié)議,通信介質(zhì)采用雙絞線(xiàn)。由于CAN總線(xiàn)是基于發(fā)送報文的編碼,不對CAN控制節點(diǎn)進(jìn)行編碼,故系統的可擴充性比較好,同時(shí)增刪CAN總線(xiàn)上的控制節點(diǎn)不會(huì )對系統的其余節點(diǎn)造成任何影響。
評論