0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

建立系统滴答率所涉及的基本权衡

星星科技指导员 来源:嵌入式计算设计 作者:Matt Gordon 2022-06-29 09:15 次阅读

许多 RTOS 内核在设置内核的周期性滴答中断方面为开发人员提供了很大的灵活性。不幸的是,这种灵活性有时会导致混乱。似乎是许多问题根源的刻度的一个可配置方面是频率。我将尝试消除与频率有关的常见神话,并尝试解释建立系统滴答率所涉及的基本权衡。

也许由于其他内核或特定硬件平台中存在的限制,似乎有一个广泛的共识,即 µC/OS-II 和 µC/OS-III 限制了应用程序代码可用的滴答频率范围。然而,内核本身应该能够支持在给定 MCU 上可行的任何滴答频率。我已经看到应用程序以远低于 100 Hz 的滴答率运行,而在频谱的另一端,则远远超过 1 kHz。

如果内核对系统的滴答频率没有任何特殊影响,那么在设置此参数时应该考虑哪些因素?除了会产生滴答声的外围设备施加的限制之外,您的主要关注点应该是开销和分辨率。使用相对较高的频率,您将能够以比其他方式更小的增量建立延迟,但是您将为此能力付出代价,增加的开销是以处理滴答的 CPU 时间的形式。较低的频率会减少滴答处理时间,但当然也会限制系统延迟的分辨率。例如,在每 10 毫秒发生一次滴答的系统中,内核将无法提供低至 1 毫秒的延迟。

为了在开销和分辨率之间取得适当的平衡,您需要考虑硬件平台的功能和应用程序的时序需求。以 µC/OS-II 或 µC/OS-III 为例,在以 300 MHz 运行的 32 位处理器上,任一内核每秒处理 1,000 个滴答所需的开销可能不会超过 CPU 周期的 1%。但是,具有 24 MHz 时钟的 16 位 MCU 可能是另一回事。同样,仅使用时间延迟来轮询按钮按下的应用程序在 50 毫秒的滴答分辨率下可能不会遇到任何问题,但对于截止日期较紧的任务来说,这样的设置可能是不可接受的。

关于最后一点,重要的是要注意,滴答声可能不是解决系统中所有延迟的最佳解决方案。例如,如果您想每 500 µs 从 A/D 转换器读取数据,那么最好的方法可能是让您的转换器由中断驱动并使用定时器触发转换(与滴答中断无关的定时器) 。 换句话说,基于滴答的函数旨在用于严重延迟——例如,负责大约每 10 毫秒输出一条消息的状态任务可能需要这样——并且你应该转向专用的硬件定时器,当需要更准确的延迟。我将在第 3 部分中提供与此主题相关的更多详细信息,其中我解释了内核节拍的另一个有时令人困惑的方面:优先级。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19286

    浏览量

    229853
  • 定时器
    +关注

    关注

    23

    文章

    3248

    浏览量

    114816
  • RTOS
    +关注

    关注

    22

    文章

    813

    浏览量

    119643
收藏 人收藏

    评论

    相关推荐

    请问aic3254可以调节比特吗?需要涉及哪些相关的寄存器?

    请问aic3254可以调节比特吗,如果可以,需要涉及哪些相关的寄存器? 我在文档中,看到了48k、96k、192k的字样,但是没有看到具体需要配置的寄存器。
    发表于 11-01 07:23

    设计电压监控器的电阻分压器输入端时的IQ与精度权衡因素

    电子发烧友网站提供《设计电压监控器的电阻分压器输入端时的IQ与精度权衡因素.pdf》资料免费下载
    发表于 09-24 11:10 0次下载
    设计电压监控器的电阻分压器输入端时的IQ与精度<b class='flag-5'>权衡</b>因素

    TI DLP®系统设计:亮度要求和权衡

    电子发烧友网站提供《TI DLP®系统设计:亮度要求和权衡.pdf》资料免费下载
    发表于 09-02 14:34 0次下载
    TI DLP®<b class='flag-5'>系统</b>设计:亮度要求和<b class='flag-5'>权衡</b>

    什么是高分辨示波器?它有哪些优势?

    高分辨示波器是一种在信息与系统科学相关工程与技术领域中广泛应用的科学仪器,其设计旨在提供更高的信号分辨和更精细的信号分析能力。以下是对高分辨示波器的详细解析,包括其定义、优势以及
    的头像 发表于 08-08 11:49 974次阅读

    比特和波特的计算公式及举例说明

    比特(Bit Rate)和波特(Baud Rate)的计算方法分别涉及数据传输的不同方面,下面将分别进行说明。 比特的计算 比特是指
    的头像 发表于 08-05 15:18 1430次阅读

    医院智能化涉及了哪些层面和领域

    之一是智能医疗设备的应用。包括智能诊断仪器、手术机器人、远程医疗设备等,这些设备可以提高医疗诊断的准确性和效率,改善医疗服务质量。 2.电子病历系统:通过建立电子健康档案和电子病历系统,实现病历数据的数字化管理与共
    的头像 发表于 07-15 10:36 415次阅读

    波特和比特是什么意思

    比特(Bit Rate)是比特的传输速率,也就是通信系统时间内的信息传输速率,单位是比特/秒(bit/s)。比特是指每秒传送的比特(bit)位数(即 0 或1)。常见的单位有kbps,Mbps,Gbps等等。通常也称之为信号
    的头像 发表于 07-10 09:16 758次阅读
    波特<b class='flag-5'>率</b>和比特<b class='flag-5'>率</b>是什么意思

    使用系统滴答定时中断,基于按键的状态机怎么只能1个1个+,不能连+?

    使用系统滴答定时中断,基于按键的状态机怎么只能1个1个+,不能连+ #define KEY1_USERGPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13
    发表于 05-16 06:27

    电抗器的电抗通过哪些因素来确定

    电抗器的电抗选择是一个复杂的过程,它涉及到多个因素,主要包括:
    的头像 发表于 05-14 14:18 1684次阅读

    STM8S103F系列支持滴答时钟吗?

    STM8S103F系列支持滴答时钟吗?
    发表于 05-10 07:13

    操作FreeRTOS时,执行__WFI()导致系统滴答中断无法唤醒设备怎么解决?

    1、在操作FreeRTOS时,本想着是在空闲钩子中执行__WFI()以降低设备功耗,等系统滴答中断自动唤醒设备继续执行,运行中发现执行__WFI()之后设备无法唤醒,分析应该是__WFI()将CPU
    发表于 04-24 08:29

    stm32mp157在linux系统下,串口的波特如何使用非标准波特

    请问stm32mp157在linux系统下,串口的波特如何使用非标准波特153600。内核或者设备树里需要怎么改动? 麻烦答复一下,最好能给个详细的更改示例,谢谢!
    发表于 03-14 06:21

    高压电力系统中电抗器的电抗如何选择

    高压电力系统中,电抗器的电抗选择至关重要。电抗器是电力系统中常见的一种电器元件,用于补偿电流的无功功率。在高压电力系统中,电抗器的选择涉及
    的头像 发表于 03-07 14:22 1120次阅读
    高压电力<b class='flag-5'>系统</b>中电抗器的电抗<b class='flag-5'>率</b>如何选择

    Altium元器件信息管理系统建立与使用

    电子发烧友网站提供《Altium元器件信息管理系统建立与使用.pdf》资料免费下载
    发表于 01-25 09:33 2次下载

    如何将UCOSIII系统移植到ADSPBF609建立的工程文件中?

    如何将UCOSIII系统移植到ADSPBF609建立的工程文件中,编译环境是CCES
    发表于 01-12 08:20