第14讲DSP Builder设计实例(1)

Download Report

Transcript 第14讲DSP Builder设计实例(1)

电子设计自动化技术
讲授:伍宗富
《 E D A 技 术》 课 程 教 学
讲授:伍宗富
湖南文理学院电气与信息工程学院
2015年4月10日星期五
电子设计自动化技术
讲授:伍宗富
第 十四 讲 DSP Builder设计实例(1)
 教学目的:使学生会用Quartus II和DSP Builder软件设计
DSP的常用应用模块。
 教学重点:通过实例讲解DSP应用模块的开发方法。
 教学难点:DSP应用模块的设计步骤。
 教学方法:讲授法、计算机辅助法。
 课时计划:2学时
使用教材:
SOPC技术与应用.江国强 编著.北京:机械工业出版社
 主要参考文献:
[1] 刘洪涛.ARM嵌入式体系结构与接口技术[M].北京:人民邮电出版社
[2] 田耘等.无线通信FPGA设计[M].北京:电子工业出版社
[3] 孟宪元等.FPGA嵌入式系统设计教程[M].北京:电子工业出版社
[4] 徐光辉等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社
[5] 沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社
[6]周立功等.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社
[7] 王彦等.基于FPGA的工程设计与应用[M].西安:西安电子工业出版社
[8] 周润景等.基于QuartusII的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社
[9] http://www.altera.com
电子设计自动化技术
讲授:伍宗富
课题: DSP Builder设计实例(1)
一、七段数码管动态扫描译码电路设计
二、 数字频率合成器(DDS)设计
三、课堂小结
四、作业
电子设计自动化技术
讲授:伍宗富
一、七段数码管动态扫描译码电路设计
1. 七段动态显示数码管
段码
位码
电子设计自动化技术
讲授:伍宗富
一、七段数码管动态扫描译码电路设计
2. 译码电路DSP Builder模型
NOT
NOT
NOT
case
SignalCompiler
递增模块
0
1
2
3
4
5
6
7
NOT1
NOT
0
NOT2
1
NOT
2
NOT3
NOT
3
NOT4
5
4
NOT
6
NOT5
Case Statement
7:0
7
NOT
BusBuild
NOT6
NOT
NOT7
c
16:0
16:14
BusConversion8
Scope
Increment
动态扫描频率提起
Decrement
31:0
3:0
BusConversion
31:0
7:4
sel[2:0]
BusConversion1
31:0
11:8
BusConversion2
305419896
Constant12345678
31:0
15:12
BusConversion3
31:0
19:16
0
1
2
3 MUX
4
5
6
设定显示
“12345678”
的十进制代码
BusConversion4
31:0
BusConversion5
31:0
27:24
BusConversion6
31:0
7
23:20
31:28
BusConversion7
n-to-1 Multiplexer
3:0
6:0
Binary To
Seven Segments
o6:0
seg
o7:0
dig
电子设计自动化技术
讲授:伍宗富
一、七段数码管动态扫描译码电路设计
3. 译码电路Quartus工程实现
scan_led
clk
clr
INPUT
VCC
INPUT
VCC
NOT
clock
dig[7..0]
OUTPUT
dig[7..0]
sclrp
seg[6..0]
OUTPUT
seg[6..0]
inst3
inst1
动态扫描显示时刷新率最好大于50Hz,即每显
示完一轮的时间不超过20ms,每个数码管显示的
时间不能太长也不能太短,时间太长可能会影响
刷新率,导致总体显示呈现闪烁的现象;时间太
短发光二极管的电流导通时间也就短,会影响总
体的显示亮度,一般控制在1ms。
电子设计自动化技术
讲授:伍宗富
二、数字频率合成器(DDS)设计
 设使用DDS的方法设计一个任意频率(0Hz~7.5MHz)的正弦信号发生器
1. dds_test接口模块
ddstest
clock
key [7..0]
f word[31..0]
seg[7..0]
dig[7..0]
inst
 Key1~Key8输入DDS频
