AD7705输出数据一直是0xffff的问题的解决过程_第1页
AD7705输出数据一直是0xffff的问题的解决过程_第2页
AD7705输出数据一直是0xffff的问题的解决过程_第3页
AD7705输出数据一直是0xffff的问题的解决过程_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最近手头上有个 16 位的高精度 ADC 就想着做个测试版调试调 试吧 先上自己画的原理图 晶振采用 4 9152MHz 的 复位采用上电复位 复位时间大概 1ms 吧 基准使用 TL431 提供 模拟输入端采用电位器调节 画板 焊接 写程序 一切都很顺利 调试程序时卡了壳 出现如下问题 1 ADC 输出数据不变 或者输出一直是 oxffff 检测硬件供电电压是否正常 5v 检测基准电压是否正常 2 5v 根据网上和官方的测试版 我感觉硬件设计应该没有太大问题 C1103 C2103 C3103 C4103 R10 R20 R30 R40 12 Y1 XTAL C5 33pF C6 33pF R5 10K C7 104 R 1 A 2 C 3 U2 TL431 GND GND GND GND SCLK 1 M CLKIN 2 M CLKOUT 3 CS 4 RESET 5 AIN2 6 AIN1 7 AIN1 8 REFIN 9 REFIN 10 AIN2 11 RDY 12 DOUT 13 DIN 14 VDD 15 GND 16 U1 AD7705 R6 330 AVDD GND REFIN GND C8 104 REFIN DGND DGND AVDD AVDD DGND GND RP1 10K R8 10K AVDD GND GND RP2 10K R9 10K AVDD GND GND 1 2 3 4 5 P1 Header 5 那么目标锁定在软件上 首先怀疑的是时序 芯片上有个引脚 DRDY 这个引脚变低时有数据输出 我用逻辑分析仪分析自己模拟 SPI 的时序 发现时序跟手册上的一样 而且 DRDY 也会置高和变低 根据这个分析这应该不是自己 SPI 时序的问题了 经过一早上的看手册 查资料 还是没有头绪 不知道哪来的一个 念头 是不是芯片复位没有复位好呢 因为我采用的是上电复位 所 以我觉得应该观察上电后输出的第一个数据是否正常 别愣着啦 赶 紧测试 哇塞 数据正确 调整电压 第一次上电后数据依然正确 按下单片机复位键 前几 次正确 后面又变为 0 xffff 了 问题找到啦 芯片复位有问题 我改成单片机控制复位 把 ADC 的复位引脚接到单片机一个引脚上 通过引脚控制 ADC 复位 复位时间为 10ms 下载程序 上电测试 发现预期连续采集一百个数据 只输出了四五个 复位重来 效果一 样 有时候只输出一个数据 庆幸的是数据都正确啦 这个时候没辙啦 给 adi 亚太客服打电话 至今没 给回复 nngt 我还是靠自己吧 上网搜索 终于在一篇帖子中见 到可能这么一句话 可能每次读 AD7705 的数据时都要把 clock register setup register 重新设置一遍 复位重来一遍 不管正确 与否 试试再说 改程序 下载 看现象 哇塞 一次性输出 100 个数 据 数据正常 可能大家跟我一样吧 怎么会这个样子呢 我也很郁闷 手 册上找不到连续读数据的时序 手册上看不到为什么这么做就数据正 确啦 期待 ADI 工程师给我回复吧 不过总算是可以正常运行 啦 谢天谢地你好啦 欢迎大家进我的空间 有问题可以在我的空间名字上找到我的联系方 式 主函数 Auther zhang kai Date April 3 2013 File main c Hardware STC89C52 Description AD7705 driver use STC89C52 as MCU include include AD7705 IO h include putchar h include intrins h unsigned char buf 4 0 0 0 0 void main void unsigned char i InitUart for i 0 i 100 i CLR RST nop SET RST CLR CS buf 0 0 x21 WriteToAD7705 1 buf write communication register 0 x20 to control the progress to write clock register buf 0 0 x0c WriteToAD7705 1 buf write clock register 50Hz update rate buf 0 0 x11 WriteToAD7705 1 buf write communication register 0 x10 to control the progress to write setup register buf 0 0 x44 WriteToAD7705 1 buf write setup register Self Calibration AD7705WaitBusy 判忙 TR1 1 buf 0 0 x38 WriteToAD7705 1 buf write communication register 0 x38 to control the progress to rea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论