当前位置:   article > 正文

Nordic52832 数据手册翻译(部分)_nrf52832中文手册

nrf52832中文手册

免责说明: 本人才疏学浅,翻译不保证正确,仅供参考

20 GPIO 通用输入输出

通用输入/输出(GPIO)被指定到一个端口,最多具有32个I/O(取决于封装),从而可以通过一个端口访问和控制多达32个引脚。 每个GPIO均可单独访问。

GPIO具有以下用户可配置的功能:

  • 多达32个GPIO
  • 8个带模拟通道的GPIO,用于SAADC,COMP或LPCOMP输入
  • 驱动的输出强度可配置
  • 内部上拉和下拉电阻
  • 从所有引脚上的高电平或低电平触发中唤醒
  • 任何引脚上的状态变化都可以触发中断
  • PPI任务/事件系统可以使用所有引脚
  • 可以通过PPI和GPIOTE通道控制一个或多个GPIO输出
  • 所有引脚都可以单独映射到接口块,以实现布局灵活性
  • SENSE上捕获的GPIO状态更改的信号可以存储在LATCH寄存器

GPIO端口外设最多可实现32个引脚,即PIN0至PIN31。这些引脚中的每一个都可以用PIN_CNF[n]寄存器单独配置(n = 0…31)。可以通过这些寄存器配置以下参数:

  • 方向
  • 驱动强度
  • 使能/禁用上下拉
  • 引脚感应
  • 输入缓冲器断开
  • 模拟输入(用于选定的引脚)

PIN_CNF寄存器为保留寄存器。有关保留寄存器的更多信息,请参见第78页的电源—电源。

20.1 引脚配置

可以通过PIN_CNF [n]寄存器中的SENSE字段对引脚进行单独配置,以检测其输入的高电平或低电平。

当在任何这样配置的引脚上检测到正确的电平时,检测机制会将DETECT信号设置为高电平。每个引脚都有一个单独的DETECT信号,DETECTMODE寄存器定义的默认行为是,来自GPIO端口所有引脚的DETECT信号被组合成一个公共的DETECT信号,该信号在整个系统中路由,然后可以由其他外围设备使用。看图21.该机制在ON和OFF模式下均起作用。

在这里插入图片描述
GPIO端口包含32个单独的引脚,其中PIN0更详细地用作参考。插图左侧的所有信号都被系统中的其他外围设备使用,因此,CPU无法直接使用。

在启用前,请确保引脚处于无法触发检测机制的电平。启用检测机制后,如果满足PIN_CNF寄存器中配置的检测条件,检测将立即变高。如果在启用检测机制之前,DETECT信号为低电平,则将触发PORT事件。

有关如何使用DETECT信号的更多信息,请参见以下外围设备:

  • POWER: 使用DETECT是系统关机
  • GPIOTE: 使用DETECT信号生成PORT事件

当引脚的PINx.DETECT信号变为高电平时,将在LATCH寄存器中设置一个标志,例如 当PIN0.DETECT信号变为高电平时,LATCH寄存器中的位0将被设置为’1’

仅当CPU通过将1写入要清除的位来显式清除LATCH寄存器时,即PINx.DETECT信号设置为低,才不会影响LATCH寄存器。

如果在关联的PINx.DETECT信号为高电平时,CPU对LATCH寄存器中的某位执行清除操作,则不会清除LATCH寄存器中的该位。

当LATCH寄存器中的一个或多个位为1时,LDETECT信号将被设置为高电平。 当LATCH寄存器中的所有位成功清零时,LDETECT信号将被设置为低电平。

如果在CPU对LATCH寄存器执行清除操作后,如果LATCH寄存器中的一个或多个位为1,则会在LDETECT信号上产生一个上升沿,如图22所示:第113页的DETECT信号行为

重要提示: CPU可以随时读取LATCH寄存器,以检查一个或多个GPIO引脚上是否满足SENSE条件,即使在CPU查询LATCH寄存器时不再满足该条件。 即使未将LDETECT信号用作DETECT信号,此机制也将起作用。

默认情况下,LDETECT信号未连接到GPIO端口的DETECT信号,但可以通过DETECTMODE寄存器从GPIO端口更改GPIO端口的DETECT信号的行为。可以将上述默认行为直接从LDETECT信号获取,请参见第121页上的图21:GPIO端口和GPIO引脚详细信息。第122页上的图22:DETECT信号行为说明了这两种选择的DETECT信号行为。
在这里插入图片描述

当不将GPIO引脚的输入缓冲器用作输入时,可以将其断开连接,以节省功耗,请参见第112页上的图21:GPIO端口和GPIO引脚详细信息。必须连接输入,以便在IN寄存器中获得有效的输入值,并使检测机制能够访问该引脚。

系统中的其他外围设备可以将自身连接至GPIO引脚,并覆盖其输出值和配置,或者读取其模拟或数字输入值,请参阅第21页上的图21:GPIO端口和GPIO引脚详细信息。

选定的引脚还支持模拟输入信号,请参见第112页上的图21:GPIO端口和GPIO引脚详细信息。模拟引脚的分配可以在第113页的引脚分配中找到。

重要提示 当引脚配置为数字输入时,在nRF52832设计中要注意的是,当输入电压介于VIL和VIH之间时,要最大程度地减小电流消耗。 但是,优良作法是确保外部电路长时间不将其引脚驱动至VIL和VIH之间的电平。

