基于ARM的嵌入式交通灯课程设计.docx

上传人:b****1 文档编号:761702 上传时间:2022-10-12 格式:DOCX 页数:12 大小:1.84MB
下载 相关 举报
基于ARM的嵌入式交通灯课程设计.docx_第1页
第1页 / 共12页
基于ARM的嵌入式交通灯课程设计.docx_第2页
第2页 / 共12页
基于ARM的嵌入式交通灯课程设计.docx_第3页
第3页 / 共12页
基于ARM的嵌入式交通灯课程设计.docx_第4页
第4页 / 共12页
基于ARM的嵌入式交通灯课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于ARM的嵌入式交通灯课程设计.docx

《基于ARM的嵌入式交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《基于ARM的嵌入式交通灯课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

基于ARM的嵌入式交通灯课程设计.docx

基于ARM的嵌入式交通灯课程设计

目录

 

1.摘要2

2.绪论2

2.1课程设计目的2

2.2课程设计内容3

3.最小系统设计及交通灯电路设计3

3.1设计原理3

3.2整体电路原理图4

4.具体设计框图5

4.1电源电路原理图5

4.2时钟电路原理图6

4.3存储器电路原理图7

1)NorFlash原理图7

2)SDRAM存储器原理图8

4.4JTAG电路原理图9

5.程序设计10

6.课程设计总结13

 

交通灯控制系统

1.摘要

此次试验以S3C2410嵌入式开发平台为硬件基础,主要介绍了嵌入式实时操作系统中的最小系统的各个组成部分,其中包括电源、时钟、复位、存储器、JTAG接口电路原理图及交通灯电路图的设计。

关键词:

S3C2410;最小系统;交通灯

2.绪论

2.1课程设计目的

(1)掌握嵌入式系统设计的基本方法,熟悉S3C2410的开发环境及软硬件的调试过程,巩固和加深对理论课中知识的理解,提高对所学知识的综合运用能力。

(2)了解S3C2410A处理器的工作原理。

(3)能够使用S3C2410A处理器的对试验箱上的硬件接口进行控制,输入和输出。

(4)能够完成S3C2410A处理器的最小系统的硬件电路设计,并用Protel99设计原理电路图。

(5)能够正确编写调试软件。

(6)通过完成一个包括电路设计和程序开发的完整过程,了解开发一AR应用系统的全过程,为今后从事相应打下基础。

2.2课程设计内容

(1)完成S3C2410最小系统的硬件电路设计,并用ProtelDXP设计原理路图;

(2)最小系统包括电源、时钟、复位、存储器、JTAG接口

(3)JTAG接口选择20针插头

(4)存储器容量要求至少2MB的NorFlash和64MB的SDRAM。

(5)完成交通指示灯的电路设计以及控制程序代码,在试验箱上进行调试并且能正常工作。

3.最小系统设计及交通灯电路设计

3.1设计原理

最小系统整体框图

图1最小系统整体框图

 

说明:

由最小系统整体框图可以以看出,一个最小系统至少应该由CPU(S3C2410A)、系统电源、复位电路、系统时钟、JTAG电路、存储器以及外围扩展电路组成。

3.2整体电路原理图

图2.整体电路原理图

说明:

这是用ProtelDXPSE所画的最小系统的电路图,其元件清单如下:

[][C10.1uF][C20.1uF][C30.1uF][C40.1uF][C21100nF][C4515pF][C4615pF][C4722pF][C4822pF][C6210uF/16V][C710.1uF][C100CAP][C101CAP][C102CAP][C103CAP][C104CAP][C105CAP][C106CAP][C107CAP][C108CAP][C109CAP][C110CAP][C111CAP][C112CAP][C113CAP][C125220uF/25V][CZ1DB-9/MUART1][CZ11DB-9/MUART0][J28TX-4PIN][JP2RXD1][JP?

JTAG][R10][R1510K][R1610K][R1710K][R3710K][R5410K][R604.7K][R1793K][RP3010K][RST][U1LK-ARM2410][U2DIP-24LK-CAT1025JI-30][U3LK-SP3232E][X112MHz][X232768Hz](GND-1)(NetJ28_3-1J28-3)(NetR1_2JP?

-15R1-2R37-2)(NetR179_1-1R179-1)(NetU1_H5JP?

-3R1-1RP30-1U1-H5)(NetU1_J1JP?

-5RP30-1U1-J1)(NetU1_J3JP?

-9RP30-2U1-J3)(NetU1_J3JP?

-7RP30-2U1-J3)(NetU1_J5JP?

-13U1-J5)(Net_1-1C113-2)(Net_1-1C106-2)(Net_2-1-2)(PC-RXD0CZ11-2)(VCCC2-2JP?

-4JP?

-6JP?

-8JP?

-10JP?

-12JP?

-14JP?

-16JP?

-18JP?

-20R15-1R60-1U1-T13U1-U14)(VCC33C100-1C107-1)(VDD33-2JP?

-1JP?

-2R16-2R17-2R37-1R54-2RP30-1RP30-2U1-J11)

 

