吴忠躺衫网络科技有限公司

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

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

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

基于FPGA的輕量級(jí)CAN總線控制器

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

0、CAN總線介紹

7a9b6af4-ab62-11ee-8b88-92fbcf53809c.png

1、CAN權(quán)威文檔

CAN總線有兩個(gè)ISO國(guó)際標(biāo)準(zhǔn):ISO11898 和 ISO11519。其中:

ISO11898 定義了通信速率為 125 kbps~1 Mbps 的高速 CAN 通信標(biāo)準(zhǔn),屬于閉環(huán)總線,傳輸速率可達(dá)1Mbps,總線長(zhǎng)度 ≤ 40米。

ISO11519 定義了通信速率為 10~125 kbps 的低速 CAN 通信標(biāo)準(zhǔn),屬于開(kāi)環(huán)總線,傳輸速率為40kbps時(shí),總線長(zhǎng)度可達(dá)1000米。

ISO 11898 文檔在這里

3、【小梅哥FPGA】使用FPGA實(shí)現(xiàn)CAN通信的例子(NIOS+CAN IP)

這是小梅哥FPGA開(kāi)發(fā)板上的實(shí)例,之所以放到第一個(gè)是因?yàn)檫@是目前FPGA實(shí)現(xiàn)CAN通信的比較完美的解決方案,單純使用硬件描述語(yǔ)言的IP,會(huì)有一些不可預(yù)知的BUG,但是使用軟核處理器是比較完美的。

7ac35e2e-ab62-11ee-8b88-92fbcf53809c.png

上圖就是整個(gè)項(xiàng)目的系統(tǒng)方案,也很好理解,就不過(guò)多贅述了。

SJA100就是CAN控制器

VP230就是CAN收發(fā)器

PS:代碼在上訴鏈接中。

4、liteCAN

基于 FPGA 的輕量級(jí)CAN總線控制器

7ad2cabc-ab62-11ee-8b88-92fbcf53809c.png

此項(xiàng)目實(shí)現(xiàn)的是CAN控制器,CAN收發(fā)器還是需要外掛。

簡(jiǎn)介

CAN總線作為工業(yè)和汽車(chē)領(lǐng)域最常用的通信總線,具有拓?fù)浣Y(jié)構(gòu)簡(jiǎn)潔、可靠性高、傳輸距離長(zhǎng)等優(yōu)點(diǎn)。CAN總線的非破壞性仲裁機(jī)制依賴(lài)于幀ID,CAN2.0A和CAN2.0B分別規(guī)定了11bit-ID(短ID) 的標(biāo)準(zhǔn)幀和29bit-ID(長(zhǎng)ID) 的擴(kuò)展幀,另外,還有遠(yuǎn)程幀這種數(shù)據(jù)請(qǐng)求機(jī)制。關(guān)于CAN總線的更多知識(shí)可以參考這個(gè)科普文章。

CAN總線的復(fù)雜機(jī)制決定了控制器設(shè)計(jì)的復(fù)雜性。本庫(kù)實(shí)現(xiàn)了一個(gè)輕量化但完備的CAN控制器,特點(diǎn)如下:

本地ID可固定配置為任意短ID。

發(fā)送 : 僅支持以本地ID發(fā)送數(shù)據(jù)長(zhǎng)度為4Byte的幀。

接收 : 支持接收短ID或長(zhǎng)ID的幀,接收幀的數(shù)據(jù)長(zhǎng)度沒(méi)有限制 (即支持 0~8Byte ) 。

接收幀過(guò)濾 : 可針對(duì)短ID和長(zhǎng)ID獨(dú)立設(shè)置過(guò)濾器,只接收和過(guò)濾器匹配的數(shù)據(jù)幀。

自動(dòng)響應(yīng)遠(yuǎn)程幀 : 當(dāng)收到的遠(yuǎn)程幀與本地ID匹配時(shí),自動(dòng)將發(fā)送緩存中的下一個(gè)數(shù)據(jù)發(fā)送出去。若緩存為空,則重復(fù)發(fā)送上次發(fā)過(guò)的數(shù)據(jù)。

平臺(tái)無(wú)關(guān) :純 RTL 編寫(xiě) (SystemVerilog),可以在 Altera 和 Xilinx 等各種 FPGA 上運(yùn)行。

設(shè)計(jì)文件說(shuō)明

