0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ELF 1技术贴|CAN接口浅析:从原理到对测

ElfBoard 2024-04-26 10:24 次阅读

引言

在当今智能化、网络化的时代,各种电子设备间的高效通信成为了技术发展的关键。而控制器局域网络(Controller Area Network,简称CAN),作为嵌入式系统中不可或缺的通信协议,正扮演着链接桥梁的重要角色。本文将带各位小伙伴深入了解CAN接口的基本原理。

CAN总线介绍

CAN总线采用广播通信模式,意味着网络中的每一节点都能接收传播于总线上的所有数据报文,并非定向传输至特定节点。这一特性确保了信息的广泛可达性,不过,各节点并非被动接受所有信息。实际上,CAN技术内置的硬件过滤机制使得每个节点能智能化筛选,仅对与其相关的报文作出响应,实现了有效的信息过滤与处理策略。

总线采用不归零制编码结合线与逻辑设计,确保了信号的稳定传输。在此机制下,各个模块经由线与逻辑相连至总线,这意味着当单一节点输出逻辑0时,即使其余节点均发出逻辑1,总线信号也会被强势界定为逻辑0,体现了总线在信号竞争中的独断性。

CAN总线上的电平

CAN2.0A/B标准规定:总线空闲时,CAN_H和CAN_L上的电压为2.5V;

在数据传输时,显性电平(逻辑0):CAN_H 3.5V CAN_L 1.5V;

隐性电平(逻辑1):CAN_H 2.5V CAN_L 2.5V;

wKgZomYrC6SAAlq0AAtWUkw5vuE991.png

CAN标准定义四种不同的报文类型(数据帧、远程帧、错误帧、过载帧)。报文使用逐位仲裁智能方案来控制对总线的访问,每条报文都带有优先级标记,在协议中规定ID小则优先级高。CAN总线拓扑图如下图:

wKgaomYrC7yAX3SAAA85Tuauu4s260.png

ElfBoard开发板 CAN接口硬件电路介绍

ELF 1开发板在其底板上集成了1路CAN接口,而ELF 1S开发板则通过扩展板增设了额外的1路CAN接口,这一接口经由3.81mm间距的绿色端子引出。

当前,ELF 1开发板搭载了TJA1040T型CAN收发器。关于CAN模块原理图如下图所示。考虑到TJA1040T器件的输出端RX输出的是5V电平信号,这可能对核心板的3.3V工作电压环境构成兼容性挑战。为保护核心板,采取了电压匹配措施:通过电阻R51和R54实施分压,将RX信号平滑过渡至3.3V,随后安全送至处理器的CAN1_RX输入端口,从而保障了系统间通讯的稳定。

wKgZomYrC9OAJYRRAA6ZPF53Rmo802.png

为了优化外部电路设计,各位小伙伴可以参考以下的TJA1040T芯片功能框图和引脚详解。这些资料将加速大家对TJA1040T芯片特性的理解进程。

wKgaomYrD0eAFZ9BAAzmyQBVEk4802.pngTJA1040T芯片功能框图

wKgZomYrD1eANerCABLSOHdZwc4972.pngTJA1040T芯片引脚说明

关于CAN接口的设计建议

(1)核心板最多可支持2路CAN;

(2)设计CAN接口时要注意收发器和核心板之间的电平匹配;

(3)终端电阻可以预留插针通过跳线帽选择使用;

关于CAN接口PCB的设计建议

(1)CAN使用差分布线,预留120Ω端接电阻;

(2)连接端口建议预留地信号;

CAN接口对测

ELF 1S开发板提供两路CAN接口,CAN1 集成于底板之上,而 CAN2 则集成在扩展板上。为了实现双向 CAN 测试,需将 CAN1 与 CAN2 两端的信号线对应相连——即高位H线相互接通,低位L线同样相连,以确保两者间的直接通信链路畅通无阻。

wKgZomYrD4uAAw5mABDt4sAs_rc906.png

开发板启动之后,在命令行输入以下命令,对CAN1配置波特率为125000:

root@ELF1:~# ifconfig can0 down //关闭can1 root@ELF1:~# ip link set can0 up type can bitrate 125000 triple-sampling on //设置can1波特率 flexcan 2090000.can can0:writing ctrl=0x0e312085 IPV6:ADDRCONF(NETDEV_CHANGE):can0:link becomes ready root@ELF1:~# ifconfig can0 up //开启can1

对CAN2配置波特率为125000:

root@ELF1:~# ifconfig can1 down //关闭can2 root@ELF1:~# ip link set can1 up type can bitrate 125000 triple-sampling on //设置can2波特率 flexcan 2094000.can can1:writing ctrl=0x0e312085 IPV6:ADDRCONF(NETDEV_CHANGE):can0:link becomes ready root@ELF1:~# ifconfig can1 up //开启can2

