STM32-LIN总线详解1

news/2025/1/24 14:33:49/

.硬件规范:

1.总线形式:一主多从

 2.总线通常为12V电压,最高波特率20K,最多容纳16个节点。

  1. 也有24V,和其他电平
  2. 需要共地。

3.总线上波形

4. 单片机STM32与LIN收发器在LIN_CAN开发板上设计。

  1.  1K电阻自动控制电路,采用了NPN三极管+PMOS管进行控制,当LIN_RES_CTL为高电平时,MOS导通,12V上拉。当LIN_RES_CTL低电平时,PMOS判断,LIN引脚悬空。

2. 与单片机的连接和收发器本身的连接:

   单片机使用串口,其TXD-TXD,RXD-RXD 不需要交叉连接。

    注:收发器的引脚为开漏模式,所以引脚配置的时候要启用上拉。或者硬件设计加上拉。

注意:由于收发器的特性,通过单片机上发送的数据会和总线耦合后返回到RXD上面。实际处理的时候要注意。

更多关于收发器TJA1020T的可以参考其手册。

.数据规范

总的来说:就是下面的这个波形:

  1. 断开帧(同步间隔段):STM32单片机可以直接发出或者接收时进行判断。
  2. 同步段:交替的0/1也就是STM32单片机,发送数据:0x55.
  3. 受保护ID段+数据段+校验和:就是串口发送数据。
  4. 总线上所有的:数据都是符合串口的数据(8位数据,1起始,1停止位)。

综上所述:LIN总线了除了断开帧(同步间隔段),其它都可以用串口的方式来处理。

还有就是:由于收发器的特性,发送的数据会和总线耦合后返回到接收端。

.软件规范:

 精简来说:就是一个主机进行调度使主机之间进行数据交换。

1.作为主机,需要处理:

     a 主机和从机之间的通信

         i.  主发送

         ii.  主接收

    b  从机和从机间的通信

        i . 主机启动。 从机进行数据交换。

  2. 作为从机,需要处理 

        a 接收主机数据

        b 返回到总线数据(也许是给主机,也许是总线上其它的从机,但是形式才是返回数据到数据到总线)

  


http://www.ppmy.cn/news/1189293.html

相关文章

微信小程序怎么制作?【小程序开发平台教学】

随着移动互联网的快速发展,微信小程序已经成为了人们日常生活中不可或缺的一部分。从购物、支付、出行到社交、娱乐、教育,小程序几乎涵盖了我们生活的方方面面。那么,对于有营销需求的企业商家来说,如何制作一个自己的微信小程序…

【GIF】“.gif”图像播放较快难以看清其中的文字内容

1 问题描述 我们在学习py_trees的文档时遇到一个问题,文档中使用GIF图像来显示示例程序的效果,不过有时候GIF播放得很快,难以看清楚动画中的文字内容、或者是无法快速理解输出的变化情况; 这是可以用GIF分解工具来将其进行逐帧分…

hdlbits系列verilog解答(8位宽移位寄存器)-24

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 这项练习是module_shift移位寄存器的延伸。模块端口不是只有单个引脚,我们现在有以向量作为端口的模块,您将在其上附加线向量而不是普通线网数据。与 Verilog 中的其他位置一样,端口的向量长度不必与连接到它…

go-反射

反射是指在程序运行时动态获取程序的类型信息和操作对象的属性和方法的能力。在Go语言中,反射是通过reflect包来实现的。 反射的主要作用是在程序运行时动态地获取类型信息和操作对象的属性和方法,这样就可以在不知道具体类型的情况下对对象进行操作。反…

iZotope RX 10(音频修复和增强工具)

iZotope RX 10是一款音频修复和增强软件,主要特点包括: 声音修复:iZotope RX 10可以去除不良噪音、杂音、吱吱声等,使音频变得更加清晰干净。音频增强:iZotope RX 10支持对音频进行音量调节、均衡器、压缩器、限制器等…

数字 IC 设计职位经典笔/面试题(建议收藏)

共100道经典笔试、面试题目(文末可全领) 基尔霍夫定理的内容 基尔霍夫定律包括电流定律和电压定律:电流定律:在集总电路中,在任一瞬时,流向某一结点的电流之和恒等于由该结点流出的电流之和。电压定律&…

生产环境使用boost::fiber

简介 boost::fiber是一类用户级线程,也就是纤程。其提供的例子与实际生产环境相距较远,本文将对其进行一定的改造,将其能够投入到生产环境。 同时由于纤程是具有传染性的,使用纤程的代码里也全部要用纤程封装,本文将对…

Jtti:debian安装firewalld错误怎么办

如果在Debian系统上安装Firewalld时出现错误,可以尝试以下步骤来解决问题: 更新软件包列表: 首先确保您的Debian系统的软件包列表是最新的。运行以下命令: sudo apt update 安装Firewalld: 使用以下命令安装Firewalld&…