当前位置:文档之家› 课程设计报告正式版

课程设计报告正式版

嵌入式系统课程设计报告多功能实时时钟姓名:余晓辉叶俊鸿陈良文班级:07电信4班学号:200730580433200730580431200730580402指导老师:殷建军孙道宗李震日期:2010.12.20——2009.12.31华南农业大学工程学院摘要一般电子系统都会提供实时时钟给不同功能使用,例如系统的时间、日期和定时工作的启动,定期唤醒系统执行任务。

已有许多系统解决方案将实时时钟和完整的“独立”功能整合至微控制器,将微控制器整合的许多好处付诸实现。

本文将讨论传统实时时钟与微控器的结合如何发挥更大的效果。

实时时钟(RTC)由于有了嵌入式的技术支持,已经大量生产,并且广泛地应用于电子信息行业。

实时时钟最基本是可以实现时间和日期等同步,此外,实时时钟还提供了很多比如看门狗等功能。

所以,选择RTC芯片除了需要考虑其时间和日期跟踪功能外,还要针对相应的应用来对RTC的功能、成本、功耗、尺寸等进行综合的考虑。

本文就介绍了利用S3C2410 ARM9芯片来设计实时时钟,实现方便控制,精确定时,还有定时闹钟功能。

关键词ARM RTC S3C2410实时时钟IIC目录1 课程设计要求 (1)1.1 多功能实时时钟 (1)2 方案选择说明 (2)2.1 基于S3C2410的ARM9实现实时时钟 (2)3 硬件平台 (3)3.1 实物图 (3)3.2 主要设备介绍 (4)4 设计基本原理 (5)4.1 IIC总线 (5)4.2 IIC接口 (6)4.3 实时时钟(RTC) (8)4.4发光二极管 (9)5 功能及说明 (10)5.1 设计功能 (10)5.2 设计思路 (10)5.3 程序流程图 (11)5.4 其他说明 (12)6 调试与分析 (13)6.1 调试 (13)6.2 分析与技巧 (15)7 讨论及进一步研究建议 (16)8 主程序代码 (17)9 课程设计心得 (20)Abstract (21)参考文献 (22)1 课程设计要求1.1多功能实时时钟结合实时时钟,IIC(控制小键盘和数码管等)来做具备定期功能的实时时钟。

能完成以下功能:(1)能显示每秒的时刻(2)按下功能键能切换显示日期(3)能设置定时闹钟,定时到产生某种输出(4)通过外部中断来停止闹钟功能(5)其他功能的扩展图1 嵌入式系统组成12方案选择说明2.1基于S3C2410的ARM9实现实时时钟在一个嵌入式系统中,实时时钟单元可以提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下,它也能正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。

本课程设计利用S3C2410嵌入式开发板实现实时时钟的功能,实时时钟的框图如图2。

图2 实时时钟系统框图S3C2410实时时钟特点:(1)时钟数据采用BCD编码;(2)能够对闰年的年月日进行自动处理;(3)具有告警功能,当系统处于关机状态时,能产生告警中断;(4)无2000年问题;(5)具有独立的电源输入;(6)提供毫秒级时钟中断,该中断可用作嵌入式操作系统的内核时钟。

23 硬件平台3.1 实物图本次课程设计采用基于ARM9内核的开发平台ARM9-2410EP,实物图见图3。

图3 ARM9-2410EP实物图图4 ARM9-2410EP实物说明图343.2 主要设备介绍a. S3C2410S3C2410处理器是SAMSUNG 公司基于ARM 公司的ARM920T 处理器核,采用0.18um 制造工艺的32位微控制器。

本次设计主要使用芯片内部RTC ,SPI ,IIC 及Uart0等。

图5 S3C2410X 芯片结构图b. ZLG7290ZLG7290是IIC 接口键盘及LED 驱动器。

提供键盘中断信号,方便与处理器接口。

可驱动8位共阴数码管或64只独立LED 和64个按键。

本次设计还要用到八位共阴数码管,4*4键盘等设备,四只发光二极管,其它没用到的外设就不作一一介绍了。

4 设计基本原理4.1 IIC总线IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。

IIC总线产生于在80年代最初为音频和视频设备开发如今主要在服务器管理中使用,其中包括单个组件状态的通信。

例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。

可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

IIC总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。

开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据。

应答信号:接收数据的IC在接收到8 bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。

CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况做出是否继续传递信号的判断。

若未收到应答信号,由判断为受控单元出现故障。

图6 超始和停止信号图IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

56图7 数据传送时序图4.2 IIC 接口CPU 内置IIC 总线控制器,为了方便用户测试IIC 总线读写,板载两个IIC 设备,一个是 IIC 接口的EEPROM24C16,为16K-bit 的串行EEPROM ,方便用户存储一些小容量的数据,掉电不丢失;另一个IIC 接口的LED 数码管显示控制器ZLG7290,通过控制器,控制8位8段数码管的动态扫描。

IIC 总线(IICSDA 、IICSCL )经过VDD33的上拉后,进入ZLG7290。

