第7章--ARM系统的IO端口设计与管理.pptVIP

第7章--ARM系统的IO端口设计与管理.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章--ARM系统的IO端口设计与管理

第7章 ARM系统的I/O端口设计与管理 7.1 ARM的I/O端口设计概述 7.2 ARM核I/O端口配置 7.3 ARM核I/O端口功能描述 7.4 ARM核I/O端口寄存器控制 7.5 ARM核I/O端口应用编程 7.6 习 题 7.1 ARM的I/O端口设计概述 在嵌入式系统中,通常I/O端口都不是独立的,是和其他接口共用的。在使用这些端口时,通常需要根据不同的CPU,设置相应的I/O端口寄存器,I/O端口才能正常工作。同时,在设计应用时,还应该注意以下几点: 1.I/O作为输出时要注意的问题 (1)接收信号时片外外设可能没有输入锁存器,因此嵌入式微处理器输出信号在下次再写入新数据前应一直保持不变。输出置数指令执行时间小于1微秒,而外设动作保持时间可能几分钟甚至几小时不变。因此,输出数据要有锁存器,存储瞬时写入的数据。 (2)输出端口要有一定的驱动能力。I/O外负载情况有两种:动态驱动和静态驱动。动态驱动如I/O作为数据总线使用时,在指令控制下I/O是很短时间内输出数据,脉冲宽度一般小于1微秒。I/O由特定动态的MOS作为负载,一般可以驱动4到8个TTL电路。静态驱动是指I/O端口长时间处于同一种状态(0或者1),只有驱动信号改变时I/O端口状态才改变,这时驱动的一般只有一个TTL电路。 2.就驱动能力来说应该注意下面两个问题 (1)驱动时使用高电平驱动还是使用低电平拉入电流驱动。当为高电平驱动时,一般通用的I/O端口的最大驱动电流不能超过4到5毫安,而低电平拉入电流一般比较大,最大可以达到25毫安。 (2)电阻性负载还是电容性负载。对于电容性负载,当高频驱动时由于有电容的存在,使I/O驱动电路负载加重,这样会损坏I/O端口,同时使I/O端口输出电平降低。一般I/O电容负载不得大于50皮法。大于50皮法的应该加缓冲器,缓冲器可以用反门、晶体管、D触发器、RS触发器等。也可以在I/O端口串联一个小于50欧姆的电阻,减小因电容引起的对I/O端口的瞬时冲击。如果是电阻性负载,主要考虑驱动电流是否适合。 3.用户把微处理器I/O定义为输入端口,但是在制造芯片时为了灵活使用该端口,也允许其作为输出端口,片内输出锁存器、数据寄存器对用户定义为输入口肯定会有影响。目前半导体制作上解决已有的输出硬件结构与定义输入口之间相互影响的办法有两个: (1)输出数据寄存器与引脚连接要控制,例如加入一个可控制的三态输出门连接到引脚。也就是说,用户定义该端口为输入口,还要定义输出数据寄存器不与引脚连接,从而不影响输入状态。 (2)硬件结构已经把输出数据寄存器永远与引脚通过逻辑电路连接起来,这时如果该端口定义为输入口,事先应在输出数据寄存器置1。由于这时引脚状态是输出数据寄存器与输入端口的状态线相“与”的结果,因此也不会影响输入状态。 4.当输入端口是计数器捕捉寄存器输入、正交编码电路输入时,对于输入的最小脉冲宽度有一定的要求。脉冲过窄会使计数器无法正常工作。最小脉冲宽度对于不同的微处理器不同的主频有不同的要求,一般脉冲大于1微秒就可以正常工作了。 5.在某一个瞬时,可能有两个I/O输出,并且片外外设输出1,微处理器I/O输出0,这样可能使微处理器I/O瞬时过载,损坏I/O端口。这时最好在两个引脚之间串联一个大于100欧姆的电阻(100K欧以内)以限制瞬时电流。由于该电阻在CPU的I/O输出时是低阻抗,而在片外外设输入时是高阻抗,所以无影响。相反也一样。 7.2 ARM核I/O端口配置 在ARM系列中,不同的CPU,I/O端口配置大体相同,不过也有不同的地方。以下分别对ARM系列中的ARM7和ARM9中I/O端口的配置进行介绍。 7.2.1 ARM7中的I/O端口配置 我们以ARM7中的S3C4510B为例加以介绍。若要熟悉ARM芯片I/O口的编程配置方法,就要熟悉你所用芯片的I/O端口的功能配置和特殊功能寄存器的配置。本节主要讲述S3C4510B I/O端口的功能配置及应用。 1.S3C4510B I/O端口功能概述 S3C4510B提供了18个可编程的I/O端口,用户可将每个端口配置为输入模式、输出模式或特殊功能模式,由片内的特殊功能寄存器控制。I/O端口的功能模块如图7-1所示。 2.S3C4510B I/O端口配置 每个端口部可通过软件设置来满足各种各样的系统设置和设计要求。每个端口的功能通常都要在主程序开始前被定义。如果一个引脚的多功能没有使用,那么这个引脚将被设置为I/O端口。在引脚配置之前,需要对引脚的初始化状态进行设定,以避免一些问题的出现。 7.2.2 ARM9中的I/O端口配置 1.ARM9中的I/O端口概述 S3C2410X有117个多功能的输入/输出引脚

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档