当前位置:首页 >> 其它课程 >> 《电子信息工程技术专业2011级毕业论文模板》

《电子信息工程技术专业2011级毕业论文模板》


广西交通职业技术学院 交通信息工程系

毕业论文
论文题目 专 班 姓 学 业: 级: 名: 号: 低频信号发生器设计

电子信息工程技术 电信 2011-1 班 张三 20110405001 XXX

指导教师:

职称: 助教

二 O 一三 年 十二 月






本文介绍一种低频信号发生器的设计,以直接数字频率合成器 (DDS)芯片作为信号源,采用 AVR 单片机(ATmega128)作为控制器, 实现对 DDS 芯片 AD9833 的控制,使它能够输出信号稳定度优于 10-3 的 正弦波、方波和三角波信号,输出信号频率在 1 Hz~100KHz 范围内可 调,具有步进和范围可调的扫频功能。使用带汉字字库的 LCD12864 作 为显示部分,时时显示输出信号的频率和类型,人机界面友好。使用 脉冲编码器来调节输出信号的频率,脉冲编码器具有使用简单、调节 稳定等优点。AD9833 产生的信号通过高速运算放大器 LMH6609 放大和 缓冲输出。本设计方案具有电路简单,输出信号稳定、频率分辨率高、 波形标准等优点。 【关键词】 信号发生器; 直接数字频率合成(DDS); 单片机; AD9833; LCD12864





前言............................................................ - 4 1 系统总体设计 .................................................. - 4 1.1 任务概述.................................................... - 4 1.2 可行性分析.................................................. - 4 1.3 系统方案的论证 .............................................. - 5 1.4 系统功能分工 ................................................ - 5 2 DDS 工作原理 .................................................. - 6 3 系统硬件电路的设计及调试 ...................................... - 7 3.1 系统总体框图 ................................................ - 7 3.2 各个单元电路的原理及设计 ................................... - 10 3.2.1 DDS 模块电路 ............................................. - 10 3.2.2 输出缓冲放大电路......................................... - 14 3.2.3 稳压电源电路............................................. - 15 3.2.4 键盘电路................................................. - 16 3.2.5 显示电路................................................. - 17 3.2.6 脉冲电位器电路........................................... - 18 3.2.7 单片机系统电路........................................... - 21 4 软件设计 ..................................................... - 22 5 系统指标测试 ................................................. - 29 6 结束语....................................................... - 30 参考文献....................................................... - 31 致 谢.......................................................... - 31 -

前言
信号发生器是一种常用的信号源,在电子电路、自动控制和科学实验等领域 应用非常广泛。它在电子测量仪器中占有重要的地位,是电子测试系统的重要部 件。早期的信号发生器机械机构比较复杂,功耗也比较大,通常使用的技术是自 由振荡器,工作频率即为输出频率,而且输出的频率范围有限。到了 70 年代后, 微处理器的出现,利用信号处理器,A/D 和 D/A 以及软件使信号发生器能够产生 更复杂的波形。 直接数字频率合成技术是一种从相位概念出发直接合成所需要的 波形,采用了高速数字电路和高速 D/A 转换技术,具备了频率转换时间短、相对 带宽宽、频率分辨率高、输出相位连续和相位可快速程控切换等优点。ADI 公司 生产的 DDS 芯片在现代电子领域中得到非常广泛的应用,AD9833 是其中一款, 该器件采用 MSOP 封装、低功耗、可编程波形发生器,外围电路简单,可通过 SPI 接口和控制器相连,对其编程可生成正弦波、三角波、方波,且输出频率和相位 都可通过软件控制。AD9833 频率寄存器是 28 位,主频时钟为 25MHz 时,精度为 0.1Hz,主频时钟为 lMHz 时,精度可以达到 0.004Hz, 工作电压为 3V 时最大功 耗仅为 20mW。本文介绍一款基于 DDS 芯片 AD9833 的低频信号发生器。

1 系统总体设计
1.1 任务概述
设计并制作一台信号发生器,使之能产生正弦波、方波和三角波信号,根据 要求我们设计的信号发生器有以下功能: (1)信号发生器能产生正弦波、方波和三角波三种周期性波形; (2)输出信号频率在 100Hz~100kHz 范围内可调, 输出信号频率稳定度优 于 10-3; (3)输出正弦波信号的电压峰-峰值 Vopp 在 0~5V 范围内可调; (4)输出信号波形无明显失真; (5)自制稳压电源。

1.2 可行性分析
为了实现上述功能,我们设计本系统需要解决一下几个问题: (1)操作的人机界面的设计:仪器要实现键盘输入调节和图形显示功能,

-4-

不仅要操作方便、视觉效果好,而且还要功能达到要求,稳定性良好。 (2)可任意调节信号的频率和幅度:输出信号频率的调节、显示模块和键 盘的输入需要强大的数据处理系统,可以选择单片机或者 DSP 等 MCU。 (4)信号源的产生:要求产生正弦波、方波和三角波信号,必须考虑波形 信号之间的转换方便、电路的稳定性。 (5)信号的处理:信号产生还要通过放大和缓冲部分,要能实现信号的高 速放大而不能失真,同时有足够的带负载能力。 (6)软件设计:软件设计和研制是整个系统的主要组成部分,它不仅要配 合整个系统硬件实现仪器的系统功能, 而且还负责和掌握系统硬件之间的协调合 作。

