利用PWM DAC输出线性调频波形设计与实验

合集下载

实验08可调频率波形程序设计实验

实验08可调频率波形程序设计实验


DAC0832芯片内部结构及引脚图
DAC0832的工作方式 • 直通方式,即两个寄存器均处于非受控状态。
• 单缓冲方式,即两个寄存器中的一个处于受控状 态。 • 双缓冲方式,即两个寄存器均处于受控状态。

单缓冲方式和双缓冲方式是单片机控制
DAC0832时采用的连线制DAC0832产生方波和正弦波 • 教材5.14: • 利用单片机控制DAC0832输出产生方波 或正弦波的系统电路设计方法。 • 2、系统功能修改练习 • 尝试将方波的频率进行调节修改,然后 再运行调试。 • 实验要求: 分别记录两个实验运行的波形,标注周 期和幅值
• • DAC0832引脚作用: 当片选CS为低电平为选中,ILE为高电平且WR1低电 平时,8位数字量从D0~D7送入芯片第一级锁存。当WR2 为低电平时,锁存器中数字量送入8位DAC寄存器,等待 转换。当转换完成时,转换后的模拟电流信号由Iout1和 Iout2从芯片输出。 Iout1和Iout2两电流相加值为常数,当输入为0FFH时, Iout1为最大,Iout2为最小;反之,当输入为00H时, Iout1为最小,Iout2为最大。
实验报告要求
• 1、画出实验的电路原理图。 • 2、并记录软硬件调试的过程以及运行的结 果,分析结果。
• 3、总结方波频率调节的方法,并将实现调 节的源程序语句标注在修改的程序语句旁 边。
下次实验内容
• 实验名称:数码管显示实验 实验内容: (1)教材5.3、教材5.8 (2)实验题:第七章题目11和题目22 预习要求: (1)预先熟悉了解数码管显示的相关理论知 识。 (2)绘制两个电路图,调试程序,存入U盘。
实验八 可调频率波形程序设计实验
实验目的 • 1、理解D/A转换的基本概念,了解D/A转换 器的用途。 • 2、了解D/A转换器DAC0832芯片的使用方 法。

一种基于PWM的电压输出DAC电路设计

一种基于PWM的电压输出DAC电路设计

一种基于PWM的电压输出DAC电路设计在电子和自动化技术的应用中,单片机和DAC(数模转换器)是经常需要同时使用的,然而许多单片机内部并没有集成DAC,即使有些单片机内部集成了DAC,DAC的精度也往往不高,在高精度的应用中还是需要外接DAC,这样增加了成本。

但是,几乎所有的单片机都提供定时器或者PWM输出功能。

如果能应用单片机的PWM输出(或者通过定时器和软件一起来实现PWM输出),经过简单的变换电路就可以实现DAC,这将大量降低成本电子设备的成本、减少体积,并容易提高精度。

本文在对PWM到DA C转换关系的理论分析的基础上,设计出输出为0~5V电压的DAC。

1 应用PWM实现DAC的理论分析PWM是一种周期一定而高低电平的占空比可以调制的方波信号,图1是一种在电路中经常遇到的PWM波.该PWM的高低电平分别为VH和VL,理想的情况VL等于0,但是实际中一般不等于0,这往往是应用中产生误差的一个主要原因.图1的PWM波形可以用分段函数表示为式(1):其中:T是单片机中计数脉冲的基本周期,即单片机每隔T时间记一次数(计数器的值增加或者减少1),N是PWM波一个周期的计数脉冲个数,n是PWM波一个周期中高电平的计数脉冲个数,VH和VL分别是PWM波中高低电平的电压值,k 为谐波次数,t为时间。

把式(1)所表示的函数展开成傅里叶级数[1],得到式(2):从式(2)可以看出,式中第1个方括弧为直流分量,第2项为1次谐波分量,第3项为大于1次的高次谐波分量.式(2)中的直流分量与n成线性关系,并随着n从0到N,直流分量从VL到VL+VH之间变化,这正是电压输出的DAC所需要的。

