YOS的一些设计说明

一.设计原则
 a.实时性,要求所有的任务挂起、就绪、运行都是可以预测和可计算的。
     1)在临界区代码,也就是被关闭和打开中断代码包含部分,不应该有for()和while注意的循环,因为注意的
       代码会随for和while包含的个数,线性变化。
     2)临界区执行时间和中断执行时间约束,
       例如:在一个ARM Cortex M3内核中,运行系统需要设置一个1ms的SysTick定时器和一个115200的串口.
            a.可由1ms的SysTick,可知执行时间 < 1ms.
            b.使用115200的串口,使用中断接收数据,则一个bit的间隔是10^6ns/115200=8.68ns,每10位构成以个字节,
              每个字节时间=8.68*10=86.8ns,所以执行时间<86.8ns.
            c.所以总的来说,执行时间要小于86.8ns,整个系统才能正常运行.
        注:1)这里也跟CPU频率有关系,频率高代码执行时间更快,更容易达到实时性。
           2)有人说,我要使用一个16MHz的SPI接收中断,则其他的间隔是10^9us/16M=62.5us,则1个字节=62.5*10=625us,如果说该值小于系统执行时间,
             则可能出现问题,一般情况来说,碰到这样高速接口,不要使用中断来接收数据,可以使用DMA来操作,减轻CPu负担.     
 b.支持抢占内核.
    高优先级任务在需要时,能够立刻得到CPU时间,对于实时系统来说这是不可少的。
    如按下按钮内,20ms需要执行1个任务,这里简单等按钮信号的任务为最高优先级,则可轻易满足该需求。
    但如果,该任务不是最高优先级任务,存在其他优先级任务,则这里任务等待执行时间是不可预期的,所以这需要你
    在任务设计时,需要考虑。
    注: 1)经常说实时系统,很多人认为是靠操作系统是保证的,当其实操作系统是一部分,任务设计合理性也是极其必须的。
        
 c.支持轮转调度.
   支持轮转调度,这对实时性是个考验,如果同优先级有多个任务,则这个任务获得CPU的等待时间,等于其他任务获得时间片的时间*任务个数.
   如果在按下按钮内,20ms需要执行1个任务,则这里的要求是
   其他任务执行时间片时间*任务个数 < 20ms,这里知因为该时间是随任务个数增加而增加,所以如果你要保持实时性必须限制在优先级下的任务个数。
   当然,这里我们也可以使用不支持轮转调度策略来屏蔽这个麻烦。
   
 d.为支持教学和研究,本项目代码将全部使用中文注释,一些特殊,关键字,也使用中文术语。
    个人认为这是一个重点,按国人的习惯来写注释,所以它完全是对国人是友好的。
在车辆工程中,悬架系统的性能评估和优化一直是研究的热点。悬架不仅关乎车辆的乘坐舒适性,还直接影响到车辆的操控性和稳定性。为了深入理解悬架的动态行为,研究人员经常使用“二自由度悬架模型”来简化分析,并运用“传递函数”这一数学工具来描述悬架系统的动态特性。 二自由度悬架模型将复杂的车辆系统简化为两个独立的部分:车轮和车身。这种简化模型能够较准确地模拟出车辆在垂直方向上的运动行为,同时忽略了侧向和纵向的动态影响,这使得工程师能够更加专注于分析与优化与垂直动态相关的性能指标。 传递函数作为控制系统理论中的一种工具,能够描述系统输入和输出之间的关系。在悬架系统中,传递函数特别重要,因为它能够反映出路面不平度如何被悬架系统转化为车内乘员感受到的振动。通过传递函数,我们可以得到一个频率域上的表达式,从中分析出悬架系统的关键动态特性,如系统的振幅衰减特性和共振频率等。 在实际应用中,工程师通过使用MATLAB这类数学软件,建立双质量悬架的数学模型。模型中的参数包括车轮质量、车身质量、弹簧刚度以及阻尼系数等。通过编程求解,工程师可以得到悬架系统的传递函数,并据此绘制出传递函数曲线。这为评估悬架性能提供了一个直观的工具,使工程师能够了解悬架在不同频率激励下的响应情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值