1.3 系统方案的论证
函数发生器信号源产生方法通常有以下几种: 方案一:用分立元件组成的函数发生器。如采用 555 震荡电路,加上一些外 围的电路可产生正弦波、三角波、方波,但是频率不高,其工作不很稳定,不易 调试。 方案二:用集成芯片的函数发生器。早期的函数信号发生器如 ICL8038,可 产生正弦波、三角波、方波及数控频率调整,但由于 ICL8038 自身的限制,其产 生信号频率只有 0.001~300KHz,无法产生更高的频率,由于压控的非线性,频 率步进的步长控制比较困难,调节方式也不灵活,输出信号稳定度不够。 方案三:利用单片集成芯片的函数发生器。能产生多种波形,达到较高的频 率。如 MAX038,能精密地产生三角波、锯齿波、矩形波(含方波) 、正弦波信号。 频率范围从 0.1Hz~20MHz,最高可达 40MHz。在锁相环、脉宽调制器等电路的设 计上 ,MAX038 是优选器件。 方案四:利用专用直接数字合成 DDS 芯片的函数发生器做信号源,然后通过 信号放大缓冲输出。 经过多方面综合考虑,笔者选用 ADI 公司的 AD9833 作为核心的 DDS 方案。

1.4 系统功能分工
根据对设计任务的分析,我们把整个系统分成几个部分进行设计和调试,包 括:
-5-

(1)信号源产生模块 (2)信号放大缓冲 (3)稳压电源电路 (4)键盘电路 (5)显示电路 (6)单片机系统电路 (7)频率和幅度调节电路

2 DDS 工作原理
直接数字式频率合成器(Direct Digital Frequency Synthesis 简称 DDS) 的基本原理是根据奈奎斯特采样定律, 从连续的信号相位出发将一个正弦信号取 样、量化、编码,形成一个正弦函数表保存在存储器中,通过查表法合成产生波 形。 合成时, 通过改变相位累加器的频率控制字来改变相位增量。 相位增量不同, 一个正弦周期内的采样点数不同,在时钟频率即采样频率不变的情况下,通过相 位增量的改变来实现频率的改变,可以通过以下公式计算: Δ P = ω Δ t = 2π ? Δ t (3.1) 经过转换得合成信号的频率为: ? =Δ P/(2π ×Δ t)= (Δ P×?Mclk)/2π (3.2) 其中Δ P 为相位变化,ω 为角频率, t Δ 为时钟周期, ?Mclk 为时钟频率。

由上式(3.2)可知改变相位Δ P 就可以改变合成信号的频率?。由 N 位相位累加 器对一个信号周期 2π 进行量化,相当于对 2π 取 2N 个采样点,则Δ P 的取值范 围为 0~2N -1。代入公式(3.2)得 ? =(WFC×?Mclk)/2N (3.3) 其中 WFC 为频率控制字,取值为 0~2N -1。将这种变化的相位/幅值量 化的数字信号通过 D/A 转换即可得到合成的相位变化的模拟信号频率。DDS 的基 本原理结构框图如图 2-1 所示:

-6-

图 2-1

DDS 的基本原理结构框图

由以上分析可知,DDS 技术可以理解为数字信号处理中信号综合的硬件实现 问题,即给定信号的幅度、频率、相位参数,合成所需要的信号波形。从系统本 身的角度去理解可以认为是给定输入的系统时钟?Mclk 和频率控制字 WFC ,输出 某一定的正弦信号,DDS 有许多优点: (1)频率变化时相位连续。改变 DDS 的输出频率,实际上就是改变相位增 量,而相位曲线函数的变化是连续的,从而保持了信号相位的连续性。 (2)频率分辨率高。当 WFC=1,由以上公式可得Δ ? =?Mclk/2N,若时钟频 率?Mclk 不变,DDS 的频率分辨率就由相位累加器的位数 N 决定。N 一般都取很 大,如 28 位、32 位、48 位,使得分辨率很高。 (3)频率变换时间短。由于 DDS 是一个开环系统,无任何反馈环节,因此 转换速度快。 (4)输出波形任意性。只要改变 ROM 数据表中的数据,就可以产生不同的 波形信号。 (5)频率的稳定度高。DDS 信号的频率稳定度等同于外部时钟的信号频率 的稳定度。外部时钟一般采用晶体振荡器,因此 DDS 输出信号的频率达到很高的 稳定度。

3 系统硬件电路的设计及调试
3.1 系统总体框图
本系统原理硬件框图见图 3-1 所示, 由三大部分组成: 处理系统和显示部分, 信号源部分,信号处理部分。

-7-

图 4-1

系统原理硬件框图

本系统主要设计原理是采用 AVR 单片机 ATmega128 作为控制器,通过对 DDS 芯片 AD9833 的控制,使它能够产生频率可调的正弦波、方波和三角波信号,信 号通过 LMH6609 运算放大器的放大和缓冲输出。波形选择通过键盘输入选择,频 率的调节采用脉冲电位器通过编程的方法实现频率调节, 显示部分使用带汉字字 库的 LCD12864 液晶模块。另外,在本系统中除了运算放大器 LMH6609 采用±6V 直流电供电,其它部分都是采用+5V 直流电供电。 一、处理系统和显示部分 ATmega128 单片机是这部分的核心,它需要处理

