当前位置:首页 > 单片机 > 单片机
[导读]本指南目的在于说明如何使用EFM32微控制器的低能耗 UART (LEUART?) 模块。即使在器件处于深度休眠模式EM2的情况下,LEUART 也能进行全功能UART通信。与智能中断功能及灵活的DMA 相结合,可实现简单且节能的串行通信。

EFM32 系列LEUART使用指南

简介: 本指南目的在于说明如何使用EFM32微控制器的低能耗 UART (LEUART?) 模块。即使在器件处于深度休眠模式EM2的情况下,LEUART 也能进行全功能UART通信。与智能中断功能及灵活的DMA 相结合,可实现简单且节能的串行通信。

* 在低功耗模式下可使用DMA进行数据传输;

* 9600波特率下接收数据仅消耗150nA电流;

* 使用32.768kHz作为模块时钟源时拥有完整UART功能;

* 可配置的接收数据匹配功能;

* 可工作于EM0~EM2模式。

目录

1 LEUART 原理........................................................................................................................... 3

1.1 一般原理 ......................................................................................................................... 3

2 LEUART 配置........................................................................................................................... 4

2.1 帧、传输和奇偶校验 ..................................................................................................... 4

2.2 时钟源 ............................................................................................................................. 4

2.3 波特率 ............................................................................................................................. 5

2.4 DMA集成 ........................................................................................................................ 5

2.5 脉冲发生器和扩展器 ..................................................................................................... 5

2.6 中断 ................................................................................................................................ 6

2.7 冻结模式和低频域同步 ................................................................................................. 6

2.8 DMA集成 ........................................................................................................................ 6

2.9 GPIO和引脚分配 ............................................................................................................ 6

1 LEUART 原理

LEUART:Low Energy Universal Asynchronous Receiver/Transmitter,低功耗通用异步收发器,是EFM32片上低功耗外设,能够在满足极低功耗的同时提供串口通信功能。

1.1 一般原理

EFM32的LEUART是一个独特的低功耗UART,能在极为苛刻的功耗预算下提供双向通信。仅需一个32.768 kHz 的时钟源即可实现波特率高达9600的UART通信。这意味着EFM32的LEUART可在深度休眠模式EM2下工作,在消耗极低能量的情况下等待接收到来的UART帧。当一个UART帧被LEUART完全接收时,CPU可被快速唤醒。还可以选择用DMA将多个帧传送到存储器中,然后再唤醒CPU。LEUART还具有处理更高层通信协议的能力。例如,可以选择阻塞进入的帧,直到检测到一个可配置的起始帧;还可以选择检测一个可配置的信号帧 (例如用于指示一次传输结束)。 与接收过程一样,在EM2模式,可直接从CPU逐帧发送数据,也可以通过DMA来发送较大的帧组。EFM32 LEUART包含支持异步串行通信所需要的所有硬件,因而需要最少的软件干预,而且消耗极低的能量。 LEUART的优势在于能工作在EM2模式,此时大多数其他模块都出于节能考虑而被关断。低能耗串行通信选项与不需要CPU干预即可读写存储器的DMA能力相结合,为系统设计人员在低能耗应用中使用EFM32提供了宽泛的功能。

2 LEUART 配置

2.1 帧、传输和奇偶校验

LEUART使用帧来进行数据传输。一个 LEUART 帧由1个起始位、8或9个数据位、1个可选的奇偶校验位和1个或2个停止位组成 (见图2.1 )。一次传输由一个起始位启动,起始位将数据线从空闲的高电平状态拉为低电平。此后,数据位和奇偶校验位被依序发送,直到帧传输被停止位结束,停止位将数据线保持在高电平。然后,数据线或者进入其高电平空闲状态,或者发送一个新的起始位。当一个帧已准备好要被发送时,它被从发送寄存器传送到移位寄存器,数据位在移位寄存器中被逐位发送,最低有效位在先。可将整个帧格式反相,(例如)以允许使用低电平作为空闲状态。 在数据位结束后可以选择添加奇偶校验位来实现简单的错误检测。有3种不同的奇偶校验模式:无校验、偶校验和奇校验。奇偶校验位的产生和校验都由硬件完成,有中断标志用于指示在帧中是否检测到奇偶校验错误。所希望的帧格式在所选LEUART的初始化期间设置。Emlib 提供一个初始化函数来定义使用LEUART进行串行通信时所需要的全部设置。通信通道的所有使用方都必须在通信帧格式上完全一致。有关LEUART寄存器和功能的详细信息,请参见器件的参考手册。

2.2 时钟源

