打印

dsPIC30F6014A发烫:速度、功耗及封装热阻等探讨

[复制链接]
16446|41
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 逆序排列 于 2011-5-7 23:00 编辑

dsPIC30F6014A发烫

外部晶振为7.3728M,16倍频,进去后不分频,就点亮一个LED闪烁,芯片就发烫,把LED闪烁屏蔽掉也是一样,只有在4倍频的时候才不会。。。

按照手册,

4/8倍频时外部晶振为4M~10M
16倍频时外部晶振为4M~7.5M,并没有超过额定范围,为什么会发烫?

哪位有碰到过这种情况么?指点一下,谢谢!!!

程序如下:


#include<p30f6014A.h>
//#include<p30f6014.h>
_FOSC(CSW_FSCM_OFF & XT_PLL4);
//_FOSC(CSW_FSCM_OFF & XT_PLL8);
//_FOSC(CSW_FSCM_OFF & XT_PLL16);
//_FOSC(CSW_FSCM_OFF & FRC_PLL16);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF & MCLR_EN);
_FGS(CODE_PROT_OFF);
#define Fcy 7372800
int main(void)
{
LATD = 0xFFFF;
TRISD = 0xFFF0;
TRISA = 0xFFFF;
LATB = 0xF0FF;
TRISB = 0xF0FF;

T1CON = 0;
TMR1 = 0;
PR1 = (Fcy/256)/2;
T1CON = 0x8030;
LATBbits.LATB8 = 1;
while(1)
{
  if(IFS0bits.T1IF==1)
  {
   IFS0bits.T1IF = 0;
   LATDbits.LATD0 = !LATDbits.LATD0;
   LATBbits.LATB8 = !LATBbits.LATB8;
  }
  if(PORTAbits.RA12 == 0)
  {
   LATDbits.LATD2 = 0;
   LATDbits.LATD3 = 1;
  }
  if(PORTAbits.RA13 == 0)
  {
   LATDbits.LATD3 = 0;
   LATDbits.LATD2 = 1;
  }
}
}
来自 2楼
xwj| | 2011-5-8 08:20 | 只看该作者
至于热阻的问题,其实和电阻的理解是一样的:
发热的热源是个功率源,各环节的热阻其实和串联电阻是一样的,也是一级一级串联的,只不过是分布的;
而温度则相当于上面的分压,照样符合分压原理的。

热量(P)从芯片核心出来,经过封装内的热阻(R1)传到外壳,外壳再经过外壳对空气的热阻(R2)传给周围空气,周围空气再经过自己的热阻(R3)传个大环境
——中间还可能经过机箱内空气、机箱外壳、机箱外壳对空气、机箱旁边空气对室内环境、室内环境对外环境等等等等,但一般温度下影响已经很小了,一般是忽略不计的。


很明显,芯片核心对外的热阻是串联的,总热阻等于R1+R2+R3+....,而总温度则对应于功率/总热阻,当然是热阻越大温度越高(散热差),热阻越小温度越低(散热越好)。

使用特权

评论回复
来自 3楼
xwj| | 2011-5-8 08:54 | 只看该作者
本帖最后由 xwj 于 2011-5-8 08:56 编辑

接着说:
温度差,也就是温升C总=Cr1+CR2+Cr3+...
很明显,功率确定了时,总的温升与总热阻是呈反比的。而各环节的温升也是和各环节的热阻成反比的。
而减小任何一个环节的热阻(比如R1),那么整体的总热阻(R总)就会减小,热源的最终温度就会降低一点
——但是,既然R1的热阻减小了,它的温升也减小了,那它分得的热量岂不是呈平方减小了呢?——是的!
——那如果总的热量(功率)是一个定值,那多出来的热量呢???  ——当然是分给别的环节了,所以别的环节的温升就必然会增加。
——那这种情况是好事还是坏事呢?——其实,我们早就知道结果:对别的环节来说是坏事(别的环节温升会增加嘛),但对总体结果(芯片核心温度:结温)来说这是好事。


所以,说到散热好坏、说到热阻时,就得分是哪个环节了。

