当前位置: 首页 > news >正文

STM32自己从零开始实操05:接口电路原理图

 一、TTL 转 USB 驱动电路设计

1.1指路

延续使用芯片 CH340E 。

实物图
实物图
原理图与封装图

1.2数据手册重要信息提炼

1.2.1概述

CH340 是一个 USB 总线的转接芯片,实现 USB 与串口之间的相互转化。 

1.2.2特点

  • 支持常用的 MODEM 联络信号 RTS(请求发送)、DTR(数据终端就绪)、DCD(数据载波检测)、RI(振铃指示)、DSR(数据设备就绪)、CTS(清除发送)。
  • 通过外加电平转换器件,提供 RS232、RS485、RS422 等接口。
  • 支持 5V 电源电压和 3. 3V 电源电压。
  • CH340C/N/K/E/X/B 内置时钟,无需外部晶振。

1.2.3引脚

引脚号引脚名称类型引脚说明
1UD+USB信号直接连到 USB 总线的 D+ 数据线,不要串联电阻
2UD-USB信号直接连到 USB 总线的 D- 数据线,不要串联电阻
3GND电源公共接地端,直接连到 USB 总线的地线
4RST#输入CH340B:外部复位输入,低电平有效,内置上拉电阻
5CTS#输入MODEM 联络输入信号,清除发送,低(高)有效
6TNOW输出CH340T/E/X/B:串口发送正在进行的状态指示, 高电平有效。CH340X 外加电阻可切换为 DTR#
7VCC电源3.3V 正电源输入端,需要外接 0.1uF 电源退耦电容
8TXD输出串行数据输出
9

RXD

输入串行数据输入,内置可控的上拉和下拉电阻
10V3电源

在 3.3V 电源电压时连接 VCC 输入外部电源

在 5V 电源电压时外接容量为 0.1uF 退耦电容

1.2.4其他说明

  1. CH340 未用到的 I/O 引脚可以悬空。
  2. CH340 芯片支持 5V 电源电压或者 3.3V 电源电压。当使用 5V 工作电压时,CH340 芯片的 VCC 引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 0.1uF 的电源退耦电容。当使用 3.3V 工作电压时,CH340 芯片的 V3 引脚应该与 VCC 引脚相连接,同时输入外部的 3.3V 电源,并且与 CH340 芯片相连接的其它电路的工作电压不能超过 3.3V。
  3. CH340 芯片内置了 USB 上拉电阻,UD+ 和 UD- 引脚应该直接连接到 USB 总线上。
  4. 异步串口方式下 CH340 芯片的引脚包括:数据传输引脚、MODEM 联络信号引脚、辅助引脚。
  5. 数据传输引脚包括: TXD 引脚和 RXD 引脚。串口输入空闲时,RXD 应为高电平。串口输出空闲时,CH340G/C/N/E/X/B/T 芯片的 TXD 为高电平。
  6. TNOW 引脚以高电平指示 CH340 正在从串口发送数据,发送完成后为低电平,在 RS485 等半双工串口方式下,TNOW 可以用于指示串口收发切换状态。

1.3原理图

1.3.1 v1.0

存在的错误:

(1)5V 供电
  1. 你的依靠原理不成立:虽然之前电源原理图中 USB 口进行了 5V 供电,但是 5V 供电是为了全局供电,其中的 TTL_D+、TTL_D- 是单纯的数据传输。
  2. 元器件浪费:5V 供电除了 0.1uF 电容滤波之外(数据手册的意思),还需要 100uF 铝电解大电容或10uF 电容滤波。
  3. 数据手册中说:3.3V 供电时与 CH340 芯片相连接的其它电路的工作电压不能超过 3.3V。
    信息传输后一级的 STM32 和其他主要组件工作在 3.3V,应当选择3.3V供电,而不是 5V 。
(2)TNOW 引脚

无需进行串口正在发送状态指示,可以悬空,不用接电阻耗能。

1.3.2 v2.0

