首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于DSP和SOPC数字信号发生器的设计

基于DSP和SOPC数字信号发生器的设计

O 引 言  数字信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源。而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号(例如声音信号)都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,广泛地应用在电子技术试验、自动控制系统和通信、仪器仪表、控制等领域的信号处理系统中及其他机械、电声、水声及生物等科研领域。
  目前,常用的信号发生器绝大部分由模拟电路或数字电路构成,体积和功耗都很大,价格也比较贵。随着微电子技术和计算机技术的发展,以DSP微处理器及DSP软硬件开发系统(例如集成开发环境CCS)及配套产品为内容已形成了庞大并极具前途的高新技术产业,而可编程逻辑器件、SOPC等新技术的应用迅速渗透到电子、信息、通信等领域。这里分别借助DSP芯片运算速度高,功耗低,实时分析的优势以及SOPC技术灵活的可配置性、较高的可靠性、硬件升级容易等优点设计了正弦信号发生器,并对各自设计过程及优缺点进行了对比。
  1 基于DSP设计正弦信号发生器
  1.1 正弦波产生原理
  一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。本文采用了泰勒级数展开法。一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:

  式中:x为θ的弧度值,x=2πf/fs(fs是采样频率;f是所要发生的信号频率)。
  1.2 硬件设计
  系统硬件主要由微机、DSP芯片、数/模转换模块组成。其中,DSP芯片采用的是TI公司性价比良好的TMS320VC5402。它有一组程序总线和三组数据总线、高度并行性的算术逻辑单元ALU、专用硬件逻辑片内存储器、增强型HPI口和高达100 MHz的CPU频率。它可以在一个周期里完成两个读和一个写操作,并且具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速地实现各种数字信号处理算法。D/A采用了一种双极型8位、低功耗数/模转换器DAC08,实现了高速同步数/模转换。硬件结构框图如图1所示。

  1.3 软件设计
  软件设计是基于CCS开发环境的。CCS是TI公司推出的为开发TMS320系列DSP软件的集成开发环境,是目前使用最为广泛的DSP开发软件之一。它提供了环境配置、源文件编译、编译连接、程序调试、跟踪分析等环节,并把软、硬件开发工具集成在一起,使程序的编写、汇编、程序的软硬件仿真和调试等开发工作在统一的环境中进行,从而加速软件开发进程。本文采用了与硬件开发板相结合的在线编程模式,通过CCS软件平台上应用C语言及C54X汇编语言来实现正弦信号发生装置。
  软件设计的思想是:正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图2和图3所示。

  程序中,N值为产生正弦信号一个周期的点数,产生的正弦信号频率与N数值大小及D/A转换频率fDA有关,产生正弦波信号频率f的计算公式为:

f=fDA/N

  因此,选择每个正弦周期中的样点数,改变每个采样点之间的延迟,即通过调节N值产生不同频率的波形,同时也可以利用软件改变输出的离散波形值乘以相应的缩放因子A,从而调节波形的幅度。将程序装载到DSP目标芯片中,波形实现结果可以在CCS图形显示界面直观地表示出来(见图4)或者用示波器观察输出结果如图5所示。

  输出结果显示,在CCS图形观察窗口得到了频率稳定,信号干扰小,波形失真度较小的正弦信号;利用示波器也可观察到波形较好,稳定的正弦信号。
返回列表