微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 32位单片机知识讲解:Microchip PIC32系列

32位单片机知识讲解:Microchip PIC32系列

时间:08-24 来源:互联网 点击:

入门套件电路图(3):应用板连接器

PIC32 (通用) 入门套件电路图(4):开关和LED

PIC32MX系列器件知识讲解

  PIC32MX 器件中断

PIC32MX 器件产生中断请求以响应来自外设模块的中断事件。中断模块处于CPU 逻辑之外,并

且在将中断事件预发送到CPU 之前为其设置优先级顺序。

PIC32MX 中断模块具有以下特性:

• 最多96 个中断源

• 最多64 个中断向量

• 单向量工作模式和多向量工作模式

• 5 个具有边沿极性控制功能的外部中断

• 中断接近定时器

• 调试模式下模块冻结

• 每个向量有7 个用户可选择的优先级

• 每个优先级内有4 个用户可选择的子优先级

• 基于优先级的用户可配置影子集(并非所有器件都提供该功能;要了解器件是否提供该功能,请参见具体器件数据手册)

• 软件可产生任何中断

• 用户可配置的中断向量表存储单元

• 用户可配置的中断向量空间

  控制寄存器

中断模块包含以下特殊功能寄存器(Special Function Register, SFR):

• INTCON:中断控制寄存器

• INTSTAT:中断状态寄存器

• TPTMR:时间接近定时器寄存器

• IFSx:中断标志状态寄存器

• IECx:中断允许控制寄存器

• IPCx:中断优先级控制寄存器

注: 每个PIC32MX 器件型号可能具有一个或多个中断源,并且根据器件型号,中断源数量可能不

同。在控制/ 状态位和寄存器名称中使用的“x”表示存在多个可以定义这些中断源的寄存器,

它们具有相同的功能。更多详细信息,请参见具体器件数据手册。

工作原理

中断控制器负责对来自一些片上外设的中断请求(IRQ)进行预处理,并按相应顺序将它们送入

处理器。

图8-2 给出了PIC32MX 中的中断处理的图示。中断控制器设计为最多可从处理器内核、能够产生中断的片上外设和5 个外部输入处接收96 个IRQ。所有IRQ 都在SYSCLK 下降沿进行采样,并锁存到关联的IFSx 寄存器中。待处理的IRQ 由IFSx 寄存器中的标志位等于1 来指示。如果中断允许(IECx)寄存器中的相应位清零,则待处理的IRQ 不会得到进一步处理。IECx 位用于对中断标志进行门控。如果允许中断,则所有IRQ 将编码为5 位宽的向量编号。5 位向量可产生编号为0 至63 的唯一中断向量编号。由于IRQ 数量多于可用向量编号,所以一些IRQ 共用公共的向量编号。每个向量编号都会分配一个中断优先级和影子集编号。优先级由关联向量的IPCx 寄存器设置决定。在多向量模式下,用户可以对接收专用影子寄存器集选择优先级。在单向量模式下,所有中断都可能接收到专用影子集。中断控制器会在所有待处 理IRQ 中选择优先级最高的RQ,并将关联的向量编号、优先级和影子集编号送入处理器内核。处理器内核会在流水线的“E”和“M”级之间采样送入的向量信息。如果 送入内核的向量的优先级大于CPU 中断优先级位IPL (Status15:10>)指示的当前优先级,则会对中断进行处理;否则,它将保持待处理状态,直到当前优先级小于中断的优先级。在处理 中断时,处理器内核会将程序计数器压入CPU 中的异常程序计数器(Exception Program Counter,EPC)寄存器,并将CPU 中的异常级别(Exception Level,EXL)位(Status1>)置1。EXL 位会禁止进一步的中断,直到应用程序通过清零EXL 位明确地重新允许为止。下一步,它会跳转到根据送入向量编号计算的向量地址处。

INTSTAT 寄存器包含当前待处理中断的中断向量编号(VEC)位(INTSTAT5:0>)和请求中断优先级(Requested Interrupt Priority, RIPL)位(INTSTAT10:8>)。这可能会与导致内核离开正常执行顺序的中断不同。执行ERET (异常返回)指令之后,处理器会恢复为先前状态。ERET 会清零EXL 位、恢复程序计数器,并将当前影子集回复为先前影子集。

PIC32MX 的中断控制器可以配置为工作于两种模式之一:

• 单向量模式——在一个向量地址处处理所有中断请求(复位之后的模式)。

• 多向量模式——在所计算的向量地址处处理中断请求。

中断处理

PIC32单片机的UART

通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)模块是PIC32MX 系列器件提供的串行I/O 模块之一。UART 是可以与外设和个人计算机(使用RS-232、RS-485、LIN 1.2 和IrDA® 等协议)通信的全双工异步通信通道。

根据不同的器件型号,UART 模块还通过UxCTS 和UxRTS 引脚支持硬件流控制选项,其中还包括IrDA 编码器和解码器。关于可用性,请参见具体器件数据手册。

UART 模块的主要特性有:

&bull

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top