键盘、脉冲电位器、LCD 显示等多个外围器件的数据,同时要对 DDS 芯片 AD9833 写控制字实现对它的控制。单片机需要处理整个系统很复杂的数据,要求处理速 度要足够快,因此我们采用 ATMEL 的 ATmage128,它属于精简指令集 RISC 结构的 AVR 单片机, ATMEL 公司的 AVR 是 8 位单片机中第一个真正的 RISC 结构的单片 机。它采用了大型快速存取寄存器组、快速的单周期指令系统以及单级流水线等 先进技术,使得 AVR 单片机具有高达 1MIPS/MHz 的高速运行处理能力。 ATmega128 主要功能特性: ※ 高性能、低功耗的 AVR 8 位微处理器 ※ 先进的 RISC 结构,133 条指令,大多数可以在一个时钟周期内完成 ※ 32×8 通用工作寄存器+外设控制寄存器 ※ 工作于 16MHz 时性能高达 16MIPS
-8-

※ 128K 字节的系统内可编程 Flash,寿命长达 10000 次写/擦除周期;4K 字节的 EEPROM,寿命长达 100000 次写/擦除周期;4K 字节的内部 SRAM ※ 两个具有独立的预分频器和比较器功能的 8 位定时器/计数器; 两个具有 预分频器、比较功能和捕捉功能的 16 位定时器/计数器;具有独立预分频器的实 时时钟计数器 ※ 两路 8 位 PWM,6 路分辨率可编程(2 到 16 位)的 PWM ※ 输出比较调制器 ※ 8 路 10 位 ADC ※ 具有独立片内振荡器的可编程看门狗定时器 ※ 片内模拟比较器 ※ 6 种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、 Standby 模式以及扩展的 Standby 模式 ※ 两个可编程的串行 USART ※ 可工作于主机/从机模式的 SPI 串行接口 ※ 具有独立片内振荡器的可编程看门狗定时器 ※ 工业级产品具有大电流 10~20mA(输出电流)或 40mA(吸电流)的特点, 可 直接驱动 LED、 或继电器。 SSR 有看门狗定时器(WDT)安全保护, 可防止程序走飞, 提高产品的抗干扰能力。 二、信号源部分 信号源是整个系统信号的来源,信号源部分的稳定与否自 然会导致信号最后输出的效果的优良程度。 我们采用美国模拟器件公司的 DDS 芯 片 AD9833,之所以选择这个芯片,是因为 AD9833 是一款低功耗,可编程直接能 够产生正弦波、三角波、方波输出的芯片,无需外接元件。输出频率和相位都可 通过软件编程,易于调节,频率寄存器是 28 位的,主频时钟为 25MHz 时,精度 为 0.1Hz,主频时钟为 1MHz 时,精度可以达到 0.004Hz。因此,根据设计任务要 求,AD9833 是 DDS 序列芯片中的首选。 AD9833 的主要功能特点如下: ※ 频率和相位可数字编程; ※ 工作电压为 3V 时,功耗仅为 20mW; ※ 输出频率范围为 0MHz ~ 12.5MHz;

-9-

※ 频率寄存器为 28 位(在 25MHz 的参考时钟下,精度为 0.1Hz); ※ 可选择正弦波、三角波、方波输出; ※ 3 线 SPI 接口; ※ 温度范围为-40℃~+105℃。 三、 信号的处理部分 这个部分主要是对 AD9833 产生的信号通过放大和缓冲 然后输出,在放大电路中,要使得信号能完整的放大而不失真,特别在高频信号 中,就应该采用高速运、高精度、低失真的运放放大器。本系统我们采用美国国 家半导体公司的 LMH6609 运放,LMH6609 属于高速、低功耗单运放。适合应用在 射频放大器、A/D 转换输入驱动、有源滤波器、DAC 输出缓冲等。 LMH6609 采用 5-Pin SOT23 封装,其主要功能特称如下: ※ 高速,其压摆率高达 1400 V/?s ※ 高带宽,-3dB 带宽达到 900MHz (AV =1) ※ 大信号带宽和转换率测试达 100% ※ 线性电流输出达 90mA ※ 单位增益稳定 ※ 低功耗,电流仅为 7mA(无负载) ※ 低噪声,3.1nV/ 电压噪声 ※ 6V~12V 电源电压范围(V+-V-)

3.2 各个单元电路的原理及设计
3.2.1 DDS 模块电路
DDS 模块电路如下图 3-2 所示,AD9833 外围电路很简单,需要外部提供一个 参考时钟,电路中我们采用 25M 的有源晶振为 AD9833 提供 25MHz 的系统时钟。 单片机通过 FSYNC、SCLK、SDATA、三个引脚控制 AD9833。

- 10 -

+

5

1

V

0

C

3

7

P

C

8

COMP

1

V

O

U

1

1

1

0

4

V

D

D

0

A

G

N

2

1

0

u

F

C

A

P

9

3

C

9

C10

D

G

N

D

8

4

MCLK

7

5

1

0

4

V

C

C

Y

G

N

D

1

AD9833

6

SDATA

SCLK

FSYNC

G

N

V

C

C

C11

N

C

G

CLK

N

1

0

4









D

G

N

G

N

D

图 3-2 DDS 模块电路

