MX2000平台接口虽然丰富,但其本身不具备CAN接口。如果在实际产品应用中,需要使用到CAN接口的时候那该怎么办呢?本文将以新产品MX2000核心板为例讲述如何解决该问题。
概述
软硬件准备
硬件设计和连接使用SPI转CAN功能时,需要将CSM300(A)的MODE引脚接至高电平(3.3V)。MCU的SPI接口与CSM300(A)的SPI接口连接,同时MCU需要提供GPIO与RST、INT、CTL0、CTL1引脚连接,实现对CSM300(A)的有效监测与控制。若需要通过MCU对CSM300(A)进行配置,则需要额外的GPIO与CFG引脚连接。图1是CSM300A的参考电路。不使用的模块引脚只需悬空而不用连接,以免因电路连接不当从而造成模块损坏。
软件改动1. 修改设备树在设备树中增加如下节点:
概述MX2000平台上不具备CAN接口,但可通过我司CSM300(A)系列SPI(UART)转CAN模块进行拓展CAN接口。在实际产品应用场景中如果需要使用CAN接口,则可以参考本文进行拓展、测试、评估。
软硬件准备
硬件设计和连接使用SPI转CAN功能时,需要将CSM300(A)的MODE引脚接至高电平(3.3V)。MCU的SPI接口与CSM300(A)的SPI接口连接,同时MCU需要提供GPIO与RST、INT、CTL0、CTL1引脚连接,实现对CSM300(A)的有效监测与控制。若需要通过MCU对CSM300(A)进行配置,则需要额外的GPIO与CFG引脚连接。图1是CSM300A的参考电路。不使用的模块引脚只需悬空而不用连接,以免因电路连接不当从而造成模块损坏。

| 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 |
软件改动1. 修改设备树在设备树中增加如下节点:
&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节点
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. 增加驱动并修改内核配置
驱动文件请联系FAE或者销售工程师。将驱动文件csm300.c,放置于kernel/drivers/net/can/spi/文件夹下。并在该目录的Makefile文件中加入以下内容:
obj-$(CONFIG_CAN_CSM3XX) += csm300.o/*添加至文件末尾*/
同时在该目录下的Kconfig文件中加入以下内容:
config CAN_CSM3XX
tristate "CSM3XX SPI CAN controllers"
help
Driver for CSM3XX SPI CAN controllers.
最后在menuconfig菜单中或defconfig配置文件中,打开对应内核配置,重新编译内核并烧录到评估板中。成功加载并且硬件连接无误的情况下,会出现如下log打印。
[]
[] csm300 check id response:
[] csm300 spi0.0: csm300 check id succeed
[] csm300 spi0.0 can0: csm300 successfully initialized.
如果硬件连接不正确,则会在初始化时候出现以下错误log打印。

性能测试
将CSM-Eval评估套件通过USB CAN卡USBCAN-4E-U和电脑连接,框图如图3所示。

[]
[]
[] set bitrate is 1000000
[]
[] csm300 check id response:
[] 0xf7
[] 0xf8
[] 0x2
[] 0x13
[] 0x1e
[] csm300 setup response:
[] 0xf7
[] 0xf8
[] 0x1
[] 0x13
[] 0x1d
[] csm300 setup succeed
[]
MX2000端推荐使用以下命令进行测试。其中-g 后面所带参数代表间隔时间(单位:s),经过测试会直接影响丢包率,最优为0.1。
[]
电脑端使用ZCANPRO专业软件进行测试,得出结果在此帧率下丢包率为0%,如图4所示。

