基于FPGA的PWM控制器设计

合集下载

基于FPGA的PWM控制器设计及应用

基于FPGA的PWM控制器设计及应用

results prove the feasibility of the proposed method.
Keywords: FPGA Thesis
Digital Control
Digital PWM
Digital Compensator
: Application 论
表 1.1 三种 DC/DC 电源管理模式比较 种类 工作 模式 低压差线 性稳压器 电荷泵 升、降压, 反转 开关电源 升、降压, 反转 高 高 高 电容电感 好 高 中 中 中 电容 差 中 降压 效 率 低 低 复杂度 输出 纹波 低 外围 器件 电容 中 负载性 电磁 干扰 低
低压差线性稳压器只能适用于降压变换,从其工作原理来讲,低压差线性稳压器根 据负载电流的变化情况来调节自身的输出电阻,维持稳压输出端的电压不变,适合于输 入输出电压差较小的场合,通常效率不高并且发热严重。 电荷泵式电压变换器是一种利用泵电容来储能的 DC/DC 变换器,它既能使输入电
西安科技大学 硕士学位论文 基于FPGA的PWM控制器设计及应用 姓名:任小青 申请学位级别:硕士 专业:微电子与固体电子学 指导教师:徐大林;刘树林 2011
论文题目:基于 FPGA 的 PWM 控制器设计及应用 专 业:微电子与固体电子学 (签名) (签名) (签名)
硕 士 生:任小青 指导教师:徐大林 刘树林
1
西安科技大学硕士学位论文
压升高或降低,也可以用于产生负电压[3]。 开关电源变换器利用电感储能,与低压差线性稳压器或电荷泵相比要求更大的电路 板面积, 但能提供很大的负载电流。 如果能将所需的高耐压的开关晶体管集成到器件中, 使用时只需外接一个电感和必要的输入、 输出电容, 可以使整个方案的体积进一步减小, 使用更加简便;这种类型的开关电源效率高,负载电流大,但是纹波比低压差线性稳压 器大,且通常所需外围电感并不容易集成到芯片内部;随着开关电源技术发展,工作频 率的提高可以减小纹波,减小外围电感要求[4]。 电源技术的发展经历了电子管稳压源、晶体管稳压源、以 IGBT 和 GTR 为开关器 件的低频开关稳压源、以场效应管作为开关器件的高频稳压源几个时期,总体的发展趋 势是朝着体积小、损耗小、效率高、可靠性高的方向发展[5]。 传统的模拟开关电源由于使用模拟器件设计,在反馈控制回路中采用误差放大器, 基准电压源等电路,对工艺、器件稳定性要求较高,而且模拟电路容易老化且受温度干 扰。此外,用户对电源的无故障运行时间、电源运行状态的监控要求也越来越高,电源 设计人员不仅仅满足于实时监控电流、电压、温度,还提出了根据电源负载情况灵活设 定输出电压参数的要求,这些需求是现阶段的模拟电源设计方案难以满足的,因此,产 生了用数字电路设计电源的想法,其目标就是将电源管理功能用数字方法设计,并实现 智能、高效的转换与控制[6]。 数字化控制系统以其突出的优点逐渐取代模拟控制电路,在电力电子电路领域的各 个方面已经得到了广泛的应用。随着微电子的发展,高速度、高集成度的现场可编程门 阵列与数字化控制技术的结合成为数字化控制系统发展的必然趋势。 结合数字控制优点及FPGA长处, 本文提出一种基于FPGA的开关电源数字化控制系 统方案,并完成了设计仿真以及实验验证。将开关电源控制器集成在一片FPGA芯片上, 一方面提高了控制芯片的工作效率,另一方面减少控制芯片的外围分立元件,从而提高 系统工作可靠性,增强系统的灵活性、适应性,减少PCB面积、降低成本。 基于FPGA的灵活性和可任意配置特性,本系统中各个功能模块通过单独配置,可 以作为独立模块下载到芯片中使用,具有很强的通用性;当需要系统升级或者系统功能 扩展时,只需将现有系统移植到更高级的FPGA芯片,并加入需要的功能模块即可,因 此具有很强的移植性。

基于FPGA的PWM直流电机控制器开发

基于FPGA的PWM直流电机控制器开发

中文摘要摘要本设计是基于FPGA的PWM直流电机控制器开发,采用FPGA 芯片设计数字硬件PWM直流电机控制器。

