STM32与AD5761通信应该选择SPI的哪种模式?

2019-07-14 15:25发布

请问各位老师,我用STM32与外扩的DA转换器通信(AD5761R),SPI方式通信,下面是时序图,程序该怎么写(右图是我写的)?应该选择SPI的哪种模式? 1.png 2.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
hfgdzc
1楼-- · 2019-07-16 18:49
太感谢您了,也就是说虽然DAC的SPI速度很快,但是输出正弦波的频率是由上升时间(7.5us)决定的。我本来是想DAC 输出10KHZ的正弦波,经过放大电路后驱动负载,看来这样就不行了,老师,向您请教下,DAC输出正弦波,每个周期取得点越多,输出波形越准确,作为正弦波驱动负载,这个点数应该怎么取呢?(取128个点与取256个点的区别),用DDS芯片输出波形也可以吧?
蔡甸一角
2楼-- · 2019-07-17 00:03
7.5us是指AD5761从10V跳到0V时的建立时间,实际的建立时间要比7.5us快一些,这和输出信号的摆幅有关,比如你想直接通过AD5761输出0~500mV的正弦信号,AD5761设置的输出范围是0~5V,DAC的输入数据在0~6553之间,256点的正弦信号数据和数据之间最大间隔80LSB,平均50LSB左右(1LSB对应76uv的电压变化,50LSB=3.8mv),这时DAC的建立时间就会更快。

选择正弦波的点数时一方面要考虑DAC的输出分辨率,比如8位的DAC,它只能输入0~256,当点数足够多,多到每步数据间的间隔小于1LSB时点数再多就没有意义了。
分辨率允许的情况下,理论上点数越多,输出波形越平滑,限制信号点数的条件就是DAC的最大输出频率了,频率够快时点数越多越好。
在实际使用中还需要考虑2个因素,一方面是处理器的资源,如果是DAC,每输出一步数据都需要处理器参与,有时受限于处理器的资源,在频率较高时点数不能太多,DDS因为是在芯片内部实实现,就不用考虑处理器的问题。
另一方面是你的实际应用,当256点波形已经能满足你的要求时,再增加点数对你的电路性能影响也不是很大。
hfgdzc
3楼-- · 2019-07-17 04:34
谢谢您老师,讲的很详细,非常感谢,我还得继续学习
hfgdzc
4楼-- · 2019-07-17 10:03
老师,再向您请教个问题,比如我用DA输出10KHZ的正弦波(DA的输出经过放大电路放大来驱动压电陶瓷负载,压电陶瓷负载等效于一个电容),每个周期取256个点,压电陶瓷负载会在电压的作用下输出位移,这时我用AD模块采集压电陶瓷(带位移传感器)的输出位移,这个时候的AD怎么选择,采样率是怎么计算?
蔡甸一角
5楼-- · 2019-07-17 15:53
 精彩回答 2  元偷偷看……
hfgdzc
6楼-- · 2019-07-17 16:07
这个跟位移传感器有关系吗?DA的驱动频率是10KHZ ,压电陶瓷位移输出的频率也是10KHZ,那么AD采集的频率应该大于2*10KHZ,这样理解对吗?

一周热门 更多>