像EFM32微控制器中的其他低能耗外设一样,LEUART可由三个不同的时钟源驱动,即低频RC振荡器(LFRCO)、低频晶体振荡器(LFXO)和高频内核时钟2分频(HFCORECLK_LE/2)。HFCORECLK_LE本身可由高频RC振荡器(HFRCO)、高频晶体振荡器(HFXO)或上述任何一个低频振荡器驱动。这种时钟选择的灵活性为系统设计人员使用LEUART功能提供了更宽范围的可能性。这意味着除了在低能耗的EM2模式下使用一个低频时钟源工作外,LEUART还可以在需要更多UART通信通道的情况下作为UART的补充。不过,为使LEUART达到高于9600的波特率,所选时钟源必须是HFCORECLK_LE/2,该选项不能在EM1-EM0模式下使用。

2.3 波特率

所选的LEUART时钟源定义了能通过LEUART获得的波特率。在标准低能耗工作模式,LEUART能基于32.768 kHz的时钟提供300 ~ 9600的波特率。有关支持哪些波特率的详细信息,请参见器件的参考手册。Emlib包含一些用于计算可用波特率、获取当前波特率以及设置波特率的方法。如果选择HFCORECLK_LE/2作为LEUART的时钟源,则可以获得更高的波特率,但这也意味着LEUART将不能工作在EM1以下的模式,因而需要消耗更多的能量。此外,由于需要有一个高频时钟运行,所以UART和USART也都是可用的。

2.4 DMA集成

LEUART在EM2模式下具有全功能的DMA支持。与LEUART结合使用时,DMA是一个非常强大的工具,可以最小化CPU的干预。 ? LEUART可被配置为在发送缓冲器为空或发送缓冲区和移位寄存器均为空时向DMA请求数据。 ? LEUART 可被配置为在接收缓冲器为满时请求DMA读取数据。 ? 当在接收寄存器中检测到一个有奇偶校验错误的帧时,LEUARTn_CTRL寄存器中ERRSDMA位可被置1,不向DMA发出读请求。 当MCU工作在EM2模式时,为了执行DMA传送,必须将DMA控制器上电。对于读操作,如果LEUARTn_CTRL中的RXDMAWU被置位,则上电过程是自动完成的;对于写操作,如果LEUARTn_CTRL中的TXDMAWU被置位,该上电过程也是自动完成的。为确保DMA控制器在低能耗模式仍能与LEUART进行数据传送,必须正确配置这些位。在EM2模式,DMA使用HFRCO运行,所以该高频振荡器也被自动唤醒和关断。在使用DMA处理LEUART之前,还必须正确使能和配置DMA。有关如何初始化一次LEUART和DMA之间的交互的详细信息,请参见所提供的软件示例和器件的参考手册。

2.5 脉冲发生器和扩展器

LEUART在发射器输出端有一个可选的脉冲发生器,在接收器输入还有一个可选的脉冲扩展器。脉冲发生器和扩展器可以将LEUART的输入和输出格式从NRZ变为RZI。来自脉冲发生器的脉冲的宽度可被配置为31.25 μs ~ 500 μs。在波特率为2400或更低的情况下,脉冲发生器还能产生与IrDA物理层规范兼容的RZI脉冲。

2.6 中断

在数据接收和发送期间有大量的中断可用,以支持中断驱动应用的低能耗优势。当接收或发送寄存器为空,或在传输期间检测到任何错误时,都可以触发中断。LEUART还具有在检测到特定的可配置帧时触发中断的能力。这就允许在LEUART之上构建更高层的通信协议。LEUART甚至还支持一种特殊的多处理器模式,可以进行单独寻址和仅触发所期望的MCU来接收并对发送的数据做出反应。这在多个UART芯片使用同一通道进行通信的系统中是一个非常有用的特性。有了这种功能,通过使用某些只能在所期望的接收器中触发中断的帧来启动和结束数据传输,即可寻址所期望的接收器。在所提供的软件示例中,信号帧中断功能用于仅在检测到一个特定帧时唤醒CPU。所有其他帧都被DMA加载到存储器中,但CPU不产生任何响应,直到预设的信号帧被LEUART检测到为止。

2.7 冻结模式和低频域同步

为了修改一些LEUART寄存器,必须与低频(LF)域实现同步。在需要修改多个寄存器时,为了避免不必要的等待延迟,所有的寄存器写操作都应在同一个软件模块内部完成。该模块由void LEUART_FreezeEnable(LEUART_TypeDef *leuart, bool enable)启动,其中enable被设置为true;由相同的函数调用结束,不过此处enable被设置为false。这样,所有的寄存器修改操作将会在一次同步中完成。有关访问和修改异步寄存器的详细信息,请参见器件的参考手册。

