超声波流量计多普勒原理的探讨 五十四
本设计中就采用C语言和汇编语言混合编程,软件系统中主程序采用C语言编写,而FIR滤波子程序、数据相关处理子程序采用汇编语言编写,这样就既考虑到程序的清晰明了,又兼顾了复杂算法的高效率执行。
4.1.3 DSP程序流程
DSP软件设计的目的就是为了计算出流速,这其中包括从FIFO读取数据,数字滤波,快速傅立叶变换(FFT)。
软件设计主要分成三个部分:
(1)主程序,程序流程图4.2中的(a)图;
(2)DSP中断程序,FIFO写完后产生中断以通知DSP读取数据,DSP中
断程序的流程图如图4.2中的(c)图;
(3)数据处理子程序,对采样数据进行、滤波、FFT,其程序流程图见图
4.2中的(b)图。
这三部分的程序的运行关系如下:
主程序和中断程序是通过一个时间标志FIFO FLAG来通信,系统上电,主程序就循环检测FIFO FLAG这个标志位,当系统的一个周期的FIFO写完后,外部产生一个DSP的中断信号,DSP则执行中断程序,在中断程序中只负责从FIFO中读取数据,而后设置FIFO FLAG=l,表明数据已经接收并放入缓冲区中。中断程序执行完则回到主程序,主程序循环检测FIFO FLAG这个标志位,当检测到FIFQFLAG=1时则调用的数据处理函数是Sig__proO进行数据的处理,在数据处理函数Sig_pr00q,,进行相应的数据处理,之后设置rIro_rLAG=0,再返回主程序。
超声波流量计