1.4 USB信号的全局理解

  1. USB  的 “写” 是 STM32 的 “读串口”,USB  的 “读” 是 STM32 的 “写串口”。
  2. STM32 原理图部分应该是通过跳线帽的方式来确认数据的路线。
  3. USB 部分既可以用来供电,又可以用来数据的两方向传输。

二、RS-485 接口设计

2.1指路

延续使用芯片 SP3485EEN,封装为SOP-8。

实物图
原理图与PCB图

2.2数据手册

一定一定要去看之前的笔记,详细的讲解了这款芯片。UART、RS232、RS485基础知识+硬件知识_uart rs485-CSDN博客

2.2.1功能

将外界采用 RS485 通信的设备转成 串口 通信,得以和单片机进行通信。

2.2.2引脚

序号引脚名称功能介绍
1RO

接收器输出

\overline{RE}为低电平:如果A-B>200mV,RO=高;如果A-B≤-200mV,RO=低

2\overline{RE}

接收器输出使能控制

\overline{RE}为低电平时,接收器输出启用,RO输出可用。
\overline{RE}为高电平时,接收器输出被禁用,RO处于高阻抗状态。
\overline{RE}为高电平而DE为低电平时,器件进入低功耗模式。

3DE

驱动器输出使能控制

当DE为高电平时,驱动器输出可用。

当DE为低电平时,输出处于高阻抗状态。
\overline{RE}为高电平而DE为低电平时,器件进入低功耗模式。

4DI

驱动器输入

当DE为高电平时,

DI低电平迫使非反相驱动器输出A为低电平,反相驱动器输出B为高电平;

Dl高电平迫使非反相驱动器输出A为高电平,反相驱动器输出B为低电平。

5GND地面
6A非反相接收器输入和非反相驱动器输出
7B反相接收器输入和反相驱动器输出
8VCC电源供应

2.3原理图V1.0

自己根据之前的笔记设计:

(见UART、RS232、RS485基础知识+硬件知识_uart rs485-CSDN博客)

2.4原理图V2.0

2.4.1滤波电容

我知道你肯定好奇:都是3.3V供电,为什么有的模块滤波要 0.1uf ,10uf,0.1uf +10uf  滤波?

在这里我只解释这个模块的原因,后面再写博客统一归纳总结。

  • 0.1μF电容:通常用于高频滤波,抑制高频噪声。它们具有较低的等效串联电感(ESL),适合滤除电源线上高频噪声和瞬态干扰。
  • 10μF电容:主要用于低频滤波,提供较大的电流储备,能够平滑电压波动,稳定电源供应。
  • 组合使用 0.1μF 和 10μF 电容:RS-485 通信需要稳定的电源来保证长距离传输的可靠性。0.1μF 电容用于高频滤波,而 10μF 电容则提供低频稳定性和电流储备,从而避免电源波动影响通信质量。

2.4.2引脚

单片机的引脚足够,不需要 V1.0 的方案来节约引脚,DI 直接接到单片机引脚上,在电路 V1.0 中我选择是 1K ,老师选择的是 10K ,分析如下:

2.4.3上下拉电阻

上拉和下拉电阻用于在 RS-485 总线空闲时将总线保持在一个已知的状态。

(1)10KΩ电阻

陈氏:电阻大,电流小,影响小,功耗低。远距离或设备多时,可能不足以提供足够的电流。

  • 优点:功耗较低,适用于大多数情况下的偏置电阻。由于阻值较大,它不会对通信信号产生明显的负载影响。
  • 缺点:在长距离传输或总线电容较大时,可能不足以提供足够的偏置电流,导致总线状态不稳定。
(2)1KΩ电阻

陈氏:电阻小,电流大,影响大,功耗高。远距离或设备多时,提供更足够的电流。

  • 优点:提供更强的偏置电流,在长距离和较大电容负载情况下能更好地保持总线稳定。
  • 缺点:功耗较高,并且在总线上的负载影响更大,可能在某些情况下影响通信信号的质量。

根据该项目的具体情况,485 设备少,距离近,选择 10K。

2.4.4 阻抗匹配

见:UART、RS232、RS485基础知识+硬件知识_uart rs485-CSDN博客

2.4.5 TVS管

