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

2013-05-20 22:01:07来源: 互联网 关键字:32位  单片机  Microchip  PIC32
工作原理

  中断控制器负责对来自一些片上外设的中断请求(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 (Status<15:10>)指示的当前优先级,则会对中断进行处理;否则,它将保持待处理状态,直到当前优先级小于中断的优先级。在处理中断时,处理器内核会将程序计数器压入CPU 中的异常程序计数器(Exception Program Counter,EPC)寄存器,并将CPU 中的异常级别(Exception Level,EXL)位(Status<1>)置1。EXL 位会禁止进一步的中断,直到应用程序通过清零EXL 位明确地重新允许为止。下一步,它会跳转到根据送入向量编号计算的向量地址处。

  INTSTAT 寄存器包含当前待处理中断的中断向量编号(VEC)位(INTSTAT<5:0>)和请求中断优先级(Requested Interrupt Priority, RIPL)位(INTSTAT<10: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 模块的主要特性有:

  • 全双工8 位或9 位数据传输

  • 偶校验、奇校验或无奇偶校验选项(对于8 位数据)

  • 一个或两个停止位

  • 硬件自动波特率特性

  • 完全集成的波特率发生器,具有16 位预分频器

  • 当器件工作在80 MHz 时,波特率范围从76 bps 至20 Mbps

  • 独立的接收和发送FIFO 数据缓冲区

  • 奇偶校验、帧和缓冲区溢出错误检测

  • 支持仅在地址检测(第9 位 = 1)时产生中断

  • 独立的发送和接收中断

  • 用于诊断支持的环回模式

  • LIN 1.2 协议支持

  图 给出了UART 的简化框图。UART 模块由以下这些重要的硬件组成:

  • 波特率发生器

  • 异步发送器

  • 异步接收器和IrDA 编/ 解码器

  UART 简化框图

  控制寄存器

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

  • UxMODE:UARTx 模式寄存器

  • UxSTA:UARTx 状态和控制寄存器

  • UxTXREG:UARTx 发送寄存器

  • UxRXREG:UARTx 接收寄存器

  • UxBRG:UARTx 波特率寄存器

  此外,每个UART 模块还具有用于中断控制的相关位(关于这些位的说明,请参见第8 章“中断”

  (DS61108)):

  • UxTXIE:发送中断允许控制位

  • UxTXIF:发送中断标志状态位

  • UxRXIE:接收中断允许控制位

  • UxRXIF:接收中断标志状态位

  • UxEIE:错误中断允许控制位

  • UxEIF:错误中断标志状态位

  • UxIP<2:0>:中断优先级控制位

  • UxIS<1:0>:中断子优先级控制位

  表21-1 汇总了所有与UART 相关的寄存器。该汇总表之后列出了相应的寄存器,并且每个寄存器位均附有详细的说明。

  注: 不同的PIC32MX 系列器件型号可能具有一个或多个UART 模块。在引脚、控制/ 状态位和寄存器的名称中使用的“x”表示特定的模块。更多详细信息,请参见具体器件数据手册。

  UART SFR 汇总

关键字:32位  单片机  Microchip  PIC32

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2013/0520/article_18453.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:32位单片机知识讲解:Microchip PIC32系列(二)
下一篇:32位单片机知识讲解:Microchip PIC32系列(四)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
32位
单片机
Microchip
PIC32

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved