用电池供电的产品来说能耗是一个重大的问题,一旦电能耗尽设备将“罢工”。在《MCU低功耗设计(一)理论》中,我们介绍了节能的原理,本文用万用表和MCU电路板,真刀真枪地测试功耗值。简单,但绝对真实的测试数据,看看官方宣称低功耗与实测结果有多大差距,Let’s go!...
分类:
其他好文 时间:
2015-08-06 00:39:33
阅读次数:
727
Android4.3 规范了BLE的API,但是直到目前的4.4,还有些功能不完善。在BLE协议中,有两个角色,周边(Periphery)和中央(Central);周边是数据提供者,中央是数据使用/处理者;在iOS SDK里面,可以把一个iOS设备作为一个周边,也可以作为一个中央;但是在Androi...
分类:
移动开发 时间:
2015-08-04 19:04:14
阅读次数:
206
现代的MCU一般使用CMOS技术,耗能包括2方面:
静态消耗 主要是晶体管消耗能量;
动态消耗 公式=C×V2×f,其中C是CMOS的负载电容,V是供电电压,f是时钟频率;
总电能消耗是静态消耗和动态消耗之和,即:IDD=f×IDynamicRun[uA/MHz]+IStatic[uA].
因此,电能消耗依赖于:
MCU芯片尺寸 或者说晶体管的数目;
MCU供电电压 降低电压可以成平方级别地降低电能消耗;
时钟频率 可以把时钟频率降低到刚好满足应用需要;
外设数目 使能的外设越多,耗能越大;
运行模...
分类:
其他好文 时间:
2015-08-04 11:24:32
阅读次数:
257
这里整理了一些网上关于Winform如何降低系统内存占用的资料,供参考:1、使用性能测试工具dotTrace 3.0,它能够计算出你程序中那些代码占用内存较多2、强制垃圾回收3、多dispose,close4、用timer,每几秒钟调用:SetProcessWorkingSetSize(Proces...
以下为转载内容,因为学习Zigbee,稍作整理了一下,希望作者不要怪罪。一、下载ZStack-CC2530.2.5.1a 网址http://download.csdn.net/detail/thanksgining/8328925下载后:二、安装ZStack-CC2530.2.5.1a安装后:Com...
分类:
其他好文 时间:
2015-08-01 10:01:37
阅读次数:
667
推挽输出:可以输出高,低电平,连接数字器件,驱动能力低。 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。这种结构一般不需要接上拉和下拉电阻。
开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要外电路接上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强。上拉电阻的阻值决定饿了逻辑电平转换沿的速度。阻值越大速度越低功耗越小。...
分类:
其他好文 时间:
2015-07-30 23:26:54
阅读次数:
249
在德州仪器的网站:http://www.ti.com.cn/tool/cn/z-stack上下载安装zigbee2007协议栈版,我的是ZStack-CC2530-2.3.0-1.4.0。
下面演示一个简单的用zigbee通信的例子:
完成这个例子需要两个zigbee的模块,一个用作协调器(Coordinator)(起建立zigbee网络和与上位机通信的作用)一个用作终端设备(Enddevic...
分类:
其他好文 时间:
2015-07-29 14:02:45
阅读次数:
193
Android4.3 规范了BLE的API,但是直到目前的4.4,还有些功能不完善。在BLE协议中,有两个角色,周边(Periphery)和中央(Central);周边是数据提供者,中央是数据使用/处理者;在iOS SDK里面,可以把一个iOS设备作为一个周边,也可以作为一个中央;但是在Androi...
分类:
移动开发 时间:
2015-07-29 11:57:35
阅读次数:
216
最近遇到一个问题:
想把 CC2541 本来应该接 32K 晶振的 P2_3 和 P2_4 用作 GPIO,结果按照 Datasheet 修改之后不行。
最后的解决办法是:
hal_board_cfg.h 文件中的
#if !defined (XOSC32K_INSTALLED) || (defined (XOSC32K_INSTALLED) && (XOSC32K_IN...
分类:
其他好文 时间:
2015-07-28 18:51:08
阅读次数:
152
在调试低功耗时,最好关闭串口,需要修改宏:
HAL_UART=FALSE
HAL_UART_DMA=1
HAL_UART_ISR=0
HAL_UART_TX_BY_ISR=1
但是修改完之后会编译错误,提示 Undefine external “print_msg”。。。
原因是这个函数在 _hal_uart_dma.c 文件中定义,但是修改了宏之后也把 #include ...
分类:
其他好文 时间:
2015-07-28 13:00:16
阅读次数:
143