图 3-3 AD9833 的内部框图 AD9833 的内部框图如图 3-3 所示,电路主要有数控振荡器(NCO) 、频率和 相位调节器、Sine ROM、数模转换器(DAC) 、电压调整器,AD9833 的核心是 28 位的相位累加器,它由加法器和相位寄存器组成,每来 1 个时钟,相位寄存器以 步长增加,相位寄存器的输出与相位控制字相加后输入到正弦查询表地址中。正 弦查询表包含 1 个周期正弦波的数字幅度信息,每个地址对应正弦波中 0°~ 360°,范围内的 1 个相位点。查询表把输入的地址相位信息映射成正弦波幅度 的数字量信号,驱动 DAC 输出模拟量。相位寄存器每经过 228/M 个 MCLK 时钟后 回到初始状态,相应地正弦查询表经过一个循环回到初始位置,这样就输出了一 个正弦波。输出正弦波频率为:

- 11 -

D

D

D

T

? OUT=(WFC×?Mclk)/228

(4.1)

其中,WFC 为频率控制字,由外部编程给定,其范围为 O ≤WFC≤228。 1、功能描述 AD9833 是 ADI 公司生产的一款低功耗 DDS 芯片。采用 10 引脚 MSOP 型表面 贴片封装,体积很小,+5V 直流电供电。引脚图如图 3-4 所示:

图 3-4 AD9833 引脚图 AD9833 各个引脚功能如下: COMP : VDD CAP : : DAC 偏移引脚,该脚用来为 DAC 偏移解耦 电源电压 数字电路电源端 数字地 主频数字时钟输入端 串行数据输入脚

DGND : MCLK : SDATA:

SCLK : 串行时钟输入脚 FSYNC: 控制输入,低电平有效 AGND : 模拟地 VOUT : 输出频率(?OUT) 当 AD9833 初始化时, 为了避免 DAC 产生虚假输出, RESET 必须置为 1 (RESET 不会复位频率、相位和控制寄存器) ,直到配置完毕,需要输出时才将 RESET 置 为 0;RESET 为 0 后的 8~9 个 MCLK 时钟周期可在 DAC 的输出端观察到波形。 2、AD9833 的内部寄存器介绍 AD9833 内部有 5 个可编程寄存器: ※ 2 个 28 位频率寄存器 ※ 2 个 12 位相位寄存器 ※ 1 个 16 位控制寄存器
- 12 -

频率寄存器和相位寄存器: AD9833 包含 2 个频率寄存器和 2 个相位寄存器,其模拟输出为 ?MCLK/228× FREQEG 其中,FREQEG 为所选频率寄存器中的频率字,该信号会被移相: 2π/4096×PHASEREC 其中,PHASEREC 为所选相位寄存器中的相位字。 频率和相位寄存器的操作 如表 3-1 所示: 表 3-1 频率和相位寄存器的操作图

控制寄存器: 表 3-2 控制寄存器功能

AD9833 中的 16 位控制寄存器供用户设置所需的功能。除模式选择位外,其 他所有控制位均在内部时钟 MCLK 的下沿被 AD9833 读取并动作, 为了方便对控制 字的计算和程序的编写,表 3-2 给出控制寄存器各位的功能。要更改 AD9833 控

- 13 -

制寄存器的内容,D15 和 D14 位必须均为 0。 3、AD9833 的时序特性 AD9833 有 3 根串行接口线, SPI、 与 QSPI、 MICROWIRE 和 DSP 接口标准兼容, 在串口时钟 SCLK 的作用下,数据是以 16 位的方式加载到设备上。时序图如图 3-5 所示:

图 3-5 AD9833 串行时序图 进行串行数据传输时,FSYNC 引脚必须置低,然后在串口时钟 SCLK 的作用 下,数据是以 16 加载到设备上。FSYNC 引脚是使能引脚,电平触发方式,低电 平有效。FSYNC 置低后,在 16 个 SCLK 的下降沿数据被送到 AD9833 的输入移位 寄存器,在第 16 个 SCLK 的下降沿 FSYNC 可以被置高,也可以连续加载多个 16 位数据,仅在最后一个数据的第 16 个 SCLK 的下降沿时将 FSYNC 置高。需要注意 的是,在 FSYNC 开始变为低前( 即将开始写数据时),SCLK 必须为高电平。时序 特性如表 3-3 所示: 表 3-3 时序特性表

3.2.2 输出缓冲放大电路
输出缓冲放大电路选用美国国家半导体的 LMH6609,LMH6609 属于超高速运

- 14 -

算放大器,其压摆率高达 1400 V/?s,增益带宽高达 900MHz,同时输出电流可达 90mA,适合在射频放大器、A/D 转换输入驱动、有源滤波器、DAC 输出缓冲等高 端应用。 本系统运放接成同相放大电路,具有输入阻抗高、输出阻抗低等优点,常用 于对弱信号的放大,起到缓冲和隔离的作用。电路的闭环增益为: A= R1/R2+1 (3.2)

其中,A 为闭环增益,即放大倍数,R1 为可调电阻。通过调节电位器 R1 的 大小可以改变放大倍数,运放采用双电源 ? 6V 供电。运放的输出直接作为整个 信号发生器的输出。R4 是电位器,用来调节输入信号幅度的大小,从而改变输 出信号的幅度。 输出缓冲放大电路如图 3-6 所示:
+ 6 V

C

1

C

1

0

0

