《嵌入式交通灯课程设计(共14页).doc》由会员分享,可在线阅读,更多相关《嵌入式交通灯课程设计(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 基于ARM的嵌入式交通灯课程设计 课程名称:嵌入式系统设计 专业:计算机科学与技术 班级:B0904 学号: 姓名:乔乔 目录交通灯控制系统1. 摘 要此次试验以S3C2410嵌入式开发平台为硬件基础,主要介绍了嵌入式实时操作系统中的最小系统的各个组成部分,其中包括电源、时钟、复位、存储器、JTAG接口电路原理图及交通灯电路图的设计。关键词:S3C2410 ;最小系统 ;交通灯2.绪论2.1课程设计目的(1)掌握嵌入式系统设计的基本方法,熟悉S3C2410的开发环境及软硬件的调试过程,巩固和加深对理论课中知识的理解,提高对所学知识的综合运用能力。(2)了解S3C24
2、10A处理器的工作原理。(3)能够使用S3C2410A处理器的对试验箱上的硬件接口进行控制,输入和输出。(4)能够完成S3C2410A处理器的最小系统的硬件电路设计,并用Protel 99设计原理电路图。(5)能够正确编写调试软件。(6)通过完成一个包括电路设计和程序开发的完整过程,了解开发一AR应用系统的全过程,为今后从事相应打下基础。2.2课程设计内容 (1)完成S3C2410最小系统的硬件电路设计,并用Protel DXP设计原理路图;(2)最小系统包括电源、时钟、复位、存储器、JTAG接口(3)JTAG接口选择20针插头(4)存储器容量要求至少2MB的NorFlash和64MB的SDR
3、AM。(5)完成交通指示灯的电路设计以及控制程序代码,在试验箱上进行调试并且能正常工作。3.最小系统设计及交通灯电路设计3.1设计原理 最小系统整体框图 图1最小系统整体框图说明:由最小系统整体框图可以以看出,一个最小系统至少应该由CPU(S3C2410A)、系统电源、复位电路、系统时钟、JTAG电路、存储器以及外围扩展电路组成。3.2整体电路原理图 图2.整体电路原理图说明:这是用Protel DXP SE所画的最小系统的电路图,其元件清单如下: C1 0.1uFC2 0.1uFC3 0.1uFC4 0.1uFC21 100nFC45 15pFC46 15pFC47 22pFC48 22pF
4、C62 10uF/16VC71 0.1uFC100 CAPC101 CAPC102 CAPC103 CAPC104 CAPC105 CAPC106 CAPC107 CAPC108 CAPC109 CAPC110 CAPC111 CAPC112 CAPC113 CAPC125 220uF/25VCZ1 DB-9/MUART1CZ11 DB-9/MUART0J28 TX-4PINJP2 RXD1JP? JTAGR1 0R15 10KR16 10KR17 10KR37 10KR54 10KR60 4.7KR179 3KRP30 10KRS TU1 LK-ARM2410U2 DIP-24 LK-CAT
5、1025JI-30U3 LK-SP3232EX1 12MHzX2 32768Hz(GND -1)(NetJ28_3 -1 J28-3)(NetR1_2 JP? -15 R1-2 R37-2)(NetR179_1 -1 R179-1)(NetU1_H5 JP?-3 R1-1 RP30-1 U1-H5)(NetU1_J1 JP?-5 RP30-1 U1-J1)(NetU1_J3 JP?-9 RP30-2 U1-J3 )(NetU1_J3 JP?-7 RP30-2 U1-J3 )(NetU1_J5 JP?-13 U1-J5 )(Net_1 -1 C113-2) (Net_1 -1 C106-2 )(
6、Net_2 -1 -2)(PC-RXD0 CZ11-2)(VCC C2-2 JP?-4 JP?-6 JP?-8 JP?-10 JP?-12 JP?-14 JP?-16 JP?-18 JP?-20 R15-1 R60-1 U1-T13 U1-U14)( VCC33 C100-1 C107-1)(VDD33 -2 JP?-1 JP?-2 R16-2 R17-2 R37-1 R54-2 RP30-1 RP30 -2 U1-J11)4. 具体设计框图 4.1电源电路原理图图3 电源电路原理图说明:本电源运用5V的直流电源通过两个三端稳压器转换成我们所设计的最小系统所需要的两个电压,分别是3.3V和1.
7、8V,3.3V的给VDDMOP,VDDIO,VDDADC等供电,而1.8V的给VDDi和RTC供电。其电源原理图如上图3: 4.2时钟电路原理图 图4.时钟电路原理图说明:S3C2410A可以使用外部晶体或外部时钟输入作为系统时钟,外部晶振频率范围是10MHz20MHz。本次设计用的事12MHz外部晶振,所以将S3C2410A的OM2,OM3引脚接为低电平,将外部时钟输入引脚EXTCLK接为高电平,电源原理图如上图4:4.3存储器电路原理图1) Nor Flash原理图图5.Nor Flash原理图说明:SST39VF1601是16位宽的存储器,每次读操作可取2字节数据,对于S3C2410A来
8、说相应于半字对其,其操作地址最小的变化值为0x。因此将S3C2410A的ADDR1引脚与SST39VF1601的A0引脚链接,不用ADDR0引脚,其它地址依次递增连接即可。2) SDRAM存储器原理图图6.SDRAM存储器原理图说明:此32位总线的存储器由两片16位的SDRAM(HY57V)组成,使用s3c2410a的nGCS6片选信号,用U4与数据总线的低16相连,U5与数据总线的高16位相连。 4.4 JTAG电路原理图图7.JTAG电路原理图说明:用20脚的JATG仿真调试接口,JTAG信号的定义与s3c2410a的链接如上图。JTAG接口J29上的信号nTRST连到s3c2410a芯片
9、的TRST(低电平有效)引脚,达到控制s3c2410a内部JTAG接口电路复位的目的。为了能够使用Multi-ICE仿真器,设置了一个0欧电阻R1(在整体电路原理图中)将JTAG接口的PIN3与PIN15短接。 4.5复位电路原理图图8.复位电路原理图说明:复位电路(此图的上半部分),芯片CAT1025JI-30的信号nRESET连接到s3c2410a芯片的复位脚nRESET,当复位按键RST按下时,CAT1025JI-30的信号nRESET引脚立即输出复位信号,使s3c2410a复位。就是那几个上拉电阻不能省略。5. 程序设计#include config.h/定义LED控制口(输出高电平时
10、点亮LED)#define LED1_CON (111) /*GPE11口*/#define LED2_CON (112) /*GPE12口*/#define LED3_CON (14) /*GPH4口*/#define LED4_CON (16) /*GPH6口*/*Funtion name:DelayNS*Descriptions:长软件延时。延时时间与系统时钟有关。*Input:dly 延时参数,值越大,延时越久*Output:无*/void DelayTime(uint32 time) int i,j; for(i=0;i500*time;i+) for(j=0;j1500;j+);v
11、oid DelayFTime(uint32 time)/设计高频率的延迟。 int i,j; for(i=0;i250*time;i+) for(j=0;j1500;j+);/*Function name:LED_DispAllOn*Descriptions:控制LED1LED4全部点亮。*Input:无*Output:无*/void LED1_On(void)rGPEDAT=rGPEDAT|(0x0111); / led1 点亮void LED2_On(void)rGPEDAT=rGPEDAT|(0x0112); / led2 点亮void LED3_On(void)rGPHDAT=rGPH
12、DAT|(0x014); / led3 点亮void LED4_On(void)rGPHDAT=rGPHDAT|(0x016); / led4 点亮/*Funtion name:LED_Off*Descriptions:控制LED1LED4全部熄灭。*Input:无*Output:无*/void LED_AllOff(void) rGPEDAT=rGPEDAT&(0x0311); rGPHDAT=rGPHDAT&(0x054);void LED1_Off(void)rGPEDAT=rGPEDAT&(0x0111);void LED2_Off(void)rGPEDAT=rGPEDAT&(0x01
13、12);void LED3_Off(void)rGPHDAT=rGPHDAT&(0x014);void LED4_Off(void)rGPHDAT=rGPHDAT&(0x016);/*Function name:main*Descriptions:初始化I/O,然后控制LED显示。*Input:无*Output:系统返回值0*/int main(void)int i; LED_AllOff();rGPECON=(rGPECON&(0x0F22)|(0x0522);/rGPECON25:22=0101b,/设置GPE11、GPE12为GPIO输出模式rGPHCON=(rGPHCON&(0x338
14、)|(0x118);/rGPHCON13:8=01xx01b,/设置GPH4、GPIO6为GPIO输出模式 while(1) /LED显示控制LED4_On(); /把LED4点亮 (LED4 代表红灯)DelayTime(20); /延迟20sLED4_Off(); /20s后,关闭LED4LED3_On(); /把LED3点亮 (LED3 代表 绿灯)DelayTime(5); /延迟5s (绿灯亮5s+5s=10s)for(i=0;i10;i+)/设置黄灯一闪一闪。(相当于黄灯亮,警告还有5秒红灯就亮了,0.5秒闪一下)LED2_On(); DelayFTime(1);LED2_Off(
15、); LED_AllOff();return 0;6. 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,ARM嵌入式系统已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握嵌入式的开发技术是十分重要的。回顾起此次ARM课程设计,我仍感慨颇多,我学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。专心-专注-专业