实时系统设计

 这个小节说明了一个假想的嵌入式实时系统的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 网络通信。