Nordic--nrf52832--PPI

nRF52832 的寄存器分为下面的三种类型。

  • Task :任务寄存器,可以由程序或事件触发。
  • Event:事件寄存器,事件可以产生中断或触发任务。
  • Register:普通寄存器,和一般单片机的寄存器一样。

 Task 和 event 使得操作片上外设十分方便简洁,只需进行少量的配置,即可轻松运用各种外设。同时,Task 和 event 能有效减少 CPU 的占用时间,降低 CPU 的负荷。

 Task 和 Event 更多的是用来和 PPI(可编程外设互连)配合使用,通过 PPI 将某个 Event和 Task 连接起来,连接后,该 Event 即可触发对应的 Task 执行相应的功能。

什么是 PPI

 PPI(Programmable Peripheral Interconnect),可编程外设互联,是将不同外设“连接”在一起,让他们协同工作的机制。PPI 是 nRF52832 一个很重要的功能,通过 PPI,我们可以将各种不同的外设“连接”在一起,让它们在无需在 CPU 参与的情况下自动工作,从而降低 CPU 的负荷和程序的复杂度,同时,因为无需经过 CPU,这就保证外设间的精确同步。

那么,这种“连接”是如何来进行的?

 nRF51822 的寄存器分为三种类型:Task、Event和 Register,任务可以通过软件触发,也可以通过事件来触发,显然使用软件触发必定会占用 CPU资源(因为 CPU 需要去执行程序),我们更希望的是:通过事件来自动触发,一个事件产生后,CPU 不需要进行任何处理即可触发任务。

PPI 实现的就是通过初始化配置,将不同外设的事件和任务连接起来,让事件自动去触发任务的功能。

 PPI 有多个通道,每个通道都包含一个 EEP(Event End-Point:事件端点)和一个 TEP(Task End-Point:任务端点),使用 PPI 连接外设事件和外设任务的时候,将外设事件寄存器的地址写入到 PPI 通道的 EEP,将外设任务寄存器的地址写入到 PPI 通道的 TEP,然后使能该 PPI 通道即可实现外设事件和外设任务的连接,如下图所示:

Nordic--nrf52832--PPI_第1张图片
nRF52832 共有 32 个 PPI 通道,编号为 0~31,其中有 12 个通道(通道 20~31)已经被预编程。

Nordic--nrf52832--PPI_第2张图片

你可能感兴趣的:(Nordic,nrf52832学习应用之路)