其具有两种控制方式可供选择,分别是单片机控制或者上位机控制,系统通过调节直流电机的平均电压方法实现对直流电机调速控制,PWM直流电机控制器可以提供8路独立的PWM控制信号,并且每一路PWM信号均可以独立调节,能同时控制8个直流电机工作/停止、正反转及实现直流电机转速调节。

本设计主要包括硬件和软件两大部分。

硬件部分主要包括PWM控制电路、RS—232串行接口和电机驱动电路。

软件部分主要分为三大部分:第一部分是PWM的控制模块程序;第二部分是上位机的VB 界面及串行通讯控制程序;第三部分是单片机的串行通讯程序。

关键词:直流电机控制器PWM FPGAI英文摘要AbstractThe design is the title of the control exploitation of DC Motor Using Pulse-Width Modulation Based on FPGA. FPGA chip design using digital hardware PWM DC motor controllers. Its control with two options, namely the MCU control or PC control, the system through the adjustment of the average voltage direct current method of DC motor speed control, PWM DC motor controller can provide 8 independent PWM Control signals, and each path can be independent PWM signal conditioning, can simultaneously control of eight motor work / stop, and achieving positive and DC motor speed regulation.The design of hardware and software including the two most. Hardware including main PWM control circuit, RS-232 serial interface and the motor drive circuit. Some software can be divided into three parts: The first part is the PWM control module; PC is the second part of the VB interface and serial communication control procedures; SCM is the third part of the serial communication procedures.Key Words:DC motor based PWM FPGAII目录目录第1章绪论 (1)第2章整体方案设计 (3)2.1 设计任务 (3)2.2.设计方案论证 (3)2.3设计方案结构框图 (5)第3章硬件电路设计 (7)3.1 PWM控制模块电路设计 (7)3.1.1 芯片的选择 (7)3.1.2 PWM控制模块电路设计 (7)3.2单片机控制模块设计 (9)3.2.1 AT89S51芯片性能 (9)3.2.2 单片机控制模块电路设计 (11)3.3串行通讯电平转换电路设计 (12)3.3.1 芯片选择 (12)3.3.2串行通讯电平转换电路设计 (13)3.4电机驱动电路设计 (13)3.4.1直流电机特点 (13)3.4.2直流电机驱动电路设计 (15)第4章控制系统的软件开发 (17)4.1 PWM控制模块的控制元件及后台程序 (17)4.1.1 UART接收状态机元件设计 (17)4.1.2源程序文件的编译和封装 (18)4.1.3.创建工程 (22)4.1.4 UART发送状态机元件设计 (23)4.1.5建立嵌入式锁相环元件设计 (25)4.1.6 数据存储器的设计 (26)4.1.7 地址计数器的设计 (29)4.1.8按地址分配数据元件设计 (30)4.1.9数字比较器元件设计 (32)4.1.10锯齿波发生器元件设计 (33)4.1.11 二选一选择输出器元件设计 (33)4.1.12 时钟选择元件设计 (34)4.2 上位机串行通讯控制程序设计 (36)4.2.1 MSComm控件简介 (36)i目录4.2.2 MSComm控件提供的串行通讯方式 (36)4.2.3 上位机与PWM控制模块的串行通讯程序 (37)4.3单片机与PWM控制模块的串行通信程序设计 (38)第5章系统调试 (41)5.1 八路各自独立的PWM波形产生的调试 (41)5.2 PWM控制模块与上位机通讯的调试 (42)5.3 单片机对控制系统的程序控制 (43)结论 (44)参考文献............................................................................................ 错误!未定义书签。

基于FPGA直流电机的PWM控制——毕业设计

基于FPGA直流电机的PWM控制——毕业设计

基于FPGA直流电机的PWM控制Based on FPGA direct current machine's PWMcontrol rotational摘要EDA技术是用于电子产品设计中比较先进的技术,可以代替设计者完成电子系统设计中的大部分工作,而且可以直接从程序中修改错误及系统功能而不需要硬件电路的支持,既缩短了研发周期,又大大节约了成本,受到了电子工程师的青睐。

实现直流电机转速的控制方法很多,可以用可编程序控制器PLC、单片机等方案来实现。

但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。

因此,在设计中采用EDA技术,应用目前广泛应用的VHDL硬件电路描述语言,实现直流电机转向的控制设计,利用QuartusⅡ集成开发环境进行综合、仿真。

