原标题:虚拟示波器验证串口波形时序
关注我们
在做项目的时候是不是发现串口是最常用的通信接口,所以自己整理了一下关于串口的一些常识性知识,方便自己学习。
关键词:Loto虚拟示波器,串口时序,电平标准,模拟串口
我们常说的串口按电平分类的话有两种,一种是TTL电平的串口,一种是232电平的串口。
首先我们先看一下这两种电平的区别。
TTL电平标准:输出L: <0.8V; H: >2.4V,输入L: <1.2V: H: >2.0V
TTL器件输出低电平要小于0.8V,高电平要大于2.4V,输入,低于1.2V就认为是0,高于2.0就认为是1.于是TTL电平的输入低电平的噪声容限就只有(O.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V.
RS232标准:
逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,注意电平的定义反相了一次。
然而TTL电平的串口还可以分为两种UART与USART。我们打开stm32cubeMX看到stm32F103有2个UART和3个USART。在日常我们就可以说,它有5个串口,因为USART可以配置成UART。
UART与USART都是单片机上的串口通信,他们之间的区别如下:
首先从名字上看:
UART:universal asynchronous receiver and transmitter通用异步收/发器
USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器
从名字上可以看出,USART在UART基础上增加了同步功能,即USART是UART的增强型,事实也确实是这样。但是具体增强到了什么地方呢?
其实当我们使用USART在异步通信的时候,它与UART没有什么区别,但是用在同步通信的时候,区别就很明显了:大家都知道同步通信需要时钟来触发数据传输,也就是说USART相对UART的区别之一就是能提供主动时钟。如STM32的USART可以提供时钟支持ISO7816的智能卡接口。
在实际的项目中用的最多的还是UART ,配置为:N, 8 ,1.波特率常用的有2400,9600,57600,115200.我们用串口来干什么呢?用过一些模块的工程师会知道,很多模块都是通过串口来控制或者通过串口透传数据的,比如gsm(2g,4g),gps,wifi,蓝牙等等,这些模块都是通过串口来控制。所以作为一个工程师,必须要搞懂串口。
下面我们通过Loto虚拟示波器采集不同波特率的TTL的UART 波形:
对比理论的时序图,我们找找起始位和停止位,这个数据是多少?
有时候我们面试会考一个题目,那就是UART波特率9600的时候,它的一个bit是多长时间,这个怎么算?初学者肯定蒙了,我用串口直接就配置然后发数据就行了,从来没算过,下面我总结一下:
波特率2400:1/2400≈416.67*10^(-6)s=416.67us
波特率4800:1/4800≈208.33*10^(-6)s=208.33us
波特率9600:1/9600≈104.17*10^(-6)s=104.17us
波特率19200:1/19200≈52.08*10^(-6)s=52.08us
波特率57600:1/57600≈17.36*10^(-6)s=17.36us
波特率115200:1/115200≈8.68*10^(-6)s=8.68us
对比我们用Loto虚拟示波器采集的数据看看是不是一致呢?
优势物料
ST
VIPER22ADIP-E A/D转换器
ST
STP26NM60NMOS
ST
STW26NM60N MOS
NXP
BAS316,115 二极管
复制型号登陆融创芯城(www.digiic.com)搜索购买!
融创芯城(www.digiic.com) ,专业服务小批量的采购和配单要求, 提供一站式电子元器件,PCB,PCBA购买服务; 并提供项目众包、方案共享平台、商家免费入驻、工程师交流论坛、共享电子圈、行业最前沿、人才招聘!返回搜狐,查看更多
责任编辑: