版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要智能马桶是基于常用家庭坐便器进一步发展的结果。社会的发展导致人们的生活水平不断提高,因此在平时的生活中,健康、舒适以及智能化的生活方式成为越来越多人的追求。智能马桶相对于常用家用坐便器增加了更多的功能,手动调节座圈温度,洗净、烘干功能,除臭功能,除了这些常用功能,还增加了红外传感器、压力传感器启动马桶开始执行各项功能以及夜灯工作模式,除此之外智能马桶能有效杀死各种传染性疾病的病毒、细菌、真菌或寄生虫,预防细菌感染、痔疮、便秘等问题上有很大的优势。其在常用家庭坐便器的基础之上,添加了便捷、舒适、健康、环保、智能化的元素。本文以FPGA技术为核心,配合外围传感器及实现各种功能的电路实现智能马
2、桶的诸多功能。对座圈温度调节,水温调节,洗净,烘干,除臭,冲洗这些功能进行调试、仿真及实现。关键字:智能马桶,FPGA控制,传感器 目 录摘 要.I目 录II1 任务描述11.1任务要求12 智能马桶简介22.1 课题研究背景.22.2智能马桶发展现状.22.3 智能马桶的特点.23 方案设计33.1 总体框图.33.2 功能模块分述.44 硬件电路设计44.1 温度控制模块.44.2 除臭及冲水电路.64.3 电机控制电路.64.4 控制部分输入信号.74.4.1 压力传感电路.7 红外传感电路.84.5 夜灯模式电路设计.85 FPGA控制系统95.1 温度控制部分.9 5.1.1温度控制
3、工作原理.9 温度控制部分程序、波形及RTL图.95.2 臀部洗净冲水电机控制.11 5.2.1工作原理简析.11 臀部洗净冲水电机程序、波形及RTL图.115.3 冲洗电机控制.165.3.1 冲洗电机程序、波形及RTL图.165.4智能马桶状态机.19 5.4.1智能马桶工作状态描述.19 5.4.2工作状态程序、波形及RTL图.19小 结22致 谢23参考文献241 任务描述1.1任务要求 一:操作面板座便器本体操作面板共有 7 个按键分别为电源、停止、臀部洗净、女用洗净、烘干、照明、按摩。二:功能的操作1、按下“臀部洗净”或遥控器“臀部洗净”按键,臀部洗净喷嘴将喷射前后往返移动一分钟后
4、自动停止喷射。再按一次“臀部洗净”或按遥控器“臀部洗净”按键,将再次重复此功能。2、按遥操作面板上“座温调节”按键可调节座圈温度。座圈温度可设定为座圈不加热、约34摄氏度、约37摄氏度、约40摄氏度。3、按遥操作面板上“水温调节”按键可调节水箱当中水的温度。水温度可设定为水温不加热、约34±2摄氏度、约37±2摄氏度、约40±2摄氏度。4、按遥操作面板上“风温调节”按键可调节风的温度。暖风温度可设 定为暖风不加热、约45摄氏度、约55摄氏度、约65摄氏度。5、人体入座3秒后,除臭功能运转,开始除臭工作人体离座后30秒除臭停止。6、夜灯的使用在有红外感应前提下,外界
5、光照强度减弱,夜灯开启;红外感应消失后,夜灯随即熄灭。三:设计要求: (1) 外围电路必须 protel99 或相关电路画图软件,不能用word和非电路设计软件画。FPGA芯片内部电路必须有整体和单元的综合电路,和对应波形及其详细说明。(2)课程报告字数要求 3000 字以上。2 智能马桶简介2.1课题研究背景马桶是人们生活中必不可少的家用器具。智能马桶是马桶的升级版,随着人们对生活舒适度的更高追求,马桶的功能也越来越多,越来越高科技。智能马桶盖起源于美国,用于医疗和老年保健,最初设置有温水洗净功能。后经日本卫浴公司TOTO引进并进行改良,于80年代推出全新产品“卫洗丽”,加入了集便盖加热、温
6、水洗净、暖风干燥、杀菌等多种功能。成为智能马桶发展的第一个里程碑。2.2 智能马桶发展现状智能马桶起源于日本,现流行于日本和韩国,日本72%的普及率和韩国45%的普及率成为智能马桶全球最大消费国、技术产品出口国,中国自1998年首次生产只能便器以来,国内定位目标消费人群几乎是高收入人群。近年来智能马桶已慢慢走进寻常百姓家。智能座便器属于更新换代的革命性产品,迎合了未来人性化的卫浴发展趋势,"智能座便器"是以"微电脑数字处理系统、纳米材料、激光或热合"等成熟的高科技含量为技术手段,达到和实现传统的"冲水式坐使器、简易式便槽"根本无法解决
7、的污染与环保相矛盾的问题。从而不仅从技术上和方式上乃至村料上都是新突破与改革。目前市面上智能马桶的功能大体有如下一些:集温水洗净、按摩、暖圈、夜光等多项功能于一身,提供更佳的洁身功效和舒适的清洗体验。双喷嘴设计,提供臀部清洁与女性清洁,清洗到位。独特脉冲冲洗模式,SPA 按摩功效。座圈及上盖使用抗菌材质,减少交叉感染,健康选择。座便圈及水温皆可加热,三档温度选择,舒适享受。水流强度3级可调,满足不同需求。静音缓降盖板,安静、安全。暖风烘干,无需用纸,使用更加方便舒适。抽风及臭氧双重除臭,快速清除异味。节电模式选择,省电更环保。光感启动蓝色夜光功能,方便夜间使用。2.3 智能马桶的特点1、全轻触
8、式按键设计采用全轻触式按键设计,使用过程更方便,清洁更彻底,污渍不留痕。2、喷头自洁使用前后喷头都会自我清洁,保持干净卫生。3、二个喷头臀部清洗用(后部)和女性专用(前部清洗)2个喷头,根据不同用途达到清洗干净的效果。4、静音缓闭功能放手后便座、便盖自动缓慢地关上,缓慢闭合才噪音。 5、智能节电具有智能学习记忆功能,可根据使用者的日常生活习惯,自动预先对水温和便座加热,且用后自动停止加热,达到节能效果。6、座式感应在没有感应到人坐上之前,冲洗开关都不会启动,不必担心错按开关造成的尴尬,非常人性化。 7、抗菌便座直接接触肌肤的便座部分采用抗菌材料。3 方案设计3.1 总体框图FPGA控制系统温度
9、传感红外传感按键输入座温加热水温加热热风烘干洗净冲洗除臭压力传感温度传感图3.1 系统框图3.2 功能模块分述FPGA控制温度传感加热电路 图3.2 温度控制模块智能马桶要求实现的功能中有座圈温度调节,水温调节及暖风烘干。此三项功能都需温度调节及加热设计。温度传感器能感受外界温度并将感受到的非电量转化成电量输出,因此可通过温度传感器感受温度,将所需温度传给FPGA控制系统,由其将输入数据进行处理分析后传出指令使加热电路进行相应操作。电机PWM波形发生器 图3.3电机工作模块PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许
10、多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关 驱动装置”。本设计用电机来驱动电磁阀工作,电磁阀控制智能马桶的洗净和冲洗功能。4 硬件电路设计4.1 温度控制模块pt100是铂热电阻,它的阻值会随着温度的变化而改变。PT后的100即表示它在0时阻值为100欧姆,在100时它的阻值约为138.5欧姆。它的工作原理:当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着
11、温度上升而成近似匀速的增长。电桥不平衡时输出两点间产生电压差,经过两个电压跟随器稳定输出后送入差分式运算放大器进行一倍放大。温度传感器PT100在外界温度不是1度时,电桥输出电压差为3T/100(T为传感器感受到的外界温度),经过电压跟随器及差分运放处理后输出电压为3T/100v。电路输出电压送入A/D转换器处理,将模拟电压量转换为数字量输出,送入FPGA芯片。 图4.1传感器测温电路图示电路图是用双向可控硅控制的电路。图中的光耦MOC3041是用来隔离可控硅上的交流高压和直流低压控制信号的。其输出用来触发双向可控硅BTA12.MOC3041是一个6引脚的芯片,它的输入电流为60Ma,电阻R1
12、用来限制输入电流;控制信号为从FPGA芯片输出的高电平信号,经过反向器后使MOC3041内部的LED灯点亮,光控可控硅同时导通,继而给双极性可控硅BTA12一个触发电压,BTA12导通,电阻丝通电,加热电路开始工作。因为功率放大电路的输出不能是一个简单的开关量,故输入电炉的加热功率是连续可调的;另一方面双极性可控硅能保证电阻丝在交流电压源的正负半周均工作,增大电源的利用率,而且可控硅工作在过零触发状态,提高了设备的功率因数,也减轻了对电网的干扰。图4.2加热电路4.2 除臭及冲水电路 图4.3除臭电路FQ-050是一个一体化的臭氧发生器。其一体化整合了臭氧发生电路和超微型臭氧发生管、直流微型气
13、泵 ,内置的超微型臭氧发生管 。是除臭应用的最佳选择。 图4.4电磁阀电路以上两个电路原理相同。由FPGA控制芯片输出一个高电平信号后,两个三极管相继导通,继而臭氧发生器及电磁阀开始工作。4.3 电机控制电路电机控制电路主要由两两对角的四个三极管导通与否控制电机的正反转,接受控制部分信号后,四个三极管中相对角的两个三极管导通,另两个对角三极管截止,此状态周而复始循环,电机进入正转反转交替执行的模式中。由PWM1,PWM2两个节点输入FPGA控制芯片输出的PWM波形与正反转信号的配合,电机进入正转或反转模式。若PWM1=1,PWM2=0,则Q4导通Q1截止,即Q4集电极变低电平Q1集电极变高电平
14、,继而Q3、Q6导通Q5、Q2截止,电机进入正转模式;若PWM1、PWM2是相反的状态,即可推出Q5、Q2导通Q3、Q6截止,即电机进入反转模式。 图4.5 电机控制电路4.4 控制部分输入信号压力传感电路 图4.6压力传感电路如图所示为压阻式压力传感器,压阻式压力传感器是利用单晶硅的压阻效应制成的器件,也就是在单晶硅的基片或硅杯上用扩散工艺、离子注入工艺或溅射工艺制成一定形状的应变元件,当压力传感器受到压力时,传感器中的应变元件的电阻发生变化,从而输出相应的电压变化。如图示A1、A2构成同相比例运算电路,它们的同相端连接硅压阻式传感器的输出端,A3组成一个差分比例运算电路,它将双端输入信号变
15、为单端输出的输出电路,A4组成的电压跟随器用作零压力调整,在输入压力为零时,调整RP2可使输出为零。电容C1在这里通过自身的充放电使电路更稳定。因此,这个压力传感器应用电路可以通过感知压力的变化而输出一个相应的电压信号,实现了将压力参数转变成电信号输出的功能。红外传感器电路 图4.7 反射式红外传感输入反射式压力传感器内部由一个高发射功率红外发光二极管和一个高灵敏度红外接收管组成,它能自行发出红外光,受到外界障碍物的反射接收管的电阻会发生变化,在电路上一般以电压的变化形式体现出来,一旦接收管接收到信号,输出端将输出低电平,通过调节滑动变阻器R4可以调节红外对管的灵敏度,当红外对管检测到白线或黑
16、线却不能送出信号时,可以调节R4来增大其灵敏度。4.5 夜灯模式电路设计红外传感输入经一个非门后给三极管Q1发射极一个高电平信号,当外界光照强度下降时,光敏电阻R1的阻值急剧增大,导致三极管Q2基极电压变为低电平后截至,三极管Q3导通且集电极变成低电平,及Q1基极变为低电平,于是三极管Q1导通。Q1导通后给双极性可控硅一个触发电平,可控硅导通,点灯被点亮开始工作。 图4.8夜灯模式电路5 FPGA控制系统5.1温度控制部分 温度控制工作原理简析温度传感器感应到外界温度后将非电量转化为电流量输出,通过以运算放大器为核心的电路处理后变为电压量输出,此模拟电压量须输入A/D转换器件ADC0809转换
17、为数字量输出,转换后的数字量送入FPGA芯片与人为设定的基准温度进行比较,低于基准温度则给加热电路一个加热信号,等于或高于则停止加热。5.1.2 温度控制部分程序,波形及RTL图VHDL程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;LL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY JIARE IS PORT(ADdata: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -ADC0809转换输入数据; J_R: IN STD_LOGIC; -按键输入;C_Z: OUT STD_LOGIC); -输出控制
18、后续电路信号;END ENTITY JIARE;ARCHITECTURE BHV OF JIARE IS SIGNAL X_Z : INTEGER RANGE 1 TO 3 ; SIGNAL Q: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL ADout: STD_LOGIC_VECTOR(7 DOWNTO 0) ; BEGIN PROCESS(J_R,Q,ADdata) BEGIN IF J_R'EVENT AND J_R='0' THEN X_Z<=X_Z+1; END IF; CASE (X_Z) ISWHEN 1 => Q
19、<="00100010" -选择基准温度34度;WHEN 2 => Q<="00100101" -选择基准温度37度;WHEN 3 => Q<="00101000" -选择基准温度40度;WHEN OTHERS => Q<="00100010"END CASE ; ADout<=CONV_STD_LOGIC_VECTOR(CONV_INTEGER(ADdata)*100/153,8) ; IF ADout<Q THEN C_Z<='1' ;
20、 -低于基准温度则加热; ELSE C_Z<='0' ; -等于或高于停止加热;END IF ; END PROCESS;END BHV;本设计选择三个基准温度,人为按键一次,选择一个基准温度,每次加一档,到最高档再按键一次回到最高档。若传感器测到温度小于所设基准温度,则给加热电路一个有效信号开始加热,否则停止加热。 图5.1 温度控制波形图 图5.2 温度控制RTL图5.2 臀部洗净冲水电机控制 工作原理简析脉冲宽度调制是指用改变电机电枢电压接通与断开的时间的的占空比来控制电机转速的方法,称为脉冲宽度调制(PWM)。对于直流电机调速系统,使用FPGA进行调速是极为方便的
21、。其方法是通过改变电机电枢电压导通时间与通电时间的比值,即占空比,来控制电机速度。在脉冲作用下,当电机通电时,速度增加,电机断电时,速度逐渐减少。只要按一定规律,改变通、断电时间,即可让电机转速得到控制。 图5.3 PWM调速占空比是指高电平在一个周期之内所占的时间比率。上图中占空比为:D=t1/T。臀部洗净功能需要喷水管在指定位置进行来回的往返运动,即需要点击进行正反转的循环。本设计中设定喷水管用1分钟的时间进行往返运动,往30s返30s完成臀部洗净这个功能。 臀部洗净冲水电机程序,波形及RTL图 VHDL程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.A
22、LL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY MUX21 IS PORT(A,B,S:IN STD_LOGIC; Y:OUT STD_LOGIC);END ENTITY MUX21;ARCHITECTURE BHV OF MUX21 IS BEGIN PROCESS (A,B,S) BEGIN IF S='1' THEN Y<=A; ELSE Y<=B; END IF; END PROCESS;END BHV ; -2选1选择器;LIBRARY IEEE;USE IEEE
23、.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY COMPARE IS PORT(DATAA:IN STD_LOGIC_VECTOR (4 DOWNTO 0); AGB:OUT STD_LOGIC);END ENTITY COMPARE;ARCHITECTURE BHV OF COMPARE IS BEGIN PROCESS (DATAA) BEGIN IF (DATAA>8) THEN AGB<='1' ; ELSE AGB<=
24、9;0' END IF ; END PROCESS;END BHV; -比较器1;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY AND21 IS PORT(C,D:IN STD_LOGIC; Q:OUT STD_LOGIC);END ENTITY AND21;ARCHITECTURE BHV OF AND21 IS BEGIN Q<=C AND D;END BHV; -2输入与门;LIBRARY IEEE;US
25、E IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY CNTB IS PORT(CLK:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0);END;ARCHITECTURE BHV OF CNTB IS BEGIN PROCESS(clk) BEGIN IF CLK'EVENT AND CLK='1' THEN Q<=Q+1; END IF; END PROCESS;END BHV
26、; -加一计数器B;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY bijiao30 IS PORT (DATA1: IN STD_LOGIC_VECTOR(5 DOWNTO 0); Z: OUT STD_LOGIC ) ;END ENTITY bijiao30 ;ARCHITECTURE BHV OF bijiao30 IS BEGIN PROCESS (DATA1) BEGIN IF DATA1>"1111
27、0" THEN Z<='0' ; ELSE Z<='1' ; END IF ;END PROCESS ;END BHV ; -比较器2;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY CNTA IS PORT (CLK,EN : IN STD_LOGIC; ET: OUT STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR (5 DOWNTO 0);E
28、ND ENTITY CNTA;ARCHITECTURE BHV OF CNTA IS SIGNAL CQI:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN PROCESS(CLK,EN) BEGIN IF CLK'EVENT AND CLK='1' THEN IF EN='1' THEN IF CQI<60 THEN CQI<=CQI+1 ; ELSE CQI <=(OTHERS=>'0') ; END IF ; END IF ; END IF ; IF CQI=60 THEN ET<
29、='0' ; ELSE ET<='1' ; END IF ; END PROCESS ; CQ <=CQI ; END BHV ; -加一计数器A;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY huomen IS PORT (J,K: IN STD_LOGIC; G: OUT STD_LOGIC) ;END ENTITY huomen ;ARCHITECTURE BHV OF hu
30、omen IS BEGIN G<= J OR K ;END BHV ; -2输入或门;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DIANJI IS PORT (CLK0,CLK1,START:IN STD_LOGIC; -时钟信号,START按键定义; PWM,Z,F:OUT STD_LOGIC ); -PWM波形输出,正反转控制信号;END ENTITY DIANJI;ARCHITECTURE BHV OF DI
31、ANJI IS COMPONENT huomen PORT (J,K: IN STD_LOGIC; G: OUT STD_LOGIC) ; END COMPONENT; COMPONENT CNTA PORT (CLK,EN : IN STD_LOGIC; ET: OUT STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR (5 DOWNTO 0); END COMPONENT ; COMPONENT CNTB PORT(CLK:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0); END COMPONENT ; COM
32、PONENT bijiao30 PORT (DATA1: IN STD_LOGIC_VECTOR(5 DOWNTO 0); Z: OUT STD_LOGIC ) ; END COMPONENT ; COMPONENT COMPARE PORT(DATAA:IN STD_LOGIC_VECTOR (4 DOWNTO 0); AGB:OUT STD_LOGIC); END COMPONENT ; COMPONENT AND21 PORT(C,D:IN STD_LOGIC; Q:OUT STD_LOGIC); END COMPONENT ; COMPONENT MUX21 PORT(A,B,S:IN
33、 STD_LOGIC; Y:OUT STD_LOGIC); END COMPONENT ; SIGNAL NET0,NET2,NET3,NET5,NET6,NET7,NET8 : STD_LOGIC; SIGNAL NET1 : STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL NET4 : STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN PWM<=NET2; U1:huomen PORT MAP (J=>NET5,K=>START,G=>NET0); U2:CNTA PORT MAP (EN=>NET0,CLK=&
34、gt;CLK1,ET=>NET5,CQ=>NET4); U3:bijiao30 PORT MAP (DATA1=>NET4,Z=>NET3); U4:CNTB PORT MAP (CLK=>CLK0,Q=>NET1); U5:COMPARE PORT MAP (DATAA=>NET1,AGB=>NET2); U6:MUX21 PORT MAP (A=>NET2,B=>'0',S=>NET3,Y=>NET7); U7:MUX21 PORT MAP (A=>'0',B=>NET2,S
35、=>NET3,Y=>NET8); U8:AND21 PORT MAP (C=>NET5,D=>START,Q=>NET6); U9:AND21 PORT MAP (NET7,NET6,Z); U10:AND21 PORT MAP (NET8,NET6,F); END BHV ;一路由程序设置输出一个占空比一定的PWM脉冲,另一路设置一个60s的流程,使电机正转30s反转30s配合第一路的PWM脉冲完成臀部洗净冲水阀的往返运动。 图 5.4 臀部洗净冲水电机波形 图 5.5 臀部洗净冲水电机RTL图5.3 冲洗电机控制 冲洗电机程序,波形及RTL图 VHDL程序如下
36、:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY COMPARE IS PORT(DATAA:IN STD_LOGIC_VECTOR (4 DOWNTO 0); AGB:OUT STD_LOGIC);END ENTITY COMPARE;ARCHITECTURE BHV OF COMPARE IS BEGIN PROCESS (DATAA) BEGIN IF (DATAA>8) THEN AGB<='1
37、39; ; ELSE AGB<='0' END IF ; END PROCESS;END BHV; -比较器;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY AND21 IS PORT(C,D:IN STD_LOGIC; Q:OUT STD_LOGIC);END ENTITY AND21;ARCHITECTURE BHV OF AND21 IS BEGIN Q<=C AND D;END BHV; -
38、2输入与门;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY CNTB IS PORT(CLK:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0);END;ARCHITECTURE BHV OF CNTB IS BEGIN PROCESS(clk) BEGIN IF CLK'EVENT AND CLK='1' THEN Q<=Q+1; END IF
39、; END PROCESS;END BHV; -加一计数器B;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DIANJI1 IS PORT (CLK0,START:IN STD_LOGIC; -时钟信号,START按键输; PWM:OUT STD_LOGIC ); -PWM脉冲输出;END ENTITY DIANJI1;ARCHITECTURE BHV OF DIANJI1 IS COMPONENT CNTB PORT(CL
40、K:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 0); END COMPONENT ; COMPONENT COMPARE PORT(DATAA:IN STD_LOGIC_VECTOR (4 DOWNTO 0); AGB:OUT STD_LOGIC); END COMPONENT ; COMPONENT AND21 PORT(C,D:IN STD_LOGIC; Q:OUT STD_LOGIC); END COMPONENT ; SIGNAL NET0 : STD_LOGIC; SIGNAL NET1 : STD_LOGIC_VECTOR(4
41、 DOWNTO 0); BEGIN U1:CNTB PORT MAP (CLK=>CLK0,Q=>NET1); U2:COMPARE PORT MAP (DATAA=>NET1,AGB=>NET0); U3:AND21 PORT MAP (C=>NET0,D=>START,Q=>PWM); END BHV ;设计选用一个占空比一定的PWM脉冲控制电机,使电机以一定速度驱动冲洗水阀,完成马桶冲洗。 图 5.6 冲洗电机波形 图 5.7 冲洗电机RTL图5.4 智能马桶状态机 智能马桶工作状态描述当红外传感器和压力传感器有有效信号输入FPGA芯片时,智能马
42、桶进入工作状态。人为给一个按键信号后,状态机进入下一状态,否则持续此状态;首先开启除臭功能和水温加热,座温加热,暖风加热,下一状态臀部洗净,下一状态暖风烘干,下一状态冲洗,最后一个状态所有功能关,电源关。5.4.2 工作状态程序,波形及状态转换图VHDL程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY ZHINENGMATONG IS PORT(CLK,RST,H_W : IN STD_LOGIC ; -时钟信号,复位
43、信号,红外感应输入; D1 : IN STD_LOGIC; -按键输入; C_C,S_W,PH_C,H,C_X,H_G : BUFFER STD_LOGIC); -输出信号控制外围电路;END ENTITY;ARCHITECTURE BHV OF ZHINENGMATONG ISTYPE STATES IS(S0,S1,S2,S3,S4);SIGNAL PST :STATES:=s4;BEGINREGCOM:PROCESS(CLK,RST,PST,H_W) BEGIN IF RST='1' THEN PST<=S4 ; ELSIF CLK'EVENT AND CL
44、K='1' AND H_W='1' THEN CASE PST IS WHEN S0=>IF D1<='1' THEN PST<=S1; ELSE PST<=S0;END IF; WHEN S1=>IF D1<='1' THEN PST<=S2; ELSE PST<=S1;END IF; WHEN S2=>IF D1<='1' THEN PST<=S3; ELSE PST<=S2;END IF; WHEN S3=>IF D1<=
45、39;1' THEN PST<=S4; ELSE PST<=S3;END IF; WHEN S4=>IF D1<='1' THEN PST<=S0; ELSE PST<=S4;END IF; WHEN OTHERS=>PST<=S4; - 按键一次则跳转下一状态,否则保持原状态; END CASE; END IF; END PROCESS REGCOM; COM:PROCESS(PST) BEGIN CASE PST IS WHEN S0=> C_C<='1'PH_C<='1'S_W<='1'H_G<='0'H<='0'C_X<='0' WHEN S1=> C_C<='1'S_W<='1'H<='1'PH_C<='0'C_X&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 富士康管理培训课件
- 家长课堂燃气安全课件
- 2026年兼职员工劳动合同执行协议
- 2026年服务器远程监控合同
- 2026年高效蔬菜大棚种植合同协议
- 2026年电商直播营销策划合同
- 2026年员工保密责任合同
- 2026年铝材定制保密合同
- 家长会安全教育课件
- 2026年2026年硬装设计委托合同
- 2025至2030PA12T型行业发展趋势分析与未来投资战略咨询研究报告
- T/CSPSTC 17-2018企业安全生产双重预防机制建设规范
- 遥感图像处理技术在城市更新中的应用
- 智慧产业园仓储项目可行性研究报告-商业计划书
- 四川省森林资源规划设计调查技术细则
- 广东省建筑装饰装修工程质量评价标准
- 楼板回顶施工方案
- DB13T 5885-2024地表基质调查规范(1∶50 000)
- 2025年度演出合同知识产权保护范本
- 区块链智能合约开发实战教程
- 2025年校长考试题库及答案
评论
0/150
提交评论