参考老师建议使用 PSM712-LF-T7 (STO-23封装),该 TVS 管专用于静电和浪涌保护。数据手册中说明常应用于 RS485 端口。

三、CAN 总线接口设计

3.1指路

延续使用芯片 TJA1040T-JSM,封装为SOP-8。

实物图
原理图与PCB

3.2数据手册

3.2.1概述

TJA1040T 是 CAN 收发器,能够为信号传输速率高达 1Mbps 的 CAN 控制器提供差分传输和接收。

3.2.2引脚说明

引脚符号说明
1TXD传输数据输入。TXD 为高 CAN 总线输出为隐性态,TXD 为低 CAN 总线输出为显性态。
2GND地。
3VCC供电电压。
4RXD接收器数据输出。当 CAN 总线处于隐性态时候,RXD 为高电平。当 CAN 总线处于显性态时候,RXD 为低电平。
5SPLIT共模稳定输出端口。
6CANL低电平 CAN 总线端口。
7CANH高电平 CAN 总线端口。
8STB待机模式控制输入端口。

3.2.3 STB

STB 输入 (引脚 8 ) 用于在两个不同的运行模式之间做出选择,即高速模式或低速模式,使用中可通过将 STB 引脚接地来选择高速运行模式。

(1)正常模式

通过将 STB 引脚设置为低,选择芯片的正常工作模式。CAN 总线驱动器和接收器完全工作,CAN 总线双向通信。驱动器将 TXD 引脚的数字输入信号转换为 CANH 和 CANL 引脚的差分输出电平。接收器将来自 CANH 和 CANL 引脚的差分电平转换为 RXD 引脚的数字输出信号。

(2)待机模式

在此模式下,驱动器和接收器关闭,低功耗差分接收器监控总线状态。引脚 STB 上的高电平激活低功耗接收器和唤醒滤波器,在 tus 时间之后,CAN 总线的状态会反映在引脚 RXD 上。VCC 上的电源电流降低到最小值,以降低电磁干扰( EM ),同时对总线上唤醒标识进行辨识。在这种模式下,总线接地可将供电电流 ( lcc ) 降至最低。

(3)唤醒

在待机模式下,芯片通过低功耗差分比较器监测总线。一旦低功耗差分比较器检测到显性总线电平超过时间 tBus,引脚 RXD 将变为低电平。

3.2.4 SPLIT

CAN 总线大量节点需要 TJA1040T 这类具有高输入阻抗和宽共模范围的收发器收发器。

  1. 高输入阻抗意味着收发器对总线信号的负载很小,减少了每个节点对总线的影响。在大规模网络中,如果每个节点的输入阻抗较低,会显著增加总线的负载,导致信号衰减和失真,进而影响通信的可靠性。高输入阻抗的收发器允许更多节点同时连接到总线而不会导致上述问题。
  2. 共模范围是指收发器能够接受的信号电压范围。宽共模范围意味着收发器能够在较大的电压范围内正确地接收信号。CAN总线通信使用差分信号线,但由于不同节点的接地电位可能存在差异,信号线上的电压可能会有共模偏移。具有宽共模范围的收发器能够在存在这些偏移的情况下仍然可靠工作,确保在复杂电气环境中的稳定通信。
SPLIT典型应用方案

ISO11898 标准规定互连为 120Ω 的双绞线缆 ( 屏蔽或非屏蔽 ) 特性阻抗 ( Zo ) ,应在线缆终端的两端使用等于线缆阻抗特性的电阻以防止信号反射,连接节点未端的接入线到总线的距离应保持尽可能短,以最小化信号反射。

总线两端的匹配终端通常是 120Ω 电阻,如果需要对总线的共模电压进行滤波和稳定,可使用拆分终端方案(见下图)。拆分终端方案使用两个 60Ω 电阻,两个电阻中间有一个电容接地。拆分终端方案可以消除信号传输开始和结束时总线共模电压的波动,从而改善总线网络的电磁辐射。

3.3原理图V1.0

加上参考笔记画的:CAN总线基础知识+硬件知识_can总线技术基础-CSDN博客

