JX44B0实验系统教案 PWM实验 武汉创维特信息技术有限公司 2018/12/29
提纲 实验目的 1 2 实验内容 3 预备知识 4 实验设备 5 基础知识 6 实验过程 7 实验报告要求
一 实验目的 实验目的 了解PWM的基本原理 掌握PWM控制的编程方法
实验内容 二 实验内容 编写程序对PWM控制器输出8000Hz 2/3占空比的数字信号控制峰鸣器 编写程序改变PWM控制器输出频率 二 实验内容 实验内容 编写程序对PWM控制器输出8000Hz 2/3占空比的数字信号控制峰鸣器 编写程序改变PWM控制器输出频率 编写程序改变PWM控制器输出占空比
三 预备知识 预备知识 了解ADT集成开发环境的基本功能 了解PWM的基本原理以及用途
四 实验设备 实验设备 JX44B0教学实验箱 ADT1000仿真器和ADT IDE集成开发环境 串口连接线
脉宽调制- PWM 五 基础知识 脉宽调制(PWM)就是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 五 基础知识 脉宽调制- PWM 脉宽调制(PWM)就是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 广泛应用在从测量、通信到功率控制与变换的许多领域中。 PWM从处理器到被控系统信号都是数字式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。
五 基础知识 脉宽调制- PWM PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。 PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。 电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。
PWM信号 五 基础知识 供电电压为9V 占空比为10%的PWM输出 0.9V的模拟信号 占空比为50%的PWM输出 4.5V的模拟信号 五 基础知识 PWM信号 供电电压为9V 占空比为10%的PWM输出 0.9V的模拟信号 占空比为50%的PWM输出 4.5V的模拟信号 占空比为70%的PWM输出 6.3V的模拟信号
接通时间、周期、占空比和调制频率 五 基础知识 以上页例子为例,接通时间为灯泡点亮时间 周期为一次通断的时间 占空比是接通时间与周期之比 五 基础知识 接通时间、周期、占空比和调制频率 以上页例子为例,接通时间为灯泡点亮时间 周期为一次通断的时间 占空比是接通时间与周期之比 调制频率为周期的倒数。要想取得调光灯(保持点亮)的效果,必须提高调制频率。通常调制频率为1kHz到200kHz之间。
五 基础知识 PWM硬件控制器 许多微控制器内部都包含PWM控制器。一般都可以选择接通时间和周期。占空比是接通时间与周期之比;调制频率为周期的倒数。具体的PWM控制器在编程细节上会有所不同,但它们的基本思想通常是相同的。执行PWM操作之前,微处理器要求在软件中完成以下工作: 设置提供调制方波的片上定时器/计数器的周期; 在PWM控制寄存器中设置接通时间; 启动定时器。
五 基础知识 S3C44B0的PWM控制器 S3C44B0处理器有6个16位定时器,其中定时器0/1/2/3有PWM脉冲输出功能
五 基础知识 S3C44B0的PWM控制器 定时器0和定时器1使用相同的分频器,但他们的计数器以及控制器是各自独立的,定时器2/3、定时器4/5情况相同,各定时器的精度见下表:
五 基础知识 S3C44B0定时器有关的寄存器 PWM定时器配置寄存器 PWM定时器初值计数器以及比较计数器 PWM定时器控制寄存器
五 基础知识 PWM定时器配置寄存器
五 基础知识 PWM定时器初值计数器以及比较计数器
五 基础知识 PWM定时器控制寄存器
五 基础知识 实验说明 本实验通过PWM控制器控制峰鸣器的发声,通过修改rTCNTB0和rTCMPB0设置输出的频率和占空比。rTCNTB0用于设置输出频率,其值的计算公式如下: div = MCLK / {prescaler value + 1} / {divider value}/freq {prescaler value} = 0-255 由rTCFG0设定 {divider value} = 2, 4, 8, 16, 32 由rTCFG1设定 通过设置rTCMPB0寄存器调整占空比(rate),公式如下: value = div * rate /*{rate} < 1*/
五 基础知识 编程改变输出的频率 rTCFG0=0xFF; /* 设置定时器的预分频率值:TIME0/1=255, TIME2/3=0, TIME4/5=0 */ rTCFG1=0x1; /* 设置定时器的工作模式:中断模式*/ /* 设置定时器的分频率值:TIME0为1/4,其他为1/2*/ /* 输出脉冲:频率从4000HZ到14000HZ, 使用2/3的占空比 */ for ( freq = 4000; freq < 14000; freq+=1000 ) { div = (MCLK/256/4)/freq; rTCON=0x0; rTCNTB0= div; rTCMPB0= (2*div)/3; rTCON=0xa; /* 手工装载定时器的计数值 */ rTCON=0x9; /* 启动定时器*/ for( index = 0; index < 100000; index++); rTCON=0x0; /* 延时并停止定时器 */ }
五 基础知识 编程改变输出的占空比 div = (MCLK/256/4)/8000;/* 输出频率8000HZ, 使用1/100 - 95/100的占空比 */ for ( rate = 1; rate < 50; rate += 5 ) { rTCNTB0= div; rTCMPB0= (rate*div)/50; /* 修改占空比 */ rTCON=0xa; /* 手工装载定时器的计数值 */ rTCON=0x9; /* 启动定时器*/ for( index = 0; index < 100000; index++); rTCON=0x0; /*延时并关闭定时器 */ for( index = 0; index < 10000; index++); }
六 实验过程 实验过程
六 实验报告要求 实验报告要求 简述PWM的原理和应用; 纪录实验结果,描述S3C44B0的控制方法。