基于DSP的调频调制器设计

发布时间:2010-12-21 17:30    发布者:conniede
关键词: dsp , PC机 , 调频调制器
软件无线电的基本思想是以开放的、可扩展的、结构最简的硬件为通用平台,把尽可能多通信功能用可升级、可替换软件来实现。其中心思想是:构造一个具有标准化、模块化的通用硬件平台,并通过软件加载实现各种无线通信功能的一种开放式体系结构。本文基于这一思想,首先构造一个DSP与PC机接口的硬件平台,继而在该平台上实现较为简单的FM调制器。该系统的实现为以后研究基于软件无线电其他制式的调制解调器提供了基本平台。

1 系统原理

本系统以TMS320VC5402数字信号处理器(DSP)为核心搭建硬件平台,在DSP中编程实现FM调制。系统最大的特点是采用通用计算机与DSP处理单元相结合的方案,系统中各种人机接口及控制功能、存储显示功能由PC机完成,而各种实时任务交给DSP完成,充分发挥DSP的高速处理能力及PC机的灵活性。

1.1 系统结构

该系统结构如图1所示。他是由DSP实验箱及PC人机接口控制前台组成。其中实验箱的DSP微处理器芯片为核心,外接射频发射模块及DSP外围硬件设备,外部调制信号经过低通滤波器后,滤除高频噪声,然后经过A/D转换把模拟信号转换成离散序列后进入DSP进行调频处理。在硬件中通过HPI(主机接口)实现DSP与PC实时通信。在PC机中用软件设计了控制显示平台,实现对硬件处理的控制及显示,用户可以在软件平台前面板中输入数据选择调制参数,并通过数据通信接口将数据读人PC机,在显示平台中以图形方式实时显示数据结果。


1.2 主机通信接口设计

TI的C5000系列的DSP都有主机接口(Host PortInterface,HPI),用于DSP和主机之间的通信,组成主从结构的系统。采用这种通信方式,完全没有硬件和软件开销,而是由DSP自身的硬件来协调冲突,从而不会打断DSP正常程序的运行。在HPI通信方式下,DSP的片内存储器对外界完全透明,由主机通过访问HPI的地址和数据寄存器来完成对DSP片内存储器的读写。以PC机为主机,通过HPI来监控DSP的运行可以充分利用PC机上丰富的资源,组成完整的主从结构的系统。

C5000系列DSP的主机接口(HPI)主要有三种:标准的8位HPI、增强型的8位的HPI8和16位的HPI16。HPI接口提供了DSP加载自启动的一种方式和主机的实时控制DSP的途径。TMS320VC5402的主机接口是增强型的8位HPID。相对于只能访问DSP中2 kB片上存储空间的标准的HPI,增强型的HPI8能访问DSP的所有的片上存储器。

PC机使用并口和DSP的HPI相连,如图2所示,HPI8的信号线分为3组:8位的数据信号,4个控制信号和2个状态信号。控制信号中,HDS1,HDS2和HCS是片选信号,负责锁存HBIL,HCNTL0,HCNTL1,HR/W状态。HCNTL0和HCNTL1控制信号用于选择HPI的寄存器,主机和DSP之间的通信正是通过这4个寄存器的读写来完成的。


2 软件设计

2.1 软件结构

软件结构如图3所示。建立PC机软件控制显示平台的目的就是要实现前台软件与底层硬件连接。系统运行后PC机执行应用程序,加载算法到DSP端,并将需要处理的数据传送到DSP,计算完成后将数据传回PC,整个过程由PC来控制启动、处理、结束等,这样软件结构中需要有控制显示的可视化用户界面,同时软件要与具体硬件连接则需要通过软件接口程序来调用并口硬件驱动程序来完成。


2.2 DSP的调频算法设计

系统要实现信号的调频是通过DSP运算完成的,因此算法设计得是否合理将会影响到运算的效率。具体算法的设计思路如下:

