DSP软件设计
扫描二维码
随时随地手机看文章
系统的软件总体结构如图1所示。键盘监控的初始化、液晶显示的初始化、时间、采样频率、显示状态等各种信息。
图1 系统软件结构 监控模块随时判断各种中断是否到达,这其中包括摘机中断、挂机中断、振铃中断、键盘中断、液晶显示定时中断等。监控模块程序完成查询以上工作并调用各个相应的处理子程序。 系统的程序流程如图2所示。在整个程序中,挂机中断具有最高优先权,只要发生挂机中断,程序就返回到监控状态。尤其是在通话过程中,随时监测挂机中断和对方状态,一旦自身挂机或者对方挂机,将马上中止通信过程。
图2 程序流程 系统上电后,总是检测有无中断产生,中断包括摘机中断、振铃中断、键盘中断和显示定时中断。中断产生,系统将进入相应的中断处理程序。 dsp和客户端芯片s13016的通信是由dsp的缓冲串口2进行的。其中,dsp通过对s13016的寄存器的读写实现数据交换和控制。图3是dsp从s13016读取数据的时序,首先dsp向其缓冲串口2写数据001aaaaa xxxxxxxx,其中001为固定的数据位,表示读操作;5个a位表示读取的地址(address),例如读取s13016的第13寄存器,则5个a位值为01101;最低8个x位,表示无关位。s13016收到dsp的以上信/崽,迅速将该寄存器的数据送到dsp的缓冲串口2的接收寄存器中,并发出接收中断到dsp。注意,513016几乎是一收到寄存器地址,就发出该地址的数据,延迟时间可认为是0,如图3所示。
图3 dsp读si3016的时序 图4是dsp向s13016写寄存器的时序。和读513016寄存器的时序相同,将固定的高3位设置成000,表示写寄存器;接下来仍然是5个a位,表示写哪个寄存器;最后低8位就是写人的内容。和读一样,s13016一接收到地址信息,马上将8位信息写入该寄存器,延迟时间几乎为0。
图4 dsp写si3016的时序 信号处理算法主要包括回音相消、自动增益控制、数字滤波等。 (1)回应相消。回音相消处理过程如图5所示。回音主要是通过对不同端的信号采集,得到远端回音信号,作为回音的参考信号。而带有回音的混合信号和参考信号进行自适应减法运算,从而将回音从混合信号中去除。图5中虚线框内为回音处理算法。
图5 回音相消处理过程 (2)自动增益控制。语音在采集和传输过程中,语音源的差异、信道的衰减以及噪声的干扰,使得信号的幅度相差较大,从而需要自动增益控制。模拟信号中一般很难实现自动增益,而数字电话通过对数字信号的幅度的估计,调整信号增益参数,从而保证在任何情况均可以输出最大幅度,达到最佳的语音质量。 (3)数字滤波。输入和输出的模拟信号都经过一个具有线性相位的πr带通滤波器。根据语音信号的特点,滤波器的通带在3khz~300khz之间。其阻带衰减为一60db,根据实际情况,滤波器的各种参数可以通过软件调整。信号中的直流分量也可以通过预估均值去除,从而进一步提高语音质量。
欢迎转载,信息来源维库电子市场网()