0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

【S32K 進(jìn)階之旅】LPUART 模塊介紹與應(yīng)用

大大通 ? 2023-03-29 14:27 ? 次閱讀

一、 S32K144 LPUART 介紹

1. LPUART 模塊特性

低功耗通用異步收發(fā)器(Low Power Universal Asynchronous Receiver/Transmitter, LPUART)支持帶有DMA 接口功能的基本UART,和x4 到x32 的過采樣波特率,支持LIN 主從操作。該模塊在Stop 和VLPS 模式提供的時(shí)鐘保持啟用時(shí),仍可保持功能。

在S32K144 中有如下三個(gè)LPUART 模塊:



S32K144 LPUART模塊具備以下特點(diǎn):

  • 全雙工,標(biāo)準(zhǔn)的非歸零(non-return-to-zero, NRZ)格式
  • 編程的波特率(13 位數(shù)模轉(zhuǎn)換器)與可配置的比率從x4 到x32 的過采樣
  • 發(fā)送和接受波特率可以異步操作到總線時(shí)鐘:
    • 波特率可以配置獨(dú)立的總線時(shí)鐘頻率
    • 支持在Stop 模式下操作
  • 中斷,DMA 或者拉起操作
    • 發(fā)送數(shù)據(jù)寄存器為空,發(fā)送完成
    • 接收數(shù)據(jù)寄存器滿
    • 接收溢出,奇偶校驗(yàn)錯(cuò)誤,幀錯(cuò)誤,噪聲干擾
    • 閑置接收器檢測(cè)
    • 接受引腳邊緣有效
    • 支持LIN的中斷檢測(cè)
    • 接收數(shù)據(jù)匹配
  • 硬件奇偶校驗(yàn)生成和檢查
  • 可編程的7-bit,8-bit,9-bit 或10-bit 的字符長度
  • 可編程的1-bit 或者2-bit 停止位
  • 3 種接收器喚醒方法:
    • 閑置線喚醒
    • 地址標(biāo)記喚醒
    • 接收數(shù)據(jù)匹配
  • 自動(dòng)地址匹配,減少中斷服務(wù)程序(ISR)開銷
    • 地址標(biāo)志匹配
    • 閑置線地址匹配
    • 地址匹配開始和結(jié)束
  • 可選的13-bit 終止字符生成/11-bit 終止字符檢測(cè)
  • 可配置的空閑長度檢測(cè),支持1, 2, 4, 8, 16, 32, 64 或128 空閑字符
  • 可選的發(fā)送器輸出和接收器輸入極性
  • 硬件流控制支持RTS(request to send)和CTS(clear to send)信號(hào)
  • 可選的4 歸零變換(return-to-zero-inverted, RZI)格式,可編程脈寬
  • 獨(dú)立的FIFO 收發(fā)結(jié)構(gòu):
    • 可獨(dú)立配置水印的收發(fā)請(qǐng)求
    • 如果接收FIFO 不是空的,在可配置的閑置字符長度后,可以選擇讓接收器聲明請(qǐng)求

2. LPUART運(yùn)行模式

S32K144運(yùn)行模式

工作狀態(tài)

Run Mode

正常工作

Stop Mode

時(shí)鐘使能則保留功能(可產(chǎn)生中斷)

Wait Mode

等待模式(DOZEEN 位置1時(shí))

Debug Mode

保留功能


3. LPUART 發(fā)送/接收器結(jié)構(gòu)框圖


LPUART 發(fā)送器部分示意圖



LPUART 接收器部分示意圖

4. LPUART 寄存器映射

以下寄存器用來控制波特率,選擇LPUART 選項(xiàng),報(bào)告LPUART 狀態(tài),收發(fā)數(shù)據(jù)等。訪問有效內(nèi)存映射之外的地址將產(chǎn)生總線錯(cuò)誤。查詢寄存器請(qǐng)參考《S32K144 Reference Manual,Page -1092》



LPUART寄存器映射地址


二、 S32DS LPUART 例程簡(jiǎn)介與應(yīng)用

下面我們以S32DS 開發(fā)環(huán)境中自帶的例程LPUART_s32k144為例。

1. 例程導(dǎo)入

  • 打開S32 Design Studio,點(diǎn)擊:“File”->“New”->“S32DS Project from Example”。



  • 在彈出的窗口選取S32K144 目錄下的LPUART_s32k144 例程,點(diǎn)擊“Finish”。


  • 點(diǎn)擊左上角“Build”按鈕,編譯例程。



  • 注意: “\r”是回車,“\n”是換行,windows 系統(tǒng)中每行結(jié)尾應(yīng)按<回車><換行>的順序,即“\r\n”。需要將例程主函數(shù)中所有的“\n\r”改為“\r\n”,否則串口工具顯示輸出字符串將不會(huì)換行,出現(xiàn)錯(cuò)誤格式。


