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

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

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

【產(chǎn)品應(yīng)用】MX2000上如何拓展CAN接口?

ZLG致遠(yuǎn)電子 ? 2023-06-22 10:02 ? 次閱讀

MX2000平臺接口雖然豐富,但其本身不具備CAN接口。如果在實際產(chǎn)品應(yīng)用中,需要使用到CAN接口的時候那該怎么辦呢?本文將以新產(chǎn)品MX2000核心板為例講述如何解決該問題。

cbc54d08-10a0-11ee-a579-dac502259ad0.jpg ?概述

MX2000平臺上不具備CAN接口,但可通過我司CSM300(A)系列SPI(UART)轉(zhuǎn)CAN模塊進(jìn)行拓展CAN接口。在實際產(chǎn)品應(yīng)用場景中如果需要使用CAN接口,則可以參考本文進(jìn)行拓展、測試、評估。


cbd943da-10a0-11ee-a579-dac502259ad0.jpg ?硬件準(zhǔn)備

  1. 硬件:MX2000-EV-Board評估板一塊、CSM300(A)模塊一個、CSM-Eval評估套件一個、連接線纜若干、電源等;
  2. 軟件:MX2000 SDK、CSM300(A)技術(shù)支持包等。


cbd943da-10a0-11ee-a579-dac502259ad0.jpg 硬件設(shè)計和連接使用SPI轉(zhuǎn)CAN功能時,需要將CSM300(A)的MODE引腳接至高電平(3.3V)。MCU的SPI接口與CSM300(A)的SPI接口連接,同時MCU需要提供GPIO與RST、INT、CTL0、CTL1引腳連接,實現(xiàn)對CSM300(A)的有效監(jiān)測與控制。若需要通過MCU對CSM300(A)進(jìn)行配置,則需要額外的GPIO與CFG引腳連接。圖1是CSM300A的參考電路。不使用的模塊引腳只需懸空而不用連接,以免因電路連接不當(dāng)從而造成模塊損壞。

cbfb7aae-10a0-11ee-a579-dac502259ad0.png

圖1CSM300參考電路圖如果僅需評估,則可以通過CSM-Eval評估套件將CSM300(A)和MX2000-EV-Board連接。CSM-Eval評估套件需要使用一路SPI接口和5個電平為3.3V的GPIO;MX2000-EV-Board在J28上引出了SPI1和若干個電平為3.3V的GPIO,具體接線可以參考表1所示。表1 CSM-Eval接MX2000-EV-Board引腳對應(yīng)表

CSM-Eval引腳

MX2000-EV-Board端引腳

CSM-Eval引腳

MX2000-EV-Board端引腳

SSEL

SSI1_CE0

CFG

PB27

SCK

SSI1_SCK

INT

PC20

MISO

SSI1_DI

CTL0

PB24

MOSI

SSI1_DO

CTL1

PB25

GND

GND

RST

PB26

VCC

3.3V


cbd943da-10a0-11ee-a579-dac502259ad0.jpg ?軟件改動1. 修改設(shè)備樹在設(shè)備樹中增加如下節(jié)點(diǎn):

&spi1 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&spi1_pe_normal>, <&spi1_pe_cs>; spi-max-frequency = <2000000>; num-cs = <1>; cs-gpios = <0>; ingenic,chnl = <0>; ingenic,allow_cs_same = <1>; ingenic,bus_num = <0>; ingenic,has_dma_support = <0>; ingenic,spi-src-clk = <1>;/*0.ext; 1.ssi*/
/delete-node/ spidev@0; // 刪除原有spidev節(jié)點(diǎn) csm300@0 { compatible = "zhiyuan,csm300"; status = "okay"; spi-max-frequency = <1000000>; reg = <0>; gpios = <&gpb 24 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* CTL0引腳 */ &gpb 25 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* CTL1引腳 */ &gpb 26 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* RST引腳 */ &gpb 27 GPIO_ACTIVE_LOW INGENIC_GPIO_NOBIAS /* CFG引腳 */ >; interrupt-parent = <&gpc>; interrupts = <20 IRQ_TYPE_LEVEL_LOW>; };};

2. 增加驅(qū)動并修改內(nèi)核配置

驅(qū)動文件請聯(lián)系FAE或者銷售工程師。將驅(qū)動文件csm300.c,放置于kernel/drivers/net/can/spi/文件夾下。并在該目錄的Makefile文件中加入以下內(nèi)容:

