没有合适的资源?快使用搜索试试~ 我知道了~
论文:函数信号发生器制作
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 56 浏览量
2023-06-23
23:08:11
上传
评论
收藏 420KB DOC 举报
温馨提示
试读
21页
本设计运用了基于NiosⅡ嵌入式处理器的SOPC技术,设计完成了函数信号发生器系统。本系统的DDS 信号发生部分由FPGA最小系统加DAC904构成,控制与信息显示部分由单片机最小系统加键盘,液晶显示器构成。单片机接受键盘指令通过串口将控制字,发送到FPGA内部的NIOSII处理器,由NIOS处理器来控制FPGA内部的信号发生部分实现各项功能。本系统充分利用了EDA开发工具与FPGA内部资源,提高了系统的稳定性和抗干扰能力,得到很好的输出效果。
资源推荐
资源详情
资源评论
- 1 -
D 甲 函数信号发生器制作
专家点评:该项目运用了基于 NiosⅡ嵌入式处理器的 SOPC 技术,
由 NIOS 处理器来控制 FPGA 内部的信号发生部分实现各项功能,设
计了函数信号发生器。理论分析完整,测试方案正确,测试数据充分。
其特点是充分利用了 EDA 开发工具与 FPGA 内部资源,提高了系统
的稳定性和抗干扰能力,得到很好的结果。
摘要:本设计运用了基于 NiosⅡ嵌入式处理器的 SOPC 技术,设计完成了函数信号发生器
系统。本系统的 DDS 信号发生部分由 FPGA 最小系统加 DAC904 构成,控制与信息显示部
分由单片机最小系统加键盘,液晶显示器构成。单片机接受键盘指令通过串口将控制字,发
送到 FPGA 内部的 NIOSII 处理器,由 NIOS 处理器来控制 FPGA 内部的信号发生部分实现
各项功能。本系统充分利用了 EDA 开发工具与 FPGA 内部资源,提高了系统的稳定性和抗
干扰能力,得到很好的输出效果。
关键字:NiosⅡ;SOPC;FPGA; DAC904;EDA;LCD。
The production of the function signal generator
Abstract:The system uses the SOPC technology based on Embedded Prosesser of
NiosⅡas a control on topics designed to function signal generator system , the DDS
- 2 -
signal of the system is consisted of the FPGA smallest system and DAC904. the
control and information display system include MCU smallest system , keyboard,
LCD display. MCU accepts keyword commands and send the control word through
the serial port to the internal NIOSII processor in FPGA. NIOSII controls the
internal signal of FPGA to realize each function. This system has used the EDA
development kit and the FPGA interior resources fully, enhanced system's
stability and antijamming ability, obtains good output effect.
Keywords: NiosⅡ;SOPC;FPGA; DAC904;EDA;LCD。
目 录
一. 整体方案论证与确定····················4
二. 理论分析与计算······················5
三. 主要功能电路设计·····················6
四. 系统软件设计·······················12
五. 测试结果与分析······················13
六. 结论···························15
附录······························16
参考文献····························22
一. 整体方案论证与确定
方案一:采用单片机控制合成各种波形
此方案硬件电路简单,所用器件少。波形的选择,生成及频率的控制均由单片机编程实现。
此法产生的波形的频率范围,步进值取决于所采用的每个周期的输出点数及单片机执行指令
的时间。此方案实现各种波形相对容易,在低频区基本上能实现要求的功能,但是,控制较
复杂,精度不易满足,生成波形频率范围小,特别是难以生成高频波形。
方案二:采用 DDS 技术直接合成各种波形
此方案基于单片机的方式,以单片机为控制中心,通过对专用的 DDS 芯片如 AD9854 编程,
产生所需要的各种波形(原理框图见 A-1).该方案简单,易于实现。
(A-1)
方案三:采用基于单片机和 FPGA 的片上可编程系统方案
LCD 显示
4*4 键盘
MCU
AD985X
晶振
LPF
- 3 -
此方案将相应的正弦波的波形数据及三角波、方波的函数表格存储在存储器 EPROM 中,
通过单片机控制选择波形,频率及幅度等参数,从存储器中读取相应的函数表格中的数据
或正弦波的波形数据,若要显示锯齿波可直接从累加器的输出端取出波形数据,将数据经
过处理再送至 DAC904,再经过 DAC904 进行数模转化,从而可以得到所要求的各种波形(系
统整体框图见 A-2)。此方法利用了单片机在软件控制设计方面的通用性和 FPGA 在逻辑设
计上的优势,能够得到较高的频率分辨率,产生信号的频率和幅度的稳定性高,可以得到
较宽频率范围内的波形,很方便的与计算机接口,且调试方便,简化了控制机及接口,有
利于提高集成度,可靠性和灵活性。
(A-2)
综合考虑以上三种方案的优缺点以及题目的基本要求和发挥部分要求,我们选用第三种
方案,即采用基于单片机和 FPGA 的片上可编程系统方案。这种设计充分利用了 FPGA 的
资源,减少了 CPU 与外设的的接口,在很大程度上提高了系统的速度、可靠性。
二. 理论分析与计算
1. 数字频率合成技术原理
数字频率合成由相位累加器、存储在 ROM 中的相关波形数据及函数表格、DAC904
和低通滤波器所组成的部分实现。参考时钟是一个稳定的晶振,相位累加器类似于计数器,
在每个时钟脉冲输入时,它就输出一个相位增量(框图如 B-1),即把频率控制字 FTW 的
数据变成相位抽样来确定输出频率。
(B-1) 相位累加器
相位增量随指令 FTW 的不同而不同,用在数据寻址时,查表就把存储的抽样值转换成为
要产生波形幅度的数字量。DAC 把数字量变为模拟量,低通滤波器平滑栟榈吊带外杂散后,
LCD 显示
4*4 键盘
MCU
DAC904
FPGA
运 放 、
LPF
- 4 -
得到所需波形。
2.分析计算
根 据 题 目 的 基 本 要 求 , 频 率 范 围 为 100HZ~100KHZ , 为 使 其 频 率 范 围 扩 展 为
1HZ~1MHZ。在 1HZ~1KHZ 范围内步进间隔为 1HZ;在 1KHZ~1MHZ 范围内步进间隔为
100HZ。
根据:输出频率:
FTW
m
clk
out
f
f
2
�
最小频率分辨率:
2
min
m
clk
f
f
�
其中 m 为相位累加器的位数,FTW 为频率控制字,
f
clk
为时钟频率,输出信号频率主要
取决于频率控制字 FTW.当 N 增大时,
f
out
可以不断增加,综合考虑 Nquist 采样定理,
最高输出频率应小于
2
f
out
.根据实验所得,实际工作频率应小于
3
f
clk
。
f
clk
的取值受 D/A 转换速率的限制,由于数模转换部分采用的是高速 DAC904,其转换速
率约为 160MHZ。综合考虑后,选取基准频率为 160MHZ,。
选取相位累加器位数为 m 为 32,频率分辨率为
0372529.0
*6.1
2
10
2
32
8
min
���
m
clk
f
f
这样可以经过键盘输入实现 1HZ 步进和 100HZ 步进。
三. 主要功能电路设计
1 单片机控制模块
本设计中,采用的是 ADUC845 最小系统板,其基本电路如图 C-1-1 所示。中心部分是单
片机 ADUC845,它有五个扩展的 I/O 口,外部 RAM 存储空间是 0000~7FFF。自带 A/D,D/A,功
能强大。
- 5 -
(C-1-1)单片机最小系统
本次设计中用单片机控制 CH451 驱动键盘,通过软件编程控制按键实现波形的切换,频
率以及幅度的步进并用 LCD 显示,而且本次设计中,还通过 CH451 驱动 8 位 LED 显示 DS1302
的初始化时间并进行计数显示,还可以通过按键对时间进行设置。键盘的控制电路如图
C-1-2 所示:
(C-1-2)键盘控制电路
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number RevisionSize
C
Date: 14-Sep-2008 Sheet of
File: E:\2008大赛\2007大赛资料大赛\aduc845最小系统版\aduc845.ddbDrawn By:
Y1
32768 HZ
R1
1K
R2
1K
VCC
+
C10
220uF
C11
104
Vin
1
GND
2
Vout
3
U2
7805
AVDD
AGND
GND
VCC
GND
1
2
J3
P1.0/AIN1
1
P1.1/AIN2
2
P1.2/AIN3/REFIN2+
3
P1.3/AIN4/REFIN2-
4
AVDD
5
AGND
6
REFIN-
7
REFIN+
8
P1.4/AIN5
9
P1.5/AIN6
10
P1.6/AIN7/IEXC1
11
P1.7/AIN8/IEXC2
12
AINCOM/DAC
13
DAC
14
RESET
15
P3.0/RXD
16
P3.1/TXD
17
P3.2/IN T0
18
P3.3/IN T1
19
DVD D
20
P3.4/T0
22
P3.6/WR
24
SCLOCK
26
P2.0/SCLOCK(SPI)
28
DGN D
21
P3.5/T1
23
P3.7/RD
25
SDATA
27
P2.1/MOSI
29
P2.2/MISO
30
P2.3/SS.T2
31
XTAL1
32
XTAL2
33
DVDD
34
DGND
35
P2.4/T2EX
36
P2.5/PWM0
37
P2.6/PWM1
38
P2.7/PWMCLK
39
EA
40
PSEN
41
ALE
42
P0.0/AD0
43
P0.1/AD1
44
P0.2/AD2
45
P0.3/AD3
46
DGN D
47
DVD D
48
P0.4/AD4
49
P0.5/AD5
50
P0.6/AD6
51
P0.7/AD7
52
A1
*
D2
IN4007
Vin
1
GND
2
Vout
3
U1
7809
+12V
+9V
+
C1
220UF/35V
C3
104/35V
+
C2
220UF/35V
C4
104/35V
R3470
1
1
2
2
LED1
GREEN
1
1
2
2
L1
BEAD
C12
104
P00
P01
P02
P03
P04
P05
P06
P07
P20
P21
P22
P23
P24
P25
P26
P27
SDATA
SCLK
WR
RD
T1
T0
GND
VCC
INT1
INT0
TXD
RXD
RESET
DAC
ALE
PSEN
AGND
P10
P11
P12
P13
P14
P15
P16
P17
AINCOM
REFIN-
REFIN+
1
1
2
2
S1
RESET VCC
C18
104
C19104
C7
104
C8
104
C5
104
C9
104
C20
104
3
2
1
8 4
U10A
LM358
5
6
7
U10B
LM358
+9V
C6
104
L2
BEAD
V+
V-
VO
R6
51
C21
104
DAC
DACOUT
A0
2
A1
3
A2
4
A3
5
A4
6
A5
7
A6
8
A7
9
B0
18
B1
17
B2
16
B3
15
B4
14
B5
13
B6
12
B7
11
E
19
DIR
1
U11
74LS245
C1+
1
C1-
3
C2+
4
C2-
5
V+
2
V-
6
T1IN
11
T2IN
10
R1OUT
12
R2OUT
9
T1OUT
14
T2OUT
7
R1IN
13
R2IN
8
VCC
16
GND
15
U14
MAX232
TXD
RXD
TXE
RXE
1
2
3
4
5
6
7
8
9
J14
232 PORT
C22
104
C14
104
C13 1 04 C16
104
VCC
C15
104
X1
2
X2
3
VCC2
1
GND
4
RST
5
IO
6
SCLK
7
VCC1
8
U18
DS1302
BT1
BATTERY 3.6V
XX1
Y2
32768 HZ
C24
10PF
C25
10PF
XX1
XX2
VCCD5
IN4007
D4
IN4007
SCLK-1302
RST-1302 SDATA-1302
XX2
1
2
3
J15
1302 INTERFACE
RST-1302
SCLK-1302
SDATA-1302
P00
P01
P02
P03
P04
P05
P06
P07
RD
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
ALE
OC
1
C
11
1D
2
2D
3
3D
4
4D
5
5D
6
6D
7
7D
8
8D
9
1Q
19
2Q
18
3Q
17
4Q
16
5Q
15
6Q
14
7Q
13
8Q
12
U12
74HC573
A0
A1
A2
A3
A4
A5
A6
A7
A0
A1
A2
A3
A4
A5
A6
A7
D0
D1
D2
D3
D4
D5
D6
D7
A0
10
A1
9
A2
8
A3
7
A4
6
A5
5
A6
4
A7
3
A8
25
A9
24
A10
21
A11
23
A12
2
A13
26
A14
1
CS
20
WE
27
OE
22
D0
11
D1
12
D2
13
D3
15
D4
16
D5
17
D6
18
D7
19
VCC
28
GND
14
U13
62256
VCC
WR
RD
62256 RAM:0000H~7FFFH
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
P27
A1
A2
A3
ADDRESS: 8000H
ADDRESS: 8002H
ADDRESS: 8003H
ADDRESS: 8001H
ADDRESS: 8004H
ADDRESS: 8005H
ADDRESS: 8006H
ADDRESS: 8007H
A
23
B
22
C
21
D
20
G1
18
G2
19
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
11
11
13
12
14
13
15
14
16
15
17
U4
74LS154
1
2
3
U3A
74HC02
A0
Y8
Y9
Y10
Y11
Y12
Y13
Y14
Y15
8008H
8009H
800AH
800BH
800CH
800DH
800EH
800FH
1
2
3
4
5
6
7
8
9
10
11
12
J4
Y5-Y15
1G
1
A1
2
1Y1
18
A2
4
1Y2
16
A3
6
1Y3
14
A4
8
1Y4
12
2G
19
B1
11
2Y1
9
B2
13
2Y2
7
B3
15
2Y3
5
B4
17
2Y4
3
U8
74ls244
1
2
3
4
5
6
7
8
J5
Y0
INPUT PORT:8000H
OC
1
CLK
11
1D
3
1Q
2
2D
4
2Q
5
3D
7
3Q
6
4D
8
4Q
9
5D
13
5Q
12
6D
14
6Q
15
7D
17
7Q
16
8D
18
8Q
19
U5
74ls374
D0
D1
D2
D3
D4
D5
D6
D7
OC
1
CLK
11
1D
3
1Q
2
2D
4
2Q
5
3D
7
3Q
6
4D
8
4Q
9
5D
13
5Q
12
6D
14
6Q
15
7D
17
7Q
16
8D
18
8Q
19
U6
74ls374
D0
D1
D2
D3
D4
D5
D6
D7
1
2
3
4
5
6
7
8
J6
1
2
3
4
5
6
7
8
J8
OUTPUT PORT:8002H OUTPUT PORT:8003H
8
9
10
U3C
74HC02
4
5
6
U3B
74HC02
D0
D1
D2
D3
D4
D5
D6
D7
WRWRY2 Y3
1G
1
A1
2
1Y1
18
A2
4
1Y2
16
A3
6
1Y3
14
A4
8
1Y4
12
2G
19
B1
11
2Y1
9
B2
13
2Y2
7
B3
15
2Y3
5
B4
17
2Y4
3
U9
74ls244
1
2
3
4
5
6
7
8
J7
Y1
INPUT PORT:8001H
D0
D1
D2
D3
D4
D5
D6
D7
1 2
U15A
7404
R7
470
1
1
2
2
LED2
GREEN
VCC
3 4
U15B
7404
R8
470
LED3
GREEN
5 6
U15C
7404
R9
470
LED4
GREEN
89
U15D
7404
R10
470
LED5
GREEN
1011
U15E
7404
R11
470
LED6
GREEN
1213
U15F
7404
R12
470
LED7
GREEN
1 2
U16A
7404
1
1
2
2
R13
470
LED8
GREEN
3 4
U16B
7404
R14
470
LED9
GREEN
LED0
LED1
LED2
LED3
LED4
LED5
LED6
LED7
1
2
3
4
5
6
7
8
J16
LED
LED0
LED1
LED2
LED3
LED4
LED5
LED6
LED7
1
2
4
3
J13
SW
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 34
35 36
37 38
39 40
J17
MCU PIN
VCC
P00
P01
P02
P03
P04
P05
P06
P07
ALE
PSEN
P20
P21
P22
P23
P24
P25
P26
P27
GND
XTAL1
XTAL2
XTAL1
XTAL2
RD
WR
T1
T0
INT0
INT1
RXD
TXD
RESET
P10
P11
P12
P13
P14
P15
P16
P17
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 34
35 36
37 38
39 40
J18
AD/DA PORT
AVDD
AGND
REFIN+
REFIN-
AINCOM
DAC
DACOUT
V-
V+
VO
+ANODE
2
-CATHODE
3
REF
1
U17
TL4 31
C26
10UF
C17
104
AVDD
C23
104
VREF-2.5V
1
2
J21
VREF2 .5V
VREF-2.5V
AGND
OC
1
CLK
11
1D
3
1Q
2
2D
4
2Q
5
3D
7
3Q
6
4D
8
4Q
9
5D
13
5Q
12
6D
14
6Q
15
7D
17
7Q
16
8D
18
8Q
19
U7
74ls374
D0
D1
D2
D3
D4
D5
D6
D7
1
2
3
4
5
6
7
8
J9
OUTPUT PORT:8004H
11
12
13
U3D
74HC02
WRY4
1
2
3
4
5
6
7
8
9
10
11
12
J11
DATA BUS1
WR
RD
VCC
GND
AVDD
1
2
J2
9v
1
2
J1
12V
1
1
2
2
D1 IN4007
+9V
D3
IN4007
AVDD
AGND
REFIN+
REFIN-
AINCOM
DAC
DACOUT
V-
V+
VO
DGND
DVDD
VCC DVDD
DGND
P30
P31
P32
P33
P34
P35
P36
P37
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
AIN8
P10
P11
P12
P13
P14
P15
P16
P17
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
AIN8
P10
P11
P12
P13
P14
P15
P16
P17
AIN1
AIN2
AIN3
AIN4
AIN5
AIN6
AIN7
AIN8
A8
A9
A10
A11
A12
A13
A14
A15
P20
P21
P22
P23
P24
P25
P26
P27
A8
A9
A10
A11
A12
A13
A14
A15
A15
D0
D1
D2
D3
D4
D5
D6
D7
1
2
3
J19
I2C
SCLK
SDATA
GND
1
2
3
J20
SERIAL PORT
RXD
TXD
GND
VCC
1
2
3
4
5
6
7
8
9
10
11
12
J12
DATA BUS2
WR
RD
D0
D1
D2
D3
D4
D5
D6
D7
VCC
GND GND
OC
1
C
11
1D
2
2D
3
3D
4
4D
5
5D
6
6D
7
7D
8
8D
9
1Q
19
2Q
18
3Q
17
4Q
16
5Q
15
6Q
14
7Q
13
8Q
12
U19
74HC573
P20
P21
P22
P23
P24
P25
P26
P27
A16
A17
A18
A19
A20
A21
A22
A23
ALE
GND
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
J10
ADDRESS BUS : MAX 16M
VCC GND
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11 A12
A13
A14
A15P20
P21
P22
P23 P24
P25
P26
P27
A16
A17
A18
A19
A20
A21
A22
A23
1
2
3
U20A
74HC02
4
5
6
U20B
74HC02
8
9
10
U20C
74HC02
11
12
13
U20D
74HC02
RD
GND
RD
GND
R4
470
RXD
1 2 3 4 5 6
A
B
C
D
654321
D
C
B
A
Title
Number Revi sionSize
B
Dat e: 14-Sep-2008 Sheet of
File: E:\ch451资料\2007串行键盘.DDB Drawn By:
R1
2K
E
1
D
2
DP
3
C
4
G
5
M4
6
B
7
M3
8
M2
9
F
10
A
11
M1
12
LED4P1
E
1
D
2
DP
3
C
4
G
5
M4
6
B
7
M3
8
M2
9
F
10
A
11
M1
12
LED4P2
1
1
2
2
LED1
K1 K5 K9 K13
K2 K6 K10 K14
K3 K7 K11 K15
K4 K8 K12 K16
R9
2K
R13
2K
R8
2K
R7
2K
SE7
1
VCC
2
OUT
3
LOD
4
DIN
5
CLK
6
DG7
7
DG6
8
DG5
9
DG4
10
DG3
11
DG2
12
DG1
13
DG0
14
GND
15
RST
16
NC
17
SE0
18
SE1
19
SE2
20
SE3
21
SE4
22
SE5
23
SE6
24
U1
CH451L
DG0DG1
DG2
DG3
DG0 DG1 DG2 DG3
SEG0
SEG1
SEG2
SEG3
R3
200
R4
200
R5
200
R6
200
R10
200
R11
200
R12
200
R2
200
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6SEG7
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
DGG0DGG1
DGG2
DGG3
DGG4
DGG5
DGG6
DGG7
DGG0
DGG1
DGG2
DGG3
SEG0
SEG1
SEG2
SEG3
SEG4
SEG5
SEG6
SEG7
DGG4
DGG5
DGG6
DGG7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
J2
LCD Screen
W1 30K
R/W
RS
E
CS1
CS2
C3
104
Vout
VCC
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
27 28
29 30
31 32
33 34
35 36
37 38
39 40
41 42
43 44
45 46
47 48
49 50
51 52
53 54
55 56
57 58
59 60
61 62
63 64
65 66
67 68
69 70
71 72
73 74
75 76
77 78
79 80
J1
HEADER 40*2
VCC
P00
P01
P02
P03
P04
P05
P06
P07
Y10
Y11
VCC
/RST
/RST
VCC
RST
INT0
P17
P16
P15
RST
Y8
Y9
Y10
P15 P16
P17
INT0
VCC VCC
GND GND
A0
/Q0
A1
/Q1
5
6
GND 8
9
10
11
12
13
VCC
U2
74F04
Y11
Y12
VCC
GND
Y8
Y9
Y12
P00
P01
P02
P03
P04
P05
P06
P07
剩余20页未读,继续阅读
资源评论
代码改变世界ctw
- 粉丝: 5w+
- 资源: 44
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功