SPI+AD7663配置CS的问题 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3962|回复: 7
打印 上一主题 下一主题

SPI+AD7663配置CS的问题

[复制链接]

1

主题

7

帖子

59

积分

注册会员

Rank: 2

积分
59
跳转到指定楼层
楼主
发表于 2016-7-5 21:05:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想使用SPI+AD7663进行数据采集,但是使用SPI接口时,我发现SPI只提供一个输出的CLK给
ADC,但是ADC还需要一个采样时钟提供给CNVST。

为了使用SPI接口,我的接线情况是ADC的CS和RD置为低电平,SPIMISO接SDOUT,CLK接CLK,把SPICS0
接到CNVST上,使用SPICS产生一个采样时钟的时序,即自定义的CNVST。因为CNVST的作用是低电平开始转换,所以我只要保证我的采样
频率低于转换速率即可。
不过接下来的问题是,我想使用SPICS怎样配出一个具有固定采样频率的时钟,感觉是使用SPIDELAY寄存器配置CS,但是具体该怎么做就
不知道了。
假设我的SPI模块输出时钟CLK为1.2MHz,想配置采样频率为48KHz,即CS的时钟周期为1/48ms,我该怎样配置SPIDEALY这个寄存器?
或者我是否需要采用GPIO口使用定时器产生一个这样的时序,但是这样感觉太麻烦了。
希望求解~~
---------------------------
xiaop

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

1

主题

7

帖子

59

积分

注册会员

Rank: 2

积分
59
沙发
 楼主| 发表于 2016-7-5 21:08:32 | 只看该作者

这是ADC的时序图,系统限制帖子大小

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
板凳
发表于 2016-7-6 10:26:28 | 只看该作者
SPIDELAY寄存器并不能配置CS输出固定频率的。CS的频率跟写SPIDAT1寄存器有关,CPU每写一次SPIDAT1寄存器,SPI会产生一次时序。建议还是用定时器做。
回复 支持 反对

使用道具 举报

1

主题

7

帖子

59

积分

注册会员

Rank: 2

积分
59
地板
 楼主| 发表于 2016-7-6 11:26:02 | 只看该作者
那用CS接CNVST的话能获得48K的采样率吗?
因为想使用EDMA搬移SPI所接收的数据,感觉使用定时器有点复杂
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
5#
发表于 2016-7-6 13:55:41 | 只看该作者
使用CS的话是很难得到准确的48K的采样率,当然也可以拿个示波器,使用EDMA方式读取数据,调节SPIDELAY寄存器的参数和SIP CLK频率来获得大致的48K
回复 支持 反对

使用道具 举报

1

主题

7

帖子

59

积分

注册会员

Rank: 2

积分
59
6#
 楼主| 发表于 2016-7-6 21:45:38 | 只看该作者
我对采样频率的要求暂时不是很高,那我想问下我需要配置SPIFMT中的WDELAY吗?还是说仅需要配置
SPIDELAY中的C2TDELAY?
回复 支持 反对

使用道具 举报

0

主题

184

帖子

1137

积分

QQ游客

积分
1137
7#
发表于 2016-7-11 13:42:25 | 只看该作者
调节SPIDELAY中的C2TDELAY和SIP时钟,是可以调节频率的
回复 支持 反对

使用道具 举报

1

主题

7

帖子

59

积分

注册会员

Rank: 2

积分
59
8#
 楼主| 发表于 2016-7-12 23:42:53 | 只看该作者
Lewis,
       首先谢谢你耐心的回复这个问题。由于第一次使用SPI接口+ADC,我看网上很多说到采用SPI
连接AD的时序很简单,但是我发现很难找到如何使用SPI+AD的实例。倒是有很多采用MCBSP
或者McASP连接ADC的实例的讲解。
       但是对我而言,感觉SPI+ADC7663问题还是蛮多的。经过几天的挣扎,使用GPIO造出了一个接CNVST
的48KHz的转化时钟。但是想了想,采用定时器+GPIO输出的时钟加到AD上,再使用如下连接方式能获得
固定采样频率的数据吗?

SPI_SOMI     <---------      ADC_SDO
SPI_CLK         --------->     ADC_CLK
SPI_CS0         --------->     悬空
Timer_GPIO  ---------->    CNVST

       我想知道这里采用定时器做出这样一个时钟是否可行。现在停留在这样的阶段,也没有觉得可行的方案。
导致编写程序毫无头绪,希望您能抽时间看看。或者说采用定时器触发EDMA3区读取SPI的数据获得
固定采样频率?
        希望能获得比较详细的解答,谢谢~~

---------------------
xiaop
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-13 02:36 , Processed in 0.040209 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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