0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PIC18F2XXX/4XXX系列闪存微控制器编程规范解析

chencui 2026-04-08 10:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PIC18F2XXX/4XXX系列闪存微控制器编程规范解析

一、引言

今天我们来深入探讨PIC18F2XXX/4XXX系列闪存微控制器的编程规范。这个系列包含了众多型号的设备,这些设备广泛应用于各种电子系统中。了解其编程规范,对于电子工程师来说至关重要,有助于我们更好地进行硬件设计和开发。

文件下载:PIC18F4321T-I/ML.pdf

二、设备概述

该文档涵盖了一系列PIC18F2XXX/4XXX系列的设备,例如PIC18F2221、PIC18F4221等众多型号。这些设备在不同的应用场景中发挥着重要作用。

三、编程概述

3.1 编程方法

PIC18F2XXX/4XXX系列设备可以使用高压在线串行编程(High - voltage In - Circuit Serial Programming™,ICSP™)方法或低压ICSP方法进行编程。这两种方法都可以在用户系统中对设备进行操作。低压ICSP方法与高压方法略有不同,在适用的地方会特别说明。

3.2 硬件要求

3.2.1 高压ICSP模式

在高压ICSP模式下,PIC18F2XXX/4XXX系列设备需要两个可编程电源,一个用于VDD,一个用于MCLR/VPP/RE3。这两个电源的最小分辨率应为0.25V。更多硬件参数可参考第6.0节“编程/验证测试模式的交/直流特性时序要求”。

3.2.2 低压ICSP编程

在低压ICSP模式下,PIC18F2XXX/4XXX系列设备可以使用工作范围内的VDD源进行编程。MCLR/VPP/RE3不需要设置为不同的电压,可保持正常工作电压。同样,更多硬件参数可参考第6.0节。

3.3 引脚图

文档中给出了PIC18F2XXX/4XXX系列不同封装类型(如28引脚SPDIP、PDIP、SOIC、SSOP、QFN,40引脚PDIP,44引脚TQFP、QFN)的引脚图。不同封装类型的引脚排列有所不同,在进行硬件设计时,需要根据具体的设备封装来正确连接引脚。例如,在28引脚SPDIP封装中,MCLR/VPP/RE3位于第1引脚,RB7/PGD位于第2引脚等。

3.4 内存映射

不同型号的PIC18F2XXX/4XXX系列设备的代码内存空间大小和布局有所不同。

  • PIC18FX6X0设备的代码内存空间从0000h到0FFFFh(64 Kbytes),分为四个16 - Kbyte块。
  • PIC18FX5X5设备的代码内存空间从0000h到0BFFFFh(48 Kbytes),分为三个16 - Kbyte块。
  • 对于PIC18F2685/4685设备,代码内存空间从0000h到017FFFh(96 Kbytes),分为五个16 - Kbyte块;PIC18F2682/4682设备的代码内存空间从0000h到0013FFFh(80 Kbytes),分为四个16 - Kbyte块。
  • 其他型号如PIC18FX5X0/X5X3、PIC18FX4X5/X4X8、PIC18FX4X0/X4X3、PIC18F2480/4480、PIC18F2580/4580、PIC18F2221/4221、PIC18F2321/4321等也都有各自特定的代码内存空间布局。

此外,还有三个可通过表读取和表写入访问的块,包括用于存储识别信息的ID寄存器(地址为200000h - 200007h)、用于配置位的地址(300000h - 30000Dh)以及用于设备ID位的地址(3FFFFEh和3FFFFFh)。这些信息即使在代码保护应用后也能正常读出。

3.5 编程过程概述

编程过程的高级概述如下:首先进行整体擦除(Bulk Erase),然后对代码内存、ID位置和数据EEPROM(部分设备支持,详见第3.3节“数据EEPROM编程”)进行编程,接着验证这些内存以确保编程成功。如果没有检测到错误,再对配置位进行编程和验证。

3.6 进入和退出编程验证模式

3.6.1 高压ICSP编程/验证模式

进入高压ICSP编程/验证模式时,需将PGC和PGD保持低电平,然后将MCLR/VPP/RE3升高到VIHH(高电压)。进入该模式后,可以串行访问和编程代码内存、数据EEPROM(部分设备)、ID位置和配置位。退出该模式有相应的序列。进入该模式时,所有未使用的I/O会处于高阻抗状态。

