李逍遥lzx 2023-06-17 17:25 采纳率: 0%
浏览 29

TI adc的采样数据应该如何读出

我在使用FPGA控制TI的tla2528的时候,不清楚应该如何读出采样的数据

img

img

img


如果是通过single read这种方式,原数据手册没有给出存储采样值的寄存器地址
如果是通过7bit地址位加读标志位,出来的数据也不对
有没有好兄弟控制过TI的adc,他所有的adc芯片的读出方式是一样的吗

  • 写回答

1条回答 默认 最新

  • YT8984 2023-06-17 18:23
    关注

    对于TI的TLA2528 ADC,数据读取分为两种模式:单次采样和循环采样。

    1. 单次采样:

    单次采样模式下,ADC将会输出一组16位的采样结果,你可以通过SPI接口读出该值。具体读取方式如下:

    (1)首先向ADC发送一个触发命令,即配置控制寄存器中的相应寄存器位。在默认模式下,控制寄存器的第11位(STRT)为0,表示不进行采样。将其设置为1,启动一次采样。

    (2)等待采样完成。可以通过轮询状态寄存器的第4位(RDY)来判断是否采样完成。当RDY=1时,表示采样完成。

    (3)读取采样结果。在单次采样模式下,数据存储在数据寄存器0x01和0x02中,使用7bit地址位加读标志位的方式进行读取即可获取16位的采样数据。

    1. 循环采样

    在循环采样模式下,ADC将会自动进行采样,并将采样结果输出,在FPGA中也可以通过SPI接口进行读取。以下是具体读取方式:

    (1)在控制寄存器中配置相应寄存器位,开启连续采样模式。默认情况下,控制寄存器的第12位(CNV)为0,表示不进行连续采样。将其设置为1,启动连续采样。

    (2)等待采样结果的更新。可以通过轮询状态寄存器的第4位(RDY)来判断是否采样完成。在循环采样模式下,ADC每完成一次采样,RDY会自动置位,表示采样结果已经更新。

    (3)读取数据。在循环采样模式下,数据存储在数据寄存器0x01和0x02中,通过7bit地址位加读标志位的方式进行读取即可获取16位的采样数据。

    需要注意的是,TI的不同型号的ADC,其读取方式可能会存在差异。因此,需要根据具体型号的数据手册进行读取。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月17日

悬赏问题

  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥15 pyqt怎么把滑块和输入框相互绑定,求解决!
  • ¥20 wpf datagrid单元闪烁效果失灵