7398|13

9

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

关于AD9106产生幅值调制的波形的问题 [复制链接]

 

邀请:@littleshrimp   参与回复

我用的是树莓派的python写的,只用DAC4通道,已经能产生正弦波,脉冲。

1、现在想用SRAM 产生幅值可调的脉冲正弦波,就像手册中example5那样,一直不知道怎么配置SARM,就是那个SRAM_DATA寄存器该如何配置,

2、如何要把0x6000-0x6FFF的数据写进去。

3、其他寄存器还有怎么配置啊?我看PAT_STAUS寄存器是要配置一次写,然后再配置一起读吗?

我已经卡在这很久了,我基础很差,希望有人能忙我下,我qq  369525461 ,十分感谢!!

这是我根据脉冲的程序改的,SRAM DATA那应该怎么改啊? 愁死我了,虾哥救命啊!

最新回复

可以这样,但我觉得使用数组会更好一些。 uint32_t sram_data[]={0x6000111,0x6000222,...};   详情 回复 发表于 2021-9-20 11:31
点赞 关注(1)
 
 

回复
举报

9

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

现在打对号的是我已经能实现的,但打×的是未能实现的,尤其是我想用最后一种方式

我现在的理解是在SRAM那个寄存器0x6000-0xFFF中写入波形的轮廓,但是如何来写(我计划是中EXCEL),进制怎么转换,其他寄存器该怎么配置。

这是我头疼的事情

 
 
 

回复

9790

帖子

24

TA的资源

版主

板凳
 

记得以前官网有一个应用程序,可以生成对应的配置,还有你说的exampleX应该在哪下载也找不到了,方便的话你再上传一下附件。

 

AD9106通信使用16位地址,就像你看到的寄存器列表一样,0x0000~0x0060对应的是功能配置,0x6000~0x6FFF对应的SRAM(把它当成普通寄存器就行)

 

1、现在想用SRAM 产生幅值可调的脉冲正弦波,就像手册中example5那样,一直不知道怎么配置SARM,就是那个SRAM_DATA寄存器该如何配置,

2、如何要把0x6000-0x6FFF的数据写进去

把对应的数据直接写入SRAM_DATA对应的地址就可以。

 

不过SRAM操作和普通寄存器操作不同的是操作SRAM时PAT_STATUS寄存器的RUN位不能为1

所以读或写SRAM时需要按照下面的提示配置PAT_STATUS寄存器

 

如果只是写SRAM,按照下边配置即可。

   

3、其他寄存器还有怎么配置啊?我看PAT_STAUS寄存器是要配置一次写,然后再配置一起读吗?

PAT_STATUS根据你的要求,读时RUF_READ位为1,写是为0。

点评

官网那个应用,我不清楚。 [attachimg]563579[/attachimg] [attachimg]563580[/attachimg] 这个官网的例子中 0x1E(PAT_STATUS)是0,我猜想应该是配置完成之后就设为0了?或者别的原因,我也不清楚 虾  详情 回复 发表于 2021-9-18 14:10
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

4
 
littleshrimp 发表于 2021-9-18 10:31 记得以前官网有一个应用程序,可以生成对应的配置,还有你说的exampleX应该在哪下载也找不到了,方便的话你 ...

官网那个应用,我不清楚。

这个官网的例子中 0x1E(PAT_STATUS)是0,我猜想应该是配置完成之后就设为0了?或者别的原因,我也不清楚

虾哥   你看我SPI配置的 是不是也有问题啊

点评

这个例子里没看到对SRAM配置,对PAT_STATUS的配置应该是在读写SRAM前进行的。  详情 回复 发表于 2021-9-18 14:23
 
 
 

回复

9790

帖子

24

TA的资源

版主

5
 
龙龙龙龙龙龙 发表于 2021-9-18 14:10 官网那个应用,我不清楚。 这个官网的例子中 0x1E(PAT_STATUS)是0,我猜想应该是配置完成之 ...

这个例子里没看到对SRAM配置,对PAT_STATUS的配置应该是在读写SRAM前进行的。

点评

是啊,例子没有sram的配置,官网也只给了 这个例子和SRAM里面需写的数(就是幅度的轮廓)  详情 回复 发表于 2021-9-19 08:38
想要产生这种波形,是必须要先配置STATUS为写,然后往SRAM(0X6000)写数据,再配置STATUS为读,再读SRAM吗? 还是说 我只需要往SRAM里写,不需要读,然后SRAM就能输出我想要的调制的波形了??  详情 回复 发表于 2021-9-19 08:38
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

6
 
littleshrimp 发表于 2021-9-18 14:23 这个例子里没看到对SRAM配置,对PAT_STATUS的配置应该是在读写SRAM前进行的。

