AD7705使用两点注意事项(附初始化程序)
近日项目中应用了AD7705,作为一款16位的AD,非常适合应用在高精度慢速采集的场合。我在项目中实现温度分辨率0.01度,给PID控制精度提高提供了条件。
但开始调试时,也遇到了一些麻烦,主要有两点:
1,初始化:
如果AD7705复位引脚直连VCC,最好在初始化程序中加入初始化序列,不然ready信号不会输出。
2,输入范围
如果AD7705采集单端信号,则输入必须在0到VDD之间,而不可以超出或为负,如果一个输入为负,则另一个输入会有灌入电流的现象,芯片无法正常运行。
附初始化程序:
/*
*********************************************************************************************************
* InitAD7705
*
* Description : init ad7705
*
* Arguments : none
*********************************************************************************************************
*/
void InitAD7705 (void) {
INT8U i;
INT8U temp;
OS_CPU_SR cpu_sr;
DDRB |= 0×07;// Mosi, sck, ss
DDRB &= ~(1 << 3);//Miso
PORTB |= 1 << 1;//sck high
PORTB |= 1 << 2;//mosi high
PORTB &= ~ (1 << 0); // ss low
for (i=0;i<50;i++) // AD7705复位
{
PORTB &= ~(1 << 1);
PORTB |= 1 << 1;
}
SpiInit();
//PutChar1(0×5a);
temp = PutCharSpi(0×20);//next is clock
temp = PutCharSpi(0×05);//60hz
temp = PutCharSpi(0×10);//next is setup
temp = PutCharSpi(0×44);//
while ((PIND & 0×01) == 1);
temp = PutCharSpi(0×21);//next is clock
temp = PutCharSpi(0×05);//60hz
temp = PutCharSpi(0×11);//next is setup
temp = PutCharSpi(0×44);//0×44比0×46要准确一些,可能是因为缓冲
//不适合于变化的输入。比如模拟开关,以及通道切换
//带来的影响,如果只有一路
//稳定的输入,可以就不会有问题
//FSYNC 不能为1,不然,似乎rdy线不会变低
while ((PIND & 0×01) == 1);
//PutChar1(0xA5);
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
美研究“多箭一星”发射技术
面向单片机的可视化液晶模块的方案
由TDA6103Q与彩色显像管构成的实际应用电路
直接在Keil下仿真的T9拼音输入法
美研制新概念载人小型深潜器
全球内存互连芯片龙头澜起科技借势AI数据中心热潮登陆港交所
AI铜需求:芯片市场波动的又一症候
内存短缺与关税风险在人工智能芯片供应中碰撞
美批准建造首批DD(X)驱逐舰
42MX系列FPGA及其应用
印度启动4座芯片工厂,目标实现75%的本地产量
三视频输出放大器TDA6108JF
生成bootrom的问题??
TDA6106Q视频输出放大器
中国GPU厂商密集发布新架构与产品,剑指英伟达
柔性集成电路、微机电系统与金属氧化物:破解全新技术难题
TDA6103Q的具有反馈因数1/150的测试电路
有关ISA的问题
语音信号处理
想学习面向单片机的可视化液晶模块的方案的朋友可以过来看看
语音芯片ISD 及其应用
苹果将推入门级MacBook;服务业务与自研芯片缓解内存成本压力
生物神经器件研发遍地开花,量子技术加速落地
语音压缩及IP网上话音(VoIP)技术
请问如何用usb启动vxworks(目标机pcpenium)?
Wi-Fi技术的未来发展:2026年核心趋势
TDA6106Q的具有反馈因数1/116的测试电路
TechInsights 拆解:XREAL One Pro
美陆军调整陆航采办计划
美空军计划未来10年采购2000架无人机