obj-$(CONFIG_CAN_CSM3XX) += csm300.o/*添加至文件末尾*/

同時在該目錄下的Kconfig文件中加入以下內(nèi)容:

config CAN_CSM3XX tristate "CSM3XX SPI CAN controllers" help Driver for CSM3XX SPI CAN controllers.

最后在menuconfig菜單中或defconfig配置文件中,打開對應(yīng)內(nèi)核配置,重新編譯內(nèi)核并燒錄到評估板中。

成功加載并且硬件連接無誤的情況下,會出現(xiàn)如下log打印。

[root@MX2000:~]# dmesg | grep csm[ 0.991286] csm300 check id response:[ 0.991356] csm300 spi0.0: csm300 check id succeed[ 0.991717] csm300 spi0.0 can0: csm300 successfully initialized.

如果硬件連接不正確,則會在初始化時候出現(xiàn)以下錯誤log打印。

cc48e7b2-10a0-11ee-a579-dac502259ad0.png

圖2CSM300(A)初始化錯誤LOG圖


cbd943da-10a0-11ee-a579-dac502259ad0.jpg ?性能測試

將CSM-Eval評估套件通過USB CAN卡USBCAN-4E-U和電腦連接,框圖如圖3所示。

cc784e6c-10a0-11ee-a579-dac502259ad0.png

圖3連接框圖參考以下命令,對CAN進(jìn)行配置:

[root@MX2000 ]# ip link set can0 down[root@MX2000 ]# ip link set can0 type can bitrate 1000000 #設(shè)定比特率[ 3205.411204] set bitrate is 1000000[root@MX2000 ]# ip link set can0 up #掛起can卡[ 3210.251020] csm300 check id response: [ 3210.251031] 0xf7 [ 3210.255100] 0xf8 [ 3210.257092] 0x2 [ 3210.259082] 0x13 [ 3210.260984] 0x1e [ 3210.451014] csm300 setup response: [ 3210.453010] 0xf7 [ 3210.456620] 0xf8 [ 3210.458610] 0x1 [ 3210.460599] 0x13 [ 3210.462498] 0x1d [ 3210.464486] csm300 setup succeed[root@MX2000 ]# echo 204800 > /sys/class/net/can0/tx_queue_len #設(shè)置發(fā)送隊列長度

MX2000端推薦使用以下命令進(jìn)行測試。其中-g 后面所帶參數(shù)代表間隔時間(單位:s),經(jīng)過測試會直接影響丟包率,最優(yōu)為0.1。

[root@MX2000 ]# cangen -g 0.1 -I 0x122 -L 8 -D i can0 -n 204800

電腦端使用ZCANPRO專業(yè)軟件進(jìn)行測試,得出結(jié)果在此幀率下丟包率為0%,如圖4所示。

cc8a7416-10a0-11ee-a579-dac502259ad0.png

圖4性能測試結(jié)果圖


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

    關(guān)注

    33

    文章

    8279

    瀏覽量

    150033
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2669

    瀏覽量

    462561
