0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何將MCP2515CAN總線控制器與Arduino接口

454398 ? 來源:工程師吳畏 ? 2019-07-30 10:51 ? 次閱讀

在這個項(xiàng)目中,我們將了解MCP2515 CAN控制器模塊,如何將MCP2515 CAN總線控制器與Arduino接口,以及如何在兩個MCP2515 CAN的幫助下實(shí)現(xiàn)兩個Arduino板之間的通信控制器和CAN協(xié)議。

簡介

受控區(qū)域簡單CAN網(wǎng)絡(luò)是一種總線標(biāo)準(zhǔn),允許微控制器及其外圍設(shè)備在不需要主機(jī)設(shè)備或計(jì)算機(jī)的情況下進(jìn)行通信。

由Robert Bosch GmbH開發(fā)的CAN協(xié)議主要用于汽車,用于控制單元及其組件之間的通信。

例如,發(fā)動機(jī)控制單元是汽車中使用的主要控制裝置。該裝置連接到許多傳感器和執(zhí)行器,如氣流,壓力,溫度,閥門控制,空氣控制電機(jī)等。這些模塊和控制單元之間的通訊是通過CAN總線進(jìn)行的。

為了更多地了解CAN總線,CAN控制器和其他重要方面,MCP2515 CAN總線控制器模塊非常有用。

同時閱讀: SPI通訊基礎(chǔ)。

簡要說明MCP2515 CAN總線控制器模塊

MCP2515 CAN總線控制器是一個簡單的模塊,支持CAN協(xié)議版本2.0B,可用于1Mbps的通信。為了建立一個完整的通信系統(tǒng),您需要兩個CAN總線模塊。

項(xiàng)目如下圖所示。

此特定模塊基于MCP2515 CAN控制器IC和TJA1050 CAN收發(fā)器IC 。 MCP2515 IC是一個獨(dú)立的CAN控制器,集成了SPI接口,用于與微控制器通信。

來自TJA1050 IC,它充當(dāng)MCP2515 CAN控制器IC和物理CAN總線。

下圖顯示了典型MCP2515模塊上的組件和引腳。

MCP2515 CAN總線模塊示意圖

在查看模塊原理圖之前,您需要了解一個有關(guān)IC的一些事項(xiàng),即MCP2515和TJA1050。

MCP2515 IC是主控制器,內(nèi)部由三個主要子組件組成:CAN模塊,控制邏輯和SPI阻止。

CAN模塊負(fù)責(zé)在CAN總線上發(fā)送和接收消息。控制邏輯通過連接所有模塊來處理MCP2515的設(shè)置和操作。 SPI模塊負(fù)責(zé)SPI通信接口

來到TJA1050 IC,由于它充當(dāng)MCP2515 CAN控制器和物理CAN總線之間的接口,因此該IC負(fù)責(zé)從控制器獲取數(shù)據(jù)并將其中繼到總線上。

下圖顯示了MCP2515 CAN模塊的原理圖,并顯示了模塊上MCP2515 IC和TJA1050 IC的連接方式。

MCP2515與Arduino接口的電路圖

下圖顯示了電路圖MCP2515 CAN模塊與Arduino的接口以及兩個Arduino over CAN協(xié)議之間可能的通信。

如果MCP2515模塊的引腳不清楚,以下圖片可能有用。

所需組件

Arduino UNO x 2 [購買]

MCP2515 x 2 [在此處購買]

USB電纜x 2

連接線[在此處購買]

電路設(shè)計(jì)

As前面提到過,CAN控制器IC有助于SPI通信協(xié)議與任何微控制器連接。因此,將SPI引腳即SC25,MOSI(SI),MISO(SO)和MCP2515模塊的CS連接到Arduino的相應(yīng)SPI引腳(參見電路圖)。

進(jìn)行兩次這樣的連接:一對作為發(fā)射器,另一對作為接收器?,F(xiàn)在,對于此發(fā)送器和接收器之間的通信,連接每個MCP2515模塊的CANH和CANL引腳。

代碼

在進(jìn)入代碼之前,您需要下載一個庫MCP2515模塊。有很多庫,但我使用了這個特定的庫。

下載并將提取的內(nèi)容放在Arduino的libraries目錄中。

由于通信涉及發(fā)送器模塊和接收器模塊,因此代碼也分為發(fā)送器代碼和接收器代碼。

發(fā)送器代碼

接收器代碼

工作

此項(xiàng)目的工作非常簡單,因?yàn)樗泄ぷ鞫加蓭欤⊿PI和CAN)完成。由于CAN是基于消息的通信,因此您需要在0到8個字節(jié)之間的任何地方發(fā)送消息。

在此項(xiàng)目中,發(fā)送器正在發(fā)送消息為1 1 2 3 0 5 6 7.此消息通過CAN總線傳輸,接收器接收此消息并顯示在其串行監(jiān)視器上。

此外,0 th 和4 th 位,即上述序列中的1和0由接收器分別提取,并接通和斷開連接到Arduino引腳2的LED。

應(yīng)用

如前言所述,CAN廣泛應(yīng)用于汽車領(lǐng)域。部分應(yīng)用包括:

