DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 241|回复: 0
打印 上一主题 下一主题

基于FPGA设计DSP的实践与改进

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 15:05:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当设计的系统需要对数字信号进行处理时,常采用通用 DSP(Digital Signal Process)处理器,这样的设计方案通用性好,且还有各种较为成熟的 DSP算法可以参考。但是,这类方案通常是双核设计,即采用通用控制器(MCU)加上通用 DSP处理器实现,在实现系统时开发的复杂程度、难度都较大,也难以满足定制特殊处理的需要。为了解决这些问题,人们开始寻求新的设计方案,基于通用处理器加上FPGA(大规模可编门阵列)的架构方案逐渐成为主流,在新的方案中通用控制器完成控制和管理功能,专用的数字信号处理和组合逻辑功能由 FPGA实现,使得设计开销与复杂程度明显降低。 1 现行设计流程的不足 使用“MCU+FPGA”架构方案的开发流程如图 1所示 [1]。系统的设计之初是先由系统结构设计小组制定出系统模型方案,并确定模型仿真正确之后将系统结构的设计方案提交给FPGA设计人员,并依据系统模型用硬件描述语言创建系统同时创建测试平台,比较系统级仿真结果与模型设计是否相符,当不相符时则需要进行修改,并重新进行仿真验证。在这种流程的开发中必定会存在很多的迭代与间歇。 分析其原因在于系统结构设计人员与 FPGA设计人员的工作有重复与制约性。二者的工作同样是进行系统设计,并且都要进行仿真,只不过前者是进行系统的软件仿真,后者进行系统的硬件仿真。另外系统的建立需要几位工程师的协同工作。如果当 FPGA设计人员验证出系统设计有误时,还要回转给系统结构设计人员等待修改完再重新进行硬件系统设计与仿真。

2 设计流程的改进 2.1 EDA设计工具 1) MATLAB的 Simulink环境 MATLAB是 MathWorks公司开发的功能强大的数学分析工具。并且被广泛应用于科学计算和工程计算中[2]。Simulink是基于 MATLAB平台推出的一个强大的动态系统仿真环境。它以图形化模式进行系统建模仿真,可以快速完成系统的设计。并且具有强大的代数、微分等模型系统的求解器[3]。 2) DSP Builder DSP Builder是 Altera公司开发了基于 Simulink开发的 DSP设计工具。在 Simulink中作为一个工具箱出现。这样使得用 FPGA设计DSP系统完全可以通过 Simulink的图形化界面进行,只要简单地进行 DSP Builder工具箱的模块调用即可。从而使得一个复杂的电子系统设计变得相当容易而且直观。同时加速了 FPGA实现DSP 的开发流程 [4]。 2.2 改进开发流程 采用上述 EDA设计工具使得在系统在设计阶段,由系统工程师负责系统的模型设计,并且在软件的辅助下,进行硬件描述语言的代码自动生成,最终可以下载到 FPGA中检验设计效果。即将系统结构设计人员与 FPGA设计人员的工作合并从而改进的设计流程。如图 2所示。??

?设计流程的开始是系统结构设计人员基于 Simulink使用 DSP Builder工具箱提供的模块建立系统模型。工具箱中的模块涵盖了算术和存储功能,并且对其技术参数、数据格式、数据类型和总线宽度等属性进行设置。系统模型设计完成后就进入仿真环节。这是基于系统的算法级仿真,设计者甚至不用关心目标硬件系统的属性。如果仿真结果没有得到预期设计的结果,可以很快通过修改模型进行调整。当仿真结束后使用 Signal Compiler模块进行系统模型的 Simulink模型文件(.mdl文件)到硬件描述语言的转换。这个过程将自动生成硬件描述语言的代码。之后通过综合以后产生出原子级网表文件(底层电路描述文件)。然后调用 Quartus II 的编译器生成可以下载的门级网表文件,最后下载到 FPGA上就实现了 DSP系统的硬件化过程。操作流程如图 3所示。?
                          
                       
                          
                                ?

3 实践与分析 3.1 AM调制模型的 FPGA实现 3.2.1 AM调制原理 调制器与解调器是通信设备中的重要部件。所谓调制,就是用调制信号去控制载波某个参数的过程[5]。相关的术语如下: 调制信号:由原始信号转变成的低频信号,可以是模拟信号,也可是数字信号。通常用数学符号u? 表示。? 载波:未受调制的高频震荡信号。载波可以是正弦波也可以是非正弦波(方波、三角波、锯齿波)。用uC表示。? 已调波:受调制后的振荡波,具有调制信号的特征。?设载波电压为:??????????????????????uC =UC cosωct (1) 调制电压为:???????????????????????u?= U? cos ?t (2) 3.2.2 模型建立 基于本文上述的理论建立出 AM调幅模型。其中的两个子系统分别是用上述的 DDS模型建立的载波与调制波模块,在 Simulink中得到仿真结果如图 4所示。??


                          
                       
                          
                                3.2.2将模型文件转化为硬件描述语言当 DSP Builder模型与仿真都正确后就可以进入模型向硬件描述语言的过程了。加入Signal Compiler模块,点击执行将模型文件转化为硬件描述语言。转换后 DSP Builder的Signal Compiler模块会自动生成 Quartus II的工程,其中的代码已经依据模型自动生成并建立了顶层模块[6]。如图 5。增加相应的输入与输出,锁定引脚后就可以下载了。??

?下载到 FPGA中,连接示波器,观察到如图 6所示图像。??

4 结语 从实践结果和系统的总体设计方案可以看出,改进的设计流程使得设计人员可以借助Simulink进行灵活的系统模型设计并且可以通过 MATLAB强大的计算能力进行系统级的仿真。由DSP Builder进行硬件描述语言的自动生成让设计者可以更加专注于系统的整体设计,提高了开发效率和系统建立质量。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-22 07:33 , 耗时 0.081364 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表