RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

UART通訊模塊介紹

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-01-11 10:43 ? 次閱讀

Other Parts Discussed in Post:MSP430FR2311

MSP430FR2311是一款FRAM數(shù)字控制器,可以實(shí)現(xiàn)超低功耗,并且集成了豐富的外設(shè)模塊,可以滿(mǎn)足工業(yè)和消費(fèi)等多種應(yīng)用。MSP430FR2311中的eUSCI_A0支持UART通訊,本文對(duì)此UART模塊的寄存器配置進(jìn)行了詳細(xì)的分析和計(jì)算,以幫助工程師對(duì)此UART模塊進(jìn)行深入理解和靈活配置。

UART通訊模塊介紹

UART屬于異步通信模式,MSP430FR2311通過(guò)UCA0RXD和UCA0TXD與其它芯片相連,芯片之間并沒(méi)有時(shí)鐘信號(hào)CLK連接。

在工程應(yīng)用中,首先根據(jù)工程需要選擇合適的波特率(Baud Rate),在MSP430FR2311中成為BITCLK,然后選擇UART模塊的時(shí)鐘源BRCLK,根據(jù)選擇的波特率和時(shí)鐘源頻率,進(jìn)行合適的寄存器配置,便可實(shí)現(xiàn)UART通訊。在MSP430FR2311中,UCA0CTLW0中的UCSSELx用來(lái)選擇時(shí)鐘源,波特率通過(guò)UCOS16, UCBRx, UCBRFx和 UCBRSx來(lái)設(shè)定。

低頻波特率配置

如果BRCLK是BITCLK的整數(shù)倍,即BRCLK/BITCLK=N,這時(shí)比較容易理解,在UART傳輸時(shí),每個(gè)數(shù)據(jù)bit時(shí)長(zhǎng)包含了N個(gè)BRCLK。

但往往BRCLK不是BITCLK的整數(shù)倍,這時(shí)要實(shí)現(xiàn)UART通訊就需要進(jìn)行合適的調(diào)制(modulation),以避免累積誤差導(dǎo)致UART通訊失敗。在MSP430FR2311中,UCBRSx用來(lái)實(shí)現(xiàn)合理調(diào)制。

以傳輸一個(gè)8bit數(shù)據(jù)為例,在發(fā)送的bit位中包含start bit,8bit數(shù)據(jù),parity bit和stop bit。

在SLAA049中,用圖標(biāo)明了UCBRSx的modulation模式,如圖二所示,它是以8bit為一個(gè)循環(huán)進(jìn)行調(diào)制。

以時(shí)鐘源頻率BRCLK 32768Hz,波特率BITCLK 2400Hz為例,32768/2400=13.6533,所以UCOS16=0,UCBRx=13,modulation的作用主要是用來(lái)消除累積誤差,所以如下表所示,當(dāng)累積誤差大于等于0.5時(shí),UCBRSx對(duì)應(yīng)的位置1,否則清零。經(jīng)過(guò)計(jì)算,UCBRSx=0xB6.

表1 UCBRSx的生成說(shuō)明

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

所以調(diào)制后的Timing如圖3所示,圖中13代表13個(gè)BRCLK時(shí)長(zhǎng),14代表14個(gè)BRCLK時(shí)長(zhǎng)。

再以時(shí)鐘源頻率BRCLK 1048576Hz,波特率BITCLK 115200為例,1048576/115200=9.1022,所以UCOS16=0,UCBRx=9,對(duì)于m5,雖然小數(shù)部分大于0.5,但是由于在m4的位置已經(jīng)增加了1個(gè)BRCLK的時(shí)長(zhǎng),所以需要小數(shù)部分累積到大于1.5后,UCBRSx的位才會(huì)設(shè)置為1。經(jīng)過(guò)計(jì)算,UCBRSx=0x08.

表2 UCBRSx的生成說(shuō)明

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的調(diào)制數(shù)據(jù),方便快速獲得正確的UCBRSx值。如圖4所示。

高頻波特率配置

MSP430FR2311中包含了一個(gè)過(guò)采樣波特率模式(oversampling baud-rate mode),用來(lái)支持高頻時(shí)鐘源。UCA0MCTLW中UCOS16用來(lái)使能過(guò)采樣波特率模式。當(dāng)UCOS16=1時(shí),過(guò)采樣波特率模式使能,此時(shí)UCBRx中1對(duì)應(yīng)16個(gè)BRCLK時(shí)長(zhǎng),UCBRFx中1對(duì)應(yīng)1個(gè)BRCLK時(shí)長(zhǎng)。