K

1

0

u





AD9833





R

C

3

I

N

0.1uF

1

K

1

U

1

F

0.1uF

G

2

N

R

C

4

3.3uF

2

4

5

LMH6609

R

1

3

D

O

U

R

4

3















1

0

K

3

3









controller

LCD



controller

LCD





C

5

C

0.1uF

1

0

u

2

G

N

D

图 3-6 输出缓冲放大电路图

3.2.3 稳压电源电路
稳压电源电路由整流滤波电路和稳压电路两个部分电路构成,桥堆和 C22、 C23、 C24、C25 构成整流滤波电路,经过 7806,7906,和 7805 稳压得到±6V 和+5V 的直流电压,给运放和单片机等电路提供电源。 原理图如下图 3-7 所示:

- 15 -

-6V

F

6





T

J

1

220V

AC

U

3

LM7805

+

5

1

I

N

O

U

T

3

V

+

5

G

N

D

C13

C12

C15

C14

1

0

0

u

1

3

2

1

0

0

u

F

0.1uF

2

0.1uF

F

V

R

T

1

1

Res3

U

4

LM7806

+

6

1

3

G

N

I

N

O

U

T

D

V

G

N

2

2

0

0

u

F

D

C17

LED3

K

5

D

G

N

D

D

2

C22

C23

0.1uF

C18

1

0

0

u

C25

C24

0.1uF

2

1

C27

C26

F

G

N

Bridge

2

2

0

0

u

F

0.1uF

G

N

D

0.1uF

1

0

0

u

F

G

N

2

I

N

O

U

T

3

D

U

5

图 3-7 稳压电源电路图

3.2.4 键盘电路
键盘由四个按键构成,通过四个按键来调整输出信号的波形和调节步进,飞 梭键方便的实现频率的加减。键盘电路图如图 3-8 所示:

图 3-8 键盘电路图 各个按键的功能定义介绍如下: (1)KEY1 的功能是波形的选择。按一次输出的波形就从原来的波形变成另 一种波形(正弦波→三角波→方波→正弦波) ,按多次波形可来回循环。 (2)KEY2 的功能是扫频信号的选择。按一次系统自动输出扫频信号,再按 一次扫频停止。 (3)KEY3 的功能是增加调整频率步进,按一次按键频率的调整光标左移一 位,即频率调节步进增加 1→10→100→1000 依此类推。

- 16 -

LM7906

-6V

D

1

(4)KEY4 的功能是减小调整频率步进,按一次按键频率的调整光标右移一 位,即频率调节步进减小 1000→100→10→1 依此类推。

3.2.5 显示电路
显示电路采用带汉字字库的 LCD 模块 RT12864-M,它可以方便的显示汉字和 图形,和键盘一起构成友好的人机界面。RT12864-M 是一种图形液晶显示器,它 主要由行驱动/列驱动和 128×64 全点阵液晶显示器组成。可完成图形显示,也 可显示 8×4 个(16×16 点阵)汉字。 1、LCD 模块 RT12864-M 技术参数和性能 ※ 电源:VDD:+5V,模块内自带-10V 负压,用于 LCD 的驱动。 ※ 显示内容:128(列)×64(行)点。 ※ 七种指令。 ※ 与 CPU 接口采用 8 位数据总线并行输入输出和 8 条控制线。 ※ 工作温度:0℃~+60℃,存储温度:-20℃~+70℃ RT12864-M 的引脚说明和内部硬件结构分别如下表 3-4、图 3-9 所示: 表 3-4 RT12864-M 的引脚说明 管脚 号 1 2 3 4 5 管 脚 名 LEVER 称 GND 0V VCC +5V V0 RS H/L R/W H/L 管脚功能描述 电源地 电源正 液晶显示器驱动电压 RS =“H”,表示 DB7--DB0 为显示数据 RS =“L”,表示 DB7--B0 为显示指令数据 R/W=“H”,E=“H”,数据被读到 DB7--DB0 R/W=“L”,E=“H→L”,DB7—DB0 的数据被写到 IR 或 DR 使能信号:R/W=“L”,E 信号下降沿锁存 DB7--DB0 R/W=“H”,E=“H” DRAM 数据读到 DB7--DB0 数据线 数据线 数据线 数据线 数据线 数据线 数据线 数据线 8 位或 4 位并口方式,L:串口方式
- 17 -

6 7 8 9 10 11 12 13 14 15

E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 PSB

H/L H/L H/L H/L H/L H/L H/L H/L H/L H/L

16 17 18 19 20

NC RESET VOUT IED+ IED-

H/L -10V DC+5V DC 0V

空脚 复位端,低电平有效 LCD 驱动负电压 背光板电源 背光板电源

图 3-9 RT12864-M 内部硬件结构 2、LCD 与单片机的连接电路 LCD 模块的驱动电路我们采用 8 位并口传输方式,单片机与 LCD 模块的电路 连接如下图 3-10 所示:

图 3-10 LCD 模块的电路连接图

3.2.6 脉冲电位器电路
本系统采用脉冲编码器来调节输出频率, 脉冲编码器和单片机由软件编程来 配合工作,他和传统的电位器(滑动电阻)有本质的区别。根据往不同方向旋转 脉冲编码器时输出波形不同来判断是往左还是往右旋转, 必须配合单片机等各种 MCU 使用。脉冲编码器具有电路简单,操作灵活,调节方便和稳定等优点。
- 18 -