3.4原理图V2.0

第一版设计的电路并没有什么问题,只是老师设计的电路在实际调试时可能更佳。

根据老师的原理图有以下改进:

(1)47uF的电源滤波电容:更好地滤除低频噪声,稳定电源电压,尤其是在电流变化较大的情况下更为有效。

(2)STB:接入单片机引脚,可以由单片机选择高速模式或低速模式。

(3)47nF 电容:进一步滤除信号中的高频噪声。这种电容提供了更好的高频滤波效果,可以减少电磁干扰,提高总线的信号完整性。

(4)30pF 电容:这些电容用于滤除CAN总线中的高频噪声,保护总线的信号完整性。高频噪声可能来自于外部的电磁干扰或者内部的高频开关动作,这些电容可以有效地滤除这些干扰信号,确保CAN总线通信的稳定性。

(5)

插拔式接线端子实物图

四、TF卡座

4.1指路

延续使用芯片 MICRO-SD 。

实物图
原理图与PCB图

相关文章:

STM32自己从零开始实操05:接口电路原理图

一、TTL 转 USB 驱动电路设计 1.1指路 延续使用芯片 CH340E 。 实物图 实物图 原理图与封装图 1.2数据手册重要信息提炼 1.2.1概述 CH340 是一个 USB 总线的转接芯片,实现 USB 与串口之间的相互转化。 1.2.2特点 支持常用的 MODEM 联络信号 RTS(请…...

git子模块

1 子模块管理的关键文件和配置 在 Git 中使用子模块时,Git 会利用几个特殊的文件和配置来管理子模块。以下是涉及子模块管理的关键文件和配置: 1.1 .gitmodules 这是一个文本文件,位于 Git 仓库的根目录下。它记录了子模块的信息&#xff…...

stm32编写Modbus步骤

1. modbus协议简介: modbus协议基于rs485总线,采取一主多从的形式,主设备轮询各从设备信息,从设备不主动上报。 日常使用都是RTU模式,协议帧格式如下所示: 地址 功能码 寄存器地址 读取寄存器…...

基于 Transformer 的大语言模型

语言建模作为语言模型(LMs)的基本功能,涉及对单词序列的建模以及预测后续单词的分布。 近年来,研究人员发现,扩大语言模型的规模不仅增强了它们的语言建模能力,而且还产生了处理传统NLP任务之外更复杂任务…...

证照之星是一款很受欢迎的证件照制作软件

证照之星是一款很受欢迎的证件照制作软件,证照之星可以为用户提供“照片旋转、裁切、调色、背景处理”等功能,满足用户对证件照制作的基本需求。本站证照之星下载专题为大家提供了证照之星电脑版、安卓版、个人免费版等多个版本客户端资源,此…...

不定时更新 解决无法访问GitHub github.com 打不开 dns访问加速

1 修改hosts Windows 10为例,‪文件C:\Windows\System32\drivers\etc\hosts 管理员打开记事本来修改 文件-打开-“C:\Windows\System32\drivers\etc\hosts” 20.205.243.168 api.github.com 185.199.108.154 github.githubassets.com 185.199.108.133 raw.githubusercontent.…...

单向环形链表的创建与判断链表是否有环

单向环形链表的创建与单向链表的不同在于,最后一个节点的next需要指向头结点; 判断链表是否带环,只需要使用两个指针,一个步长为1,一个步长为2,环状链表这两个指针总会相遇。 如下示例代码: l…...

JVM堆栈的区别、分配内存与并发安全问题、对象定位

一、堆和栈的区别 堆(Heap)和栈(Stack)是两种基本的数据结构,它们在内存管理、程序执行流程控制等方面扮演着重要角色。在编程语言尤其是Java这样的高级语言环境中,堆和栈的概念被用来描述程序运行时的内存…...

Python教程:机器学习 - 百分位数(4)

什么是百分位数? 统计学中使用百分位数(Percentiles)为您提供一个数字,该数字描述了给定百分比值小于的值。 例如:假设我们有一个数组,包含住在一条街上的人的年龄。 ages [5,31,43,48,50,41,7,11,15,3…...

数据结构习题(快期末了)

一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 数据的存储结构是数据的逻辑结构的存储映像。 数据的物理结构是指数据在计算机内实际的存储形式。 算法是对解题方法和…...

Http协议:Http缓存

文章目录 Cookie和Session缓存有效性检查整体流程总结Cookie和Session Cookie 客户端的缓存 Session 服务端的缓存,存储服务器与客户端一次会话的过程中的数据/资源 两者区别 是服务端与客户端的不同需求造成的 有效期 Cookie的有效期很长,Session的较短 原因:服务…...

idea插件开发之hello idea plugin

写在前面 最近一直想研究下自定义idea插件的内容,这样如果是想要什么插件,但又一时找不到合适的,就可以自己来搞啦!这不终于有时间来研究下,但过程可谓是一波三折,再一次切身体验了下万事开头难。那么&…...

Sm4【国密4加密解密】

当我们开发金融、国企、政府信息系统时,不仅要符合网络安全的等保二级、等保三级,还要求符合国密的安全要求,等保测评已经实行很久了,而国密测评近两年才刚开始。那什么是密码/国密?什么是密评?本文就关于密…...

git如果将多次提交压缩成一次

将N个提交压缩到单个提交中有两种方式: git reset git reset的本意是版本回退,回退时可以选择保留commit提交。我们基于git reset的作用,结合新建分支,可以实现多次commit提交的合并。这个不需要vim编辑,很少有冲突。…...

android用Retrofit进行网络请求和解析

Retrofit 的原理 Retrofit的核心原理包括动态代理与Service Method的构建、注解解析与请求配置、网络请求执行与响应处理等。它是一个类型安全的HTTP客户端,用于Android和Java平台,通过将HTTP API转化为Java接口的方式,简化了网络请求的编写…...

list容器的基本使用

目录 前言一,list的介绍二,list的基本使用2.1 list的构造2.2 list迭代器的使用2.3 list的头插,头删,尾插和尾删2.4 list的插入和删除2.5 list 的 resize/swap/clear 前言 list中的接口比较多,与string和vector类似&am…...

34万汉语词语成语反义词ACCESS\EXCEL数据库

反义词就是两个意思相反的词,包括:绝对反义词和相对反义词。分为成对的意义相反、互相对立的词。如:真——假,动——静,拥护——反对。这类反义词所表达的概念意义互相排斥。或成对的经常处于并举、对待位置的词。如&a…...

yum方式更新Jenkins

目的 使用yum方式更新Jenkins。 步骤 查看最新可用版本 $ yum list jenkins Last metadata expiration check: 0:03:44 ago on Fri Jun 14 06:10:01 2024. Installed Packages jenkins.noarch 2.452.1-1.1 jenkins Available Pa…...

欢乐钓鱼大师保姆级教程,云手机辅助攻略解析!

在这份攻略中,我们将为大家详细介绍如何在《欢乐钓鱼大师》中快速提升钓鱼技能和游戏进展,避免常见的新手误区和不必要的资源浪费。无论是钓鱼点的选择、装备的合理使用还是技能的优化,我们都会一一为您详细解析,帮助您成为一名优…...

数据结构:手撕代码——顺序表

目录 1.线性表 2.顺序表 2.1顺序表的概念 2.2动态顺序表实现 2.2-1 动态顺序表实现思路 2.2-2 动态顺序表的初始化 2.2-3动态顺序表的插入 检查空间 尾插 头插 中间插入 2.2-4 动态顺序表的删除 尾删 头删 中间删除 2.2. 5 动态顺序表查找与打印、销毁 查找 …...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下&#xf…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...

PLC入门【4】基本指令2(SET RST)

04 基本指令2 PLC编程第四课基本指令(2) 1、运用上接课所学的基本指令完成个简单的实例编程。 2、学习SET--置位指令 3、RST--复位指令 打开软件(FX-TRN-BEG-C),从 文件 - 主画面,“B: 让我们学习基本的”- “B-3.控制优先程序”。 点击“梯形图编辑”…...