毕业设计(论文)—基于ARM920T的嵌入式串口通信系统设计.doc_第1页
毕业设计(论文)—基于ARM920T的嵌入式串口通信系统设计.doc_第2页
毕业设计(论文)—基于ARM920T的嵌入式串口通信系统设计.doc_第3页
毕业设计(论文)—基于ARM920T的嵌入式串口通信系统设计.doc_第4页
毕业设计(论文)—基于ARM920T的嵌入式串口通信系统设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

基于ARM920T的嵌入式串口通信系统设计 毕业论文 系 部: 电子工程系 学生姓名: 专业班级: 电子06C1 学 号: 指导教师: 二九年三月二十日声 明本人所呈交的基于ARM920T的嵌入式串口通信系统设计研究,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名: 日期: 【摘要】嵌入式系统(Embedded System)在于结合微处理器或微控制器的系统电路与其专用的软件,来达到系统运作效率成本的最优化。 本课题主要是应用ARM体系结构、ARM9-2410开发板、串行通信接口工作原理、ARM9调试仿真工具ADS1. 2和MULTI-ICE软件仿真器,会用超级终端进行数据传送测试,实现连接PC机、ARM9-2410开发板、仿真器,实现串行通信,传输速率为115200bps, 接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端,实现监测。嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。本课题的目的就是研究适用于学校教学的嵌入式系统平台,这对于提高对嵌入式系统的理解具有重要意义。本课题以嵌入式系统设计原理和实际应用为核心,从理论上和技术方法上开展了一系列研究。 【关键词】:ARM体系,ARM9-2410开发板,串行通信 ,数据传送,监测ABSTRACTWith the development of IT network technology, embedded system shows anew direction of technology development .Embedded system has been applied in military , electronics, communication, industrial control and so on With the development of IT network technology, embedded system shows anew direction of technology development. Embedded system has been applied in military, electronics, communication, industrial control and so on, with respect to its small size, high performance, low cost, high reliability and oriented object program. It also has a broad foreground, along with the fast development of hardware of embedded system This intention of this topic is designing the embedded system ,which is important for enhancing the understanding of embedded system The research is highlighted in both design theory and applications of embedded system which extended its developments. 【KEY WORD】: embedded system ,IT network technology目 录引言第1页一 、嵌入式发展与应用第2页(一)嵌入式系统的发展 第2页(二)嵌入式系统的应用前景 第3页二、嵌入式体系结构 第3页 (一)ARM简介与微处理器结构 第3页(二)寄存器组织与异常 第5页(三)ARM920T内核微处理器 第6页 三、基于ARM920T的嵌入式串口通信系统设计 第7页 (一)设计目的、内容、预备知识与设备 第7页 (二)基础知识 第8页 (三)设计步骤 第12页四、总结或结束语 第15页参考文献 第15页致谢 第15页 引言本课题以嵌入式系统设计原理和实际应用为核心,从理论上和技术方法上开展了一系列研究。主要工作有:1、全面系统地概述了嵌入式系统的发展过程和分类,及其在各个领域内的应用,以及嵌入式系统的发展方向;2、基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案,从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性的论证;3、嵌入式系统硬件平台的设计与调试,着重叙述了硬件平台的整体设计方案,包括模块的选型与接口电路的设计; 图1.1 软硬件协同设计方法总之,本文完成了嵌入式系统的硬件平台构架、实时嵌入式操作系统的移植,为今后嵌入式系统的后继开发提供了一个嵌入式平台。基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案,从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性的论证。嵌入式系统硬件平台的设计与调试,着重叙述了硬件平台的整体设计方案,包括各个设计模块的选型与接口电路的设计。随着世界科技水平的发展,嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。随着嵌入式系统软硬件技术的飞速发展,其应用领域必将更为广阔,嵌入式系统的研究将会有非常广泛的前景。本课题既可以使电子专业学生对ARM920T的嵌入式串口通信系统的实际应用有深入的了解,更重要的是培养了学生的软硬件动手能力,是对学生所学专业知识、理论、技能和培养学生独立完成基本科研任务能力的一个综合检验,具有一定的效果和意义。一、嵌入式发展与应用(一)嵌入式系统的发展 1. 嵌入式系统的概念嵌入式系统集系统的应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。2. 嵌入式系统的组成嵌入式系统可以笼统地分为硬件和软件两部分。嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件。嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用EPROM、EEPROM或闪存(Flash Memory)作为存储介质。 从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分。目前嵌入式处理器的寻址空间可以从64kB到16MB,处理速度最快可以达到2000MIPS,封装从8个引脚到144个引脚不等。 根据其现状,嵌入式处理器可以分成下面几类: 嵌入式微处理器(Embedded Microprocessor Unit,EMPU)嵌入式微控制器(Microcontroller Unit,MCU) 嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP) 嵌入式片上系统(System On Chip,SOC) 嵌入式系统的软件部分包括操作系统和应用软件。应用软件决定了系统的运作和行为;而操作系统控制着应用软件与系统硬件的交互。多数嵌入式设备的应用软件和操作系统都是紧密结合的,这也是嵌入式系统和通用PC系统的主要区别之一。3. 嵌入式系统的发展嵌入式系统的出现至今已经有30多年的历史了,嵌入式技术大致经历了4个阶段: 第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。第三阶段是以嵌入式操作系统为标志的嵌入式系统。第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。(二)嵌入式系统的应用前景 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 纵观嵌入式系统的发展过程,可以看出嵌入式系统由简单的无操作系统的循环控制程序向具有强大功能的基于操作系统的方向发展,从独立的系统向基于网络的系统发展。未来几年,个人计算机将会延伸到各种大小型智能设备中,各种信息借助于网络形成连接为一个整体。要达到这样的目标非嵌入式系统不可,同时这也是我们对嵌入式系统的展望。图1.2所示为嵌入式系统在日常生活中的一些应用: 图1.2 嵌入式系统应用 二、ARM9体系结构(一) ARM简介与微处理器结构1.ARM的全称是Advanced RISC Machine, ARM微处理器及技术的应用几乎已经深入到各个领域:工业控制领域, 无线通讯领域, 网络应用, 消费类电子产品和成像和安全产品。 ARM微处理器采用RISC架构,一般具有如下特点: 体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。2. ARM的内核简介ARM内核结构芯片具有RISC体系的一般特点:具有大量寄存器;绝大多数操作都是在寄存器中进行,寄存器与内存打交道的唯一是通过Load/Store的体系结构在内存和寄存器之间传递数据;寻址方式简单;采用固定长度的指令。 ARM微处理器目前包括ARM7、ARM9、ARM9E、ARM10E、SecurCore、Inter的Xscale和Inter的StrongARM系列,以及其它厂商基于ARM体系结构的处理器,除了具有ARM体系结构的共同特点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 3. ARM微处理器结构1)RISC体系结构 RISC结构优先选取使用频率最高的简单指令,避免复杂指令;将指令长度固定,指令格式和寻址方式种类减少;以控制逻辑为主,不用或少用微码控制等措施来达到上述目的。到目前为止,RISC体系结构也还没有严格的定义,一般认为,RISC体系结构应具采用固定长度的指令格式,指令归整、简单、基本寻址方式有23种; 使用单周期指令,便于流水线操作执行;大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率等特点。 2)ARM微处理器的寄存器结构 ARM处理器共有37个寄存器,被分为若干个组(BANK), 同时,ARM处理器又有7种不同的处理器模式,如下表22在每一种处理器模式下均有一组相应的寄存器与之对应。表22 ARM处理器的7种处理器模式处理器模式 描述 用户模式(User,usr) 正常程序执行的模式 快速中断模式(FIQ,fiq) 用于高速数据传输和通道处理 外部中断模式(IRQ,irq) 用于通常的中断处理 特权模式(Supervisor, Sve) 供操作系统使用的一种保护模式 数据访问中止模式(Abort,abt) 用于虚拟存储及存储保护 未定义指令中止模式(Undefined,und) 用于支持通过软件仿真硬件的协处理器 系统模式(System,sys) 用于运行特权级的操作系统任务 3)ARM微处理器的指令结构 ARM微处理器的在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省3040以上的存储空间,同时具备32位代码的所有优点。 (二)寄存器组织与异常1.通用寄存器: 通用寄存器包括R0R15,可以分为三类:未分组寄存器R0R7;分组寄存器R8R14; 程序计数器PC(R15)。 2.Thumb状态下的寄存器组织 Thumb状态下的寄存器集是ARM状态下寄存器集的一个子集,程序可以直接访问8个通用寄存器(R7R0)、程序计数器(PC)、堆栈指针(SP)、连接寄存器(LR)和CPSR。同时,在每一种特权模式下都有一组SP、LR和SPSR。表24表明Thumb状态下的寄存器组织。 Thumb状态下的寄存器组织与ARM状态下的寄存器组织的关系: Thumb状态下和ARM状态下的R0R7是相同的;Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的;humb状态下的SP对应于ARM状态下的R13;Thumb状态下的LR对应于ARM状态下的R14;Thumb状态下的程序计数器对应于ARM状态下R15。 以上的对应关系如图1.3所示:图1.3 Thumb状态下的寄存器组织 3. 程序状态寄存器 ARM体系结构包含一个当前程序状态寄存器(CPSR)和五个备份的程序状态寄存器(SPSRs)。备份的程序状态寄存器用来进行异常处理,其功能包括: 保存ALU中的当前操作信息 控制允许和禁止中断 设置处理器的运行模式 程序状态寄存器的每一位的安排如图1.4所示: 图1.4 程序状态寄存器格式4. 异常(Exceptions) ARM体系结构所支持的异常:复位、未定义指令、软件中断、指令预取中止、数据中止、IRQ(外部中断请求)、FIQ(快速中断请求)。(三)ARM920T内核微处理器 ARM920T : ARM9内核采用了与StrongARM相同的五级流水线、提供1.1MIPS/MHz的哈佛结构、全性能的MMU单元、可配置的数据Cache和可分立和指令和数据高速AHB接口。 1五级流水线 ARM920T处理器使用流水线来增加处理器指令流的速度。这样可以使几个操作同时进行,并使处理和存储器系统连续操作,能提供1.1MIPS/MHz的指令执行速度。流水线使用5个阶段,因此指令分5个阶段执行:取址译码执行存储写。 2ARM920T处理器结构 ARM920T处理器功能方框图如图1.5。 图1.5 ARM920T处理器功能方框图 3.系统供电 2410RP实验箱由开关电源(5V)和一个RTC(3V)电池供电。5V电源先经一个线形稳压器(LDO)后得到3.3V供CPU I/O口部分见和其他接口器件工作,3.3V电压再经一个线形稳压器(LDO)后得到1.8V电压供CPU的核心工作,另外5V电压经线形稳压器后得到3.3V供A/D器件工作。在电源的保护方面,不仅在开关电源的AC输入端接有保险管,而且,开关电源的5V输出端口有可恢复的保险管,当系统连接出错而导致5V电流过大时,可恢复保险管会因过热而自动断开,当冷却了以后,又自动连接,实现系统的过流自动保护。4.系统配置系统配置分为: 时钟配置 、复位逻辑 、启动分区(BOOT ROM BANK0)、SmartMedia Card (NAND Flash memory ) 卡接口、SD卡主机(MMC)接口 、IIC接口 、USB接口 、UART接口 、音频接口和存储器等。三、基于ARM920T的嵌入式串口通信系统设计(一)设计目的、内容、预备知识与设备1.设计目的掌握ARM的串行口工作原理;编程实现ARM的UART通讯;掌握S3C2410寄存器配置方法。 2.设计内容与预备知识实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。 1)熟悉ADS集成开发环境的基本功能; 2)了解串口通讯的基本知识; 3)熟悉S3C2410串口有关寄存器。 3.设计设备1)ARM2410嵌入式开发板,JTAG仿真器。 2)软件:PC机操作系统Win98、Win2000或WinXP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。(二)基础知识 串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。采用的通讯协议有两类:异步协议和同步协议。随着大规模集成电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,它们的基本功能是类似的。1.异步串行通信 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先接收完1个字符的各位,再按位组成字符。为了回复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 图14-1给出了异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600等。2串行接口的物理层标准 1)EIA RS232C 它在一种25针插件(DB25)上定义了串行通信的有关信号。在实际异步串行通信中,并不要求用全部的RS-232C信号,许多PC/XT兼容机仅用15针接插件(DB-15)来引出其异步串行I/O信号,而PC中更是大量采用9针接插件(DB-9)来担当此任。 图1.6 DB-25和DB-9引脚定义 图1.6分别给出了DB-25和DB-9的引脚定义,表1-1列出了引脚的名称以及简要说明。 表1-1 引脚说明 引脚序号 信号名称 符号流向 功能 2 发送数据 TXDDTEDCEDTE发送串行数据 3 接收数据 RXDDTEDCEDTE接收串行数据 4 请求发送 RTS DTEDCEDTE请求DCE将线路切换到发送方式 5 允许发送 CTS DTEDCEDCE告诉DTE线路已接通可以发送数据 6 数据设备准备好 DSRDTEDCEDCE准备好 7 信号地 信号公共地8 载波检测 DCDDTEDCE表示DCE接收到远程载波 20 数据终端准备好 DTRDTEDCEDTE准备好 22 振铃指示 RI DTEDCE表示DCE与线路接通,出现振铃 2)信号电平规定 RS-232C规定了双极性的信号逻辑电平,它是一套负逻辑定义:-3V到-25V之间的电平表示逻辑“1”。+3V到+25V之间的电平表示逻辑“0”。以上标准称为EIA电平。PC/XT系列使用的信号电平是-12V和+12V,符合EIA标准,但在计算机内部流动的信号都是TTL电平,因此这中间需要用电平转换电路。常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和EIA电平之间实现相互转换。PC/XT系列以这种方式进行串行通信时,在波特率不高于9600bps的情况下,理论上通信线的长度限制为15米。 3S3C2410串行口控制器 S3C2410自带3个异步串行口控制器,每个控制器有16字节的FIFO(先入先出寄存器),最大波特率115.2Kbps。每个UART有7种状态:溢出错误,校验错误,帧错误,暂停态,接收缓冲区准备好,发送缓冲区空,发送移位缓冲器空,这些状态可以由相应的UTRSTATn或UERSTATn寄存器表示,并且与发送接收缓冲区相对应的有错误缓冲区。串行接口如图1-7所示:波特率的大小由一个专用的UART波特率分频寄存器(UBRDIVn)控制,计算公式如下: UBRDIVn =(int)MCLK/(bps16)-1 其中:MCLK是系统时钟,UBRDIVn的值必须在1(216-1)之间.例如:在40MHz的情况下,当波特率取115200时, UBRDIVn = (int)40000000/(11520016) -1 = (int)(21.7)-1= 21 -1 = 20 与UART有关的寄存器主要有以下几个: 1)UART行控制寄存器ULCONn 下表列出了ULCONn各位的意义。该寄存器的位6决定是否使用红外模式,位5位3决定校验方式,位2决定停止位长度,位1和位0决定每帧的数据位数。 2)UART控制寄存器UCONn该寄存器决定UART的各种模式。 3)FIFO控制寄存器UFCONn 该寄存器用于收发缓冲的管理,包括缓冲的触发字节数的设置、FIFO的清除和使能。 4)MODEM控制寄存器UMCONn 该寄存器用于设置流控方式,在实验中没有使用流控。 5)状态寄存器UTRSTATn 6)错误状态寄存器UERSTATn 它可以反映芯片当前的错误类型。 7)FIFO状态寄存器UFSTATn 通过它读出目前FIFO是否满以及其中的字节数。 8)发送寄存器UTXH和接收寄存器URXH 这两个寄存器存放着发送和接收的数据,当然只有一个字节8位数据。需要注意的是,在发生溢出错误时,接收的数据必须被读出来,否则会引发下次溢出错误。 9)波特率分频寄存器UBRDIV 该寄存器为十六位,算法参见上页的公式部分。 和URXH各位的意义一样,这两个寄存器存放着发送和接收的数据,当然只有一个字节8位数据。需要注意的是在发生溢出错误的时候,接收的数据必须要被读出来,否则会引发下次溢出错误。 4设计说明 串口在嵌入式系统中是一个重要的资源,常用来做输入输出设备,在后续的实验中也将使用串口的功能。串口的基本操作有三个:串口初始化、发送数据和接收数据,这些操作都是通过访问上节中描述的串口控制寄存器进行,下面将分别说明: 1)串口初始化程序 MMU_Init(); /初始化内存管理单元 /设置系统时钟 ChangeClockDivider(1,1); / 1:2:4 ChangeMPllValue(0xa1,0x3,0x1); / FCLK=202.8MHz Port_Init(); /初始化I/O口 Uart_Init(0,115200); /初始化串口 Uart_Select(0); /选择串口0 2)发送数据 while(!(rUTRSTAT0&0x2); /等待发送缓冲空 rUTXH0=data; /将数据写到数据端口 3)接收数据 while(rUTRSTAT0&0x1=0x0); /等待数据 data=rURXH0; /读取数据(三)设计步骤硬件连接;2 新建工程UART.mcp,编辑并添加以下三类文件: 1).s文件:2410init . s,2410slib . s; 2).h文件:def. h,option.h,2410addr.h,2410lib.h,2410slib.h, mmu.h; 3).c(C)文件:2410lib.c,Main.C, mmu.c; *文件说明: 2410init.s初始化cpu、内存等状态,完成后跳转到C语言入口; 2410swis.s软中断处理相关; 2410slib.s库中内存管理等函数的调用; def.h宏定义; option.h定义时钟、地址、总线宽度等; 2410addr.h寄存器地址状态定义; 2410lib.h , 2410lib.c(C语言)前者声明函数库变量,后者定义库中常用函数(如串口函数); 2410slib.h , 2410slib.s(汇编语言) 前者声明函数库变量,后者定义库中常用函数(如内存管理等); mmu.h , mmu.c内存管理单元的声明和函数定义; test.c , Main.c , *.c定义系统运行方式(*.c表示以工程名命名的c文件以及其他可能用到的c文件); *3修改工程设置,如图1.8、1.9所示: 图1.8 图1.94.编译UART; 5运行超级终端,选择正确的串口号,并将串口设置为:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口; 6运行程序,在超级终端中输入的数据将回显到超级终

温馨提示

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

评论

0/150

提交评论