RTT时钟管理篇——软硬定时器理解(一)

本文深入探讨了定时器的两大类别:硬件定时器与软件定时器。硬件定时器的超时函数由定时器中断管理,而软件定时器则在线程中进行管理。详细解释了系统定时器列表和软件定时器列表的工作原理,以及RT-Thread中SOFT_TIMER的使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器分为硬件定时器和软件定时器。区别:硬件定时器的超时函数是在定时器中断中管理的(也就是时基中断systick中断)。而软件定时器的超时函数是在线程中管理的。
进中断的就是“硬的”,在线程里或任务里的是“软的”。

根据软硬分为2类定时器列表。

1.有两类定时器列表:
一是系统定时器列表,即硬件定时器列表,线程内置定时器或者用户自定义的硬件定时器就挂在这个列表中,以供每次滴答中断时基更新是查询有没有超时的定时器,有的话就执行定时器的超时函数——对于是线程的定时器执行的是固定的超时函数——恢复阻塞延时线程、执行调度,而对于是用户自定义的硬件定时器,则执行用户自定义的超时函数。

二是软件定时器列表。用户自定义的软件定时器挂在这里,同时是在定时器线程里来查询是否超时,但是是线程就有优先级,所以定时器线程被唤醒时不一定能立马执行,这就是其精度不高的原因。

2.定时器又分为两类:一类是属于线程内置的定时器,线程本身的属性、集合,属于硬件定时器。另一类是用户自定义的定时器,可设为硬件定时器或软件定时器,比较自由。

一片野火rtt原话:
在RT-Thread中,我们也可以在创建定时器时,把定时器指定成SOFT_TIMER的方式,这样可以使得定时器超时函数完全运行在timer系统线程上下文环境中。如果系统在初始化时需要使用SOFT_TIMER特性,需要在系统配置中打开RT_USING_TIMER_SOFT宏定义,那么调用rt_system_timer_thread_init函数就可以启动timer系统线程。这里值得注意的是,SOFT_TIMER定时器的精度由RT_TIMER_TICK_PER_SECOND定义的值所决定(每秒触发的timer tick次数是多少),这个值必须是OS tick的整数倍。

<think>好的,我现在需要帮助用户理解DRX、HARQRTT定时器在LTE5G中的相关概念及配置参数的作用。首先,我应该从DRX开始,因为用户提到了DRX机制,并且引用了相关的资料。DRX即非连续接收,主要用于节省UE的功耗。用户提供的引用[2]提到“Opportunity for DRX”是睡眠时间,UE在这段时间不监控PDCCH。我需要解释DRX的基本工作原理,包括激活期睡眠期的切换,以及相关的定时器参数,比如onDurationTimerdrx-InactivityTimer。 接下来是HARQ RTT定时器,用户特别提到了引用[1],其中说明了HARQ RTT Timer的作用是UE在等待下行重传数据前需要等待的最少子帧数。这个定时器的作用是防止UE过早地启动重传定时器,从而节省电量。需要说明在LTE5G中这个定时器的配置差异,比如LTE通常是8ms,而5G可能根据子载波间隔调整。 然后是drx-RetransmissionTimer,当HARQ RTT Timer超时后,这个定时器启动,用于监控可能的PDCCH重传调度。需要提到这个定时器的配置参数以及在不同场景下的作用。 用户还提到配置参数在LTE5G中的区别,我需要对比两者的不同,比如5G的参数可能更灵活,支持不同的子载波间隔,而LTE则较为固定。同时,用户可能关心这些参数如何影响网络性能UE的省电效果,需要结合引用中的信息,比如引用[3][4]提到的BSRSR机制,说明DRX与其他机制的协同工作。 最后,生成相关问题时要覆盖DRX的工作原理、定时器协同、配置差异以及优化方法,确保问题能够引导用户进步深入学习。需要确保回答结构清晰,分点解释,并正确引用提供的资料。</think>### DRX、HARQ RTT定时器配置及作用详解 #### 1. **DRX(非连续接收)机制** - **核心作用**:通过周期性地关闭UE的射频接收电路,减少功耗。在“DRX睡眠期”内,UE不监听PDCCH信道;在“激活期”内,UE需监控PDCCH以接收调度信息[^2]。 - **关键参数**: - **`onDurationTimer`**:定义每个DRX周期内UE必须保持唤醒的最小时间,用于检测是否有新数据调度。 - **`drx-InactivityTimer`**:若在激活期内收到新数据,则启动此定时器,延长UE的唤醒时间以等待后续数据。 - **`drx-RetransmissionTimer`**:专门用于监控重传数据的调度窗口(后文详述)。 #### 2. **HARQ RTT定时器** - **作用**:定义UE在收到下行数据后,需等待的最短时间才能接收对应的重传数据。其目的是避免UE过早启动`drx-RetransmissionTimer`,从而减少无效监听[^1]。 - **LTE与5G配置差异**: - **LTE**:固定为8个子帧(对应HARQ往返时延)。 - **5G**:支持灵活配置,例如根据子载波间隔(SCS)调整。若SCS=15kHz,典型值为10~16个符号(取决于网络配置)。 #### 3. **drx-RetransmissionTimer** - **触发条件**:当`HARQ RTT Timer`超时后启动。 - **功能**:在DRX激活期内监控PDCCH,等待基站调度重传数据。若超时仍未收到,则放弃本次重传。 #### 4. **LTE与5G参数对比** | 参数 | LTE配置示例 | 5G配置示例 | |-----------------------|---------------------|----------------------------| | HARQ RTT Timer | 8子帧 | 符号数(如12符号) | | drx-RetransmissionTimer | 4~8子帧 | 灵活符号/时隙 | | DRX周期 | 10~2560ms | 支持更短周期(如10ms以下) | #### 5. **与其他机制的协同** - **与BSR/SR的关系**:在DRX激活期内,若UE有上行数据(如触发BSR),需优先发送调度请求(SR)以获取资源[^3][^4]。 - **与HARQ进程的关联**:每个HARQ进程独立管理重传,需与DRX定时器同步以避免冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值