DSP数字时钟设计.docx_第1页
DSP数字时钟设计.docx_第2页
DSP数字时钟设计.docx_第3页
DSP数字时钟设计.docx_第4页
DSP数字时钟设计.docx_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 报 告设计名称专业班级学生姓名学 号指导教师完成时间:DSP原理及应用课程设计 : 自动化1242 : 潘成 : 1104421226 : 钟菲 徐航 : 2016年3月24日 成 绩 评 定考核内容平时表现设计报告设计成果和答辩综合评定成绩成绩长 春 工 程 学 院纪律要求和成绩考核办法(纪律要求和成绩考核办法打印在封皮背面)1不允许在实验室内吸烟、吃零食、玩手机,累计警告三次者,考核成绩降为及格,屡教不改者成绩不及格;不准带无关人员到实验室活动,否则扣平时表现分。2参加本次课程设计时间不足三分之二或旷课3天以上者,不得参加本次考核,按不及格处理。 3病事假必须有请假条,需经班主任或有关领导批准,否则按旷课处理。4过程考核和综合成绩在教师手册中要有记载。5课程设计的考核由指导教师根据学生平时表现(出勤、学习态度、工作进展、遵守纪律情况等)、设计成果(完成情况)、设计报告是否规范、答辩等几个方面,结合考核纲要规定的各项成绩权重,综合后给出课程设计总成绩。6成绩评定采用五级分制,即优、良、中、及格和不及格。7课程设计结束一周内,指导教师提交课程设计成绩和课程设计总结。基于DSP的数字时钟设计1、 系统设计任务及功能概述(一)硬件电路设计,包括TMS320LF2407基本电路、数码显示电路和基本按键,需要用altium designer软件完成原理图;(二)软件设计,主要指应用片上定时器作为时钟源编写数字钟程序,数字电子钟功能要求能调小时、分钟、秒钟,还有随时暂停的功能等,在实验箱上运行调试成功并能用数码管显示;(三)课程设计报告,包括总体设计方案、硬件电路设计和软件设计的具体说明。2、 设计方案论证(一)数字时钟方案数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。而且,由于是软件实现,当DSP芯片不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。(二)数码管显示方案方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省I/O口和降低能耗出发,本设计采用方案二。(三)秒时间显示方式选择方案本次设计的延时可以采用内部定时器与软件结合的1秒延时,也可以直接编写一个延时程序,实现1秒延时。方案一:本方案采用内部定时器实现1秒延时。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒达到60,则将其清零,并将相应的分加1;若分达到60,则清零分,并将时加1;若值达到24,则将十字节清零。方案二:本方案完全用软件实现1秒延时。原理为:编写一个延时函数DELAY,用for语句实现秒值循环从0加到60,秒每加1,调用一次延时函数,当秒值大于60,则将分加1,当分加到60,则将分赋0值,并将时加1,当时加到24,将时赋0值。本方案采用的延时方法编程简单,容易理解。结论:根据两种方案的比较,第二种方案编写程序简单易懂,所以采用第二种方案。3、 硬件设计(一)总体思路DSP2407最小系统是整个芯片能正常运行的最基本要求,首先由 DSP最小系统的设计包括电源转换电路、复位电路等组成。然后利用TMS320LF2407芯片制作简易电子时钟,利用芯片上的定时器编写的时间子程序,继而写出主函数程序。总的模块由6个LED数码管显示、四个按键调试时间、数码管驱动模块74HC273及数码管位选模块74HC138构成。图1 系统框图 (二)组件介绍1.TMS320LF2407芯片(1). 高性能静态CMOS技术,供电电压为3.3V,指令周期为33ns(2)片内有高达32K字的FLASH程序存储器(3)2KB SARAM,544字DARAM,外扩64千字的程序ROM,64千字的数据RAM(4)两个事件管理器EVA和EVB(5)可扩展外部存储器总共192K字空间:64K程序存储空间,64K字数据存储器空间,64K字I/O寻址空间(6)0看门狗定时模块(7)10位A/D转换器(8)控制局域网络CAN模块(9)串行通信接口SCI模块(10)16位串行外设SPI接口模块(11)基于锁相环PLL的时钟发生器(12)高达40个可单独编程或复用的通用I/O引脚(13)5个外部中断(14)电源管理包括3种低功耗模式,能独立地将外设器件转入低功耗工作模式图2 TMS320LF24072. 位选芯片74HC13874HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC138可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。74HC138与74HC238逻辑功能一致,只不过74HC138为反相输出。74HC138译码器可接受3位二进制加权地址输入(A, B和C),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(-S2和-S3)和一个高有效(S1)。除非S2和S3置低且S1置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需1片74HC138芯片即可轻松实现6个数码管的选择导通。如图3所示: 图3 74HC138译码器3.驱动芯片74HC27374HC273是一款高速CMOS器件,74HC273引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC273具有八路边沿触发,D 型触发器,带独立的D输入和Q输出。74HC273的公共时钟(CLK)和主复位(-CLR)端可同时读取和复位(清零)所有触发器。每个D输入的状态将在时钟脉冲上升沿之前的一段就绪时间内被传输到触发器对应的输出(Qn)上。一旦CLR输入电平为低,则所有输出将被强制置为低,而不依赖于时钟或者数据输入。74HC273适用于要求原码输出或者所有存储元件共用时钟和主复位的应用,如下图4所示: 图4 74HC2734.数码管显示 下图为共阴极数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由DSP控制器控制组合09十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的,如下图5所示:图5 LED 数码管5.外部时钟电路DSP2407A最小系统时钟硬件设计有两种工作方法。一种是利用锁相环时钟模块PLL中提供的内部振荡电路,在DSP芯片的引脚XTAL1/CLKIN与XTAL2之间连接一晶振,启动内部振荡器。另一种方法是不使用片内的振荡电路,完全由外部有源晶体振荡器产生时钟信号,直接接入XTAL1/CLKIN引脚,此时,XTAL2脚悬空。这种方法称为晶振方式。但着一方式仍是用片内的PLL倍频电路来对这一来自片外的时钟进行倍频,以产生所需的时钟。在此次设计中我是用第二种方式电路图如下图6所示:图6 外部时钟电路图6. 电源电路2407本设计不需要用到1.8V的电压所以选择使用TI公司的TPS76333作为DC/DC转换芯片。它是一个LDO电压调节器, 0.15A, 3.3 V输出 3%, 2.7 10 V输入,可输出一路+3.3V固定电压。电源电路原理图如下图所示。+3.3V输出电压供LF2407A使用。其原理图如图7所示:图7 电源电路电路图7. 按键电路设计采用五个按键的设计。都实现以下的五个功能调时、调分、启动、停止、4个功能,外加复位系统一个按键,基本满足了设计需求,采用独立按键的设计方便简单,制造难度小,但同时如要拓展则会占用其他端口,但设计并没考虑功能拓展设计所以不再考虑。其电路图如图8所示:图8 按键电路原理图4、 软件设计(一)程序流程图图9 电子时钟程序流程图(二)程序清单程序编写如下:#include F2407REGS_c.hunsigned int sec,min,hour,i;unsigned char table=0xFF3F,0xFF06,0xFF5B,0xFF4F,0xFF66, 0xFF6D,0xFF7D, 0xFF07,0xFF7F, 0xFF6F; /程序初始化unsigned char tablewe=0xFF00,0xFF01,0xFF02,0xFF03,0xFF04,0xFF05,0xFF06;void delay(unsigned int j);void main() /主程序 DSP2407_Initialing(); Ioport_Initialing(); asm(CLRC INTM); EVAIMRA= EVAIMRA|0x0080; /仅允许定时器1的周期中断 EVAIMRA=EVAIMRA&0x0080; /清除定时器1的周期中断 T1CON=0x170C; /timer1为连续增计数模式,预分频值为128,使用内部时钟 T1PER=0xF424; /timer1的周期寄存器值设为200ms T1CNT=0x00; /timer1的计数器清0 sec=0;min=0;hour=0;i=0; While(1) PCDATDIR=0x00FF; if(i=5) /i等于5为1秒 i=0; sec+; /秒加1 PBDATDIR=tablewe0; /选通秒的个位 PFDATDIR=0xFF01; /选通74HC273 PADATDIR=tabalesec%10; /秒个位显示 PFDATDIE=0xFF00; /关断74HC273 PBDATDIR=table1; /选通秒的十位 PFDATDIR=0xFF01; /选通74HC273 PADATDIR=tablesec/10; /秒十位显示 PFDATDIR=0xFF00; /关断74HC273 if(sec=60) sec=0; min+; /分钟的显示 PBDATDIR=table2; PFDATDIR=0xFF01; PADATRDIR=tablemin%10; PFADATDIR=0xFF00; PBDATDIR=tablewe3; PFDATDIR=0xff01; PADATDIR=tablemin/10; PFDATAIR=0xFF00; if(min=60) min=0; hour+; /小时的显示 PBDATDIR=tablewe4; PFDATDIR=0xFF01; PADATDIR=tablehour%10; PFDATDIR=0xFF00; PBDATDIR=tablewe5; PFDATDIR=0xFF01; PADATDIR=tablehour/10; PFDATDIR=0xFF00; if(hour=24) hour=0; if(PCDATDIR=0x00FE) /按键T1,时、分、秒复位为0 delay(100); /调用延时程序 PCDATDIR=0x00FE; min=0; sec=0; hour=0; if(PCDATDIR=0x00FD) /按键T2,时钟停止计时 delay(100); PCDATDIR=0x00FD; PFDATDIR=0xFF00; if(PCDATDIR=0x00FB) /按键T3,时钟开始计时 delay(100); PCDATDIR=0x00FB; PFDATDIR=0xFF01;if(PCDATDIR=0x00F7) /按键Tm,调分 delay(100);PCDATDIR=0x00F7;min+;if(PCDATDIR=0x00EF) /按键Th,调时 delay(100);PCDATDIR=0x00EF;hour+; void interrupt INT2() /定时器中断程序 swith(PIVR) /有外设中断向量寄存器PIVR判断 case 0x0027: i+; T1CNT=0x00; EVAIFRA=EVAIFRA&0x0080; break; default; break; void delay(unsigned int j) /延时程序 unsigned k,m; for(m=0;mj;j+) for(k=0;kNew。(3) 在Project Name框里输入工程名:LED。点击Finish,CCS创建一个叫做LED.prj的工程文件。(4) 选择Project-Add files to Project,把文件加到工程里。你也可以在左边的工程视图窗口里右击工程,选择 Add files to Project。(5) 从你所创建的文件夹里添加 main.c, DoLoop.c, 和lnk.c(映射内存的连接命令文件)。3. 编译工程:单击“Project”菜单,“Rebuild all”项,编译工程中的文件,生成Timer.out文件。4. 下载程序:单击“File”菜单,“Load program”项,选择F:2407ALab3-Timer目录中的Timer.out 文件,通过仿真器将其下载到2407A DSP 上。5. 运行程序观察结果:单击“Debug”菜单,“Run”项,运行程序,查看结果。单击“Debug”菜单,“Halt”项,停止程序运行(2) 调试结果基本完成了设计要求。实现了调小时、分钟、秒钟,还有随时暂停的功能等,在实验箱上运行调试成功并能用数码管显示,所以设计是成功的。6、 总结这次的课程设计是十分有意义的,而且是十分必要的。一方面经过了大学四年的专业知识的学习已经储备了比较充足的相关方面知识;另一方面,即将走向社会,创新设计给了我们一个机会来使我们将

温馨提示

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

评论

0/150

提交评论