Cortex-M3是首款基于ARMv7-M架构的处理器,是专门为了在微控制器,汽车车身系统,工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了可编程的复杂性,使ARM架构成为各种应用方案(即使是最简单的方案)的上佳选择。因此在基于Cortex-M3处理器的嵌入式平台上进行时钟万年历的开发,有助于快速了解这款新的ARM架构的特点。虽然时钟万年历系统本身功能较为简单,但是当基于具体的嵌入式平台进行开发时,需要结合平台自身特点,涉及到适用于平台的时钟万年历算法,显示器接口程序的编写,人机交互接口的设计等多方面内容,因此需要开发者掌握嵌入式开发常用到的串口通信,总线协议,外围模块的驱动编写,中断操作等内容。通过时钟万年历的开发,可以快速初步熟悉芯片特性和平台的软硬件特点,为该平台后期进行进一步开发打下良好基础。论文网
1.2 课题主要工作
本课题内容为采用LM3S8962微控制器、DS1388时钟芯片和LCD12864液晶显示模块设计一个时钟万年历系统。本设计的目的是在特定的嵌入式平台上实现时钟万年历系统,并且从良好的用户体验的角度出发,实现一些人机交互(HCI)功能。具体来说,本设计主要需完成的任务有:
1) 结合课题查阅相关文献,了解本设计所使用的芯片的特性;
2) 系统学习本设计的软硬件平台,重点学习设计可能用到的部分;
3) 编写采集和显示时间、日期和温度的程序,以及键盘接口程序;
4) 将程序烧写到硬件平台中,得到具有上述功能的时钟万年历的样机。
本文主要阐述了在设计过程中使用的软硬件平台,功能器件特性,万年历功能模型以及算法,遇到的问题等等。全文共分为五章。第一章为绪论,简单介绍时钟万年历系统和课题主要工作;第二章主要介绍本设计所使用的软硬件资源,包括对Cortex-M3的介绍,对硬件平台及其资源介绍,对设计采用的集成开发环境(IDE)、调试方式以及软件驱动库的简单介绍;第三章主要介绍时钟万年历系统的功能模型,包括对有限状态机(FSM)的介绍,时钟万年历系统的状态机模型以及时钟万年历系统的功能综述;第四章主要介绍时钟万年历系统采用的外围器件和相关驱动程序的编写,包括对DS1388、LCD12864和DS18B20的介绍和编程操作这些器件所编写的驱动函数;第五章将分四个部分介绍实现时钟万年历功能所采用的编程解决方案,包括对时钟模块信息的读取,数字温度计信息的读取,LCD12864的信息显示方案和人机交互功能的设计。在人机交互功能的设计这一部分中,又包括了独立按键的响应方式,LCD12864上字段闪烁的实现,时间日期设置功能的实现和星期查看功能的实现,逐步构建出完整的时钟万年历系统的功能架构。
2 硬件资源及IDE介绍
2.1 硬件资源
2.1.1 ARM Cortex-M3介绍
基于ARM嵌入式处理器的片上系统解决方案可应用于企业应用、汽车系统,家庭网络和无线技术等市场领域。ARM CortexTM系列提供了一个标准的体系结构来满足以上各种技术的不同性能要求,其包含的处理器基于ARMv7架构的三个分工明确的部分。A部分面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R部分针对实时系统;M部分为成本控制和微控制器应用提供优化[1]。
ARM Cortex-M3处理器为高性能、低成本的平台提供一个满足小存储要求解决方案(minimal memory implementation)、简化管脚数、以及低功耗三方面要求的内核,与此同时,它还提供出色的计算性能和优越的系统中断响应能力。特性包括: