3200温控板电路解析

提示:文章

前言

前期疑问:
本文目标:


一、背景

最近重温3200温控板电路设计和芯片选型
3200代码仓

二、

2.1

按照顺序整理,主要是依靠自己想到的来整理
1、传感器是pt1000,采用ADC转化,根据电压值变化计算温度值。(电压值和温度值的转换公式?)
2、温湿度采集原件型号是SHT21,采用I2C通讯采集温湿度值。
3、PT1000精度应该是是0.001,采用SPI采集温度值。

以下是看电路图后,涉及到的几个芯片型号
AD7682芯片:4路模数转换器 (ADC),另外还提到AD7682/AD7689 使用简单的串行端口接口 (SPI) 写入配置寄存器并接收转换结果。电路图中也是AD7682也是有SPI接口。
但是印象中我完全没有印象使用了spi啊以及使用spi配置ad7682。

SPI是全双工通讯,全双工就是可以同时收数据和发数据。I2C是半双工,同一时刻只能单向传输数据。USART是全双工通讯,tx和rx负责收发数据。

CAN通讯模块,CTM8251AT芯片,将逻辑电平转换成CAN总线的差分电平。

(疑问,串口通讯 串行异步通讯是什么意思)
几种通讯协议的通讯速率和通讯距离
1.usart 通讯速率几百kbps到数Mbps,距离数米。
2.I2C 通讯数据几百Kbps,距离数米。
3.SPI 通讯速率几Mbps到几十Mbps
4.CAN 通讯速率几Mbps,通讯距离几十米
5.rs485 通讯速率几百Kbps到几Mbps,通讯距离几百米。
通讯方式比较

Kbps指的是Kilo bits per second

2.2

几种通讯协议说明

需要说明几个概念

下面是自己总结的

类型说明
半双工/全双工半双工指的是同一时间只能收数据或者发数据;全双工指的是可以同时发数据和收数据
同步/异步同步:依赖时钟线,收发双方根据时钟线频率来收发数据。异步:不依赖时钟线频率,根据数据收尾标志位来判断数据开始和结束
串行/并行串行:一次只收发一个bit的数据;并行:一个同时收发多个bit数据

下面是查copilot的

  1. 半双工 vs. 全双工 对比

    半双工(Half-Duplex):数据可以在两个方向传输,但不能同时进行。 发送和接收交替进行,一方发送时另一方必须等待。

    全双工(Full-Duplex):数据可以同时在两个方向传输,双方可以同时发送和接收。 传输速度更快,减少通信延迟。

模式数据方向同时传输应用场景
半双工双向,但需轮流传输❌ 不能同时对讲机、RS-485
全双工双向,同时传输✅ 可以同时电话通话、以太网

半双工适用于简单低速通信,不需要实时交互。 全双工适用于高速通信,可以同时传输数据,提高效率。

2、同步 vs. 异步 通信对比

同步通信(Synchronous):数据传输有固定时钟信号,发送端和接收端严格按照同步时钟工作。

异步通信(Asynchronous):没有全局时钟,每个数据帧自带起始位和停止位,接收端根据这些位解析数据。

类型特点适用场景常见协议
同步需要固定时钟,数据流稳定高速通信,如传感器SPI, I2C
异步无固定时钟,数据带有起始位远程低速通信UART, RS-232

3、串行 vs. 并行对比

串行通信(Serial Communication):数据按位传输**,每次传输**1 bit(一位),依次排列。

并行通信(Parallel Communication): 数据同时传输多个位(比如 8 位、16 位),多个数据线同时发送。

类型传输方式适用场景常见协议
串行通信按位逐步传输远距离、低速SPI, I2C, UART, USB
并行通信多位同时传输短距离、高速DDR, PCI, 并口打印机

串行适用于远距离,减少干扰。 并行适用于短距离,高速数据传输。

下面是几种通讯协议整理

第一版

协议名称通讯类型通讯速率通讯距离
USART全双工串行同步/异步通讯协议几百Kbps到几Mbps几米
I2C半双工串行同步通讯协议(纠错这边I2C不是同步而是异步)几百Kbps几米
SPI全双工串行同步通讯协议几十Mbps几米
CAN半双工串行异步通讯协议(CAN是半双工串行是因为CANH、CANL是查分信号)几百Kbps到几Mbps几十米
Rs232

是的,I2C 确实有 SCL(时钟线),但它的工作方式不同于典型的同步通信协议(如 SPI)。

为什么 I2C 仍然被归类为异步通信?

SCL 由主设备控制:虽然有 SCL,但它不是固定的时钟信号**,而是**主设备动态控制,这意味着时钟信号不是持续稳定的,而是根据数据传输需求进行拉高或拉低。

修改后如下

协议名称数据传输类型通讯模式通讯速率通讯距离
USART全双工串行通讯协议同步/异步几百Kbps到几十Mbps几米
I2C半双工串行通讯协议异步100Kbps-3.4Mbps,通常是400Kbps通常不到1米,低速模式下可以到几米
SPI全双工串行通讯协议同步几十Mbps(部分可以达到100Mbps)几米
CAN半双工串行通讯协议异步几百Kbps到5-8Mbps几十米(在汽车和工业环境下可以达到1公里以上,基于低速率)
RS232全双工串行通讯协议同步几百Kbps到几十Mbps几十米
RS485半双工串行通讯协议异步几百Kbps到几十Mbps几百米

