STM32-LIN总线详解1

.硬件规范:

1.总线形式:一主多从

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

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

3.总线上波形

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

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

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

单片机使用串口,其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 . 主机启动。 从机进行数据交换。

  1. 作为从机,需要处理

a 接收主机数据

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

相关推荐
码农小韩35 分钟前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
匠在江湖1 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
点灯小铭2 小时前
基于单片机的智能洗碗机控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计
清风6666663 小时前
基于单片机的电加热炉智能温度与液位PID控制系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
一路往蓝-Anbo3 小时前
第五篇:硬件接口的生死劫 —— GPIO 唤醒与测量陷阱
c语言·驱动开发·stm32·单片机·嵌入式硬件
逑之4 小时前
C语言笔记16:文件操作
c语言·笔记·单片机
2401_863326115 小时前
基于单片机智能光控路灯设计
单片机·嵌入式硬件
清风6666665 小时前
基于单片机的球类比赛专用计分与暂停管理系统设计
单片机·嵌入式硬件·毕业设计·课程设计
Y1rong6 小时前
STM32之时钟
stm32·单片机·嵌入式硬件
yuanmenghao6 小时前
自动驾驶中间件iceoryx - 同步与通知机制(二)
开发语言·单片机·中间件·自动驾驶·信息与通信