13.基础实验(2)异步串口收发的实现

本文介绍了一种异步串口收发的设计方法,包括系统框图、设计分析及实验步骤等内容。重点讲解了如何通过检测数据位的电平变化来实现数据的接收与发送,并通过波形仿真验证了设计方案的有效性。

异步串口收发的实现

一、实验内容

实现串口接收来自串口调试助手发送的数据,然后直接通过自己实现的串口程序将数据发送出去

二、系统框图

三、设计分析

从串口接收开始,这个比较容易实现。参考链接串口通信协议

img

不考虑奇偶校验位,一个字节的串口的发送过程,包含1个低电平的起始位,一个高电平的停止位,中间8个数据位,且数据位是从低位发送到高位。只要保证前一刻为高电平,下一时刻为低电平,则可以确定开始串口开始接收数据,因为不发送数据时,即空闲状态下相应的电平为高电平。

从起始位开始,检测串口的数据的接收。延时一个半起始位的时间后,检测第一个数据位的电平,然后再延时一个数据位的时间,检测第二数据位,直到检测最后一个数据位,这时便检测到了整个字节的数据(停止位不考虑)。具体可以使用下面的时序图实现。

一是控制标志位的时序图。

image-20201230201432344

一个数据位占用的时钟周期数BAUD为时钟频率/波特率,计数到半个计数单元HALF = 1/2 BAUD时,half_baud_flag拉高一个时钟周期,baud_flag则在计算到BAUD计数时拉高一个

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值