曹迦勒 U201310693
题目
选择一个典型的实时控制系统(CNC/工业机器人/汽车ABS系统......)的软件系统(或其中的一个软件模块)做案例分析,列出:
- 该系统有哪些强实时功能需求?需要对哪些实时事件进行实时响应,对允许的实时延迟的数量级进行估计。
- 如果你是软件设计者,要实现这些实时功能,要设计几个实时任务?
- 这几个实时任务是时间触发的还是事件触发的,如果是时间触发的,周期大约是多少?
- 这几个实时任务之间是相互独立还是存在着一定的依赖关系?分析这种依赖关系。
- 这几个实时任务之间是否都需要使用一些共享的硬件资源?列出这种依赖性。
回答
实时控制系统:四轴飞行器
1.四轴飞行器在飞行过程中,需要执行控制机身运转以及视频采集,根据实验表明,每个任务的进程时间片定位5ms时效果比较好,因此数量级为ms。
2.①控制任务:接收到电脑客户端发送的指令后对四轴飞行器进行控制
②读取传感器数据:获取当前飞行器的飞行姿态,并对获取的传感器数据进行处理
③姿态自动调节:在进行处理得到数据后和初始值数据进行比较,如果机身倾斜,则进行自动调节,使其回到平稳状态
④发送当前飞机情况:将传感器发出的三个角度数值和四个旋翼的PWM值发送到电脑上
⑤接收控制信号:接受电脑客户端发送的指令
⑥视频采集
⑦视频传输
3.控制任务,姿态自动调节,接收控制信号为事件触发;
读取传感器数据(10ms),发送当前飞机情况(500ms?),视频采集(10ms),视频传输(30-40ms?)均为时间触发
4.控制任务是在接收控制信号任务完成后迅速的根据控制信号来调整飞行姿态;
读取传感器数据任务是为了进行姿态自动调节;
视频传输需要进行视频采集后才可以进行。
5.控制任务,读取传感器数据,读取传感器数据共用控制模块,即处理器
发送当前飞机情况,接收控制信号,视频传输共用无线模块
来源:https://www.cnblogs.com/herrpi/p/6105817.html