嵌入式体系结构课程总结.doc_第1页
嵌入式体系结构课程总结.doc_第2页
嵌入式体系结构课程总结.doc_第3页
嵌入式体系结构课程总结.doc_第4页
嵌入式体系结构课程总结.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

重庆理工大学嵌入式体系结构课程总结 二级学院 计算机科学与工程学院 专 业 计算机科学与技术专业 班 级 372 学生姓名 张建英 学号 11103070231 教 师 刘政 时 间 2013.11.10 成 绩 前言:关于嵌入式部分总结从技术角度定义嵌入式:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统分类:嵌入式微处理器(EMPU)、微控制器、DSP处理器、片上系统SOC。嵌入式微处理器(EMPU):嵌入式微处理器的基础是计算机中的CPU,在应用中将微处理器装配在专门设计的电板上,只保留与嵌入式应用有关的母板功能,这样可以大幅减小系统的体积和功耗。微控制器:微控制器又叫单片机,顾名思义,就是将整个计算机系统集中到一块芯片中,与嵌入式微处理器相比,微控制器的最大特点是单片化。DSP处理器:效率较高,指令执行速度也较高。片上系统SOC:SOC就是在一个硅片上实现一个更为复杂的系统,SOC可以分为通用和专用两类。ARM处理器有两种状态和七种模式:两种状态:ARM状态、Thumb状态;七种模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速中断模式。ARM状态:32位,处理器执行字方式的ARM指令,处理器在系统上电时默认为ARM状态。Thumb状态:16位,处理器执行半字方式的Thumb指令。ARM处理器内部共有37个用户可访问的位寄存器,其中有6个人财产2位宽的状态寄存器目前只使用了其中12位。37个寄存器分别为:31个通用32位寄存器,6个状态寄存器。RISC的结构特性:1、具有大量的通用寄存器;2、通过装载和保存结构使用独立的LOAD和STORE指令完成数据在寄存器与外部存储器之间的传送,处理器只处理寄存器中的数据,从而可以避免多次访问存储器; 3、寻址方式非常简单,所有转载、保存的地址都是由寄存器内容和指令域决定;4、使用统一和固定长度的指令格式;5、每一条数据处理指令都可以同时包含算数逻辑单元(ALU)的运算和移位处理,以实现对ALU和移位器的最大利用;6、地址自动增加和自动减少的寻址方式优化了程序中的循环处理;7、load/store指令可以批量传输数据,从而实现了最大数据吞吐量;8、大多数ARM指令是可“条件执行”的,也就是说,只有当某个特定条件满足时指令才会被执行。异常向量表:每一种处理器模式都有一个相关联的中断向量,当一个异常发生时,ARM将会改变模式,而程序计数器PC将会被强行指向异常向量。异常向量表:地址异常进入异常时的模式进入时I的状态进入时F的状态0x00000000复位管理禁止禁止0x00000004未定义指令未定义IF0x00000008软件中断管理禁止F0x0000000C中止预取中止IF0x00000010中止数据中止禁止F0x00000014保留保留0x00000018FRQ中断禁止F0x0000001CFIQ快速中断禁止禁止第一章 系统控制和启动过程1.1 相关功能的介绍晶体振荡器:通过外接晶振或时钟为系统提供时钟信号;复位:复位使ARM内核与外设部件进入一个确定的初始状态;存储器映射控制:控制异常向量表的重新影射方式;锁相环:将晶体振荡器输入的时钟倍频到一个合适的时钟频率;VPB分频器:将内核失重与外设时钟分开的部件;功率控制:使处理器空闲或者掉电,还能关闭指定的功能部件,以降低芯片功耗唤醒定时器。1.2功能1.3相应寄存器1.4驱动程序1.5示例代码第二章 GPIO2.1 GPIO简介LPC2000系列ARM的GPIO特性:1、可以独立控制每个GPIO口的方向(输入/输出模式);2、可以独立设置每个GPIO的输出状态(高/低电平);3、所有GPIO口在复位后默认为输入状态。GPIO控制寄存器组描述:通用名称功能描述访问复位值 控制寄存器组端口0(P0)地址&名称端口1(P1)地址&名称端口2(P2)地址&名称端口3(P3)地址&名称IOPIN反映引脚的当前电平状态寄存器只读NA0xE002 8002 IO0PIN0xE002 8010 IO1PIN0xE002 8020 IO2PIN0xE002 8030 IO3PINIOSETGPIO引脚高电平输出控制寄存器读/置位0x000000000xE002 800C4IO0SET0xE002 8014 IO1SET0xE002 8024 IO2SET0xE002 8034 IO3SETIODIRGPIO引脚输入/输出方向控制寄存器读/写0x000000000xE002 8008 IO0DIR0xE002 8018 IO1DIR0xE002 8028 IO2DIR0xE002 8038 IO3CLRIOCLRGPIO引脚低电平输出方向控制寄存器只清零0x000000000xE002 800C IO0CLR0xE002 801C IO1CLR0xE002 802C IO2CLR0xE002 803C IO3CLR2.2 GPIO寄存器2.2.12.2.22.2.32.2.42.3 第三章 向量中断及外部中断输入3.1硬件结构3.2功能3.3相应寄存器第四章 定时器4.1硬件结构4.2功能4.3相应寄存器第五章SPI5.1 SPI硬件结构SPI总线系统是一种同步串行外设借口,允许MCU与各种外围设备已串行方式进行通信、数据交换。外围设备包括Flash、RAM、A/D、转换器、网络控制器、MCU等。SPI系统可直接与各个厂家生产的多种标准外围器件直接接口,一般使用4条线:串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SSEI。SPI的接口特性:1、具有2个完全独立的SPI控制器;2、 遵循同步串行接口(SPI)规范;3、 全双工数据通信;4、 可配置为SPI主机或从机;5、 最大数据位速率为外设时钟FPCLK的1/8。5.2 SPI功能模块有5个寄存器控制SPI功能模块,下面分别作简单的描述:SPCRSPI控制寄存器。包含一些可编程位来控制SPI功能模块。该寄存器必须在数据传输之前进行设定。SPSRSPI状态寄存器。只读的寄存器,用于监视SPI功能模块的状态,包括一些一般性功能和异常状况。该寄存器的主要用途是检测数据传输的完成,这可以通过判断SPIF位来实现,其他位用于指示异常状况。SPDRSPI数据寄存器。用于发送和接收数据,在发送时向SPI数据寄存器写入数据。串行数据的发送和接收通过内部移位寄存器来实现。写数据时,数据寄存器和内部移位寄存器之间没有缓冲区,写SPDR会使数据直接进入内部一位寄存器,因此数据只能在一次数据发送完成之后写入该寄存器。读数据是带有缓冲区的,当传输结束时,接收到的数据转移到一个单字节的数据缓冲区,读SPI数据寄存器将返回读缓冲区的值。SPCCRSPI时钟计数器寄存器,用于设置SPI时钟分频值。当SPI功能模块处于主模式时,SPCCR寄存器用于控制时钟速率,即SPI总线速率。该寄存器必须在数据传输之前设定。当SPI功能模块处于从模式时,该寄存器无效。SPINTSPI中断标志寄存器,该寄存器包含了SPI的中断标志位。5.3 SPI寄存器描述5.3.1 SPI控制寄存器(S0SPCR,0xE002 0000;S1SPCR,0xE003 0000)位位名称描述复位值2:0保留,用户软件不要向其中写入1,从暴力流位读出的值未定义NA3CPHA时钟相位控制位,决定SPI传输时数据和时钟的关系并控制从机传输的。起始和结束:1、CPHA=1时,数据在SCK的第二个时钟沿采样。当SSEL信号激活时,传输从第一个时钟沿开始并在最后一个采样时钟沿结束。2、CPHA=0时,数据在SCK的第一个时钟沿采样。传输从SSEL信号激活时开始,并在SSEL信号无效时结束04CPOL时钟极性控制:CPOL=1时,SCK为低有效;在总线空闲状态,SCK为高电平。CPOL=0时,SCK高有效;在总线空闲状态,SCK为低电平05MSTR主模式选择:MSTR=1时,SPI处于主模式;MSTR=0时,SPI处于从模式06LSBFLSBF用来控制传输的每个字节的移动方向:LSBF=1时,SPI数据传输LSB(bit0)在先;LSBF=0时,SPI数据传输MSB(bit7)在先07SPIESPI中断使能:SPIE=1时,每次SPIF或MODF置位时都会产生硬件中断;SPIE=0时,SPI中断禁止0示例代码:SPI_SPCR= (03) | /CPHA=0,数据在SCK的第一个跳变沿采样(14) | /CPOL=1,时钟为低有效(15) | /设置为主机(06) | /LSBF=0,数据传输MSB在先(17) | /SPI中断使能5.3.2 SPI状态寄存器(S0SPSR,0xE002 0004;S1SPSR,0xE003 0004)位位名称描述复位值2:0保留,用户软件不要向其中写入1,从暴力流位读出的值未定义 NA3ABRT从机中止:该位为1时表示发生了从机中止。当读取该寄存器时,该位清零04MODF模式错误:为1时表示发生了模式错误,先通过读取该寄存器清零MODF位,再写SPI控制寄存器05ROVR读溢出:为1时表示发生了溢出。当读取该寄存器时,该位清零06WCOL写冲突:为1时表示发生了冲突。先通过读取该寄存器清零WCOL位,再访问SPI数据寄存器07SPIFSPI传输完成标志:为1时表示一次SPI数据传输完成。在主模式下,该位在传输的最后一个周期置位。在从机模式下,该位在SCK的最后一个数据采样边沿置位。当读取该寄存器时,该位清零。然后才能访问SPI数据寄存器。注:SPIF不是SPI中断标志。中断标志位于SPINT寄存器中05.3.3 SPI数据寄存器(S0SPDR,0xE002 0008;S1SPDR,0xE003 0008)位位名称描述复位值7:0数据SPI双向数据0示例代码:SPI_SPDR= data; /发送数据While(SPI_SPSR&0x80)=0); /等待SPI置位,即等待数据发送完毕5.3.4 SPI时钟计数寄存器(S0SPCCR,0xE002 000C;S1SPCCR,0xE003 000C)该寄存器控制主机SCK的频率,见下表。该寄存器的值必须为偶数,因此bit0必须为0,该寄存器的值还必须大于等于8。如果寄存器的值不符合上述条件,可能导致产生不可预测的动作。频率公式如下:Fspi=Fpclk/SPCCRFPCLK=FCCLK/VPB,其中速率为CCLK/VPB除数,由VPBDIV寄存器的内容决定。位功能描述复位值7:0计数值SPI时钟计数值设定0示例代码:SPI_SPCCR=Fpclk/F_spi;/设置SPI时钟分频5.3.5 SPI中断标志寄存器(S0SPINT,0xE002 001C;S1SPINT,0xE003 001C)位功能描述复位值0SPI中断SPI中断标志:由SPI接口置位以产生中断。向该位写入1清零注:当SPIE=1并且SPIF和MODF位中至少有一位1时该位置位。只有当SPI中断位置位并且SPI中断在VIC中被使能,SPI中断才能由中断处理软件处理07:1保留,用户软件不要向其写入1,从保留位读出的值未定义NA示例代码:S0PINT=0x01;/清除SPI中断标志位5.4驱动程序5.4.1 SPI主机初始化示例#define MSTR (15)#define CPOL(14)#define CPHA(13)#define LSBF(16)#define SPI_MODE (MSTR | CPOL)Void MSpiIni(uint8 fdiv)If(div8)fdiv=8;S0PCCR=fdiv&0xFE;S0PCR=SPI_MODE;5.4.2 SPI主机数据发送和接收示例Uint8 MSendData(uint8 data)IO0CLR=HC595_CS;S0PDR=data;While(0=(S0PSR&0x80);IO0SET=HC595_CS;Return(S0PDR);5.4.3 SPI从机初始化示例#define CPOL(14)#define CPHA(13)#define LSBF(1 400000)fi2c = 400000;PINSEL0 = (PINSEL0 & 0xFFFFFF0F) | 0x50 ;I2SCLH = (Fpclk/fi2c + 1) / 2 ;I2SCLL = (Fpclk/fi2c ) / 2 ;I2CONCLR = 0x2C ;I2CONSET = 0x40 ;VICIntSelect = 0x00000000;VICVectCntl0 = 0x29 ;VICVectAddr0 = (int)IRQ_I2C ;VICIntEnable = 0x0200 ;6.4.2 从模式I2C初始化示例Void I2C_SlavInit(uint8 adr)PINSEL0 = (PINSEL0 & 0xFFFFFF0F) | 0x50 ;I2SADR= adr & 0xFE;I2CONCLR = 0x28 ;I2CONSET = 0x44 ;VICIntSelect = 0x00000000;VICVectCntl0 = 0x29 ;VICVectAddr0 = (int)IRQ_I2C ;VICIntEnable = 0x0200 ;第七章 UART7.1 UART硬件结构LPC2000系列ARM7微控制器包含有2个符合16C550工业标准的异步串行口(UART):UART0和UART1。其中,UART0只提供TXD和RXD信号引脚,而UART1增加了一个调制解调器(Modem)接口。其余方面二者都是完全相同的。因此,下面对于二者相同的部分都是统一介绍的。UART的特性:1、16字节接收FIFO和16字节发送FIFO;2、 寄存器位置符合16C550工业标准;3、 接收器FIFO触发点可谓1、4、8和14字节;4、 内置波特率发生器;5、 UART1含有标准调制解调器接口信号。7.2 UART结构在UART0与UART1中,二者唯一的区别就是:UART1增加了一个Modem接口,其余都是相同的。7.2.1 UART发送单元UnTx(n=0、1,以n=0为例)UnTx接收CPU(或从机)写入的数据,并将数据缓存到UARTn发送保持寄存器(UnTHR)中。发送移位寄存器(UnTSR)读取保持寄存器(UnTHR)中的数据,并将数据通过串行输出引脚TxDn发送出去。7.2.2 UART接收单元UnRx(n=0、1,以n=0为例)UnRx监视串行输入线RxDn上的信号。UARTn Rx移位寄存器(UnRSR)通过RxDn接收有效字符。当UnRsR接收到一个有效字

温馨提示

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

评论

0/150

提交评论