已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大 连 科 技 学 院嵌入式系统设计与开发课程设计题 目 基于ARM的输入输出显示系统 学生姓名 专业班级 计算机08-2 指导教师 王影 姜志明 职 称高工 副教授 所在单位 信息科学系计算机教研室 教学部主任 孙 辉 完成日期 2011年12月16日课程设计报告单学号姓名专业班级计算机08-2考 核 项 目评分备注1平时工作态度及遵守纪律情况(10分)2掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平(10分)3独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度(20分)4完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)(60分)总评成绩综 合 评 定:(优、良、中、及格、不及格) 指导教师签字:2011年12月22日嵌入式系统设计与开发课程设计任务书一、课程设计任务及要求:任务:选择以下一个设计项目进行课程设计:嵌入式系统实验平台简介、Linux的安装和基本操作实验、交叉编译环境的建立和bootloader的使用、多线程应用程序设计、A/D 接口实验、Qtopia2.1.1在2410-S上的移植、无线通讯实验,除此之外,学生可自行选择课题进行设计(课题必须经指导教师审题后合格),对于大型项目可进行团队开发,但应制定详细的项目分工说明。完成从需求分析、系统设计、系统实现,软件测试的全过程。要求:(1)培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。(2)通过对所选题目方案分析比较,确立方案,编制程序与调试程序,掌握嵌入式系统的设计方法。(3)能够完成团队分工合作,在教师的指导下,完成课题任务。(4)根据个人的设计调试过程,撰写设计报告。写出不少于3000字的课程设计说明书。其正文一般有如下几个方面的内容:需求分析、概要设计、详细设计、调试分析、运行界面(附主要代码)、测试结果、附录或参考资料。二、工作量3周(15个工作日)时间三、计划安排第1个工作日第3个工作日:查阅相关资料、书籍,阅读示例文档,选择题目。第4个工作日第5个工作日:确定题目,进行结构设计、模块设计。第6个工作日第11个工作日:完成硬件的连接和程序的编码,并且进行调试、测试。第12个工作日第14个工作日:进行课程设计报告的撰写。第15个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。指导教师签字:2011年11月28日目 录大 连 科 技 学 院11 需求分析11.1 设计目的和意义11.2 设计任务要求11.3 原理结构及分析12 概要设计23 详细设计34 编码45 调试分析66 测试结果及运行效果76.1 电源电路76.2晶体振荡器电路76.3复位电路86.4 存储模块86.5 JTAG接口电路106.6 输入/输出电路117 系统开发所用到的技术12参考文献13课程设计实践总结14附 录151 需求分析1.1 设计目的和意义设计出基于ARM的输入输出显示系统。将输入的信号送入主控芯片,经处理后送到显示系统显示。1.2 设计任务要求设计几个输入端口如键盘、按键、温度采集、压力采集等将所采集信号送入主控芯片,经过处理后送到显示系统显示。根据设计题目的要求,选择确定ARM芯片型号、信号采集芯片型号,完成系统硬件设计和程序设计。1.3 原理结构及分析ARM最小系统是由保证微处理器可靠工作所必须的基本电路组成的。S3C4510B的最小系统由S3C4510B、电源电路、晶体振荡器电路、复位电路和JTAG接口电路组成。在系统ARM模块主要负责系统控制部分,其硬件体系结构灵活、接口丰富。核心包括嵌入式ARM CPU及必需的SDRAM和Flash等器件,通过表贴封装的双排插针将各信号线及控制线引出。这样,只需要设计不同的扩展板即可实现不同的系统功能,节约了开发成本并提高了平台的灵活性。嵌入式系统硬件平台结构主要分为2大部分:一部分为系统主板,为基于ARM的最小系统,包括ARM CPU、Flash、SDRAM、串口、键盘等最基本部分;另一部分为系统扩展板,提供了用于完成各个不同硬件的功能模块。2 概要设计设计几个输入端口如键盘、按键、温度采集、压力采集等将所采集信号送入主控芯片,经过处理后送到显示系统显示。根据设计题目的要求,选择确定ARM芯片型号、信号采集芯片型号,完成系统硬件设计和程序设计。ARM嵌入式系统的大致开发流程是: 先在PC机上编写程序源代码;由ARM的交叉编译器编译、链接生成一个目标文件;然后将目标文件转化成可以下载到目标机运行的二进制代码,在目标机上调试运行;最终将调试成功的二进制文件固化在目标机中。这一系列过程中,最关键的步骤就是在PC机上调试在目标机上运行的程序。这就需要采用远程调试的方式,即在PC机上运行调试器软件,被调试程序在目标机上运行。本文描述了这样一个远程调试系统: 利用USB批量传输的可靠性,将远程调试协议EmRDI的报文封装在USB数据包中;协议转换器EmJTAG再根据接收到的USB数据包中的协议信息,转换成适当的JTAG信号来控制和调试ARM核。协议转换器EmJTAG由ST公司的ST72651芯片外加一片接口驱动芯片74LVC244来实现。ST72651内部集成了USB模块和数据传输协处理器部件(DTC),通过对DTC的编程来产生控制ARM核的边界扫描序列,以产生相应的JTAG信号。文章最终实现了PC机对ARM核的目标机的调试功能: PC机的调试器软件可以下载程序至目标机,实时控制目标机上代码的单步/全速运行或停止,以及设置断点和观察点、读写寄存器/存储器等。1系统组成及原理如图1所示,整个调试系统包括三部分: PC机(调试器)、协议转换器(EmJTAG)以及目标板(基于ARM核)。调试的目的是实现在PC机上控制目标板单步或全速运行,并可以实时地察看或修改寄存器及存储器的值。系统设计实现了一个远程调试协议EmRDI,它采用点对点的连接方式,以请求响应的方式进行交互。调试请求由PC机上的调试器软件发出,经由USB总线传输至协议转换器EmJTAG;EmJTAG解读该协议请求,在执行相应的操作之后,以USB数据包的形式发送回PC机(即响应过程)。EmRDI协议定义了如下一些调试请求: 读/写核寄存器、读/写存储器、设置/清除硬件断点、设置/清除软件断点、设置/清除数据观察点、复位、停止运行、全速/单步运行和返回处理器状态/设备标识符。经验证,这些请求的组合,可以实现PC机对目标机上ARM核的调试和控制功能。EmRDI协议请求格式(16字节)如下:命令前导字节。3 详细设计ARM最小系统是由保证微处理器可靠工作所必须的基本电路组成的。S3C4510B的最小系统由S3C4510B、电源电路、晶体振荡器电路、复位电路和JTAG接口电路组成。在系统ARM模块主要负责系统控制部分,其硬件体系结构灵活、接口丰富。核心包括嵌入式ARM CPU及必需的SDRAM和Flash等器件,通过表贴封装的双排插针将各信号线及控制线引出。这样,只需要设计不同的扩展板即可实现不同的系统功能,节约了开发成本并提高了平台的灵活性。嵌入式系统硬件平台结构主要分为2大部分:一部分为系统主板,为基于ARM的最小系统,包括ARM CPU、Flash、SDRAM、串口、键盘等最基本部分;另一部分为系统扩展板,提供了用于完成各个不同硬件的功能模块。电源电路输入电压5V,经过变换给嵌入式微处理器提供3.3V的电压晶振电路10MHz有源晶振经过倍频分别为ARM核提供166MHz的时钟频率微处理器ARM-CPU,系统的工作和控制中心Flash存放嵌入式操作系统、用户应用程序或其他在系统掉电后需要保存的数据SDRAM系统代码的运场所串口系统与其他应用系统的短距离双向串行通信JTAG通过接口可对系统进行调试、编程等图3-1 设计大纲图4 编码ARM初始化汇编语言部分:IOPMOD EQU 0x3FF5000 ;定义IO口模式寄存器IOPDATA EQU 0x3FF5008 ;定义IO口数据寄存器 IMPORT Main AREA Init,CODE,READONLY ENTRY LDR R0, =0x3FF0000 LDR R1, =0xE7FFFF80 ;配置SYSCFG,片内4Kcache,4KSRAM STR R1, R0 LDR SP, =0x3FE1000 ;SP指向SRAM的尾地址,堆栈向下生成 LDR R0, =0X3FF5000 LDR R1, =0X000002A8 ;设置IO3,IO5,IO7,IO9为输出模式 STR R1,R0 BL Main B . ENDC语言部分:几个主要的子函数。#include typDef.h #define IOPMOD (*(volatile unsigned *)0x03FF5000)#define IOPDATA (*(volatile unsigned *)0x03FF5008) /*定义子函数如下*/void clr_lcd_rst(void) IOPDATA &=0XFDFF; 清零复位引脚void set_lcd_rst(void) IOPDATA |=0X0200; 置位复位引脚void clr_lcd_sclk(void)IOPDATA &=0XFFF7; 时钟端置低void set_lcd_sclk(void)IOPDATA |=0X0008; 时钟端置高void clr_lcd_sid(void)IOPDATA &=0XFF7F; 串行输出数据0void set_lcd_sid(void)IOPDATA |=0X0080; 串行输出数据1void clr_lcd_cs(void)IOPDATA &=0XFFDF; 清零使能端void set_lcd_cs(void)IOPDATA |=0X0020; 置位使能端void print_led_p0(void)IOPDATA |=0X0001; 使led0亮void print_led_p1(void)IOPDATA |=0X0002; 使led1亮void off_led_p0(void)IOPDATA &=0XFFFE; 使led0灭/*lcd初始化部分*/void Init_lcd(void)set_lcd_rst();delay(4);write_lcd(0,0x01); 清除显示delay(4);write_lcd(0,0x0c); 显示状态设置delay(4);write_lcd(0,0x30); 设置为8位控制接口delay(4); 5 调试分析系统程序是在ARM公司的集成开发环境ADS1.2中完成开发与调试。软件设计,是基于嵌入式系统程序设计的前后台设计思想(即传统的主函数加中断的程序设计思想),整个系统的运行是在一个while(1)加上若干个中断服务程序。中断部分主要是完成2ms的精确定时和SPI的定时发送的功能。在整个while(1)里面完成了按键检测和AD值与重量量纲的转化和将所需要显示的数转换为BCD码的功能。初始化TAP控制器TAP控制器的基本功能是产生时钟信号和控制信号。它包括一个带有16个状态的有限状态机: TestLogicReset状态、RunTest/Idle状态、SelectDRScan状态、SelectIRScan状态、CaptureDR状态、ShiftDR状态、Exit1DR状态、PauseDR状态、Exit2DR状态、UpdateDR状态、CaptureIR状态、ShiftIR状态、Exit1IR状态、PauseIR状态、Exit2IR状态和UpdateIR状态。初始化TAP控制器的目的是使TAP控制器进入SelectDRScan状态。无论当前TAP控制器处于什么状态,只要在TMS为1时产生5个TCK信号,TAP控制器就进入TestLogicReset状态。因此,使TAP控制器进入SelectDRScan状态的步骤为: 首先使TMS为1,产生5个TCK信号,使TAP控制器进入TestLogicReset状态;然后使TMS为0,产生1个TCK信号,使TAP控制器进入RunTest/Idle状态;最后使TMS为1,产生1个TCK信号,使TAP控制器进入SelectDRScan状态。6 测试结果及运行效果6.1 电源电路在系统中,S3C4510B及部分外围器件需3.3V电源,另外,部分器件需要5V电源,为简化系统电源电路的设计,要求整个系统的输入电压为 5V直流稳压电源。并得到可靠的3.3V电压,因此选用的变换器要满足以上条件,电源电路如图所示。图6-1 电源图6.2晶体振荡器电路 晶振电路用于向CPU及其它电路提供工作时钟。为了获得稳定的运行环境,将S3C4510B的CLKSEL置为高电平,即外部时钟输入直接作为系统时钟。根据S3C4510B的最高工作频率选择50MHz的有源晶振,不同常用的无源晶振,有源晶振的接法略有不。有源晶振的4脚接3.3V电源,1脚悬空,2脚接地,3脚为晶振的输出,晶振的输出端接一个小电阻(22欧姆),对时钟信号去尖峰。该电路用于向S3C4510B和其他电路提供工作时钟。鉴于有源晶体振荡器在工作可靠性和精度上都要优于无源晶体振荡器,故在系统中使用了有源晶体振荡器。根据S3C4510B的最高工作频率及PLL 电路的工作方式,选择10MHz的有源晶体振荡器,其频率经过S3C4510B内部PLL电路倍频后,最高可达50MHz。内部PLL电路兼有频率放大和信号提纯的功能,因此,系统可以以较低的外部时钟信号获得较高的工作频率。晶振电路如图所示。图6-2 晶体振荡器电路6.3复位电路复位电路可由简单的RC电路构成,也可使用其它的相对复杂,但功能更完善的电路。该电路主要完成系统的上电复位和系统运行时用户的按键复位功能,有助于用户调试程序。复位电路如图所示。 图6-3 复位电路图 6.4 存储模块 1、FLASH:目前市面上主要有两种类型的FLASH芯片,即NOR Flash和NAND Flash。Intel公司1988年提出了NOR Flash芯片技术,NOR Flash接口简单,使用独立的地址和数据线,具有快速的随机访问速度,但由于其结构限制,通常在小容量时才肯有明显的成本优势,嵌入式系统中通常使用NOR Flash来存储容量较小的程序的启动代码。本平台使用SST39VF160 Flash存储器,SST39VF160是16M位的Flash存储器。工作电压为2.7V3.6V,采用48脚TSOP封装或48脚FBGA封装,16位数据宽度,可以以8位(字节模式)或16位(字模式)数据宽度的方式工作。SST39VF160仅需3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对Flash进行编程、整片擦除、按扇区擦除以及其它操作。本设计中与FLASH连接的引脚为ADDR21:0、XDATA31:0、nRCS0、nOE、nWBE0、nRESFT。Flash存储器在系统中通常用于存放程序代码,系统上电或复位后从此获取指令并开始执行,因此,应将存有程序代码的Flash存储器配置到ROM/SRAM/Flash Bank0,即将S3C4510B的nRCS(Pin75)接至SST39VF160的CE#端。注意,此时应将S3C4510B的B0SIZE1:0置为“10”,选择ROM/SRAM/Flash Bank0为16位工作方式。2、SDRAM:系统设计中S3C4510B与SDRAM连接的引脚为ADDR21:0、XDATA31:0、nSDCS0、nDWE、nSDRAS、nSDCAS、nWBE0、nWBE1、 SDCLK、CKE。S3C4510B支持16位或32位的SDRAM。在S3C4510B中,可以通过寄存器设置,改变任一存储器组在编址空间里的地址映射。SDRAM是非线性结构的存储器,通过行、列地址寻址,内部采用组加阵列的寻址方式寻址。图6-4 储存电路图图6-5 储存电路图6.5 JTAG接口电路JTAG(Joint Test Action Group联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,JTAG技术是一种嵌入式测试技术。通过JTAG接口可对芯片内部的所有部件进行访问,是开发调试嵌入式系统的一种简洁高效的手段。它有2种连接标准,即14针接口和20针接口。此处选择14针接口的标准。JTAG接口电路如图所示。 图6-6 JTAG接口电路图6.6 输入/输出电路 S3C4510B提供了18个通用输入/输出接口(简称为GPIO),其中部分GPIO口还可以通过寄存器配置为其他功能。通过寄存器,可以设置GPIO口为输入或输出模式,在输出模式下还可以设置输出电平的高低。GPIO口811是多功能口,可作为普通GPIO口使用,也可以作为外部中断的输入引脚,通过寄存器IOPCON进行设置,按键电路连接在处理器的GPIO口811,可用作外部中断输入。处理器的输入输出口可以通过连接串并转换芯片来实现对数码管等的控制,从而实现显示输出的功能。7 系统开发所用到的技术S3C4510B是SAMSUNG公司生产的基于ARM7TDMI的RISC微处理器,主频可达50MHZ。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。利用S3C4510B的通用I/O口来控制液晶显示屏的软硬件方法,实现了与LCD控制模块一样的功能。本文介绍基于S3C4510B型ARM微处理器的输入输出显示系统的构建,并给出系统外围相关器件的选型。利用S3C4510B的通用I/O口,采用串行方式控制液晶模块显示的方法。并给出了S3C4510B与LCD模块的硬件连接图和显示程序的部分原代码本系统就是以ASP为开发平台,以Dreamweaver MX 2004为开发工具,Microsoft SQL Server为后台数据库的新闻发布系统,该系统充分解决了系统交互性问题(用户可以对所浏览的新闻进行评论,评论的内容会放入数据库中,管理员在后台查看评论并给出回复。),在新闻发布模块使用了完整的插件进行新闻发布,能以网页的形式发布也可以以文本形式发布;发布前可以进行预览;支持Flash动画播放和各种图片的发布;新闻可以直接从本地链接中导入也可以从网络上转载。参考文献1 周立功等.深入浅出ARM7:LPC213X/214X 上册.北京航空航天大学出版社.2005.62 华成英,童诗白等.模拟电子技术基础(第四版).高等教育出版社. 2006.13 日铃木雅臣 编著.晶体管电路设计(上).北京:科学出版社, 2004.94 谭浩强,C程序设计M,清华大学出版社5 韩亚萍编著.Protel DXP 基础教程. 北京:清华大学出版社, 2005.56 张珺,王祖麟.基于LPC2131的失重秤配料系统设计.自动化技术与应用,2007(6)7 ARM&Linux嵌入式系统教程 北京航空航天大学出版社8 C程序设计(第三版) 清华大学出版社9 鸟哥的私房菜(第二版) 人民邮电出版社课程设计实践总结本次设计设计的系统具有内容广泛的特点。通过本次课程设计,使我对ARM的掌握和理解,巩固了我在嵌入式系统开发技术课程中所学的基本理论知识和实验技能,使我对嵌入式系统开发技术课程有了更深入的了解进一步激发了我对所学专业学习的兴趣。在设计的过程和设计说明书的撰写过程中,老师给予了我热心的帮助和大力的支持,给我提了诸多的宝贵意见,拓宽了我的思路。在此我向老师致以崇高的敬意和衷心的感谢!在我的学习过程中,衷心的谢谢老师给予我耐心的指导和帮助。我在此对各位老师表示诚挚的感谢!附 录ARM初始化汇编语言部分:IOPMOD EQU 0x3FF5000 ;定义IO口模式寄存器IOPDATA EQU 0x3FF5008 ;定义IO口数据寄存器 IMPORT Main AREA Init,CODE,READONLY ENTRY LDR R0, =0x3FF0000 LDR R1, =0xE7FFFF80 ;配置SYSCFG,片内4Kcache,4KSRAM STR R1, R0 LDR S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论