电子综合设计报告(推荐)_综合电子设计报告
电子综合设计报告(推荐)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“综合电子设计报告”。
电子综合设计报告
课题:数字定时器
组号:06
组员:蔡德森(20092201)09通信2班
蒙文川(20092205)09通信2班 指导老师:叶文霞
2011年7月30日 西南交通大学
一、方案设计
1、方案论证与设计
设计任务:用CPLD(EMP570T100C5)设计制作一个数字定时器电路。论证:本课题主要需要对数字电路有过学习,同时对编程技术尤其是数字电路的编程要求较
高,对电子工艺基础有足够的了解,能够规范实现测试、电路安装及焊接,对基本的元器件会使用及测试。能够遵守实验室准则,满足课题老师要求。设计要求(1)基本功能
具有定时时间设置功能,定时调整步长有30秒、1分钟、10分钟和30分钟四种,最大定时时间是60分钟;具有启动、取消/停止、暂停功能,启动后以倒计时方式显示剩余时间,定时结束提示(声/光 提示)。
(2)提高部分:计时功能;提供预约功能,可设置预约时间(60分钟以内),预约时间到则执行某项操作;其他扩展功能。
2、系统原理框图(含工作原理介绍)
工作原理介绍:
功能键包括【开始停止】、【暂停继续】、【预约取消】;按键包括【定时增加】(30s,1min,10min,30min)和【清零】。其中【定时增加】(30s,1min,10min,30min)和【预置清零】由不带锁按键控制,【开始停止】、【暂停继续】和【预约取消】由带锁按键控制。
·停止时计数器默认为预置状态,此时通过四个【定时增加】可以设置初始时间。·开始后,开始减计数;连续计数过程中通过【暂停继续】暂停或继续。·计数结果输出后先通过译码对应数码管,再输入数码管显示。·分频电路由5.56MHz分出几个频率,作用分别如下:
Cp1:提供时间预置时【定时增加】(30s,1min,10min,30min)的高电平响应频率,从而可通过长按【定时增加】快速设置初始时间; Cp2:1Hz,提供计数器以每1s计数一次,从而实现倒计时功能; Cp3:提供四位数码管进行动态扫描,扫描频率为200Hz左右。
·定时结束处理包括显示及后续任务。具体为指示灯亮及另一段计数开始(扩展功能)。
3、主要电路设计与参数计算(各单元电路)CPLD内部程序电路:
①CPLD内部时钟
②分频电路
内部程序
module divide(cp,vcc3_3,cp0,cp1,cp2,cp3);input cp;output reg cp1,cp2,cp3,cp0;output vcc3_3;parameter N=5500,M=1000,K=5,P=200;integer i=0,j=0,y=0,x=0;aign vcc3_3=1;always@(posedge cp)//cp0:1000HZ begin if(i
endmodule ③时间设置电路
内部程序
module set(point,cpset,nrst,t1,t2,t3,t4,t5,q3,q2,q1,q0);input nrst,t1,t2,t3,t4,t5,cpset,point;output[3:0] q3,q2,q1,q0;reg[3:0] q3,q2,q1,q0;always@(negedge cpset)begin if((~nrst)&& point)begin
if(t5)
{q3,q2,q1,q0}
else if(t4)
begin
if(q3>=4'h7)q3
end //m10
else if(t3)
begin
if(q3>=4'h9)q3
end //m1
else if(t2)
begin
if(q2>=4'h9)q2
end //s30
else if(t1)
begin
if(q1>=4'h3)q1
end end end endmodule ④非预约下计数
内部程序
module timer_unpoint(minh,minl,sech,secl,alarm,nrst,npause,cp,q3,q2,q1,q0);input nrst,npause,cp,q3,q2,q1,q0;wire [3:0]q3,q2,q1,q0;output[3:0] secl,sech,minl,minh;reg[3:0] secl,sech,minl,minh;output alarm;aign alarm=({minh,minl,sech,secl}==16'h0000)&(nrst==1'b1);always@(posedge cp)begin if(~nrst){minh,minl,sech,secl}={q3,q2,q1,q0};else begin if(~npause){minh,minl,sech,secl}
end else minl
内部程序 module timer(point,minh,minl,sech,secl,alarm,alarm1,nrst,npause,cp,q7,q6,q5,q4);input point,nrst,npause,cp,q7,q6,q5,q4,alarm;wire [3:0]q7,q6,q5,q4;output[3:0] secl,sech,minl,minh;reg[3:0] secl,sech,minl,minh;output alarm1;aign alarm1=({minh,minl,sech,secl}==16'h0000)&(nrst==1'b1);always@(posedge cp)begin if(~nrst){minh,minl,sech,secl}={q7,q6,q5,q4};else if(alarm && point)begin
if(~npause)
{minh,minl,sech,secl}
else if({minh,minl,sech,secl}==16'h0000)
{minh,minl,sech,secl}
else if(secl==4'h0)begin secl
end else minl
else secl
内部程序 module display(nrst,alarm,point,minh,minl,sech,secl,pminh,pminl,psech,psecl,cp1,dis1,dis2);input cp1,point,alarm,nrst;wire cp1;input[3:0] minh,minl,sech,secl,pminh,pminl,psech,psecl;output[7:0] dis1;output[3:0] dis2;reg[7:0] dis1;reg[3:0] dis2;integer n=0;function[7:0] dis;input[3:0] data;begin case(data)4'h0:dis=8'h02;4'h1:dis=8'hF2;4'h2:dis=8'h48;4'h3:dis=8'h60;4'h4:dis=8'hB0;4'h5:dis=8'h24;4'h6:dis=8'h04;4'h7:dis=8'h72;4'h8:dis=8'h00;4'h9:dis=8'h20;endcase end endfunction always @(posedge cp1)begin if(~point)begin if(n==3)n=0;else n=n+1;case(n)0:begin dis2
endmodule4、总体电路图
限流电阻:Rs=1KΩ。发光二极管:绿,10mA。
数码管使用四位七段数码管(共阳)。
二、测试步骤
设计阶段:
数码管引脚位、段测试。测试4位数码管选定位、段的引脚及所需的高低电平; 各单元电路仿真及下载测试。编程结束后下载测试单元电路功能,修改,完善; 功能模块组合测试。组合单元电路成为功能模块,下载后测试,修改,完善; 总功能测试。整合各功能模块,测试功能,修改,完善。
要点:
1、注意分配引脚,分清数据的低位和高位。
2、稳扎稳打,化整为零,分部测试,及时记录。
难点:要求在对整体思路把握明确下测试,避免出现模块之间不相容、相似模块混淆的的情况。焊接阶段:
测试开关引脚。首先用万用表测出按下开关前后哪几个引脚是相连的,初步标记;其次需要将开关放置于面包板上,将发光二极管连入电路,看开关是否能点亮和熄灭二极管,并记下开关的各引脚。
测试各焊点是否短接、虚焊。用万用表调制电阻挡,测各接地点、接3.3V电源点是否相连,并且测两相邻焊点是否短接。
要点:
1.、实验所用开关的两端分别接电源和地,中间引脚接芯片IO口 2.、二极管的单向导电性以及考虑限流电阻
难点:保证发光二极管在测试过程中尽量不烧坏。
三、测试数据及实验结果
设计阶段
数码管引脚位段测试结果:
供高电平不大于3.3v 整合后的模块测试结果 取消预约时
①停止且暂停,测试【定时增加】四键有效。结果:可置数;
②开始且继续,数码管显示倒计时,时间到指示灯亮。结果:可正常计时(倒); ③开始且继续,之后暂停,再继续。结果:计时中可暂停(恢复); ④停止且继续。结果:计时可停止。开启预约时
重复①-④步。结果:③步中不可暂停,预约功能实现,且预约时不可暂停。焊接阶段 限流电阻Rs>5/0.01x1000Ω=500Ω,选1k; 开关引脚测试:略。EPM570引脚图:
四、结论
1、本方案特点及存在的问题 特点:可通过长按【定时增加】键快速设置时间;实现了提高部分中的预约功能(分段定时)。缺陷:【定时增加】键可能会出现不灵敏的状况;冒号有时显示不完全。
2、功能扩展方案 I、预约(已实现):通过分段定时实现,及一段计数结束后开始另一段计数。
方案:
一个计数器工作结束后提示另一个计数器开始工作。用【预约/取消预约】来控制是否选择此功能,同时控制内部电路的工作。
设计问题解决:
显示电路囊括预约开始前和开始后的计数,需要多个控制其控制其输出。II、计时功能(未实现):由零开始加计时,停止后显示经过时间;
方案:
通过一个加法计数器实现计时功能(因与基本功能有所重复,未设计); 设计过程中可能遇到的问题:
需要通过另设按键选择定时或计时功能;基本功能键的共享实现。III、计时结束显示流水灯(未实现)
方案:
通过在显示模块,由计数器通知是否结束计时,若是,在数码管显示流水灯; 设计过程中可能遇到的问题: 流水灯的频率控制;需要另外编译和测试流水灯译码电路。
五、【数字定时器】使用说明
基本功能键 【开始停止】
开始(按下):由设置的时间开始倒计时; 停止(弹起):停止计时,回到开始前设置的时间;可设置新初始时间
【暂停继续】
暂停(弹起):暂停计时;预约功能下二段计时暂停无效; 继续(按下):继续计时;
扩展功能键 【预约取消】
预约(按下):开启预约功能,同时可设置第二段计时; 取消(弹起):关闭预约功能,同时可设置第一段计时初始时间;
按键【定时增加】加30秒钟:初始时间加30秒。超过60秒不进位,十秒位置零;
【定时增加】加1分钟:初始时间加1分钟。超过10分不进位,一分位置零;
【定时增加】加10分钟:初始时间加10分。超过100分不进位,十分位置零;
【定时增加】加30分钟:初始时间加30分。超过100分不进位,十分位置零; 以上四键可通过长按实现连续加时;
【清零】在停止状态下可将预置的时间清零;开始状态下无效。
六、实物图(电路)