关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 可编程微波炉控制器的设计

可编程微波炉控制器的设计

作者:时间:2011-10-07来源:网络收藏

随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统工作中,EDA技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也日益依赖于EDA技术的应用。者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下并应用相应的FPGA/CPLD器件,就可以得到最后的结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,EDA技术将迅速成为电子设计领域中的极其重要的组成部分。
1 系统硬件设计框图
本系统设计采用Altera MAXⅡ系列性价比较高的EPM240T100C5逻辑器件作为信号处理及系统控制核心,完成包括分频、计数、显示等一系列工作,结合所需的外围模块,组成一个最小系统,完成按键控制、LED显示、音频提示。总体设计如图1所示。

本文引用地址:http://www.eepw.com.cn/article/161451.htm

利用CPLD/FPGA的特点,使电路大为简化,利用软件Quartus II和硬件描述语言VHDL对数字系统进行编程、调试和仿真,使得设计、调试方便便捷,充分地发挥了CPLD/FPGA的优势及特点。
2 的整体设计方案
 根据该的功能设计要求,软件设计可由:分频器、状态、 数据装载器大、计时器、显示器、微波加热信号锁存器6个模块组成。各模块之间的关系如图2所示。

2.1 分频器fredivn的设计
 在接口电路中,时钟信号的作用至关重要,一般CPLD的外部时钟信号可达到几十MHz,但是由于一些接口电路的特性所致,这样高频率的时钟不适合电路工作,所以应该引入时钟分频电路产生适合接口的工作频率。分频模块的设计用于产生合适的扫描时钟、计数时钟和闪烁时钟,其外部接口如图3所示。时钟发生器的输入是全局时钟clk,是从50 MHz的石英晶振得到的信号。输出信号是扫描时钟clk 1 kHz、clk 5 Hz和clk 1 Hz。
部分关键程序如下:
------1 kHz分频---------------
process(clk)
variable count0:integer range 0 to 24999;
begin
if clk'event and clk='1' then
if count0=24999 then
clk0=not clk0;
count0:=0;
else count0:=count0+1;
end if;
end if;
clk1kHz=clk0;
end process;
------5 Hz分频---------------
process(clk0)
variable count1:integer range 0 to 99;
begin
if clk0'event and clk0='1' then
if count1=99 then clk1=not clk1;count1:=0;
else count1:=count1+1;
end if;
end if;
clk5 Hz=clk1;
end process;
-----1 Hz分频-----------------
process(clk0)
variable count2:integer range 0 to 499;
begin
if clk0′event and clk0=′1′ then
if count2=499 then clk2=not clk2;count2:=0;
else count2:=count2+1;
end if;
end if;
clk1Hz=clk2;
end process;
end;

2.2 状态state的设计
 通常状态机是控制单元的主体,它接收外部信号及数据单元产生的状态信息,产生控制信号。状态控制器state的功能是控制微波炉工作过程中的状态转换,并发出有关控制信息,因此可用一个状态机实现。通过对微波炉工作过程中的转换条件及输出信号进行分析,可得到其状态转换图如图4所示。

该状态机有8个状态。当状态机的reset信号为0时,状态机复位到idle状态,当reset信号为1时,状态机处于工作状态或待机状态。状态机的转换关系是:当前状态是idle状态,在时钟上升沿到来时,如果输入信号test=0或stall_1=0或stall_2=0或stall_3=0,则转入下一状态tap1或tap2或tap3或tap4, 否则仍停留在idle状态,实现了微波炉上电复位时处于待机状态。当test=0时,状态机转入测试状态tap1。当stall_1=0或stall_2=0或stall_3=0时,状态机转入档位状态tap2或tap3或tap4其中一个状态后,而这三个状态之间也可以相互转换。在每一个档位状态内,同时也嵌入了计数状态tap5,只要设置好输入时间,如果start=0则可以进入计时状态,否则仍停留在其中状态之一内。当处于计时状态时,如果stop=0,则转入停止状态tap6,使微波炉处于停止工作状态,而停止状态tap6与计时状态tap5之间也是可以相互转换的,当start=0,则转回计时工作状态,否则仍停留在停止状态tap6。当计时完毕,则由计数器输出done=1信号,从计时工作状态tap5转换到结束状态tap7。不管处于哪个状态,只要reset为0,则状态机会立刻转换为初始状态idle。
 状态机state的外部接口如图5所示。

2.3 数据装载器data的设计
 数据装载模块的控制信号基本是从状态机输出的信号中得到的。其功能主要是实现时间数据的输入、微波炉控制器当前状态数据的输出。当处于复位状态时数据“0000 0”将会送到寄存器内,寄存器再把数据送到数据输出端口;在测试状态时数据“8888 8”会被送到寄存器内,寄存器再把数据送到数据输出端口;在结束状态时数据为“donE 0”会被送到寄存器内,寄存器再把数据送到数据输出端口。在启动档位时,档位数据也会被输入到寄存器中,这时就可以输入时间数据,时间数据的输入有4位——分高位min_h、分低位min_l、秒高位sec_h、秒低位sec_l,每一个时间数据的输入也会送到寄存器内,再送到数据的输出端口。其中bn和sn是闪烁使能信号的输出。数据装载器的输入与输出端口如图6所示。

西门子plc相关文章:西门子plc视频教程


分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