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待机模式控制输入端口。

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

如果一个逻辑高电平被加在 TJA1040T 的 STB 引脚上,此时芯片进入低功率总线监控待机模式。当 TJA1040T 运行在低功耗总线监控待机模式下的时候,总线上一个大于 5us 的显性位由总线监控电路传递到接收器输出。然后,当此器件需要向总线传输数据时候,本地协议控制器可以重新激活此器件。

3.3原理图V1.0

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

3.4原理图V2.0

之前数据手册中没有相关的电路图设计,是根据之间的笔记设计的,有很多的地方存在错误。

查看了另一家公司的芯片数据手册(杰盛微 TJA1040T-JSM)和老师的原理图,现总结如下。

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

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

相关文章

【递归、搜索与回溯】综合练习一

综合练习一 1.找出所有子集的异或总和再求和2.全排列 II3.电话号码的字母组合4.括号生成 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.找…

Unity射击游戏开发教程:(27)创建带有百分比的状态栏

创建带有弹药数和推进器百分比的状态栏 在本文中,我将介绍如何创建带有分数和百分比文本的常规状态栏。 由于 Ammo Bar 将成为 UI 的一部分,因此我们需要向 Canvas 添加一个空的 GameObject 并将其重命名为 AmmoBar。我们需要一个文本和两个图像对象,它们是 AmmoBar 的父级。…

认识Django框架,使用Django 2024新手创建Django项目,使用编译工具:Pycharm