20.2 位于RADIO附近的GPIO

射频性能参数(例如,灵敏度)可能会受到高频数字I / O的影响,而高频数字I / O的吸收/源电流较大,靠近无线电电源和天线引脚。

有关建议的使用指南,请参阅第13页的引脚分配,以最大程度地提高应用中的无线电性能。

21 GPIOTE (GPIO任务和GPIO事件)

可以通过GPIOTE使用任务和事件的方法来访问GPIO。每个GPIOTE通道可以分配给一个引脚。

GPIOTE模块使GPIO可以在引脚状态变化时生成事件,这些事件可用于通过PPI系统执行任务。也可以使用PPI系统驱动GPIO以更改系统事件的状态。在系统开启或系统关闭时,可以通过低功率检测引脚状态变化。
在这里插入图片描述
每个GPIOTE通道中最多可以使用三个任务来执行对引脚的写操作。固定有两项任务(SET和CLR),并且一项任务(OUT)可配置为执行以下操作:

  • 设置(Set)
  • 清除(Clear)
  • 翻转(Toggle)

可以从以下输入条件之一在每个GPIOTE通道中生成一个事件:

  • 上升沿
  • 下降沿
  • 任何变化

21.1 引脚的事件和任务

GPIOTE模块具有许多任务和事件,可以将其配置为在单个GPIO引脚上运行。

任务(SET [n],CLR [n]和OUT [n])可用于写入各个引脚,事件(IN [n])可根据各个引脚输入发生的变化生成。

SET任务会将CONFIG [n] .PSEL中选择的引脚设置为高电平。

CLR任务会将引脚设置为低电平。

OUT任务对引脚的影响可在CONFIG [n] .POLARITY中进行配置,并且可以将引脚设置为高电平,将其设置为低电平或进行切换。

使用CONFIG [n]寄存器配置任务和事件。 每组SET,CLR和OUT [n]任务以及IN [n]事件都有一个与之关联的CONFIG [n]寄存器。

只要将SET [n],CLR [n]和OUT [n]任务或IN [n]事件配置为控制引脚n,该引脚的输出值将仅由GPIOTE模块更新。因此,只要该引脚由GPIOTE控制,该引脚在GPIO中指定的输出值就会被忽略。尝试将一个引脚写为普通GPIO引脚将无效。当GPIOTE与引脚断开连接时,请参见CONFIG [n]寄存器中的MODE字段,相关的引脚将获得GPIO模块中指定的输出和配置值。

当在一个通道中同时(即在同一时钟周期内)触发冲突任务时,任务的优先级将如第157页上的表32:任务优先级中所述。
在这里插入图片描述
设置CONFIG [n]寄存器时,MODE = Disabled与MODE = Task和POLARITY = None效果不同。在后一种情况下,根据上表中所述的优先级,与OUT完全同时发生的CLR或SET任务将最终在引脚上保持不变。

当将GPIOTE通道配置为作为任务在引脚上进行操作时,该引脚的初始值将在CONFIG [n]的OUTINIT字段中进行配置。

21.2 (Port event)端口事件

PORT是一个事件,可以使用GPIO DETECT信号从多个输入引脚生成。该事件将在DETECT信号的上升沿产生。有关DETECT信号的更多信息,请参见GPIO —通用输入/输出在第111页。

当DETECT处于高电平时将系统置于“空闲”状态下不会导致DETECT再次唤醒系统。在进入睡眠状态之前,请确保清除所有“检测”源。如果将LATCH寄存器用作源,如果清除了全部或部分寄存器后LATCH中的任何位仍然为高(例如,由于PINx.DETECT信号之一仍为高),则将在 检测,请参阅第111页的引脚配置。

尝试在DETECT为高电平时将系统置于系统关闭状态将导致系统关闭复位唤醒。

尽管外围设备本身似乎是空闲的,但始终启用此功能,也就是说,无需请求时钟或其他耗电的基础设施即可保持此功能。因此,在所有外围设备和CPU空闲的情况下,可以使用此功能将CPU从WFI或WFE类型的睡眠状态唤醒,即系统打开模式下的最低功耗。

为了防止在配置源时来自PORT事件的虚假中断,用户应首先禁用PORT事件上的中断(通过INTENCLR.PORT),然后配置源(PIN_CNF [n] .SENSE),清除配置期间可能发生的任何潜在事件(将1写入EVENTS_PORT),最后使能中断(通过INTENSET.PORT)。

21.3 任务和事件引脚配置

每个GPIOTE通道通过CONFIG.PSEL字段与一个物理GPIO引脚关联。在CONFIG.MODE中选择事件模式时,由CONFIG.PSEL指定的引脚将配置为输入,覆盖GPIO中的DIR设置。同样,当在CONFIG.MODE中选择任务模式时,由CONFIG.PSEL指定的引脚将被配置为覆盖GPIO中DIR设置和OUT值的输出。在CONFIG.MODE中选择Disabled时,CONFIG.PSEL指定的引脚将使用GPIO中PIN [n] .CNF寄存器的配置。

只能将一个GPIOTE通道分配给一个物理引脚。 否则可能会导致无法预测的行为。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/194329
推荐阅读
相关标签
  

闽ICP备14008679号