图8 IIC 的EEPROM 连接电路7图9 ZLG7290引脚图ZLG7290能够直接驱动8位共阴式数码管(或64只独立的LED ),同时还可以扫描管理多达64 只按键。

其中有8 只按键还可以作为功能键使用,就像电脑键盘上的Ctrl 、Shift 、Alt 键一样。

采用IIC 总线方式,与微控制器的接口仅需两根信号线。

可控扫描位数,可控任一数码管闪烁。

图10 IIC LED 控制器连接电路4.3 实时时钟(RTC)实时时钟(Real Time Clock):2410提供了一个实时时钟,该时钟使用独立的一路1.8V供电,保证主电源切断时能正常维持RTC工作。

2410的RTC支持两个中断:Time Tick(固定在一个频率内发出的时钟中断)和Alarm中断(在某个时刻产生闹铃中断)。

利用这两个中断可以设置每一秒中断一次显示变化时间,用Alarm中断实现闹钟功能。

S3C2410内部RTC模块结构图,如图11。

图11 S3C2410内部RTC模块结构图2410的RTC主要由五部分构成:✓时钟发生器✓节拍发生器✓时间与日期计数器✓报警发生器✓控制逻辑寄存器有以下组成:✓控制寄存器:RTCCON✓报警控制寄存器:RTCALM✓实时时钟计数器:TICNT✓报警时间寄存器:ALMSEC,ALMMIN,ALMHOUR,ALMDATE,ALMMON,ALMYEARRTC最重要的功能就是显示时间。

在掉电模式下,RTC依然能够正常工作,此时,RTC模块通过外部的电池工作。

电池一般选用能够提供1.8V电压的银芯电池,电池与专用于RTC电源的引脚RTCVDD连接。

RTC时间显示功能是通过读/写寄存器实现的。

要显示秒、分、时、日、月、年,CPU必须读取存于BCDSEC,BCDMIN,BCDHOUR,BCDDAY,BCDDATE,BCDMON与BCDYEAR寄存器中的值。

时间的设置也是通过以上的寄存器实现的,即以上寄存器是可读可写的。

4.4 发光二极管如图12,发光二极管LED1~LED4的正极接S2C2410板上的3.3V高电压,负极通过限流电阻分别与S2C2410的GPF4~GPF7引脚连接。

四盏灯的分配如下:✓LED1红色LED EINT4/GPF4✓LED2红色LED EINT5/GPF5✓LED3绿色LED EINT6/GPF6✓LED4绿色LED EINT7/GPF7这四个引脚属于端口F,已经配置为输出口。

通过向GPFDAT寄存器中相应的位写入0或1,可以使引脚GPF4~GPF7输出低电平或高电平。

当GPF4~GPF7输出低电平时,LED点亮;当GPF4~GPF7输出高电平时,LED熄灭。

图12 发光二极管控制电路5 功能及说明5.1 设计功能(1)时间日期显示,能够刷新显示每秒时刻;(2)按键“+”切换日期显示;(3)按键“Num Lock”进入时间设置,可设置时,分,秒,年,月,日;(4)按键“0”进入闹钟设置,可设置时,分,秒,年,月,日;(5)按键进入时钟设置模式,正在设置位闪烁;(6)可通过按键(“*”左移、“-”右移)更改正在设置位;(7)设置位随输入实时更新;(8)逐位设置完成后自动退出;(9)设置局部时间完成时,可按“.”键确认退出设置;(10)设置过程中,输入错误处理。

设置时,输入值应为数字,若输入不为数字,则不作处理,设置位不变。

输入为数字时,设置位改变。

(11)设置时钟,闹钟时间越界处理。

即:时大于23时,设置并显示为23时;分和秒大于59时,设置并显示为59分或秒;月大于12时,设置并显示为12月;日大于31时,设置并显示为30日。

月等于0时,设置并显示为1月;日等于0时,设置并显示为1日。

(12)闹钟时间到达时,全屏闪烁,并且四盏LED灯每两盏一组轮流闪烁。

(13)可按除功能键外的任意键停止闹铃效果和LED灯闪烁。

5.2 设计思路(1)实现实时时钟功能设置rRTCCON、rTICNT、rRTCALM寄存器TICNT[6:0]=127;可以设置rTICNT=(1<<7)|(127)实现每秒中断一次。

可以设置闹铃寄存器,例如每秒的第几秒中断一次,实现定时闹钟的功能。

要设置初始化当前时间。

这里还包括编写Time Tick中断和Alarm中断的中断服务程序。

(2)初始化IIC总线编写一个IIC的操作库。

包括发送和接受功能。

编写可以向ZLG7290发出指令的函数。

(3)编写键盘中断处理程序通过键盘中断,实现数码管显示日期和时间的切换,还有停止。

(4)使用ADS集成开发环境编译调试程序5.3 程序流程图图13图145.4 其他说明1) 按键说明:“+”键用于切换到日期显示; “NumLock ”键用于时钟设置; “0”键用于闹钟设置;“-”键用于更改正在设置位,右移; “*”键用于更改正在设置位,左移;“.”键用于局部设置完成后中途确认退出。

相关主题