因此,如果能把式(2)中除直流分量的谐波过滤掉,则可以得到从PWM波到电压输出DAC的转换,即:PWM波可以通过一个低通滤波器进行解调。

式(2)中的第2项的幅度和相角与n有关,频率为1/(NT),该频率是设计低通滤波器的依据。

如果能把1次谐波很好过滤掉,则高次谐波就应该基本不存在了。

pwm实验报告

pwm实验报告

pwm实验报告PWM实验报告一、引言脉宽调制(Pulse Width Modulation,PWM)是一种常用的电子技术,用于控制电子设备中的电压和电流。

通过改变信号的脉冲宽度,PWM可以调节电子设备的输出功率,从而实现对电机、灯光等设备的精确控制。

本实验旨在通过搭建PWM电路并进行实际测试,探究PWM技术的原理和应用。

二、实验原理PWM技术通过改变信号的占空比来控制输出信号的电压或电流。

占空比是指脉冲信号中高电平的时间与一个周期的时间之比。

当占空比为0%时,输出信号为低电平;当占空比为100%时,输出信号为高电平;当占空比在0%和100%之间时,输出信号为一个周期内高电平和低电平的交替。

通过调整占空比,可以实现对输出信号的精确控制。

三、实验材料和方法1. 材料:- Arduino开发板- 电阻、电容等基本电子元件- 电机或LED等输出设备- 连接线等实验器材2. 方法:1) 搭建PWM电路:根据实验要求,按照电路图连接电子元件和Arduino开发板。

2) 编写程序:使用Arduino开发环境,编写程序控制PWM输出信号的占空比。

3) 实验测试:将输出设备连接到PWM输出引脚,通过改变占空比,观察输出设备的变化。

四、实验结果和分析在实验中,我们搭建了一个基本的PWM电路,并使用Arduino开发环境编写程序来控制PWM输出信号的占空比。

通过改变占空比,我们观察到输出设备的亮度或转速发生了变化。

在实验过程中,我们发现当占空比较小时,输出设备的亮度或转速较低;而当占空比较大时,输出设备的亮度或转速较高。

这是因为占空比的变化直接影响了输出信号的电压或电流大小,从而改变了输出设备的工作状态。

PWM技术在实际应用中具有广泛的用途。

例如,它可以用于电机控制,通过调整占空比来控制电机的转速和方向;它还可以用于灯光控制,通过调整占空比来调节灯光的亮度;此外,PWM技术还可以应用于电源管理、音频处理等领域。

五、实验总结通过本次实验,我们深入了解了PWM技术的原理和应用。

实验3.9-PWM输出实验

