串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。
一、串口协议与RS-232标准
1、串口协议
串口通讯 (Serial Communication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 通讯协议,我们以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。 在这里主要通过RS-232实现双击通信,所以下面介绍RS-232标准,RS-232 标准主要规定了信号的用途、通讯接口以及信号的电平标准。
2、RS-232标准
RS-232标准主要规定了信号的用途、通讯接口以及信号的电平标准。 使用RS-232标准的串口设备间常见的通讯结构见图。 在上面的通讯方式中,两个通讯设备的"DB9接口"之间通过串口信号线建立起连接,串口信号线中使用"RS-232标准"传输数据信号。由于RS-232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过一个"电平转换芯片"转换成控制器能识别的"TTL校准"的电平信号,才能实现通讯。RS232标准串口主要用于工业设备直接通信,电平转换芯片一般有MAX3232,SP3232。
3、电平标准
根据通讯使用的电平标准不同,串口通讯可分为TTL标准及RS-232标准,见表 常见的电子电路中常使用 TTL 的电平标准,理想状态下,使用 5V 表示二进制逻辑 1 ,使用 0V 表示逻辑 0 ;而为了增加串口通讯的远距离传输及抗干扰能力,它使用 -15V 表示逻辑 1 , +15V 表示逻辑 0 。使用 RS232 与 TTL 电平校准表示同一个信号时的对比见下图 所以对于单片机,引出的串口,输出的信号是TTL电平,而电脑一般的通信接口为USB,对于USB 是无法直接与TTL串口通信,接口不匹配,电平也不匹配,所以这时候需要借助外设来实现接口与电平的转换,这里使用USB-to-ttl的线来进行连接电脑和单片机设备,如图所示
二、USB转TTL实现双机通信
1、接线操作
串口转TTL模块1的RX接串口转TTL模块2的TX 串口转TTL模块1的TX接串口转TTL模块2的RX
2、实现双机通信
准备一个要发送的图片文件
打开串口调试助手 ,选择端口号 ,并且点击打开串口 设置波特率 为115200 ,点击打开文件 ,选择要发送的文件,窗口中显示了文件字节大小,点击发送文件 开始发送文件 预计时间21.96秒 用手机计时,实际用时34.33秒 接收端接收成功,点击保存数据 保存文件 保存成功,打开对应路径查看 打开如图显示的文件,成功接收到图片 更改波特率,测试同一个文件的传输时间:
- 如前文,当波特率为115200时,预计传输时间为21.96s,实际传送时间为34.33s
- 当波特率为256000时,预计传输时间9.96s,实际传输时间17.69s
- 当波特率为512000时,预计传输时间4.96s,实际传输时间15.51s
三、总结
在这次的实验中我学习了如何使用串口在两台计算机之间传输文件,并且比对了不同波特率所对应的文件实际传输速率。由统计的数据可以得知,在一定的范围内,两者呈现正相关的关系,波特率越大,传输速率越快,与之对应的传输时间越短。但是波特率过大,比对波特率为256000和512000,传输速率却并不会呈现明显的增长。
参考文献
https://blog.csdn.net/cool9932/article/details/79419990 https://blog.csdn.net/qq_54496810/article/details/121332728?spm=1001.2014.3001.5501
|