- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM芯片小型嵌入式系统设计与程序开发
基于ARM芯片小型嵌入式系统设计与程序开发
摘 要:本文介绍了嵌入式的基本概念,设计出基于ARM芯片的小型应用系统,以及相应的VIC初始化程序,最后以此来展望嵌入式系统的未来。
关键词:嵌入式 ARM VIC
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2010)09-0060-02
Based on the arm of the chip embedded system design and application development
GUO Wenyi,CHEN Qixiang
(School of Computer,Hubei University Of Technology,Wuhan,430068 China)
Abstract:This article introduces the basic concepts, the embedded chip designs based on the arm out of small application systems, and corresponding vic initialization process, the embedded system in the future.
Key words:embedded chips,ARM,VIC
随着社会信息化的日益加强,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不仅仅是那种放在桌面上处理文档、进行工作管理和声场控制 的计算机“机器”。任何一个普通人都可能拥有大小不一、形状各异、使用嵌入式技术的电子产品,小到手表、MP3、PDA,大到电视、冰箱乃至汽车等数字化产品,处处都可以见到嵌入式系统的身影。
1 嵌入式系统的基本概念
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
2 系统总体设计
本实验旨在设计出一个最小应用系统,需要选用合适的ARM芯片,并有有电源电路,复位电路,数码显示电路,晶振,外扩存储器等硬件设备。采用time 0作为定时器,每隔一分钟产生一次中断,在中断服务程序中,依次对AD0输入信号进行一次采样,数据存入到片内RAM中,并显示到CED上, 同时完成相应的VIC初始化程序,定时中断服务程序,中断向量表设置,堆栈初始化。
3 系统的硬件设计
ARM芯片可选用PHILIPS公司的LPC2103,该芯片基于32位ARM7TDMI-S CPU,具有丰富的存储资源和较全面的扩展端口合适用于本实验。
CPU连接图如下:
如图1所示。
电源电路如下:
如图2所示。
复位电路如下:
如图3所示。
晶振电路如下:
如图4所示。
显示电路如下:
如图5所示。
由于所选芯片内部存储空间足够用于本次实验,所以没有设计外部扩展存储器电路。
4 系统程序开发
#define Fosc//晶振频率
#define Fcclk (Fosc*4) //系统频率
#define Fcco (Fcco*4) //CCO频率
#define Fpclk (Fcclk/4)*1 //VPB时钟频率
PLLCON = 1;
# if(Fpclk / (Fcclk / 4)) == 1
VPBDIV = 0;
#endif
# if(Fpclk / (Fcclk / 4)) == 2
VPBDIV = 2;
#endif
# if(Fpclk / (Fcclk / 4)) == 4
VPBDIV = 1;
#endif
# if(Fcco / Fcclk ) == 2
PLLCFG = ((Fcclk / Fosc)-1) | (0 5);
#endif
# if(Fcco / Fcclk ) == 4
PLLCFG = ((Fcclk / Fosc)-1) | (1
原创力文档


文档评论(0)