0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UART通讯模块介绍

电子设计 来源:电子设计 作者:电子设计 2022-01-11 10:43 次阅读

Other Parts Discussed in Post:MSP430FR2311

MSP430FR2311是一款FRAM数字控制器,可以实现超低功耗,并且集成了丰富的外设模块,可以满足工业和消费等多种应用。MSP430FR2311中的eUSCI_A0支持UART通讯,本文对此UART模块的寄存器配置进行了详细的分析和计算,以帮助工程师对此UART模块进行深入理解和灵活配置。

UART通讯模块介绍

UART属于异步通信模式,MSP430FR2311通过UCA0RXD和UCA0TXD与其它芯片相连,芯片之间并没有时钟信号CLK连接。

在工程应用中,首先根据工程需要选择合适的波特率(Baud Rate),在MSP430FR2311中成为BITCLK,然后选择UART模块的时钟源BRCLK,根据选择的波特率和时钟源频率,进行合适的寄存器配置,便可实现UART通讯。在MSP430FR2311中,UCA0CTLW0中的UCSSELx用来选择时钟源,波特率通过UCOS16, UCBRx, UCBRFx和 UCBRSx来设定。

低频波特率配置

如果BRCLK是BITCLK的整数倍,即BRCLK/BITCLK=N,这时比较容易理解,在UART传输时,每个数据bit时长包含了N个BRCLK。

但往往BRCLK不是BITCLK的整数倍,这时要实现UART通讯就需要进行合适的调制(modulation),以避免累积误差导致UART通讯失败。在MSP430FR2311中,UCBRSx用来实现合理调制。

以传输一个8bit数据为例,在发送的bit位中包含start bit,8bit数据,parity bit和stop bit。

在SLAA049中,用图标明了UCBRSx的modulation模式,如图二所示,它是以8bit为一个循环进行调制。

以时钟源频率BRCLK 32768Hz,波特率BITCLK 2400Hz为例,32768/2400=13.6533,所以UCOS16=0,UCBRx=13,modulation的作用主要是用来消除累积误差,所以如下表所示,当累积误差大于等于0.5时,UCBRSx对应的位置1,否则清零。经过计算,UCBRSx=0xB6.

表1 UCBRSx的生成说明

Start Bit Data Bit0 (LSB) Data Bit1 Data Bit2 Data Bit3 Data Bit4 Data Bit5 Data Bit6
UCBRSx m0
1
m1
0
m2
1
m3
1
m4
0
m5
1
m6
1
m7
0
Fractional 0.6533*1
=0.6533
0.6533*2
=1.3066
0.6533*3
=1.9599
0.6533*4
=2.6132
0.6533*5
=3.2665
0.6533*6
=3.9198
0.6533*7
=4.5731
0.6533*8
=5.2264

所以调制后的Timing如图3所示,图中13代表13个BRCLK时长,14代表14个BRCLK时长。

再以时钟源频率BRCLK 1048576Hz,波特率BITCLK 115200为例,1048576/115200=9.1022,所以UCOS16=0,UCBRx=9,对于m5,虽然小数部分大于0.5,但是由于在m4的位置已经增加了1个BRCLK的时长,所以需要小数部分累积到大于1.5后,UCBRSx的位才会设置为1。经过计算,UCBRSx=0x08.

表2 UCBRSx的生成说明

Start Bit Data Bit0 (LSB) Data Bit1 Data Bit2 Data Bit3 Data Bit4 Data Bit5 Data Bit6
UCBRSx m0
0
m1
0
m2
0
m3
0
m4
1
m5
0
m6
0
m7
0
Fractional 0.1022*1
=0.1022
0.1022*2
=0.2044
0.1022*3
=0.3066
0.1022*4
=0.4088
0.1022*5
=0.5110
0.1022*6
=0.6132
0.1022*7
=0.7154
0.1022*8
=0.8176

MSP430FR2311 User’s Guide中提供了UCBRSx的调制数据,方便快速获得正确的UCBRSx值。如图4所示。

高频波特率配置

MSP430FR2311中包含了一个过采样波特率模式(oversampling baud-rate mode),用来支持高频时钟源。UCA0MCTLW中UCOS16用来使能过采样波特率模式。当UCOS16=1时,过采样波特率模式使能,此时UCBRx中1对应16个BRCLK时长,UCBRFx中1对应1个BRCLK时长。

以时钟源频率BRCLK 4000000Hz,波特率BITCLK 57600为例,4000000/57600=69.4444,再将69除以16,商为4,余数为5,所以UCOS16=1,UCBRx=4,UCBRFx=5. UCBRSx的设置如前面的讨论,不再赘述,UCBRSx=0x55.

在过采样波特率模式中,数值判定(majority votes)时,总是以1/16的数据bit时长(1/BITCLK)来分段。MSP430FR2311 User Guide中提供了UCBRFx的调制表格,如表3所示。

审核编辑:何安

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式处理
    +关注

    关注

    0

    文章

    341

    浏览量

    10029
