完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一些问题想请教。 在双芯片串行模式下,MCU 收到 AFE4960 发送的 FIFO_RDY 中断信号后,开始通过 SPI 通信从 AFE4960 的 FIFO 中读取样本。 具体流程为: ①读取6D地址寄存器的bits 0-7以获得FIFO中的样本数。 ②根据样本个数,通过while循环写入FFh来单独读取样本。 结果,FIFO 溢出。 寄存器配置是参照样品板进行配置的。请问如何正确的从FIFO中读取样本呢? |
|
相关推荐
1个回答
|
|
AFE4960是一款高性能的模数转换器(ADC),在双芯片串行模式下,从FIFO中读取样本时,需要遵循一定的步骤和注意事项。根据您的描述,您在读取样本时遇到了FIFO溢出的问题。以下是一些建议和步骤,帮助您正确地从FIFO中读取样本:
1. 首先,确保您的AFE4960配置正确。根据您的描述,您已经参照样品板进行了配置。请确保您已经正确设置了采样率、分辨率、通道选择等参数。 2. 在读取FIFO样本之前,确保您的MCU已经正确配置了SPI通信。这包括设置正确的SPI时钟频率、CPOL、CPHA等参数。确保您的MCU和AFE4960之间的SPI通信正常。 3. 在读取FIFO样本之前,确保您的MCU已经正确地处理了AFE4960发送的FIFO_RDY中断信号。这意味着您的MCU需要在收到FIFO_RDY信号后,立即开始读取FIFO样本。 4. 根据您的描述,您已经正确地执行了步骤①:读取6D地址寄存器的bits 0-7以获得FIFO中的样本数。这是正确的,因为这些位表示FIFO中的样本数量。 5. 在步骤②中,您提到通过while循环写入FFh来单独读取样本。这里可能存在问题。实际上,您应该使用SPI读取命令(例如:0x01)来从FIFO中读取样本。以下是正确的步骤: a. 发送SPI读取命令(0x01)给AFE4960,以开始从FIFO中读取样本。 b. 根据FIFO中的样本数量,循环读取样本。每次循环,您需要发送一个SPI读取命令(0x01),然后读取一个样本。 c. 在每次循环中,您需要检查FIFO_RDY信号,以确保FIFO中还有样本可以读取。如果FIFO_RDY信号为低,说明FIFO中没有更多的样本,可以退出循环。 6. 为了避免FIFO溢出,您需要确保您的MCU能够以足够的速度读取FIFO中的样本。如果MCU读取速度太慢,FIFO中的样本可能会溢出。您可以尝试优化您的代码,以提高读取速度。 7. 如果您仍然遇到FIFO溢出的问题,可以尝试调整AFE4960的FIFO配置。例如,您可以增加FIFO的深度,或者降低采样率,以减少FIFO溢出的风险。 总之,正确地从AFE4960的FIFO中读取样本需要确保正确的配置、SPI通信和读取速度。希望以上建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便进一步分析和解决。 |
|
|
|
只有小组成员才能发言,加入小组>>
340 浏览 1 评论
535 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
781 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
655 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1138 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
65浏览 29评论
174浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
255浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
205浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
60浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 08:37 , Processed in 0.780960 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号