USB转TTL实现双机通信
一、串口通信电平简介
(一)TTL标准电平
TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V,与单片机、SOC的IO电平兼容。我们进行串口通信的时候从单片机直接出来的基本上都是TTL电平。
因为单片机通信接口的电平逻辑和PC机通信接口的电平逻辑不同,PC机上的通信接口有USB接口,相应电平逻辑遵照USB原则(输出5v);
而我们如果要实现电脑与单片机通信就需要一个USB转TTL模块
(二)Rs232标准
RS-232通信距离传输距离15m、最大位速率为20Kb/s
串口通信接口标准——RS232
在TXD和RXD数据线上:
(1)逻辑1的电平为-3V~-15V
(2)逻辑0的电平为+3~+15V的电压
在RTS、CTS、DSR、DTR和DCD等控制线上:
(1)信号有效(接通,ON状态)为+3~+15V的电压
(2)信号无效(断开,OFF状态)为-3~-15V的电压
如果我们计算机需要与RS232标准的设备通信,因为电气特性不一样,所以我们要用到USB转RS232模块
接线如下
USB转串口模块
该电气标准的优点在于提高了抗干扰能力,增大了通信距离。
(三)Rs232标准与TTL标准的区别
TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。
RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1。
为何RS232中要(很奇怪的)用负电压表示逻辑高电平呢?
按理来说:
TTL用正电压(3.3V或5V)表示逻辑1,用0电压表示逻辑0,是相对来说,比较符合人类的逻辑的
但是,为何RS232却,很奇怪的,用负电压表示逻辑高电平==1呢?
那是因为:
此设计(用负电压表示逻辑1,正电压表示逻辑0)相对来说,更加:
- 抗(外界的电磁)干扰
- 抗外界的(电磁信号)噪音干扰
- 抗(信号的)衰减
- 使得和同样的TTL信号相比,RS232信号可以传输的更远
由此使得:
信号传输,相对更加稳定和可靠
TTL和RS232之间的详细对比
二、USB转TTL实现双机通信
(一)连线操作
接线操作
串口转TTL模块1的RX接串口转TTL模块2的TX
串口转TTL模块1的TX接串口转TTL模块2的RX
两者共地相连
(二)打开串口调试助手
这里要选择一个带文件传输功能的串口调试助手
设置波特率,准备一个要发送的文件
查看大小
可以看到文件大小为50634字节
理论时间:(50634*8)/115200+(50634/256)*0.001=3.197s
开始发送
实际用时:6.61s
保存接收到的文件
找到接收到的文件,并用图片方式打开
总结
在通过串口传输文件中,增大波特率可以提高传输速率,但是设定过大,但由于电平相对较低,容易收到干扰,传输距离也相对较短、速度较慢,在工业领域,更多的采用是RS232、RS485标准,由于此次没有USB转RS232模块,所以我们用USB转TTL模块替代。
参考