当前位置:首页 > 工作计划 > 如何测试嵌入式CPU的功耗_嵌入式在功耗检测系统中的应用
 

如何测试嵌入式CPU的功耗_嵌入式在功耗检测系统中的应用

发布时间:2019-04-13 04:11:56 影响了:

  中图分类号:TD82 文献标识码:A  摘 要:本文是介绍一个基于以太网对目标系统功耗进行检测的系统,着重讨论其对外部硬件扩展方法,A/D转换程序设计方法,检测设备与控制主机之间的通信协议,检测设备和控制主机上的软件结构等关键性问题。
  关键词:以太网 A/D 功耗检测 嵌入式
  一、引 言
  本文是介绍一个基于以太网对目标系统功耗进行检测的系统,着重讨论其对外部硬件扩展方法,A/D转换程序设计方法,检测设备与控制主机之间的通信协议,检测设备和控制主机上的软件结构等关键性问题。功耗检测系统中,由ARM处理器系统构成了多通道电流检测设备。此设备可以通过A/D转换部件同时采样最多16个通道的电流值,并将这些采样结果组织成特定的报文格式,通过Internet传送到指定的控制主机 。控制主机同时检测多个电流检测设备,在通过Internet接收到这些电流采样值后,可以按照用户的要求进行显示,存储和分析。
  二、检测系统的基本构成
  本系统由嵌入式系统构成的数据采集终端,通信网络和控制主机三个部分构成。其总体结构图如下。
  图1:功耗检测系统总体结构
  本功耗检测系统的主要测量对象是直流稳压系统中的功耗变化。有公式(1)可知,系统的瞬时功率P取决于当前电流I和电压V;
  P(t)=I(t)*V(t) (1)
  而能量消耗则是瞬时功率对时间的积分;
  E( , )= (2)
  在实际系统中往往采用的方式估计系统的能量消耗,假定两次采样间隔之间功率保持恒定,并设两次采样之间的时间间隔为Δt,则在[ , +Δt]时间段内近似的能量消耗为;
  E( , +Δt)=P( )*Δt=I( )*V*Δt (3)
  在公式(3)中,由于测量对象是直流稳压电源,所以其电压V可以认为保持恒定。而采样间隔Δt则可以根据系统的性能进行设定。采样间隔越小,系统测量的精度越高 。
  本系统采用Maxim公司的MAX471芯片作为电流测量器件。该芯片最大测量电流为3A,最大电压为36V,测量精度高,外围电路比较简单。
  MAX471采用8脚双列直插封装,引脚排列如图2所示。
  图一 MAX471的引脚排列图
  各引脚的功能如下表所示。
  表一 MAX471引脚功能
  引脚 符号 功能
  1 SHDN 当此引脚为高平时处于休眠状态,耗电电流小于18uA
  2,3 RS+ 内部采样电阻电源端
  4 GND 接地
  5 SIGN 电流方向检测,当电流从RS-流向RS+端时,SIGN引脚呈高电平
  6,7 RS- 内部采样电阻负载端
  8 OUT 检测电路输出端
  MAX471的典型应用电路如图二所示。
  图二 MAX471的典型应用电路
  MAX471的输出端OUT向外输出的电流 始终是经过芯片的负载电流 的2000分之一。如果在OUT端连接上一个2K?的电阻 ,则 两端的电压为:
  = * =2K?* = (4)
  由公式(4)可以发现, 两端的电压与负载电流同步变化。在本应用系统中,待测量系统的最大负载电流不超过3A,因此 也不会超过3V。通过采样 的电压值就可以得到当前负载电流的大小,从而推算出系统的瞬时功率和整体功耗。上述电流测量结果 可以连接到A/D转换器的输入端,供采集设备使用。
  三、A/D转换的软件操作
  MAX471的OUT端可以直接连接到S3C2410芯片的A/D转换输入端,通过标准的Linux操作。程序代码段的int_ADdevice()函数,通过标准文件操作打开函数open()启动A/D转换器,其文件是一个设备文件“/dev/adc/Oraw”。
  读取A/D转换结果函数GetADresult()输入参数为A/D转换通道号。在此函数中将A/D通道号和转换因子形成一个字(高16位是通道号,底位为转换因子),并通过标准文件写入函数write()写入A/D转换器驱动程序,然后通过标准文件读出函数read()从A/D转换器中读出转换结构,并返回主程序 。
  此控制协议需要实现以下功能:
  1.检测设备开机后能自动与控制主机连接,并向主机发送相应的状态信息。
  2.检查设备能接受主机发来的配置命令,并根据配置命令调整系统参数设置(主要是检测目标通道和采样间隔)。
  3.检测设备根据主机发送来的配置命令,在每个采样间隔内完成所有通道的A/D转换,并形成数据包发送回控制主机 。
  为实现上述功能,在控制主机和检测设备之间需要采用两个通信通道,一个用于传输主机命令和检测设备的状态信息,一个用于传输检测数据。由于命令和状态信息不能丢失,所以需要采用面向连接,无差错传输的TCP协议;而为了减少系统负载,并保证检测数据的实时性,可以采用UDP协议实现检测数据的传输。在系统具体实现时,利用选择没有被占用的TCP和UDP协议端口号,分别作为控制和数据端口。这里将控制端口设定为CNTL_PORT,数据端口设定为DATA_PORT。
  监控主机和检测设备之间的通信协议如图所示。

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3