一、 S32K144 LPUART 介紹
1. LPUART 模塊特性
低功耗通用異步收發(fā)器(Low Power Universal Asynchronous Receiver/Transmitter, LPUART)支持帶有DMA 接口功能的基本UART,和x4 到x32 的過采樣波特率,支持LIN 主從操作。該模塊在Stop 和VLPS 模式提供的時(shí)鐘保持啟用時(shí),仍可保持功能。
在S32K144 中有如下三個LPUART 模塊:
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9KAW3m-AAAfOV9HRA4617.png)
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 或者拉起操作
- 硬件奇偶校驗(yàn)生成和檢查
- 可編程的7-bit,8-bit,9-bit 或10-bit 的字符長度
- 可編程的1-bit 或者2-bit 停止位
- 3 種接收器喚醒方法:
- 閑置線喚醒
- 地址標(biāo)記喚醒
- 接收數(shù)據(jù)匹配
- 自動地址匹配,減少中斷服務(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)框圖
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9OAfduTAAEXI5c9rFc167.png)
LPUART 發(fā)送器部分示意圖
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9KATjUFAADS1qrRaRo452.png)
LPUART 接收器部分示意圖
4. LPUART 寄存器映射
以下寄存器用來控制波特率,選擇LPUART 選項(xiàng),報(bào)告LPUART 狀態(tài),收發(fā)數(shù)據(jù)等。訪問有效內(nèi)存映射之外的地址將產(chǎn)生總線錯誤。查詢寄存器請參考《S32K144 Reference Manual,Page -1092》
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9OAIIR3AADvHsW18P0479.png)
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”。
![](https://file.elecfans.com/web2/M00/9B/C4/pYYBAGQjp9KARrnyAABvdBdDDqo895.png)
- 在彈出的窗口選取S32K144 目錄下的LPUART_s32k144 例程,點(diǎn)擊“Finish”。
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9OAfkBaAACam-8O61I082.png)
- 點(diǎn)擊左上角“Build”按鈕,編譯例程。
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9OAVd1QAAKZTYmFZaE546.png)
- 注意: “\r”是回車,“\n”是換行,windows 系統(tǒng)中每行結(jié)尾應(yīng)按<回車><換行>的順序,即“\r\n”。需要將例程主函數(shù)中所有的“\n\r”改為“\r\n”,否則串口工具顯示輸出字符串將不會換行,出現(xiàn)錯誤格式。
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9OABH7OAACFuzz2tdc857.jpg)
2. 例程簡介
- LPUART 例程介紹
此例程實(shí)現(xiàn)了一個簡單的UART 9600 波特率的數(shù)據(jù)從COM 端口傳到電腦。不包含F(xiàn)IFOs 中斷和DMA。在此評估板上可以使用OpenSDA(micro USB),板上UART 信號可以通過USB 接口傳輸。通過串口調(diào)試工具(例如安信可串口調(diào)試助手)可以發(fā)送并查看接收到的信息。
- 例程框圖
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9OAXEm1AADpuUDq9Zk350.png)
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 個停止位,8 個字符位
- 不使用終端,DMA 或匹配特征
- 配置LPUART1 控制:使能發(fā)送器,接收器,無極性,8 位字符
- 發(fā)送兩個字符串:
- 每個字符串發(fā)送的判斷:如果發(fā)送數(shù)據(jù)準(zhǔn)備狀態(tài)位置1,將字符寫入數(shù)據(jù)寄存器
- 回傳收到的字符:
- 發(fā)送提示字符'>'
- 等到RDRF 標(biāo)志位被置1,然后讀取字符
- 發(fā)送回讀取到的字符
三、 例程效果演示
- 我們使用S32K144 EVB (LQFP-100)評估板連接電腦,接線方式如圖。OpenSDA(micro USB)串口通信。
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9SAfP2vAASp2JLYkns131.jpg)
- 注意哪個COM 端口是OpenSDA,例如:COM4。注:串口號可在“計(jì)算機(jī)管理”->“設(shè)備管理器”->“端口”中查看。
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9SAOngKAAGAp7jq9uI493.jpg)
- 打開串口通信工具,根據(jù)例程設(shè)置“串口號:COM4”“波特率:9600”,點(diǎn)擊打開串口。
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9SANGvBAAJlbz5zjrQ234.jpg)
- 點(diǎn)擊“Debug”按鈕。進(jìn)入例程Debug頁面。
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9SAa64SAAHlzUPnsfk590.png)
- 點(diǎn)擊運(yùn)行程序
![](https://file.elecfans.com/web2/M00/9B/42/poYBAGQjp9SAH0rEAAAETxtH7kE315.png)
- 按鈕,在終端模擬器中“發(fā)送”中輸入任意單個字符,觀察接受窗口數(shù)據(jù)內(nèi)容。S32K144 EVB開發(fā)板接收到輸入的單個字符并回傳。
![](https://file.elecfans.com/web2/M00/9B/C5/pYYBAGQjp9SAREvaAAKWgRjsrec763.jpg)
四、 參考文獻(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
-
mcu
+關(guān)注
關(guān)注
146文章
17317瀏覽量
352641 -
NXP
+關(guān)注
關(guān)注
60文章
1289瀏覽量
185494 -
恩智浦
+關(guān)注
關(guān)注
14文章
5879瀏覽量
108433 -
S32k144
+關(guān)注
關(guān)注
1文章
9瀏覽量
1933
發(fā)布評論請先 登錄
相關(guān)推薦
西門子S7-300 PLC的詳細(xì)介紹
![西門子<b class='flag-5'>S</b>7-300 PLC的詳細(xì)<b class='flag-5'>介紹</b>](https://file1.elecfans.com//web3/M00/01/CB/wKgZO2dYFWOAMDeMAADIS8QRo8o032.jpg)
BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南
![BOOSTXL-<b class='flag-5'>K350QVG-S</b>1 QVGA顯示BoosterPack?插件<b class='flag-5'>模塊</b>用戶指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
智能家居之旅(15):HA傳感器采集主板低功耗設(shè)計(jì)的遭遇
![智能家居<b class='flag-5'>之旅</b>(15):HA傳感器采集主板低功耗設(shè)計(jì)的遭遇](https://file1.elecfans.com//web2/M00/05/54/wKgZombZFxKAI7_sAABnhaoHtUw37.jpeg)
快來圍觀:S32K344 VCU項(xiàng)目開發(fā)隨筆~
![快來圍觀:<b class='flag-5'>S32K</b>344 VCU項(xiàng)目開發(fā)隨筆~](https://file.elecfans.com/web2/M00/20/B3/pYYBAGGfNNmAK-PZAAJsGM5Cgk0227.jpg)
基于S32K3的ECU參考設(shè)計(jì)集成電池管理方案
STM32G031J6的LPUART發(fā)送導(dǎo)致系統(tǒng)復(fù)位怎么解決?
stm32L072芯片LPUART1接收發(fā)送失敗的原因?怎么解決?
關(guān)于STM32L051C8T6芯片LPUART+DMA接收問題求解
請問STM32G473VET6的LPUART1能和USART1能同時(shí)使用嗎?
RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)
![RK3568驅(qū)動指南|驅(qū)動基礎(chǔ)<b class='flag-5'>進(jìn)階</b>篇-<b class='flag-5'>進(jìn)階</b>5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)](https://file1.elecfans.com/web2/M00/C0/47/wKgZomXUQkaATvAlAADOvBJc2Tw686.png)
基于 NXP S32K311 評估板的方案
![基于 NXP <b class='flag-5'>S32K</b>311 評估板的方案](https://file.elecfans.com/web2/M00/65/09/pYYBAGMHLo-AXhv6AABF60N1Sbg429.png)
評論