用CC2640R2F加一款读卡芯片做了一款低功耗读卡器,读到卡后执行usleep(5000)进行休眠,读普通IC卡进入休眠电流平均是在30uA左右,电流曲线用电源分析仪看比较平缓的曲线,但读了CPU卡后休眠后会出现很多电流脉冲,间隔大约2.5ms,尖峰的电流大约800uA,导致平均电流增到到100uA,跟踪程序调试发现是执行了DES算法后导致的,而且DES算法的密钥值不一样电流也有差异(电流脉冲数或者平缓的电流大小有差异),不知道CC2640R2F执行完DES算法运算什么地方在活跃,请求帮助!!!!!!
正常休眠电流波形(一个大尖峰处是唤醒处电流,平缓处是执行usleep后电流,很平缓):

做完DES算法运算之后进入usleep的电流波形(图中看到小电流脉冲是执行DES算法后出现的,间隔约2.5ms):

Viki Shi:
需要研究一下,稍后再来回复
user5390182:
回复 Viki Shi:
好的谢谢~
Viki Shi:
请提供一下: 1、应用的具体实现以及基于什么例程/做了哪些修改 2、协议栈版本
user5390182:
回复 Viki Shi:
TI大神你好,我们的程序没有用到蓝牙,似乎我们没有用到协议栈。
安装的SDK版本是:simplelink_cc2640r2_sdk_1_40_00_45
参照的例程是安装完SDK里面带的例程是:usleep(standbyDuration)
跟踪程序就是在进行完DES算法验证后进入usleep电流出现异常的,执行完圈出的这个函数(DES算法):
程序是在这个休眠函数增加实现3des运算功能,3des加密解密数据时,用秘钥{0x63,0x60,0x62,0x52,0x50,0x50,0x35,0x50,0x35,0x30,0x38,0x30,0x35,0x34,0x40,0x36}加解密数据后休眠,电流是正常的,用{0x95,0x68,0x59,0x00,0x66,0x76,0xa5,0xfe,0xab,0xa0,0x00,0xeb,0x7e,0x04,0x1a,0x3f}秘钥加解密数据后,休眠电流不正常,变大了,出现了间隔2.5ms的电流小脉冲
Viki Shi:
回复 user5390182:
了解,是否可以在最新版SDK上测一下,1.40说实话有点太老了,版本更新会修复bug及优化程序
user5390182:
回复 Viki Shi:
好的谢谢,那我们先换SDK再测试下是否还是那样的情况先,现在最新版本是V4.20吗?
Viki Shi:
回复 user5390182:
是的
user5390182:
回复 user5390182:
感谢你们的帮助,换成SDK4.2版本解决了休眠电流大的问题了,但是又遇到另外的问题,编译SRAM变大了,我们要减少,然后屏蔽一下驱动没有用的,比如说SPI我们没有用到,但是屏蔽到了编译有这个错误这么解决?我们想把SRAM减小到58%左右,屏蔽CC2640R2_LAUNCHXL.c中的,例如屏蔽没有用到的SPI会有这个错误,怎么解决,我们自己用的变量并不多。
user5390182:
回复 user5390182:
user5390182:
回复 user5390182:
编译报错情况我附图(SDK v4.2):
TI中文支持网