而你说的:
如果按这个计算,TJ应该取多少?85度吗?
那个TX就是芯片表面的温度,比如50度
那:(85-50)/(0.2A*5V)=35?

这个只是假设TJ取85,那实际的话应该取多少?

那不是说芯片表面温度越高,芯片的散热性能越好?


你这个先就把结果“假设”了,先得出个“85度”的TJ,再减去“芯片表面的温度,比如50度
”,那这很明显对应的是热量从芯片核心传到芯片外壳的这个过程(阶段),对应的是封装内的热阻。当然是芯片封装越能将热量传给外壳就越好了。

——嗯,到这里,看起来还不错嘛,外壳温度越高R1越小嘛~
但是,芯片只要将热量传个外壳就可以不管了吗????
只要脑子不笨,稍微多想一点,大家就都会想到这个问题了。——因为明显不对啊,外壳温度越高明显不是好事啊~~
呵呵,答案其实大家潜意识就已经意识到了。(潜意识就是脚趾头思维啦~用脚趾头都能想到的最简单、最正确的答案,但脚趾头太简单,知道答案但不知道原因,所以我们还是还是得用大脑来分析问题;P)

休息一下,稍后继续。

使用特权

评论回复
来自 4楼
xwj| | 2011-5-8 09:12 | 只看该作者
看了上面的分析,我们貌似得到一个结论:

那不是说芯片表面温度越高,芯片的散热性能越好?

这不是明显不对嘛~芯片表面温度高还是好事???

呵呵,之所以会这样,是因为我们忽视了其他的环节,犯了片面主意了。
(——其实沿袭17楼的分析继续下来的这个分析还有个更大的错误,是严重的方法错误,最后在解释说明)

很明显,
对于一个没有散热片等其他散热环节、措施的塑封芯片,芯片只要将热量传个外壳就可以不管了吗????
——当然不是!芯片还要通过外壳把热量传个周围空气,最终传个大环境才行!这必须得是这个芯片自己完成的任务!
而这才是整个系统中大头!!!
这第二个环节(R2)上面的温升这么高,说明R2太大了!这个才是水桶的短板。

而很明显,封装内的热阻(R1)传到外壳,外壳再经过外壳对空气的热阻(R2),这R1、R2加起来才是芯片的散热能力。
所以,外壳温度越高对应芯片散热能力越差才是正解。


那为什么17楼会得出那个明显不对的分析结果呢?
——呵呵,除了片面主意外,真正的原因是犯了另一错误,下文继续:)

使用特权

评论回复
来自 5楼
ad827| | 2011-5-8 20:08 | 只看该作者
这里LZ忽略了一个很重要的问题,热阻一般分为两种一个是junction to case,也就是结到壳的热阻,这个值一般都比较小,即使是TQFP这样比较不利于散热的封装。另一个就是case to environment的,这个值随着封装形式的不同有巨大区别,TQFP就很不好了。以两种形式的封装为例,比如DO214的SS14二极管,在阳极下放比较大的铜皮,2盎司或者更厚的铜皮,多过孔连接至反面,多层板,那么外壳到环境的热阻是有巨大变化的,因为多数外壳到环境的热阻指的是理想状况下,你可以想象如果在铝基板上放基本上能看是理想状况,但是比如单层PCB,1盎司铜pcb,不加锡槽就有很大区别。
另外比如SS14,一般管芯是放在靠近阳极,如果用热像仪看,很容易发现阳极温度高一些,所以在阴极放多大的铜效果也不如反之。
各家的TQFP的支架形式不能乱猜,但是不管怎么放,TQFP也很难排除掉超过1W的自身发热,我相信很难把芯片本身的最高温度控制在100摄氏度以下,如果在无空气对流,1W发热,室温时。
但是QFN就很容易处理,如果使用4层PCB,7*7mm封装,过孔直径不低于20mil,塞铜或者孔中有焊锡时,很容易做到在3W发热时热像仪观察不到85摄氏度以上的情况。

使用特权

