描述
一、 S32K144 LPUART 介绍
1. LPUART 模块特性
低功耗通用异步收发器(Low Power Universal Asynchronous Receiver/Transmitter, LPUART)支持带有DMA 接口功能的基本UART,和x4 到x32 的过采样波特率,支持LIN 主从操作。该模块在Stop 和VLPS 模式提供的时钟保持启用时,仍可保持功能。
在S32K144 中有如下三个LPUART 模块:
S32K144 LPUART模块具备以下特点:
- 全双工,标准的非归零(non-return-to-zero, NRZ)格式
- 可编程的波特率(13 位数模转换器)与可配置的比率从x4 到x32 的过采样
- 发送和接受波特率可以异步操作到总线时钟:
- 波特率可以配置独立的总线时钟频率
- 支持在Stop 模式下操作
- 中断,DMA 或者拉起操作
- 发送数据寄存器为空,发送完成
- 接收数据寄存器满
- 接收溢出,奇偶校验错误,帧错误,噪声干扰
- 闲置接收器检测
- 接受引脚边缘有效
- 支持LIN的中断检测
- 接收数据匹配
- 硬件奇偶校验生成和检查
- 可编程的7-bit,8-bit,9-bit 或10-bit 的字符长度
- 可编程的1-bit 或者2-bit 停止位
- 3 种接收器唤醒方法:
- 自动地址匹配,减少中断服务程序(ISR)开销
- 可选的13-bit 终止字符生成/11-bit 终止字符检测
- 可配置的空闲长度检测,支持1, 2, 4, 8, 16, 32, 64 或128 空闲字符
- 可选的发送器输出和接收器输入极性
- 硬件流控制支持RTS(request to send)和CTS(clear to send)信号
- 可选的4 归零变换(return-to-zero-inverted, RZI)格式,可编程脉宽
- 独立的FIFO 收发结构:
- 可独立配置水印的收发请求
- 如果接收FIFO 不是空的,在可配置的闲置字符长度后,可以选择让接收器声明请求
2. LPUART运行模式
S32K144运行模式 | 工作状态 |
Run Mode | 正常工作 |
Stop Mode | 时钟使能则保留功能(可产生中断) |
Wait Mode | 等待模式(DOZEEN 位置1时) |
Debug Mode | 保留功能 |
3. LPUART 发送/接收器结构框图
LPUART 发送器部分示意图
LPUART 接收器部分示意图
4. LPUART 寄存器映射
以下寄存器用来控制波特率,选择LPUART 选项,报告LPUART 状态,收发数据等。访问有效内存映射之外的地址将产生总线错误。查询寄存器请参考《S32K144 Reference Manual,Page -1092》
LPUART寄存器映射地址
二、 S32DS LPUART 例程简介与应用
下面我们以S32DS 开发环境中自带的例程LPUART_s32k144为例。
1. 例程导入
- 打开S32 Design Studio,点击:“File”->“New”->“S32DS Project from Example”。
- 在弹出的窗口选取S32K144 目录下的LPUART_s32k144 例程,点击“Finish”。
- 注意: “\r”是回车,“\n”是换行,windows 系统中每行结尾应按<回车><换行>的顺序,即“\r\n”。需要将例程主函数中所有的“\n\r”改为“\r\n”,否则串口工具显示输出字符串将不会换行,出现错误格式。
2. 例程简介
此例程实现了一个简单的UART 9600 波特率的数据从COM 端口传到电脑。不包含FIFOs 中断和DMA。在此评估板上可以使用OpenSDA(micro USB),板上UART 信号可以通过USB 接口传输。通过串口调试工具(例如安信可串口调试助手)可以发送并查看接收到的信息。
3. 例程设计思路
- 初始化系统晶振(SOSC)为8MHz,系统时钟为80MHz,RUN 模式80MHz
- 禁止看门狗
- 初始化端口引脚:
- PORT C模块时钟使能
- PTC6,PTC7:配置为LPUART_RX,LPUART_TX
- 初始化LPUART1:
- 使能时钟源为SOSC_DIV2_CLK
- 配置波特率:9600 波特,1 个停止位,8 个字符位
- 不使用终端,DMA 或匹配特征
- 配置LPUART1 控制:使能发送器,接收器,无极性,8 位字符
- 发送两个字符串:
- 每个字符串发送的判断:如果发送数据准备状态位置1,将字符写入数据寄存器
- 回传收到的字符:
- 发送提示字符'>'
- 等到RDRF 标志位被置1,然后读取字符
- 发送回读取到的字符
三、 例程效果演示
- 我们使用S32K144 EVB (LQFP-100)评估板连接电脑,接线方式如图。OpenSDA(micro USB)串口通信。
- 注意哪个COM 端口是OpenSDA,例如:COM4。注:串口号可在“计算机管理”->“设备管理器”->“端口”中查看。
- 打开串口通信工具,根据例程设置“串口号:COM4”“波特率:9600”,点击打开串口。
- 点击“Debug”按钮。进入例程Debug页面。
- 点击运行程序
- 按钮,在终端模拟器中“发送”中输入任意单个字符,观察接受窗口数据内容。S32K144 EVB开发板接收到输入的单个字符并回传。
四、 参考文献
[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
打开APP阅读更多精彩内容