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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UART通訊模塊介紹

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-11 10:43 ? 次閱讀

Other Parts Discussed in Post:MSP430FR2311

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

UART通訊模塊介紹

UART屬于異步通信模式,MSP430FR2311通過UCA0RXD和UCA0TXD與其它芯片相連,芯片之間并沒有時鐘信號CLK連接。

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

低頻波特率配置

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

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

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

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

以時鐘源頻率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,雖然小數(shù)部分大于0.5,但是由于在m4的位置已經增加了1個BRCLK的時長,所以需要小數(shù)部分累積到大于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的調制數(shù)據(jù),方便快速獲得正確的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,余數(shù)為5,所以UCOS16=1,UCBRx=4,UCBRFx=5. UCBRSx的設置如前面的討論,不再贅述,UCBRSx=0x55.

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

審核編輯:何安

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

    關注

    0

    文章

    341

    瀏覽量

    9955
收藏 人收藏

    評論

    相關推薦

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

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

    雙模藍牙模塊UART串口和RS232在通訊領域的優(yōu)勢

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

    簡單認識UART通信協(xié)議

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

    藍牙模塊、WiFi模塊等無線通信模塊使用規(guī)范

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

    在全志H616核桃派開發(fā)板GPIO基礎實驗之UART串口通訊

    \'\'\' 實驗名稱:UART(串口通訊) 實驗平臺:核桃派 \'\'\' #導入相關模塊 import serial,time # 配置串口 com = serial.Serial
    發(fā)表于 05-24 14:09

    plc無線通訊模塊怎么用 plc無線通訊模塊怎么編程

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

    藍牙串口通訊總線——I2C/SPI/UART

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

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

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

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

    LIN(Local Interconnect Network)總線是基于UART/SCI(通用異步收發(fā)器/串行接口)的低成本串行通訊協(xié)議,其目標定位于車身網絡模塊節(jié)點間的低端通信
    的頭像 發(fā)表于 01-04 17:35 ?3051次閱讀
    MM32F5270 <b class='flag-5'>UART</b>實現(xiàn)LIN通信

    UART通用異步收發(fā)器原理是什么

    /Transmitter,通常稱為UART)是一種異步收發(fā)傳輸器,用處非常廣泛,幾乎兩個單片機間的通訊、USB-TTL、RS-232都是使用UART協(xié)]協(xié)議,將數(shù)據(jù)通過串列通訊進行傳輸
    的頭像 發(fā)表于 11-09 17:32 ?619次閱讀
    <b class='flag-5'>UART</b>通用異步收發(fā)器原理是什么

    UART協(xié)議是干啥的

    transmitter),是通用異步收發(fā)器,因為是異步,所以也不需要時鐘信號來做時間參考。它的應用范圍很廣,比如各種外接模塊如GPS,藍牙模塊等等,上位機(發(fā)送操控)與下位機(接收)之間的通信。 UART是串行
    的頭像 發(fā)表于 11-06 10:08 ?1623次閱讀
    <b class='flag-5'>UART</b>協(xié)議是干啥的

    CW32單片機UART波特率設置介紹

    CW32單片機UART波特率設置介紹
    的頭像 發(fā)表于 10-24 17:35 ?743次閱讀
    CW32單片機<b class='flag-5'>UART</b>波特率設置<b class='flag-5'>介紹</b>

    芯片設計中的UART模塊及其關鍵技術介紹

    在芯片設計中,UART(Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送器)模塊是一個非常重要的外設模塊
    的頭像 發(fā)表于 10-09 14:10 ?1236次閱讀

    通訊隔離收發(fā)模塊 RS485-XXHSAVE

    電子發(fā)燒友網為你提供AIPULNION(AIPULNION)通訊隔離收發(fā)模塊相關產品參數(shù)、數(shù)據(jù)手冊,更有通訊隔離收發(fā)模塊的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發(fā)表于 09-28 09:07
    <b class='flag-5'>通訊</b>隔離收發(fā)<b class='flag-5'>模塊</b> RS485-XXHSAVE