以時(shí)鐘源頻率BRCLK 4000000Hz,波特率BITCLK 57600為例,4000000/57600=69.4444,再將69除以16,商為4,余數(shù)為5,所以UCOS16=1,UCBRx=4,UCBRFx=5. UCBRSx的設(shè)置如前面的討論,不再贅述,UCBRSx=0x55.

在過(guò)采樣波特率模式中,數(shù)值判定(majority votes)時(shí),總是以1/16的數(shù)據(jù)bit時(shí)長(zhǎng)(1/BITCLK)來(lái)分段。MSP430FR2311 User Guide中提供了UCBRFx的調(diào)制表格,如表3所示。

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式處理
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    10012
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UART通信協(xié)議介紹和數(shù)據(jù)傳輸工作流程

    UART是一種通用串行數(shù)據(jù)總線(xiàn),用于異步通信。該總線(xiàn)雙向通信,可實(shí)現(xiàn)全雙工傳輸和接收。UART通常用來(lái)實(shí)現(xiàn)與PC之間數(shù)據(jù)通信,命令和控制信息的傳輸?shù)?。本文我?b class='flag-5'>介紹UART通信協(xié)議、傳輸
    的頭像 發(fā)表于 10-24 14:20 ?596次閱讀
    <b class='flag-5'>UART</b>通信協(xié)議<b class='flag-5'>介紹</b>和數(shù)據(jù)傳輸工作流程

    uart波特率和傳輸頻率的關(guān)系 UART串口的常用波特率為多少

    頻率是兩個(gè)關(guān)鍵參數(shù),它們之間存在一定的關(guān)系,并且UART串口有一系列常用的波特率。以下是對(duì)這兩個(gè)概念的介紹。 一、UART波特率和傳輸頻率的關(guān)系 1. 定義與區(qū)別 波特率(Baud Rate
    的頭像 發(fā)表于 10-06 16:12 ?2520次閱讀
    <b class='flag-5'>uart</b>波特率和傳輸頻率的關(guān)系 <b class='flag-5'>UART</b>串口的常用波特率為多少

    UART串口通訊協(xié)議解析

    信號(hào)轉(zhuǎn)成串行輸出信號(hào)的芯片,UART通常被集成于其他通訊接口的連結(jié)上。 具體實(shí)物表現(xiàn)為獨(dú)立的模塊化芯片,或作為集成于微處理器中的周邊設(shè)備。一般是RS-232C規(guī)格的,與類(lèi)似Maxim的MAX232之類(lèi)
    發(fā)表于 09-12 16:01

    雙模藍(lán)牙模塊UART串口和RS232在通訊領(lǐng)域的優(yōu)勢(shì)

    ? ?雙模藍(lán)牙模塊UART串口和RS232在通訊領(lǐng)域的優(yōu)勢(shì),盡管這些都是用于數(shù)據(jù)傳輸?shù)姆绞?,但它們之間的工作方式和特性存在明顯的差異;本文美迅物聯(lián)網(wǎng)MesoonRF將詳細(xì)介紹這兩種通信
    的頭像 發(fā)表于 09-09 17:07 ?385次閱讀

    控制模塊通訊總線(xiàn)關(guān)閉怎么修

    控制模塊通訊總線(xiàn)關(guān)閉是一個(gè)涉及多個(gè)可能原因和復(fù)雜修復(fù)步驟的問(wèn)題。 一、問(wèn)題概述 控制模塊通訊總線(xiàn)關(guān)閉通常指的是車(chē)輛或其他系統(tǒng)中的控制模塊之間
    的頭像 發(fā)表于 08-29 15:44 ?890次閱讀

    簡(jiǎn)單認(rèn)識(shí)UART通信協(xié)議

    模塊等多種設(shè)備之間的數(shù)據(jù)傳輸。以下是對(duì)UART通訊協(xié)議的詳細(xì)簡(jiǎn)述,內(nèi)容將涵蓋其基本原理、工作方式、配置參數(shù)、常見(jiàn)應(yīng)用以及與其他通信協(xié)議的比較。
    的頭像 發(fā)表于 07-25 18:07 ?1414次閱讀

    HT7017 是一顆帶 UART 通訊接口的高精度單相多功能計(jì)量芯片

    1.芯片簡(jiǎn)介HT7017是一顆帶UART通訊接口的高精度單相多功能計(jì)量芯片。芯片的工作電壓范圍是4.5~5.5V。工作晶振為6MHz。2.芯片特性三路22bitSigma-DeltaADC支持
    的頭像 發(fā)表于 06-19 16:57 ?1198次閱讀
    HT7017 是一顆帶 <b class='flag-5'>UART</b> <b class='flag-5'>通訊</b>接口的高精度單相多功能計(jì)量芯片

    西門(mén)子PLC與IO模塊如何通訊

    Module)作為與外部設(shè)備交互的橋梁,其重要性不言而喻。本文將詳細(xì)闡述西門(mén)子PLC如何與IO模塊進(jìn)行通訊,從通訊原理、通訊方式、配置步驟以及優(yōu)化策略等多個(gè)方面進(jìn)行深入探討。
    的頭像 發(fā)表于 06-19 10:46 ?1914次閱讀

    藍(lán)牙模塊、WiFi模塊等無(wú)線(xiàn)通信模塊使用規(guī)范

    并避免可能的安全隱患,我們必須遵循一定的使用規(guī)范。接下來(lái),我們將詳細(xì)討論這些規(guī)范。 ?使用無(wú)線(xiàn)通信模塊前的硬件準(zhǔn)備: ?一般的無(wú)線(xiàn)通信模塊都是用UART通訊,
    的頭像 發(fā)表于 05-27 14:07 ?940次閱讀
    藍(lán)牙<b class='flag-5'>模塊</b>、WiFi<b class='flag-5'>模塊</b>等無(wú)線(xiàn)通信<b class='flag-5'>模塊</b>使用規(guī)范

    在全志H616核桃派開(kāi)發(fā)板GPIO基礎(chǔ)實(shí)驗(yàn)之UART串口通訊

    \'\'\' 實(shí)驗(yàn)名稱(chēng):UART(串口通訊) 實(shí)驗(yàn)平臺(tái):核桃派 \'\'\' #導(dǎo)入相關(guān)模塊 import serial,time # 配置串口 com = serial.Serial
    發(fā)表于 05-24 14:09

    plc無(wú)線(xiàn)通訊模塊怎么用 plc無(wú)線(xiàn)通訊模塊怎么編程

    PLC無(wú)線(xiàn)通訊模塊是一種可以將PLC與其他設(shè)備無(wú)線(xiàn)連接的模塊,使得PLC可以與其他設(shè)備進(jìn)行數(shù)據(jù)交流和控制。本文將介紹PLC無(wú)線(xiàn)通訊
    的頭像 發(fā)表于 01-25 16:15 ?2057次閱讀

    藍(lán)牙串口通訊總線(xiàn)——I2C/SPI/UART

    嵌入式工程師在做串口通信調(diào)試工作的時(shí)候,會(huì)經(jīng)常用到I2C、SPI、UART這3條總線(xiàn),I2C、SPI、UART這三種通信總線(xiàn)在嵌入式領(lǐng)域很常見(jiàn),目前主流的SOC芯片都內(nèi)置了這三種總線(xiàn)的控制器,各種
    的頭像 發(fā)表于 01-22 09:41 ?1614次閱讀
    藍(lán)牙串口<b class='flag-5'>通訊</b>總線(xiàn)——I2C/SPI/<b class='flag-5'>UART</b>

    最詳細(xì)的UART通訊協(xié)議分析在這里

    下載本篇文章的pdf版本:UART協(xié)議分析.pdf1.協(xié)議基礎(chǔ)1.1.協(xié)議簡(jiǎn)介UART是“UniversalAsynchronousReceiver/Transmitter”,通用異步收發(fā)器的縮寫(xiě)
    的頭像 發(fā)表于 01-12 14:15 ?1.6w次閱讀
    最詳細(xì)的<b class='flag-5'>UART</b><b class='flag-5'>通訊</b>協(xié)議分析在這里

    MM32F5270 UART實(shí)現(xiàn)LIN通信

    LIN(Local Interconnect Network)總線(xiàn)是基于UART/SCI(通用異步收發(fā)器/串行接口)的低成本串行通訊協(xié)議,其目標(biāo)定位于車(chē)身網(wǎng)絡(luò)模塊節(jié)點(diǎn)間的低端通信
    的頭像 發(fā)表于 01-04 17:35 ?3733次閱讀
    MM32F5270 <b class='flag-5'>UART</b>實(shí)現(xiàn)LIN通信
    RM新时代网站-首页