1、脉冲编码器及其计数模块原理 编码器的信号输出有 A 相,B 相,Z 相, 其中 Z 为零脉冲,与我们论题无关。 计 数模块使用 A,B 来进行计数,编码器结构以及计数原理如下: 结构:金属码带,上排为 A,下排为 B,灰色的不透光,白色的透光

这样编码器转动可得到如下波形:

上图中 A 相超前 B 相 90 度, 如果转动方向相反, A 相滞后 B 相 90 度, 则 B_A 为 B&A 组合。根据这个原理计数模块根据相位判断计数方向,B 的上升沿触发计 数。 但在非正常情况下,比如编码器码带在半个脉冲的范围内震动,可以造成一 路有脉冲, 另一路没有脉冲的情况。 所以计数模块对几种常见振荡形式做了处理, 要求 B 的下降沿与上升沿之间必须有 A 相的变化,否则不进行计数操作。 D1(2)为 A 相,D1(3)为 B 相,cntttt 为计数结果,编码器在抖动,B_A 经历 了如下过程:

00,01,11,10,00,10,11,01,00,01,00,10 具体分析: 00 到 01: 码器向右移动, 01 到 11: 码器向右移动,同时加一。 11 到 10: 续向右, 10 到 00: 继续向右, 00 到 10: 左移动, 10 到 11: 续向左, 11 到 01: 续向左,

- 19 -

01 到 00: 续向左, 00 到 01: 右移动, 01 到 00: 左移动, 00 到 10: 左移动。 分析出它的规律及其进退原理后, 就不难用程序来解决双脉冲编码器进加退 减的问题了。此系统采用的脉冲编码器为 ALPS 公司生产的 11 形金属轴编码器, 其外形图如图 3-11 所示:

图 3-11 属轴编码器外形图 编码器输出波形图如图 3-12 所示:

图 3-12 11 形金属轴编码器输出波形图 由此可见,如果输出 A 相为高电平时,输出 B 相出现一个高电平,这时开关就 是向顺时针旋转; 当输出 A 相为高电平,输出 B 相出现一个低电平,这时就一定 是逆时针方向旋转.所以,在单片机编程时只需要判断当输出 A 相为高电平时,输
- 20 -

出 B 相当时的状态就可以判断出是左旋转或是右旋转了。 2、脉冲编码器的连接电路 理解脉冲编码器的工作原理后,接下来就是脉冲编码器和单片机的连接方 式。我们使用单片机的外部中断 0、外部中断 1 的引脚分别与脉冲编码器的输出 脚 1、3 相连,同时接一个上拉电阻,2 脚接地。 编码器与单片机连接电路如图 3-13 所示:
脉 冲 电 位 器 + 5 V 1 2 R 7 R 8 1 2 1 0 K 1 0 K 3 3

C28

0.1uF

G

N

图 3-13 脉冲电位器电路

3.2.7 单片机系统电路
单片机系统电路由 ATmage128 为核心,ATmage128 拥有丰富的 IO 口和片上 资源, 是目前比较流行的单片机之一, 该部分电路主要包括时钟电路、 复位电路、 ISP 下载电路。该单片机的复位端是低电平有效,我们在设计电路时考虑到上电 复位和手动按键复位两种均有效复位方式,利用电容充电原理进行设计。电路如 图 4-14 所示,由 C16、R6、S5 构成,单片机系统电路如下图 3-14 所示:

- 21 -

D

0.1uF

C29

PD1

PD0

图 3-14 单片机系统电路

4 软件设计
软件采用 C 语言编写,使用 CVAVR 编译器。软件的编写主要分为三个部分: 主程序、定时器 1 溢出中断子程序、外部中断子程序。 1、主程序 主程序主要完成程序初始化后进入死循环, 在死循环中根据中断返回变量的 改变情况处理相应的程序,包括 AD9833 控制字的写入,液晶显示的驱动。 主程序流程图如下图 4-1 所示:

- 22 -

图 4-1 程序主流程图 2、定时器 1 溢出中断子程序 定时器 1 溢出中断子程序是完成键盘扫描功能,定时 30ms 溢出一次,在中 断子程序中记录是哪个按键按下,定时器 1 溢出中断子程序流程图如图 4-2 所示:

图 4-2 定时器 1 溢出中断子程序流程图 3、外部中断子程序 外部中断子程序负责对输出信号频率的调节,包括频率加减。这个部分必须
- 23 -

严格按照脉冲编码器的原理和参数编写,进入中断后还要适当的加延时,这样能 够增加电位器的灵敏度。 外部中断子程序流程图如图 4-3 所示:

图 4-3

外部中断子程序流程图

以下是系统的部分程序,包括 AD9833 驱动,定时器 1 溢出中断子程序,外 部中断子程序。 /******************引脚连接方式**************************** AD9833 驱动 DATA------PC0 SCLK-------PC1 FSYNC-----PC2 **********************************************************/ #define DDS_SCLK_H #define DDS_DATA_H #define DDS_FSYNC_H #define DDS_SCLK_L #define DDS_DATA_L #define DDS_FSYNC_L PORTC|=(1<<1) PORTC|=(1<<0) PORTC|=(1<<2) PORTC&=~(1<<1) PORTC&=~(1<<0) PORTC&=~(1<<2)
- 24 -