关键词:电子系统、硬件电路、直流电机、转向ABSTRACTEDA the technology is uses in the electronic products design the quite advanced technology, may replace the desi gner to complete in the electronic system design the majority of work, moreover may revise wrong and the system function directly from the procedure, but does not need hardware circuit's support, both reduced the research and development cycle, and saved t he cost greatly, has received the electronic engineer's favor.Realizes the direct current machine rotational speed control method to be many, may use programmable plans and so on controller PLC, monolithic integrated circuit to realize. But these control method's function revision and the debugging needed hardware circuit's support, to increase the function revision and the system debugging difficulty to a certain extent. Therefore, uses the EDA technology in the design, the application present widespread application VHDL hardware circuit description language, realizes control design which the direct current machine changes, uses QuartusⅡThe integrated development environment carries on the synthesis, the simulation.Key word:EDA、VHDL、QuartusⅡ、the direct current machine、realizes control目录前言 (3)第一章PWM技术 (4)第二章EDA简要介绍 (6)§2.1 EDA技术的发展历程 (6)§2.2 EDA技术的主要内容 (8)§2.3 EDA技术的发展趋势 (9)第三章硬件描述语言VHDL (11)§3.1 VHDL语言概况 (11)§3.2 VHDL硬件程序结构 (13)§3.3 VHDL语言的特点 (16)第四章QuartusII开发系统 (17)§4.1 QuartusII设计流程: (17)§4.2 QuartusII的设计特点 (20)第五章本设计中所用到的各基本原件的程序及仿真波形 (22)§5.1 八位计数器 (22)§5.2 A_D转换器 (23)§5.3 比较器 (25)§5.5 元件组合完成电机方向转换的仿真 (28)结论 (31)参考文献 ............................................... 错误!未定义书签。

基于FPGA的步进电机的PWM控制__细分驱动的实现_论文

基于FPGA的步进电机的PWM控制__细分驱动的实现_论文

院系电气信息工程学院专业电子信息工程目录目录 (2)摘要 (3)关键词 (3)Abstract (3)Keywords (3)一、引言 (4)二、步进电机细分驱动的基本原理 (4)三、Quartus II概述 (5)四、课题设计 (6)(一)总体设计 (6)(二)细分电流的实现 (6)(三)细分驱动性能的改善 (7)(四)程序设计 (7)六、仿真与测试结果分析 (11)七、结论 (13)参考文献 (12)注释 (13)附录 (14)心得体会 (20)摘要在对步进电机细分驱动原理进行分析研究的基础上,提出一种基于FPGA控制的步进电机细分驱动器。

利用FPGA中的嵌入式EAB构成LPM-ROM,存放步进电机各相细分电流所需的PWM控制波形数据表,并通过FPGA设计的数字比较器,同时产生多路PWM电流波形,实现对步进电机转角进行均匀细分控制。

实验证明,所研制的步进电机驱动器不仅体积小,简化了系统的设计,减少了延迟,改善了低频特性,有良好的适应性和自保护能力,提高了驱动器的稳定性和可靠性。

关键词步进电机;细分驱动;脉宽调制;FPGAAbstractIn this paper, a divided driving circuit for stepping motor controlled by FPGA is put forward, based on the analysis of the principle of stepping motor divided driving. Using embedded EAB in FPGA to compose LPM-ROM, store PWM control wave form data which stepping motor each phase subdivided driving current is needed.The magnitude comparator designed with FPGA generates several PWM current waveform synchronously, to realize the step angles even division control for three–phase stepping motor.Experimments have proved that the developed subdivision driver is not only smaller,sampler in system, can shorten the delay time,improve the stability in low frequency ,but has good self-adaptation and self-protection ability,and its stability and relibility are higher.Keywordsstepping motor; divided driving ;PWM; FPGA一、引言步进电机是把脉冲信号转换成角位移或直线位移的执行元件,是一种输出与输入数字脉冲相对应的增量驱动元件。

基于FPGA的直流电机PWM控制实现

基于FPGA的直流电机PWM控制实现

