码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 23、STM32——CAN


    1、CAN 协议简介


    CAN 与 I2C、SPI 等具有时钟信号的同步通讯方式不同,CAN 通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有 CAN_High 和 CAN_Low 两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。

    CAN 物理层的形式主要分为闭环总线及开环总线网络两种,闭环总线适合于高速通讯,开环总线适合于低速远距离通讯。


    1.1 闭环总线网络

    CAN 物理层的形式主要有两种,CAN 闭环总线通讯网络中的 CAN 通讯网络是一种遵循 ISO11898 标准的高速、短距离闭环网络,它的总线最大长度为 40m,通信速度最高为 1Mbps,总线的两端各要求有一个120 欧的电阻。

    在这里插入图片描述


    1.2 开环总线网络

    CAN 开环总线通讯网络是遵循 ISO11519-2 标准的低速、远距离开环网络,它的最大传输距离为 1km,最高通讯速率为 125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个2.2 千欧的电阻。

    在这里插入图片描述


    1.3 差分信号

    差分信号又称差模信号,与传统使用单根信号线电压表示逻辑的方式有区别,使用差分信号传输时,需要两根信号线,这两个信号线的振幅相等,相位相反,通过两根信号线的电压差值来表示逻辑 0 和逻辑 1。见图差分信号 ,它使用了 V+ 与 V-信号的差值表达出了图下方的信号。

    在这里插入图片描述
    在这里插入图片描述

    以高速 CAN 协议为例,当表示逻辑 1 时 (隐性电平),CAN_High 和 CAN_Low 线上的电压均为 2.5v,即它们的电压差 V H -V L = 0V;而表示逻辑 0 时 (显性电平),CAN_High 的电平为 3.5V,CAN_Low 线的电平为 1.5V,即它们的电压差为 V H -V L = 2V。

    例如:当 CAN 收发器从 CAN_Tx 线接收到来自 CAN 控制器的低电平信号时 (逻辑 0),它会使CAN_High 输出 3.5V,同时 CAN_Low 输出 1.5V,从而输出显性电平表示逻辑 0。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    显性电平逻辑 0,高优先级

    隐性电平逻辑 1


    2、CAN 协议层


    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述


    3、CAN 外设简介


    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    C++虚继承和普通继承实现测试对比记录
    leetcode 1457. Pseudo-Palindromic Paths in a Binary Tree(二叉树中的伪回文路径)
    Linux、docker、kubernetes、MySql、Shell运维快餐
    使用SqlSessionFactory工具类抽取
    stl中vecter和pair组合达到字典的效果
    Vue3 -- computed 生命周期钩子 Provide函数 侦听数据的变化 watch script setup语法
    Microsoft 10/11 命令行打开系统设置页(WUAP,!WIN32)
    【车联网原型系统|六】效果展示
    Drupal view实现排序:未来升序,过去降序
    联邦学习应用研究现状及发展趋势
  • 原文地址:https://blog.csdn.net/xiebs/article/details/127445563
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号