RM新时代网站-首页

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

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

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

優(yōu)秀的Verilog/FPGA開源項(xiàng)目開發(fā)-CAN通信篇

FPGA技術(shù)江湖 ? 來源:OpenFPGA ? 2024-02-22 09:32 ? 次閱讀

0、CAN總線介紹

《【科普】CAN總線介紹及FPGA實(shí)現(xiàn)方案簡介》

d4ac115a-d110-11ee-a297-92fbcf53809c.png

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

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

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

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

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

?

https://bbs.elecfans.com/jishu_1385802_1_1.html

?

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

d4d6fe38-d110-11ee-a297-92fbcf53809c.png

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

SJA100就是CAN控制器;

VP230就是CAN收發(fā)器。

PS:代碼在上訴鏈接中。

4、liteCAN

?

https://github.com/WangXuan95/liteCAN

?

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

d4e600b8-d110-11ee-a297-92fbcf53809c.png

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

簡介

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

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

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

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

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

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

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

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

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

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

d4ef6aae-d110-11ee-a297-92fbcf53809c.png

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

5、CAN-fpga

?

https://github.com/AlxyF/CAN-fpga

?

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

6、sja1000

?

https://github.com/zhaotliang/sja1000

?

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

7、Click_MCP25625

?

https://github.com/MikroElektronika/Click_MCP25625

?

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

d5078f6c-d110-11ee-a297-92fbcf53809c.png

?

https://github.com/UberLambda/CANnuccia

?

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

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

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

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

?

https://canable.io/

?

?

https://codechina.csdn.net/mirrors/HubertD/candleLight?utm_source=csdn_github_accelerator

?

?

https://github.com/HubertD/candleLight/blob/master/export/v1.1/pdf/candleLight-v1.1.pdf

?

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

d514481a-d110-11ee-a297-92fbcf53809c.pngd528b552-d110-11ee-a297-92fbcf53809c.png

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

d543a876-d110-11ee-a297-92fbcf53809c.png

二、KS22方案

?

http://bbs.eeworld.com.cn/thread-491860-1-1.html

?

d558dea8-d110-11ee-a297-92fbcf53809c.png

d57157b2-d110-11ee-a297-92fbcf53809c.png

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

三、open-usb-can

?

https://github.com/fabiobaltieri/open-usb-can

?

d588efd0-d110-11ee-a297-92fbcf53809c.png

文檔很完備。

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

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

d5956ab2-d110-11ee-a297-92fbcf53809c.jpg





審核編輯:劉清

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

    關(guān)注

    10

    文章

    3424

    瀏覽量

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

    關(guān)注

    145

    文章

    1946

    瀏覽量

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

    關(guān)注

    5

    文章

    93

    瀏覽量

    17829
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    941

    瀏覽量

    54790
  • STM32F0
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    17102

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

文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Verilog vhdl fpga

    崗位職責(zé) 1.負(fù)責(zé)FPGA的架構(gòu)設(shè)計(jì)、代碼編寫、仿真等; 2.協(xié)同軟、硬件工程師完成系統(tǒng)聯(lián)調(diào)和測(cè)試; 3.負(fù)責(zé)項(xiàng)目FPGA設(shè)計(jì)的相關(guān)文檔編寫及維護(hù);任職要求 1.碩士及以上學(xué)歷,電子、通信
    發(fā)表于 11-12 16:40

    FPGA開發(fā)Verilog HDL例程說明

    開發(fā)板適合零基礎(chǔ)在校的學(xué)生,同時(shí)也能夠?yàn)楣こ處煹?b class='flag-5'>項(xiàng)目提供幫助,里面豐富的Verilog HDL例程同時(shí)具有工程參考價(jià)值,從工程中總結(jié)得到。從基礎(chǔ)到高級(jí)
    發(fā)表于 02-27 22:34

    【小梅哥FPGA】使用FPGA實(shí)現(xiàn)CAN通信的例子和詳細(xì)使用說明(NIOS+CAN IP)

    附件為使用FPGA實(shí)現(xiàn)兩路CAN接口進(jìn)行回環(huán)通信的工程文件。包含詳細(xì)的工程使用說明文檔。在小梅哥的Starter FPGA開發(fā)板上驗(yàn)證通過,
    發(fā)表于 09-22 22:42

    AD936x+ZYNQ搭建OpenWIFI 精選資料分享

    之前推薦過GitHub上優(yōu)秀開源項(xiàng)目《Github 上有哪些優(yōu)秀的 VHDL/Verilog/FPGA
    發(fā)表于 07-20 07:03

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

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

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

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

    優(yōu)秀Verilog/FPGA開源項(xiàng)目介紹(一)

    優(yōu)秀Verilog/FPGA開源項(xiàng)目介紹(一)-PCIe通信 今天開始會(huì)陸續(xù)介紹一些
    的頭像 發(fā)表于 10-11 15:31 ?9283次閱讀
    <b class='flag-5'>優(yōu)秀</b>的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>介紹(一)

    優(yōu)秀Verilog/FPGA開源項(xiàng)目之 USB通信

    優(yōu)秀Verilog/FPGA開源項(xiàng)目介紹(五)- USB通信 USB是我們生活中非常非常常見
    的頭像 發(fā)表于 11-02 14:54 ?8767次閱讀
    <b class='flag-5'>優(yōu)秀</b>的 <b class='flag-5'>Verilog</b>/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>之 USB<b class='flag-5'>通信</b>

    Verilog/FPGA開源項(xiàng)目介紹

    優(yōu)秀Verilog/FPGA開源項(xiàng)目介紹(七)- CAN0、
    的頭像 發(fā)表于 11-17 11:19 ?3069次閱讀

    AD936x+ZYNQ搭建OpenWIFI

    之前推薦過GitHub上優(yōu)秀開源項(xiàng)目《Github 上有哪些優(yōu)秀的 VHDL/Verilog/FPGA
    發(fā)表于 12-04 12:21 ?13次下載
    AD936x+ZYNQ搭建OpenWIFI

    TTL FPGA開源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《TTL FPGA開源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 07-28 10:18 ?3次下載
    TTL <b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>

    CAN BUS分線器開源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《CAN BUS分線器開源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 08-04 15:17 ?4次下載
    <b class='flag-5'>CAN</b> BUS分線器<b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>

    優(yōu)秀的IC/FPGA開源項(xiàng)目:偽紅外圖像處理

    優(yōu)秀的IC/FPGA開源項(xiàng)目》是新開的系列,旨在介紹單一項(xiàng)目,會(huì)比《優(yōu)秀
    的頭像 發(fā)表于 06-09 09:42 ?2222次閱讀
    <b class='flag-5'>優(yōu)秀</b>的IC/<b class='flag-5'>FPGA</b><b class='flag-5'>開源</b><b class='flag-5'>項(xiàng)目</b>:偽紅外圖像處理

    基于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 ?2954次閱讀

    Verilog 測(cè)試平臺(tái)設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog測(cè)試平臺(tái)設(shè)計(jì)方法是Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的
    的頭像 發(fā)表于 12-17 09:50 ?119次閱讀
    RM新时代网站-首页