《基于FPGA的直流电机PWM控制实现》课程设计总结报告一、课题名称《基于FPGA的直流电机PWM控制实现》二、设计任务1.设计驱动电路来驱动直流电机2.显示调速等级3.测速电路基于L298N驱动直流电机设计三、系统总体设计方案(画出系统原理框图、方案的论证与比较等内容);1.系统原理框图2.PWM的实现与比较一般的脉宽调制PWM信号是通过模拟比较器产生的,比较器的一端接给定的参考电压,另一端周期线性增加的锯齿波电压。

当锯齿波电压小于参考电压时输出低电平,当锯齿波电压大于参考电压时输出高电平。

改变参考电压就可以改变PWM波形中高电平的宽度。

若用单片机产生的PWM信号波形,需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟比较器输出PWM波形,因此外围电路比较复杂。

FPGA中的数字PWM控制欲一般的模拟PWM控制不同。

用FPGA产生PWM波形,只需FPGA内部资源就可以实现。

用数字比较器代替模拟比较器,其一端接设定值计数器输出,另一端接线性递增计数器输出。

当线性计数器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。

与模拟控制比较,省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少,电路更加简单,便于控制。

脉宽调制式细分驱动电路的关键是脉宽调制,转速的波动随着PWM脉宽系法术的增大而减小。

四、具体实现方案(各模块或单元电路的设计、工作原理阐述等内容);1. PWM脉宽调制信号发生模块PWM-SQU1此模块是FPGA中的PWM脉宽调制信号产生电路。

它的输出接一电机转向控制电路模块,此模块输出的两个端口接直流电机。

通过控制SL端(键1),可以改变电机转向。

PWM-SQU1的输入端之一来自模块COUNTER8B。

这是一个8为计数器,输出的数据相当于锯齿波信号,此信号的频率就是PWM波的频率,它有来自锁相环的C0的频率决定。

PWM-SQU1另一端来自键控的8位数据,其中低4为CIN[3..0]设定为恒定1111,高4位有计数器CNT4B产生,计数器的时钟来自键K8.于是可以通过手动按键控制电机的转速。

基于FPGA的直流电机PWM调速系统设计实现分析

基于FPGA的直流电机PWM调速系统设计实现分析

基于FPGA的直流电机PWM调速系统设计实现分析1.引言直流电机广泛应用于各个领域,如工业控制、机器人等。

调速系统是直流电机应用中非常重要的一部分,直流电机的调速在一定范围内能够满足不同负载需求。

本文将介绍基于FPGA的直流电机PWM调速系统的设计实现分析。

2.系统设计2.1系统架构设计基于FPGA的直流电机PWM调速系统主要包括FPGA、PWM控制器、驱动电路和直流电机。

其中,FPGA负责进行调速算法的运算和时序控制,PWM控制器用于生成PWM信号,驱动电路控制直流电机的转速和方向。

2.2算法设计调速算法一般采用PID控制算法,通过测量直流电机的转速和负载情况,计算出PWM占空比,并调整PWM信号的频率和占空比以实现电机的调速。

在FPGA中,可以使用硬件描述语言(HDL)进行算法实现。

使用VHDL或Verilog等HDL语言,编写PID控制器、计数器和状态机等模块,实现调速算法的运算和时序控制。

3.系统实现3.1FPGA的选择FPGA是可编程逻辑芯片,具有灵活性和高性能的特点。

在选择FPGA 时,需要考虑系统的性能需求、资源使用和开发成本等因素。

常用的FPGA型号包括Xilinx系列和Altera(Intel)系列等。

3.2PWM控制器设计PWM控制器的设计主要包括频率和占空比的控制。

可以使用计数器和状态机实现PWM信号的生成。

计数器用于计数并产生PWM控制信号的频率,状态机用于控制计数器并调整PWM占空比。

3.3驱动电路设计驱动电路主要负责将FPGA生成的PWM信号转化为适合驱动直流电机的电压和电流信号。

驱动电路一般包括功率放大器、H桥驱动模块和电流反馈模块等。

通过控制H桥驱动模块的开关,可以实现直流电机的正反转和调速功能。

4.总结本文介绍了基于FPGA的直流电机PWM调速系统的设计实现分析。

通过使用FPGA进行调速算法的运算和时序控制,实现了对直流电机的精确调速。

系统设计包括FPGA选择、PWM控制器设计和驱动电路设计等。

基于某FPGA地直流电机PWM控制实现

基于某FPGA地直流电机PWM控制实现