收藏 人收藏

    评论

    相关推荐

    扩展您的串口设备 EU104数据转发芯片可独立设置通讯速率和参数 将1个UART接口扩展为4个

    扩展您的串口设备 EU104数据转发芯片可独立设置通讯速率和参数 将1个UART接口扩展为4个 EU104是一款数据转发芯片,具有5个UART接口。它可以将1个UART接口扩展为4个
    的头像 发表于 12-23 11:27 98次阅读

    UART通信协议介绍和数据传输工作流程

    UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可实现全双工传输和接收。UART通常用来实现与PC之间数据通信,命令和控制信息的传输等。本文我们介绍UART通信协议、传输
    的头像 发表于 10-24 14:20 853次阅读
    <b class='flag-5'>UART</b>通信协议<b class='flag-5'>介绍</b>和数据传输工作流程

    uart波特率和传输频率的关系 UART串口的常用波特率为多少

    频率是两个关键参数,它们之间存在一定的关系,并且UART串口有一系列常用的波特率。以下是对这两个概念的介绍。 一、UART波特率和传输频率的关系 1. 定义与区别 波特率(Baud Rate
    的头像 发表于 10-06 16:12 3197次阅读
    <b class='flag-5'>uart</b>波特率和传输频率的关系 <b class='flag-5'>UART</b>串口的常用波特率为多少

    UART串口通讯协议解析

    信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。 具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类
    发表于 09-12 16:01

    双模蓝牙模块UART串口和RS232在通讯领域的优势

       双模蓝牙模块UART串口和RS232在通讯领域的优势,尽管这些都是用于数据传输的方式,但它们之间的工作方式和特性存在明显的差异;本文美迅物联网MesoonRF将详细介绍这两种通信
    的头像 发表于 09-09 17:07 429次阅读

    控制模块通讯总线关闭怎么修

    控制模块通讯总线关闭是一个涉及多个可能原因和复杂修复步骤的问题。 一、问题概述 控制模块通讯总线关闭通常指的是车辆或其他系统中的控制模块之间
    的头像 发表于 08-29 15:44 1077次阅读

    简单认识UART通信协议

    模块等多种设备之间的数据传输。以下是对UART通讯协议的详细简述,内容将涵盖其基本原理、工作方式、配置参数、常见应用以及与其他通信协议的比较。
    的头像 发表于 07-25 18:07 1497次阅读

    HT7017 是一颗带 UART 通讯接口的高精度单相多功能计量芯片

    1.芯片简介HT7017是一颗带UART通讯接口的高精度单相多功能计量芯片。芯片的工作电压范围是4.5~5.5V。工作晶振为6MHz。2.芯片特性三路22bitSigma-DeltaADC支持
    的头像 发表于 06-19 16:57 1274次阅读
    HT7017 是一颗带 <b class='flag-5'>UART</b> <b class='flag-5'>通讯</b>接口的高精度单相多功能计量芯片

    西门子PLC与IO模块如何通讯

    Module)作为与外部设备交互的桥梁,其重要性不言而喻。本文将详细阐述西门子PLC如何与IO模块进行通讯,从通讯原理、通讯方式、配置步骤以及优化策略等多个方面进行深入探讨。
    的头像 发表于 06-19 10:46 2089次阅读

    蓝牙模块、WiFi模块等无线通信模块使用规范

    并避免可能的安全隐患,我们必须遵循一定的使用规范。接下来,我们将详细讨论这些规范。  使用无线通信模块前的硬件准备:  一般的无线通信模块都是用UART通讯
    的头像 发表于 05-27 14:07 1038次阅读
    蓝牙<b class='flag-5'>模块</b>、WiFi<b class='flag-5'>模块</b>等无线通信<b class='flag-5'>模块</b>使用规范

    在全志H616核桃派开发板GPIO基础实验之UART串口通讯

    \'\'\' 实验名称:UART(串口通讯) 实验平台:核桃派 \'\'\' #导入相关模块 import serial,time # 配置串口 com = serial.Serial
    发表于 05-24 14:09

    PLC以太网通讯模块是什么?PLC以太网通讯模块的功能特点

    PLC以太网通讯模块是一种专为工业控制系统设计的硬件设备,用于将PLC系统连接到以太网(Ethernet)网络,实现与其它设备或系统的高效、可靠的数据交换。它是PLC系统与外部通信的关键组件,使
    的头像 发表于 04-10 14:04 2310次阅读

    plc无线通讯模块怎么用 plc无线通讯模块怎么编程

    PLC无线通讯模块是一种可以将PLC与其他设备无线连接的模块,使得PLC可以与其他设备进行数据交流和控制。本文将介绍PLC无线通讯
    的头像 发表于 01-25 16:15 2175次阅读

    蓝牙串口通讯总线——I2C/SPI/UART

    嵌入式工程师在做串口通信调试工作的时候,会经常用到I2C、SPI、UART这3条总线,I2C、SPI、UART这三种通信总线在嵌入式领域很常见,目前主流的SOC芯片都内置了这三种总线的控制器,各种
    的头像 发表于 01-22 09:41 1712次阅读
    蓝牙串口<b class='flag-5'>通讯</b>总线——I2C/SPI/<b class='flag-5'>UART</b>