2.8 半双工操作

LEUART提供一个将发送数据本地环回到接收引脚的选项。该功能对调试非常有用,因为LEUART能接收它自己发送的数据。但该功能也用于允许LEUART读和写同一个引脚,这是某些半双工通信模式所需要的。当进行全双工通信时,LEUART提供两条数据链路,允许同时发送和接收数据。在半双工模式,某一时刻只能在一个方向发送数据。LEUART有多种可能的半双工设置:单数据链路、双数据链路或使用一个外部驱动器。在通过一个单数据链路通信的情况下,发送器在不发送数据时必须为三态。如果LEUARTn_CTRL寄存器中的AUTOTRI位被置位,则在发送器不处于活动状态时,LEUART能自动将发送引脚置为三态。

2.9 GPIO和引脚分配

LEUART模块具有将其TX和RX引线连接到几个不同的预定义MCU引脚位置的能力。必须通过设置LEUARTn_ROUTE寄存器来使能和连接TX和RX引线到所期望的位置。

为使LEUART能与任何外部系统元件交互,例如RS232端口或另一外设IC,必须正确配置GPIO的I/O引脚。GPIO有多种不同的引脚模式。在官方所提供的代码样例中,TX引脚被配置为推挽输出,RX引脚被使能为带上拉的输入。在数据线未被其他部件驱动为一个确定值的情况下,上拉使输入有一个确定的状态。这种情况往往发生在TX模块被使能之前使能了RX模块。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新竹2025年9月9日 /美通社/ -- 全球客制化存储芯片解决方案设计公司爱普科技今日宣布,其新一代PSRAM—ApSRAMTM (Attached-pSRAM)已通过客户平台验证,预计将于年底开始量产。ApSRAMT...

关键字: PSRAM 低功耗 存储芯片 MT

【2025年8月29日,中国上海讯】近日,第二十届全国大学生智能汽车竞赛(以下简称“智能车大赛”)总决赛在杭州举办并圆满结束。作为大赛主协办单位,英飞凌科技从技术支持与人才培养上全方位支持赛事,践行产学研合作,助力行业人...

关键字: 微控制器 LED驱动芯片 人机交互

在工业物联网(IIoT)与边缘计算快速发展的背景下,Modbus协议凭借其轻量化特性成为微控制器(MCU)设备互联的首选方案。然而,在资源受限的MCU(如STM32F0系列、ESP8266等,RAM通常小于32KB,Fl...

关键字: 微控制器 Modbus 工业物联网

在工业物联网设备开发中,Modbus从站功能已成为微控制器(MCU)的标配能力。某智能电表项目通过在STM32上实现Modbus RTU从站,成功将设备接入现有SCADA系统,开发周期缩短40%。本文将系统解析MCU实现...

关键字: 微控制器 Modbus 协议栈优化

2025年8月21日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Silicon Labs全新xG26系列无线SoC和MCU。xG26片上系统...

关键字: SoC 微控制器 物联网

轮胎压力监测系统(TPMS)作为现代汽车安全的核心组件,通过实时监测胎压与温度数据,构建起全天候的轮胎健康监护网络。其算法设计需兼顾低功耗运行与高精度异常识别,尤其在直接式TPMS中,传感器需在纽扣电池供电下持续工作5年...

关键字: TPMS 低功耗

现代汽车力求提供和家里一样的舒适性和娱乐功能,因此,行业对电子控制单元(ECU)的需求呈现爆发式增长。然而,传统的总线技术和电气/电子(E/E)架构已经难以满足这种需求。本文探讨以太网技术如何革新汽车空间,塑造完全互联的...

关键字: 以太网 ECU 微控制器

在智能家居系统中,无线传感器、控制器等设备对电源的稳定性与能效提出严苛要求。尤其在采用Zigbee协议的场景中,低功耗待机与智能唤醒机制成为延长设备续航、保障网络可靠性的核心设计要素。本文从电源架构设计、Zigbee模块...

关键字: Zigbee 低功耗

在科技飞速发展的当下,智能设备已深度融入人们的生活与工作。其中,PDA(Personal Digital Assistant,个人数字助理)作为一款集信息输入、存储、管理和传递于一体,且具备办公、娱乐、移动通信等多种功能...

关键字: 智能设备 触摸屏 微控制器

【2025年8月15日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日宣布完成对Marvell Technology, Inc.(NASDAQ代码:MRVL)汽车以太网业务的收...

关键字: 以太网 机器人 微控制器
关闭