设置CAN2接收数据:

root@ELF1:~# candump can1 & //can2以后台方式接收数据 [1] 686

CAN1发送数据:

root@ELF1:~# cansend can0 123#1234567891234567 //can1发送数据 root@ELF1:~# can1 123 [8] 12 34 56 78 91 23 45 67 //can2接收到数据

CAN2接收到CAN1发送的数据。

至此就完成了对CAN接口的介绍,期待这篇文章能让各位小伙伴对CAN接口有一个全面而深入的理解,推进各位嵌入式爱好者在学习的道路上不断前进。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6002

    文章

    43995

    浏览量

    621381
  • 嵌入式
    +关注

    关注

    4985

    文章

    18311

    浏览量

    289094
  • 开发板
    +关注

    关注

    25

    文章

    4451

    浏览量

    94234
收藏 人收藏

    评论

    相关推荐

    安路科技发布第三代“小精灵”ELF3 FPGA产品

     在“精工匠制 灵炫未来”2019新品发布会上, 上海安路信息科技有限公司(以下简称“安路科技”) 面对通信接口、工业控制、显示控制、接口扩展、IOT应用等市场不断变化的设计需求,在广受市场欢迎
    发表于 04-04 09:04 1410次阅读

    CAN接口电路和通信波形分析#入门到精通,一起讲透元器件! #电路设计

    接口电路CAN波形CAN接口总线/接口技术
    学习电子知识
    发布于 :2022年09月26日 20:16:30

    发布会回顾 | ElfBoard品牌发布!ELF 1ELF 1S新品重磅亮相

    elf
    ElfBoard
    发布于 :2023年10月08日 11:46:27

    简介SMD(表封装)技术

    SMD即表面技术是在大约二十年前推出。 SMD:它是表面安装设备的缩写,意思是:表面装器件,它是表面技术(表面
    发表于 06-07 08:55

    汽车CAN总线技术

    围绕“汽车CAN总线技术到底是怎么一回事?汽车总线的发展趋势。汽车为什么选择了CAN总线技术?采用汽车CAN总线
    发表于 06-24 13:56

    技术的特点

    。分别如图1(a)和(b)所示。  就技术本身的工作原理和要求而言,实际上是相当简单的。用一定的方式把SMC /SMD(表面装元件和表面
    发表于 09-05 16:40

    技术原理与过程

      MT生产中的技术是指用一定的方式将片式元器件包装中拾取出来并准确地放到PCB指定的位置,通常也使用“贴片”这个更加具体的名称。理论上,
    发表于 09-06 11:04

    can接口的优势

    can接口相对是一种常用的串行接口,但是不像spi、i2c、uart等接口都有主从的关系,can可以任何一个节点主动发送数据,并且假如出现总
    发表于 08-20 07:35

    核心板板接口看只有一路CAN通讯接口硬件接口上面该如何配置?

    核心板板接口看只有一路CAN通讯接口,资料上面介绍有二路,这个硬件接口上面该如何配置
    发表于 11-25 07:21

    ELF 1开发板试用】1.开箱验货

    硬件和接口 ELF1 由核心板 + 底板构成,底板集成 CAN、Wi-Fi&BT、Ethernet、音频、USB、Camera、LCD显示、温湿度传感器、UART 等功能外设。 板子
    发表于 11-21 14:20

    ELF 1开发板试用】+ 6.0 CAN通信

    CAN通信 鉴于想将ELF1 的NXP6ull部署于竞技机器人上,那么对于CAN的测试就很关键,目前多数的电机驱动和专业的传感器设备都是使用CAN通信作为协议,由于试用期间基础板子无扩
    发表于 12-11 22:57

    ELF

    elf的相关文档资料,有需求的朋友可以参考参考
    发表于 05-03 10:10 11次下载

    语音接口技术浅析

    语音接口技术浅析
    发表于 11-01 08:27 1次下载
    语音<b class='flag-5'>接口技术</b><b class='flag-5'>浅析</b>

    关于ELF1/ELF1S开发板的音频接口,你需要知道的都在这!

    音乐可以将平凡的画面赋予深厚的意义,那么音频接口就是这个支点;今天就来给大家详细介绍一下ELF1/ELF1S开发板的音频接口ELF1/
    的头像 发表于 10-31 14:10 362次阅读
    关于<b class='flag-5'>ELF</b>1/<b class='flag-5'>ELF</b>1S开发板的音频<b class='flag-5'>接口</b>,你需要知道的都在这!

    浅析can技术的演变过程

    CAN技术的演变 为了了解从 CAN FD 到 CAN XL 的转变,让我们简单回顾一下 CAN 技术
    发表于 11-17 11:41 220次阅读
    <b class='flag-5'>浅析</b><b class='flag-5'>can</b><b class='flag-5'>技术</b>的演变过程