一、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 | 接收器输出 当为低电平:如果A-B>200mV,RO=高;如果A-B≤-200mV,RO=低 |
2 | 接收器输出使能控制 当为低电平时,接收器输出启用,RO输出可用。 | |
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 | 待机模式控制输入端口。 |
STB 输入 (引脚 8 ) 用于在两个不同的运行模式之间做出选择,即高速模式或低速模式,使用中可通过将 STB 引脚接地来选择高速运行模式。
如果一个逻辑高电平被加在 TJA1040T 的 STB 引脚上,此时芯片进入低功率总线监控待机模式。当 TJA1040T 运行在低功耗总线监控待机模式下的时候,总线上一个大于 5us 的显性位由总线监控电路传递到接收器输出。然后,当此器件需要向总线传输数据时候,本地协议控制器可以重新激活此器件。
3.3原理图V1.0
参考笔记画的:CAN总线基础知识+硬件知识_can总线技术基础-CSDN博客
3.4原理图V2.0
之前数据手册中没有相关的电路图设计,是根据之间的笔记设计的,有很多的地方存在错误。
查看了另一家公司的芯片数据手册(杰盛微 TJA1040T-JSM)和老师的原理图,现总结如下。