《基于FPGA的直流电机PWM控制实现》课程设计总结报告一、课题名称《基于FPGA的直流电机PWM控制实现》二、设计任务1.设计驱动电路来驱动直流电机2.显示调速等级3.测速电路基于L298N驱动直流电机设计三、系统总体设计方案(画出系统原理框图、方案的论证与比较等内容);1.系统原理框图2.PWM的实现与比较一般的脉宽调制PWM信号是通过模拟比较器产生的,比较器的一端接给定的参考电压,另一端周期线性增加的锯齿波电压。

当锯齿波电压小于参考电压时输出低电平,当锯齿波电压大于参考电压时输出高电平。

改变参考电压就可以改变PWM波形中高电平的宽度。

若用单片机产生的PWM信号波形,需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟比较器输出PWM波形,因此外围电路比较复杂。

FPGA中的数字PWM控制欲一般的模拟PWM控制不同。

用FPGA产生PWM波形,只需FPGA内部资源就可以实现。

用数字比较器代替模拟比较器,其一端接设定值计数器输出,另一端接线性递增计数器输出。

当线性计数器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。

与模拟控制比较,省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少,电路更加简单,便于控制。

脉宽调制式细分驱动电路的关键是脉宽调制,转速的波动随着PWM脉宽系法术的增大而减小。

四、具体实现方案(各模块或单元电路的设计、工作原理阐述等内容);1. PWM脉宽调制信号发生模块PWM-SQU1此模块是FPGA中的PWM脉宽调制信号产生电路。

它的输出接一电机转向控制电路模块,此模块输出的两个端口接直流电机。

通过控制SL端(键1),可以改变电机转向。

PWM-SQU1的输入端之一来自模块COUNTER8B。

这是一个8为计数器,输出的数据相当于锯齿波信号,此信号的频率就是PWM波的频率,它有来自锁相环的C0的频率决定。

PWM-SQU1另一端来自键控的8位数据,其中低4为CIN[3..0]设定为恒定1111,高4位有计数器CNT4B产生,计数器的时钟来自键K8.于是可以通过手动按键控制电机的转速。

基于FPGA的直流电机PWM调速系统设计与实现

基于FPGA的直流电机PWM调速系统设计与实现

FPGA课程设计题目:基于FPGA的直流电机PWM调速系统设计与实现班级:微电子学1202班姓名:杜英学号:1206080201日期:2016年3月24日基于FPGA的直流电机PWM调速系统设计与实现1设计任务与要求1。

1设计任务完成基于FPGA的直流电机PWM调速系统设计与实现,实现对直流电机的闭环调速,速度值采用LCD或数码管显示。

1。

2设计要求1。

2。

1了解PWM控制方法及应用;掌握PWM直流电机调速控制原理;掌握直流电机调速及驱动控制原理;完成基于FPGA的直流电机PWM调速系统设计。

采用PWM(脉冲宽度调制)技术,速度值采用LCD或数码管显示。

1。

2。

2通过课程设计的实践,进一步了解和掌握硬件描述语言(VHDL 或Verilog)和TOP—DOWN的设计流程,提高对实际项目的分析和设计能力,体会FPGA项目开发的过程,熟悉实验报告的编写规范。

2设计原理分析2.1直流电机结构如下图1.1所示图2。

1 直流电机的构造将直流电源通过电刷接通线组线圈,使线组线圈导体(电枢导体)有电流通过,在电磁的作用下,线组线圈将会产生磁场,同时产生的磁场与主磁极的磁场产生电磁力,这个电磁力作用于转子,使转子以一定的速度开始旋转,电机就开始工作。

在电机的外部电路加入开关型的霍尔元件,同时在电子转子的转盘上加入一个使霍尔元件产生输出的带有磁场的磁钢片。

当直流电机旋转时转盘与磁钢片一起旋转,当磁钢片转到霍尔元件上方时,可以使霍尔元件的输出端高电平变为低电平。

当磁钢片离开霍尔元件上方后,霍尔元件输出端又恢复高电平。

如此,点击每旋转一周,会使霍尔元件的输出端产生一个低脉冲,可以通过检测单位时间内霍尔元件输出端低脉冲的个数推算出直流电机的转速。

