- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式开发实例
嵌入式数控系统
实时系统
1.1反应时间
◇任务的反应时间是任务应当开始执行(或结束)的时刻与实际执行的时刻差值。
1.2决定反应时间的几个要素
◇处理器、总线、内存以及外围设备的时间特性
◇操作系统的调度特性
◇内核的占先特性
◇系统的负载
◇任务转换时间,指的是处理器需要保存正在进行任务的数据的时间(例如寄存器,堆栈和指针),以及将它的数据替换成新调度的任务的本地数据的时间,这些因素很难在时间上保持稳定,在并发的任务调度中静态分配掩饰成为jitter。
1.3时间约束
1、不同的应用有不同的时间约束,理想状态下,实时操作系统能够满足时间约束。然而现在还没有一个普通的有保证的调度算法能够使所有以下这些时间约束都满足:
◇最后期限:一个任务必须在指定时间内完成,但是有时任务在指定时间内完成的结果对质量并不重要。例如:在缓冲区清空之前,处理器必须将声卡的缓冲区填满;在另一个外围设备到达并且读那个值之前,输出端口的电压必须到达一个给定值。
◇零执行时间:理想状态下,任务的执行时间为零。如:测量,计算,吧结果传给外围设备都发生在瞬间。
◇服务质量:在一个时间单位里任务得到“服务”的数量。
实时系统
实时系统任务分类:
嵌入式系统设计
需求分析
数控系统是一种自动阅读输入载体上事先给定的数据,并将其译码,从而使机床移动和加工零件的控制系统。它的工作原理是通过各种输入方式,接受加工零件的各种数据信息,经过译码、处理、插补,生成各坐标轴的参考位置,吧各轴的参考位置送到轴控制器中,驱动轴的运动,是各个坐标轴能精确地运动到所要求的位置。
功能需求
输入输出
输入/输出/通讯功能
字符图形显示功能
程序编制功能
数据处理
插补功能
进给功能
主轴速度功能
刀具功能
补偿功能
辅助功能
报警
自诊断功能
非功能需求
物理环境——车间,工作环境恶劣
用户——一般是车间操作员,操作水平有高有低
质量保证——用在工业控制环境质量要求高,同时现在市场竞争激烈,如果质量不好很难再市场上站住脚。
QOS
数控系统响应性高,主要是对突发事件的反应(如急停)
数控系统具有可确定性。因为可确定性主要是确保条件/时间出现和由此引起的动作开始/结束的时间在一个准确的时间间隔内。在CNC系统中,条件/时间是由操作员的指令或者机床的状态引起的。实际上,需要满足时间约束的情况主要是和系统安全以及切削精度有关,因此数控系统具有硬史诗任务。硬实时任务指必须满足最后期限的限制,否则会给系统带来不希望的破坏或者致命的错误。
性能高——需要进行许多复杂的计算
可靠性——可靠性要高,在加工过程中不出现问题,至少一个月之内不能死机,出现故障。
安全程度高。
选择任务类型:
单个状态机
多个任务
选择状态机
简单状态机
时间测量
主要目的是为了测量单个任务的时间
评估系统的整个实时性能
精确的实时调度分析
优化代码
调试时间错误
方法:
秒表
Date
Time
Prof和gprof
软件分析仪
定时器/定时器时间片
逻辑分析仪
使用适当的并行设计方法
非抢占式——周期或多速率执行
抢占——实时操作系统
不用终端模拟多任务
下面的软件问题导致软件崩溃
无效的数组索引
没有初始化的指针操作
没有授权的Buffer操作
非法的栈操作
无效的处理器操作
无限循环
系统应力测试
功能干涉测试
干涉负载测试
应力负载测试
功能干涉测试过程
一旦定下了功能测试矩阵,需要从矩阵中定下详细的设计过程。测试过程分两类:
简单测试,只涉两个功能间的干涉测试
负载测试,涉及多个功能间的干涉测试
干涉负载测试:
干涉负载测试可以从干涉矩阵中得到。基本上是就不同的功能运行同一个负载。这里负载意味着通过脚本重复执行操作者的命令,周期性的重启系统板等。
上面的矩阵可以是干涉测试最好的例子:
整天运行自动运行同时MDI命令
运行手动方式下执行MDI和自动运行等。
应力负载测试
1:应力负载测试指南
◇过载系统
◇在实际系统中进行负载测试
◇负载测试时负载随时间不同而不同
◇测试同一时间到达的负载
◇测试具有不同服务时间的负载
◇测试负载性能
2:译码任务过载,插补任务过载,伺服任务过载,中断过载
3:以上任一任务的过载都会引起系统向伺服电机发送脉冲的间断,同时显示刷新太慢。
文档评论(0)