跳转到主要内容

用这个模块 分配PIC 单片机的 IO引脚超灵活!

Microchip PIC 单片机在 IO 引脚功能复用选择上具备灵活性,但同时存在硬件层面的固有限制。本文以 SPI 外设为例展开说明,重点讲解单片机的外设引脚选择模块(PPS)。

本文破除一个常见误区:并非所有引脚都能映射至全部外设。在单片机选型与印刷电路板(PCB)设计阶段,这一点至关重要。一旦引脚分配出错,你只能被迫切割电路板走线、临时飞线补救,最终还得为下一版PCB 增加版本号。

PIC 单片机引脚分配入门
Microchip PIC 单片机的 IO 引脚分配有两种配置方式:一是手动向特殊功能寄存器(SFR)写入配置参数;二是通过Microchip 配置器(MCC)可视化配置。图 1 展示了 QFN40 封装PIC16F17576 单片机中,MCC 工具对 SPI 外设的引脚分配界面:

1.MSSP1 外设可映射至 B 口、C 口

2.MSSP2 外设可映射至 B 口、D 口

Image
PIC16F17576 单片机 SPI 外设的 MCC 引脚分配界面

图 1:PIC16F17576 单片机 SPI 外设的 MCC 引脚分配界面

数据手册中的 IO 引脚分配说明

引脚复用规则完整记录在PPS 输入选择表与PPS 输出选择表中,图 2 为示例(高亮标注 SDO2 输出通道)。以 40 引脚型号为例,表格标明 SDO2 信号可路由至 B 口、D 口;同理 SDO1 信号对应 B 口、C 口,该配置与图 1 中 MCC 工具显示结果完全一致。

Image
图 2:PIC16F17576 单片机 PPS 输出选择表(SDO2 通道高亮)

图 2:PIC16F17576 单片机 PPS 输出选择表(SDO2 通道高亮)

外设引脚选择模块(PPS)原理详解

图 3 为单片机 PPS 模块原理框图,核心分为输入、输出两部分:

1.输入侧:多路选择器接入多路 IO 引脚输入信号,由 PPS 相关特殊功能寄存器控制,选定某一路物理引脚信号接入外设。

2.输出侧:每一路 IO 引脚对应独立多路选择器,由 PPS 寄存器控制,选定某一路外设输出信号送至物理引脚输出。

若 SPI 硬件配置为主机模式:MISO 信号需占用 1 路输入多路选择器;MOSI、SCK 两路时钟数据信号各占用 1 路输出多路选择器;低电平有效片选信号―――𝐶𝑆则通过通用 GPIO 引脚单独配置。

Image
图 3:PPS 模块原理框图

图 3:PPS 模块原理框图

多路选择器的硬件资源限制

通过 PPS 输入 / 输出选择表,可推算芯片内部多路选择器的数量与通道规模,以 PIC16F17576 为例:

1.输入侧:若开放全部 36 个引脚作为外设输入,单路外设需搭配 36 通道多路选择器;多路选择器总数量由外设总数决定。

2.输出侧:若 36 个引脚全部支持外设输出,则需要 36 个独立多路选择器;每个多路选择器的通道数量由外设输出信号总数决定。

若完全放开引脚映射能力,会大幅消耗芯片硅片面积,同时带来时序约束恶化、芯片内部布线复杂度飙升等问题。可类比PCB 设计:线路数量翻倍,布线工作量远不止翻倍,每一根走线都需要考量与其他线路的干扰、间距关系。芯片设计工程师会面临同类非线性布线难题。基于以上因素,芯片厂商在硬件设计时,在芯片成本与引脚复用灵活性之间做了折中平衡。

结语

倘若能旁听 PIC 芯片研发团队讨论硬件限制的内部会议,想必十分有趣。而当你基于 PIC 单片机开展 PCB 设计时,也必将反复权衡各类引脚与外设的取舍。

来源:DigiKey得捷

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。