2. 例程簡(jiǎn)介

  • LPUART 例程介紹

此例程實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的UART 9600 波特率的數(shù)據(jù)從COM 端口傳到電腦。不包含F(xiàn)IFOs 中斷和DMA。在此評(píng)估板上可以使用OpenSDA(micro USB),板上UART 信號(hào)可以通過USB 接口傳輸。通過串口調(diào)試工具(例如安信可串口調(diào)試助手)可以發(fā)送并查看接收到的信息。

  • 例程框圖


3. 例程設(shè)計(jì)思路

  • 初始化系統(tǒng)晶振(SOSC)為8MHz,系統(tǒng)時(shí)鐘為80MHz,RUN 模式80MHz
  • 禁止看門狗
  • 初始化端口引腳:
  • PORT C模塊時(shí)鐘使能
  • PTC6,PTC7:配置為LPUART_RX,LPUART_TX
  • 初始化LPUART1:
  • 使能時(shí)鐘源為SOSC_DIV2_CLK
  • 配置波特率:9600 波特,1 個(gè)停止位,8 個(gè)字符位
  • 不使用終端,DMA 或匹配特征
  • 配置LPUART1 控制:使能發(fā)送器,接收器,無極性,8 位字符
  • 發(fā)送兩個(gè)字符串:
  • 每個(gè)字符串發(fā)送的判斷:如果發(fā)送數(shù)據(jù)準(zhǔn)備狀態(tài)位置1,將字符寫入數(shù)據(jù)寄存器
  • 回傳收到的字符:
  • 發(fā)送提示字符'>'
  • 等到RDRF 標(biāo)志位被置1,然后讀取字符
  • 發(fā)送回讀取到的字符

三、 例程效果演示

  1. 我們使用S32K144 EVB (LQFP-100)評(píng)估板連接電腦,接線方式如圖。OpenSDA(micro USB)串口通信。


  1. 注意哪個(gè)COM 端口是OpenSDA,例如:COM4。注:串口號(hào)可在“計(jì)算機(jī)管理”->“設(shè)備管理器”->“端口”中查看。


  1. 打開串口通信工具,根據(jù)例程設(shè)置“串口號(hào):COM4”“波特率:9600”,點(diǎn)擊打開串口。



  1. 點(diǎn)擊“Debug”按鈕。進(jìn)入例程Debug頁面。
  1. 點(diǎn)擊運(yùn)行程序
  1. 按鈕,在終端模擬器中“發(fā)送”中輸入任意單個(gè)字符,觀察接受窗口數(shù)據(jù)內(nèi)容。S32K144 EVB開發(fā)板接收到輸入的單個(gè)字符并回傳。

四、 參考文獻(xiàn)

[1] S32K144 Reference Manual.pdf,NXP

[2] S32K1xx Series Cookbook.pdf,NXP

[3] S32K1xx Series Reference Manual.pdf,NXP

[4] S32K144_IO_Signal_Description_Input_Multiplexing,NXP

