4LPC2000硬件结构.ppt_第1页
4LPC2000硬件结构.ppt_第2页
4LPC2000硬件结构.ppt_第3页
4LPC2000硬件结构.ppt_第4页
4LPC2000硬件结构.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

课时授课计划,第5章LPC2000系列ARM硬件结构,5.1简介,LPC2000系列微控制器概述,LPC2000系列微控制器基于ARM7TDMI-SCPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。,LPC2000系列器件信息,芯片内部框图,LPC2000系列微控制器包含四大部分:,ARM7TDMI-SCPU,ARM7局部总线及相关部件,AHB高性能总线及相关部件,VLSI外设总线及相关部件,芯片内部框图,LPC2000系列微控制器将ARM7TDMI-S配置为小端模式(Little-endian)。,ARM7TDMI-SCPU,AHB外设分配了2M字节的地址范围,它位于4G字节ARM寻址空间的最顶端。每个AHB外设都分配了16KB的地址空间。,LPC2000系列微控制器的外设功能(除中断控制器)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设都分配了16KB的地址空间。,AHBToVPB桥,芯片内部各单元简介,内部存储器包括无等待SRAM和Flash;,外部存储器控制器(EMC)支持4个BANK的外部SRAM或Flash,每个BANK最多16MB;,系统功能包括维持芯片工作的一些基本功能,如系统时钟、复位等;,向量中断控制器(VIC)可以减少中断的响应时间,最多可以管理32各中断请求;,I2C串行接口为标准的I2C总线接口,支持最高速度400kb;,EMC,系统功能,VIC,I2C串行接口,芯片内部各单元简介,具有两个完全独立的SPI控制器,遵循SPI规范,可配置为SPI主机或从机;,具有两个UART接口,均包含16字节的接收/发送FIFO,内置波特率发生器。其中UART1具有调制解调器接口功能;,在LPC2119/2129/2290/2292等芯片中包含CAN总线接口;,看门狗定时器带有内部分频器,可以方便设置溢出时间,在软件使能看门狗后只有复位可以禁止(具有调试模式);,SPI串行接口,UART0,C代码:,通过查阅PINSE0寄存器设置表,得到P0.9和P0.8的控制位为PINSEL019:16,当该域设置为0101(0 x05)时选择RxD1和TxD1;,为了不影响别的管脚连接设置,通常选择下面的设置方法。,PINSEL0=(PINSEL0,C代码:,5.7引脚连接模块,启动代码相关部分,LPC2200系列微控制器是总线开放型芯片,其总线宽度可设置为8位、16位或32位,对于没有使用到的总线引脚(比如16位总线宽度时,D16D31位没有使用),可作为GPIO使用。,5.7引脚连接模块,启动代码相关部分,.LDRR0,=PINSEL2IF:DEF:EN_CRPLDRR1,=0 x0f814910ELSELDRR1,=0 x0f814914ENDIFSTRR1,R0.,C代码:,如果在工程目标中选择RelInChip项,编译器将会预定义EN_CRP宏,PINSEL2被设置为0 x0f814910,禁止JTAG调试。,当没有预定义EN_CRP宏时,PINSEL2被设置为0 x0f814914,使能JTAG调试。,5.9GPIO,5.9GPIO,特性,LPC2000系列作为“微控制器”,其GPIO特性就显得很重要。它具有如下的特性:可以独立控制每个GPIO口的方向(输入/输出模式);可以独立设置每个GPIO的输出状态(高/低电平);所有GPIO口在复位后默认为输入状态。,5.9GPIO,应用,检测数字输入,如键盘或开关信号,驱动LED或其它指示器,控制片外器件,5.9GPIO,引脚描述,LPC2114/2124微控制器具有两个端口P0和P1,可以作为GPIO使用的引脚数为46个。LPC2210/2212/2214微控制器还包含另外两个端口P2和P3,这个两个端口与外部存储器总线复用,当它们全部作为GPIO使用时,GPIO引脚数多达112个。,5.9GPIO,引脚描述,GPIO与控制寄存器的关系,引脚,GPIO相关寄存器描述,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxPIN,该寄存器反映了当前引脚的状态。IOxPIN中的x对应于某一个端口,如P1口对应于IO1PIN。所以芯片存在多少个端口,就有多少个IOxPIN分别与之对应。写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。注意:无论引脚被设置为输入还是输出模式,都不影响引脚状态的读出。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxDIR,当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方向。向某位写入1使对应引脚作为输出功能,写入0时作为输入功能。作为输入功能时,引脚处于高阻态。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxSET,当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出高电平。向某位写入1使对应引脚输出高电平。写入0无效。从该寄存器读回的数据为GPIO输出寄存器的值。该值不反映外部环境对引脚的影响。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述IOxCLR,当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出低电平。向某位写入1使对应引脚输出低电平。写入0无效。注意:读取该寄存器无效,不能读回输出寄存器的值。,5.9GPIO,使用GPIO注意要点,引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定;大部分GPIO输出为推挽方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA);复位后默认所有GPIO为输入模式。,.PINSEL0.,C代码:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO应用示例设置P0.0输出高电平,P0.0,.uint32PinStat;PINSEL0.,C代码:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO应用示例读取P0.0引脚状态,P0.0,IO0PIN,#defineDataBus0 xFFPINSEL0.,使用IOxSET和IOxCLR实现:,GPIO应用示例输出多位数据至IO口,在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。本例将8位无符号整数变量Data的值输出到P0.0P0.7。,数据输出线:,#defineDataBus0 xFFPINSEL0.,GP

温馨提示

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

最新文档

评论

0/150

提交评论