新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 分析复杂器件内部的实时可视性的设计方法

分析复杂器件内部的实时可视性的设计方法

作者:时间:2011-07-05来源:网络收藏

  6. 块状记录

  在某些情况下,在不影响执行时(如没有运算时)有可能可以暂停对象。此时可以通过在能安全暂停的情况下触发一次暂停来“避免”缓冲期上载开销,然后在系统暂停的时候再对缓冲器上载。

  7. 按块上载

  如果任务比较空闲,可以在系统没有完全利用时用来上载缓冲器。尽管这不会减少上载开销,但却可以将上载的影响转移到一个对系统性能影响更小的时段。

  8. RTOS监测

  RTOS,即:系统(Real-time operating system),系统能够在指定或者确定的时间内完成系统功能和外部或、同步或异步时间做出响应的系统。它的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。因此实时系统应该在事先先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。 为了便于理解,机场的售票系统就是一个典型的实时系统。

  对于更的监测,可以在实时操作系统上找到支持。很多操作系统具有内置的机制和库,能支持片上监测硬件,即易于配置又为管理循环缓冲器和向外发送数据流需要的基础架构提供基本代码,并提供用于自监测的Hook函数。通过对记录过程抽象化以及卸载数据,可以快速地对监测的对象、监测的方式、监测的频率、获取数据的位置以及卸载方式等进行重新配置。在创建自己的基础来测试代码之前,应首先检查RTOS提供的内容。

  RTOS就是这样的一个标准内核,包括了各种片上外设初始化和数据结构的格式化,不必、也不推荐用户再对硬件设备和资源进行直接操作,所有的硬件设置和资源访问都要通过RTOS核心。硬件这样屏蔽起来以后,用户不必清楚硬件系统的每一个细节就可以进行开发,这样就减少了开发前的学习量。

  一般来说,对硬件的直接访问越少,系统的可靠性越高。RTOS是一个经过测试的内核,与一般用户自行编写的主程序内核相比,更规范,效率和可靠性更高。对于一个精通单片机硬件系统和编程的“老手”而言,通过RTOS对系统进行管理可能不如直接访问更直观、自由度大,但是通过RTOS管理能够排除人为疏忽因素,提高软件可靠性。

  另外,高效率地进行多任务支持是RTOS从始至终的一条主线,采用RTOS管理系统可以统一协调各个任务,优化CPU时间和系统资源的分配,使之不空闲、不拥塞。针对某种具体应用,精细推敲的应用程序不采用RTOS可能比采用RTOS能达到更高的效率;但是对于大多数一般用户和新手而言,采用RTOS是可以提高资源利用率的,尤其是在片上资源不断增长、产品可靠性和进入市场时间更重要的今天。

  9. 避免访问存储器和其它系统资源

  只有在硬件机制不足的情况下,才应该用软件手段作为补充,例如当需要非常大的缓冲器或者当有限的处理降低了整体的干扰时。理想的情况是,如果在不使用系统总线或存储器的情况下监测系统总线或存储器,将能得到更准确的结果。如果将采集的数据量控制到最小,就可以避免使用存储器中的缓冲器,只是通过JTAG或总线直接发送。

  10. 连续采集

  在一段时间内从流体中连续采集样品,对于该时段而言,称之为连续采样。连续采样主要用于污染物浓度随时间变化的场合,用以描述流体中污染物质的平均浓度,尤其适用于江、河的水质监测和连续排放的废水污染源、废气污染源的监测。可反映一定时段内的平均水平,代表性强;缺点是不能反映污染物的瞬时浓度和最大值,容易掩盖污染的极限情况。

  在过程中监测如果需要采集大量的数据,可以考虑连续采集。注意,因为在每次运行时会采集到不同的信息,将无法对结果进行关联,因为时间戳包含不同的测试延时。在考虑从什么地方开始发现问题时,这种最好。因为这样能降低概率,也能降低监测的等级。

  11. 模块

  如果通过JTAG或总线发送数据,则可以在目标和主机之间放置一个处理模块来处理时间戳的产生和有限的数据处理。通过将时间戳的工作卸载到该模块,可以释放测试总线的带宽,用来发送更多的信息。模块也是实现完全无干扰监测的非常有效的。例如,模块可以监测系统总线,监测测试总线上某个特定的存储器地址范围,或使用直接存储器访问(DMA)来触发一次准实时的数据块获取。

  硬件辅助监测

  在某些情况下,测试代码可能要么对系统影响太大,要么不够准确,或者不能简单地获得理解流过的SoC的数据流的动态特性所需要的信息。越来越多的SoC架构包含用于辅助监测的硬件运行的功能,以满足这些需求:

  1. 事件计数器

  计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。

  用软件监测一个事件时,很多细微的细节不容易被发现。例如,记录某个特定的CPU内核在等待访问共享资源(如外部存储器)时停止的次数,采用软件就无法实现。包含一些设置很好的计数器的硬件,可以以很低的额外成本实现对系统动态特性的深入了解。数据可以通过调试器的JTAG接口读出,或被周期性地读出,例如,由软件中的背景任务读出并写入到缓冲器中,以便在稍后的时间进行查询。



评论


相关推荐

技术专区

关闭