Django简单介绍 Django 是一个用 Python 编写的开源 web 应用框架,旨在促进快速开发、维护和部署高效、可扩展的 web 应用程序。它是遵循模型-模板-视图(MTV)设计模式的一个高级框架,尽管有时也被描述为遵循MVC(模型-…

Python数据分析与机器学习在医疗诊断中的应用

文章目录 📑引言一、数据收集与预处理1.1 数据收集1.2 数据预处理 二、特征选择与构建2.1 特征选择2.2 特征构建 三、模型选择与训练3.1 逻辑回归3.2 随机森林3.3 深度学习 四、模型评估与调优4.1 交叉验证4.2 超参数调优 五、模型部署与应用5.1 模型保存与加载5.2 …

Ubuntu基础-vim编辑器

目录 前言: 一. 安装 二. 配置 三. 基本使用 1.使用 Vim 编辑文本文件 2.代码编辑 3.多窗口编辑 四. 总结 前言: Vim 是从 VI 发展出来的一个文本编辑器,具有代码补充、错误跳转等功能,在程序员中被广泛使用。它的设计理念是命令的组合&#xff…

调用华为API实现车牌识别

目录 1.作者介绍2.华为云车牌识别2.1车牌识别技术2.2华为云OCR 3.实验过程3.1获取API密钥3.2Python代码实现3.3实验结果 参考链接 1.作者介绍 袁明懿,男,西安工程大学电子信息学院,2023级研究生 研究方向:机器视觉与人工智能 电子…

全方位·多层次·智能化,漫途水库大坝安全监测方案

党的十九届五中全会提出,到2025年前,完成新出现病险水库的除险加固,配套完善重点小型水库雨水情和安全监测设施,实现水库安全鉴定和除险加固常态化。 加快推进小型水库除险加固。加快构建气象卫星和测雨雷达、雨量站、水文站组成…

基于STM32和人工智能的智能家居监控系统

目录 引言环境准备智能家居监控系统基础代码实现:实现智能家居监控系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统4.4 用户界面与数据可视化应用场景:智能家居环境监控与管理问题解决方案与优化收尾与总结 1. 引言 随着智能家居技术的发展&…

【STM32】飞控设计

【一些入门知识】 1.飞行原理 【垂直运动】 当 mg>F1F2F3F4,此时做下降加速飞行 当 mg<F1F2F3F4,此时做升高加速飞行 当 mgF1F2F3F4 ,此时垂直上保持匀速飞行。 【偏航飞行】 ω 4 ω 2 ≠ ω 1 ω 3 就会产生水…

maven学习小结

目录结构 maven为项目提供一个标准目录结构 环境配置 下载maven包后解压,配置解压目录的bin到path变量,然后终端mvn -v,有回显则表明maven安装成功 pom POM,Project Object Model,项目对象模型,是一个xm…

MySQL—多表查询—联合查询

一、引言 之前学习了连接查询。现在学习联合查询。 union:联合、联盟 对于union查询,就是把多次查询的结果合并起来,形成一个新的查询结果集 涉及到两个关键字:union 和 union all 注意: union 会把上面两个SQL查询…

人脸匹配——OpenCV

人脸匹配 导入所需的库加载dlib的人脸识别模型和面部检测器读取图片并转换为灰度图比较两张人脸选择图片并显示结果比较图片创建GUI界面运行GUI主循环运行显示全部代码 导入所需的库 cv2:OpenCV库,用于图像处理。 dlib:一个机器学习库&#x…

Python第二语言(十四、高阶基础)

目录 1. 闭包 1.1 使用闭包注意事项 1.2 小结 2. 装饰器:实际上也是一种闭包; 2.1 装饰器的写法(闭包写法) :基础写法,只是解释装饰器是怎么写的; 2.2 装饰器的语法糖写法:函数…

自动化数据驱动?最全接口自动化测试yaml数据驱动实战

前言 我们在做自动化测试的时候,通常会把配置信息和测试数据存储到特定的文件中,以实现数据和脚本的分离,从而提高代码的易读性和可维护性,便于后期优化。 而配置文件的形式更是多种多样,比如:ini、yaml、…

Vue项目实践:使用滚动下拉分页优化大数据展示页面【通过防抖加标志位进行方案优化】

Vue项目实践:使用滚动下拉分页优化大数据展示页面 前言 传统的分页机制通过点击页码来加载更多内容,虽然直观,但在处理大量数据时可能会导致用户体验不佳。相比之下,滚动下拉分页能够在用户滚动到页面底部时自动加载更多内容&…

使用difflib实现文件差异比较用html显示

1.默认方式&#xff0c;其中加入文本过长&#xff0c;需要换行&#xff0c;因此做 contenthtml_output.replace(</style>,table.diff td {word-wrap: break-word;white-space: pre-wrap;max-width: 100%;}</style>)&#xff0c;添加换行操作 ps&#xff1a;当前te…

人工智能和机器学习这两个概念有什么区别?

什么是人工智能&#xff1f; 先来说下人工智能&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI&#xff0c;通俗来讲就是用机器去做在过去只有人能做的事。 人工智能最早是由图灵提出的&#xff0c;在1950年&#xff0c;计算机…

Syncovery:跨平台高效文件备份与同步的得力助手

在数字化时代&#xff0c;数据安全与文件同步已成为个人及企业不可或缺的需求。Syncovery作为一款专为Mac和Windows用户设计的文件备份和同步工具&#xff0c;凭借其高效、安全和易用的特点&#xff0c;赢得了广泛赞誉。 一、强大备份功能 Syncovery支持多种备份方案和数据格…

AI宣传文案软件有哪些?5款AI软件推荐

AI宣传文案软件有哪些&#xff1f;AI宣传文案软件在现代营销和创意产业中扮演着越来越重要的角色&#xff0c;它们凭借先进的自然语言处理、机器学习和深度学习技术&#xff0c;不仅解放了创作者的双手&#xff0c;还大大提升了文案的生成效率和质量。这些软件能够精准捕捉用户…

防火墙安全管理

大多数企业通过互联网传输关键数据&#xff0c;因此部署适当的网络安全措施是必要的&#xff0c;拥有足够的网络安全措施可以为网络基础设施提供大量的保护&#xff0c;防止黑客、恶意用户、病毒攻击和数据盗窃。 网络安全结合了多层保护来限制恶意用户&#xff0c;并仅允许授…