本次设计中,调节PWM占空比进而控制直流电机转速,在本次设计中,为了保护霍尔元件,故设定程序每6秒刷新一次数据,所以在数码管显示的数据乘以10就是在该占空比时的直流电机每分钟转速.在这次的实验中数码管采用的8位共阴极数码管,通过锁存器输入数据使得数码管的8个段码数字显示,再通过选择输出数据对所需数码管进行选择.2.2电路原理图图2.2 电路原理图3 设计方案上述原理图中包含PWM模块、测速模块、计数模块、电机模块、滤波模块。

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

FPGA实验报告
基于FPGA勺PWM控制器设计
1设计任务与要求
1.1掌握PWM fe术原理;了解PWM控制方法及应用;完成基于FPGA勺PWM控制器设计。

1.2通过课程设计的实践,进一步理解和掌握硬件描述语言(VHDL或VerilOg )和TOP-DOWN设计流程,提高对实际项目的分析和设计能力,体会FPGA项目的过程,熟悉实验报告的编写规范。

2设计原理分析
2.1利用FPGA语言编写程序实现对50MHZ勺硬件晶振进行分频和调节占空比。

对硬件晶振的上升沿就行计数,当2nHZ频率利用高低电平进行分频时,当计数到n-1是对原电平进行反向就可以实现分频。

占空比是对上升沿的计数是两个不同的数值时进行反向。

2.2脉宽调制(PWM基本原理:控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。

也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。

按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。

例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成的波形。

这些脉冲宽度相等,都等于∏∕n ,但幅值不等,且脉冲顶
部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。

如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM fe形。

可以看出,各脉冲宽度是按正弦规律变化的。

根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。

对于正弦的负半周,也可以用同样的方法得到PWM波形。

在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交一直一交变频器中,PWM 逆变电路输出的脉冲电压就是直流侧电压的幅值。

根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,
PWM 波形各脉冲的宽度和间隔就可以准确计算出来。

按照计算结果控制电路中各开关 器件
的通断,就可以得到所需要的 PWM fe 形。

2.3原理图:
PEI i aJr⅛l⅛r 1⅛∣L ∣E
∣⅛∙⅝L 曲 h”
Iyll
r κ,
3设计方案
先设计分频器,以 2分频为基础在器外部做循环可以实现
2n 倍分频。

后面进行占空比 调节使用计数器和比较器。

根据精度不同分频倍数以及占空比精确度都都会不同。

该电路使 用的是5位计数器,故设置频率时要考虑占空比调节过程中已相当分频
2^5倍。

即m-2^5∕2
就是所应设置到分频器上的数值(注:并非分频倍率) 。

4设计步骤
4.1自行编写分频器代码,通过编译等步骤生成分频器。

4.2调用软件自带比较器和计数器并搭建后续电路。

4.3仿真调试。

4.4下载到试验箱进行测试。

》diet
JP ⅛J Γ⅛
5设计程序代码
Library IEEE;
USe ieee.std_logic_1164.all;
USe ieee.std_logic_arith.all;
USe ieee.std_logic_ Un Sig ned.all;
En tity CPLD is
Gen eric (PUISe_width:i nteger:=1 );
POrt(Clock_i n:i n Std_logic;
Clock_out:out Std_logic);
Enden tity;
ArChiteCtUre PWm_architecture of CPLD is
Sig nal CoUn ter:Std」OgiC _VeCtOr(4 dow nto O):= ''OOOOO ”
Sig nal CIoCk_1:std_logic:='0';
Sig nal CoUn ter_1:Std」OgiC _VeCtOr(5 dow nto O):= ''OOOOOO'';
Begi n
PrOCeSS(Clock_ in)
Begi n
If clock_in event and clock_in= ' 'then
If pulse_width>co Un ter_1 the n
If CoUnter>= ”0001" then
Cou nter<= '00000';
Else
CoUnter<=coUnter+ ''
End if;
CoUn ter_1<=co Un ter_1+ ''
Else
Cou nter_1<= ”000000”;
Clock_1<=not clock_1;
End if;
End if;
End process;
Clock_OUtV=CIoCk_1;
End architectUre;
5仿真波形
6调试结果说明
由于比较器的位数有限因此所设置的占空比也是一个相对值并非特别精
确。

在仿真波形固定周期位置中出现了一个毛刺,老师指导可以通过滤波电路进行滤波。

最后通过同学帮助通过修改比较器端口得到了解决。

把输入端口的大于等于修改为大于号。

消除了仿真过程中的毛刺。

相关文档
最新文档