这个小节说明了一个假想的嵌入式实时系统的4种解决方案的对比。每种方案的性能由嵌入式系统需要的 RAM、ROM 和处理器能力判定。此外也考虑到每种方法的简单性和可维护性。
这里不是为了详细说明一个设计,而是介绍能够怎样去使用 FreeRTOS.org 实时内核。
[假设的] 应用系统
这个应用在嵌入式单板机上运行,控制本地和远程的用户接口。
按照上面说明,整个系统包括:
1. 带有控制终端的嵌入式计算机。
2. 两个使用现场总线的传感器。
3. 被控制的设备(可以是任何设备,马达、加热器等)。使用相同的现场总线连接。
4. 使用IO口进行扫描的矩阵键盘。
5. 两个 LED 指示灯。
6. 一个 LCD 显示器。
7. 一个可以连接到远程监视计算机的嵌入式 WEB 服务器。

上层软件需求
这里我们感兴趣的是时序要求,而不是实际的功能。
控制设备
每个控制循环将执行下面动作:
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 网络通信。