评论回复
来自 6楼
ad827| | 2011-5-8 20:17 | 只看该作者
TQFP是特别难处理theta ja的一种封装,一般情况下标称值都是理想值,实际的散热渠道是管脚。封装内情况没有拆封的情况下难以判定,但是一般来说各管脚散热能力误差不大。TQFP封装的最好散热方式是每根线走出后立刻加粗。以及选用TQFP而不是LQFP。
LQFP我不信有几个没有热像仪的公司可以做到39摄氏度每瓦,绝对不信。
TQFP处理的办法主要是四个:
1,刚才提到的所有走线向外扩展相当距离才打孔,这样可以扩展例如60摄氏度等温圈的直径。
2,肚子下铺铜,反面留相当大面积比较完整的铜,并且以过孔相连,过孔直径不能过小,考虑到成本,可以不塞铜,也不一定要2盎司铜,在TQFP和LQFP封装上,厚铜的作用比较小,4层板的作用也小一些,当然绝对是有很大帮助的,只是比例低于QFN封装。
3,锡槽,特别是电源和地引脚,向外15mil即可改宽加锡槽。
4,底部填充导热材料,这是降低TQFP封装表面温度最有效途径。信越和道康宁都有相应材料,可以点胶机滴注。

使用特权

评论回复
7
XIEYUANBIN| | 2011-5-7 07:31 | 只看该作者
工作频率已经达到116M,接近30MIPS,工作电流大约200mA,5V系统功耗1W,发烫正常的.

使用特权

评论回复
8
lemenade| | 2011-5-7 07:43 | 只看该作者
我用的一款带dsp的也差不多,频率越高当然功耗越高了。

使用特权

评论回复
9
yewuyi| | 2011-5-7 08:44 | 只看该作者
MCHP以前已经解释过,dsPIC30F6014A发热是正常的,不过合成到那个封装的热阻上面,那么大的功率是可以承受的。

使用特权

评论回复
10
逆序排列|  楼主 | 2011-5-7 09:33 | 只看该作者
工作频率已经达到116M,接近30MIPS,工作电流大约200mA,5V系统功耗1W,发烫正常的.
XIEYUANBIN 发表于 2011-5-7 07:31


不是吧,这样就能达到200MA?
晚上测下电流!

使用特权

评论回复
11
逆序排列|  楼主 | 2011-5-7 09:34 | 只看该作者
我用的一款带dsp的也差不多,频率越高当然功耗越高了。
lemenade 发表于 2011-5-7 07:43


频率越高当然功耗越高这是肯定的,但是不至于发烫啊,而且这还是在室温下呢,那如果在室外呢?

使用特权

评论回复
12
逆序排列|  楼主 | 2011-5-7 09:36 | 只看该作者
MCHP以前已经解释过,dsPIC30F6014A发热是正常的,不过合成到那个封装的热阻上面,那么大的功率是可以承受的。
yewuyi 发表于 2011-5-7 08:44


在室内用手去摸是很明显的发烫,那如果环境恶劣的话温度肯定会更高,芯片会受得了么?

使用特权

评论回复
13
yewuyi| | 2011-5-7 09:47 | 只看该作者
在室内用手去摸是很明显的发烫,那如果环境恶劣的话温度肯定会更高,芯片会受得了么?
逆序排列 发表于 2011-5-7 09:36


这个系列好像都是工业级别及以上的,耐温比较高,具体你可以看手册。

使用特权

评论回复
14
兰天白云| | 2011-5-7 10:35 | 只看该作者
先测一下芯片消耗的电流,根据低功耗芯片(TI)推算,1M频率时消耗电流2mA,那么100M频率消耗电流达到200mA,注意,这还是低功耗产品,如果是非低功耗芯片,功耗会更大

你看看电脑的CPU,也就3G,电流=功耗/电压=60W/1.8V=33A(保守数据)

测VDD端电流,应该小于250mA,如果偏大则说明有引脚短路,本芯片工作的环境温度最高是125℃,如果不超,可放心使用

使用特权

评论回复
15
逆序排列|  楼主 | 2011-5-7 10:49 | 只看该作者
先测一下芯片消耗的电流,根据低功耗芯片(TI)推算,1M频率时消耗电流2mA,那么100M频率消耗电流达到200mA,注意,这还是低功耗产品,如果是非低功耗芯片,功耗会更大

