下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

内核
最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

实时应用程序设计教程
在小型嵌入式系统中使用 FreeRTOS


如果您暂无基础,可从以下几点入手:
  1. 查看主页,了解相关背景
  2. 查看“FreeRTOS 简介”页面,了解 FreeRTOS 的适用范围

<<< | >>>

提示:浏览此部分时,可使用 <<<>>> 箭头。

简介

本节针对如何在内存受限的微控制器上编写使用 RTOS 的应用程序提供相关教程。 本教程 并非专为 FreeRTOS 撰写。 如果您正在寻找 FreeRTOS 专用教程, 或者如何在嵌入式系统中使用 RTOS 的更全面教程, FreeRTOS 书籍 或许更有参考价值。

网站这一部分以虚构嵌入式实时应用程序为例提供了四种对比设计解决方案, 针对具有不同 RAM、ROM 和处理能力的嵌入式计算机判断了每种解决方案的 适用性; 此外,还评估了每种设计是否简单明了和易于维护。

本教程无意详述各种可能性设计,而是旨在指导 如何使用 FreeRTOS 实时内核。

请注意,本节内容于几年前编写,当时 FreeRTOS 主要用于 极小型微控制器。 自那之后,FreeRTOS 越来越多地用于 ROM 和 RAM 不太受限制的更大型微控制器。

注意:自 FreeRTOS V4.0.0 推出以来,这些页面一直尚未更新。 V4.0.0 引入了协程的概念, 可为本教程所介绍的设计提供另一种新颖解决方案。 更多信息,请参阅任务和协程文档 。


[虚构]应用程序


系统上下文[非实际尺寸]。

该应用程序将在嵌入式单板计算机上执行,计算机必须在控制设备的同时,维护本地和 远程用户接口。

如上所述,系统由以下部分组成:

  1. 控制终端内的嵌入式计算机。
  2. 两个现场总线联网传感器。
  3. 受控设备(可以是电机、加热器等任何东西), 需连接到同一现场总线网络。
  4. 使用通用 IO 扫描的矩阵键盘。
  5. 两个 LED 指示灯。
  6. LCD 显示屏。
  7. 远程监控计算机可以与之连接的嵌入式 Web 服务器。
  8. 在 PDA 上运行的配置实用程序的 RS232 接口。


最高软件要求

在本教程中,我们更关注排序和时序要求,而不是确切的功能要求。


设备控制

每个控制周期均应按以下顺序执行:
  1. 在现场总线上传输帧,以从联网传感器请求数据。
  2. 等待从两个传感器接收数据。
  3. 执行控制算法。
  4. 向设备传送命令。
嵌入式计算机的控制函数每 10 毫秒发送一次请求, 生成的命令应在此请求后 5 毫秒内发送。 控制算法依赖于准确的时序,因此满足这些时序要求至关重要。


本地操作员接口[键盘和 LCD]

操作员可以使用键盘和 LCD 来选择、查看和修改系统数据。 设备受控时,操作员接口可起作用。

为确保没有遗漏按键,应至少每 15 毫秒扫描一次键盘。 LCD 会在按键后 50 毫秒内 更新。


LED

LED 灯用于指示系统状态。 闪烁的绿色 LED 灯表明 系统正按预期运行。 闪烁的红色 LED 灯表明发生故障。

正确的 LED 灯应每秒闪烁一次。 此闪烁频率应维持在 50 毫秒以内。


RS232 PDA 接口

PDA RS232 接口可查看和访问的数据与本地操作员接口相同, 两者需遵守同样的时序约束条件,即减少数据传输次数。


TCP/IP 接口

嵌入式 Web 服务器应在一秒钟内处理 HTTP 请求。


应用程序组件

该虚构系统的时序要求可分为三类:
  1. 严格时序 -设备控制

    控制函数具有非常严格的时序要求,必须每 10 毫秒执行一次。

  2. 灵活时序 - LED

    虽然 LED 输出具有最大和最小时间约束,但可以发挥作用的 时间范围较大。

  3. 仅限截止日期时序 - 人机接口

    这包括键盘、LCD、RS232 和 TCP/IP 以太网通信。

    人机接口函数具有不同类型的时序要求,仅指定了最大限制 。 例如,必须至少每 10 毫秒扫描一次键盘, 任何高达 10 毫秒的频率均可接受。


下一篇 >>> 解决方案 #1:为什么使用 RTOS 内核?







Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.