(1)由模拟信号的调频原理离散化后得到离散的数字信号表达式。

(2)将离散的数字信号表达式用泰勒级数展开,并依据DSP的运算精度确定展开的项数。

(3)分析展开式,将其整理成乘加迭代的形式。因为DSP的运算速度的优势是靠其多级流水线指令处理和乘加并行指令来实现的,如果算法中用到乘加并行的乘加指令的迭代运算,则效率将会得到很大提高。在本算法的迭代运算中使用MPYS指令,MPYS是乘减并行指令,即(ACC)-(PREG)=>(ACC)与(TREG)(data_memo-ry)=>(PREG)运算在一个指令周期内同时执行。

(4)由于TMS320VC5402是16位的定点DSP,为了运算的方便,把数值的范围限制在(-1,1)之间,因此为了确保小数运算的正确,必须把乘积移位寄存器设为SPM=1,当执行了任何的乘法指令后,结果将装入PREG中,当数据再移出时,他会被左移一位以消除多余的小数位。同时在程序的编制过程中应注意在定点DSP的乘法运算会产生溢出,因此初值都应乘以0.8的系数。

2.3 软件接口程序

软件接口程序设计的目的是在接口板的支持下,在各种MS的操作系统中,通过PC的并口(ECP模式PS/2子模式)操作DSP的HPI口,实现对HPI相关寄存器的读写,以及DSP芯片的复位。由于Win2000和WinXP不支持DOS的实模式,不能直接操作计算机端口,所以我们采用SST(Scientific Software Tools)的免费软件DriverLINX实现。

DriverLINX是SST开发的支持在各种Windows平台下对硬件端口进行操作的免费软件。软件以动态链接库(.dll)的形式提供,并提供方便函数接口。软件接口程序应该能提供完善的接口供上层软件调用。我们设计接口函数的描述如下:

(1)并口的初始化

VOID InitPP(VOID);

(2)主机读HPI口

BYTE HostRead(UINI、DeviceIndex,UINT Source-Reg,UINT
ByteSequence);

(3)主机写HPI口

VOID HostWrite(BYTE Data,UINT DeviceIndex,UDINT DestinationReg,UINT ByteSequence);

(4)主机置DSP复位信号为0,RESET=0,

BOOL ResetAssert();

(5)主机置DSP复位信号为1,RESET=1

BOOL ResetRelease();

2.4 可视化用户程序

可视化用户程序处于整个系统的最高层,他不仅负责用户的交互界面,同时实现主机与DSP板通信的过程所涉及到一系列操作:即建立连接、复位实验箱、复位DSP、打开HPI端口、加载程序、执行读写操作、关闭HPI、最后关闭连接,这些操作依次执行,所以在软件设计时对程序采用顺序结构。

可视化用户程序使用VC++6.0开发,主要划分成前台和后台两大模块。前台模块用于用户交互,如调频的调制系数、中心频率的参数的设置以及运算结果的采样显示。前台使用较为简洁的对话框类编写交互界面,辅以文本框、下拉选框和按扭控件实现。后台模块负责对DSP的控制和通信,同时把收到的数据处理成曲线图形供前台显示。为了前台的响应更加流畅,本设计使用了多线程技术,即前台由主线程负责,而后台模块由另外的一个工作线程负责。

3 结 语

本设计基于软件无线电的软件化思想实现了DSP调频调制器,并且该系统带有人机接口及控制显示功能,将处理数据以图形方式实时显示出来便于观察和分析。系统中各种人机接口及控制、存储显示功能由通用计算机来实现,而数据采集及调制解调等实时处理任务交由DSP完成,充分发挥了通用计算机的灵活性和DSP的高速实时处理能力。如果在本系统的基础上再编写其他制式的DSP调制算法,即可实现多制式的发射台。
本文地址:https://www.eechina.com/thread-47384-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
chenhaolin99 发表于 2011-1-7 00:12:50
it is good to see this news
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表