系列ARM简介及GPIO驱动开发

上传人:wuli****0220 文档编号:244904876 上传时间:2024-10-06 格式:PPT 页数:30 大小:894.50KB
返回 下载 相关 举报
系列ARM简介及GPIO驱动开发_第1页
第1页 / 共30页
系列ARM简介及GPIO驱动开发_第2页
第2页 / 共30页
系列ARM简介及GPIO驱动开发_第3页
第3页 / 共30页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,LPC2000系列ARM硬件结构,Lpc21xx硬件结构及GPIO,4.1 LPC2000系列简介,LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。,简介,LPC2000系列ARM产品,LPC2100,系列,LPC2200,系列,LPC2300,系列,LPC2400,系列,LPC2800,系列,LPC3000,系列,(new),LPC1700,系列,(new),LPC1100,系列,(new),LPC4074FBD80,(cortex-m4),器件型号,引脚数,片内RAM,片内Flash,10位AD通道数,CAN控制器,备注,LPC2114,64,16KB,128KB,4,LPC2124,64,16KB,256KB,4,LPC2210,144,16KB,8,带外部存储器接口,LPC2212,144,16KB,128KB,8,LPC2214,144,16KB,256KB,8,LPC2119,64,16KB,128KB,4,2,LPC2129,64,16KB,256KB,4,2,LPC2194,64,16KB,256KB,4,4,LPC2290,144,16KB,8,2,带外部存储器接口,LPC2292,144,16KB,256KB,8,2,LPC2294,144,16KB,256KB,8,4,LPC2131,64,8KB,32KB,8,LPC2132,64,16KB,64KB,8,带1路DAC,LPC2134,64,16KB,128KB,双8路,LPC2136,64,16KB,256KB,双8路,LPC2138,64,32KB,512KB,双8路,LPC2000系列ARM器件信息,子系列,芯片型号,管脚数目,说明,LPC210x,LPC2101 / 2102 / 2103,/ 2104 / 2105 / 2106,48,快速GPIO,LPC211x,LPC2114 / 2119,64,2119带2路CAN,LPC212x,LPC2124 / 2129,64,2129带2路CAN,LPC213x,LPC2131 / 2132 / 2134 / 2136 / 2138,64,单电源供电,LPC214x,LPC2141 / 2142 / 2144 / 2146 / 2148,64,USB 2.0 Device(FULL),单电源供电,快速GPIO,LPC219x,LPC2194,64,4路CAN,LPC2210,LPC2210 / 2212 / 2214,144,总线开放,LPC2220,LPC2220,144,总线开放,LPC2290,LPC2290 / 2292 / 2294,144,总线开放,带2/4路CAN,LPC2000系列ARM器件信息,4.1 LPC2100/2200系列简介,器件信息,器件,引脚数,片内RAM,片内Flash,10位AD通道数,备注,LPC2101,48,2KB,8KB,8,LPC2102,48,4KB,16KB,8,LPC2103,48,8KB,32KB,8,LPC2114,64,16KB,128KB,4,LPC2124,64,16KB,256KB,4,LPC2210,144,16KB,8,带外部,存储器接口,LPC2220,144,64KB,8,LPC2212,144,16KB,128KB,8,LPC2214,144,16KB,256KB,8,关于LPC2000其它器件的介绍请登录,ARM7TDMI-S,CPU,AHB To,VPB,桥,EMC,VIC,I,2,C串行接口,SPI串行接口,UART 0&1,看门狗定时器,系统控制,外部中断,TIMER0/1,ADC,通用I/O,PWM0,实时时钟,SRAM,Flash,AHB总线,ARM7 局部总线,系统功能,VPB总线,芯片内部结构,LPC2000系列微控制器包含4大部分:,支持仿真的,ARM7TDMI-S CPU,1,与片内存储器控制器接口的ARM7局部总线,2,与中断控制器接口的AMB A高性能总线(AHB),3,连接片内外设功能的VLSI外设总线(VPB),4,4.2 引脚描述,LPC2000系列芯片外形,LPC2210/2220/2212/2214,LPC2114/2124,LQFP-48 LQFP-64 LQFP-144,LPC2xxx系列常见封装,LPC2000系列芯片大小,64PIN,48PIN,144PIN,LPC2000系列芯片大小,GPIO,TXD0,PWM1输出,P0.0,引脚配置,引脚功能选择使用示例,LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一引脚在同一时刻只能使用其中一个功能,这可以通过设置PINSELx寄存器来选择,详细介绍见“引脚连接模块”小节。,通过PINSEL0控制引脚功能,4.7 引脚连接模块,概述,LPC2000系列微控制器的大部分管脚都具有多种功能,即管脚复用,但是同一引脚在同一时刻只能使用其中一个功能,通过配置相关寄存器控制多路开关来连接引脚与片内外设。,引脚,P0.0,GPIO,TXD0,PWM1输出,保留,PINSELx,引脚连接寄存器,PINSELx,1 : 0,00,01,10,11,P0.0默认为GPIO功能,P0.0选择TXD0功能,配置对应位为01,P0.0选择PWM1功能,配置对应位为10,P0.0选择保留功能,配置对应位为11,4.7 引脚连接模块,LPC2000系列微控制器具有三个32位宽度PINSEL寄存器,其中PINSEL0和PINSEL1控制端口0,PINSEL2根据芯片的不同控制的端口数量也不同 。,寄存器描述,寄存器,LPC2100,LPC2200,PINSEL0,P00:15,PINSEL1,P016:31,PINSEL2,P116:31,P10:1、 P116:31、,P20:31、P30:31,PINSEL2寄存器与外部总线,PINSEL25:4与数据总线和控制线的关系列表,PINSEL2,27:25,000,001,010,011,100,101,110,111,地址线宽度,无地址线,A3:2,A5:2,A7:2,A11:2,A15:2,A19:2,A23:2,PINSEL227:25与地址线的关系列表,PINSEL2,5:4,数据总,线宽度,P2.27:15,P2.15:8,P2.7:0,P3.31,P3.30,P3.29:28,P1.1,P1.0,10,32位,D31:16,D15:0,D7:0,BLS0,BLS1,BLS3:2,OE,CS0,01,16位,PINSEL2,20;22,控制,D15:0,D7:0,BLS0,BLS1,PINSEL2,6;7,控制,OE,CS0,00,8位,GPIO,D7:0,BLS0,GPIO,OE,CS0,11,无,GPIO,GPIO,GPIO,GPIO,GPIO,GPIO,4.7 引脚连接模块,4.7 引脚连接模块,应用示例,PINSEL0 = 0x05 16;,要求将P0.8、P0.9设置为TxD1、RxD1,通过查阅PINSE0寄存器设置表,得到P0.9和P0.8的控制位为PINSEL019:16,当该域设置为0101 (0x05)时选择 RxD1和 TxD1。,为了不影响别的管脚连接设置,通常选择下面的设置方法。,PINSEL0 = (PINSEL0 ,GPIO,的使用,LPC2000系列ARM硬件结构,GPIO:General Perpose Input & Output,通用目的的输入和输出,LPC的GPIO是标准双向端口,4.8 GPIO,引脚描述,LPC2114/2124微控制器具有两个端口,P0,和,P1,,可以作为GPIO使用的引脚数为46个。,LPC2210/2212/2214微控制器还包含另外两个端口,P2,和,P3,,这个两个端口与外部存储器总线复用,当它们全部作为GPIO使用时,GPIO引脚数多达112个。,GPIO与控制寄存器的关系,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,引脚,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,通用名称,描述,访问类型,复位值,IOPIN,GPIO引脚值寄存器,不管方向模式如何,引脚的当前状态都可以从该寄存器中读出,只读,NA,IOSET,GPIO输出置位寄存器。该寄存器控制引脚输出高电平,读/置位,0x00000000,IOCLR,GPIO输出置位寄存器。该寄存器控制引脚输出低电平,只清零,0x00000000,IODIR,GPIO方向控制寄存器。该寄存器单独控制每个IO口的方向,读/写,0x00000000,GPIO相关寄存器描述,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述,IOxPIN,IOxPIN,描述,复位值,31 : 0,GPIO引脚值。IOxPIN0对应于Px.0 IOxPIN31对应于Px.31引脚,未定义,该寄存器反映了当前引脚的状态。IO,x,PIN中的,x,对应于某一个端口,如P,1,口对应于IO,1,PIN。所以芯片存在多少个端口,就有多少个IOxPIN分别与之对应。,写该寄存器会将值保存到输出寄存器,具体使用稍后介绍。,注意:,无论引脚被设置为输入还是输出模式,都不影响引脚状态的读出。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述,IOxDIR,IOxDIR,描述,复位值,31 : 0,方向控制位。IOxDIR0对应于Px.0 IOxDIR31对应于Px.31引脚,0,当引脚设置为GPIO输出模式时,可使用该寄存器控制引脚的方向。向某位写入1使对应引脚作为输出功能,写入0时作为输入功能。,作为输入功能时,引脚处于高阻态。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述,IOxSET,IOxSET,描述,复位值,31 : 0,输出置位。IOxSET0对应于Px.0 IOxPIN31对应于Px.31引脚,0,当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出,高,电平。向某位写入1使对应引脚输出高电平。写入0无效。,从该寄存器读回的数据为GPIO输出寄存器的值。该值不反映外部环境对引脚的影响。,PINSELx,IOxDIR,IOxCLR,IOxPIN,IOxSET,in,out,1,0,GPIO相关寄存器描述,IOxCLR,IOxCLR,描述,复位值,31 : 0,输出清零。IOxCLR0对应于Px.0 IOxCLR31对应于Px.31引脚,0,当引脚设置为GPIO输出模式时,可使用该寄存器从引脚输出,低,电平。向某位写入1使对应引脚输出低电平。写入0无效。,注意:,读取该寄存器无效,不能读回输出寄存器的值。,4.8 GPIO,使用GPIO注意要点,引脚设置为输出方式时,输出状态由IOxSET和IOxCLR中最后操作的寄存器决定;,大部分GPIO输出为,推挽,方式(个别引脚为开漏输出),正常拉出/灌入电流均为4mA(短时间极限值40mA);,复位后默认所有GPIO为输入模式。,#define PINSEL0 (*(volatile unsigned long *) 0xE002C000),.,PINSEL0 ,IO0DIR |= 0x00000001;,IO0SET = 0x00000001;,.,C代码:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO应用示例,设置P0.0输出高电平,P0.0,(1) 设置引脚连接模块,P0.0为GPIO,(2) 设置P0.0口方向,设置为输出,(3) 设置P0.0口状态,输出高电平,1,.,uint32 PinStat;,PINSEL0 ,IO0DIR ,PinStat = IO0PIN;,.,C代码:,PINSEL0,IO0DIR,IO0CLR,IO0PIN,IO0SET,in,out,1,0,GPIO应用示例,读取P0.0引脚状态,P0.0,(1) 设置引脚连接模块,P0.0为GPIO,(2) 设置P0.0口方向,设置为输入,(3) 从IO0PIN读取引脚状态,IO0PIN,#define DataBus 0xFF,PINSEL0 ,IO0DIR |= DataBus;,IO0CLR = DataBus;,IO0SET = Data;,.,使用IOxSET和IOxCLR实现:,GPIO应用示例,输出多位数据至IO口,(1) 设置引脚连接模块,P0.07为GPIO,(2) 设置P0.0口方向,设置为输出,(3) 清零8位IO口的输出状态,在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。,本例将8位无符号整形变量Data的值输出到P0.0P0.7。,(4) Data变量中为1的位将输出高电平,0x?,0x00,Data,数据输出线:,#define DataBus 0xFF,PINSEL0 ,IO0DIR |= DataBus;,IO0PIN = (IO0SET ,.,GPIO应用示例,输出多位数据至IO口,(1) 设置引脚连接模块,P0.0为GPIO,(2) 设置P0.0口方向,设置为输出,(3) 写IO0PIN,输出数据,在需要将多位数据同时输出到某几个IO口线时,通常使用IOxSET和IOxCLR来实现,在某些情况下也可以使用IOxPIN寄存器实现。后者可以在多个IO口上直接输出0和1电平。,本例将8位无符号整数变量Data的值输出到P0.0P0.7。,使用,IOxPIN实现,:,0x?,Data,数据输出线:,0x?,0x00,Data,与前者对比:,ARM7,TDMI-S,2.2 ARM7TDMI,简介,ARM7TDMI是基于ARM体系结构V4版本的低端,ARM核,。 其弥补了ARM6很难在低于5V电压下稳定工作的不足,还增加了后缀所对应的功能:,支持高密度16位的Thumb指令集;,支持片上调试;,支持64位乘法;,支持EmbededICE观察硬件;,ARM7TDMI 的可综合(synthesizable)版本(软核),对应用工程师来说其编程模型与ARM7TDMI 一致;,注意,:“ARM核”并非芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!