投币式邮票自动销售控制系统设计.doc_第1页
投币式邮票自动销售控制系统设计.doc_第2页
投币式邮票自动销售控制系统设计.doc_第3页
投币式邮票自动销售控制系统设计.doc_第4页
投币式邮票自动销售控制系统设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 设计指标1.1 设计要求.1.2 硬件环境.第二章 系统概述 2.1设计思想. 2.2可行性论证. 2.3各功能的组成 2.4总体工作过程第三章 单元电路设计与分析 3.1各单元电路的选择 3.2设计及工作原理分析第四章 电路的组构与调试 4.1 遇到的主要问题. 4.2 现象记录及原因分析. 4.3 解决措施及效果 4.4 功能的测试方法、步骤、设备、记录的数据第五章 结束语 5.1对设计题目的结论性意见及进一步改进的意向说明. 5.2 总结设计的收获与体会. 附图(电路总图)参考文献第1章 设计指标 1.1 设计要求(1)系统允许投入0.5元和一元2种硬币,售出面值2元的邮票。 (2)当硬币投入后,系统用七段LED数码管显示已投入的累计币值。(3)当投币累计等于2元是,输出邮票;大于2元时,输出邮票并找零。 (4)输出信号有效电平维持3秒时间,输出信号无效后回到初始状态(累计币值为0),输出信号期间不能再投币。 (5)输出信号有效时蜂鸣器以0.5秒鸣响,0.5秒间隔的方式发出提示音,输出邮票是蜂鸣器的鸣响频率为1KHz,输出邮票并找零时蜂鸣器的鸣响频率为2KHz。 (6)为保证系统上电时处于初始状态,设置一个状态复位键。 1.2.硬件环境控制系统以FPGA实现,用两个脉冲按键分别模拟投入0.5元和1元两种硬币,用两个发光二极管分别指示输出邮票和找零。累计币值用两个七段LED数码管显示,显示方式由所使用的FPGA开发装置电路结构决定。 第二章 系统概述 2.1设计思想投币式自动售货机的主要功能是累计投入的币值并作出判断,所以要求电路具有记忆功能,数字电路中的时序逻辑单元电路能够运用电路“状态”记忆输入信号的变化历程,因此本设计的基本思路是由触发器构成的时序“状态机”。存储电路可采用D触发器或JK触发器实现;组合电路可选择逻辑门、数据选择器或存储器(ROM)实现系统需要记忆的累计币值最多可能有6种情况,因此状态数可能达到6个。投币式自动销售机可以采用输出受输入信号和电路状态同时控制的米利型时序电路实现,也可以采用输入信号仅控制电路状态转换,而输出由状态控制的莫尔型时序电路实现。前者所需的状态数少,后者的输出信号与系统触发时钟同步。 2.2可行性论证 本实验的状态机的激励控制方式有多种方案。 方案一:逻辑门实现 根据组合逻辑模块的输入、输出的逻辑关系列出真值表,写出各输出函数表 达式并化简,如果有逻辑门类型的限制则根据要求变换逻辑关系,然后由逻辑函数式画出逻辑图。 实现电路如下: 方案二:数据选择器方式 方案三:只读存储器方式 存储电路采用存储器(ROM)实现 就是本实验所用的方法。本方案使电路大大简化,对初学者非常实用. 下面有详细的说明。 2.3各功能的组成系统电路根据控制功能可分为:状态与状态码确定、输入信号处理、定时电路、状态机的组合逻辑、累计币值显示电路。1、 各模块的主要功能:(1) 状态机采用米利型时序电路,四种币值累计需要四个状态记忆。设定状态A为厨师状态币值累计为0元;状态B表示投入币值累计0.5元;状态C表示已累计1元;状态D表示已累计1.5元;输入0.5元,输出邮票,投入1元,输出邮票并找零投入1 元,输出邮票投入1 元 A B C D无币投入投入0.5 元无币投入投入0.5 元投入0.5 元无币投入无币投入(2)输入信号处理,本设计采用两个按键分别模拟两种不同币值的硬币,产生两路开关量脉冲信号。选择合适的逻辑门可将两路脉冲综合为一路,采用数字单稳态电路对信号进行同步化处理,既能消除按键抖动,又可将综合后的投币信号M归化为宽度是一个CP脉冲周期的状态触发信号Y。(3)定时电路,采用定时计数器产生,系统进入状态E或F时允许循环周期为3秒的定时计数器开始计时,当定时时间到时计数器产生溢出信号Co触发状态转换。(4)状态机的组合逻辑部分,可以采用只读存储器ROM实现,根据状态编码,可列出系统的状态转移表。根据状态转移表以及ROM的输入,输出连接关系可建立ROM的数据存储器表。 A3 A2 A1 A0 16*4 ROM q3 q2 q1 q0 D1 Q1 D0 Q0X1X2CPZ2Z1 2.4总体工作过程 参考设计原理框图如下: 第三章 单元电路设计与分析 3.1各单元电路的选择 (1)、信号处理电路 如图所示的数字单稳态触发电路可以实现对信号宽度的整形功能。输入信号x1 , x2为高电平后的第一个CP的上升沿时out1和out2回到低电平。所以当x1,x2的正脉冲宽度大于一个CP周期时,out1,out2输出的是一个与CP同步,宽度恒定为1个CP周期(与x1,x2宽度无关)的正脉冲。 另外本电路还加了一个清零端E,能实现定时3s的功能。 (2) 、定时控制电路 仿真结果:采用同步置数法。置数法是通过控制同步置数端LD和预置输入端DCBA来实现模M计数器。由于置数状态可在N个状态中任选,因此实现的方案很多。我选择了同步置0法(使用前M个状态计数)来实现输出3S的信号。选用S0,S1,S2,S3共4个状态计数,计到S3状态时使LD=0,等下一个CP来到时置0,即返回S0状态。虽是模4的计数器,但当S3到达时3S引脚就会立即输出一个低电平信号,实现到达3s时停止计数,当然,定时3S还要靠时能端P. T 配合控制的。(3) 状态机电路触发器的每个激励和电路的每个输出都由存储器的一位数据输出控制端控制,存储器的地址由电路的输入X和状态机的状态变量Q控制。所以,若用只读存储器ROM实现组合逻辑模块,存储器的地址码位数是i+n,输出数据位数是j+m,存储容量是(j+m)*(i+n)。存储器中每个单元的存储内容是对应电路输入和状态机现态某个组合时的次态和输入逻辑值,所以,存储器中存储的信息就是逻辑状态表。若用ROM实现米利型状态机的组合逻辑关系,ROM的容量为16*4,地址码和数据各为4位。如果以电路输入X2X1和触发器Q1Q0控制ROM的地址A3A0,ROM的数据输出q3q0控制电路输出Z2Z1和触发器激励D1D0,根据状态转移表可列ROM的存储数据表如下图:状态机电路如上图。由于ROM的地址受输入信号控制,当输入改变时ROM的输出必须马上作出响应,以使状态机的触发脉冲有效时正确的激励信号已建立,所以在建立ROM器件时可以不设置端口控制时钟。如果器件型号限定始终必选,则时钟频率应远高于状态机的触发时钟频率,使ROM的输出延时可以忽略,呈组合逻辑特性。本电路加入了一个清零端,能手动清零复位。 (4)、显示译码动态扫描控制和累计币值显示电路subdesign yimaqi (data_in3.0 :input;a,b,c,d,e,f,g :output;)begintabledata_in3.0 =a,b,c,d,e,f,g; b0000 =1,1,1,1,1,1,0; b0001 =0,1,1,0,0,0,0; b0010 =1,1,0,1,1,0,1; b0011 =1,1,1,1,0,0,1; b0100 =0,1,1,0,0,1,1; b0101 =1,0,1,1,0,1,1; b0110 =1,0,1,1,1,1,1; b0111 =1,1,1,0,0,0,0; b1000 =1,1,1,1,1,1,1; b1001 =1,1,1,1,0,1,1; b1010 =1,1,1,0,1,1,1; b1011 =1,0,0,1,1,1,0; b1100 =0,0,0,1,1,1,0; b1101 =1,1,0,0,1,1,1; b1110 =0,1,1,1,0,1,1; b1111 =0,0,0,0,0,0,0; end table; end; 根据动态扫描显示电路设计改编,由于第一位的数码管只需要显示0和1这两个数字,所以输入端A1只需要0000和0001两种状态;第二个数码管只需要显示0和5这两个数字,所以输入端A2只需要0000和0101两个状态;第三,四位数码管需全灭,所以保持全1状态即可。(5) 、分频电路 首先设计一个分频器,采用7490构成5421BCD码十进制计数器实现十分频电路,将FPGA开发装置上的基准时钟OSC分成10MHZ1MHZ及2KZ共9个脉冲信号。(6) 输出控制 Z1表示输出邮票,Z2表示输出邮票又找零。当Z1=1,Z2=0时,选择C1输出,即输出1KHZ信号;当Z1=0,Z2=1时,选择C3输出,即输出2KHZ信号。当然蜂鸣器由本电路的OUT端和1hz脉冲共同控制,这样能实现间隔鸣叫的效果。 3.2设计及工作原理分析第4章 电路的组构与调试4.1 遇到的主要问题 1、数码管显示乱码 2、按键模拟投币后数码管显示一段时间后又清零 3、出邮票时不能锁住按键输入。 4、按键不能复位 5、系统没有通4.2 现象记录及原因分析 1、按键后数码管显示含有除了0,1,5之外的数字,并且有一定的规律,比如含有8,或9. 这是由于译码器编程时赋值有错误,属于编程错误。 2、按键模拟投币后数码管显示一段时间后又清零,比如,按0.5元的按键,数码管显示0.5过以后数码管又变成0.0,。这是由于D触发器的清零端连接的问题,当按键后3s显示正常,但3s后就会清零,因为我发现D触发器的清零端连接到3s的输出端了。所以3S后就会复位(变成0.0). 3、投币到2元后就会出邮票,这个期间再按键数码管还会变化,说明出邮票时没有把输入端锁起来。 4、把输入信号的D触发器的清零端连接一个负脉冲按键,但按复位键后没有反应,这是因为按键信号到数码管显示有一定的传输时间,在到达数码管显示电路之前输入信号已被锁起来。 5、无论怎么按键,数码管都没有反应,系统没有调通,这是因为我的ROM制作有错误。4.3 解决措施及效果 1、把译码器的编程正确修改后,数码管显示就正常了。按相应的按键会显示预期的结果。 2、把D触发器的清零端连接到邮票输出端并加一个反相器,这样只有当到达2元,出邮票时才会清零。 3、在输入信号处理的D清零端引出一个使能端,经过反相器连接到邮票的输出端,连好后,出邮票时就可以锁住按键输入了。 4、把复位按键连接到ROM 后面的D触发器的清零端,或者在3s锁存信号的传输线上加一个D触发器,并用低频率的脉冲控制时钟信号。 连好后就可以按键复位了。 5、找同学进行询问学习后,掌握了制作ROM的正确方法,重新制作好后,系统就通了。4.4 功能的测试方法、步骤、设备、记录的数据 1、测试方法:直接通过按键,观察数码管显示是否正确,LED显示是否正常,蜂鸣器鸣叫是否正确。 2、步骤: (1) 按下X1(0.5元)键显示正常后再按复位键看是否能复位(数码管变成0.0),能复位进入第二步。 (2)按下X1连续4次,正常的话应该是:L1(LED)亮,蜂鸣器以1KHZ的频率间隔鸣叫,并且持续3S,在这3S内,按X1或X2键系统都没有变化,如满足上述陈述,说明正常,进入第三步。 (3)按下X2连续2次,观察和步骤二的一样的现象。如果正常,进入第四步进行测试。 (4)随机按下X1或X2直到出现上述现象为止,观察是否满足要求。3、 设备:按键,LED,数码管,蜂鸣器。4、 记录数据:无第5章 结束语 5.1对设计题目的结论性意见及进一步改进的意向说明 此设计已初步实现了自动贩卖邮票的系统的设计,本设计较贴近生活。用按键模拟投币的过程使设计进行了简化,实际运用时加上投币识别模块,并再进行适当的优化,便可以方便人们的生活。 当然,本电路的设计还有待进一步的优化。 5.2 总结设计的收获与体会 通过本次设计,进一步的了解了数字电路设计的整个过程。从首先分析设计需求到确定整个时序,进行单元模块设计进一步分模块设计,从软件仿真找出错误到程序下载,再进行硬件调试。这整个过程都需要设计人员对于硬件设备,软件设备以及设计需求相当熟悉。在此次设计中,遇到了很多困难,对于FPGA硬件不熟悉,整个软件环境又十分陌生,通过老师讲解以及自己仔细翻阅资料,与同学相互讨论才使此次设计最终能比较圆满的完成。根据此次设计,作为设计者也能体验到,任何一个设计都是从无到有,从软件仿真中有许多errors和warnings最终才一一解决。可以不难发现,清楚设计思路以及排查各个模块与整个模块的衔接及查找warnings是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论