![]() |
|
||||||||||||||
| | 首页 | 新闻 | 文库 | 方案 | 技术 | 独家 | 座谈 | 下载 | 图库 | 开发板 | 仿真器 | 邮购 | VIP会员 | 芯片代购 | 客户评价 | | ||
|
||
|
|||||
| 基于Blackfin DSP的函数_任意波发生器的实现 | |||||
作者:陈畅 游宇… 文章来源:微计算机信息 点击数: 更新时间:2007-12-19 ![]() |
|||||
|
摘 要:本文介绍了函数\任意波发生器的组成及工作原理。给出了基于ADI公司的ADSPBF531芯片的系统硬件及软件实现方案,该设计能够满足客户目前及未来测试需求的多用途解决方案。实现结果表明该设计方案合理、可靠,并具有十分方便的用户可操作性。 1引言函数\任意波发生器被广泛应用在科研、教学、工程等领域,用以产生各种信号波形,以适应用户在各种场合的需求方案。 目前,国内的函数\信号发生器的品种在国际市场上均为低端产品,除了信号的性能指标方面的原因之外,就是在系统的整体性、用户的可操作性、远程访问等功能上不及国外产品考虑得周详。虽然实现的功能大同小异,但是更加人性化的设计,使得国外的同类产品更具优势。 为了弥补国内产品在这方面的缺陷,我们开发出的这款函数\信号发生器除了实现基本的波形输出、波形编辑等功能之外,更是注重了图形用户界面的设计,以及远程internet访问功能。新的用户图形界面使得用户能够比以往更加容易生成、编辑波形。而远程访问功能可以让用户在远程终端操作仪器。除此之外,为了更大程度上方便用户,我们还设计了一套文件管理系统,以允许用户存储、读取设置的波形。 2 系统工作原理我们设计的这款函数\任意波发生器是采用直接数字合成(DDS)的信号生成技术。使用直接数字合成(DDS)信号生成方法可以非常容易地创建或复制各种复杂的波形。 如图1所示,所需波形的数字数据流是从波形存储器SRAM中按顺序读取,作为数模转换器(DAC) 的输入。DAC 的时钟频率设定为200 MHz (即信号发生器的采样频率)。DAC的输出端将输出一系列近似于所需波形的电压阶梯波,然后使用低通“防混叠”滤波器进行滤波,使得电压阶梯波变得更加平滑,接近于所需波形。
图1 直接数字合成(DDS)信号生成原理图 3 系统硬件设计3.1系统硬件组成及工作过程该系统通过中断响应用户的键盘按键信息,或者远程的按键信息,结合用户图形界面(GUI)当前的显示状态,DSP处理器决定当前用户需要的波形的各种参数,包括:波形形状(比如正弦波、方波、或者用户自行定义的波形)、波形频率、波形幅度、波形的调制状态(比如调幅AM、调频FM、调相PM)等等以及其他的依据具体波形的波形参数。这些参数由DSP处理器送到FPGA中进行波形配置、并产生波形周期点存于SRAM中。FPGA根据配置的波形对SRAM送到DAC的数据进行控制,对DAC进行幅度控制,从而输出各种需要的波形,再经滤波器滤波,得到用户需要的波形。
图2 系统硬件电路框图 3.2 DSP处理器我们采用ADI公司的Blackfin531芯片做为系统的处理器。16位定点DSP内核,可以实现400MHz的持续工作;4GB统一寻址空间。 3.3 人机界面人机界面包括键盘、液晶显示。 键盘包括六个波形形状选择键,六个模式键,五个菜单选项建,以及触发键和波形输出键、旋钮键。用户通过键盘可以选择载波的波形,决定波形的调制方式,通过菜单选项建以及旋钮设置波形参数。还可以查看随机帮助,设置系统参数,进行波形存储等操作。 320x240的256色彩色液晶显示屏能够显示丰富多彩的波形图案、波形参数,以及文件管理器的界面。在很大程度上方便了用户。我们用一个CPLD来驱动液晶显示屏。CPLD接收从DSP送过来的时钟信号,并将此时钟信号分频成帧同步信号、行同步信号,并负责同步这些信号。每一个时钟的上升沿,从SDRAM的特定显示缓存中读取8bits的数据到液晶显示屏的缓存。而每个帧信号的下降沿标示一帧的开始,一帧信号周期中包含240个行信号。每个行信号的周期中包含320/8 = 40 个时钟信号。如此,一幅图像就可以从SDRAM的缓存中写入到液晶显示屏的缓存中,并显示出来了。 3.4 FPGA波形配置DSP将载波波形形状、波形频率、幅度、偏移量、占空比、调制方式、调制周期、调制深度等波形参数通过SPI口,传给FPGA。FPGA通过这些参数来生成SRAM中的波形周期点。并根据波形的频率设置来控制SRAM中的波形点的输出。当频率高的时候,FPGA对SRAM的地址扫描要快;频率低的时候,访问SRAM的地址的速率就低。如果是调频波,那么访问SRAM的地址的速率将会随调制波形而改变。 对于幅度的变化,包括载波幅度设置以及调幅波形,FPGA将控制振幅DAC、衰减器、放大器,来实现对波形幅度的改变,其原理如下图所示。
图3 幅度控制原理图 3.5 LAN网卡接口芯片采用性价比较高的全双工的DM9000,10M\100M自适应。可配置为8位DMA方式进行数据传输,与DSP接口方便。 3.6 USB Host我们采用的ISP1362芯片(带USB 主、从),符合USB1.1 规范;支持全速USB数据传输。其与DSP之间通过异步通信传递命令与数据,从而可以对U盘进行读取、存储。 4 软件设计DSP中的软件是基于VisualDSP++ 4.0 Kernel (VDK) 操作系统设计的。VDK支持多线程的任务管理调度机制。 这样我们将项目主要划分成几个任务模块,将这些不同的任务模块分别放入不同的线程中。各个线程之间通过信号进行沟通、交互以及同步。 我们主要划分了以下任务模块: A.操作平台(operation platform)或者状态机(SSM) 操作平台,也可称为是系统的状态机,是系统的核心部分。它通过中断?接受外来的信息,包括仪器的按键信息、远程指令等。通过分析当前的输入请求,结合目前所处的状态,来决定下一步仪器应该进入的状态,并改变各个任务线程运行时所需要的全局系统变量,并最终决定任务的调度以及线程的启动。该任务模块放于系统状态机线程中(SSM thread)。 B. 系统波形参数配置(FUNCTION) 该部分主要负责对用户输入的各种参数进行校验,校验通过后,进行波形参数的配置,并将这些参数送入到FPGA中。 同时,该部分还可完成系统的一些其他的非波形参数的配置。此模块放于功能执行线程中(FUNCTION thread)。 C. 用户图形界面显示(GUI) 根据状态机决定的显示模式,以及显示参数,组织要显示的内容,并最终将图形化的界面显示在液晶屏上。图形化的显示界面,可以让用户十分方便的在图形上修改各个波形参数,或者直接输入参数。该模块放于图形显示模块中(GUI thread)。 D. 远程命令解析 该任务模块对 SCPI 可编程仪器的标准命令进行解析,获取远程终端送来的指令,解析后,修改各种波形参数,或者替换成状态机能识别的指令,启动状态机,从而达到远程控制仪器的目的。此任务模块位于命令解析线程中(CmdParse thread)。 E. 远程登录访问 基于TCP/IP协议,接收从远程终端发来的数据按键指令,传给状态机,然后再把显示的图像数据送给远程终端。 当系统接收到键盘按键或者远程命令,将运行状态机(如果是远程命令还要先运行命令解析模块,然后运行状态机),状态机经过判断后,决定执行哪个任务模块,有可能状态机会同时启用图形显示模块(GUI thread)、系统波形参数配置模块(FUNCTION thread)以及远程登录访问模块 (LAN thread)。那么,这些模块线程的运行,将自动根据它们的优先等级,分先后执行。 软件流程如图4所示。
图4 程序流程图 5 结语本文介绍了该函数\任意波发生器硬件实现的原理,并分析了在DSP处理器的VDK内核的基础上软件的任务、线程调度的设计与实现。测试表明,该系统不仅能够达到输出波形的指标,而且,具有功能强大的操作平台,能够支持复杂的用户图形界面,达到更加方便用户的目的。与同类产品相比,本系统性价比更高,使用更为方便,因此具有广阔的应用前景。
参考文献: [1]VisualDSP++4.0 Kernal (VDK)User’s Guide , Analog Devices, Inc. 2005 [2]Blackfin系列DSP原理与系统设计 ,陈峰, 电子工业出版社, 2004 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| uclinux-2008R1-RC8(bf561)到 基于DDS芯片AD9851的精密跳频 DSP芯片外围电路典型设计 放大器输入保护的利与弊 隔离式电压/电流传感器1B21的 仪表放大器:怎样构建与何时 AD8369,10,7M 两级AD8369做1 请教一个关于AD8310功耗的问 差错和不足:ADI《仪表放大器 Analog Devices Blackfin处理 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 本站介绍 | 合作联络 | 欢迎投稿 | 广告业务 | 网站地图 | 设为首页 | 加入收藏 | 友情链接 | 网站公告 | 联系我们 | | |||
|