历史上的今天
返回首页

历史上的今天

今天是:2024年09月25日(星期三)

正在发生

2019年09月25日 | 技术文章—MCU如何扩展CAN或者CAN FD接口?

2019-09-25 来源:EEWORLD

摘要:在嵌入式产品开发过程中,可能会面临CAN路数不够的问题。如何选择合适的转换模块解决这个问题呢?以下将为您讲解几款模块的选型方法。

 

  1.       应用场景

 

CAN总线是优秀的现场总线之一,已由当初的汽车电子扩散到各行各业。从工业自动化到新能源,从轨道交通再到航空航天,CAN总线技术在中国不断的应用和沉淀。

 

 

图1  CAN总线数据帧结构

 

当应用CAN总线时,我们可能会面临以下问题:主控制器没有支持CAN控制器或者CAN路数不够。具体问题表现:早期产品通信使用的是RS485或RS232通信,现阶段需要将产品升级到能支持到CAN通信;受制于成本限制,主控MCU必须选择低端处理器,本身不带CAN控制器;开发的产品中需要的CAN路数远远大于2路,能支持两路以上CAN的MCU型号有限或成本过高。

 

说明: C:UsersADMINI~1AppDataLocalTempWeChat Filesf29e573ba759479aba4ecff398817c7.png?imageView2/2/w/550

 

图2  LPC系列间CAN路数对比

 

说明: F:郑州办工作微信文章MCU如何扩展CANCAN FD接口?MCU如何扩展CANCAN FD接口?图3.jpg?imageView2/2/w/550

 

图3  多路CAN应用场景

 

当MCU内部没有支持CAN控制器或者所需的CAN路数不能满足要求时,可以选择使用其他通信接口拓展CAN接口出来。常见的转换方法有串口转CAN、以太网转CAN、WIFI转CAN以及光纤转CAN,本文主要为大家介绍串口转CAN的思路和方法。

 

 

图4  CAN转换器产品

 

  1.       如何选型

 

串口扩CAN的模块大体分为两种形式,一种是单纯的协议控制器芯片实现,如MCP2515和MCP2517;另一种是通过高性能的MCU实现。相比于单纯的协议控制器芯片,MCU方案的协议转换模块拥有以下优势:配置简便,配合上位机或串口指令集,几个简单的串口数据发送即可完成配置;缓存较大,在高速或数据吞吐量大时杜绝丢帧现象发生;性能优异,将复杂的协议转换及帧缓存完全集成于用户MCU之外,可减少用户MCU负担。

 

ZLG立功科技·致远电子推出的串口转CAN模块主要有CANFDSM、CSM300两个系列,选型工作如何入手,我们从他们之间的区别入手。CANFDSM是最新一代的串口转CANFD模块,在能匹配当前热门的CANFD基础上,还能完全兼容传统的CAN2.0协议。因此,如果您的产品选定的是CANFD协议,则只能使用新一代的CANFDSM模块。

 

 

图5  链路层协议区别

 

如果产品中使用的是CAN2.0A或者CAN2.0B协议,我们继续对比选择。CANFDSM不带CAN或者CANFD收发器,用户需自行增加隔离或者不隔离的收发器模块。而CSM300内部集成有CAN隔离收发器、CAN控制器,因此可以直接连接MCU与CAN总线。

 

 

图6  CSM300与CANFDSM内部器件情况

 

以上讨论的情况是针对板载需求的应用,对于需要直接应用在设备中的场合又该如何选择呢?CANCOM或者CANFDCOM绝对是您的首选。CANFDCOM接口卡的1~2通道CAN FD接口均自带2500VDC电气隔离,静电等级为接触放电±8KV,浪涌±1KV,可有效避免因为不同节点地电位不同导致的回流损坏,特别适合于电动汽车与列车的测试。

 

 

图7  串口转CAN设备

 

  1.       应用电路

 

以CANFDSM-100为例 ,该类模块通用应用方式如下下。协议转换模块直接与MCU通过UART的TX、RX交叉连接通信,PIN3、PIN4通过CAN隔离收发器CTM3FD连接到外部CAN总线上。需要注意的是,模块在使用前需要进行参数配置,使用PIN7使模块进入配置状态后再配合MCU的AT指令即可完整参数配置。此外,配合上位机软件亦可快速完成参数配置。

 

 

图8  应用电路

 

说明: C:UsersAdministratorDesktop图9.PNG

 

图9  CANFDSM-100管脚定义

 

  1.       协议转换格式

 

串口转CAN模块提供透明转换、透明带标识、自定义协议等转换形式.


推荐阅读

史海拾趣

Block USA Inc.公司的发展小趣事

在发展过程中,Block USA Inc.也面临着来自竞争对手和行业变化的挑战。然而,公司始终保持着创新精神,不断调整和优化产品与服务,以适应市场的变化。例如,面对数据安全和隐私保护的日益严格要求,Block加强了其数据保护措施,并公开承认了数据泄露事件并积极采取措施进行补救。同时,公司还继续拓展其业务边界,探索新的增长点,以保持其在电子行业中的竞争优势。

