在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

基于MCP2510 CAN控制器實(shí)現(xiàn)CAN總線系統(tǒng)智能節(jié)點(diǎn)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:楊慶華,張景元 ? 2021-06-23 15:16 ? 次閱讀

CAN(Controller Area Network)總線,即控制器局域網(wǎng)。由于具有高性能、高可靠性以及獨(dú)特的設(shè)計(jì),CAN總線越來越受到人們的重視。德國的Bosch公司最初為汽車監(jiān)控和控制系統(tǒng)設(shè)計(jì)了CAN總線,現(xiàn)在,其應(yīng)用已面向過程工業(yè)、機(jī)械工業(yè)、紡織工業(yè)、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(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é)點(diǎn)是網(wǎng)絡(luò)上報(bào)文的接收和發(fā)送站,一般由單片機(jī)和CAN控制器或二者合二為一組成。

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

1 MCP2510芯片介紹

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

poYBAGDS4ZKAZcGWAABEpo200Ns600.png

1.1 MCP2510的主要特點(diǎn)

支持CANV2.OA/B;

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

內(nèi)含3個(gè)發(fā)送緩沖器和2個(gè)接收緩沖器,可對其優(yōu)先權(quán)進(jìn)行編程;

具有6個(gè)接收過濾器,2個(gè)接收過濾器屏蔽;

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

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

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

1.2 結(jié)構(gòu)及工作原理

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

pYYBAGDS4YuAPI6RAABXM_g_xjg676.png

(1)收發(fā)操作

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

(2)中斷管理

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

(3)錯(cuò)誤檢測

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

2 MCP2510在智能節(jié)點(diǎn)中的應(yīng)用實(shí)例

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

pYYBAGDS4YCARUgLAAB4uUkiazI211.png

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

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

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

pYYBAGDS4XmAasN5AAJiVmwA_KQ956.png

2.1 軟件設(shè)計(jì)

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

pYYBAGDS4WCAHt3qAADsehi7RoE769.png

poYBAGDS4W2ARmFcAAD4LkMQ3o4264.png

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

2.2 軟件主體設(shè)計(jì)流程

軟件主體設(shè)計(jì)流程如圖7所示。軟件設(shè)計(jì)時(shí)需要注意以下問題:

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

②在對MCP2510進(jìn)行任何操作之前,都要由微處理器向MCP2510的片選CS輸出一個(gè)低電平,使得MCP2510選通。

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

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

3 總 結(jié)

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

    2560

    文章

    52158

    瀏覽量

    761460
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    16830

    瀏覽量

    182176
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1968

    瀏覽量

    131961
