全部博文(153)
分类:
2009-10-14 09:28:18
文件:
SEP4020功耗测试报告.pdf
大小:
198KB
下载:
下载
测试日期:
测试人:张黎明 顾昊琳 石桂康 陈招娣
修改记录:2009.9.27修改文档中各个模块打开部分图片 顾昊琳
一、 SEP4020介绍:
SEP4020提供四种低功耗模式:SLOW、NORMAL、IDLE 和SLEEP。
●SLOW 模式不打开DPLL,芯片工作频率为2~5MHZ/n,其中n=
●NORMAL 工作在DPLL 的时钟之下,此时DPLL 的输入为晶振时钟;
●IDLE 模式关闭CORE 时钟,减小内核和存储器功耗可以从 NORMAL 和SLOW 进入IDLE。
●SLEEP 关闭所有时钟,SLEEP 时的功耗<150uW,支持SDRAM 的数据自刷新,支持RTC 日历保持。
SEP4020有三路电源,一路供给core,一路供给DPLL,一路供给I/O(下文所有I/O均为片内I/O)。
二、 测试工具:
1、硬件工具:
(1)SEP4020开发板,仅带有cpu+晶振+jtag的最小系统3块(以下简称最小系统);
(2)电流测试工具:Agilent N
(3)稳压电源两台。
(4)J-link
2、软件工具:
(1)ADS1.2
(2)Protel 99 (UB4020EVB(V1.1)完整版本)
二、测试目的:
测试芯片级功耗。
主要测试最小系统在正常电压工作环境下(1.8V),低电压工作环境(低于1.8V)以及在高温(
●动态功耗:是指cpu处于正常运行时的功耗,主要情况有:有I/O操作/无I/O操作;系统主频处于slow(
备注:本来打算轻载程序使用普通程序,重载程序使用循环算pi程序,但经实验验证重载程序和直接写while(1)的效果是一样的,反而是有I/O操作和无I/O操作有很大的差别,因此这里改成有I/O操作(点蜂鸣器程序)和无I/O操作情况(while循环);测动态功耗时内部模块使能统一,仅保留最少必要模块时钟
● 特殊模式下的功耗:主要是idle和sleep模式(slow模式下已在动态功耗部分测得)
● 芯片内部模块的使能对芯片功耗的影响:系统处于正常运行时,从最少必要模块开始一个个模块使能,测试模块对芯片功耗的影响。
● 低电压工作状态:测试在pll电压保持不变的情况下,依次降低core的电压,测试芯片的四种状态(nomal, slow, idle(含进入和唤醒),sleep(含进入和唤醒))是否正常,并找出完全不能实现的极点。
● 特殊工作温度下的功耗:主要是极端低温度(
备注:静态功耗:是指系统有电压而无运行时钟,此时cpu所处的模式和sleep时的功耗几乎相同,因此静态功耗请参考sleep模式的功耗。
三、测试方法:
电路配置:
由于整个系统的电压供给有三路,一路是3.3伏的电压供给芯片VDDI/O,一路1.8伏的电压供给芯片core,一路1.8伏电压供给芯片的pll。
因此本测试直接通过专用仪器给这三路供电,不通过外部稳压器件,这样这三路的所经过的电流均是SEP4020芯片本身的电流。由于Agilent N
程序烧写:
为了降低外围设备对分析芯片功耗所带来的影响,本测试没有提供外部存储介质,所有程序都是在内部esram中实现,先通过jtag将程序download到esram中,然后让程序运行,拔去jtag解除调试器对芯片的halt(必须拔去,因为jtag本身是使用3.3伏的,会对测试产生干扰),此时系统处于待测试状态。
四、测试结果及分析:
0、 测试注意点:
(1)由于程序只能在esram中运行,需要借助axd调试器,模块打开若无特别说明,均仅打开esram,emi,GPT(定时器,名称属于历史遗留问题)。程序入口地址为0x0400000,注意此时需修改程序的堆栈地址。
(2)此次测试没有开启mmu cache,因为本次测试所有代码均在esram中运行,因此开启mmu cache不能说明真实问题,留置测试板级功耗测试。
(3)在测试外设时,注意将蜂鸣器部分跳线帽断开。
(4)以mA为单位时,测到小数点后两位数据已经出现抖动,所以再保留到第三位已经没有意义了。
(5)测I/O的电流时, J-link加在电路上测的,通过多次观测,J-link在不同主频下电流区别不大,在0.50 mA—0.53 mA之间,注意数据中的I/O电流值是包括J-link的。
(6)测Core的电流时,J-link是否加载在电路上不影响测试结果,因为J-link用3.3V电压供电,不影响1.8V供电的Core电流。
1、 动态功耗测试
本节测试目的:主要测试在芯片的不同部分在芯片正常工作时的功耗比重。
测试结果:
Cpu状态 |
主频 |
I/O操作 |
Pll电流值 (mA) |
Core电流值(mA) |
I/O外设 (mA) |
芯片总电流 (mA) |
Slow |
|
有 |
5.45 |
3.25 |
9.00 |
17.7 |
无 |
5.55 |
3.10 |
9.15 |
17.8 | ||
|
|
有 |
6.62 |
10.65 |
9.81 |
27.08 |
无 |
6.54 |
10.00 |
9.87 |
26.41 | ||
|
有 |
7.07 |
17.02 |
10.38 |
34.47 | |
无 |
6.55 |
15.89 |
10.50 |
32.94 | ||
|
有 |
6.81 |
28.13 |
11.48 |
46.42 | |
无 |
6.75 |
26.00 |
11.61 |
44.36 | ||
|
有 |
6.36 |
46.50 |
14.22 |
67.08 | |
无 |
6.40 |
43.24 |
13.63 |
63.27 | ||
|
有 |
6.70 |
50.50 |
15.57 |
72.77 | |
无 |
6.50 |
46.91 |
14.90 |
68.31 |
(红线为有I/O操作时候的电流值,蓝线为有I/O操作时候的电流值,纵坐标为电流值,单位mA,横坐标为主频,单位MHz)
无IO操作 有IO操作
(注:由于本实验使用的稳压电源值具有一定程度的波动,可能会影响PLL的电流值)。
无IO操作 有IO操作
有IO操作 无IO操作
无IO操作 有IO操作
分析:
SEP4020在不同主频下,core呈线性变化,而pll和I/O部分的功耗变化不大,因此在低频的时候pll和I/O部分所占比重较大,而等频率上去后,core的比重逐渐加大并成为主要来源。从芯片整体的角度来看,在不改变主频外地其它条件下,芯片整体功耗随着芯片主频的上升而基本呈线性关系。
2、 特殊模式下的功耗测试
本节测试目的:主要测试芯片处于非正常工作模式下(sleep,idle)时芯片内部各部分的功耗比重。
Sleep时是将core和芯片内部其它I/O模块的时钟关闭,因此和系统主频无关;idle时只是停止core的时钟,I/O外设部分仍然有时钟,因此和主频有关;外设也仅仅打开模块gpt, emi, esram。
程序中将在进入模式后点蜂鸣器,正常情况下蜂鸣器不会响。若在测试的中发现蜂鸣器在响,则说明此时未进入特殊状态,需排查原因。
测试结果:
Cpu状态 |
cpu进入特殊模式前的主频 |
Pll电流值 (mA) |
Core电流值 (mA) |
I/O电流值 (mA) |
整个芯片电流值 (mA) |
Sleep |
X |
0.00 |
0.89 |
5.40 |
6.29 |
Idle |
|
6.48 |
5.69 |
9.00 |
21.17 |
|
6.96 |
8.71 |
9.65 |
25.32 | |
|
6.76 |
14.02 |
10.75 |
31.53 | |
|
6.56 |
22.67 |
12.42 |
41.65 | |
|
6.53 |
24.60 |
12.81 |
43.94 |
Sleep模式整个芯片的电流值为6.29mA,无图。
分析:
(1)pll在sleep的时候电流几乎为0,在idle的时候电流变化不大。
(2)Core在sleep时也电流也比较小,但是在idle的情况下随主频呈线性变化。