設(shè)計(jì)相關(guān)的4個(gè)文件在 RTL 文件夾中,各文件功能如下表。你只需將以上4個(gè)文件包含進(jìn)工程,就可以調(diào)用can_top.sv進(jìn)行更高層次的CAN通信業(yè)務(wù)的二次開(kāi)發(fā)。

7ae6837c-ab62-11ee-8b88-92fbcf53809c.png

此項(xiàng)目非常完整,項(xiàng)目由中文說(shuō)明,完備的TB及測(cè)試方案。

5、CAN-fpga

項(xiàng)目沒(méi)有任何介紹,看文件結(jié)構(gòu),是基于Quartus II建立的,結(jié)構(gòu)和上一項(xiàng)目完全沒(méi)什么區(qū)別。整個(gè)項(xiàng)目應(yīng)該是完備的,有興趣可以看看。

6、sja1000

這個(gè)就是Verilog編寫(xiě)的外掛SJA100的驅(qū)動(dòng)程序,這里就不過(guò)多介紹了。

7、Click_MCP25625

這是MCP25625(控制器+收發(fā)器集合)的SPI驅(qū)動(dòng)(ARM單片機(jī)的)。

這個(gè)項(xiàng)目和這個(gè)功能一樣,就不展開(kāi)描述了。

USB-CAN(調(diào)試?yán)鳎?/p>

因?yàn)楸酒跊](méi)幾個(gè)開(kāi)源項(xiàng)目,所以這里在推薦幾個(gè)開(kāi)源的USB-CAN方案,大部分都是可以直接打板使用的。

一、stm32f0 + CAN收發(fā)器TJA1051/3

ta有完全開(kāi)源的軟硬件及上位機(jī)支持,支持windos和linux Stock can并且都免驅(qū)哦。且支持Python

7ba796c0-ab62-11ee-8b88-92fbcf53809c.png7bbdd2fa-ab62-11ee-8b88-92fbcf53809c.png

上述的方案某寶上也有成品。

7bda4c46-ab62-11ee-8b88-92fbcf53809c.png

二、KS22方案

7bf24e68-ab62-11ee-8b88-92fbcf53809c.png7c128be2-ab62-11ee-8b88-92fbcf53809c.png

相關(guān)文檔及上位機(jī):

三、open-usb-can

7c35def8-ab62-11ee-8b88-92fbcf53809c.png

文檔很完備。

該項(xiàng)目是基于 ATMega32U2 和 MCP2515 SPI CANBus 控制器的 USB 轉(zhuǎn) CANBus 接口

最后,還是感謝各個(gè)大佬開(kāi)源的項(xiàng)目,讓我們受益匪淺。后面有什么感興趣方面的項(xiàng)目,大家可以在后臺(tái)留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見(jiàn)。

7c46c15a-ab62-11ee-8b88-92fbcf53809c.jpg

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    1630

    文章

    21797

    瀏覽量

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

    關(guān)注

    145

    文章

    1955

    瀏覽量

    131096
  • CAN通信
    +關(guān)注

    關(guān)注

    5

    文章

    94

    瀏覽量

    17943
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110396

