以前,我在使用 PIC16 和 PIC18 系列,它们都没有提供多个编程通道。现在,我正在设计我的第一个 PIC32 电路,我对这些多个编程/调试通道感到非常困惑。
为什么会有不止一个?据我所知,编程是一个特殊的事件,它是在固件更新时完成的,或者在开发阶段,或者在制造过程之后。这些情况都不需要一个以上的节目频道。为什么他们为此提供 3 或 4 个频道?我想将 ICSP 引脚留在我的电路中进行编程;我可以选择这些渠道中的任何一个,还是我必须更喜欢某个渠道?


以前,我在使用 PIC16 和 PIC18 系列,它们都没有提供多个编程通道。现在,我正在设计我的第一个 PIC32 电路,我对这些多个编程/调试通道感到非常困惑。
为什么会有不止一个?据我所知,编程是一个特殊的事件,它是在固件更新时完成的,或者在开发阶段,或者在制造过程之后。这些情况都不需要一个以上的节目频道。为什么他们为此提供 3 或 4 个频道?我想将 ICSP 引脚留在我的电路中进行编程;我可以选择这些渠道中的任何一个,还是我必须更喜欢某个渠道?


这不仅限于 PIC 32。还有其他具有多对 PGC/PGD 的 PIC。
原因是让您可以选择在调试期间哪些其他引脚功能将不可用,或者您是否将一对引脚专用于编程。请注意这些引脚的所有其他功能。
PGECx 和 PGEDx 引脚对被多路复用以进行编程,任何一对都可以工作。
参见 DS61129F:
33.2.1.1.1 ICSP 接口 ICSP 使用两个引脚作为其接口的核心。编程数据线 (PGD) 既可用作输入也可用作输出,允许根据命令读入编程数据并读出器件信息。编程时钟线 (PGC) 用于输入数据并控制整个过程。
大多数 PIC32 器件具有一对以上的 PGECx 和 PGEDx 引脚,它们与其他 I/O 或外设功能复用。各个 ICSP 引脚对用数字表示,例如 PGEC1/PGED1 等。多个 PGECx/PGEDx 引脚对通过允许用户将 ICSP 集成到受电路设计约束最小的引脚对上,为系统设计提供了额外的灵活性。所有 PGECx 和 PGEDx 引脚在功能上连接在一起并且行为相同,并且任何一对都可用于成功的器件编程。唯一的限制是必须使用来自同一对的两个引脚。
除了 PGECx 和 PGEDx 引脚外,ICSP 还要求器件上的所有电源(包括稳压器引脚 ENVREG)和接地引脚都必须连接。与 PGECx 引脚一起用于进入和控制编程过程的 MCLR 引脚也必须连接到编程器。