您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 自动售水机控制器的设计剖析
题目:自动售水机控制器的设计一、大作业摘要–该项目主要解决直饮水销售机在销售过程中的销售处理和故障报警,维修报警通知等问题。主要用于学校和小区内直饮水的销售终端机。甚至于延伸进入用户家庭的一种销售终端处理器。–在制作过程中,存在很多问题,例如编译错误,而自己无法找到错误,最终在请教老师以及与同学讨论后才找出错误。还有一部分问题时暂时解决不了。例如在设计时,有一些非常好的想法,如在错误状态下控制器的自我判断与处理,对于卡内余额的显示和处理。但是由于目前掌握的知识和能力有限,并不能很好的设计这样的装置。所以只能暂时搁浅,选择较为简单的方式。不过在以后的学习和实践过程中,一定能解决这些问题。二、设计的背景、目的和意义背景:人居环境和生活水平的提高,居民对饮用水的安全关注度逐渐提高,一些饮水安全问题的曝光也激发了人们对安全饮用水需求的突增。目的和意义:现有饮用水机器控制器不能准确选择水量,出现故障后无法及时报修,易长时间陷入瘫痪状态。故此设计目的在于优化饮水机控制系统,使其更加人性化,能及时处理和排除故障。三、设计任务及要求–处理输入信号,对选定的购水量做出对应的操作。–能够判断但前状态是否正常,是否能够满足售水要求,并给出错误报警。–在机器出现故障时,能输出通知信号,通知维修人员进行检修。四、确定输入和输出变量•输入:•1.选择水量3个输入信号(模拟3个不同档位水量选择)•2.刷卡输入信息(模拟刷卡信息确认)•3.机身水量信息(模拟检测储水量是否足够)•4.净水装置正常运作(模拟检测净水装置是否正常)•5清零信号(数据清零,进入初始状态,模拟退卡)•输出•1.出水3个输出信号(模拟不同出水量档位)•2.报警——1个信(模拟错误报警)•3.通知——1个信号(模拟通知维修人员的信号)六、整体设计框图初始状态数据输入与处理正常状态三档位输出水量异常状态报警异常状态通知维修十、状态机设计(状态转换图)十二、状态机设计VCCclkINPUTVCCnrstINPUTVCCflow[2]INPUTVCCflow[1]INPUTVCCflow[0]INPUTVCCmoneyINPUTVCCjsslINPUTVCCzcINPUTchus[0]OUTPUTchus[2]OUTPUTchus[1]OUTPUTbjOUTPUTtzOUTPUTidle0000UnsignedBinaryweixiubaojing0001UnsignedBinaryzhengchang0010UnsignedBinarybaojing0100UnsignedBinaryweixiu1000UnsignedBinaryParameterValueTypeclknrstflow[2..0]moneyjsslzcchus[2..0]bjtzcontrolinstflow[2..0]chus[2..0]chus[0]chus[1]chus[2]flow[0]flow[1]flow[2]十二、状态机设计modulecontrol(clk,nrst,flow,money,jssl,zc,chus,bj,tz);inputclk;//系统时钟inputnrst;//复位信号,即取卡信号input[2:0]flow;//水量选择inputmoney;//余额是否充足inputjssl;//机身水量是否充足inputzc;//饮水机是否正常工作output[2:0]chus;//出水outputbj;//报警信号outputtz;//通知维修十二、状态机设计reg[2:0]chus;regbj,tz;//将输出定义为reg型,可以储存数据reg[3:0]cs;//当前状态reg[3:0]ns;//下一个状态parameter[3:0]idle=4'b0000,weixiubaojing=4'b0001,zhengchang=4'b0010,baojing=4'b0100,weixiu=4'b1000;//四个状态,空闲,正常工作,报警状态(余额不足),通知维修(饮水机水量不足或故障),报警并通知维修(余额不足且饮水机水量不足或故障)十二、状态机设计//第一个always语句块,顺序状态转化always@(posedgeclk,negedgenrst)beginif(!nrst)cs=idle;elsecs=ns;end十二、状态机设计//第二个always语句块,根据不同的输入转换到不同的状态always@(nrst,cs,flow,money,jssl,zc)begincase(cs)idle:begincase({money,jssl,zc})3'b111:ns=zhengchang;3'b110,3'b101,3'b100:ns=weixiu;3'b011:ns=baojing;3'b010,3'b001,3'b000:ns=weixiubaojing;endcaseend十二、状态机设计zhengchang:begincase({money,jssl,zc})3'b111:ns=zhengchang;3'b110,3'b101,3'b100:ns=weixiu;3'b011:ns=baojing;3'b010,3'b001,3'b000:ns=weixiubaojing;endcaseend十二、状态机设计zhengchang:begincase({money,jssl,zc})3'b111:ns=zhengchang;3'b110,3'b101,3'b100:ns=weixiu;3'b011:ns=baojing;3'b010,3'b001,3'b000:ns=weixiubaojing;endcaseend十二、状态机设计weixiu:begincase({money,jssl,zc})3'b111:ns=zhengchang;3'b110,3'b101,3'b100:ns=weixiu;3'b011:ns=baojing;3'b010,3'b001,3'b000:ns=weixiubaojing;endcaseend十二、状态机设计weixiubaojing:begincase({money,jssl,zc})3'b111:ns=zhengchang;3'b110,3'b101,3'b100:ns=weixiu;3'b011:ns=baojing;3'b010,3'b001,3'b000:ns=weixiubaojing;endcaseend十二、状态机设计baojing:begincase({money,jssl,zc})3'b111:ns=zhengchang;3'b110,3'b101,3'b100:ns=weixiu;3'b011:ns=baojing;3'b010,3'b001,3'b000:ns=weixiubaojing;endcaseendendcaseend//第二个always结束十二、状态机设计//第三个always模块,状态机的输出,根据状态不同输出不同的信号always@(posedgeclk,negedgenrst)beginif(!nrst){chus[2:0],bj,tz}=5'b11111;elsebegin{chus[2:0],bj,tz}=5'b11111;十二、状态机设计case(cs)idle:{chus[2:0],bj,tz}=5'b11111;weixiubaojing:beginchus=3'b111;{bj,tz}=2'b00;endzhengchang:beginchus={~flow[2],~flow[1],~flow[0]};{bj,tz}=2'b11;endbaojing:beginchus=3'b111;{bj,tz}=2'b01;endweixiu:beginchus=3'b111;{bj,tz}=2'b10;endendcaseendendendmodule十三、RTL图clkDecoder0:OUT[3]Decoder0:OUT[7]resetWideOr0WideOr1weixiubaojingzhengchangbaojingweixiuDENAQPRECLRDENAQPRECLRDENAQPRECLRDENAQPRECLRIN[2..0]OUT[7..0]DECODERDENAQPRECLRSELDATAADATABOUT0MUX21bj~0chus[1]~reg0chus[2]~reg0WideOr1chus~[2..0]3'h7--clknrstbjtzchus[2..0]tz~0flow[2..0]csWideOr0bj~reg0Decoder0chus[0]~reg0tz~reg0moneyjsslzc十四、仿真时序图机器故障正常缺水报警报修十五、演示照片初始状态插卡水量输出报警维修水量选择刷卡水量正常十五、演示照片3种正常状态输出十五、演示照片错误状态:读卡信息错误,余额不足。【仅报警】十五、演示照片水量不足,通知维修人员机身故障,通知维修人员十五、演示照片故障情况下插卡购水,报警提示并且通知维修人员。十五、演示照片退卡,机器复位~十六、设计结论及评价•优点:能够准确输出需要水量,按需购买,节约资源。并且及时故障报修,避免影响用户用水需求。•不足:不能自我检测排除故障。智能处理能力不足。需要再加入更加人性化、智能化的设置和设备,使设备更具有应变能力和高效的工作能力。•结论:该系统能够满足一般小范围的低要求终端使用。但存在一定的缺陷,需要通过控制器的设计和硬件处理才能更加智能和适用。谢谢大家!
本文标题:自动售水机控制器的设计剖析
链接地址:https://www.777doc.com/doc-3608495 .html