//拉高电平 //拉高电平 //拉高电平 //拉低电 //拉低电平 //拉低电平

void AD9833_write(unsigned int data) { unsigned int temp=data;char i; DDS_SCLK_H DDS_DATA_H DDS_FSYNC_H delay_us(100); DDS_FSYNC_L; delay_us(2); for(i=0;i<16;i++) {if(temp&0x8000) DDS_DATA_H ; else DDS_DATA_L ; temp=temp<<1; DDS_SCLK_L ; delay_us(2); DDS_SCLK_H ; } delay_us(2); DDS_FSYNC_H; DDS_SCLK_L ; } void AD9833_IO_init(void) //初始化 { DDS_FSYNC_H ; DDS_SCLK_H ; DDS_DATA_H ; //写入 16 位数据 //从高位开始写入 ; ; ;

AD9833_write(0x2100); //28 位连续,选择频率 0,相位 0,RESET=1

- 25 -

AD9833_write(0x4000); //写频率 0 寄存器的低字节 LSB AD9833_write(0x4000); //写频率 0 寄存器的高字节 MSB AD9833_write(0x2900); //28 位连续,选择频率 0,相位 0,RESET=1 AD9833_write(0x8000); //写频率 0 寄存器的低字节 LSB AD9833_write(0x8000); //写频率 0 寄存器的高字节 MSB AD9833_write(0xC000); //写频率 0 寄存器的低字节 LSB AD9833_write(0xF000); //写频率 0 寄存器的高字节 MSB AD9833_write(0x2000); //28 位连续,选择频率 0,相位 0,RESET=0 } void AD9833_updata(char mode ,long freq_value)//写控制字 { unsigned int control_word; //波形

unsigned long dds; unsigned int dds_l,dds_h;

dds=(double)freq_value*9.942053925;//268435456/27000000=9.942053925 dds=dds<<2; dds_l=dds; //低字节 dds_h=dds>>16; //高字节 dds_l=dds_l>>2; dds_l=dds_l & 0x7FFF; dds_l=dds_l | 0x4000; dds_h=dds_h & 0x7FFF; dds_h=dds_h | 0x4000; if(mode==0) { control_word=0x2000; } else if(mode==1) {
- 26 -

//正弦波

control_word=0x2002; } else if(mode==2) { control_word=0x2028; }

//三角波

//方波

AD9833_write(control_word); //波形选择 AD9833_write(dds_l); AD9833_write(dds_h); } /*************************************************** 外部中断子程序,即脉冲编码器使用程序 ***************************************************/ interrupt [EXT_INT1] void ext_int1_isr(void) { delay_us(700); if((PIND&0x01)==0x01) { if(((freq_value-freq_step)>=(unsigned long)10)&&((freq_value-freq_step)<=(unsigned long)1000000)) { freq_value=freq_value-freq_step; frq_new=1; //PORTC^=(1<<3); } } else if((PIND&0x01)==0x00) {
- 27 -

//写频率控制字 //写频率控制字

if((freq_value+freq_step)<=(unsigned long)10000000) { freq_value=freq_value+freq_step; frq_new=1; //PORTC^=(1<<3); } } } /*************************************************** 定时器 1 溢出中断子程序,即键盘扫描程序 ***************************************************/ interrupt [TIM1_OVF] void timer1_ovf_isr(void) { char key; TCNT1H=0xF1; TCNT1L=0xEF; key=PINC&0xf0; if(key!=0xf0)//有按键按下 { if(key==~0x8f)//波形选择 { key_wave++ } if(key==~0x2f)//加 1 按键 { key_step_inc++; } if(key==~0x1f) //减 1 按键 { key_step_dec++;
- 28 -

;

} } else { if(key_step_inc>0) key_step_inc--; if(key_step_dec>0) key_step_dec--; if(key_wave>0) key_wave--; if(key_power>0) key_power--; } }

5 系统指标测试
硬件制作完毕,通过软件调试后,使用 100M 数字示波器(型号 YB4365) 、 频率计(型号 FC-7150)测试输出波形,测试数据如表 5-1 所示: 表 5-1 输出波形测试数据 输出波形 正弦波 三角波 方波 最大峰-峰值(V) 频率 频率 频率 1K 负 2K 负 空载 载 载 10 5.64 6.45 7.5 9.958Hz 9.958 Hz 9.958 Hz 100 5.63 6.40 7.5 99.981Hz 99.981 Hz 99.981 Hz 1K 5.63 6.40 7.5 1.000k Hz 1.000k Hz 1.000k Hz 10K 5.62 6.40 7.5 10.000k Hz 10.000k Hz 10.000k Hz 100K 5.59 6.40 7.4 100.001KHz 100.001 KHz 100.001 KHz 500K 5.54 6.29 7.4 500.006KHz 500.006 KHz 500.006 KHz 1M 5.49 6.19 7.16 1.000013MHz 1.000013 MHz 1.000013 MHz 2M 5.02 5.57 6.30 2.000027MHz 2.000027 MHz 2.000027 MHz 5M 3.36 3.49 3.7 5.000068MHz 5.000068 MHz 5.000068 MHz 频率 预测 /Hz 测试表明,系统具有以下特征:

- 29 -

