嵌入式课设 基于ARM的输入输出显示系统_第1页
嵌入式课设 基于ARM的输入输出显示系统_第2页
嵌入式课设 基于ARM的输入输出显示系统_第3页
嵌入式课设 基于ARM的输入输出显示系统_第4页
嵌入式课设 基于ARM的输入输出显示系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连科技学院嵌入式系统设计与开发课程设计题目基于ARM的输入输出显示系统学生姓名专业班级计算机082指导教师王影姜志明职称高工副教授所在单位信息科学系计算机教研室教学部主任孙辉完成日期2011年12月16日课程设计报告单学号姓名专业班级计算机082考核项目评分备注平时工作态度及遵守纪律情况1(10分)掌握基本理论、关键知识、基本技能的程度和阅读参考资料的水平2(10分)独立工作能力、综合运用所学知识分析和解决问题能力及实际工作能力提高的程度3(20分)完成课程设计说明书及软件的情况与水平(小组分工情况、规范性、整洁清楚、叙述完整性、思路清晰程度、工作量及实际运行情况和创新性)4(60分)总评成绩综合评定(优、良、中、及格、不及格)指导教师签字2011年12月22日嵌入式系统设计与开发课程设计任务书一、课程设计任务及要求任务选择以下一个设计项目进行课程设计嵌入式系统实验平台简介、LINUX的安装和基本操作实验、交叉编译环境的建立和BOOTLOADER的使用、多线程应用程序设计、A/D接口实验、QTOPIA211在2410S上的移植、无线通讯实验,除此之外,学生可自行选择课题进行设计(课题必须经指导教师审题后合格),对于大型项目可进行团队开发,但应制定详细的项目分工说明。完成从需求分析、系统设计、系统实现,软件测试的全过程。要求(1)培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。(2)通过对所选题目方案分析比较,确立方案,编制程序与调试程序,掌握嵌入式系统的设计方法。(3)能够完成团队分工合作,在教师的指导下,完成课题任务。(4)根据个人的设计调试过程,撰写设计报告。写出不少于3000字的课程设计说明书。其正文一般有如下几个方面的内容需求分析、概要设计、详细设计、调试分析、运行界面附主要代码、测试结果、附录或参考资料。二、工作量3周(15个工作日)时间三、计划安排第1个工作日第3个工作日查阅相关资料、书籍,阅读示例文档,选择题目。第4个工作日第5个工作日确定题目,进行结构设计、模块设计。第6个工作日第11个工作日完成硬件的连接和程序的编码,并且进行调试、测试。第12个工作日第14个工作日进行课程设计报告的撰写。第15个工作日上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。指导教师签字2011年11月28日目录大连科技学院11需求分析111设计目的和意义112设计任务要求113原理结构及分析12概要设计23详细设计34编码45调试分析66测试结果及运行效果761电源电路762晶体振荡器电路763复位电路864存储模块865JTAG接口电路1066输入/输出电路117系统开发所用到的技术12参考文献13课程设计实践总结14附录1511需求分析11设计目的和意义设计出基于ARM的输入输出显示系统。将输入的信号送入主控芯片,经处理后送到显示系统显示。12设计任务要求设计几个输入端口如键盘、按键、温度采集、压力采集等将所采集信号送入主控芯片,经过处理后送到显示系统显示。根据设计题目的要求,选择确定ARM芯片型号、信号采集芯片型号,完成系统硬件设计和程序设计。13原理结构及分析ARM最小系统是由保证微处理器可靠工作所必须的基本电路组成的。S3C4510B的最小系统由S3C4510B、电源电路、晶体振荡器电路、复位电路和JTAG接口电路组成。在系统ARM模块主要负责系统控制部分,其硬件体系结构灵活、接口丰富。核心包括嵌入式ARMCPU及必需的SDRAM和FLASH等器件,通过表贴封装的双排插针将各信号线及控制线引出。这样,只需要设计不同的扩展板即可实现不同的系统功能,节约了开发成本并提高了平台的灵活性。嵌入式系统硬件平台结构主要分为2大部分一部分为系统主板,为基于ARM的最小系统,包括ARMCPU、FLASH、SDRAM、串口、键盘等最基本部分;另一部分为系统扩展板,提供了用于完成各个不同硬件的功能模块。22概要设计设计几个输入端口如键盘、按键、温度采集、压力采集等将所采集信号送入主控芯片,经过处理后送到显示系统显示。根据设计题目的要求,选择确定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字节如下命令前导字节。33详细设计ARM最小系统是由保证微处理器可靠工作所必须的基本电路组成的。S3C4510B的最小系统由S3C4510B、电源电路、晶体振荡器电路、复位电路和JTAG接口电路组成。在系统ARM模块主要负责系统控制部分,其硬件体系结构灵活、接口丰富。核心包括嵌入式ARMCPU及必需的SDRAM和FLASH等器件,通过表贴封装的双排插针将各信号线及控制线引出。这样,只需要设计不同的扩展板即可实现不同的系统功能,节约了开发成本并提高了平台的灵活性。嵌入式系统硬件平台结构主要分为2大部分一部分为系统主板,为基于ARM的最小系统,包括ARMCPU、FLASH、SDRAM、串口、键盘等最基本部分;另一部分为系统扩展板,提供了用于完成各个不同硬件的功能模块。电源电路输入电压5V,经过变换给嵌入式微处理器提供33V的电压晶振电路10MHZ有源晶振经过倍频分别为ARM核提供166MHZ的时钟频率微处理器ARMCPU,系统的工作和控制中心FLASH存放嵌入式操作系统、用户应用程序或其他在系统掉电后需要保存的数据SDRAM系统代码的运场所串口系统与其他应用系统的短距离双向串行通信JTAG通过接口可对系统进行调试、编程等图31设计大纲图44编码ARM初始化汇编语言部分IOPMODEQU0X3FF5000;定义IO口模式寄存器IOPDATAEQU0X3FF5008;定义IO口数据寄存器IMPORTMAINAREAINIT,CODE,READONLYENTRYLDRR0,0X3FF0000LDRR1,0XE7FFFF80;配置SYSCFG,片内4KCACHE,4KSRAMSTRR1,R0LDRSP,0X3FE1000;SP指向SRAM的尾地址,堆栈向下生成LDRR0,0X3FF5000LDRR1,0X000002A8;设置IO3,IO5,IO7,IO9为输出模式STRR1,R0BLMAINBENDC语言部分几个主要的子函数。INCLUDE“TYPDEFH“DEFINEIOPMODVOLATILEUNSIGNED0X03FF5000DEFINEIOPDATAVOLATILEUNSIGNED0X03FF5008/定义子函数如下/VOIDCLR_LCD_RSTVOIDIOPDATA清零复位引脚VOIDSET_LCD_RSTVOIDIOPDATA|0X0200置位复位引脚VOIDCLR_LCD_SCLKVOIDIOPDATA时钟端置低VOIDSET_LCD_SCLKVOIDIOPDATA|0X0008时钟端置高VOIDCLR_LCD_SIDVOIDIOPDATA串行输出数据0VOIDSET_LCD_SIDVOIDIOPDATA|0X0080串行输出数据1VOIDCLR_LCD_CSVOIDIOPDATA清零使能端VOIDSET_LCD_CSVOIDIOPDATA|0X0020置位使能端5VOIDPRINT_LED_P0VOIDIOPDATA|0X0001使LED0亮VOIDPRINT_LED_P1VOIDIOPDATA|0X0002使LED1亮VOIDOFF_LED_P0VOIDIOPDATA使LED0灭/LCD初始化部分/VOIDINIT_LCDVOIDSET_LCD_RSTDELAY4WRITE_LCD0,0X01清除显示DELAY4WRITE_LCD0,0X0C显示状态设置DELAY4WRITE_LCD0,0X30设置为8位控制接口DELAY465调试分析系统程序是在ARM公司的集成开发环境ADS12中完成开发与调试。软件设计,是基于嵌入式系统程序设计的前后台设计思想(即传统的主函数加中断的程序设计思想),整个系统的运行是在一个WHILE(1)加上若干个中断服务程序。中断部分主要是完成2MS的精确定时和SPI的定时发送的功能。在整个WHILE1里面完成了按键检测和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状态。76测试结果及运行效果61电源电路在系统中,S3C4510B及部分外围器件需33V电源,另外,部分器件需要5V电源,为简化系统电源电路的设计,要求整个系统的输入电压为5V直流稳压电源。并得到可靠的33V电压,因此选用的变换器要满足以上条件,电源电路如图所示。图61电源图62晶体振荡器电路晶振电路用于向CPU及其它电路提供工作时钟。为了获得稳定的运行环境,将S3C4510B的CLKSEL置为高电平,即外部时钟输入直接作为系统时钟。根据S3C4510B的最高工作频率选择50MHZ的有源晶振,不同常用的无源晶振,有源晶振的接法略有不。有源晶振的4脚接33V电源,1脚悬空,2脚接地,3脚为晶振的输出,晶振的输出端接一个小电阻22欧姆,对时钟信号去尖峰。该电路用于向S3C4510B和其他电路提供工作时钟。鉴于有源晶体振荡器在工作可靠性和精度上都要优于无源晶体振荡器,故在系统中使用了有源晶体振荡器。根据S3C4510B的最高工作频率及PLL电路的工作方式,选择10MHZ的有源晶体振荡器,其频率经过S3C4510B内部PLL电路倍频后,最高可达50MHZ。内部PLL电路兼有频率放大和信号提纯的功能,因此,系统可以以较低的外部时钟信号获得较高的工作频率。晶振电路如图所示。8图62晶体振荡器电路63复位电路复位电路可由简单的RC电路构成,也可使用其它的相对复杂,但功能更完善的电路。该电路主要完成系统的上电复位和系统运行时用户的按键复位功能,有助于用户调试程序。复位电路如图所示。图63复位电路图64存储模块1、FLASH目前市面上主要有两种类型的FLASH芯片,即NORFLASH和NANDFLASH。INTEL公司1988年提出了NORFLASH芯片技术,NORFLASH接口简单,使用独立的地址和数据线,具有快速的随机访问速度,但由于其结构限制,通常在小容量时才肯有明显的成本优势,嵌入式系统中通常使用NORFLASH来存储容量较小的程序的启动代码。本平台使用SST39VF160FLASH存储器,SST39VF160是16M位的FLASH存储器。工9作电压为27V36V,采用48脚TSOP封装或48脚FBGA封装,16位数据宽度,可以以8位(字节模式)或16位(字模式)数据宽度的方式工作。SST39VF160仅需3V电压即可完成在系统的编程与擦除操作,通过对其内部的命令寄存器写入标准的命令序列,可对FLASH进行编程、整片擦除、按扇区擦除以及其它操作。本设计中与FLASH连接的引脚为ADDR210、XDATA310、NRCS0、NOE、NWBE0、NRESFT。FLASH存储器在系统中通常用于存放程序代码,系统上电或复位后从此获取指令并开始执行,因此,应将存有程序代码的FLASH存储器配置到ROM/SRAM/FLASHBANK0,即将S3C4510B的NRCSPIN75接至SST39VF160的CE端。注意,此时应将S3C4510B的B0SIZE10置为“10”,选择ROM/SRAM/FLASHBANK0为16位工作方式。2、SDRAM系统设计中S3C4510B与SDRAM连接的引脚为ADDR210、XDATA310、NSDCS0、NDWE、NSDRAS、NSDCAS、NWBE0、NWBE1、SDCLK、CKE。S3C4510B支持16位或32位的SDRAM。在S3C4510B中,可以通过寄存器设置,改变任一存储器组在编址空间里的地址映射。SDRAM是非线性结构的存储器,通过行、列地址寻址,内部采用组加阵列的寻址方式寻址。图64储存电路图10图65储存电路图65JTAG接口电路JTAG(JOINTTESTACTIONGROUP联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,JTAG技术是一种嵌入式测试技术。通过JTAG接口可对芯片内部的所有部件进行访问,是开发调试嵌入式系统的一种简洁高效的手段。它有2种连接标准,即14针接口和20针接口。此处选择14针接口的标准。JTAG接口电路如图所示。11图66JTAG接口电路图66输入/输出电路S3C4510B提供了18个通用输入/输出接口(简称为GPIO),其中部分GPIO口还可以通过寄存器配置为其他功能。通过寄存器,可以设置GPIO口为输入或输出模式,在输出模式下还可以设置输出电平的高低。GPIO口811是多功能口,可作为普通GPIO口使用,也可以作为外部中断的输入引脚,通过寄存器IOPCON进行设置,按键电路连接在处理器的GPIO口811,可用作外部中断输入。处理器的输入输出口可以通过连接串并转换芯片来实现对数码管等的控制,从而实现显示输出的功能。127系统开发所用到的技术S3C4510B是SAMSUNG公司生产的基于ARM7TDMI的RISC微处理器,主频可达50MHZ。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。利用S3C4510B的通用I/O口来控制液晶显示屏的软硬件方法,实现了与LCD控制模块一样的功能。本文介绍基于S3C4510B型ARM微处理器的输入输出显示系统的构建,并给出系统外围相关器件的选型。利用S3C4510B的通用I/O口,采用串行方式控制液晶模块显示的方法。并给出了S3C4510B与LCD模块的硬件连接图和显示程序的部分原代码本系统就是以ASP为开发平台,以DREAMWEAVERMX2004为开发工具,MICROSOFTSQLSERVER为后台数据库的新闻发布系统,该系统充分解决了系统交互性问题(用户可以对所浏览的新闻进行评论,评论的内容会放入数据库中,管理员在后台查看评论并给出回复。),在新闻发布

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论