课程设计说明书(本科)题目: 时钟日历姓名:专业: 电子信息工程班级: 09级一班2012年 6 月目录摘要 (1)一、硬件设计 (1)1、硬件方案设计 (1)2、单元电路设计 (2)3、电路原理图 (5)4、硬件调试 (6)二、软件设计 (6)1、系统分析 (6)2、软件系统设计 (7)3、软件代码实现 (9)4、软件调试 (24)四、课程设计体会总结 (24)五、参考文献 (24)时钟日历摘要:课程设计的主要目的是用tms320f2812芯片为核心控制部件,设计一个能用LCD液晶显示屏显示当前年,月,日,时,分,秒以及星期的具有电子时钟功能的万年历。
⑴学习并了解ICETEK-F2812-A板及教学实验箱的使用;⑵学习DSP芯片的I/O端口的控制方法;⑶熟悉字模的简单构建和使用;⑷熟悉Emulator方式下的程序调试规程,并最终能够熟练掌握在DSP软硬件环境下的程序开发流程;能够对现有器件进行简单地编程,实现各种简单地显示控制。
关键词:dsp 时钟日历一、硬件设计1、硬件方案设计本系统以TMS2812为核心控制部件,利用软件编程,通过DS1302进行时钟控制,使用12864 LCD液晶显示器进行时钟显示,能实现题目的基本要求,尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。
由于时间有限和本身知识水平的发挥,我们认为本系统还有需要改进和提高的地方,例如选用更高精度的元器件,硬件电路更加精确稳定,软件测量算法进一步的改进与完善等。
总体框图如图1所示。
GND +5VADD PWM4PWM3VSS PWM2V0IOPA7IOPA6IOPA5 RESTIOPA4IOPA3 OSCBYPTXAL1TXAL2IOPB0- IOPB7ECS1CS2R/WRS DB0-DB7RSTI/OSCLKVCC1/VCC2X1/X2GND复位电路OSCBYP为高电平。
采用内部振荡双电源32768hz 10KDS1302图1 电路总体框图2、 单元电路设计1)、 控制部件 TMS320F2812结构及性能本次课设所使用的TMS320F2812是ICETEK-F2812-A 型DSP 用户板中集成试验箱,所以下面主要对该板各个板块及其功能的描述。
图2-1 F2812-A 板的实物图下面说明该些接口及其功能如表2-1:在本次设计中主要用到P1口中的pwm 引脚作为I/O 口来传送数据。
P1 接口主要是扩展评估板上空闲的DSP 外设引脚,以便于定制用户的硬件环境。
由于这组引脚是直接来自于F2812 DSP 芯片,因此,这些引脚为TTL 3.3V 标准,其输出最高电压为3.3V 。
所以在ds1302中要用四个二极管来降压,关于其接口的设置可以用软件对每个引脚功能设计。
手动复位开关 参考电压选择用户使用的开关 5V 电源开关 用户使用的指示灯5V 电源接口 CAN 总线接口 DSP 仿真器接口 模式选择跳线九针D 型串口表2-1接口和功能分类 功能分类接口名称 接口定义 电源接口POWER 5V 电源输入 外设接口DB9 九针D 型串口总线接口P1 34芯外扩总线 P2 34芯外扩总线 P3 34芯外扩总线 P4 34芯外扩总线 指示灯POW_LED 电源指示灯 USER_LED 用户使用的发光管 辅助接口DSP_JTAG :DSP 仿真器接口 开关USER_SW 用户使用的开关 RESET 手动复位开关JP3 SCI 选择 AD 参考电压选择ADREFLO1 AD 参考低电压输入 ADREFIN1 测试端,必须悬空 模式选择跳线 MP/MC1 MP/MC 方式选择 MDXA1 SCITXDA1SPICLKA1SPISTEA12)、 时钟芯片 DS1302结构及其功能⑴ DS1302的引脚 图2-2 DS1302的引脚图图2-2DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V 时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz 晶振。
RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。
RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。
当RST 为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。
上电运行时,在Vcc ≥2.5V 之前,RST 必须保持低电平。
只有在SCLK 为低电平时,才能1 8 2 7 3 6 4 5I/O RST SCLK GND VCC2 X2X1VCC1将RST 置为高电平。
I/O 为串行数据输入输出端(双向),后面有详细说明。
SCLK 始终是输入端。
⑵ DS1302的结构及工作原理DS1302 是美国DALLAS 公司推出的一种高性能、低功耗、带RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V ~5.5V 。
采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM 寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
⑶ DS1302的控制字节表2-2 DS1302的控制字节DS1302 的控制字如图2所示。
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
⑷ 数据输入输出(I/O)在控制指令字输入后的下一个SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
⑸ DS1302的连接DS1302与CPU 的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。
如图2-3:1 RAMCK A4 A3 A2 A1 A0 RAMK图2-3 DS1302连接图3)、显示模块 LCD12864液晶显示采用LCD12864液晶显示。
液晶显示器(LCD)具有功耗低、体积小、重量轻、超薄等许多其它显示器无法比拟的优点。
12864分左屏和右屏是由两块64*64的液晶组成,有CS1和CS2左右屏使能引脚。
64*64的共分8页, 8行led液晶是一页,每行分别是由DB0_DB7控制,也就是从单片机中发64次8位的二进制数可以扫一页,发64(8页)次的二进制数可以扫一个半屏,再乘以二就可以扫全屏,当把二进制数全发完了,才可以控制液晶开始显示。
单片机可以通过数据总线与控制信号直接采用存储器访问形式、I/O设备访问形式控制该液晶显示模块。
液晶显示模块的访问、控制是由2812DSP 对扩展扩展接口的操作完成。
控制扩展口的寻址:命令控制扩展接口的地址为0x108001,数据控制扩展接口的地址为0x108003 和0x108004,辅助控制扩展接口的地址为0x108002。
显示控制方法:液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。
发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制扩展接口写入命令控制字,然后再向辅助控制接口写入0;显示开关:0x3f 打开显示;0x3e 关闭显示;设置显示起始行:0x0c0+起始行取值,其中起始行取值为0 至63;设置操作页:0x0b8+页号,其中页号取值为 0-7;设置操作列:0x40+列号,其中列号为取值为0-63;写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据写入液晶显示模块的缓存。
将数据发送到相应数据控制扩展接口即可。
3、电路原理图图3 电路原理图4、硬件调试硬件调试可分为静态调试与动态调试两步进行。
静态调试是在用户系统未工作时的一种硬件检测。
第一步:目测。
检查外部的各种元件或者是电路是否有断点。
第二步:用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步:加电检测。
给板加电,检测所有插座或是器件的电源端是否符合要求的值。
第四步:联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。
动态调试的一般方法是由近及远、由分到合。
由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
在这个过程之中,首先要考虑所有器件的大小,从而能够在电路板上正确安排足够的空间,此外还要考虑器件只能装的方向以及引脚的位置,尽可能的使引脚的连接简单明了,减少错误的出现。
最后更要通过整个电路板的测试,来确定是否达到要求,只有每个节点的线路状况完全良好,才能继续以后的步骤。
并且在软件调试阶段要维护电路板的完整性以及正确性,因为在软件测试时需要不断的测试系统,而不断的移动电路板,可能会导致线路连接的可靠性,还可能有人为的原因造成连接不够良好,或者节点之间的连接脱落等状况,因而在整个试验过程中都要保持电路板的正常工作。
最重要的是电源的连接正确,否则可能导致期间的烧毁。
在老师的监督下以及同学的帮助下,几经波折的调试后,我们的系统圆满的实现预定的要求:准确显示当前时间。
二、软件设计1、系统分析根据本系统设计要求和硬件连接电路,软件实现主要包括三个主要部分:1302时钟芯片的读写程序,液晶显示程序和主函数部分。
首先应该对1302芯片进行检测,对其进行初始化设置,比如设置运行位,选择12小时还是24小时计数制。