一、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引脚
引脚号 | 引脚名称 | 类型 | 引脚说明 |
1 | UD+ | USB信号 | 直接连到 USB 总线的 D+ 数据线,不要串联电阻 |
2 | UD- | USB信号 | 直接连到 USB 总线的 D- 数据线,不要串联电阻 |
3 | GND | 电源 | 公共接地端,直接连到 USB 总线的地线 |
5 | |||
6 | |||
7 | VCC | 电源 | 3.3V 正电源输入端,需要外接 0.1uF 电源退耦电容 |
8 | TXD | 输出 | 串行数据输出 |
9 | RXD | 输入 | 串行数据输入,内置可控的上拉和下拉电阻 |
10 | V3 | 电源 | 在 3.3V 电源电压时连接 VCC 输入外部电源 在 5V 电源电压时外接容量为 0.1uF 退耦电容 |
1.2.4其他说明
- CH340 未用到的 I/O 引脚可以悬空。
- CH340 芯片支持 5V 电源电压或者 3.3V 电源电压。
当使用 5V 工作电压时,CH340 芯片的 VCC 引脚输入外部 5V 电源,并且 V3 引脚应该外接容量为 0.1uF 的电源退耦电容。当使用 3.3V 工作电压时,CH340 芯片的 V3 引脚应该与 VCC 引脚相连接,同时输入外部的 3.3V 电源,并且与 CH340 芯片相连接的其它电路的工作电压不能超过 3.3V。 - CH340 芯片内置了 USB 上拉电阻,UD+ 和 UD- 引脚应该直接连接到 USB 总线上。
- 异步串口方式下 CH340 芯片的引脚包括:数据传输引脚、MODEM 联络信号引脚、辅助引脚。
- 数据传输引脚包括: TXD 引脚和 RXD 引脚。串口输入空闲时,RXD 应为高电平。串口输出空闲时,CH340G/C/N/E/X/B/T 芯片的 TXD 为高电平。
- TNOW 引脚以高电平指示 CH340 正在从串口发送数据,发送完成后为低电平,在 RS485 等半双工串口方式下,TNOW 可以用于指示串口收发切换状态。
1.3原理图
1.3.1 v1.0
存在的错误:
(1)5V 供电
- 你的依靠原理不成立:虽然之前电源原理图中 USB 口进行了 5V 供电,但是 5V 供电是为了全局供电,其中的 TTL_D+、TTL_D- 是单纯的数据传输。
- 元器件浪费:5V 供电除了 0.1uF 电容滤波之外(数据手册的意思),还需要 100uF 铝电解大电容或10uF 电容滤波。
- 数据手册中说:3.3V 供电时与 CH340 芯片相连接的其它电路的工作电压不能超过 3.3V。
信息传输后一级的 STM32 和其他主要组件工作在 3.3V,应当选择3.3V供电,而不是 5V 。
(2)TNOW 引脚
无需进行串口正在发送状态指示,可以悬空,不用接电阻耗能。
1.3.2 v2.0
1.4 USB信号的全局理解
- USB 的 “写” 是 STM32 的 “读串口”,USB 的 “读” 是 STM32 的 “写串口”。
- STM32 原理图部分应该是通过跳线帽的方式来确认数据的路线。
- USB 部分既可以用来供电,又可以用来数据的两方向传输。
二、RS-485 接口设计
2.1指路
延续使用芯片 SP3485EEN,封装为SOP-8。


2.2数据手册
一定一定要去看之前的笔记,详细的讲解了这款芯片。UART、RS232、RS485基础知识+硬件知识_uart rs485-CSDN博客
2.2.1功能
将外界采用 RS485 通信的设备转成 串口 通信,得以和单片机进行通信。
2.2.2引脚
序号 | 引脚名称 | 功能介绍 |
1 | RO | 接收器输出 当 |
2 | 接收器输出使能控制 当 | |
3 | DE | 驱动器输出使能控制 当DE为高电平时,驱动器输出可用。 当DE为低电平时,输出处于高阻抗状态。 |
4 | DI | 驱动器输入 当DE为高电平时, DI低电平迫使非反相驱动器输出A为低电平,反相驱动器输出B为高电平; Dl高电平迫使非反相驱动器输出A为高电平,反相驱动器输出B为低电平。 |
5 | GND | 地面 |
6 | A | 非反相接收器输入和非反相驱动器输出 |
7 | B | 反相接收器输入和反相驱动器输出 |
8 | VCC | 电源供应 |
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。


3.2数据手册
3.2.1概述
TJA1040T 是 CAN 收发器,能够为信号传输速率高达 1Mbps 的 CAN 控制器提供差分传输和接收。
3.2.2引脚说明
引脚 | 符号 | 说明 |
1 | TXD | 传输数据输入。TXD 为高 CAN 总线输出为隐性态,TXD 为低 CAN 总线输出为显性态。 |
2 | GND | 地。 |
3 | VCC | 供电电压。 |
4 | RXD | 接收器数据输出。当 CAN 总线处于隐性态时候,RXD 为高电平。当 CAN 总线处于显性态时候,RXD 为低电平。 |
5 | SPLIT | 共模稳定输出端口。 |
6 | CANL | 低电平 CAN 总线端口。 |
7 | CANH | 高电平 CAN 总线端口。 |
8 | STB | 待机模式控制输入端口。 |
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 这类具有高输入阻抗和宽共模范围的收发器收发器。
- 高输入阻抗意味着收发器对总线信号的负载很小,减少了每个节点对总线的影响。在大规模网络中,如果每个节点的输入阻抗较低,会显著增加总线的负载,导致信号衰减和失真,进而影响通信的可靠性。高输入阻抗的收发器允许更多节点同时连接到总线而不会导致上述问题。
- 共模范围是指收发器能够接受的信号电压范围。宽共模范围意味着收发器能够在较大的电压范围内正确地接收信号。CAN总线通信使用差分信号线,但由于不同节点的接地电位可能存在差异,信号线上的电压可能会有共模偏移。具有宽共模范围的收发器能够在存在这些偏移的情况下仍然可靠工作,确保在复杂电气环境中的稳定通信。

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 。