[5] PS32K144HFT0VLLT-datasheet.pdf,NXP

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

    關(guān)注

    146

    文章

    17846

    瀏覽量

    360603
  • NXP
    NXP
    +關(guān)注

    關(guān)注

    61

    文章

    1333

    瀏覽量

    187516
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5948

    瀏覽量

    113240
  • S32k144
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

    2031
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    簡(jiǎn)述K3SK8S的區(qū)別

    K3s 是CNCF 認(rèn)證的 Kubernetes 發(fā)行版和Sandbox項(xiàng)目,專為低資源環(huán)境而設(shè)計(jì)。由 Rancher Labs 維護(hù)著 K3s。
    的頭像 發(fā)表于 04-18 10:27 ?277次閱讀

    為什么無法使用Lpuart_Uart_Ip_ 發(fā)送任何數(shù)據(jù)回調(diào)中的AsyncSend?

    使用 Lpuart_Uart_Ip_ 發(fā)送任何數(shù)據(jù)回調(diào)中的 AsyncSend. 我的 RTD 版本是 3.0.0 P07,S32DS 版本是 3.5 請(qǐng)?jiān)试S我知道如何解決它,謝謝。
    發(fā)表于 04-11 07:51

    S32K148頻繁UART_FRAMING_ERROR的原因?

    我在使用 UART 模塊時(shí)遇到了一些問題,其中UART_FRAMING_ERROR經(jīng)常發(fā)生,只有 20% 的有效載荷被成功接收。 該項(xiàng)目使用 freeRTOS 和 S32 SDK。任務(wù)從另一個(gè)芯片
    發(fā)表于 04-11 07:35

    使用RTD5.0.0的s32k312,C40_Ip擦除pflash存在一些問題求解決

    /t5/s32k/s32k344-c40-ip-hardware-fault-problem/td-p/1697432 但在 RTD 5.0.0 C40_ip.h 中,“Fls_MemMap.h” 不存在 那么,如何將C40_Ip API 放入 RAM 中呢?可以給
    發(fā)表于 04-11 06:53

    k32l2b31寫入LPUART1-&gt;STAT |= (1&lt;&lt;25)會(huì)導(dǎo)致semihost_hardfault是為什么?

    我想在 k32l2b31 上激活 LIN Break 檢測(cè) 必須在狀態(tài)寄存器中設(shè)置位 LKDE i try LPUART1->STAT |= (1<<25) 但在調(diào)試時(shí)顯示為 “semihost_hardfault” 誰知道為什么呢?
    發(fā)表于 04-08 06:36

    FRDM-MCXA156 LPUART1不工作是哪里出了問題?

    我正在使用 FRDM-MCXA156并且MCUXpresso IDE 版本 24.12 我無法讓LPUART1工作。 我導(dǎo)入了使用 LPUART0 的示例
    發(fā)表于 04-07 06:23

    T-300S+DDC1230+LCR模塊介紹

    電子發(fā)燒友網(wǎng)站提供《T-300S+DDC1230+LCR模塊介紹.pptx》資料免費(fèi)下載
    發(fā)表于 03-31 17:34 ?0次下載

    使用S32K322上的LPUART進(jìn)行UART通信,接收超過14個(gè)字符時(shí)遇到問題,求解決

    我正在使用 S32K322 上的 LPUART 進(jìn)行 UART 通信,并在接收超過 14 個(gè)字符時(shí)遇到問題。具體來說,在調(diào)用 Lpuart_Uart_Ip_GetReceiveStatus我收到錯(cuò)誤
    發(fā)表于 03-28 07:00

    S32k系列微型機(jī),特別是S32K388具有并行處理功能嗎?

    S32k系列微型機(jī),特別是S32K388具有并行處理功能嗎?
    發(fā)表于 03-26 08:27

    WD50-110S24K1 WD50-110S24K1

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)WD50-110S24K1相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有WD50-110S24K1的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,WD50-110S24K1真值表,WD5
    發(fā)表于 03-20 18:59
    WD50-110<b class='flag-5'>S24K</b>1 WD50-110<b class='flag-5'>S24K</b>1

    S32K344將LPUART6添加到Uart_example產(chǎn)生硬故障怎么解決?

    我嘗試添加一個(gè)串行端口 (LPUART_6),以便能夠通過 S32K3x4EVB-T172評(píng)估板上的串行轉(zhuǎn) USB 適配器輸出消息。 我正在使用:S32DS 3.6.0、S32Kxx
    發(fā)表于 03-20 07:25

    手冊(cè)描述LPUart1可以工作在APB clock domain,請(qǐng)問用HAL庫如何設(shè)置?

    你好,看到手冊(cè)描述LPUart1可以工作在APB clock domain,請(qǐng)問用HAL庫如何設(shè)置,謝謝! 下面代碼應(yīng)該為independent clock設(shè)置,對(duì)吧? void
    發(fā)表于 03-11 06:12

    S32K 進(jìn)階之旅】如何使用 S32K3 PIT 定時(shí)器實(shí)現(xiàn)精準(zhǔn)延時(shí)?

    周期中斷定時(shí)器(PeriodicInterruptTimer,PIT)模塊顧名思義,就是通過計(jì)時(shí)行為引發(fā)周期性中斷事件的觸發(fā)器。本文基于S32K312開發(fā)板實(shí)現(xiàn)延時(shí)功能,在此之前先簡(jiǎn)單介紹下PIT
    的頭像 發(fā)表于 03-10 16:33 ?560次閱讀
    【<b class='flag-5'>S32K</b> <b class='flag-5'>進(jìn)階</b><b class='flag-5'>之旅</b>】如何使用 <b class='flag-5'>S32K</b>3 PIT 定時(shí)器實(shí)現(xiàn)精準(zhǔn)延時(shí)?

    如何如何集成MCAL到S32DS_S32K344

    集成MCAL到S32DS_S32K344
    發(fā)表于 12-30 15:35 ?2次下載

    BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南

    電子發(fā)燒友網(wǎng)站提供《BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-05 14:45 ?0次下載
    BOOSTXL-<b class='flag-5'>K350QVG-S</b>1 QVGA顯示BoosterPack?插件<b class='flag-5'>模塊</b>用戶指南

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品