4.具体设计框图

4.1电源电路原理图

图3电源电路原理图

 

说明:

本电源运用5V的直流电源通过两个三端稳压器转换成我们所设计的最小系统所需要的两个电压,分别是3.3V和1.8V,3.3V的给VDDMOP,VDDIO,VDDADC等供电,而1.8V的给VDDi和RTC供电。

其电源原理图如上图3:

4.2时钟电路原理图

图4.时钟电路原理图

 

说明:

S3C2410A可以使用外部晶体或外部时钟输入作为系统时钟,外部晶振频率范围是10MHz~20MHz。

本次设计用的事12MHz外部晶振,所以将S3C2410A的OM2,OM3引脚接为低电平,将外部时钟输入引脚EXTCLK接为高电平,电源原理图如上图4:

4.3存储器电路原理图

NorFlash原理图

图5.NorFlash原理图

 

说明:

SST39VF1601是16位宽的存储器,每次读操作可取2字节数据,对于S3C2410A来说相应于半字对其,其操作地址最小的变化值为0x00000002。

因此将S3C2410A的ADDR1引脚与SST39VF1601的A0引脚链接,不用ADDR0引脚,其它地址依次递增连接即可。

 

SDRAM存储器原理图

图6.SDRAM存储器原理图

说明:

此32位总线的存储器由两片16位的SDRAM(HY57V561620)组成,使用s3c2410a的nGCS6片选信号,用U4与数据总线的低16相连,U5与数据总线的高16位相连。

4.4JTAG电路原理图

图7.JTAG电路原理图

说明:

用20脚的JATG仿真调试接口,JTAG信号的定义与s3c2410a的链接如上图。

JTAG接口J29上的信号nTRST连到s3c2410a芯片的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控制口(输出高电平时点亮LED)

#defineLED1_CON(1<<11)/*GPE11口*/

#defineLED2_CON(1<<12)/*GPE12口*/

#defineLED3_CON(1<<4)/*GPH4口*/

#defineLED4_CON(1<<6)/*GPH6口*/

/****************************************************

**Funtionname:

DelayNS

**Descriptions:

长软件延时。

延时时间与系统时钟有关。

**Input:

dly延时参数,值越大,延时越久

**Output:

*********************************************************/

voidDelayTime(uint32time)

{

inti,j;

for(i=0;i<500*time;i++)

for(j=0;j<1500;j++);

}

voidDelayFTime(uint32time)//设计高频率的延迟。

{

inti,j;

for(i=0;i<250*time;i++)

for(j=0;j<1500;j++);

}

/***********************************************

**Functionname:

LED_DispAllOn

**Descriptions:

控制LED1~LED4全部点亮。

**Input:

**Output:

***********************************************/

voidLED1_On(void)

{

rGPEDAT=rGPEDAT|(0x01<<11);//led1点亮

}

voidLED2_On(void)

{

rGPEDAT=rGPEDAT|(0x01<<12);//led2点亮

}

voidLED3_On(void)

{

rGPHDAT=rGPHDAT|(0x01<<4);//led3点亮

}

voidLED4_On(void)

{

rGPHDAT=rGPHDAT|(0x01<<6);//led4点亮

}

/*********************************************

**Funtionname:

LED_Off

**Descriptions:

控制LED1~LED4全部熄灭。

**Input:

**Output:

**************************************************/

voidLED_AllOff(void)

{

rGPEDAT=rGPEDAT&(~(0x03<<11));

rGPHDAT=rGPHDAT&(~(0x05<<4));

}

voidLED1_Off(void)

{

rGPEDAT=rGPEDAT&(~(0x01<<11));

}

voidLED2_Off(void)

{

rGPEDAT=rGPEDAT&(~(0x01<<12));

}

voidLED3_Off(void)

{

rGPHDAT=rGPHDAT&(~(0x01<<4));

}

voidLED4_Off(void)

{

rGPHDAT=rGPHDAT&(~(0x01<<6));

}

/********************************************************

**Functionname:

main

**Descriptions:

初始化I/O,然后控制LED显示。

**Input:

**Output:

系统返回值0

*******************************************************/

intmain(void)

{

inti;

LED_AllOff();

rGPECON=(rGPECON&(~(0x0F<<22)))|(0x05<<22);

//rGPECON[25:

22]=0101b,

//设置GPE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1