Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Embedded 硬度实时测试操作系统_Embedded_Real Time_Hard Real Time - Fatal编程技术网

Embedded 硬度实时测试操作系统

Embedded 硬度实时测试操作系统,embedded,real-time,hard-real-time,Embedded,Real Time,Hard Real Time,我有一个嵌入式设备()宣传实时功能,但没有提到“硬”或“软”。当我等待制造商的回复时,我想自己测试系统不会有什么坏处 确定特定设备在实时/确定性行为(延迟和抖动)方面的“硬度”有哪些既定程序 在大学里,我可以使用一些非常整洁的硬件(好的示波器和信号发生器),所以我认为我不会在测试设备方面遇到任何问题,只是专业知识。有了这种设备,应该很容易将示波器与稳定的时钟同步,每次实时系统产生一个输出时产生一个尖峰,看看这个尖峰与中心的差异有多大。变化越小,硬度越大。为了澄清鲍勃的答案,可能: 使用信号发生器

我有一个嵌入式设备()宣传实时功能,但没有提到“硬”或“软”。当我等待制造商的回复时,我想自己测试系统不会有什么坏处

确定特定设备在实时/确定性行为(延迟和抖动)方面的“硬度”有哪些既定程序


在大学里,我可以使用一些非常整洁的硬件(好的示波器和信号发生器),所以我认为我不会在测试设备方面遇到任何问题,只是专业知识。

有了这种设备,应该很容易将示波器与稳定的时钟同步,每次实时系统产生一个输出时产生一个尖峰,看看这个尖峰与中心的差异有多大。变化越小,硬度越大。

为了澄清鲍勃的答案,可能:

使用信号发生器以某种不同的频率产生脉冲。 最好在一定范围内随机分布

使用信号发生器(触发信号)启动示波器

RTO必须响应、执行操作并发送输出脉冲

将RTOS输出馈送到作用域的输入2中

获取持久化/收集模式的作用域。 让示波器从A开始,在B停止。如果可以的话

在理想的工作环境中,让它为您测量分布。勒克罗伊会的。 从比预期慢得多的跟踪开始。您需要能够看到缓慢的异常值。 您将能够看到分布情况。
假设为正态分布,响应时间变化的SD为柔软度。 (这在实践中不会真的发生,但如果你没有得到异常值,它是相当有用的。) 如果存在较大延迟的异常值,则RTO不是很难实现。不能很好地满足最后期限。那么它就不适合于艰苦的实时工作。 许多类似RTO的东西都有很好的曲线左边缘,像1/f曲线一样向下倾斜。 这是综合性紧张的迹象。要注意的是示波器右端的慢响应尖峰。如果没有异常值,继续用更快的轨迹重复实验,以获得良好的坡度图像。在你的论文中应该有一些推测性的结论

如果对于您的应用程序,假设1uS的增量是可以的,而您的测量值是0.5us,那么这一切都很酷

无论如何,您可以发布结果(可能是发布,但肯定是在web上)


当你写完这篇文章时,把这个问题链接到这篇文章。

我知道自己是个怪人,但用示波器测试一台带有以太网/usb/其他数字端口和巨大内部状态(RAM)的计算机既无效又不可靠

您可以将任何PC连接到输出端口并运行适当的统计分析,而不是查看波形

既定程序(如果输入信号本质上是模拟的)是针对多个特征输入(传统上是尖峰、阶跃函数和不同频率的正弦波)测试系统,并测量每种输入类型的相移和方差。然后在系统规范中使用最坏情况

同样,如果您使用的是标准端口,您可以轻松地在PC上生成这些端口。如果输入是真正的模拟输入,则需要一个单独的DAC或一个好的声卡

现在,这并不能说明操作系统是实时的——它可以运行香草Linux,甚至赢得CE,并且如果硬件足够快,仍然可以在这些测试中产生良好和稳定的结果

所以,您需要在处理器、内存和所有端口上模拟繁重且变化的负载,让它加热并消耗内存几个小时,然后重复测试。如果延迟保持不变,就很难实现实时性。如果在任何负载和输入信号类型下,它没有增加到可接受的极限以上,则它是软的。否则,这就是广告


附言:这意味着,即使对于关键系统,如果你有硬件,你实际上也不需要硬实时。

硬实时与软件的工作方式有关,而不是硬件本身。当询问某件事情是否是硬实时时,必须将其应用于整个系统(硬件、RTO和应用程序)。这意味着硬实时或软实时是系统设计问题

在负载超过规范的情况下,即使是硬实时系统也会出现故障(希望有适当的故障指示),而低负载的软实时系统会给出硬实时结果。必须及时进行多少处理以及可以执行多少预/后处理是硬/软实时的真正关键

在某些实时应用程序中,某些数据丢失不是故障,它应该只是低于某个级别,这也是系统标准

您可以生成电路板的输入,让一个小应用程序对其进行计数,并检查数据丢失的级别。但这会给您一个特定于运行该应用程序的系统的评级。一旦你开始做更多的处理,你的计算量就会增加,你现在有了一个不同的硬实时限制

该板卡将运行一个裸体调度程序,这将为大多数任务提供良好的可预测的硬实时性能。 在计算量很大的情况下运行完整的RTOS,您可能只能获得软实时

评论后编辑

我用来衡量软件性能的最有效和最简单的方法(假设您使用调度)是在电路板上使用一个自由运行的硬件计时器,并在我的周期的开始和结束时加上时间戳。或者,如果运行完整的RTOS时间戳,则需要进行采集和转换。节省您的最大时间,并在一秒钟内对这些值进行平均。如果你的平均值在50%左右,而你的最大值在平均值的20%以内,你就可以了。如果不是的话,是时候重构你的应用程序了。随着应用程序的增长,周期时间也会增加。您可以监视所有软件更改对周期时间的影响

阿诺