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

完善資料讓更多小伙伴認(rèn)識你,還能領(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ò)誤,噪聲干擾
    • 閑置接收器檢測
    • 接受引腳邊緣有效
    • 支持LIN的中斷檢測
    • 接收數(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 終止字符檢測
  • 可配置的空閑長度檢測,支持1, 2, 4, 8, 16, 32, 64 或128 空閑字符
  • 可選的發(fā)送器輸出和接收器輸入極性
  • 硬件流控制支持RTS(request to send)和CTS(clear to send)信號
  • 可選的4 歸零變換(return-to-zero-inverted, RZI)格式,可編程脈寬
  • 獨(dú)立的FIFO 收發(fā)結(jié)構(gòu):
    • 可獨(dú)立配置水印的收發(fā)請求
    • 如果接收FIFO 不是空的,在可配置的閑置字符長度后,可以選擇讓接收器聲明請求

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ò)誤。查詢寄存器請參考《S32K144 Reference Manual,Page -1092》



LPUART寄存器映射地址


二、 S32DS LPUART 例程簡介與應(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. 例程簡介

  • LPUART 例程介紹

此例程實(shí)現(xiàn)了一個(gè)簡單的UART 9600 波特率的數(shù)據(jù)從COM 端口傳到電腦。不包含F(xiàn)IFOs 中斷和DMA。在此評估板上可以使用OpenSDA(micro USB),板上UART 信號可以通過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)評估板連接電腦,接線方式如圖。OpenSDA(micro USB)串口通信


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


  1. 打開串口通信工具,根據(jù)例程設(shè)置“串口號: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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16885

    瀏覽量

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

    關(guān)注

    60

    文章

    1264

    瀏覽量

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

    關(guān)注

    14

    文章

    5817

    瀏覽量

    106328
  • S32k144
    +關(guān)注

    關(guān)注

    1

    文章

    7

    瀏覽量

    1876