(1)能够产生正弦波、三角波、方波三种周期性波形 ,频率非常准确; (2)在低频 1Hz~100KHz 范围内三种波形基本上没有失真; (3)最大输出频率:正弦波输出最大可以达到 5MHz;三角波和方波可以达到 2MHz; (4)在 1Hz~100KHz 范围内,电压峰-峰值 Vopp 在 0~5V 范围内可调。

6 结束语
在信号放大处理方面对运放的要求比较高,特别是在高频方面,该设计我们 采用现有的高速运算放大器 LMH6609,5-Pin SOT23 封装(大概 2×3mm),体积 非常小,工作电压为 6V~12V(V+-V-) ,因此我们采用±6V 电源供电。空载时输 出最大电压峰-峰值可到到 8V,满足设计要求。在 PCB 布线方面也要讲究,布线 好可以减少线路之间的干扰,增加稳定性。 基于 AD9833 的频率合成技术能够产生高分辨率、高稳定度的正弦波、三角 波、方波信号,与单片机实时控制技术相结合,在波形选择和频率控制上很方便 地实现控制。因此,AD9833 芯片以及基于此芯片制成的各类信号源在各种领域 有着广阔的应用前景。

- 30 -

参考文献
[1] 沈文. AVR 单片机 C 语言开发入门指导[M].北京: 清华大学出版社.2005 [2] 曾兴雯. 高频电子线路[M]. 北京:高等教育出版社.2003 [3] 张力科.单片机典型模块设计实例导航[M].北京: 人民邮电出版社.2004 [4] 潭浩强.C 语言程序设计[M].清华大学出版社.2003 [5] 康华光,陈大钦.电子技术基础-模拟部分[M].高等教育出版社.2003 [6] 金钟夫,杜刚,王群等.ATmega128 单片机 C 语言设计与实践[M].北京 航空航天大学出版社.2008 [7] 海涛.ATmega 系列单片机原理及应用—C 语言教程[M].北京:机械工业 出版社.2008

致 谢
本人在做毕业设计的过程中,得到许多老师和同学的帮助,特别是我的班主 任 XXX 老师给我的精心指导和提供宝贵的元器件, 在理论分析和实践设计时给予 许多专业知识方面的指导,并提供许多宝贵的经验和技术资料,让我能圆满的完 成此项任务,在此向他们深表谢意。 大学三年来得到许多老师的精心培养,让我学到许多宝贵的知识,特别是 XXX、XXX、XXX 等老师在专业知识和动手能力方面的培养,还有 XXX、XXX、XXX 等几位同学的指导和帮助,包括身边所有支持和帮我的人,再次表示对你们诚挚 的感谢!

- 31 -


更多相关文档:

《电子信息工程技术专业2011级毕业论文模板》

《电子信息工程技术专业2011级毕业论文模板》_其它课程_高中教育_教育专区。毕业设计模板广西交通职业技术学院 交通信息工程系 毕业论文论文题目 专班姓学业: 级: 名...

电子信息工程专业毕业论文模板

电子信息工程专业毕业论文模板_管理学_高等教育_教育...吉林化工学院.2011 年 [5] 施自华,伍臣周,余...测控技术.2001,(8) 参考文献数不少于 10 个,至少...

电子信息工程专业毕业论文模板 (1)

电子信息工程专业毕业论文模板 (1)_工学_高等教育_...级电子信息工程 2 班 赵鹏 指导教师(职称) 陈颖(...吉林化工学院.2011 年 [5] 施自华,伍臣周,余...

信息技术学院2011级本科毕业论文模板

信息技术学院2011级本科毕业论文模板_工学_高等教育_教育专区。信息技术学院 2015...八、格式要求 (1) 毕业论文课题必须是电气类(电子信息工程和通信工程)的 专业...

2011年华科学院 电子信息工程专业毕业设计(论文)模板

2011毕业设计(论文)模... 22页 2下载券喜欢此文档的还喜欢 电子信息工程毕业...[编号] 作者.书名.出版地,出版单位,年份,起止页码(参《山西大学学报》 ). ...

2011级《建筑工程技术》专业教育

2011级《建筑工程技术》专业教育_教育学_高等教育_教育专区。2011 级《建筑工程技术》专业教育提纲首先,欢迎 2011 级新同学来到甘肃建筑职业技术学院学习,在这里,我...

2011级电信专业《供电技术》复习

2011级电信专业《供电技术》复习_信息与通信_工程科技_专业资料。《供电技术》复习资料一、基本概念 1.电网的结线方式根据负荷对供电要求不同,可分为放射式、干线...

小学教育专业2011级毕业论文选题方向

小学教育专业2011级毕业论文选题方向_教育学_高等教育...《三国演义》和《水浒传》主旨及人物比较 教师言行...性意义,是一篇学术水平较高且格式规范的优秀论文。 ...

华侨大学 2011级 网络工程专业《模拟电子技术》试卷 (A)

华侨大学 2011级 网络工程专业《模拟电子技术》试卷 (A)_研究生入学考试_高等教育_教育专区。华侨大学 2011 级 软件工程专业 《模拟电子技术》试卷(A)学院 级 ...
更多相关标签:
电子商务毕业论文模板 | 毕业论文开题报告模板 | 毕业论文模板 | 毕业论文格式模板 | 毕业论文范文模板 | 毕业论文提纲模板 | 毕业论文任务书模板 | 毕业论文大纲参考模板 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com