PWM---专用信号发生器-何斌1
- 格式:doc
- 大小:975.00 KB
- 文档页数:55
1.PWM信号概述脉冲宽度调制(PWM)信号广泛使用在电力变流技术中,以其作为控制信号可完成DC-DC变换(开关电源)、DC-AC变换(逆变电源)、AC-AC变换(斩控调压)与AC-DC变换(功率因数校正)。
产生PWM信号的方法有多种,现分别论述如下:1)普通电子元件构成PWM发生器电路基本原理就是由三角波或锯齿波发生器产生高频调制波,经比较器产生PWM信号。
三角波或锯齿波与可调直流电压比较,产生可调占空比PWM信号;与正弦基波比较,产生占空比按正弦规律变化的SPWM信号。
此方法优点就是成本低、各环节波形与电压值可观测、易于扩展应用电路等。
缺点就是电路集成度低,不利于产品化。
2)单片机自动生成PWM信号基本原理就是由单片机内部集成PWM发生器模块在程序控制下产生PWM 信号。
优点就是电路简单、便于程序控制。
缺点就是不利于学生观测PWM产生过程,闭环控制复杂与使用时受单片机性能制约。
3)可编程逻辑器件编程产生PWM信号基本原理就是以复杂可编程逻辑器件(CPLD)或现场可编程门阵列器件(FPGA)为硬件基础,设计专用程序产生PWM信号。
优点就是电路简单、PWM频率与占空比定量准确。
缺点就是闭环控制复杂,产生SPWM信号难度大。
4)专用芯片产生PWM信号就是生产厂家设计、生产的特定功能芯片。
优点就是使用方便、安全,便于应用到产品设计中。
缺点就是不利于学生观测PWM产生过程与灵活调节各项参数。
2.电子元件构成PWM发生器电路图1电子元件构成PWM发生器电路3.集成芯片SG3525构成PWM发生器电路一、PWM信号发生电路说明实验电路中,驱动开关管的PWM信号由专用PWM控制集成芯片SG3525产生(美国Silicon General公司生产),PWM信号发生器电路如图2所示。
图2 PWM信号发生器电路图SG3525采用恒频脉宽调制控制方案,内部包含有精密基准源、锯齿波振荡器、误差放大器、比较器、分频器与保护电路等。
文献综述毕业设计题目: PWM信号发生器设计PWM信号发生器文献综述(电子信息工程10(1)班E10610119)1前言PWM(Pulse Width Modulation)又称脉冲宽度调制,属于脉冲调制的一种,即脉冲幅度调制(PAM)、脉冲相位调制(PPM)、脉冲宽度调制(PWM)和脉冲编码调制(PCM)。
它们本来是应用于电子信息系统和通信领域的一种信号变换技术,但从六十年代中期以来后,随着电力电子技术被引入到电力变换领域,PWM技术广泛运用于各种工业电力传动领域乃至家电产品中[1]。
信号发生器又称波形发生器,是一种常用的信号源,被广泛地应用于无线电通信、自动测量和自动控制等系统中。
传统的信号发生器绝大部分是由模拟电路构成,借助电阻电容,电感电容、谐振腔、同轴线作为振荡回路产生正弦或其它函数波形。
频率的变动由机械驱动可变元件完成,当这种模拟信号发生器用于低频信号输出往往需要的RC值很大,这样不但参数准确度难以保证,而且体积和功耗都很大,而由数字电路构成的低频信号发生器,虽然其低频性能好但体积较大,价格较贵。
在今天,随着大规模集成电路和信号发生器技术的发展,许多新型信号发生器应运而生。
用信号发生器并配置适当接口芯片产生程控正弦信号,则可替代传统的正弦信号发生器,从而有利于测试系统的集成化、程控化和智能仪表的多功能化。
而信号发生器的最大特点是面向控制,由于它集成度高、运算速度快、体积小、运行可靠、价格低,因此在数据采集、智能化仪器等技术中得到广泛的应用,从而使得信号发生器的应用成为工程技术多学科知识汇集的一个专门研究领域,其应用产生了极高的经济效益和社会效益[2]。
2 PWM信号发生器的发展与现状2.1信号发生器的发展单片微型计算机简称信号发生器,是指集成在一块芯片上的计算机,信号发生器的产生与发展和微处理器的产生与发展大体同步,自1971年美国Intel公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段:第1阶段(1971~1976):信号发生器发展的初级阶段。
pwm的工作原理
PWM(脉宽调制)是一种常用的电子控制技术,它通过控制信号的脉冲宽度来变化输出信号的平均功率。
PWM主要适用于需要精确控制电压、电流或者频率的应用。
其工作原理可以简单描述如下:
1. 信号发生器:PWM的工作原理首先需要一个信号发生器来产生一定频率的方波信号。
这个信号发生器可以是一个晶体振荡器或者其他的任意信号源。
2. 采样:信号发生器产生的方波信号需要经过一个采样电路来进行采样。
采样电路可以是一个比较器,它将方波信号与一个可调的参考电压进行比较。
3. 脉宽控制:比较器的输出信号将进一步通过一个脉宽控制电路进行处理。
脉宽控制电路通常是一个可调的计数器或者定时器。
它根据输入信号的脉冲宽度来控制计数器或者定时器的工作时间。
4. 输出:最后,脉宽控制电路的输出信号将被送入一个功率放大器,用来驱动需要控制的载体。
功率放大器的输出信号即为PWM的最终输出信号。
PWM的工作原理可以通过改变方波信号的脉冲宽度来控制输出信号的平均功率。
通常情况下,脉冲宽度与占空比成正比。
当脉冲宽度增大时,占空比也就增大,输出信号的平均功率也相应增大。
相反,当脉冲宽度减小时,占空比减小,输出信号
的平均功率也减小。
总的来说,PWM的工作原理是通过改变方波信号的脉冲宽度
来控制输出信号的平均功率。
这种控制方法的优点是节省能量、减小功率损耗,并且能够精确控制信号的特性。
在很多电子设备中,PWM被广泛应用于电机控制、光电调光、音频放大以
及电源管理等领域。
基于STC15在线式PWM信号发生器的设计
胡飞;吕勇飞;汪宏鹏;张盛博
【期刊名称】《电脑知识与技术:学术版》
【年(卷),期】2022(18)28
【摘要】为提供电子测试领域中需要频率与占空比随时间变化的测试信号,设计了一款基于STC15的在线式PWM信号发生器;信号发生器以STC15W4K32S4微控制器为核心,通过串行通信接口与上位机连接,基于PyQt5+Pyserial设计可视化的上位机界面,可根据测试计划输入信号参数以及运行时间,信号发生器则根据预设时间输出不同参数的PWM信号,亦可通过按键离线调整运行参数,OLED显示当前运行参数,方便用户查看;经测试,PWM输出在10Hz~100KHz范围内精度均满足要求,目前此设备已应用于实际汽车电子测试场合并取得良好反馈。
【总页数】4页(P1-3)
【作者】胡飞;吕勇飞;汪宏鹏;张盛博
【作者单位】芜湖职业技术学院信息与人工智能学院;温州北工汽车电器有限公司;光机电一体化应用技术协同创新中心
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于 STM32 PWM 的正弦信号发生器设计
2.基于FPGA+PWM的多路信号发生器设计
3.基于FPGA的舵机调速PWM信号发生器设计与实现
4.基于FPGA的
正弦波PWM信号发生器的设计5.基于STM32的高精度PWM信号发生器的设计
因版权原因,仅展示原文概要,查看原文内容请购买。
EDA学院:电气学院班级:电科1班学号:***********姓名:***实验三PWM信号发生器的设计1.实验目的(1)进一步熟悉掌握Quartus II。
(2)进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的应用。
(3)学习和掌握VHDL进程语句和元件例化语句的使用。
2.实验内容设计并调试好PWM信号发生器电路PWM.VHD,并用GW48-CK或其他EDA实验开发系统进行硬件验证。
3.实验条件(1)开发软件:Quartus II。
(2)实验设备:GW48-CKEDA实验开发系统。
(3)拟用芯片:EP2C8Q208C8N。
4.实验设计1)系统原理框图为了简化设计并便于显示,本信号发生器电路PWM的设计分为两个层次,其底层电路可,再由包括两个完全相同的加载加法计数器LCNT8而成。
PWM 电路学 !»|\ System (27) Processing (9) fy Extra Info \ Info (9) \ Warnrg \ Critical V /arnng 入 Error 入 Stppresied 入 Flag /C |M essag© 0<rf 16~—土土J[T =2) VHDL 程序PWM 信号发生器的底层和顶层电路均采用VHDL 文本输 入,有关VHDL 程序如下。
加载加法计数器LCNT8的VHDL 源程序:LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL; ENTITY LCNT8 ISPORT(CLK,LD:IN STD_LOGIC; D:IN INTEGER RANGE 0 TO 255; CAO:OUT STD 一LOGIC); END ENTITY LCNT8;ARCHITECTURE ART OF LCNT8 ISSIGNAL COUNT:INTEGER RANGE 0 TO 255; BEGINIF CLKEVENT AND CLK= 1 THEN IF LD=1THEN COUNTED;Cyclon® II EP2C5Q20eC8 •淼 PWfl•说 ITFT8 VI以 LCFT8 U2cbIn:pr:Fil妝ZB OO hHl«o$ <fels-kc QE典K BpLCMT8.U2SPWLCMT8U1CCLRTypeInessageV. w w.wInCo: Coximand: quactus_slu --cead_3ettmgs_£iles=on --wcite_setting3_Ciie3=oC£ pum -c pwu Info: Using vector source rile ”C"Documents and Settirigs/Ovner/jftffi/maa/pwn/pim.vur. Into: Option to pcesecve fewer signal transitions co reduce mexxory requicenents is enabled Into: Simulation partitioned into 1 sub-3imulations Info: Simulation coverage is 77.33 %Info: Munbec of transitions m simulation is 50002Inco: Quactus II Smulacor was successful. 0 errors, 0 uatnmgs5ELSE COUNT<=COUNT+1;END IF;END IF;END PROCESS;PROCESS(COUNT) ISBEGINIF COUNT=255 THEN CAO<=1;ELSE CAO<=0END IF;END PROCESS;END ARCHITECTURE ART;PWM信号发生器的VHDL源程序:LIBRARY IEEE;USE IEEE.STD LOGIC 1164.ALL;ENTITY PWM ISPORT(CLK:IN STD_LOGIC;A,B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);PWM:OUT STD_LOGIC);END ENTITY PWM;ARCHITECTURE ART OF PWM ISCOMPONENT LCNT8 ISPORT(CLK,LD:IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CAO:OUT STD.LOGIC);END COMPONENT LCNT8;SIGNAL CAO 1 ,CAO2:STD_LOGIC;SIGNAL LD1,LD2:STD一LOGIC;SIGNAL SPWM:STD_LOGIC;BEGINU1:LCNT8 PORT MAP(CLK=〉CLK,LD=〉LD1,D=〉A,CAO=〉CAO1); U2:LCNT8 PORT MAP(CLK=〉CLK,LD=〉LD2,D=〉B,CAO=〉CAO2); PROCESS(CAO 1,CAO2)ISBEGINIF CAO 1=4'THEN SPWM<=,0,;ELSIF CAO2,EVENTAND CAO2=TTHEN SPWM<=,1,;END IF;END PROCESS;LD1<=NOTSPWM;LD2<=SPWM;PWM<=SPWM;END ARCHITECTURE ART;Type Message3)工程编译后:Info: Cox&xand: quactus^sim --read_secting3_Cile3=on --ucite_settlngs_Clles=oCC pun -c pum Info: Using vector source file M C:/Docu»encs andSetcings/Oroer/iftffi/nlua/pvuQ/pwu.vtrf M Into: Option to preserve Cewer signal transitions to reduce aeaoty tequiceaents is enabled Into: SiwUacion partitioned into 1 sub-simulationsInfo: Sluulacion coverage Is 77.33 kInfo: Munhec of transitions In simulation is 50002Info: Quactus II Sntulatoc va3 successful. 0 errotSy 0 warningso \ System (27)入 Processing (9)人 EWraInf 。
一、题义分析及解决方案1.1、课程设计名称及内容:用STAR ES598PCI单板开发机,设计一款PWM信号产生器,要求能产生频率和占空比可调的PWM信号,采用按键调节频率和占空比。
设计要求:(1)频率可调范围为1KHZ-100KHZ;(2)预置生成的频率为20KHZ,占空比为50%;(3)频率调节采用两个按键,分别为加和减,步进值为10KHZ;(4)占空比调节采用两个按键,分别为加和减,步进值为10%;(5)生成的频率信号可以由示波器观察;(6)同时显示当前频率值和占空比的值。
1.2、题意需求分析根据本设计给定的内容和要求,可以得出以下结论:本设计中需要用到的主要有两种芯片,一种用来扫描处理按键,另一种则用来调节PWM信号的频率和占空比,并作为计时器使用,最后是用于显示的七段LED数码显示管和示波器。
其中最核心的是要实现频率和占空比的调节,占空比就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比,故改变占空比需要通过改变时钟脉冲中高电平的脉冲宽度来实现。
频率则是周期的倒数,若要改变频率,则需改变脉冲的时钟周期。
这里我们考虑到要用到可编程计数器8253的方式0和方式1,8253中方式0时一次中断计数,方式1是可编程触发器,我们用方式的OUT0的输出低电平来触发方式1的GATE1信号的高电平,此时我们将计算出的高低电平计数初值再次循环装入,这样我们便实现了改变输入的电压高电平,即实现了占空比的调节。
由于8253的方式0只是实现一次计数,如果不重新装入初值就不会再次触发,所以要实现频率的调节只需要每次都循环装入初值就可以了。
根据题意分析可知,该实验需设置四个按键,分别用来实现加减频率和占空比,故需用到输入数据的工具和与其配套使用可以实现扫描处理按键功能的芯片,分别用来输入数据和处理按键。
最后需要的便是实现显示功能的LED数码显示管和示波器,其中LED数码显示管的前四位是用来显示频率的数值,后四位用来显示占空比的数值,示波器则用来显示脉冲波形和步进值的。
实验2—占空比可调的PWM信号发生器第一篇:实验2—占空比可调的PWM信号发生器实验2占空比可调的PWM信号发生器一、实验任务基本部分:(1)用51单片机设计一个周期固定且占空比可调的PWM信号发生器。
(2)参数要求:a、信号周期为20ms,占空比范围1%-100%可调;b、用两个按键分别调整增量或减量;增量级别分为±1%和±5%两档可调,且要求可用按键选择;c、要求用两位LED数码管实时显示当前的占空比;d、51单片机晶振频率为12MHz。
扩展部分:(1)在基本部分设计的电路中,为输出的PWM信号增加光耦隔离输出电路;(2)为占空比调整过程增加超界声光报警电路;(3)可否改为脉宽固定而周期可改变的PWM信号发生器(简略说明,不要求设计编程)。
二、实验要求1、在PROTEUS中画出硬件设计图(AT89C51、12MHz晶振震荡电路、复位电路、按键调整电路、LED数码管显示电路、扩展部分电路)。
2、按任务要求用汇编或C编写程序并编译通过。
3、在PROTEUS下仿真通过。
三、报告要求1、任务分析、实现方案和程序流程图;2、硬件电路图;3、全部程序清单;4、打印出实验报告。
第二篇:信号发生器设计(推荐)模拟课程设计题信号发生器设计设计一个能够输出正弦波、三角波和矩形波的信号源电路,电路形式自行选择。
输出信号的频率可通过开关进行设定,具体要求如下:(1)输出信号的频率范围为100~800Hz,步进为100Hz。
(60分)(2)要求输出信号无明显失真,特别是正弦波信号。
(30分)评分标准:(1)范围满足设计要求得满分,否则酌情扣分。
(2)输出信号无明显失真可满分,有明显失真酌情扣分。
发挥部分(附加10分):进一步扩大输出信号范围和减小步进频率。
第三篇:VHDL实验四函数信号发生器设计.VHDL实验四:函数信号发生器设计设计要求:设计一个函数信号发生器,能产生方波,三角波,正弦波,阶梯波。
(19)中华人民共和国国家知识产权局(12)实用新型专利(10)申请公布号CN205584152U(43)申请公布日 2016.09.14(21)申请号CN201620232161.8(22)申请日2016.03.24(71)申请人北京群菱能源科技有限公司地址101111 北京市亦庄经济技术开发区科创十四街99号7幢1单元1201室(72)发明人姚海强;张进滨;姚承勇(74)专利代理机构北京远大卓悦知识产权代理事务所(普通合伙)代理人史霞(51)Int.CI权利要求说明书说明书幅图(54)发明名称一种用于测试的交流充电桩PWM信号发生器(57)摘要本实用新型公开了一种用于测试的交流充电桩PWM信号发生器,主要用于电动汽车互操作性测试,用于交流充电桩PWM信号仿真输出,实现电动汽车对充电桩线缆载流量、充电桩输出能力进行判断,同时用于仿真交流充电桩输出PWM信号占空比超限、频率超限等故障仿真。
该发生器包括壳体;操作显示模块,包括占空比显示模块、频率显示模块、与占空比显示模块对应的占空比调节模块、与频率显示模块对应的频率调节模块,其中,占空比调节模块和频率调节模块均包括自动调节单元和手动调节单元;PWM信号输出模块,操作显示模块将占空比显示模块和频率显示模块中的数据信息传给PWM信号输出模块,PWM信号输出模块输出PWM占空比和频率。
法律状态法律状态公告日法律状态信息法律状态2016-09-14授权授权权利要求说明书一种用于测试的交流充电桩PWM信号发生器的权利要求说明书内容是....请下载后查看说明书一种用于测试的交流充电桩PWM信号发生器的说明书内容是....请下载后查看。
单片机PWM信号发生器的原理与设计引言在现代电子技术中,脉冲宽度调制(PWM)信号发生器被广泛应用于各种电路和系统中。
单片机作为常见的嵌入式系统解决方案,具备了成本低、功耗低、可编程性强等优势,因此被广泛用于PWM信号发生器设计中。
本文将介绍单片机PWM 信号发生器的原理与设计。
一、PWM信号发生器的原理1.1 脉冲宽度调制(PWM)概述脉冲宽度调制(PWM)是一种将模拟信号转换为数字信号的技术。
PWM信号由连续的短脉冲组成,其脉冲的宽度可以根据需要进行调整。
通过改变脉冲信号的宽度与周期之比,可以模拟出不同的模拟信号输出。
1.2 PWM信号发生器的基本原理PWM信号发生器的基本原理是通过控制脉冲的宽度和周期,实现对输出波形的精确控制。
单片机通常具有定时器模块,通过定时器模块的特定设置,可以生成精确的脉冲信号。
单片机还需要连接输出引脚,将生成的PWM信号输出给外部电路。
二、单片机PWM信号发生器的设计2.1 硬件设计单片机PWM信号发生器的硬件设计包括选择合适的单片机、外部电路连接和输出端口设计。
首先,选择适合的单片机。
考虑到PWM信号发生器需要高精度、可编程性强的特点,可以选择带有定时器模块的单片机。
常见的单片机型号有ATmega系列、PIC系列等。
根据实际需求选择合适的型号。
其次,进行外部电路连接。
通常需要连接电源、晶体振荡器以及输出端口。
电源提供电压稳定源,晶体振荡器提供时钟信号。
输出端口需要连接到PWM信号的目标设备上。
最后,进行输出端口设计。
根据实际需求确定输出端口的数量和类型。
常用的输出接口有GPIO、PWM输出等。
根据单片机型号和外部电路要求进行设计。
2.2 软件设计单片机PWM信号发生器的软件设计包括定时器设置和PWM生成代码编写。
首先,进行定时器设置。
根据单片机型号和需求,设置定时器的时钟源、分频系数、计数模式等参数。
通过合理的定时器设置,可以实现精确的脉冲宽度和周期控制。
其次,编写PWM生成代码。
PWM信号发⽣器(verilog)module pwmgen(clk,rst,ce,addr,write,wrdata,read,bytesel,rddata,pwm); input clk,rst,ce;input [1:0]addr;input write,read;input[31:0]wrdata;output[31:0]rddata;input[31:0]bytesel;output pwm;reg[31:0]clk_div_reg,duty_cycle_reg;reg control_reg;reg clk_div_reg_sel,duty_cycle_reg_sel,control_reg_sel;reg[31:0]pwm_cnt,rddata;reg pwm;wire pwm_ena;//地址译码always@(addr)beginclk_div_reg_sel<=0;duty_cycle_reg_sel<=0;control_reg_sel<=0; case(addr)2'b00:clk_div_reg_sel<=1;2'b01:duty_cycle_reg_sel<=1;2'b10:control_reg_sel<=1;default:beginclk_div_reg_sel<=0;duty_cycle_reg_sel<=0;control_reg_sel<=0;endendcaseend//时钟寄存器always@(posedge clk or negedge rst)beginif(rst==1'b0)clk_div_reg=0;elsebeginif(write & ce & clk_div_reg_sel)beginif(bytesel[0])clk_div_reg[7:0]=wrdata[7:0];if(bytesel[1])clk_div_reg[15:8]=wrdata[15:8];if(bytesel[2])clk_div_reg[23:16]=wrdata[23:16];if(bytesel[3])clk_div_reg[31:24]=wrdata[31:24];endendend//周期占空⽐寄存器always@(posedge clk or negedge rst)beginif(rst==1'b0)duty_cycle_reg=0;elsebeginif(write&ce&duty_cycle_reg_sel)if(bytesel[0])duty_cycle_reg[7:0]=wrdata[7:0];if(bytesel[1])duty_cycle_reg[15:8]=wrdata[15:8];if(bytesel[2])duty_cycle_reg[23:16]=wrdata[23:16];if(bytesel[3])duty_cycle_reg[31:24]=wrdata[31:24];endendend//控制寄存器always@(posedge clk or negedge rst)beginif(rst==1'b0)control_reg=0;elsebeginif(write & ce & control_reg_sel)beginif(bytesel[0])control_reg=wrdata[0];endendend//读寄存器always@(addr or read or clk_div_reg or duty_cycle_reg or control_reg or ce) beginif(read & ce)case(addr)2'b00:rddata<=clk_div_reg;2'b01:rddata<=duty_cycle_reg;2'b10:rddata<=control_reg;default:rddata=32'h8888;endcaseendassign pwm_en=control_reg;//计数控制电路always@(posedge clk or negedge rst)beginif(rst==1'b0)pwm_cnt=0;elsebeginif(pwm_en)beginif(pwm_cnt>=clk_div_reg)pwm_cnt<=0;elsepwm_cnt<=pwm_cnt+1;endelsepwm_cnt<=0;endend//输出控制寄存器always@(posedge clk or negedge rst)beginif(rst==1'b0);elsebeginif(pwm_en)if(pwm_cnt<=duty_cycle_reg) pwm<=1'b1;elsepwm<=1'b0;endelsepwm<=1'b0;endendendmodule。
一、题义分析及解决方案1.1、课程设计名称及内容:用STAR ES598PCI单板开发机,设计一款PWM信号产生器,要求能产生频率和占空比可调的PWM信号,采用按键调节频率和占空比。
设计要求:(1)频率可调范围为1KHZ-100KHZ;(2)预置生成的频率为20KHZ,占空比为50%;(3)频率调节采用两个按键,分别为加和减,步进值为10KHZ;(4)占空比调节采用两个按键,分别为加和减,步进值为10%;(5)生成的频率信号可以由示波器观察;(6)同时显示当前频率值和占空比的值。
1.2、题意需求分析根据本设计给定的内容和要求,可以得出以下结论:本设计中需要用到的主要有两种芯片,一种用来扫描处理按键,另一种则用来调节PWM信号的频率和占空比,并作为计时器使用,最后是用于显示的七段LED数码显示管和示波器。
其中最核心的是要实现频率和占空比的调节,占空比就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比,故改变占空比需要通过改变时钟脉冲中高电平的脉冲宽度来实现。
频率则是周期的倒数,若要改变频率,则需改变脉冲的时钟周期。
这里我们考虑到要用到可编程计数器8253的方式0和方式1,8253中方式0时一次中断计数,方式1是可编程触发器,我们用方式的OUT0的输出低电平来触发方式1的GATE1信号的高电平,此时我们将计算出的高低电平计数初值再次循环装入,这样我们便实现了改变输入的电压高电平,即实现了占空比的调节。
由于8253的方式0只是实现一次计数,如果不重新装入初值就不会再次触发,所以要实现频率的调节只需要每次都循环装入初值就可以了。
根据题意分析可知,该实验需设置四个按键,分别用来实现加减频率和占空比,故需用到输入数据的工具和与其配套使用可以实现扫描处理按键功能的芯片,分别用来输入数据和处理按键。
最后需要的便是实现显示功能的LED数码显示管和示波器,其中LED数码显示管的前四位是用来显示频率的数值,后四位用来显示占空比的数值,示波器则用来显示脉冲波形和步进值的。
例如当设定的按键功能为增加频率时,经过按键扫描和判断后,程序中设定的频率寄存器中数值加1,示波器上步进值显示为10KHZ,LED数码显示管上前四位数值加10,后四位不变。
1.3、解决问题的思路及方法1.3.1、硬件部分:a.根据需求分析可知,该实验最关键的部分是要实现频率和占空比的调节,若要实现频率和占空比的调节,则分别需要改变时钟脉冲的高电平宽度和时钟周期,而能实现以上功能的芯片,只有8253最为合适,并且8253在方式2下可作为计时器使用。
故该部分功能的实现选择使用8253芯片。
b .其次需要进行实现扫描处理按键功能的芯片和数据输入工具的选择,这里有8255和8279两种芯片以及十六进制小键盘和二进制开关可以选择,在这次实验中我们选择8279芯片和十六进制小键盘,以下是对两种硬件的选择比较: 表18279A 芯片 8255A 芯片8279芯片可以实现对键盘/显示器的自动扫描,以减轻CPU 负担,具有显示稳定,程序简单,不会出现误动作等 8255芯片是可编程的并行接口芯片,不需要附加外部电路便可和大多数并行传输数据的外部设备相连,数据的各位同时传送,使用十分方便表2表二c .最后选择用来显示的七段LED 数码显示管和示波器即可。
1.3.2、软件部分a .对8253进行初始化。
对8253的初始化编程包括写入控制字和写入计数初值两个步骤。
在不需要外部信号GATE 上升沿触发的方式中,计数就开始了。
由于8253计数器是16位时,CPU 要分两次读入。
为了保证读到稳定准确的数据,通常采用两种方法。
b .对8279进行初始化。
8279A 芯片内部有一个显示RAM 和一个FIFO RAM ,可以暂存从小键盘中读出的数据,同时可以将内存中的数据暂存到显示RAM 中,简化了程序复杂度。
每次将各个位要显示的数据处理好后到换码表中找到对应值,初始化8279后将值送到数据口即实现显示的目的。
二、硬件设计2.1、选择芯片8253A2.1.1 芯片8253A 在本设计中的作用在该次实验中8253芯片主要用来实现频率和占空比的调节,并作为计时器来十六进制小键盘二进制开关 键盘(Keyboard )是常用的输入设备,它是由一组开关矩阵组成,结构相对复杂,与8279A 配套使用 二进制逻辑开关一位表示一个二进制数,对于本实验每一位数需要多次拨动八位开关,使实验复杂了许多使用。
2.1.2 8253A的功能分析8253A是一种可编程的定时器/计数器芯片,它可用于计数、分频、定时器等的方面。
8253的主要性能为:内有三个独立的16位计数器,最大计数范围为0~65535;工作方式可编程控制,可编程6种不同的工作方式;所有输入和输出都与TTL兼容。
计数脉冲频率为0MHZ-2.6MHZ,可以按二进制或BCD码计数,使用单一+5V电源2.1.3 8253的内部结构8253的内部结构如图一所示,由数据总线缓冲器、控制寄存器、读/写控制逻辑和计数器等部分组成。
图一(1)、数据总线缓冲器:三态,双向的8位缓冲器,用于将8253与系统数据总线连接。
CPU执行I/O指令时,缓冲器发送或者接收数据,用于写入8253控制字,装入计数初值或读出当前计数值。
(2)、读/写逻辑:决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线上数据传送的方向。
①CS片选信号:低电平有效(此时CPU才能对8253进行读写操作),由地址总线经I/O端口译码电路产生。
②RD读信号:低电平有效,表示CPU正在读取所选定的计数器通道中的内容。
③WR写信号:低电平有效,此时表示CPU正在将计数初值写入所选中的计数通道中或将控制字写入控制寄存器中。
④A1A0端口选择信号:8253内部有3个计数器通道和一个控制寄存器端口。
A1A0=00,01,10表示分别选中计数器通道0,1,2,当A1A0=11时选中控制寄存器端口。
(3)、控制寄存器:接收从CPU来的控制字,并由控制字的D7、D6位的编码决定该控制字写入哪个计数器的控制寄存器,控制寄存器只能写入,不能读出。
(4)、计数器0-2:当8253用作计数器时,加在CLK引脚上脉冲的间隔可以是不相等的;当它用作定时器时,则在CLK引脚应输入精确的时钟脉冲,8253所能实现的定时时间,取决于计数脉冲的频率和计数器的初值,即:定时时间=时钟脉冲周期Tc×预置的计数初值n。
对8253来讲,外部输入到CLK引脚上的时钟脉冲频率不能大于2MHZ,否则需分频后才能送到CLK端。
2.1.4 8253内部引脚功能8253是一片具有3个独立通道的16位计数器/定时器芯片,使用单一+5V电源,24引脚双列直插式封装,如图二所示。
图二2.1.4.1、与CPU的接口信号(1)D0~D7——三态双向数据线。
与CPU数据总线相连,用于传递CPU 与8253之间的数据信息、控制信息和状态信息;(2)CS——片选信号(Chip Select),输入,低电平有效;(3)WR——写信号,输入,低电平有效,用于控制CPU对8253的写操作,可与A1,A0信号配合以决定是写入控制字还是计数初值;(4)RD——读信号,输入,低电平有效。
用于控制CPU对8253的读操作,可与A1,A0信号配合读取某个计数器的当前计数值;(5)A0,A1——地址输入线。
用于8253内部寻址的4个端口,即3个计数器和一个控制字寄存器。
一般与CPU低位的地址线相连。
2.1.4.2、与外部设备的接口信号(1)CLK0(CLK1,CLK2)——时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。
CLK可以是系统时钟脉冲,也可以是由其他脉冲源提供。
8253规定加在CLK引脚的输入时钟周期不得小于380ns;(2)GATE0(GATE1,GATE2)——门控输入端,用于外部控制计数器的启动或停止计数的操作。
当GATE为高电平时,允许计数器工作,当GATE为低电平时,禁止计数器工作;(3)OUT0(OUT1,OUT2)——计数输出端。
在不同工作方式中,当计数器计数到0时,OUT引脚上必输出相应的信号。
2.1.5 8253的工作方式方式0——计数结束中断方式(Interrupt on Terminal Count)方式1 ——可编程的单稳态触发器(Programmable One Short)方式2-----比率发生器、分频器(Rate Generator)方式2用门控信达到同步计数的目的。
方式3----方波发生器(Square Wave Generator)方式3的工作过程同方式2,只是输出的脉宽不同。
方式4 ——软件触发选通方式(Software Triggered Strobe) 用方式4工作时,GATE门控信号只是用来允许或不允许定时操作的,定时的执行过程由装入的初值决定。
方式5 ——硬件触发选通方式(Hardware Triggered Strobe)方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数。
2.1.6 8253芯片可编程外围信号状态表表32.1.7 所选用8253的工作方式本实验要求产生频率初值,并且根据步进值来调节频率和占空比,这样我们想到了8253的工作方式0,每次都装入初值。
而要调节占空比的时候要考虑到高电平的输入,这样在周期固定的情况下就必须使用方式1,可编程触发器,即可编程单稳态触发器,此时GATE具有控制装入的功能。
下面我就介绍一下这两种工作方式的原理以及时序图。
(1)首先是方式0----计数结束产生中断在这种工作方式下,当GATE为1时,写入控制字和计数值后,需要一个CLK脉冲周期计数初值才能被送到计数器减一部件。
OUT是在写入控制字后变成低电平,直到计数器减到0才变成高电平。
OUT端输出信号可以作为中断请求信号。
计数器在外部时钟作用下,每个时钟周期减一。
当GATE为0时,每次写入数值可以获得一个负脉冲,计数停止。
图1.5.1 正常计数图1.5.2GATE 信号的作用图1.5.3方式2时计数过程中改变计数值(2)、方式1---可编程触发器在这种工作方式下,写入控制字和计数初值后,计数开始是以GATE 的上升沿触发。
之后,OUT 输出低电平,次低电平一直维持到计数器减到0。
这样就可以从OUT 输出一个负脉冲,该负脉冲由GATE 上升沿之后的下一个CLK 脉冲的下降沿开始,负脉冲的宽带为计数值乘时钟脉冲时间长度。
若想再次获得同样宽度的负脉冲,只要GATE 上升沿再触发一次即可。
可见,这种方式下,装入计数值后可以多次触发。
图1.5.4 正常计数C. 方式0 计数过程中改变计数值图1.5.5 GA TE信号的作用图1.5.6改变初值2.1.8 8253的控制字与初始化编程10-----选择通道11-----无效D5、D4:00-----计数器锁存01-----只读写计数器低字节10-----只读写计数器高字节11-----先读写计数器低字节,再读写计数器高字节D3、D2、D1:000------方式0 001------方式1*10------方式2 *11------方式3100------方式4 101------方式5D0:1-----BCD码计数0------二进制计数2.1.9 8253A的技术参数表48253A主要参数分析:输入低电压的范围是-0.5 V~0.8 V,输出低电压的范围0.45V~2.4 V,输入高电压的范围是2.2 V~Vcc+0.5 V。