想要产生这种波形,是必须要先配置STATUS为写,然后往SRAM(0X6000)写数据,再配置STATUS为读,再读SRAM吗?

还是说 我只需要往SRAM里写,不需要读,然后SRAM就能输出我想要的调制的波形了??

点评

我觉得不需要读,180MSPS的输出速率肯定是内部直接读取SRAM输出的。  详情 回复 发表于 2021-9-19 10:48
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

7
 
littleshrimp 发表于 2021-9-18 14:23 这个例子里没看到对SRAM配置,对PAT_STATUS的配置应该是在读写SRAM前进行的。

是啊,例子没有sram的配置,官网也只给了 这个例子和SRAM里面需写的数(就是幅度的轮廓)

 
 
 

回复

9790

帖子

24

TA的资源

版主

8
 
龙龙龙龙龙龙 发表于 2021-9-19 08:38 想要产生这种波形,是必须要先配置STATUS为写,然后往SRAM(0X6000)写数据,再配置STATUS为读,再读SRAM ...

我觉得不需要读,180MSPS的输出速率肯定是内部直接读取SRAM输出的。

点评

虾哥,那么怎么把4096个数写进SRAM的0X6000-0xFFF中啊?我现在已经有个EXCEL表格了,但怎么把这个数据加进去啊?  详情 回复 发表于 2021-9-20 09:37
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

9
 
littleshrimp 发表于 2021-9-19 10:48 我觉得不需要读,180MSPS的输出速率肯定是内部直接读取SRAM输出的。

虾哥,那么怎么把4096个数写进SRAM的0X6000-0xFFF中啊?我现在已经有个EXCEL表格了,但怎么把这个数据加进去啊?

点评

生成一个4字节的数组,前边两个字节是地址,后边是数据。像红圈里那样,然后通过SPI那个函数写到芯片里。  详情 回复 发表于 2021-9-20 10:02
 
 
 

回复

9790

帖子

24

TA的资源

版主

10
 
龙龙龙龙龙龙 发表于 2021-9-20 09:37 虾哥,那么怎么把4096个数写进SRAM的0X6000-0xFFF中啊?我现在已经有个EXCEL表格了,但怎么把这个数据加 ...

生成一个4字节的数组,前边两个字节是地址,后边是数据。
像红圈里那样,然后通过SPI那个函数写到芯片里。

Screenshot_20210920_095953.jpg (0 Bytes, 下载次数: 0)

Screenshot_20210920_095953.jpg

点评

寄存器名就是一个SRAM_DATA就行了呗?  例如: InstruAndData_SRAMDATA = 0x60001111             InstruAndData_SRAMDATA = 0x60012222       &n  详情 回复 发表于 2021-9-20 10:39
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

11
 
littleshrimp 发表于 2021-9-20 10:02 生成一个4字节的数组,前边两个字节是地址,后边是数据。像红圈里那样,然后通过SPI那个函数写到芯片里。

寄存器名就是一个SRAM_DATA就行了呗? 

例如: InstruAndData_SRAMDATA = 0x60001111

            InstruAndData_SRAMDATA = 0x60012222

            InstruAndData_SRAMDATA = 0x60023333

以下一次类推,是这样吗

点评

可以这样,但我觉得使用数组会更好一些。 uint32_t sram_data[]={0x6000111,0x6000222,...};  详情 回复 发表于 2021-9-20 11:31
 
 
 

回复

9790

帖子

24

TA的资源

版主

12
 
龙龙龙龙龙龙 发表于 2021-9-20 10:39 寄存器名就是一个SRAM_DATA就行了呗?  例如: InstruAndData_SRAMDATA = 0x60001111 &n ...

可以这样,但我觉得使用数组会更好一些。

uint32_t sram_data[]={0x6000111,0x6000222,...};

点评

虾哥,谢谢你,我现在已经可以产生调制的波形了 但现在还出现个问题 ,就是我产生波形是时间不固定,最多一次能产生5分钟,最少几秒钟,您帮我分析分析是硬件的问题还是软件程序的问题啊??  详情 回复 发表于 2021-10-5 21:24
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

13
 

虾哥,现在我用自增(0x6000+i)已经可以写连续的数进去了,但现在我想把我生成的txt文件的数放进这里面去,这应该怎么写啊?

 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

14
 
littleshrimp 发表于 2021-9-20 11:31 可以这样,但我觉得使用数组会更好一些。 uint32_t sram_data[]={0x6000111,0x6000222,...};

虾哥,谢谢你,我现在已经可以产生调制的波形了

但现在还出现个问题 ,就是我产生波形是时间不固定,最多一次能产生5分钟,最少几秒钟,您帮我分析分析是硬件的问题还是软件程序的问题啊??

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表