完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛
|
|
相关推荐
2个回答
|
|
|
用SMBUS没有问题,因为SMbus 速率低,10Khz to 100khz,按照数据手册 figure3 的时序图,当发送完命令位,读地址位,ADC转换已完成.所以不提供完成标志信息,当然也不需要。
另外在高速I2C模式,这时会出现转换还没完成,ADS7828会拉低clk,直到转换完成。 |
|
|
|
|
|
在ADS7828工作于F/S(Free/Single Shot)模式时,确实没有转换完成标志信息。在这种情况下,您可以通过以下方法来判断转换是否完成:
1. 定时器:您可以使用单片机的定时器来控制转换的时间。在启动转换后,设置一个定时器,当定时器到达预设的时间后,可以认为转换已经完成。这种方法适用于已知转换时间的场景。 2. 轮询:在启动转换后,您可以通过轮询的方式检查ADS7828的状态。在F/S模式下,您可以检查ADS7828的控制寄存器中的“转换使能”位(CONVST)。当转换开始时,将CONVST置为1,转换完成后,CONVST自动清零。您可以在每次读取数据前检查CONVST位,如果为0,则表示转换已完成。 针对您提到的问题,可以尝试以下解决方案: 1. 刚上电时读数不对:在上电后,可以先让ADS7828进行几次空转换,以消除初始状态的影响。空转换是指不连接输入信号,让ADS7828进行几次转换,以稳定其内部状态。 2. 连续读数偶尔出现问题:可以尝试在每次读取数据前,先检查CONVST位,确保转换已完成。如果CONVST位为1,表示转换正在进行,此时可以等待一段时间,再次检查CONVST位,直到转换完成。 3. 硬件SMbus中断:由于您使用的是硬件SMbus中断,可以尝试在中断服务程序中添加一些调试代码,以便在转换完成时打印出相关信息。这样可以更容易地定位问题。 总之,在F/S模式下,您可以通过定时器、轮询或检查控制寄存器的方法来判断ADS7828的转换是否完成。同时,针对您遇到的问题,可以尝试空转换、检查CONVST位以及在中断服务程序中添加调试代码等方法来解决。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:17 , Processed in 2.141511 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
732