收藏 0人收藏

    評論

    相關(guān)推薦

    采用CH375和MCP2510設(shè)計(jì)CAN-USB接口卡

    曾經(jīng)接11.0592 MHz晶振時(shí),系統(tǒng)不能正常工作,改為12MHz時(shí),則可正常工作。CAN協(xié)議芯片選擇MCP2510,總線驅(qū)動采用PCA
    發(fā)表于 05-05 09:29

    分享一種不錯(cuò)的基于CAN總線的集散型火災(zāi)報(bào)警控制系統(tǒng)

    本文主要介紹由MCP2510MCP2551組成的CAN現(xiàn)場總線的在集散型火災(zāi)報(bào)警控制系統(tǒng)中的應(yīng)用。
    發(fā)表于 05-31 06:18

    MCP2510智能節(jié)點(diǎn)中的應(yīng)用實(shí)例有哪些?

    MCP2510的主要特點(diǎn)是什么?MCP2510的結(jié)構(gòu)及工作原理是什么?MCP2510智能節(jié)點(diǎn)中的應(yīng)用實(shí)例有哪些?
    發(fā)表于 06-03 06:30

    CAN控制器MCP2510及其應(yīng)用

    MCP2510是MT公司生產(chǎn)的一種帶SPI接口的CAN控制器,主要用于簡化CAN接口的應(yīng)用設(shè)計(jì).文中介紹了MCP2510的特點(diǎn)、結(jié)構(gòu)和基本工
    發(fā)表于 04-28 15:29 ?69次下載

    MCP2515在CAN總線系統(tǒng)智能節(jié)點(diǎn)的應(yīng)用

    CAN總線上的智能節(jié)點(diǎn)是網(wǎng)絡(luò)上報(bào)文的接收和發(fā)送站,一般由單片機(jī)和可編程的CAN通信控制器組成。本
    發(fā)表于 06-26 10:38 ?140次下載

    基于CAN總線的高低溫試驗(yàn)箱監(jiān)控系統(tǒng)

    本文介紹了一個(gè)基于CAN總線的高低溫試驗(yàn)箱監(jiān)控系統(tǒng),其特點(diǎn)在于應(yīng)用CAN總線進(jìn)行信息傳遞。文中較詳細(xì)的介紹了以
    發(fā)表于 08-05 16:52 ?30次下載

    基于LPC2148和MCP2510的高速USB-CAN

    本文介紹了基于LPC2148和MCP2510的USB-CAN接口卡。LPC2148是基于ARM7TDMI-S核的微控制器,處理速度高,內(nèi)置USB2.0全速
    發(fā)表于 02-25 11:47 ?35次下載

    CAN智能節(jié)點(diǎn)的設(shè)計(jì)

    摘要:CAN總線是一種流行的實(shí)時(shí)性現(xiàn)場總線,文中提出了一種基于MSP430單片機(jī),并以MCP2510CAN
    發(fā)表于 03-24 12:46 ?1377次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>智能</b><b class='flag-5'>節(jié)點(diǎn)</b>的設(shè)計(jì)

    MCP2510使用范例程序及線路

    為使 User 能快速地熟悉如何使用 MCP2510 來完成 CAN 控制網(wǎng)路的設(shè)計(jì), Microchip Technology Taiwan 提供此 DEMO 程式及參考電路與大家分享. 此程式 (EVM
    發(fā)表于 04-28 15:11 ?213次下載

    基于雙層CAN總線的聲納數(shù)據(jù)通信系統(tǒng)

    系統(tǒng)以PIC18F4580單片機(jī)作為中間控制器,利用自身集成的CAN控制器與各采集單元節(jié)點(diǎn)進(jìn)行通信,通過外部擴(kuò)展
    發(fā)表于 02-07 12:01 ?43次下載
    基于雙層<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的聲納數(shù)據(jù)通信<b class='flag-5'>系統(tǒng)</b>

    基于CAN總線智能節(jié)點(diǎn)設(shè)計(jì)

    應(yīng)用51單片機(jī)為控制核心結(jié)合其他的器件設(shè)計(jì)了一種能連接于CAN總線上的智能節(jié)點(diǎn)。通過單片機(jī)控制
    發(fā)表于 01-10 16:54 ?120次下載

    MCP2515在CAN總線系統(tǒng)智能節(jié)點(diǎn)的應(yīng)用

    CAN總線上的智能節(jié)點(diǎn)是網(wǎng)絡(luò)上報(bào)文的接收和發(fā)送站一般由單片機(jī)和可編程的通信控制器組成 本文介紹了一種新型的獨(dú)立
    發(fā)表于 04-01 09:41 ?0次下載

    由單片機(jī)和CAN控制器MCP2510實(shí)現(xiàn)CAN總線系統(tǒng)智能節(jié)點(diǎn)的設(shè)計(jì)

    MCP25l0是Microchip公司生產(chǎn)的一種獨(dú)立的可編程CAN控制器芯片。本文將介紹新型的獨(dú)立CAN通信控制器
    的頭像 發(fā)表于 09-26 08:01 ?3569次閱讀
    由單片機(jī)和<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b><b class='flag-5'>MCP2510</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>智能</b><b class='flag-5'>節(jié)點(diǎn)</b>的設(shè)計(jì)

    采用單片機(jī)和MCP2510、MCP2551芯片設(shè)計(jì)集散型火災(zāi)報(bào)警控制系統(tǒng)

    本文提出的基于CAN現(xiàn)場總線的集散型火災(zāi)報(bào)警控制系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,每個(gè)節(jié)點(diǎn)都以AT89C51單片機(jī)為節(jié)點(diǎn)
    發(fā)表于 01-10 16:48 ?5295次閱讀
    采用單片機(jī)和<b class='flag-5'>MCP2510</b>、<b class='flag-5'>MCP</b>2551芯片設(shè)計(jì)集散型火災(zāi)報(bào)警<b class='flag-5'>控制系統(tǒng)</b>

    如何使用FPGA和CAN控制器MCP2515實(shí)現(xiàn)慣導(dǎo)系統(tǒng)CAN總線接口的設(shè)計(jì)

    接口控制新型的CAN 控制器MCP2515,使慣導(dǎo)系統(tǒng)不僅具備了接入CAN
    發(fā)表于 01-27 15:52 ?17次下載
    如何使用FPGA和<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b><b class='flag-5'>MCP</b>2515<b class='flag-5'>實(shí)現(xiàn)</b>慣導(dǎo)<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>接口的設(shè)計(jì)

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 最近2018中文字幕免费看2019 | 钻石午夜影院 | 一区二区三区视频 | 国产精品漂亮美女在线观看 | 欧美xxx另类| 91大神大战高跟丝袜美女 | 日日操夜夜 | 国模大尺度人体一区 | 午夜肉伦伦影院 | 性欧美激情在线观看 | 欧美日韩在线成人免费 | 美女写真福利视频 | 国产精品乳摇在线播放 | 在线观看一区二区三区视频 | 婷婷综合亚洲 | 成人精品视频一区二区三区 | 国产免费高清福利拍拍拍 | 奇米影视7777久久精品 | 日本不卡视频在线 | 日本免费不卡视频 | 色视频网站在线观看 | 丁香六月激情婷婷 | 欧美一级高清片欧美国产欧美 | 一区不卡在线观看 | 亚洲综合色dddd26 | 免费看美女午夜大片 | 欧美日韩国产一区 | 色天天网 | 日本黄色片免费看 | 日本韩国做暖暖小视频 | 亚洲天堂视频一区 | 手机看片福利日韩 | 免费的两性视频网站 | 精品国产麻豆免费人成网站 | 五月天婷婷一区二区三区久久 | 可以免费观看的一级毛片 | 真人实干一级毛片aa免费 | 色狠狠网 | 国产全部理论片线观看 | 国产在线成人一区二区 | 一个色亚洲 |