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

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

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

CAN總線的特點(diǎn)和FPGA實(shí)現(xiàn)

OpenFPGA ? 來(lái)源:OpenFPGA ? 2024-01-05 09:40 ? 次閱讀

這里我們先逆推一下CAN總線的一些特點(diǎn)。

第一,CAN總線分層結(jié)構(gòu)

我們根據(jù)can總線具有的一些特性可知:CAN總線肯定具有分層結(jié)構(gòu),而且參考OSI模型(OSI參考模型介紹)是肯定的,我們可以看一下相關(guān)的文檔可知:CAN遵從OSI模型。

上面這一點(diǎn)大部分人都是熟知的。

第二、CAN總線分為哪幾層

根據(jù)《FPGAUSB3.0通信-USB3.0協(xié)議介紹》中總線、協(xié)議、接口關(guān)系可知:

75189944-ab62-11ee-8b88-92fbcf53809c.png

CAN總線內(nèi)容整體比較簡(jiǎn)單(相對(duì)),肯定沒(méi)有USB、PCIe協(xié)議這種復(fù)雜,也就是說(shuō)CAN總線的分層結(jié)構(gòu)不會(huì)超過(guò)三層;但是相對(duì)UART這種又復(fù)雜些,分層結(jié)構(gòu)肯定大于一層。

我們大致判斷CAN總線差不多是兩層左右的分層結(jié)構(gòu),由于是總線,所以會(huì)規(guī)定物理層和數(shù)據(jù)鏈路層。從官方協(xié)議中可知:CAN結(jié)構(gòu)劃分為兩層:數(shù)據(jù)鏈路層和物理層。

75284b96-ab62-11ee-8b88-92fbcf53809c.png

為什么要介紹分層結(jié)構(gòu)

經(jīng)??次椅恼碌膽?yīng)該知道,不管哪種協(xié)議我都會(huì)首先介紹這種結(jié)構(gòu)的分層結(jié)構(gòu),那么很多人都會(huì)疑問(wèn):裝什么B,好好介紹協(xié)議不行嗎?

從各種協(xié)議的官方而言,他們遵循OSI參考模型是為了方便自己協(xié)議的維護(hù)和擴(kuò)展,不然他們也不會(huì)傻到遵循一個(gè)參考模型(又不是強(qiáng)制規(guī)定)。對(duì)我們而言,這種分層結(jié)構(gòu)更容易理解,不管簡(jiǎn)單協(xié)議還是復(fù)雜協(xié)議我們都可以根據(jù)前一個(gè)理解的協(xié)議去理解下一個(gè)協(xié)議(每一層的功能類似),不會(huì)讓我們初識(shí)一種接口或者協(xié)議就要抱著協(xié)議或者SPEC啃幾個(gè)月才能理解。

最后就是當(dāng)你要用這種總線或者接口時(shí)方便制作方案,比如現(xiàn)在我要用FPGA實(shí)現(xiàn)CAN通信,我們需要根據(jù)FPGA的特點(diǎn)選擇各種方案,各種方案的區(qū)別就是其他廠商在制作IC時(shí)制作了哪一層的芯片,下圖中就是我們實(shí)現(xiàn)CAN通信的整體方案:

76d24316-ab62-11ee-8b88-92fbcf53809c.png

CAN總線拓?fù)鋱D 改編自官方總線協(xié)議

這張拓?fù)鋱D其實(shí)是參考CAN總線的分層結(jié)構(gòu),主要分為數(shù)據(jù)鏈路層和物理層,這種方案主要是分局目前市場(chǎng)上存在的CAN相關(guān)IC(IC的設(shè)計(jì)肯定是根據(jù)CAN總線的SPEC,存在的原因也是基于此)。

FPGA實(shí)現(xiàn)方案簡(jiǎn)介

76d24316-ab62-11ee-8b88-92fbcf53809c.png

還是這張拓?fù)鋱D,因?yàn)镃AN總線的物理層包含模擬電路部分,所以CAN收發(fā)器一般使用外掛;而CAN控制器是可以利用數(shù)字電路實(shí)現(xiàn),所以我們?cè)谠O(shè)計(jì)方案時(shí)可以根據(jù)上述特點(diǎn)實(shí)現(xiàn)我們的方案。

第一種:FPGA+CAN收發(fā)器

控制器使用數(shù)字電路實(shí)現(xiàn)即可。

第二種:FPGA+CAN控制器+CAN收發(fā)器(收發(fā)+控制可以放在一起芯片內(nèi))

這種方案最簡(jiǎn)單。常見(jiàn)的芯片方案Microchip MCP25625(SPI轉(zhuǎn)CAN)

上面就是Digilent出品的PMOD CAN模塊,原理圖可以參考。

76fa5ca2-ab62-11ee-8b88-92fbcf53809c.png

CAN總線協(xié)議

關(guān)于協(xié)議這里就不過(guò)多介紹了,分享官方文檔的中文翻譯。

審核編輯:湯梓紅

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

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

    關(guān)注

    145

    文章

    1898

    瀏覽量

    130333
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8254

    瀏覽量

    149942
  • 總線協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

    14811