3.6.2 低压ICSP编程/验证模式

当LVP配置位为‘1’时,低压ICSP模式启用。进入低压ICSP编程/验证模式时,需将PGC和PGD保持低电平,PGM置为逻辑高电平,然后将MCLR/VPP/RE3升高到VIH。在该模式下,RB5/PGM引脚专门用于编程功能,不再是通用I/O引脚。退出该模式也有对应的序列,进入模式时同样会使所有未使用的I/O处于高阻抗状态。

3.7 串行编程/验证操作

3.7.1 4位命令

所有指令为20位,由一个4位命令和一个16位操作数组成。编程和验证所需的命令如下表所示: 描述 4位命令
核心指令(移入16位指令) 0000
移出TABLAT寄存器 0010
表读取 1000
表读取,后递增 1001
表读取,后递减 1010
表读取,预递增 1011
表写入 1100
表写入,后递增2 1101
表写入,开始编程,后递增2 1110
表写入,开始编程 1111

3.7.2 核心指令

核心指令将一个16位指令传递给CPU核心执行,这对于为其他命令设置适当的寄存器是必要的。

3.8 专用ICSP/ICD端口(仅44引脚TQFP)

PIC18F4455/4458/4550/4553的44引脚TQFP设备支持一个备用编程输入:专用ICSP/ICD端口。该端口的主要目的是提供备用的在线调试(ICD)选项,并释放通常用于调试应用程序的引脚(RB6、RB7和MCLR)。设置ICPRT配置位可启用该专用端口,它的功能与默认的ICSP/ICD端口相同,但使用的是备用引脚。

四、设备编程

4.1 ICSP擦除

4.1.1 高压ICSP整体擦除

擦除代码或数据EEPROM可通过配置位于3C0004h和3C0005h的两个整体擦除控制寄存器来完成。代码内存可以部分擦除,也可以一次性擦除整个设备。整体擦除操作还会清除与被擦除内存块相关的任何代码保护设置。具体的擦除选项如下表所示: 描述 (3C0005h:3C0004h) 数据
芯片擦除 3F8Fh
擦除数据EEPROM(部分设备) 0084h
擦除引导块 0081h
擦除配置位 0082h
擦除代码EEPROM块0 0180h
擦除代码EEPROM块1 0280h
擦除代码EEPROM块2 0480h
擦除代码EEPROM块3 0880h
擦除代码EEPROM块4 1080h
擦除代码EEPROM块5 2080h

4.1.2 低压ICSP整体擦除

使用低压ICSP时,如果要执行整体擦除,部件必须由参数D111指定的电压供电。其他整体擦除细节与高压ICSP整体擦除相同。如果需要在低于整体擦除限制的电源电压下进行程序内存擦除,可参考第3.1.3节“ICSP行擦除”和第3.2.1节“修改代码内存”的擦除方法;如果需要在低于整体擦除限制的电源电压下进行数据EEPROM擦除(部分设备),可遵循第3.3节“数据EEPROM编程”的方法并向数组写入‘1’。

4.1.3 ICSP行擦除

无论使用高压还是低压ICSP,只要块未被代码或写保护,就可以擦除一行(64字节的数据)。行位于静态边界,从程序内存地址000000h开始,延伸到内部程序内存限制。行擦除持续时间由外部定时,由PGC控制。在设置EECON1中的WR位后,发出一个NOP指令,其中第4个PGC在编程时间P9内保持高电平。PGC拉低后,编程序列终止。PGC必须在参数P10指定的时间内保持低电平,以允许内存阵列的高压放电。

五、总结

