• 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 外设简介


    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    小程序开发 - 基本组件
    US1MF-ASEMI贴片快恢复二极管US1MF
    Kafka-exporter监控消费速度与生产速度差异规则
    PyTorch实现注意力机制及使用方法汇总,附30篇attention论文
    【算法康复训练③】剑指offer P3
    docker部署redis/mongodb/
    .NET通过源码深究依赖注入原理
    THREE.JS 3D模型服务器报404问题(VUE fbx文件在本地能显示 服务器上不显示报404)
    chatgpt的命令词
    变量使用、
  • 原文地址:https://blog.csdn.net/xiebs/article/details/127445563