技术交流群
长按识别如下二维码可加入“工控板/核心板技术交流群”,与志同道合的朋友交流,并有专业技术人员为您答疑解惑,如有问题可以咨询小致微信:zlgmcu-888。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
致远电子
+关注
关注
13文章
424浏览量
32665
原文标题:【产品应用】MX2000上如何拓展CAN接口?
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
USBCAN-IPro工业级高性能USB接口CAN卡用户手册
USBCAN-I Pro 是集成 1 路 CAN 接口的高性能型 CAN-bus 总线通讯接口卡。该型号 CAN 卡可兼容 USB2.0 总
发表于 04-23 17:07
•0次下载
探索MAXIM的CMOS双8位缓冲乘法DAC:MX7528/MX7628
深入探讨MAXIM公司的CMOS双8位缓冲乘法DAC——MX7528/MX7628。 文件下载: MX7528.pdf 一、产品概述 MX7
高速8位ADC的设计与应用:MX7824/MX7828深度剖析
众多工程师的首选。本文将深入探讨这两款ADC的特性、工作原理、接口模式以及实际应用中的注意事项。 文件下载: MX7828.pdf 一、产品概述 MX7824和
高速8位ADC:MX7575/MX7576的全面解析
7575和MX7576,它们凭借高速转换、低功耗和微处理器兼容性等特点,在众多领域展现出强大的应用潜力。 文件下载: MX7576JP+.pdf 产品概述 MX7575和
英飞凌汽车通信接口产品:为汽车网络注入强劲动力
英飞凌汽车通信接口产品:为汽车网络注入强劲动力 作为汽车电子领域的世界领导者,英飞凌专注于车载网络,凭借超过十年开发通信接口的经验,提供了丰富的收发器、系统基础芯片和嵌入式电源解决方案。以下将详细
探索TSC2000:PDA模拟接口电路的卓越之选
的特性与应用 特性亮点 TSC2000具有众多令人瞩目的特性,这些特性使其在同类产品中脱颖而出。 接口与转换
基于蜂鸟E203的AES加解密NICE协处理单元设计
作品简介
我们设计了基于NICE接口的AES加解密协处理单元,拓展了6条拓展指令,支持EBC、CBC、、CFB、OFB、CTR五种加密模式,和软件相比,速度提高约2000倍。整体框
发表于 10-29 06:37
E203的F指令集拓展
《在手把手教你RISC-V CPU上》
3.F拓展的软件实现
为实现对蜂鸟E203的F拓展,笔者未采用蜂鸟E203中遗存的FPU端口,选择NICE接口完成蜂鸟E203浮点运算指令
发表于 10-20 09:23
嵌入式接口通识知识之CAN接口
1.1 基础概念CAN的全称是Controller Area Network,译为控制器区域网络,是一种用于车辆、电力系统、工业设备等嵌入式系统的半双工异步串行通信协议和物理接口。CAN是一种
发表于 08-21 16:49
接口告急?纳祥科技客户版低成本旋钮拓展坞方案,9大高速接口兼容手机平板
随着多设备协同办公与娱乐需求的增加,传统拓展坞接口单一、操作复杂的问题日益凸显。纳祥科技根据客户需求,以及多场景需求情况,推出一款集旋钮交互、多功能快捷键、高速接口及多存储卡槽的智能拓展
解锁CAN接口开发高效路径!五个核心要点一次讲透
高效开发CAN接口,关键在于把握协议基础、硬件适配、错误管理、性能优化与调试五大核心要点。下面将逐一剖析每个环节的技术细节与实践方法,助力开发者快速突破难点,实现可靠通信。 在Air780EPM上
Analog Devices / Maxim Integrated MX31828和MX31829低功耗温度开关特性/应用/框图
Analog Devices MX31828和MX31829低功耗温度开关在-40°C至+125°C(12位)温度范围内提供±1°C的精度。该开关具有I^2^C/SMBus接口,采用小型6焊球晶圆级
热电偶温度采集模块,CAN接口
热电偶温度采集模块结合CAN接口的应用,已成为工业自动化、汽车电子、能源管理等领域的关键技术。这种组合不仅实现了高精度温度监测,还通过CAN总线的高可靠性和实时性,满足了复杂环境下的数据传输需求
米尔NXP i.MX 91核心板发布,助力新一代入门级Linux应用开发
本帖最后由 blingbling111 于 2025-5-30 16:17 编辑
米尔电子基于与NXP长期合作的嵌入式处理器开发经验,在i.MX 6和i.MX 8系列核心板领域已形成完整产品
发表于 05-30 11:20
【产品应用】MX2000上如何拓展CAN接口?
评论