zoukankan      html  css  js  c++  java
  • GPIO相关知识

      参考资料:

      1. 维基百科GPIO

      2. GPIO博客资料(一)

      3. MMIO和PMIO

      知识点:

      ● GPIOGeneral-purpose input/output的缩写,是一个在集成电路上的通用pin,它在运行时作为输入pin或输出pin受控于用户。GPIO没有预定义的目标(输入或输出),默认为未使用。

      ● GPIO的能力有:①GPIO pins可被配置为input或output(片选或时钟产生器);②GPIO pins可被enabled或disabled;③Input值是可读的(比如 high=1,low=0);④Ouput的值是可读写的;⑤Input的值通常被用作IRQs(比如唤醒时间)。GPIO pin的状态可以通过多种接口暴露给软件开发者,比如内存映射外设或特定I/O端口指令等。

      ● GPIO port是一组GPIO pins(比如8个GPIO pins),它们作为一个整体,按组接受控制。

      ● 在嵌入式系统中,对一些结构较简单的外设或电路,通常只要求一位,即开/关两种状态,就可以实现控制。显然,串口和并口在这里都不合适。因此,微控制器芯片一般都会提供一个“通用可编程I/O接口GPIO”。接口一般会有通用控制寄存器和通用数据寄存器,甚至会有上拉寄存器。有无GPIO接口是区别微处理器和微控制器的一个特征。

      ● Memory-mapped I/O(MMIO)和Port-mapped I/O(PMIO)是两种互补的方法,用以执行CPU和外设的I/O操作。

      ● MMIO使用对内存和I/O设备使用相同地址总线,内存和I/O设备寄存器被映射到地址值。因此,当CPU访问一个地址时,它可能是访问某一物理RAM,也可能是I/O设备的内存(寄存器)。因此,CPU访问内存的指令也可以被用来访问设备。I/O设备监视CPU地址总线并响应访问设备的地址,连接数据总线到期望的设备硬件寄存器中。一般情况下,I/O寄存器与内存是统一编址(可临时或永久)。

      ● PMIO使用特定的CPU指定来操作I/O,比如in和out指令。一般,I/O设备拥有独立的地址空间(相对于内存),通常用额外的“I/O”pin或者特定的I/O总线实现。

      ● 设备DMA不会受到CPU-to-device通信方式的影响,因为它绕过了CPU

      ● 硬件中断是CPU和外设交互的另一种方式。它是以外设主动发起的,且每条中断线的每一位都有固定的含义,而上边的两个方法则是以CPU发起的。

      

  • 相关阅读:
    VSTO资源
    Windows Server 2008启用无线网络服务支持(转)
    [转载]数据库设计三大范式应用实例剖析
    C#如何为winform程序打包发布应用(图解)
    XPO学习一(获取数据库服务器时间)
    php中echo和print的区别
    isset()
    asp.net文本编辑器FCKeditor详解
    ASP.net 上传大文件问题
    StringBuilder与string和String的区别
  • 原文地址:https://www.cnblogs.com/AmitX-moten/p/5359302.html
Copyright © 2011-2022 走看看