PIC18F2XXX/4XXX系列闪存微控制器的编程规范涵盖了设备的各个方面,包括编程方法、硬件要求、引脚图、内存映射、编程过程、进入和退出模式以及擦除操作等。电子工程师在使用这些设备进行硬件设计和开发时,需要仔细研究这些规范,确保正确地对设备进行编程和操作。大家在实际应用中遇到过哪些与编程规范相关的问题呢?欢迎在评论区分享交流。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析Microchip PIC16(L)F1773/6/7/8/9系列微控制器

    深入解析Microchip PIC16(L)F1773/6/7/8/9系列微控制器 在当今的电子设计领域,高性能、集成度高且低功耗的
    的头像 发表于 04-16 17:40 799次阅读

    深入剖析Microchip PIC18F6393/6493/8393/8493系列微控制器

    一、产品概述 PIC18F6393/6493/8393/8493系列属于64/80引脚的高性能闪存微控制器,集成了LCD驱动、12位AD
    的头像 发表于 04-08 11:25 177次阅读

    PIC18CXX2高性能微控制器深度解析

    PIC18CXX2高性能微控制器深度解析 一、引言 在电子工程领域,微控制器的性能和功能对于各种应用的成功至关重要。PIC18CXX2
    的头像 发表于 04-08 11:20 174次阅读

    PIC18FXX20系列闪存微控制器编程解析

    PIC18FXX20系列闪存微控制器编程解析 在电子设计领域,
    的头像 发表于 04-08 10:55 184次阅读

    PIC18FXX80/XX85 Flash微控制器编程规范解析

    FXX80/XX85系列Flash微控制器编程规范。 文件下载: PIC18F6585-I/L.pdf 一、设备概述
    的头像 发表于 04-08 10:35 120次阅读

    深度剖析Microchip PIC18F2458/2553/4458/4553系列微控制器

    4458T-I/PT.pdf 一、产品概述 PIC18F2458/2553/4458/4553系列微控制器具有28/40/44引脚封装,采用了增强型闪存技术,集成了12位A/D转换
    的头像 发表于 04-08 10:15 326次阅读

    PIC18F2331/2431/4331/4431 微控制器:高性能与低功耗的完美结合

    公司的 PIC18F2331/2431/4331/4431 系列微控制器,看看它有哪些独特的魅力。 文件下载: PIC18F2431T-E/SOG.pdf 一、器件概述
    的头像 发表于 04-08 09:50 331次阅读

    深入解析Microchip PIC16F8X系列微控制器

    深入解析Microchip PIC16F8X系列微控制器 在电子工程领域,微控制器是众多项目的核心组件,其性能和特性直接影响着整个系统的表现
    的头像 发表于 04-08 09:10 517次阅读

    PIC16F716:8位闪存微控制器的全方位解析

    PIC16F716:8位闪存微控制器的全方位解析 在电子工程师的日常工作中,选择一款合适的微控制器至关重要。Microchip的
    的头像 发表于 03-25 16:05 254次阅读

    PIC18F8723 系列微控制器:高性能与低功耗的完美结合

    PIC18F8723 系列微控制器:高性能与低功耗的完美结合 在电子工程师的日常工作中,选择一款合适的微控制器对于项目的成功至关重要。今天,我们就来深入探讨一下 Microchip 公
    的头像 发表于 03-16 15:25 220次阅读

    Microchip PIC18F2458/2553/4458/4553系列微控制器深度解析

    Microchip PIC18F2458/2553/4458/4553系列微控制器深度解析 在电子设计领域,选择一款合适的微控制器对于项目的
    的头像 发表于 03-03 17:15 625次阅读

    Microchip PIC18F2XXX/4XXX 系列闪存微控制器编程指南

    Microchip PIC18F2XXX/4XXX 系列闪存微控制器编程指南 在电子设计领域,
    的头像 发表于 02-09 16:50 1083次阅读

    深入解析Microchip PIC16F872微控制器

    深入解析Microchip PIC16F872微控制器 在电子工程师的日常工作中,微控制器的选择和应用至关重要。今天,我们就来深入探讨一下Microchip的
    的头像 发表于 02-05 15:20 288次阅读

    探索 NXP MC56F80xxx 数字信号控制器:特性、应用与设计要点

    探索 NXP MC56F80xxx 数字信号控制器:特性、应用与设计要点 在电子工程领域,数字信号控制器(DSC)因其结合了数字信号处理(DSP)的强大处理能力和
    的头像 发表于 12-24 17:20 797次阅读

    PIC18F24/25Q24微控制器技术解析与应用指南

    Microchip Technology PIC18F24/25Q24微控制器PIC18-Q24微控制器系列28/40/44/48引脚器件
    的头像 发表于 10-10 09:56 974次阅读
    <b class='flag-5'>PIC18F</b>24/25Q24<b class='flag-5'>微控制器</b>技术<b class='flag-5'>解析</b>与应用指南