第一周作业、典型实时控制系统案例分析

一、选用的控制系统简介

选用的系统案例为电脑鼠。电脑鼠是一微型自动走迷宫机器人,凭借自身的传感器来实时全自动寻迹行走。

由于传感器、电机种类等并不固定,在此案例中采用的基本硬件如下:

  1. 测距:红外传感器,有0度、45度、90度等方向。
  2. 轮子转速测量:与电机配合的光电编码器。
  3. 电池电压测量:数字电流传感器。用于补偿。
  4. 电机:直流电机。
  5. 加速度计。
  6. 无线传输。

二、该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。

2.1 电机控制电压插补

由于电磁惯性的存在,为了保证控制精度,控制电机的电压不应瞬间上升,应由软件插补后再按固定的时间间隔输入到电机电路中。这一任务的优先级应较高,时间延迟要求较高,估计在5ms以内。

2.2 碰撞检测

一般的加速度计都会有碰撞中断,一旦超过设定的加速度阈值,会产生中断,系统接收到信号后应马上响应并进入保护状态。时间延迟要求应该较低,估计在50ms以内。

三、如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?

3.1 电机控制

这里需要一个较高的优先级,结合电池电压的补偿,保证电机插补不出错,以保证控制精度。

3.2 保护

这里需要确保在发生意外时能够及时进入保护状态。

3.3 轨迹插补

给定轨迹要求,计算并确定电机的控制序列。

3.4 位置判断

根据传感器的信号,计算并确定电脑鼠的当前位置。

3.5 路线规划

根据位置信息来确定所在的位置,并且规划出下一步的位置。

3.6 调试信息输出

通过某些通道输出调试信息。

四、这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?

电机控制是属于时间触发,周期大约为1ms。

其它任务属于事件触发,可以在有要求时触发动作。

五、这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。

存在一定的依赖关系。

最高层的属于路线规划任务,而这个任务需要借助位置判断的信息,然后可以给出轨迹要求,由轨迹插补任务来计算电机控制序列。最后由电机控制任务逐步输出控制序列。

其它的任务的触发顺序不固定。

六、这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。

  • 电机控制任务和保护任务均需要获取电池电压信息,均需要控制电机的输入电压,其中保护任务的控制优先级更高。

  • 所有任务均在一个控制芯片上运行。

原文地址:https://www.cnblogs.com/passerby233/p/rtcsd_w1_analyze_a_rtcs.html