TI中文支持网
TI专业的中文技术问题搜集分享网站

请教~ DSP 6748 如何用SPI的方式控制DAC输出80k采样率的信号

请教各位大佬!

        我现在用的平台是omapl138,用DAC 是DAC8552,spi串行方式,需要输出的信号频率15kHz,采样率设定为80kHz,也就是DAC要以80k的速度更新输出数据,有以下几个问题需要请教:

       1、一开始不会用6748的SPI控制器时,用GPIO模拟SPI,发现其中作为CLK的GPIO的电平反转速度只有100多kHz,以for循环的方式一位一位送数据,每次进出for循环时,就将CLK反转一次,发现从高电平到低电平需要3-5us的时间,这也太慢了,是GPIO管脚的反转速度就这么慢,还是程序写错了(比如时钟没配置对)?

       2、之后学了用它自带的SPI控制器和库函数,又有了新的问题。因为是串行的,16位数据加上8位控制信息,也就是da每更新一个数据需要dsp给它发24位数据。SPI时钟调到了30MHz(DAC的极限时钟速度),示波器测得发现输出的时钟确实是30MHz的,但是是每8个时钟脉冲一小组出现的,每个小组里的时钟脉冲频率是8MHz,但每个小组之间有5~7us的时延,时钟信号管脚的电平在这5us~7us的时间里是0,那么发24个bit的数据,就用了近25us,即dac跟新一个数据需要25us的时间,这样一来,相当于采样率是1/25us=40kHz,达不到要求。。。请问里面,时钟脉冲之间5~7us的时延是正常现象吗?

      要达到80kHz的速度,该怎么做呢?

     感谢感谢!

Tony Tang:

Xuesong Lu       1、一开始不会用6748的SPI控制器时,用GPIO模拟SPI,发现其中作为CLK的GPIO的电平反转速度只有100多kHz,以for循环的方式一位一位送数据,每次进出for循环时,就将CLK反转一次,发现从高电平到低电平需要3-5us的时间,这也太慢了,是GPIO管脚的反转速度就这么慢,还是程序写错了(比如时钟没配置对)?

GPIO就是这么慢。

Xuesong Lu

 2、之后学了用它自带的SPI控制器和库函数,又有了新的问题。因为是串行的,16位数据加上8位控制信息,也就是da每更新一个数据需要dsp给它发24位数据。SPI时钟调到了30MHz(DAC的极限时钟速度),示波器测得发现输出的时钟确实是30MHz的,但是是每8个时钟脉冲一小组出现的,每个小组里的时钟脉冲频率是8MHz,但每个小组之间有5~7us的时延,时钟信号管脚的电平在这5us~7us的时间里是0,那么发24个bit的数据,就用了近25us,即dac跟新一个数据需要25us的时间,这样一来,相当于采样率是1/25us=40kHz,达不到要求。。。请问里面,时钟脉冲之间5~7us的时延是正常现象吗?

      要达到80kHz的速度,该怎么做呢?

8bit控制信号怎么来的?是按8bit还是16bit访问的?如果是按8bit访问,之间有延时是正常的。

DAC的型号与手册?

赞(0)
未经允许不得转载:TI中文支持网 » 请教~ DSP 6748 如何用SPI的方式控制DAC输出80k采样率的信号
分享到: 更多 (0)