率字,由数码管1~8显
示(8位16进制数的频
率字), fword输出频
率控制字。
 D/A转换器使用的
是TI公司的125
MSPS单路10bit器
件THS5651A(其
有管脚兼容的
200MSPS器件
DAC900)。
电子设计自动化技术
讲授:伍宗富
二、数字频率合成器(DDS)设计
2. DDS的基本结构
 DDS的输出频率fout=(B△θ/2N) ×fclk ;
B△θ是频率输入字, fclk是系统基准时钟的频率值,N是相位累
加器的数据位宽,也是频率输入字的数据位宽。
 DDS的频率分辨率△f = fclk /2N ;
 DDS的频率输入字B△θ = 2N ×( fout/ fclk ),要取整,
否则有时会有误差。
电子设计自动化技术
讲授:伍宗富
二、数字频率合成器(DDS)设计
3.建立DDS子系统模型
1
i15:0
P[15:0]
Phaseword
2
F[31:0]
+
+
+
+
i31:0
z
-1
31:0
+
+
Phaseword1
Parallel
Adder Subtractor1
Freqword
Parallel
Adder Subtractor
Delay
511*sin( [0:2*pi/(2^10):2*pi] )+512
31:0
31:22
9:0
9:0
BusConversion
a
X
LUT
b
3
i9:0
A[9:0]
Amp
19:0
19:10
BusConversion1
o9:0
1
DDSout
Out1[9:0]
Product
 输入:频率字F[31..0],相位字P [15..0],幅度字A [9..0];
 输出:Out1 [9..0],位数和D/A匹配。
 使用“Mask Subsystem…”中的“Documentation”设置”Mask type”为
“Subsystem AlterBlockSet”(子系统Altera模块集)就可以正常地生成
VHDL代码。
电子设计自动化技术
讲授:伍宗富
二、数字频率合成器(DDS)设计
4. Simulink模型仿真
0
Constant0
SignalCompiler
P[15:0]
800000
F[31:0]
Out1[9:0]
o9:0
AltBus
Constant2
Scope
A[9:0]
1000
Subsystem
Constant3
 改变Constant2的值,仿真频率发生变化;
 改变Constant3的值,仿真幅度发生变化。
 DDS直接数字合成器,具有较高的频率分辨率,
可以实现快速的频率切换,并且在频率改变时能
够保持相位的连续,很容易实现频率、相位和幅
度的数控调制。
电子设计自动化技术
讲授:伍宗富
二、数字频率合成器(DDS)设计
5. 在DSP Builder中使用外部的VHDL代码
ddstest
clock
key [7..0]
f word[31..0]
seg[7..0]
dig[7..0]
inst
 1)将ddstest.vhd拷贝到工程目录;
 2)在Altera DSP Builder库中,找到SubSystem
Builder模块,拖放此DDS模型窗口中。
 3)打开SubSystem Builder ,选择ddstest.vhd ,建
立系统模块。构建完整模型,并转换为Quartus 工程
文件。
电子设计自动化技术
讲授:伍宗富
二、数字频率合成器(DDS)设计
6. DDS的Quartus工程实现
NOT
OUTPUT
da_clk
inst2
OUTPUT
da_mode
DDSout
GND
clock
key [7..0]
INPUT
VCC
INPUT
VCC
clock
dig[7..0]
iclock
seg[7..0]
key [7..0]
inst1
sinout[9..0]
OUTPUT
dig[7..0]
OUTPUT
seg[7..0]
OUTPUT
da_data[9..0]
电子设计自动化技术
讲授:伍宗富
课堂小结
一、七段数码管动态扫描译码电路设计
(动态扫描每显示完一轮的时间不超过20ms,每个数码管显
示的时间一般控制在1ms )
二、 数字频率合成器(DDS)设计
( DDS的设计应用等)
电子设计自动化技术
讲授:伍宗富
课外作业:
(1)请根据自已的实践写出
DDS的设计步骤和画出
DDS实现电路图;
(2)上机操作实践。