这些故事只是Block USA Inc.在电子行业发展历程中的一部分,它们展示了公司如何通过不断创新和拓展业务领域,逐步成为一家具有影响力的综合性电子企业。然而,随着市场的不断变化和竞争的加剧,Block仍需保持警惕并持续努力,以应对未来的挑战和机遇。

Hi-G Relays公司的发展小趣事

在支付与金融服务领域取得成功后,Block USA Inc.还尝试了跨界合作,推出了音乐软件TIDAL。这一举措旨在通过提供高品质的音乐体验,吸引更多年轻用户群体,并进一步扩大Block的品牌影响力。虽然音乐市场竞争激烈,但TIDAL凭借其独特的音乐资源和用户体验,逐渐在市场中占据了一席之地。

Control Sciences Inc公司的发展小趣事

随着技术的不断进步,Control Sciences Inc开始寻求更广阔的市场空间。公司积极参与国内外各大电子展会,展示其先进的产品和技术。同时,公司还加大了市场推广力度,与多个知名企业建立了战略合作关系。通过这些努力,Control Sciences Inc的产品逐渐走进了更多的企业和家庭,其品牌影响力也日益增强。

遨格芯微(AGM)公司的发展小趣事

随着智能手机和IoT市场的快速发展,AGM敏锐地捕捉到这一机遇。公司不失时机地推出了一款专用于智能手机和IoT的FPGA芯片,并通过了三星严格的供应商测试认证。这款芯片成为三星Galaxy手机里除Lattice之外的唯一备选FPGA器件,实现了国内FPGA公司出口零的突破,具有特殊的战略意义。这一成功不仅展示了AGM在可编程逻辑技术领域的实力,也为公司进一步拓展智能手机和IoT市场打下了坚实基础。

Densitron公司的发展小趣事

随着电子行业的快速发展,新技术、新产品层出不穷,给传统企业带来了巨大的挑战。面对这种情况,Densitron公司积极应对变革,不断调整自身的战略和业务模式。公司加大了对新技术、新产品的研发投入,紧跟行业趋势。同时,通过优化生产流程、提高生产效率、降低生产成本等手段,不断提升自身的竞争力。这些努力使得Densitron公司能够在变革中保持领先地位。

BENCENT公司的发展小趣事

随着国内市场的饱和,BENCENT公司开始将目光投向海外市场。公司制定了详细的国际化战略,包括在海外市场设立分支机构、拓展销售渠道、加强与当地企业的合作等。通过一系列的努力,公司成功打入多个海外市场,实现了业务的多元化和国际化。

问答坊 | AI 解惑

淘宝上卖的大赛小车成品资料,很有价值

本帖最后由 paulhyde 于 2014-9-15 09:10 编辑  …

查看全部问答>

【Labview】labview学习网站有哪些

大家学习labview都在哪些网站和论坛上混啊?     本人常去的有两个,www.ni.com这是NI的网站,学习labview怎么能不上呢!     其次是www.gsdzone.net 这是我常去的Labview论坛,里面有资深NI工程师潜伏哦!…

查看全部问答>

wince应用程序ICO图标问题

在vs中的工程设置的图标 程序原来在wm上运行,图标显示是正常的 到了wince上就显示不正常了 好像是分辨率的问题 请问这个怎么解决呢…

查看全部问答>

学usb驱程有用吗

老师上课说大四做毕业设计有做usb驱程的,我有些兴趣就买了相关方面的书看,可是刚看前言作者就说学usb驱程很复杂也没有什么用,想问一下学这个对开发嵌入式有用吗…

查看全部问答>

关于计算机的二进制计算问题

最近在看汇编,但是很是困惑: 1.我们一般在高级语言里碰到的int\\float,与我们在讲解二进制加法时用的8位有什么关系? 2.若汇编老师在讲解完计算机内的数字存储后,发问7+251=?那到底怎么做呢?   251=11111011已经八位了啊!!? ...…

查看全部问答>

wince writefile 总是发送不了数据,但不报错!

问题如下:        我现在接手别人的工作,驱动别人是用evc4.2写dll,驱动经测试可用。        我现在用C#开发应用程序。        现在的问题是,驱动writefile第二个参数他传的是 ...…

查看全部问答>

初学ATmega128,有个数据存储的问题想请教各位大虾

在C51中,char xdata doc[19]=\"AT+CMGF=0\"; 我想请教一下各位大虾,在ATmega128中,这个语句应该怎样写呢? …

查看全部问答>

windows mobile 6.0 下ras拨号的问题

我在mobile5下使用ras函数RasDial拨号连接没有问题 同样的程序以及拨号配置在mobile 6下却无法拨号成功 不知道5跟6在这方面有什么不一样吗 有经验的大虾帮忙看看,谢谢!!!…

查看全部问答>

菜鸟,请你们珍爱生命,远离protues

       今天,用protues搭了一个电路,写了一个相应的程序,调试运行了一下,竟然无效, 于是乎,我就把原本庞大的电路删减一部分剩下基本的显示数码管,可是竟然还是不 对,那么,我首先怀疑是不是我的程序有问题 ...…

查看全部问答>