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


<<< | >>>

提示: 使用 <<<>>> 箭头浏览.


介绍

这个小节说明了一个假想的嵌入式实时系统的4种解决方案的对比。每种方案的性能由嵌入式系统需要的 RAM、ROM 和处理器能力判定。此外也考虑到每种方法的简单性和可维护性。

这里不是为了详细说明一个设计,而是介绍能够怎样去使用 FreeRTOS.orgtm 实时内核。

注意: 这些页面自从 FreeRTOS V4.0.0 后就没有更新了。V4.0.0 以后介绍了联合程序的概念,提供了新的不同的解决方法。任务和联合程序 文档提供了更多的内容。


[假设的] 应用系统


系统 [没有按照比例]

这个应用在嵌入式单板机上运行,控制本地和远程的用户接口。

按照上面说明,整个系统包括:

  1. 带有控制终端的嵌入式计算机。
  2. 两个使用现场总线的传感器。
  3. 被控制的设备(可以是任何设备,马达、加热器等)。使用相同的现场总线连接。
  4. 使用IO口进行扫描的矩阵键盘。
  5. 两个 LED 指示灯。
  6. 一个 LCD 显示器。
  7. 一个可以连接到远程监视计算机的嵌入式 WEB 服务器。
  8. 一个带有 RS232 接口和可配置工具的 PDA。


上层软件需求

这里我们感兴趣的是时序要求,而不是实际的功能。

 

控制设备

每个控制循环将执行下面动作:
  1. 发送请求到现场总线以获取传感器的数据。
  2. 等待接收传感器的数据。
  3. 执行控制算法。
  4. 发送命令到设备。
系统每 10ms 发送一次请求命令,结果在 5ms 内发出。控制算法依赖于定时的精度。

 

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

操作员可以通过键盘和 LCD 选择、查看和修改系统数据。 操作接口可以控制设备。

为了保证按键不会被丢失,至少每 15ms 就需要扫描一次键盘。LCD 在键盘按下后的 50ms 内被更新。

 

LED

LED 用于指示系统状态。一个闪烁的绿色 LED 代表系统按照预期方式运行,而闪烁的红色 LED 代表有故障。

正常时 LED 每秒亮灭一次,闪烁率不要超过 50ms。

 

RS232 PDA 接口

通过 PDA 的 RS232 接口可以象本地操作接口那样查看和访问数据。

 

TCP/IP 接口

嵌入式 WEB 服务器在1秒内完成 HTTP 请求。


应用系统构成

假想系统的定时需求可以分为三类:
  1. 严格定时 - 设备控制

    控制功能需要非常严格的定时,因为它必须每 10ms 执行一次。

  2. 可变定时 - LED

    LED 输出有最大和最小的时间限制,需要有较大的定时范围。

  3. 时限定时 - 人机接口

    包括键盘、LCD、RS232 和 TCP/IP 网络通信。

    人机接口有不同的定时要求,只要满足最大时间限制即可。例如,键盘必须至少每 10ms 扫描一次,但是任何小于 10ms 扫描速率也是可以的。


 

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

 


翻译:   邵子扬
EMail:   shaoziyang@126.com
Blog:    http://blog.ednchina.com/shaoziyang
2008年10月

 

Site Meter