原文標(biāo)題:【科普】CAN總線介紹及FPGA實(shí)現(xiàn)方案簡(jiǎn)介

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGACAN總線通信系統(tǒng)

    基于FPGACAN總線通信系統(tǒng)為了克服單片機(jī)固有的缺陷, 滿足航天控制的需求, 文章提出了如何利用FPGA采用查詢的方式控制CAN控制器S
    發(fā)表于 08-11 11:55

    CAN總線是什么?CAN總線具有哪些特點(diǎn)

    端口復(fù)用和端口重映射是一回事嗎?CAN總線是什么?CAN總線具有哪些特點(diǎn)?
    發(fā)表于 11-08 06:48

    CAN總線特點(diǎn)

    CAN特點(diǎn)CAN 協(xié)議具有以下特點(diǎn)。(1) 多主控制在總線空閑時(shí),所有的單元都可開(kāi)始發(fā)送消息(多主控制)。最先訪問(wèn)
    發(fā)表于 07-19 21:23 ?4311次閱讀

    基于CAN總線的變頻設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)的實(shí)現(xiàn)

    基于CAN總線的變頻設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)的實(shí)現(xiàn) CAN總線介紹: CAN
    發(fā)表于 10-10 08:56 ?738次閱讀
    基于<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的變頻設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)的<b class='flag-5'>實(shí)現(xiàn)</b>

    FPGA實(shí)現(xiàn)CAN總線通信節(jié)點(diǎn)設(shè)計(jì)

    基于對(duì)CAN 總線控制器的功能分析, 并應(yīng)用Verilog語(yǔ)言進(jìn)行軟件設(shè)計(jì), 從而實(shí)現(xiàn)CAN節(jié)點(diǎn)之間的通信功能。
    發(fā)表于 04-28 09:56 ?1.4w次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>CAN</b><b class='flag-5'>總線</b>通信節(jié)點(diǎn)設(shè)計(jì)

    基于FPGACAN總線通信系統(tǒng)

    基于FPGACAN總線通信系統(tǒng),下來(lái)看看。
    發(fā)表于 05-10 11:47 ?35次下載

    FPGA實(shí)現(xiàn)CAN總線控制器源碼

    Xilinx FPGA工程例子源碼:FPGA實(shí)現(xiàn)CAN總線控制器源碼
    發(fā)表于 06-07 14:13 ?91次下載

    基于FPGA的VME總線CAN總線之間的傳輸轉(zhuǎn)換方案設(shè)計(jì)

    為了擴(kuò)展VME總線CAN總線的應(yīng)用范圍,充分利用兩種總線的不同傳輸特點(diǎn),采用了模塊設(shè)計(jì)方法,提出一種基于
    發(fā)表于 07-17 10:11 ?3604次閱讀
    基于<b class='flag-5'>FPGA</b>的VME<b class='flag-5'>總線</b>和<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>之間的傳輸轉(zhuǎn)換方案設(shè)計(jì)

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

    CAN 總線是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,它廣泛應(yīng)用于工業(yè)自動(dòng)化監(jiān)控網(wǎng)絡(luò)中。為了靈活使用CAN 總線,本文提出了一種新的
    發(fā)表于 01-27 15:52 ?17次下載
    如何使用<b class='flag-5'>FPGA</b>和<b class='flag-5'>CAN</b>控制器MCP2515<b class='flag-5'>實(shí)現(xiàn)</b>慣導(dǎo)系統(tǒng)的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>接口的設(shè)計(jì)

    CAN總線的雙絞線及光纖傳輸

    對(duì)信號(hào)源時(shí)鐘提取的要求以及CAN總線的非破壞性總線仲裁的特點(diǎn),設(shè)計(jì)了一種CAN總線信號(hào)編解碼方法
    發(fā)表于 04-20 10:24 ?33次下載

    CAN總線的8個(gè)特點(diǎn)

    CAN總線的8個(gè)特點(diǎn)介紹說(shuō)明。
    發(fā)表于 04-20 13:58 ?7次下載

    CAN總線特點(diǎn)FPGA實(shí)現(xiàn)

    【科普】CAN總線介紹及FPGA實(shí)現(xiàn)方案簡(jiǎn)介 這里我們先逆推一下CAN總線的一些
    的頭像 發(fā)表于 11-18 16:35 ?5770次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>特點(diǎn)</b>及<b class='flag-5'>FPGA</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    如何用FPGA實(shí)現(xiàn)CAN總線通信控制器

    CAN 總線插卡可以任意插在 PC AT XT 兼容機(jī)上,方便地構(gòu)成分布式監(jiān)控系統(tǒng)。因此,用 FPGA 實(shí)現(xiàn) CAN
    發(fā)表于 07-29 09:43 ?2604次閱讀

    基于FPGACAN總線控制器的設(shè)計(jì)

    今天給大俠帶來(lái)基于FPGACAN總線控制器的設(shè)計(jì),由于篇幅較長(zhǎng),分三篇。今天帶來(lái)第一篇,上篇,CAN 總線協(xié)議解析以及
    的頭像 發(fā)表于 05-18 09:21 ?1151次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>控制器的設(shè)計(jì)

    基于FPGACAN總線通信節(jié)點(diǎn)設(shè)計(jì)

    點(diǎn)擊上方 藍(lán)字 關(guān)注我們 摘要:以FPGA 代替?zhèn)鹘y(tǒng)的單片機(jī)和外圍擴(kuò)展芯片, 給出了CAN 總線通信節(jié)點(diǎn)的詳細(xì)設(shè)計(jì)方案。其中以SJA1000為CAN
    的頭像 發(fā)表于 06-18 11:15 ?2611次閱讀