STM32与AD5761通信

2019-03-23 15:28发布

本帖最后由 萤火 于 2017-11-17 11:25 编辑

请问各位老师,我用STM32与外扩的DA转换器通信(AD5761R),SPI方式通信,下面是时序图,程序该怎么写(右图是我写的)?应该选择SPI的哪种模式?
A.png AA.png
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
littleshrimp
1楼-- · 2019-03-25 05:29
萤火 发表于 2017-11-19 10:40
恩恩,谢谢您,可以输出了。还有个问题不明白,想请教下您,这款DA的建立时间是7.5us,SPI接口的最大速度 ...

建立时间是指发出更新DAC指令后到DAC输出稳定的时间和SPI通信无关
比如通过SYNC上升沿更新时,SYNC产生上升沿到DAC完成输出指定电压用的时间
在SYNC发出上升沿后一段时间内虽然DAC输出没有稳定,但是不影响你通过SPI向DAC写下一个数据
实际的稳定时间计算比较复杂,假设在你的应用中是7.5us,那么你的输出代码的速率为1/7.5us=133KHz
你的正弦表一个周期是256个点,最后输出的信号频率应该为133K/256=500Hz
littleshrimp
2楼-- · 2019-03-25 06:49
 精彩回答 2  元偷偷看……
littleshrimp
3楼-- · 2019-03-25 09:21
萤火 发表于 2017-11-19 10:40
恩恩,谢谢您,可以输出了。还有个问题不明白,想请教下您,这款DA的建立时间是7.5us,SPI接口的最大速度 ...

如果你的输出范围是+-5V,256点的正弦信号对应的最大step code是804左右,建立时间应该在2~3us左右
QQ图片20171119123724.png
萤火
4楼-- · 2019-03-25 12:33
littleshrimp 发表于 2017-11-19 12:31
建立时间是指发出更新DAC指令后到DAC输出稳定的时间和SPI通信无关
比如通过SYNC上升沿更新时,SYNC产生 ...

太感谢您了,也就是说虽然DAC的SPI速度很快,但是输出正弦波的频率是由上升时间(7.5us)决定的。我本来是想DAC 输出10KHZ的正弦波,经过放大电路后驱动负载,看来这样就不行了,老师,向您请教下,DAC输出正弦波,每个周期取得点越多,输出波形越准确,作为正弦波驱动负载,这个点数应该怎么取呢?(取128个点与取256个点的区别),用DDS芯片输出波形也可以吧?
littleshrimp
5楼-- · 2019-03-25 13:30
 精彩回答 2  元偷偷看……
萤火
6楼-- · 2019-03-25 14:23
littleshrimp 发表于 2017-11-19 16:47
7.5us是指AD5761从10V跳到0V时的建立时间,实际的建立时间要比7.5us快一些,这和输出信号的摆幅有关,比 ...

谢谢您老师,讲的很详细,非常感谢,我还得继续学习

一周热门 更多>