找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2903|回复: 0
打印 上一主题 下一主题
收起左侧

让偶郁闷了一整天的数字输入缓冲器DIDR

[复制链接]
跳转到指定楼层
楼主
ID:68618 发表于 2014-11-22 15:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上个星期龙腾有个产品,密码开锁的,去年替他们包装上市弄过一个密码键盘+无线遥控开锁的项目,因为315MHz接收类的无线模块工作电流都要好几个mA,如果用干电池,很快就没电了,换4、5000mAh的锂电,时间也只不过是个把月,曾设想MCU休眠,一秒后唤醒,替无线接收模块上电,但是效果不是很理想,无线信号接收不灵敏,后来完成了也就没怎么深入研究。
现在国外有个客户想只要密码键盘开锁的产品,这个项目的难点在于要使MCU在低功耗状态下工作,低功耗的MCU是TI的MSP430系列比较著名,在ACTIVE下也只不过区区的200uA左右,休眠时只有1uA不到,但是这颗价格贵,而且时间任务紧,重新学一个新的MCU,要熟悉起来没大半个月是不可能的,偶目前只熟悉AVR系列的,看了DATASHEET,休眠时最低也只有2uA不到,完全可以满足偶的使用要求了。直接拉了块废弃的PCB,焊上可爱的TQFP-32封装的M48V,休眠调试一次成功,什么都不接,基本上只消耗1.5uA,比较满意,后来把键盘,AD电压采样等程序移植过来,发现键盘老是工作不正常,一模一样的线路,一模一样的程序,怎么原来的可以,现在的不行,前两天状态不是很好,老师纠缠在移植的程序上,硬件电路排查了不下十多遍,确定肯定没问题的,可程序也排查了不下2、30遍,反复试还是不行,今天早上想到是不是有可能休眠时偶关闭了一些电路功能,唤醒后没有恢复I/O口功能?
为了休眠时电流最小,偶按照DATASHEET上写的关闭了模拟比较器ACD,模数转换器,以及他们对应的数字输入缓冲器DIDR。因为偶的键盘是3*4矩阵循环扫描的,有两列用到了PD6,PD7,正好是ACD的AIN0,AIN1,而对应的DIDR关闭后,偶休眠时没有重置,结果导致键盘的循环扫描不正常,后来仔细看了下有关DIDR的DATASHEET,上面清清楚楚的写道会影响PIN寄存器,会使他们都为0。问题总算是解决了。
关于AVR的休眠使用经验如下:
1.关闭BOD,打开会增加约50uA左右的电流消耗
2.POWER DOWN和POWER SAVE两种模式电流消耗相差几乎没什么区别,但是POWER SAVE多T2定时唤醒源
3.关闭ACD,如果其中的引脚有使用到,那休眠后要重新开DIDR
4.ADC的DIDR要关,不关电流消耗会增大450uA,比较恐怖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表