另:TTL和USART关系,单片机与单片机之间的USART通讯通常为TTL传输。

RS232通常使用9针和25针接口,没有时钟线。

疑问:为什么串口也没有时钟线可以同步通讯。RS232不能同步通讯

这是一个很好的问题!USART(Universal Synchronous/Asynchronous Receiver/Transmitter)RS-232 虽然都用于串行通信,但它们的同步机制不同,这导致了 RS-232 只能进行异步通信,而 USART 可以支持同步通信。

1. USART 如何实现同步通信?

虽然 USART 没有独立的时钟线(如 SPI 的 SCLK),但它可以使用外部时钟信号来实现同步通信: ✅ 在同步模式下,USART 通过 TXD(发送数据线)RXD(接收数据线) 进行数据传输,同时使用一个 共享的时钟信号(通常由主设备提供) 来同步数据。 ✅ USART 在同步模式下可以匹配时钟信号,让发送端和接收端保持一致的数据节奏。 ✅ 同步模式通常用于高速数据传输,适合需要低误码率的场景。

🔹 USART 同步通信示例

时钟: |--|--|--|--|--|--|--|(时钟信号)
数据:  |01|10|11|00|01|11|(数据同步传输)

➡ USART 通过外部时钟信号,使数据在固定时钟节奏下传输。

2. 为什么 RS-232 不能同步通信?

RS-232 没有全局时钟信号,它只能通过 起始位(Start Bit)停止位(Stop Bit) 实现数据同步,每个数据帧都是独立的。 ✅ 每个数据包都自带同步信息,但接收端无法持续保持精确同步,只能在每次数据开始时重新校准。 ✅ 适用于低速、远程通信,但不能用于高精度、高速的数据同步传输。

🔹 RS-232 异步通信示例

数据包1: [起始位] 10110010 [停止位]
数据包2: [起始位] 11001100 [停止位]

每个数据包独立同步,没有稳定的时钟控制,所以它属于异步通信。

3. 总结:USART vs RS-232

协议时钟信号数据同步方式适用场景
USART(同步模式)由外部时钟提供按时钟节奏同步传输高速、短距离
USART(异步模式)无外部时钟通过起始/停止位低速、短距离
RS-232无全局时钟通过起始/停止位低速、远距离

USART 可以在同步模式下使用外部时钟信号进行同步数据传输。 ✅ RS-232 始终使用异步方式,每个数据包独立同步,因此不能进行真正的同步通信

协议名称数据传输类型通讯模式通讯速率通讯距离
USART全双工串行通讯协议同步(共享时钟信号)/异步几百Kbps到几十Mbps几米
I2C半双工串行通讯协议异步(有同步机制)100Kbps-3.4Mbps,通常是400Kbps通常不到1米,低速模式下可以到几米
SPI全双工串行通讯协议同步几十Mbps-100Mbps(部分可以达到几百Mbps)几米
CAN半双工串行通讯协议异步几百Kbps到5-8Mbps几十米(在汽车和工业环境下可以达到1公里以上,基于低速率)
RS232全双工串行通讯协议异步(没有时钟线)几百Kbps到几十Mbps几十米
RS485半双工串行通讯协议异步几百Kbps到几十Mbps几百米(低速模式可达1200米)

对于USART可以同步异步通讯,这边存有疑虑。按照解释所述,当有外部时钟线时,可以进行同步通讯。我就疑惑之前使用USART连接电脑向外输出打印信息,使用的时同步还是异步通讯。

问了下copilot

单片机使用TTL发送信号给电脑串口工具,使用的是同步通讯模式吗

不一定! 单片机使用 TTL(Transistor-Transistor Logic) 电平发送信号给电脑串口工具,具体的通讯模式取决于协议。如果你的单片机通过 USART 发送 TTL 信号,它可能是同步或异步模式,具体如下:

1. 如果是 USART 异步模式

没有额外的时钟信号,通信依靠 起始位和停止位 进行数据同步。 ✅ 单片机仅使用 TXD(发送)、RXD(接收)、GND(地),波特率双方约定一致即可。 ✅ 大多数常见的串口通信(如 RS-232)都是异步模式

🔹 示例(标准 UART 串口工具)

电脑串口工具 <—> 单片机(UART)

典型的串口工具,如 SecureCRTRealTerm,使用异步串口通信。

2. 如果是 USART 同步模式

主设备提供共享的时钟信号(CLK),所有设备按照该时钟同步数据传输。 ✅ 单片机需要额外的 CK(时钟线),除了 TXD 和 RXD,还需连接 CLK。 ✅ 适用于高速数据通信,避免异步模式的时间偏移

🔹 示例(同步 USART 设备)

电脑 <—> 单片机(USART 同步模式)

需要额外的时钟线来同步数据,如果你的硬件只连接 TX/RX/GND,那肯定是异步模式!

3. 如何判断?

如果单片机只有 TXD、RXD、GND异步模式(UART)。 ✅ 如果单片机有 TXD、RXD、GND、CK(时钟线)同步模式(USART)。 ✅ 串口工具一般只支持 UART(异步),而不会提供额外时钟信号

总结

✅ 单片机 TTL 信号 + 电脑串口工具 通常是 UART 异步通讯模式! ✅ 如果使用 USART 同步模式,需要额外的 CLK 时钟线,但电脑串口工具一般不支持。 ✅ 检查你的硬件连接方式,就能判断通讯模式

三、

3.1


总结

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值