现需用CC2541 AIN0–AIN1采集差分数据,AIN0及AIN1输入本身约1.6V,但其压差范围只几毫伏到几十毫伏。
请问能否用其内部运放来放大处理,以便有效采集这毫伏级的压差。
还请指导,谢谢!
da qin zheng sheng:
cc2541f没有内部运放
Alvin Ho:
回复 da qin zheng sheng:
使用指南里面确实没注明CC2541有内部运放,但有听闻CC2541内部实际是有运放的。
还请TI的工程人员帮忙确认,谢谢!
Alvin Ho:
回复 Alvin Ho:
另即便CC2541没有内部运放,可以用CC2540来实现。
看运放说明部分,positive input 为P0_0,negative input为P0_1,而有个输出为P0_2.
那若是采集AIN0–AIN1差分,是不是得去采取输出P0_2?那是直接去才采AIN2,还是需将P0_2连接到别的AD输入再采。
TI方面有人指导吗,谢谢!
da qin zheng sheng:
回复 Alvin Ho:
差分放大后采样p02就可以了!
注意输入电压不能超过芯片的模拟电压(2v-3.6v)
da qin zheng sheng:
cc2540f需要加电阻进行放大毫伏信号
内部运放需要软件校正
我的谨供参考
Alvin Ho:
回复 da qin zheng sheng:
谢谢大秦正声的解答。
现我已该用CC2540实现了差分放大功能,我的运放初始化函数:
ADCCFG |= 0x07;//configured as analog pins
OPAMPMC |= 0x03;
OPAMPC |= 0x01;//enable the operational amplifier
OPAMPC |= 0x02; // starte calibration
while(OPAMPS & 0x01); // wait calibration finish现遇到一个问题:
若不起用POWER_SAVING,运放工作正常,能采到正确的值。而若启用POWER_SAVING,如用户手册说明:When power mode 2/3 is entered, the operational amplifier is shut down automatically and must be restarted when entering PM0 again,意味着每次唤醒到PM0模式需启用运放时运放需restart。就此我会重新调用运放初始化函数,但从运放采到的值却不正确。
还请指导。
da qin zheng sheng:
回复 Alvin Ho:
估计还需要晶振切换稳定工作
Alvin Ho:
回复 da qin zheng sheng:
请问怎么确认晶振切换稳定工作,先我是基于BLE-CC254x-1.4.0 里面的SimpleBLEPeripheral来开发,就系统模式切换是基于工程已有的实现而未额外加其他代码,而只是单纯使能POWER_SAVING。
还请指导。
da qin zheng sheng:
回复 Alvin Ho:
建议先不带蓝牙通信功能
做最小系统测试
Alvin Ho:
回复 da qin zheng sheng:
确认系统每次从Sleep模式唤醒后32-MHz XOSC工作正常,为何唤醒后运放无法采到有效的值呢。
请指导。