收藏 人收藏

    評論

    相關(guān)推薦

    CAN接口按鍵面板 控制面板 操作面板 #can總線 #按鍵面板 #灑水車

    CAN接口
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年09月09日 09:25:12

    CAN總線的接口類型

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

    芯力特車規(guī)TVS產(chǎn)品助力CAN/LIN通訊接口保護(hù)

    芯力特深耕車規(guī)CAN/LIN通訊接口芯片,在大量的客戶項目應(yīng)用中深入了解客戶需求后,推出了汽車級TVS防護(hù)器件,助力車規(guī)CAN/LIN通訊接口保護(hù)。該系列
    的頭像 發(fā)表于 07-02 08:07 ?273次閱讀
    芯力特車規(guī)TVS<b class='flag-5'>產(chǎn)品</b>助力<b class='flag-5'>CAN</b>/LIN通訊<b class='flag-5'>接口</b>保護(hù)

    如何使用CAN盒測出目標(biāo)CAN設(shè)備的波特率

    要使用CAN盒測出目標(biāo)CAN設(shè)備的波特率,可以按照以下步驟進(jìn)行: (1)硬件準(zhǔn)備: 準(zhǔn)備一個與目標(biāo)CAN設(shè)備兼容的CAN盒。 確保CAN盒的
    的頭像 發(fā)表于 06-26 16:41 ?521次閱讀

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

    NMEA 2000 是一種用于航海應(yīng)用的網(wǎng)絡(luò),采用 ISO 11898-2(CAN)標(biāo)準(zhǔn)。 11898-2 (CAN) 的加入反映了 CAN 總線作為 NMEA
    發(fā)表于 05-23 07:04

    CANoe總線接口硬件VN1640A實物展示與功能介紹#汽車CAN總線?

    總線接口CAN總線接口
    北匯信息POLELINK
    發(fā)布于 :2024年04月11日 10:50:36

    請問X-NUCLEO-NFC08A1 NFC讀卡器可以用CUBE-MX-NFC6或CUBE-MX-NFC7的擴(kuò)展包嗎?

    未找到X-NUCLEO-NFC08A1 NFC讀卡器對應(yīng)的CUBE-MX-NFC8拓展包,可以用CUBE-MX-NFC6或CUBE-MX-NFC7的擴(kuò)展包嗎?或者發(fā)一下CUBE-
    發(fā)表于 03-18 08:05

    應(yīng)用探討:二路CAN接口的定制

    控制器局域網(wǎng)(CAN)是博世的一種控制網(wǎng)絡(luò)協(xié)議,在工業(yè)自動化和汽車工業(yè)中得到了廣泛應(yīng)用。 客戶需要MCU實現(xiàn)兩路CAN接口,目前AG32已經(jīng)支持一路CAN
    發(fā)表于 01-29 13:37

    CAN和CANFD協(xié)議簡介(

    CAN和CANFD協(xié)議簡介(
    的頭像 發(fā)表于 01-26 08:06 ?609次閱讀
    <b class='flag-5'>CAN</b>和CANFD協(xié)議簡介(<b class='flag-5'>上</b>)

    CAN總線接口保護(hù)方案

    CAN總線的應(yīng)用范圍廣,應(yīng)用環(huán)境相當(dāng)復(fù)雜,一些靜電、浪涌等干擾很容易耦合到總線上,并直接作用于CAN總線接口。為了滿足一些高等級EMC的要求,有必要添加額外的外圍保護(hù)電路。CAN
    的頭像 發(fā)表于 01-13 08:27 ?589次閱讀
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>接口</b>保護(hù)方案

    can接口和485接口區(qū)別

    CAN接口和RS-485接口都是常見的工業(yè)通信接口,它們在功能和性能上有一些差異。以下是關(guān)于CAN接口
    的頭像 發(fā)表于 12-13 10:50 ?1.2w次閱讀

    CAN/CAN FD接口的ESD防護(hù)保護(hù)方案

      引言:ESD可能發(fā)生在任何有外露連接器的系統(tǒng),包括CAN總線接口,通常這些連接器在汽車裝配和維護(hù)時外露。例如在裝配一輛汽車時,需要將電纜布線與汽車中的控制模塊相連,這樣當(dāng)它們穿過工廠時,這些
    的頭像 發(fā)表于 11-14 17:23 ?4960次閱讀
    <b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> FD<b class='flag-5'>接口</b>的ESD防護(hù)保護(hù)方案

    MX2000核心板的功耗有多低?

    BGA封裝工藝是一種先進(jìn)的集成電路封裝技術(shù),它具有小尺寸、多引腳等特點(diǎn),能夠有效地提高芯片的集成度和性能。
    的頭像 發(fā)表于 11-10 10:05 ?521次閱讀

    還在為CAN接口不夠而發(fā)愁?全國產(chǎn)器件高性價比CAN接口擴(kuò)展芯片CSM330A滿足你

    。產(chǎn)品概述CSM330A支持通過SPI/UART擴(kuò)展出一路CAN接口,可以方便地嵌入到具有SPI或UART接口的設(shè)備中,產(chǎn)品效果圖如圖1所示
    的頭像 發(fā)表于 10-16 18:19 ?1167次閱讀
    還在為<b class='flag-5'>CAN</b><b class='flag-5'>接口</b>不夠而發(fā)愁?全國產(chǎn)器件高性價比<b class='flag-5'>CAN</b><b class='flag-5'>接口</b>擴(kuò)展芯片CSM330A滿足你

    mx580 mx580 ADI

    電子發(fā)燒友網(wǎng)為你提供ADI(ADI)mx580 mx580相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有mx580 mx580的引腳圖、接線圖、封裝手冊、中文
    發(fā)表于 10-11 19:18
    <b class='flag-5'>mx</b>580 <b class='flag-5'>mx</b>580 ADI