单片机
返回首页

MSP430F169(二)——UART波特率(论上)

2022-08-19 来源:csdn

串口通信

1. 什么叫串口

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface)是指数据一位一位地顺序传送。

与并行接口相比,其优点也非常明显:


成本低,最少需要一根线就可以完成传输;

没有数据的相互干扰,误码率相对较低;

缺点:传输速率相对较低。


2. 串口如何建立通信

对单片机有所了解的人都应该知道,串口通信是通过调配单片机内部的寄存器来控制速率。而MSP430F169内部最重要的几个配置无非是波特率的设置和多机通信。


2.1什么是波特率

在讲波特率之前我们要区分两个概念:波特率和比特率。

比特率:

比特率是指每秒传送的比特(bit)数。单位为比特(bps,bit/s),比特率越高,传送数据速度越快。(说白了就是传输0和1的速率:即每秒传输二进制的位数)

波特率:

波特率是指每秒传送的码元数。单位为波特(baud,symbol/s)。波特率是传输通道屏宽的指标。(即每秒传输字符的个数。例如9600的波特率,即每秒传输9600个字符,如果一个字符为八个码元,每个码元3个调制,即传输9600*3个bit)

任意两个单片机通信都需要一个相同的波特率,即传输速率相同,达到收发一致。


2.1.1计算波特率

受限于串口的模式,串口通信不能太快。于是降低一定的时钟频率,使单片机有足够的时间来处理数据,选择时钟的分频或者选用低频时钟。注意MSP430F169的UxRB寄存器必须大于三。以保证能够正常运行。如何得到一个波特率,我们直接拿出公式整数

BRCLK: 波特率的时钟源

N:分频因子

UxRB: 分频因子的整数寄存器

i:字符对应的位

mi:每个调制对应的数据(0或1)

n:字符数据位的个数,而MSP430F169的串口一般以8位封装(下面会讲到数据的封装)

例如:BRCLK=32.768KHz,要产生BITCLK=2400Hz,分频器的分频系数为32768 / 2400 = 13.65。所以设置分频器的整数寄存器计数值为13。接下来用调整寄存器的值来设置小数部分的0.65。只是小数部分是无线接近,很难达到精确。实际调整过程中用0.625代替0.65,也就是5/8。0.65*8=5.2,这个式子用来配置1的个数。用小数部分乘以8

至于1配置的位置,根据误码率决定,这里直接给出结论。UxMCTL = 0x6B

即分频器按顺序13、14、14、13、14、13、14、14来分频。在8 位调整器调整位都使用后,再重复这一顺序。

设置精准的波特率是为了降低误码率


2.2 串口数据的封装

我们来解释上面的波特率计算的n为什么为8。直接看下图

在这里插入图片描述

ST:数据起始位,低电平有效

D0~D7:数据位,通过软件可以设置七位还是八位

AD:地址位

PA: 奇偶校验位,可通过软件设置需不需要这位

SP:停止位,可通过软件设置一位还是两位。高电平有效

在实际操作过程中,一般为8位数据位


总结

波特率的设置并不复杂,只需要按照步骤一步步调试,就能够达到一个较为不错的误码率

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 单稳态控制电路设计与分析

  • 光控电路设计与分析

  • IGBT模块通过控制门极阻断过电流

  • 运算放大器IC741的基本工作原理及在电路中的实现方式

  • 基于TDA1554的立体声放大器电路

    相关电子头条文章