STM32 —— USB 转 TTL(CH340)
在使用 USB 转 TTL 模块之前,我们需要了解 TTL 协议
串口 TTL
什么是 TTL
TTL 一般是从单片机或者芯片中发出的电平,高电平为 5V(51单片机)或者 3.3V(stm32)
TTL 接口属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的 TTL 数据信号经电缆线直接传送到液晶面板的输入接口
TTL 电平
TTL 电平信号应用广泛,是因为其数据表示采用二进制规定,即:
逻辑高电平 == 0 == VCC == 3.3V 或 5V
逻辑低电平 == 0 == 0V == 0V
数字电路中,由 TTL 电子元器件组成电路的电平是个电压范围,规定:
输出高电平 >= 2.4V,输出低电平 <= 0.4V
输入高电平 >= 2.0V,输入低电平 <= 0.8V
USB 转 TTL 使用
简介
USB 转 TTL 模块的作用就是把电平转换到双方都能识别进行通信
单片机通信接口的电平逻辑和 PC 机通信接口的电平逻辑不同,PC 机上的通信 接口有 USB 接口,相应电平逻辑遵照 USB 原则;还有 DB9 接口(九针口),相应电平逻辑遵照 RS-232 原则
单片机上的串行通信通过单片机的 RXD、TXD、VCC、GND 四个引脚,相应电平逻辑遵照 TTL 原则
USB 是一种串口(串口是一大类接口,包括但不仅限于 RS232),它拥有复杂的通讯协议,支持热插拔,并可以以非常快的速度传输数据。串口,是指 RS232 串口,这是一种几乎没有协议的传输接口,可以直接收发数据
具体关于 RS-232 协议的内容会在我的另外一篇博客介绍到:STM32 —— 常用串口通信协议
USB 转 TTL 串口模块是一个非常实用的工具,可以测试模块的 UART 串口通信和通过单片机的 UART 接口给单片机等下载程序。
能够在电脑上的串口助手软件非常直观的显示出串口设备返回的数据以及发送相应的控制数据给串口设备。
常见的有 CP2102、PL2303、FT232、CH340 等串口芯片方案的 USB 转串口模块。以下以 CH340 串口模块为例,对其进行自检测试。、
实物如下图:
工作原理
USB 转串口即实现计算机 USB 接口到物理串口之间的转换。可以为没有串口的计算机或其他 USB 主机增加串口,使用 USB 转串口设备等于将传统的串口设备变成了即插即用的 USB 设备
串口发送:
串口应用发送数据 -> USB 串口驱动获取数据 -> 驱动将数据经过 USB 通道发送给 USB 串口设备 -> USB 串口设备接收到数据通过串口发送
串口接收:
USB 串口设备接收串口数据 -> 将串口数据经过 USB 打包后上传给 USB 主机 -> USB 串口驱动获取到通过 USB 上传的串口数据 -> 驱动将数据保存在串口缓冲区提供给串口应用读取
USB转串口CH340接线
下图是 USB 转串口模块的一些功能模块的标示,USB 转串口电路板背后还预留了一些全信号输出的接口,可以将电线直接焊接在这些引脚上来使用预留的功能
下图是对 USB 转串口模块的引脚标示
VCC 与 GND 直接接在单片机上的 VCC 与 GND 即可,RXD 与 TXD 需要接在相对应的 RCC 输入输出的引脚上,这样就可以通过上位机将数据或程序发送或烧录到单片机中
CH340 模块驱动安装
首先,我们将所使用的模块插在电脑上,然后打开设备管理器,由于还没有安装相对应的驱动,所以,在设备管理器中还看不到对应的模块:
我们需要在官网下载模块型号对应的驱动:CH340官网点击下载
下载后解压出来的内容如下图:
直接点击 SETUP.EXE 进行安装,虽然显示的是 CH341SER.INF ,但是 CH341SER.INF 兼容 CH340 ,所以直接点击安装即可:
安装成功如下图:
然后我们重新插上 CH340 模块,重新打开设备管理器,就能看到 CH340 模块对应的设备了:
配置 COM 口编号
在设备管理器中右键点击设备,选择属性,并选择端口设置页面,如下图:
点击高级,查看端口号:
测试
下面是用 SSCOM 串口测试工具进行测试,SSCOM 串口测试工具官方下载网站:SSCOM
选择所设置好的串口,打开串口,输入并发送文字,查看是否收到,或收到的字符是否一致:
如果能自收自发数据,且收发数据一致,就说明驱动配置完成,并且模块功能完整
注意事项
1.CH340 模块插在 USB2.0 口时,5V 排针输出口电流只有 500MA 左右,如过要接的功率比较的大模块建议接 USB3.0 或者给大功率模块单独外接电源且共地
2. 切勿将 VCC 与 GND 短接,否则会烧坏模块,发现插上后模块灯不亮货模块发烫严重请立即拔掉检测是否接反或短路。