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

    浏览量

    10328
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2025年热门UART射频模块品牌与应用案例

    。在众多射频模块中,支持UART(通用异步收发传输器)接口的模块因其简单、可靠的特性,广泛应用于数据传输和设备通信。 以下是2025年值得关注的UART射频
    的头像 发表于 07-22 09:42 ?111次阅读
    2025年热门<b class='flag-5'>UART</b>射频<b class='flag-5'>模块</b>品牌与应用案例

    Altera A10 SoC HPS UART作为数据通讯接口应用的配置与调试

    和其它单板或模组进行互连通讯。当 UART 作为数据通讯接口时,对传输的带宽就会有较高要求,往往原先的波特率 115200 就不能适应这样的需求了。接下来将介绍 Altera A10
    的头像 发表于 04-24 15:32 ?654次阅读
    Altera A10 SoC HPS <b class='flag-5'>UART</b>作为数据<b class='flag-5'>通讯</b>接口应用的配置与调试

    LoRa1120 全频段Lora无线通讯模块规格书

    LoRa1120 全频段Lora无线通讯模块规格书
    发表于 04-02 10:39 ?1次下载

    模拟量采集模块如何与PLC通讯

    模拟量采集模块与PLC(可编程逻辑控制器)的通讯是工业自动化控制系统中至关重要的一环。这一通讯过程不仅确保了模拟信号的准确传输,实现数据的实时采集、转换和处理,为自动化控制提供了坚实
    的头像 发表于 01-23 17:11 ?741次阅读

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

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

    光学指纹模块-20年技术沉淀、先锋之选

    光学指纹模块具有简单易用的接口设计,支持多种通讯协议(如UART、usb),为开发者提供灵活的二次开发能力,缩短产品上市时间
    的头像 发表于 12-05 12:03 ?494次阅读
    光学指纹<b class='flag-5'>模块</b>-20年技术沉淀、先锋之选

    利用MSP430F169的USART0的I2C模式与LMP91000通信,UART没办法与上位机通讯怎么解决?

    利用MSP430F169的USART0的I2C模式与LMP91000通信,却发现原来调试好的UART没办法与上位机通讯通讯结果都是乱码,是不是因为两个都在USART0模块,所以产生
    发表于 12-02 07:52

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

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

    NXP FRDM-MCXA153 RT-Thread实践指南之UART介绍

    近期,我们即将推出一系列关于MCXA153 RTT的深度文章,这一系列将全面而细致地探讨该系列微控制器的多个核心功能模块,旨在为广大电子爱好者、工程师及研发人员提供宝贵的技术资源和见解。首当其冲的将是关于12C、SPI、FLASH、ADC、GPIO以及UART的精彩
    的头像 发表于 10-18 10:03 ?960次阅读
    NXP FRDM-MCXA153 RT-Thread实践指南之<b class='flag-5'>UART</b><b class='flag-5'>介绍</b>

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

    频率是两个关键参数,它们之间存在一定的关系,并且UART串口有一系列常用的波特率。以下是对这两个概念的介绍。 一、UART波特率和传输频率的关系 1. 定义与区别 波特率(Baud Rate
    的头像 发表于 10-06 16:12 ?7548次阅读
    <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 ?942次阅读

    了解蓝牙模块串口通讯基础知识

    在物联网时代,设备之间的无线通信变得越来越重要,蓝牙串口UART(UniversalAsynchronousReceiver/Transmitter)是一种利用蓝牙技术进行无线通信的串行接口。它在
    的头像 发表于 09-02 16:16 ?2479次阅读
    了解蓝牙<b class='flag-5'>模块</b>串口<b class='flag-5'>通讯</b>基础知识

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

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