收藏 人收藏

    評論

    相關(guān)推薦

    快來圍觀:S32K344 VCU項(xiàng)目開發(fā)隨筆~

    二、引腳配置此實(shí)例選擇串口13進(jìn)行配置:三、外設(shè)配置添加外設(shè):配置串口信息1:配置串口信息2(回調(diào)函數(shù)):中斷外設(shè)配置:配置完畢后更新代碼。四、部分代碼展示/***@briefUART_13回調(diào)函數(shù)**該函數(shù)作為LPUART_13的中
    的頭像 發(fā)表于 07-26 08:11 ?340次閱讀
    快來圍觀:<b class='flag-5'>S32K</b>344 VCU項(xiàng)目開發(fā)隨筆~

    基于S32K3的ECU參考設(shè)計(jì)集成電池管理方案

    S32K396/376 BMS-EVB板現(xiàn)已供貨,同時(shí)S32K39 / 37 / 36系列芯片將于今年6月正式上市。相關(guān)的集中式電芯監(jiān)控參考設(shè)計(jì)板也已上市。
    發(fā)表于 04-26 10:59 ?465次閱讀

    STM32G031J6的LPUART發(fā)送導(dǎo)致系統(tǒng)復(fù)位怎么解決?

    單片機(jī)型號是G031J6MX,其中LPUART是單發(fā)送模式。發(fā)現(xiàn)LP串口一發(fā)送數(shù)據(jù),系統(tǒng)就重啟,因?yàn)?b class='flag-5'>LPUART的這個(gè)引腳和NRST是同一個(gè)引腳,還是懷疑自己配置的問題,請朋友們來幫忙看看有個(gè)可能是什么原因
    發(fā)表于 04-15 06:41

    stm32L072芯片LPUART1接收發(fā)送失敗的原因?怎么解決?

    使用stm32擴(kuò)展庫開發(fā)L072系列時(shí)發(fā)現(xiàn),初始化LPUART1后,所得到得波特率與電腦實(shí)際接受不符,且只有波特率在9600以上,串口才不會(huì)進(jìn)入溢出中斷。但接受數(shù)據(jù)仍然不對,初始化如下: void
    發(fā)表于 04-09 07:46

    關(guān)于STM32L051C8T6芯片LPUART+DMA接收問題求解

    STM32L051C8T6芯片低功耗串口LPUART+DMA。 我用STM32CUBEMX 生成了程序LPUART以及UART2串口+DMA的程序。 重新寫了RxCpltCall函數(shù)里面有回顯功能
    發(fā)表于 03-28 07:05

    請問STM32G473VET6的LPUART1能和USART1能同時(shí)使用嗎?

    STM32G473VET6的LPUART1能和USART1能同時(shí)使用嗎?
    發(fā)表于 03-22 07:00

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)
    的頭像 發(fā)表于 02-20 14:10 ?605次閱讀
    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)<b class='flag-5'>進(jìn)階</b>篇-<b class='flag-5'>進(jìn)階</b>5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    基于 NXP S32K311 評估板的方案

    該方案是以 NXP S32K311 芯片為主控制器的評估板方案,S32K311 是基于 ARM Cortex-M7 的嵌入式應(yīng)用微控制器,有 64 KB 的 Dflash、1 MB 的 Pflash
    的頭像 發(fā)表于 02-18 11:22 ?699次閱讀
    基于 NXP <b class='flag-5'>S32K</b>311 評估板的方案

    全志R128 SDK HAL 模塊開發(fā)指南之 LPUART

    LPUART 模塊介紹 LPUART 驅(qū)動(dòng)主要實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)的底層細(xì)節(jié),并為上層提供一套標(biāo)準(zhǔn)的 API 接口以供使用。 模塊配置 配置路徑如下
    發(fā)表于 02-02 10:04

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)
    的頭像 發(fā)表于 01-31 14:58 ?1075次閱讀
    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)<b class='flag-5'>進(jìn)階</b>篇-<b class='flag-5'>進(jìn)階</b>8 內(nèi)核運(yùn)行ko文件總結(jié)

    S32K 進(jìn)階之旅】 NXP S32K3 以太網(wǎng) RMII 接口調(diào)試(1)

    大聯(lián)大世平集團(tuán)推出了一款基于NXP車規(guī)級MCUS32K344的開發(fā)板——花名“Cavalry”,它使用BGA257封裝的32位ArmCortex-M7S32K344作為主控芯片,在69.6
    的頭像 發(fā)表于 01-18 08:26 ?2075次閱讀
    【<b class='flag-5'>S32K</b> <b class='flag-5'>進(jìn)階</b><b class='flag-5'>之旅</b>】 NXP <b class='flag-5'>S32K</b>3 以太網(wǎng) RMII 接口調(diào)試(1)

    一塊板即輕松搞定!| TH244A001 - 32位Arduino開發(fā)資源進(jìn)階介紹(2)

    一塊板即輕松搞定! TH244A001 - 32位Arduino開發(fā)資源進(jìn)階介紹(2) 在前一篇文章中\(zhòng)"TH244A001 - 32位Arduino開發(fā)資源進(jìn)階介紹(1
    發(fā)表于 01-12 11:54

    芯圣SDK工具 讓開發(fā)更方便——HC89S103K6

    SDK-HC89S103K6是基于HC89S103K6設(shè)計(jì)的快速開發(fā)工具。SDK-HC89S103K6由HC89S103K6微控制器的主控板和HC-LINKV4.0仿真燒錄器兩部分組成
    的頭像 發(fā)表于 01-10 10:33 ?452次閱讀
    芯圣SDK工具 讓開發(fā)更方便——HC89<b class='flag-5'>S103K</b>6

    PS-1220S插拔力試驗(yàn)機(jī):力學(xué)世界的探秘之旅

    PS-1220S插拔力試驗(yàn)機(jī):力學(xué)世界的探秘之旅
    的頭像 發(fā)表于 01-05 09:08 ?460次閱讀
    PS-1220<b class='flag-5'>S</b>插拔力試驗(yàn)機(jī):力學(xué)世界的探秘<b class='flag-5'>之旅</b>

    S32K146的hard fault問題解決方案

    最近有個(gè)客戶使用S32K146的產(chǎn)品在量產(chǎn)之后出現(xiàn)了三個(gè)售后件,ABBA測試之后的結(jié)果表明失效現(xiàn)象跟著S32K146走;同時(shí)客戶反饋說試著將其中一個(gè)售后件重新燒錄程序,S32K146又正常工作了。結(jié)合這兩種情況,
    的頭像 發(fā)表于 11-22 11:35 ?2155次閱讀
    <b class='flag-5'>S32K</b>146的hard fault問題解決方案