電子換檔系統(tǒng)

自動化中的主界面(如工業(yè)

醫(yī)療設(shè)備

機(jī)器人技術(shù)

自動啟動/停止汽車發(fā)動機(jī)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 總線控制器
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    12593
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6469

    瀏覽量

    187109
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用Arduino實(shí)現(xiàn)CAN總線通信呢

    2562,這些是常見的CAN控制器芯片,可以通過SPI接口Arduino通信。 CAN總線轉(zhuǎn)接
    的頭像 發(fā)表于 12-23 09:06 ?160次閱讀

    MCP2517FD小尺寸CAN FD控制器規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《MCP2517FD小尺寸CAN FD控制器規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 11-20 17:00 ?0次下載

    如何使用Arduino實(shí)現(xiàn)CAN總線通信

    開源硬件平臺,通過添加CAN總線模塊,也可以實(shí)現(xiàn)CAN通信。 硬件準(zhǔn)備 Arduino開發(fā)板 :可以選擇Arduino Uno、Mega等型
    的頭像 發(fā)表于 11-12 10:09 ?886次閱讀

    如何選擇CAN總線控制器

    在現(xiàn)代工業(yè)自動化和汽車電子領(lǐng)域,CAN(Controller Area Network)總線因其高可靠性、實(shí)時性和靈活性而成為廣泛使用的通信協(xié)議之一。選擇合適的CAN總線
    的頭像 發(fā)表于 11-12 09:48 ?245次閱讀

    CAN總線控制器的工作原理

    CAN(Controller Area Network,控制器局域網(wǎng))總線控制器的工作原理涉及多個方面,包括消息傳輸、沖突檢測與解決、總線
    的頭像 發(fā)表于 09-30 11:33 ?893次閱讀

    CAN總線控制器是什么意思

    CAN總線控制器(Controller Area Network Bus Controller)是CAN總線通信系統(tǒng)中的核心部件,它扮演著接
    的頭像 發(fā)表于 09-03 14:16 ?1011次閱讀

    CAN總線接口類型

    CAN總線(Controller Area Network)是一種基于廣播的串行通信協(xié)議,廣泛用于連接分布式系統(tǒng)中的各個設(shè)備,實(shí)現(xiàn)它們之間的數(shù)據(jù)交換和控制。CAN
    的頭像 發(fā)表于 09-03 14:13 ?1874次閱讀

    SIT2515帶SPI接口的獨(dú)立局域網(wǎng)(CAN)控制器中文手冊

    電子發(fā)燒友網(wǎng)站提供《SIT2515帶SPI接口的獨(dú)立局域網(wǎng)(CAN)控制器中文手冊.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 14:23 ?0次下載

    MCP2515帶SPI接口的獨(dú)立CAN控制器數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《MCP2515帶SPI接口的獨(dú)立CAN控制器數(shù)據(jù)手冊.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 14:22 ?2次下載

    車載智能控制器 工程機(jī)械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產(chǎn)化替代

    控制器總線
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年08月29日 10:43:57

    CAN收發(fā)CAN控制器的區(qū)別

    CAN總線系統(tǒng)是現(xiàn)代工業(yè)自動化和汽車控制系統(tǒng)中常用的通信協(xié)議。在CAN總線系統(tǒng)中,CAN收發(fā)
    的頭像 發(fā)表于 05-28 15:44 ?2910次閱讀

    如何將PSoC CAN控制器與NMEA 2000網(wǎng)絡(luò)結(jié)合使用?

    2000 標(biāo)準(zhǔn)規(guī)定 NMEA 2000 的波特率為 250K,并詳細(xì)說明了電纜和連接等要求。 PSoC 能夠利用 CAN 控制器,是簡單傳感應(yīng)用的良好平臺。 我想知道是否有人使用
    發(fā)表于 05-23 07:04

    CAN如何將雙通道ADC連接到FX3控制器

    我想用 FX3 控制器直接連接具有 250MSPS 的 14 位雙通道 ADC 的并行 LVDS 輸出。 從器件的數(shù)據(jù)表中可以清楚地看出,我 CAN ADC輸出連接到GPIFII接口
    發(fā)表于 02-27 06:25

    什么是CAN? Pin MCP2515 芯片

    什么是CANCAN控制器局域網(wǎng)絡(luò)(ControllerAreaNetwork,CAN)的簡稱,是如今是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,是
    的頭像 發(fā)表于 02-22 08:31 ?1053次閱讀
    什么是<b class='flag-5'>CAN</b>? Pin <b class='flag-5'>MCP2515</b> 芯片

    CAN控制器CAN收發(fā)、CAN驅(qū)動的區(qū)別是什么?

    CAN總線結(jié)構(gòu)中,CAN控制器、CAN收發(fā)CAN
    的頭像 發(fā)表于 01-30 09:44 ?4439次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>、<b class='flag-5'>CAN</b>收發(fā)<b class='flag-5'>器</b>、<b class='flag-5'>CAN</b>驅(qū)動<b class='flag-5'>器</b>的區(qū)別是什么?