一、 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 或者拉起操作
- 硬件奇偶校驗(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ā)送回讀取到的字符
三、 例程效果演示
- 我們使用S32K144 EVB (LQFP-100)評估板連接電腦,接線方式如圖。OpenSDA(micro USB)串口通信。
- 注意哪個(gè)COM 端口是OpenSDA,例如:COM4。注:串口號可在“計(jì)算機(jī)管理”->“設(shè)備管理器”->“端口”中查看。
- 打開串口通信工具,根據(jù)例程設(shè)置“串口號:COM4”“波特率:9600”,點(diǎn)擊打開串口。
- 點(diǎn)擊“Debug”按鈕。進(jìn)入例程Debug頁面。
- 點(diǎn)擊運(yùn)行程序
- 按鈕,在終端模擬器中“發(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
-
mcu
+關(guān)注
關(guān)注
146文章
16885瀏覽量
349922 -
NXP
+關(guān)注
關(guān)注
60文章
1264瀏覽量
182902 -
恩智浦
+關(guān)注
關(guān)注
14文章
5817瀏覽量
106328 -
S32k144
+關(guān)注
關(guān)注
1文章
7瀏覽量
1876
發(fā)布評論請先 登錄
相關(guān)推薦
評論