OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6702|回复: 11

请教一下关于MCU通过SPI接口外接AD芯片的问题

[复制链接]

85

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2020-12-5
在线时间
202 小时
发表于 2021-8-4 17:18:49 | 显示全部楼层 |阅读模式
1金钱
由于目前项目对于ADC的转换速率要求比较高,STM32F103的最大1mhz的转换速率不能满足需求,现在想尝试通过SPI接口外接一个AD模块,目前遇到俩个问题:
1.我去ADI官网和TI官网看了一下SPI接口的芯片,目前选定一个型号为AD7720的ADI产的AD芯片,显示最大吞吐量为12.5MSPS,接口是serial SPI的。通过看正点原子的例程了解了一下SPI接口的工作原理是:主机(单片机)和从机(外置ADC芯片)通过交换移位寄存器中的数据从而MCU得到AD值。但是AD7720这款芯片的引脚并没有数字数据输入端,只有数字数据输出端,这样如何进行主机和从机的数据交换呢?并且数据手册也没有像正点原子例程里面那样可以通过写入16进制数对flash进行寄存器配置操作的介绍(另一个SPI接口的AD7705芯片就是有数字数据输入端的,并且也有对于AD模块片内寄存器操作的介绍,由于吞吐速率不满足要求所以不予考虑。),想请问一下这个AD7720芯片难道不是SPI接口的吗?如果是的话我该怎么操作呢?下面图是AD芯片的属性以及AD7720,AD7705各引脚介绍。压缩包中是两个AD芯片的数据手册

2.请问各位大佬是否有可供stm32使用的超过5MSPS的 SPI接口的AD芯片推荐?或者stm32可以通过别的什么接口来外接高速的ADC模块吗?


AD芯片选型表:
高速spi接口.png
AD7720引脚定义:
AD7720引脚信息和数据.png
AD7705引脚定义:
AD7705的引脚信息.png
AD7720,AD7705数据手册.zip (1.15 MB, 下载次数: 1)

最佳答案

查看完整内容[请看2#楼]

不用管,你的SPI配置里面把全双工改成SPI_Direction_1Line_Rx,这样就只有读取了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

2147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4894
金钱
4894
注册时间
2015-1-10
在线时间
612 小时
发表于 2021-8-4 17:18:50 | 显示全部楼层
车嘉炜 发表于 2021-8-5 11:02
您好,我有一点不太明白,SPI设备如果主机想读取从机的数据的话,不是先发送给从机一个空字符来引起数据 ...

不用管,你的SPI配置里面把全双工改成SPI_Direction_1Line_Rx,这样就只有读取了
回复

使用道具 举报

7

主题

480

帖子

0

精华

高级会员

Rank: 4

积分
780
金钱
780
注册时间
2021-4-15
在线时间
305 小时
发表于 2021-8-4 17:46:53 | 显示全部楼层
想要特别特别快的可以上FPGA的!一般会有内部的寄存器设置AD的转换周期频率等的!可以用SPI接口的进行配置!正常配置完一般都是读取过程!正常应该是有读取的命令去读取!然后有时候用空发送去读取发回来的值的!找找例子看看吧!具体使用还是得参考着使用说明配置
日常敲键--头秃一片
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3369
金钱
3369
注册时间
2011-11-10
在线时间
207 小时
发表于 2021-8-4 18:59:27 | 显示全部楼层
7720 第10脚数据,11脚时钟,这是I2C接口,不是SPI
回复

使用道具 举报

11

主题

2147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4894
金钱
4894
注册时间
2015-1-10
在线时间
612 小时
发表于 2021-8-5 09:38:14 | 显示全部楼层
1、7720的接口应该是串行,DATA引脚即做输入也做输出,但不是标准的IIC,需要对应具体的时序图写驱动,操作逻辑直接看时序图就出来了
2、5M的高速ADC不推荐用F1之类的操作,主频太低了,MCU处理不过来的
回复

使用道具 举报

85

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2020-12-5
在线时间
202 小时
 楼主| 发表于 2021-8-5 10:16:36 | 显示全部楼层
c2007s 发表于 2021-8-4 18:59
7720 第10脚数据,11脚时钟,这是I2C接口,不是SPI

您好,我在上面图片AD选型的时候选的DATA output interface 是serial SPI啊为什么会出来IIC的接口呢,我看这个数据手册也觉得很奇怪不像是SPI接口的
回复

使用道具 举报

85

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2020-12-5
在线时间
202 小时
 楼主| 发表于 2021-8-5 10:18:34 | 显示全部楼层
阿侑kevin 发表于 2021-8-5 09:38
1、7720的接口应该是串行,DATA引脚即做输入也做输出,但不是标准的IIC,需要对应具体的时序图写驱动,操作 ...

好的感谢您的回复,您的意思是这个AD芯片并不是SPI接口的是吗,但是为什么AD选型的时候DATA output interface显示的是serial SPI呢?目前在使用stm32f4的开发板
回复

使用道具 举报

85

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2020-12-5
在线时间
202 小时
 楼主| 发表于 2021-8-5 10:26:59 | 显示全部楼层
日渐秃兀 发表于 2021-8-4 17:46
想要特别特别快的可以上FPGA的!一般会有内部的寄存器设置AD的转换周期频率等的!可以用SPI接口的进行配置 ...

您好fpga确实可以很快,但是目前不让我更换主芯片就用单片机,而又要求特别高速吞吐率的AD,您是否有了解的SPI接口的高速外置ADC模块呢?
回复

使用道具 举报

11

主题

2147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4894
金钱
4894
注册时间
2015-1-10
在线时间
612 小时
发表于 2021-8-5 10:36:36 | 显示全部楼层
车嘉炜 发表于 2021-8-5 10:18
好的感谢您的回复,您的意思是这个AD芯片并不是SPI接口的是吗,但是为什么AD选型的时候DATA output inter ...

仔细看了下时序图里没有写入操作,可以用SPI直接去读的
回复

使用道具 举报

85

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2020-12-5
在线时间
202 小时
 楼主| 发表于 2021-8-5 11:02:22 | 显示全部楼层
阿侑kevin 发表于 2021-8-5 10:36
仔细看了下时序图里没有写入操作,可以用SPI直接去读的

您好,我有一点不太明白,SPI设备如果主机想读取从机的数据的话,不是先发送给从机一个空字符来引起数据传输的吗,这个AD模块没有办法写入的话,SPI怎么读取呢?
回复

使用道具 举报

85

主题

249

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2020-12-5
在线时间
202 小时
 楼主| 发表于 2021-8-5 11:21:57 | 显示全部楼层
阿侑kevin 发表于 2021-8-5 11:20
不用管,你的SPI配置里面把全双工改成SPI_Direction_1Line_Rx,这样就只有读取了

非常感谢!
回复

使用道具 举报

7

主题

480

帖子

0

精华

高级会员

Rank: 4

积分
780
金钱
780
注册时间
2021-4-15
在线时间
305 小时
发表于 2021-8-5 11:22:43 | 显示全部楼层
车嘉炜 发表于 2021-8-5 10:26
您好fpga确实可以很快,但是目前不让我更换主芯片就用单片机,而又要求特别高速吞吐率的AD,您是否有了解 ...

用过高精度的!但对速度方面没要求!能读取就可以了
日常敲键--头秃一片
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-26 02:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表