你看看电脑的CPU,也就3G,电流=功耗/电压=60 ...
兰天白云 发表于 2011-5-7 10:35


主要是感觉有点烫手。。。。。。找个时间仔细测一下!

使用特权

评论回复
16
yewuyi| | 2011-5-7 15:55 | 只看该作者
KAO,没烧就不错了。。。

使用特权

评论回复
17
wzf3151| | 2011-5-7 17:29 | 只看该作者
就是就是,我还是非常欣PIC的单片机的,不烧片子,仿真器也危险。我的笔记本烂啊,不接大地,后来再连仿真器时就自己接大地

使用特权

评论回复
18
XIEYUANBIN| | 2011-5-7 18:26 | 只看该作者
数据手册-直流特性中都有描述,如果是工业级的,芯片的环境工作温度应该是85度

使用特权

评论回复
19
逆序排列|  楼主 | 2011-5-7 21:51 | 只看该作者
数据手册-直流特性中都有描述,如果是工业级的,芯片的环境工作温度应该是85度
XIEYUANBIN 发表于 2011-5-7 18:26


是最高工作温度。。。

使用特权

评论回复
20
逆序排列|  楼主 | 2011-5-7 22:25 | 只看该作者
先测一下芯片消耗的电流,根据低功耗芯片(TI)推算,1M频率时消耗电流2mA,那么100M频率消耗电流达到200mA,注意,这还是低功耗产品,如果是非低功耗芯片,功耗会更大

你看看电脑的CPU,也就3G,电流=功耗/电压=60 ...
兰天白云 发表于 2011-5-7 10:35


测了一下:

7.3728*PLL4:约89mA
7.3728*PLL8:约126mA
7.3728*PLL16:约194mA

7.3728*PLL16::手册标出的是绝146mA,实测约194mA跟手册标出的还是大了约50mA;



如果手指一直按在那,过个10秒钟就会觉得烫手!

使用特权

评论回复
21
逆序排列|  楼主 | 2011-5-7 22:58 | 只看该作者
本帖最后由 逆序排列 于 2011-5-7 23:01 编辑

dsPIC30F6014A的封装热阻参数:


这是封装热阻的定义:



如果按这个计算,TJ应该取多少?85度吗?
那个TX就是芯片表面的温度,比如50度
那:(85-50)/(0.2A*5V)=35?

这个只是假设TJ取85,那实际的话应该取多少?



那不是说芯片表面温度越高,芯片的散热性能越好?

使用特权

评论回复
22
逆序排列|  楼主 | 2011-5-7 23:05 | 只看该作者
本帖最后由 逆序排列 于 2011-5-7 23:16 编辑
先测一下芯片消耗的电流,根据低功耗芯片(TI)推算,1M频率时消耗电流2mA,那么100M频率消耗电流达到200mA,注意,这还是低功耗产品,如果是非低功耗芯片,功耗会更大

你看看电脑的CPU,也就3G,电流=功耗/电压=60 ...
兰天白云 发表于 2011-5-7 10:35


请问你有“根据低功耗芯片(TI)推算,1M频率时消耗电流2mA,”这个相关的文档吗?

谢谢!!!

刚才测了一个TI的芯片:MSP430F2122,晶振为16M,输入的总电流才9.2mA,如果照1M频率消耗2mA的话,那16M频率应该达32mA...

测了一款STC的:STC12C5204AD:3.6864M,电流约13mA;

使用特权

评论回复
23
cecwxf| | 2011-5-7 23:37 | 只看该作者
学习

使用特权

评论回复
24
XIEYUANBIN| | 2011-5-8 07:53 | 只看该作者
不知道你两张表格从哪来,我看到的是下面的
工作电流

热工作条件

不能以不同类型的单片机来相比较,每MHz的消耗电流相差太大了.况且你的计算方法也有问题,dsPIC的工作电流应该按照PLL倍频之后的频率算

使用特权

评论回复
25
xwj| | 2011-5-8 08:07 | 只看该作者
LZ会去看DataSheet了,这是好事,不过DataSheet可能的话最好还是去官方网站下载最新的英文版的,翻译的多少都会有偏差、或过时。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

115

帖子

1

粉丝