实验3.9-PWM输出实验
二实验结果通过示波器可观察到不同占空比的pwm输出波形其载波频率占空比与程序中对控制寄存器的设置相关
瑞泰创新
基于DSP系统的实验 基于DSP系统的实验 DSP PWM输出实验 PWM输出实验
瑞泰创新
PWM输出实验 PWM输出实验
一、实验步骤
1.实验准备:连接实验设备,关闭实验箱上扩展模块和信号源电源 实验准备:连接实验设备, 开关。 开关。 2.设置Code Composer Studio 2.21在硬件仿真 .设置 在硬件仿真(Emulator)方式下运行。 方式下运行。 在硬件仿真 方式下运行 3.启动Code Composer Studio 2.21,选择菜单 .启动 ,选择菜单Debug→Reset CPU。 。 4.打开工程文件: .打开工程文件:
7.运行并观察结果 .
-单击“Debug”菜单,“Run”项,运行程序; 单击“ 菜单, 单击 菜单 项 运行程序; -观察示波器上的波形。 观察示波器上的波形。 观察示波器上的波形
8.束运行退出Leabharlann ode Composer studio。 .束运行退出 。
二、实验结果
通过示波器可观察到不同占空比的PWM输出波形,其载波频率、占空比 输出波形,其载波频率、 通过示波器可观察到不同占空比的 输出波形 与程序中对控制寄存器的设置相关。 与程序中对控制寄存器的设置相关。
瑞泰创新
5.编译、下载程序。 .编译、下载程序。 6.连接示波器: .连接示波器:
连接示波器探头的地线与实验箱右侧的测试点的DGND相连, 红表笔 相连, 连接示波器探头的地线与实验箱右侧的测试点的 相连 与测试点PWM1~4相连。 相连。 与测试点 相连 注意:如果使用的是 单板, 扩展口上的PWM输出引脚 注意:如果使用的是2812单板,请连接 扩展口上的 单板 请连接P1扩展口上的 输出引脚 做测量。 具体位置参考ICETEK-F2812-A评估板原理图。) 评估板原理图。 做测量。(具体位置参考 评估板原理图

实验5:PWM输出实验

实验5:PWM输出实验

CMP4A CMP4A CMP3A CMP3A CMP2A CMP2A CMP1A CMP1A CT1 CT0 CT1 CT0 CT1 CT0 CT1 CT0
比较器输出引脚CMPxACT1 | CMPxACT0的输 出方式:
00 强制低 01 有效低 10 有效高 11 强制高
三、实验原理
COMCONx— 比较控制寄存 器
ห้องสมุดไป่ตู้
三、实验原理
PWM电路功能框图:
非对称/对称波形发生器 可编程死区单元 输出逻辑 空间矢量(SV)PWM状态机
对称/不对称 波形 发生器 COMCONx【9】
比较 匹配 GPT1
MUX
死区 单元
DBTCONA 死区定时器 控制寄存器
输出 逻辑
ACTRA 完全比较方式 控制寄存器
PWM1 … PWM6
3个全比较PWM单元; 3个捕获单元; 正交编码电路(QEP);
三、实验原理
2.脉宽调制电路的PWM的特性
每个事件管理模块可同时产生8路PWM波形输出。
◆ 3个比较单元: 独立的3对 6路 ◆ 2个通用定时器: 比较产生2路独立的PWM输出
特性:
16位寄存器 有从0到16us的可编程死区发生器控制PWM输出对 在PWM频率的变动可根据需要改变PWM的载波频率 在每个PWM周期内和以后可根据需要改变PWM脉宽 外部可屏蔽的功率驱动保护中断 脉冲形式发生电路,用于可编程对称、非对称以及4个空 间矢量PWM波形产生 自动重装的比较和周期寄存器
2
x
三、实验原理
载波周期计算
SYSCLKOUT / 2x 载波频率 = TxPR
占空比计算
低电平有效:
CMPRx 占空比 =1TxPR

基于单片机的12位PWMDAC的设计

基于单片机的12位PWMDAC的设计

基于单片机的12位PWMDAC的设计首先,让我们来了解PWM(脉冲宽度调制)的概念。

PWM是一种将连续的模拟信号转换为离散的数字信号的技术。

它通过改变信号的脉冲宽度来实现对模拟信号的控制。

在PWM信号中,信号的频率是固定的,而占空比(脉冲宽度与周期的比值)决定了信号的幅值。

通过改变占空比,我们可以控制模拟信号的幅值,从而实现模拟输出的控制。

在本设计中,使用12位的PWMDAC,意味着我们的信号可以分为2^12=4096个离散的幅值。

换句话说,我们可以将模拟信号的幅值控制在0到4095之间的任意值。

为了实现这一设计,我们需要以下步骤:1. 选择合适的MCU:选择一款能够实现12位PWM输出的MCU。

常见的MCU如Arduino、Raspberry Pi等都能够实现这个功能。

2. 设置PWM输出:使用MCU的编程接口(如Arduino IDE)设置PWM输出的频率和占空比。

确保频率适合于应用,并且占空比的分辨率足够高,以便实现12位的精度。

3.创建占空比表:利用MCU的编程接口,在代码中创建一个占空比表。

表中的每个元素代表一个特定的占空比值,从0到4095、根据需要,可以在代码中设置不同的占空比表,以便在不同的应用中使用不同的幅值。

4.输出模拟信号:使用占空比表和PWM输出设置,将数字信号转换为模拟信号。

根据需要,在不同的时间段使用不同的占空比值,以实现特定的模拟信号输出。

上述的步骤可以基于MCU的编程接口进行实现。

使用编程语言(如C++或Python),可以编写代码,控制PWM输出和模拟信号的生成。

此外,可以利用MCU上的GPIO(通用输入输出引脚)来连接外部电路或设备,将模拟信号传递到需要控制的电路或设备中。

基于单片机的12位PWMDAC设计可以应用于许多领域,包括音频处理、电机控制和传感器信号处理等。

例如,在音频处理中,可以使用PWMDAC来控制音量、频率和音色等参数。

在电机控制中,可以使用PWMDAC来调节电机的转速和方向。

基于PWM的DAC实现

2PWM到DAC电压输出的电路实现根据图2的结构,图3是最简单的实现方式。

图3中,PWM波直接从MCU的PWM 引脚输出,该电路没有基准电压,只通过简单的阻容滤波得到DAC的输出电压。

R1和C 1的具体参数可根据式(2)的第2部分的一次谐波频率来选择,实际应用中一般选择图2中阻容滤波器的截止频率为式(2)的基波频率的1/4左右。

图3的PWM波的VH和VL受到MCU输出高低电平的限制,一般情况下VL不等于0 V,VH也不等于VCC。

例如,对于单片机AT89C52[2,3],当VCC为+5 V时,VH和VL分别为4.5 V和0.45 V左右,而且该数值随着负载电流和温度而变化。

根据式(2)的直流分量可知,DAC电压输出只能在0.45~ 4.5 V之间变化,而且随负载电流和环境温度变化,精度很难保证。

由于该电路的变化部分精度不高,没有必要采用高分辨率的PW M输出,8位即可。

另外图2的DAC输出的负载能力也比较差,只适合与具有高输入阻抗的后续电路连接。

因此,图3的电路只能用在对DAC输出精度要求不高、负载很小的场合。

对精度和负载能力要求较高的场合,需要对图3的电路进行改进,增加基准电压、负载驱动等电路。

图4的电路在图3电路的基础上增加了开关管T1、基准电压源LM3365和输出放大器TL V2472。

MCU从A点输出的PWM波驱动T1的栅极,T1按照PWM的周期和占空比进行开关。

T1为低导通电阻和开关特性好的开关管,如IRF530[4],其典型导通电阻小于0.16 Ω,而截止电阻却非常大,与T1并联的为基准电压LM3365。

图4的B点将得到理想的PWM波形,即:VH=5 V,VL=0 V,波形为方波。

A点的PWM波,经过整形得到B点理想PWM波,B点的PWM波再经过两级阻容滤波在C点得到直流分量,即M CU输出的调制PWM波在C点得到解调,实现了DAC功能。

根据式(2)可知,C点的电压为(5 ×n/N)V,为0~5 V之间的电压。

(1条消息)STM32学习之PWMDAC实验中的滤波电路部分元件参数的由来问题

(1条消息)STM32学习之PWMDAC实验中的滤波电路部分元件参数的由来问题在正点原子STM32利用PWM输出+RC滤波来实现一个DAC功能的实验中,有几个参数自己不是很理解,通过翻阅资料,百度等渐渐理解,现总结如下:(以下全是个人理解,如有不缜密的地方,还请阅读者见谅并指出)首先,我们得先明白为什么通过PWM输出+RC滤波能实现DAC 的功能,DAC的功能不用多说,看其名字就知道是数模转换器,也就是将一串数字信号,转换为对应的模拟信号。

比如我们在利用stm32做DAC实验中,如果我们的DAC是12位的,那么我们就可以看作将我们的0~3.3V间的电压分成了2的12次方,也就是4096份,那么我们由每一份对应的电压*我们输入的份数,那么就可以得到一个电压值,我们可以利用我们的ADC进行采集,就可以直接显示出来啦。

以上是对DAC的一个简单的介绍和理解,而这里我们用PWM输出+RC滤波是怎样实现DAC的功能的呢,我们就要回过去复习我们之前学习的PWM输出实验,在那个实验中(主函数代码如图1),我们通过在主函数中添加循环,设置PWM比较值,使得其占空比不断变化,从而实现在一个很快的周期里高低电平占比的变化,从而使人能看到灯从亮到暗,从暗到亮,我的理解如图2所示图1如图2 ,假如灯是从亮到暗(低电平亮),那么,PWM输出的波形的变化则为也就是说,我们通过在一个较快的频率的内改变PWM的占空比就可以将一个明明是间断数字的信号,在我们眼睛看起来就像一个连续变化的模拟信号。

图3 实际电路典型PWM波形对于这样一个PWM波,n为一个周期内的高电平的脉冲个数,N 为一个周期内的脉冲数。

它是一个周期函数,那么我们就可以得到它的傅里叶级数通过其傅里叶级数我们知道,在一个周期中,如果N一定,那么其直流分量与n有关,n越大,一个周期内的高电平所占的比例越大,那么我得到的直流分量就越大,所以,我们可以通过调节PWM的占空比,从而调节n的值,这样我们就可以输出不同大小的直流电压啦。

实验八:PWM输出实验

微控制器综合设计与实训实验名称:实验八PWM输出实验实验八:PWM输出实验1 实训任务(1) 开启TIM时钟,配置定时器通道对应IO口为复用输出;(2) 利用定时器的PWM输出功能产生波;(3) 通过调节占空比调节LED的亮度。

1.1 实验说明脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

简单一点,就是对脉冲宽度的控制。

STM32的定时器除了TIM6和7。

其他的定时器都可以用来产生PWM输出。

其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。

而通用定时器也能同时产生多达4路的PWM输出。

要使STM32的通用定时器TIMx产生PWM输出,除了上一实验的寄存器外,我们还会用到3个寄存器,分别是:捕获/比较模式寄存器(TIMx_CCMR1/2)、捕获/比较使能寄存器(TIMx_CCER)、捕获/比较寄存器(TIMx_CCR1~4)。

本实验仅利用TIM3的CH2产生一路PWM输出。

通过重映射TIM_CH2到PB5上,由TIM_CH2输出PWM来控制LED1的亮度。

1.2 实验步骤(1)在实训平台上将PB5连接LED灯;(2)编写timer.c与timer.h文件,实现通过重映射TIM_CH2到PB5上,由TIM_CH2输出PWM来控制LED1的亮度。

(3)编写main文件,编译成功;(4) 程序编译无误后下载到实训平台,观察LED亮度的变化:通过示波器观察输出的波形。

2 程序设计(1) 新建文件夹并命名为PWM输出实验,复制粘贴上一章的实验文件,将工程文件改名为PWM.uvprojx。

(2)timer.h文件只需再添加TIM3_PWM_Init的声明即可。

(3) 编写timer.c文件。

a. 开启TIM3时钟以及复用功能时钟置,配置PB5为复用输出要使用TIM3,必须先开启TIM3的时钟,使能GPIO外设和AFIO复用功能模块时钟。

一种基于PWM的更快速的DAC

一种基于PWM的更快速的DAC当你需要从一个不带数模转换器()的微控制器输出模拟信号时,你可以外加一个DAC芯片。

但是你也可以用另一种更经济的办法,即采纳脉宽调制()输出加低通(LPF)取其平均值的办法,该平均值等于PWM信号的占空比。

图1:用RC得到PWM信号的平均值RC低通滤波器滤除掉非直流信号,得到的便是平均信号UOUT。

假如PWM 信号的周期T为63个时钟周期,UOUT将会是64个离散DC值之一。

(0 到 63,6位辨别率。

)RC低通滤波器的时光常数τ必需足够大以平滑输出信号UOUT,纹波?UOUT应小于一个最低有效位(LSB)。

最坏的状况浮现在50% 占空比时(2所示)。

当τ远大于周期T时,的充电IC 和变幻?UOUT可近似为:对于一个6位的DAC,?UOUT应小于 VCC/64,要求滤波器的τ=RC ≥16·T。

图2:滤波输出(蓝色)的纹波应小于一个LSB一些有用数据:低功耗微处理器常用法一个32768Hz晶体作为PWM模块的时钟信号。

假如是6位PWM,则周期T为64/32768≈2ms,因此需要32ms的时光常数,也就是要等待5τ(160ms)来使6位转换器稳定。

十分慢。

本设计实例将呈现你如何才干加速完成信号的转换。

微控制器中的PWM模块通常可以产生多个PWM信号。

我们来考虑一下将两个基于PWM的3位DAC(DACH和DACL)的输出求和,求和前DACL 输出的幅度被减小到了八分之一。

得到的信号相当于一个6位DAC,但将会比容易版本有重大的优势:周期T对于相同的辨别率仅为8个时钟周期,而所需的时光常数τ是本来的八分之一,DAC的稳定时光快了8倍。

这样改进后就很简单用为两个PWM信号(PWMH、PWML)实现RC滤波器:图3:将两个基于PWM的DAC输出合到一起输出信号UOUT等于:这一技术已经在TI F5132微控制器中实现:图4:基于6位(3+3)PWM的DAC的初始化和写入代码图5:基于6位PWM的DAC测量输出;蓝线:图1计划(稳定时光160ms);紫线:图3计划(稳定时光20ms)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、摘要
S3C2410处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。

本实验是基于S3C2410综合实验平台上实现利用PWM DAC单个电压值输出以及实现输出波形线性调频。

通过按键实现改变PWM的占空比实现单个电压输出变化;通过控制程序实现DAC的线性调频波形输出。

用示波器观察输出波形,测量峰值电压。

用频谱仪测量线性调频谱线,观察线性调频现象。

二、设计要求与任务
1、正弦波形的起始频率可以自己指定,带宽100Hz,时宽10

2、正弦波形的峰峰电压值为3V
3、能观察到线性调频现象
要求完成的主要任务:
1、与同组同学一起指定课程设计计划,并进行合理分工。

2、使用S3C2410A的TOUT0口输出PWM信号实现单个电压
值的DA输出,用万用表对电压值进行测量和校准,记录
PWM和DA输出的对应关系。

3、在2的基础上,编写程序实现DAC的线性调频波形输出。

用示波器观察输出波形,测量峰值电压是否正确。

用频谱
仪测量线性调频谱线,观察线性调频现象,查看是否满足
设计要求。

调整参数,产生不同参数线性调频波形。

4、整理数据资料,独立撰写综合实验、设计说明书。

5、要求:描述利用PDW实现DA输出的原理,要有图和计
算;详细的程序设计描述,要求有参数计算过程描述、流
程图、寄存器设置描述、数据设计描述等;各实验要给出
步骤、实验结果要有图、表和分析说明;对设计和实验进
行总结;文档结构清晰、文字要通顺。

三、实验设备
硬件:
PC机1台
MagicARM2410教学实验开发平台1台
软件:
Windows 98/2000/XP操作系统
ADS 1.2集成开发环境
四、实验原理
1、脉冲宽度调制(PWM)是一种对模拟信号电平进行数字
编码的方法。

通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。

PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。

电压或电流源是以一种通(ON)或断
(OFF)的重复脉冲序列被加到模拟负载上去的。

通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。

只要带宽足够,任何模拟值都可以使用PWM进行编码。

S3C2410A具有4路PWM输出,输出口分别为TOUT0~TOUT3,其中两路带有死区控制功能。

为了能够正确输出PWM 信号,需要正确设置GPBCON寄存器选择相应I/O的为TOUTx 功能。

然后,通过TCFG0寄存器为PWM定时器时钟源设置预分频值,通过TCFG1寄存器选择PWM定时器时钟源。

接着,通过TCNTB0寄存器设置PWM周期,通过TCMPB0设置PWM 占空比。

最后,通过TCON寄存器启动PWM定时器,即可输出PWM信号。

其框图如下图:
PWM 操作时序图为:
电路图1:
2、S3C2410A 的总线时钟Z MH fclk 200=;设置定时器0时钟分频
为:1:2:4即Z MH fclk 504/200==;在取1/2分频即Z MH fclk 252/50==;在通过设置rTCMPB0设置占空比;设置rTCNTB0设置周期;设计要求带宽为100Hz ,则设置rTCNTB0为255,这样Z H M PWMflclk 100255
25≈=。

A 、现在以0.5v 为一个级次;那么对应占空比值:
∆PWM_dac=392553.35.0=⨯v
v ; PWM_dac= PWM_dac+∆PWM_dac
=PWM_dac+39;
这样如图1;当按下KEY1电压值增加0.5v ,当达到3v 后又回到0v 。

这样实现了单个电压值的输出。

B 、输出一个峰值电压为3v 的正弦信号: ()()ϕπ+=t f A t y 02sin
所以A=3,为了方便取ϕ=0;为满足Nyuist 定理取采样频率010f f s =;则:
()⎪⎪⎭
⎫ ⎝⎛+=ϕπn f f A n y s 02sin ;N n ∈; ()⎪⎭
⎫ ⎝⎛⨯=n n y 5sin 3π; 这样通过控制n 时间间隔即可控制输出的正弦信号的周期。

C 、正弦信号线性调频
线性调频信号是指频率随时间而线性改变(增加或减少)的信号。

线性调频的瞬时频率()t f 呈线性变化:()kt t f f +=0,其中f 0表示时
间等于零时的频率,k 表示频率改变的速率,当k>0时,频率递增,k<0则递减。

在B 的基础上实现线性调频即:
在()()ϕπ+=t f A t y 02sin 实现调频即是角度变化随时间的变化成线性:
ϕθ+=kt dt
d ; ηϕθ++==⎰t kt ktdt t 22
1;同样取
0;0==ηϕ;
221⎪⎪⎭⎫ ⎝⎛=s n f n k θ; ()⎪⎪⎭
⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛=221sin 3s f n k n y ; 同样只需给定n 的时间间隔以及k 值。

当k>1,频率线性增大,k<1,频率线性减小。

从示波器上观察可以看到波形逐渐变化。

五、 实验流程图以及程序
程序见附件。

六、 实验步骤
(1) 启动ADS 1.2,使用ARM Executable Image for DeviceARM2410工程模板建立一个工程PWMDAC 。

(2) 在工程src组中的main.c中编写实验代码。

(3) 选用DebugRel生成目标,然后编译链接工程。

(4) 将MagicARM2410实验箱上的PWM DAC电路的跳线JP11短接。

(5) 选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。

(6) 全速运行程序,使用万用表测量PWMDAC测试点的输出电压值。

a、按下独立按键KEY1,观察电压值的改变是否正确。

b、按下功能键,用示波器观察输出波形,并记录实验现象。

c、再次按下功能键、用示波器和频谱仪观察输出波形和实验现象并记录。

重复上述步骤观察实验现象。

七、实验数据以及现象(另附页)
八、实验总结与心得
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。

通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。

本设计利用PWM DAC输出线性调频波形设计,正弦波形的起始频率自己指定为10HZ,带宽100Hz,时宽10秒,正弦波形的峰峰电压值为3V,使用S3C2410A的TOUT0口输出PWM 信号实现单个电压值的DA输出。

最后,根据上述理论完成相应的数据计算。

相关文档
最新文档