首页 理论教育 A/D采样软件设计优化

A/D采样软件设计优化

时间:2023-06-20 理论教育 版权反馈
【摘要】:当模拟信号由A/D转换成数字信号后,往往都需要输入DSP作进一步处理。所以,一个较好的解决办法是利用小容量的FIFO作为两者之间的接口,对A/D采样数据先做一下缓冲,积累到一定数量,再向DSP发出中断申请,成批传送给DSP处理。

A/D采样软件设计优化

当模拟信号由A/D转换成数字信号后,往往都需要输入DSP作进一步处理。但是,A/D转换后的数据输出速率一般很难与DSP的I/O读操作速率精确配合。由于A/D采样速率是3M/s,DSP外部存储器时钟为100MHz,为了读到总线上的数据,DSP外部存储器读写时钟也必须控制在3MHz,结果只能大大降低了DSP的总线使用效率

同时,再加上DSP需要一定的时间集中处理数据所读回的数据,过于频繁的总线操作会持续打断正进行的处理,效率降低。所以,一个较好的解决办法是利用小容量的FIFO作为两者之间的接口,对A/D采样数据先做一下缓冲,积累到一定数量,再向DSP发出中断申请,成批传送给DSP处理。恰好THS1206内置了一个FIFO循环缓冲队列,如图7-23所示。

978-7-111-35536-6-Chapter07-61.jpg

图7-23 THS1206内置FIFO循环队列

THS1206内置FIFO的读取时间可以达到每次10ns,读取时序如图7-24所示。

978-7-111-35536-6-Chapter07-62.jpg

图7-24 THS1206内置FIFO的读取时序

我们可以事先设置数据有效深度,例如设定为9,当THS1206转换完成9个有效数据之后,就会通过978-7-111-35536-6-Chapter07-63.jpgDATA_AV信号向DSP发出中断申请,DSP就可以集中连续读取9个有效数据。

1.使用C编程实现DSP高速采样程序

使用C语言编写实现DSP高速采样的C程序源代码ccd.c如下:

978-7-111-35536-6-Chapter07-64.jpg(www.xing528.com)

978-7-111-35536-6-Chapter07-65.jpg

2.使用汇编编程实现DSP高速采样子程序

使用汇编语言编写实现DSP高速采样的汇编子程序源代码fcmd.asm如下:

978-7-111-35536-6-Chapter07-66.jpg

978-7-111-35536-6-Chapter07-67.jpg

3.使用汇编编程实现DSP高速采样的中断向量文件

使用汇编语言编写实现DSP高速采样的中断向量文件源代码vector.asm如下:

978-7-111-35536-6-Chapter07-68.jpg

978-7-111-35536-6-Chapter07-69.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