《基于arm交通灯设计》由会员分享,可在线阅读,更多相关《基于arm交通灯设计(29页珍藏版)》请在金锄头文库上搜索。
1、成绩 _指导教师评定成绩: 审定成绩: 重 庆 邮 电 大 学 移 通 学 院课程设计报告 一、 设计题目: 基于ARM的交通灯设计 学 校: 学 生 姓 名: 专 业: 电气工程及其自动化 班 级: 05111105 学 号: 05111105xx 指 导 教 师: 设计时间: 2014 年 12 月重庆邮电大学移通学院嵌入式系统课程设计任务书供11级自动化系学生用引言:嵌入式系统课程设计是自动化专业的一个重要教学环节,既有别于毕业设计,又不同于课堂教学。它需要学生统筹运用所学各个专业的基本理论、基本方法对现实生活中的实际问题进行设计和调试。二、 设计题目:基于ARM的交通灯设计掌握嵌入式系
2、统设计的基本方法,熟悉S3C24X0的开发环境及软硬件的调试过程,了解S3C24X0芯片各个引脚功能,工作方式,计时/定时,I/O口,中断等的相关原理,根据控制要求进行编程,解决十字路口交通灯控制的问题。巩固和加深对理论课中知识的理解,提高对所学知识的综合运用能力。三、 系统工作过程说明车辆遇到红灯停绿灯行的行走情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。利用S3C24X0 ARM芯片实现单路交通灯的控制: 实现红、绿、黄灯的循环控制。使用红、黄、绿三种不同颜色的LED灯实现此功能,由南往北方向红、黄、绿三个灯依次在P1.18、P1.19、P1.20上,由北往南方向的红、
3、黄、绿三个灯依次接在P1.21、P1.22、P1.23上,人行道用红、绿两个灯控制,依次接在P1.24、P1.25上,用软件控制灯的亮与灭来控制车辆和行人的通行。 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 南北方向控制车辆的绿灯熄灭的同时,控制蜂鸣器响2秒来作为警报。蜂鸣器接P0.7引脚。交通路口示意图如下图:设计内容:(1)完成S3C24X0最小系统的硬件电路设计,并用Protel 设计电路原理图;(2)完成交通指示灯控制程序代码设计,在实验箱上调试并且能正常工作。四、 设计步骤:(1)对系统进行需求分析;(2)初始化配置(各种寄存器);(3)编写各种相关的
4、中断程序并在主函数中调用这些程序;(4)编译程序;(5)使用仿真器进行调试。目录嵌入式系统课程设计任务书2摘要5一、绪论6二、系统分析及硬件设计71、S3C2440芯片介绍72、电路原理图10三、系统软件设计111、系统流程图112、系统程序设计11四、系统调试12总结13参考文献14附录151、源程序15摘要本设计此次试验以S3C2440嵌入式开发平台为硬件基础,主要介绍了嵌入式实时操作系统中的最小系统的各个组成部分,其中包括电源、时钟、复位、存储器、JTAG接口电路原理图及交通灯电路图的设计。随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术
5、和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。本文所要研究的就是基于ARM嵌入式系统的交通灯系统的设计与实现。关键词:ARM ; 交通灯 ; 控制 ;一、绪论1、设计目的掌握嵌入式系统设计的基本方法,熟悉S3C24X0的开发环境及软硬件的调试过程,
6、了解S3C24X0芯片各个引脚功能,工作方式,计时/定时,I/O口,中断等的相关原理,根据控制要求进行编程,解决十字路口交通灯控制的问题。巩固和加深对理论课中知识的理解,提高对所学知识的综合运用能力。2、设计内容1. 查阅相关文献资料,熟悉所选ARM芯片2. 总体设计方案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄灯闪烁。3. 系统硬件设计,熟悉I/O接口,定时器,计数器工作原理4. 系统软件设计,包括交通信号灯的工作流程软件实现,用C语言编程5. 设计心得体会及总结。3、要实现的目标通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,
7、培养创新意识和创新能力,并获得科学研究的基础训练,加深对ARM芯片的了解;熟悉ARM芯片各个引脚的功能,工作方式,计数/定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。利用ARM芯片模拟实现交通灯控制。自行选择所需ARM芯片,查阅相关文献资料,熟悉所选ARM芯片,了解所选ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等相关原理,通过软硬件设计实现利用ARM芯片完成交通灯的模拟控制。二、系统分析及硬件设计1、S3C2440芯片介绍S3C2440A 基于 ARM920T 核心,0.13m 的 CMOS 标准宏单元和存储器单元。低功耗,简单,精致,且全静态设计特别适合于对
8、成本和功率敏感型的应用。它采用了新的总线架构如先进微控制总线构架(AMBA) 。S3C2440A 的突出特点是其处理器核心,是一个由 Advanced RISC Machines(ARM)公司设计的 16/32 位ARM920T 的 RISC 处理器。ARM920T 实现了 MMU,AMBA 总线和哈佛结构高速缓冲体系结构。这一结构具有独立的 16KB 指令高速缓存和 16KB 数据高速缓存。每个都是由具有 8 字长的行(line)组成。S3C2440A 集成的以下片上功能: 1.2V 内核供电, 1.8V/2.5V/3.3V 储存器供电, 3.3V 外部 I/O 供电, 具备 16KB 的指
9、令缓存和 16KB 的数据缓存和 MMU的微处理器 外部存储控制器(SDRAM 控制和片选逻辑) LCD 控制器(最大支持 4K 色 STN 和 256K 色 TFT)提供 1 通道 LCD 专用 DMA 4 通道 DMA 并有外部请求引脚 3 通道 UART(IrDA1.0, 64 字节发送 FIFO 和 64 字节接收 FIFO) 2 通道 SPI 1 通道 IIC 总线接口(支持多主机) 1 通道 IIS 总线音频编码器接口 AC97 编解码器接口 兼容 SD 主接口协议 1.0 版和 MMC 卡协议 2.11 兼容版 2 通道 USB 主机/1 通道 USB 设备(1.1 版) 4 通
10、道 PWM 定时器和 1 通道内部定时器/看门狗定时器 8 通道 10 位 ADC 和触摸屏接口 具有日历功能的 RTC 摄像头接口(最大支持 40964096 像素输入;20482048 像素输入支持缩放) 130 个通用 I/O 口和 24 通道外部中断源 具有普通,慢速,空闲和掉电模式 具有 PLL 片上时钟发生器系统管理 支持大/小端 地址空间:每 Bank 128M 字节(总共 1G 字节) 支持可编程的每 Bank 8/16/32 位数据总线宽度 BANK0 到 BANK6 固定 Bank 的起始地址 BANK7 具有可编程 Bank 起始地址和大小 8 个存储器 Bank: 六个
11、存储器 Bank 为 ROM,SRAM 和其它 两个存储器 Bank 为 ROM/SRAM/ SDRAM 所有存储器具备完整可编程访问周期 支持外部等待信号来扩展总线周期 支持 SDRAM 掉电时自刷新模式 支持从各种类型 ROM 启动(NOR/NAND Flash,EEPROM 或其它)NAND Flash 启动引导 (BootLoader ) 支持从 NAND Flash 启动 4KB 的启动内部缓冲区 支持启动后 NAND flash 作为存储器 支持先进 NAND Flash2、电路原理图三、系统软件设计1、系统流程图开始初始化东西方向人行道红绿交通灯显示东西南北方向黄色交通灯显示循环
12、东西方向人行道红绿交通灯交替显示2、系统程序设计 1.首先从设定系统初始值开始,将所有交通灯,数码管的选位,以及倒数计数的数组设定。 2.开始设定子程序,定时器0中断服务子程序 重装初值,计数增减,人行道红灯马路绿灯,并且开始计数递减,若在55内并且是0时开始显示黄灯闪烁,闪烁3秒,若是55秒的话马路黄灯人行道红灯,若是在55到60秒之内,黄灯开始闪烁,当到60秒时,马路红灯人行道绿灯。 3.主程序开始时,要先对中断程序进行中断初始化。 4.对主程序开始调试,先设置引脚位置和输出位置,初始化定时器,然后引用中断程序,根据定时器的定时,设定红绿黄灯跳转。四、系统调试总结课程设计是培养学生综合运用
13、所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,ARM嵌入式系统已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握嵌入式的开发技术是十分重要的。了解所选择的ARM芯片各个引脚功能,工作方式,计数/定时,I/O口,中断等的相关原理,并巩固学习嵌入式的相关内容知识。通过软硬件设计实现利用ARM芯片完成交通灯控制功能。首先查阅相关文献资料,熟悉所选ARM芯片。第二步总体设计方案规划,设计车辆遇到红灯停绿灯行情况,红绿灯时间均为60s,切换时间为10s,最后5s为黄
14、灯闪烁。接下来 系统硬件设计,熟悉IO接口,定时器计数器工作原理。最后系统软件设计,包括交通信号灯的工作流程软件实现,用C语言编程。提高了计算能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。回顾起此次ARM课程设计,我仍感慨颇多,我学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对汇编语言掌握得不好