原文標(biāo)題:優(yōu)秀的 Verilog/FPGA開(kāi)源項(xiàng)目介紹(七)- CAN通信

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CAN總線控制器Verilog代碼

    CAN總線控制器Verilog代碼
    發(fā)表于 05-20 10:32 ?168次下載

    基于CAN總線的客房通信控制器的設(shè)計(jì)

    本文針對(duì)賓館、酒店的客房控制和管理系統(tǒng),介紹了基于CAN 總線的客房通信控制器的硬件電路結(jié)構(gòu)、原理及軟件結(jié)構(gòu)和主程序流程。關(guān)鍵詞:CAN
    發(fā)表于 06-13 12:06 ?13次下載

    基于STM32和FPGACAN總線運(yùn)動(dòng)控制器的設(shè)計(jì)

    運(yùn)用低功耗C0rtex-M3微控制器STM32F103VBT6和FPGA芯片設(shè)計(jì)一種基于CAN總線的運(yùn)動(dòng)控制器。介紹系統(tǒng)的體系結(jié)構(gòu)、主要硬件
    發(fā)表于 01-31 14:33 ?45次下載
    基于STM32和<b class='flag-5'>FPGA</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>運(yùn)動(dòng)<b class='flag-5'>控制器</b>的設(shè)計(jì)

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

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

    基于FPGACAN控制器MCP2515設(shè)計(jì)慣導(dǎo)系統(tǒng)的CAN總線

    接口控制新型的CAN 控制器MCP2515,使慣導(dǎo)系統(tǒng)不僅具備了接入CAN 總線的能力,而且在系統(tǒng)實(shí)現(xiàn)之后,節(jié)點(diǎn)可以根據(jù)現(xiàn)場(chǎng)應(yīng)用提出的新要
    發(fā)表于 07-13 17:43 ?0次下載

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

    基于DSP_FPGACAN總線的跟蹤控制器設(shè)計(jì)
    發(fā)表于 10-21 08:52 ?5次下載
    基于DSP_<b class='flag-5'>FPGA</b>與<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>的跟蹤<b class='flag-5'>控制器</b>設(shè)計(jì)

    基于FPGACAN總線控制器SJA1000軟核的設(shè)計(jì)方案解析

    單片機(jī),實(shí)現(xiàn)與CAN控制器的通信聯(lián)絡(luò)。FPGA/SOPC技術(shù)是實(shí)現(xiàn)嵌入式系統(tǒng)的最高形式,基于IP軟核的設(shè)計(jì)與應(yīng)用也必將成為替代硬核的一種發(fā)展趨勢(shì)。憑借QuartuslI和NiosII工具,基于
    發(fā)表于 12-07 11:20 ?30次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b><b class='flag-5'>控制器</b>SJA1000軟核的設(shè)計(jì)方案解析

    如何使用FPGA進(jìn)行CAN控制器軟核的設(shè)計(jì)與實(shí)現(xiàn)

    和Altera 公司部分FPGA 上的資源利用和性能情況。此外,基于SOPC技術(shù)將處理軟核和CAN 控制器軟核集成在單片FPGA 中,構(gòu)建
    發(fā)表于 07-19 17:48 ?25次下載
    如何使用<b class='flag-5'>FPGA</b>進(jìn)行<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>軟核的設(shè)計(jì)與實(shí)現(xiàn)

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

    接口控制新型的CAN 控制器MCP2515,使慣導(dǎo)系統(tǒng)不僅具備了接入CAN 總線的能力,而且在系統(tǒng)實(shí)現(xiàn)之后,節(jié)點(diǎn)可以根據(jù)現(xiàn)場(chǎng)應(yīng)用提出的新要
    發(fā)表于 01-27 15:52 ?17次下載
    如何使用<b class='flag-5'>FPGA</b>和<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>MCP2515實(shí)現(xiàn)慣導(dǎo)系統(tǒng)的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>接口的設(shè)計(jì)

    如何用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 ?2829次閱讀

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

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

    CAN總線控制器是什么意思

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

    CAN總線控制器的工作原理

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

    如何選擇CAN總線控制器

    在現(xiàn)代工業(yè)自動(dòng)化和汽車(chē)電子領(lǐng)域,CAN(Controller Area Network)總線因其高可靠性、實(shí)時(shí)性和靈活性而成為廣泛使用的通信協(xié)議之一。選擇合適的CAN總線
    的頭像 發(fā)表于 11-12 09:48 ?357次閱讀
    百家乐官网U盘下载| 澳门顶级赌场国际| 总玩百家乐官网有赢的吗| 金尊国际娱乐城| 百家乐娱乐平台真钱游戏| 鑫鼎百家乐官网娱乐城| 布拖县| 百家乐注册下注平台| 缅甸百家乐官网赌博现场下载 | 鹤岗市| 大发888小陆| 百家乐开发软件| 百家乐官网押注方法| 百家乐官网网上赌博| 大发888新网址| 百家乐娱乐平台代理佣金| 百家乐开户送百元| 缅甸百家乐官网网站是多少| 威尼斯人娱乐城线路lm0| 网上百家乐网站导航| 利都百家乐官网国际娱乐| 永利高百家乐官网网址| 同城乐| 大发888游戏在线客服| 百家乐赌博筹码大不大| 做生意的风水朝向| 圆梦城百家乐官网娱乐城| 百家乐官网赢的秘诀| 威尼斯人娱乐| 大发888登录器下载| 明溪百家乐的玩法技巧和规则 | 宾利百家乐官网现金网| 金濠国际| 大发888的概述| 百家乐是个什么样的游戏 | 大众百家乐的玩法技巧和规则| 娱乐城百家乐高手| 利博百家乐官网的玩法技巧和规则 | 皇冠网小说网站网址| 蜀都棋牌下载| 载大发888软件|