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,封装为SOP-8。

实物图
原理图与PCB图

3.2数据手册

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu下使用cmake编译opencv4.8.0+ffmpeg4.2.2+cuda11.1

1.源码下载 (1)下载ffmpeg4.2.2、opencv4.8.0源码,这里提供一个百度网盘地址: 链接:https://pan.baidu.com/s/1pBksr0_RtKL0cM6Gsf2MGA?pwdcyai 提取码:cyai (2)解压所有文件 例…

okHttp的https请求忽略ssl证书认证

使用okhttp请求第三方https接口返回异常 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target意思就是非安全的调用&#…

我的高考往事

高考对于每一个参加过的人来说,都是一段非常难忘的回忆。 我参加高考,是在2001年。虽然迄今已经过去了23年,但很多细节仍然记忆犹新。 今天这篇文章,我就和大家分享一下,我的高考往事。 █ 青少年时代 我的老家是在江西…

开个技术外挂 | 数字孪生技术如何成为美洲杯帆船赛成功的关键?

若您对数据分析以及人工智能感兴趣,欢迎与我们一起站在全球视野关注人工智能的发展,与Forrester 、德勤、麦肯锡等全球知名企业共探AI如何加速工业变革,共享众多优秀行业案例,开启AI人工智能全球新视野!! …

Ubuntu Server 20.04挂载磁盘

先查看磁盘信息: sudo fdisk -l然后提供NTFS文件系统支持: sudo mkfs.ntfs /dec/sda -F这个过程非常久… 处理完如上图。(ps. 这个 Have a nice day. 好浪漫~) 接着挂载磁盘: sudo mount /dev/sda ~/device设置开机…

计算机网络(4) 最长前缀匹配(路由转发表)

一.路由转发 网络数据包IP段只包含源地址与目的地址,经过数据链路层包装与物理层信号形式转换,最终经由不同的链路节点到达目的地址。这个过程是一步一步(hop by hop)进行的,路过一个路由节点则称为一跳。每个路由节点…

会声会影2023软件:安装包下载 丨不限速下载丨亲测好用

会声会影(Corel VideoStudio)为加拿大Corel公司发布的一款功能丰富的视频编辑软件。 会声会影2023简单易用,具有史无前例的强大功能,拖放式标题、转场、覆叠和滤镜,色彩分级、动态分屏视频和新增强的遮罩创建器,超越基本编辑&…

JavaScript的函数(几种函数的定义和使用)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

实时数据的处理一致性如何保证?

实时数据一致性的定义以及面临的挑战 数据一致性通常指的是数据在整个系统或多个系统中保持准确、可靠和同步的状态。在实时数据处理中,一致性包括但不限于数据的准确性、完整性、时效性和顺序性。 下图是典型的实时/流式数据处理的流程: 流式数据以各…

如何理解分类任务中的logits?

在分类任务中,logits 是模型输出的原始分数,通常是在通过模型的最后一个全连接层之后但在激活函数(如 softmax)之前获得的。它们代表每个类别的未归一化得分或信心度。理解 logits 的过程可以分为以下几个步骤: 模型的…

大前端技术分类

1 基础 2 语言 3 类库 4 框架 5 跨栈 6 架构 7 领域 7.1 中后台 7.2 跨平台 7.3 可视化 7.4 智能化 7.5 工程化 7.5.1 规范化 7.5.2 流程化 —— 前端工程化工具系列 7.5.3 模板化 7.5.4 自动化 7.5.5 平台化 7.6 其他 7.6.1 音视频 7.6.2 Web3 7.6.3 区块…

统信UOS屏蔽mysql显性的用户名称以及密码

有的时候我操作数据库的脚本语句为 > mysql -u用户名 -p密码 -D数据库名称 -e"sql语句" 这样展示的话,会暴漏我的用户名称和用户密码 如果不想每次都展示用户名和密码的话需要以下操作 创建.my.cnf 文件 可以在用户的主目录下创建或编辑 .my.cnf 文件…

搜索二叉树的概念及实现

搜索二叉树的概念 搜索二叉树规则(左小右大): 非空左子树的键值小于其根节点的键值非空右子树的键值大于其根节点的键值左右子树均为搜索二叉树 如图: 在搜索时,若大于根,则去右子树寻找;若小…

Python:基础爬虫

Python爬虫学习(网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…

flask实现抽奖程序(一)

后端代码E:\LearningProject\lottery\app.py from flask import Flask, render_template import randomapp Flask(__name__)employees [赵一, 钱二, 孙三, 李四, 周五, 吴六, 郑七, 王八]app.route(/) def hello_world():return render_template(index.html, employeesemplo…

企业多云策略的优势与实施指南

企业在选择云服务提供商时,常见的选项包括亚马逊AWS、微软Azure、谷歌云GCP、阿里云、腾讯云和华为云。为了避免过度依赖单一供应商,许多企业选择采用多云策略,这样可以充分利用不同云服务的优势,同时避免重复工作和其他额外的工作…

每天五分钟计算机视觉:如何在现有经典的卷积神经网络上进行微调

本文重点 在深度学习领域,卷积神经网络(Convolutional Neural Networks,CNN)因其强大的特征提取和分类能力而广泛应用于图像识别、自然语言处理等多个领域。然而,从头开始训练一个CNN模型往往需要大量的数据和计算资源,且训练时间较长。幸运的是,迁移学习(Transfer Le…

postgresql中geometry类型数据迁移

postgresql中geometry类型数据迁移 在PostgreSQL中,如果你需要从一个PostGIS扩展支持的数据库迁移到另一个,并且你想要迁移geometry类型的数据,你可以使用以下步骤: 在目标数据库中创建与源数据库相同结构的表。 使用ST_GeomFromText或ST_GeomFromWKB函数将源数据库中的…

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

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

服务器每次登陆都需要source .bashrc才能使用conda的问题[已解决]

1. 如果当前文件夹中没有.bash_profile文件,则创建该文件并填入下列信息:(如果有该文件,则直接添加下列代码) if [ -f ~/.bashrc ]; then . ~/.bashrc; fi2. 执行命令 source .bash_profile3. 重新登陆服务器&#x…