标题:
《DSP芯片的原理与开发应用(第2版)》[分享]
[打印本页]
作者:
young_131@hotma
时间:
2004-5-19 09:00
标题:
《DSP芯片的原理与开发应用(第2版)》[分享]
1.2 DSP系统
1.2.1 DSP系统构成
图1.1所示为一个典型的DSP系统。图中的输入信号可以有各种各样的形式。例如,它可以是麦克风输出的语音信号或是电话线来的已调数据信号,可以是编码后在数字链路上传输或存储在计算机里的摄像机图像信号等。
图1.1 典型的DSP系统
输入信号首先进行带限滤波和抽样,然后进行A/D(Analog to Digital)变换将信号变换成数字比特流。根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输入带限信号最高频率的2倍。
DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。数字处理是DSP的关键,这与其他系统(如电话交换系统)有很大的不同,在交换系统中,处理器的作用是进行路由选择,它并不对输入数据进行修改。因此虽然两者都是实时系统,但两者的实时约束条件却有很大的不同。最后,经过处理后的数字样值再经D/A(Digital to Analog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。
必须指出的是,上面给出的DSP系统模型是一个典型模型,但并不是所有的DSP系统都必须具有模型中的所有部件。如语音识别系统在输出端并不是连续的波形,而是识别结果,如数字、文字等;有些输入信号本身就是数字信号(如CD:Compact Disk),因此就不必进行模数变换了。
1.2.2 DSP系统的特点
数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点:
(1) 接口方便。DSP系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多;
(2) 编程方便。DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级;
(3) 稳定性好。DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高;
(4) 精度高。16位数字系统可以达到 的精度;
(5) 可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产;
(6) 集成方便。DSP系统中的数字部件有高度的规范性,便于大规模集成。
当然,数字信号处理也存在一定的缺点。例如,对于简单的信号处理任务,如与模拟交换线的电话接口,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。
虽然DSP系统存在着一些缺点,但其突出的优点已经使之在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。
1.2.3 DSP系统的设计过程
总的来说,DSP系统的设计还没有非常好的正规设计方法。图1.2所示是DSP系统设计的一般过程。
图1.2 DSP系统的设计流程
在设计 DSP 系统之前,首先必须根据应用系统的目标确定系统的性能指标、信号处理的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。
第二步是根据系统的要求进行高级语言的模拟。一般来说,为了实现系统的最终目标,需要对输入的信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法(Algorithm),因此这一步也称算法模拟阶段。例如,语音压缩编码算法就是要在确定的压缩比条件下,获得最佳的合成语音。算法模拟所用的输入数据是实际信号经采集而获得的,通常以计算机文件的形式存储为数据文件。如语音压缩编码算法模拟时所用的语音信号就是实际采集而获得并存储为计算机文件形式的语音数据文件。有些算法模拟时所用的输入数据并不一定要是实际采集的信号数据,只要能够验证算法的可行性,输入假设的数据也是可以的。
在完成第二步之后,接下来就可以设计实时DSP系统,实时DSP系统的设计包括硬件设计和软件设计两个方面。硬件设计首先要根据系统运算量的大小、对运算精度的要求、系统成本限制以及体积、功耗等要求选择合适的DSP芯片。然后设计DSP芯片的外围电路及其他电路。软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程序,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。由于现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。
DSP硬件和软件设计完成后,就需要进行硬件和软件的调试。软件的调试一般借助于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。调试DSP算法时一般采用比较实时结果与模拟结果的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致。应用系统的其他软件可以根据实际情况进行调试。硬件调试一般采用硬件仿真器进行调试,如果没有相应的硬件仿真器,且硬件系统不是十分复杂,也可以借助于一般的工具进行调试。
系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0