91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南

璟琰乀 ? 2026-02-09 16:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南

在電子設(shè)計領(lǐng)域,微控制器的編程是一項關(guān)鍵工作。今天,我們就來深入探討一下 Microchip 的 PIC18F2XXX/4XXX 系列閃存微控制器的編程規(guī)范。

文件下載:PIC18F4321-I P.pdf

一、器件概述

該文檔涵蓋了眾多型號的編程規(guī)范,包括 PIC18F2221、PIC18F2321 等一系列 2XXX 和 4XXX 家族的器件。這些器件具有不同的封裝類型,為不同的應(yīng)用場景提供了多樣化的選擇。

二、編程概述

(一)編程方法

PIC18F2XXX/4XXX 系列器件可以使用高壓在線串行編程(High - Voltage In - Circuit Serial Programming?,ICSP?)方法或低壓 ICSP 方法進行編程。這兩種方法都可以在用戶系統(tǒng)中對器件進行操作,但低壓 ICSP 方法與高壓方法略有不同。

(二)硬件要求

  1. 高壓 ICSP 模式:在此模式下,器件需要兩個可編程電源,分別為 VDD 和 MCLR/VPP/RE3 供電,且兩個電源的最小分辨率應(yīng)為 0.25V。
  2. 低壓 ICSP 模式:在該模式下,器件可以使用處于工作范圍內(nèi)的 VDD 源進行編程,MCLR/VPP/RE3 可以保持在正常工作電壓。

(三)引腳圖

不同封裝類型的器件有不同的引腳圖,如 28 引腳的 SPDIP、PDIP、SOIC、SSOP、QFN 封裝,以及 40 引腳的 PDIP 封裝和 44 引腳的 TQFP、QFN 封裝等。了解這些引腳圖對于正確連接和編程器件至關(guān)重要。

(四)內(nèi)存映射

不同型號的器件代碼內(nèi)存空間大小和分布不同。例如,PIC18FX6X0 器件的代碼內(nèi)存空間從 0000h 到 0FFFFh(64 Kbytes),分為四個 16 - Kbyte 塊;PIC18FX5X5 器件的代碼內(nèi)存空間從 0000h 到 0BFFFFh(48 Kbytes),分為三個 16 - Kbyte 塊。同時,部分器件的 Boot Block 大小可以通過配置寄存器中的 BBSIZ 位進行調(diào)整。

(五)編程流程概述

編程過程包括批量擦除(Bulk Erase)、對代碼內(nèi)存、ID 位置和數(shù)據(jù) EEPROM(部分器件)進行編程,然后進行驗證,最后對配置位進行編程和驗證。

(六)進出編程驗證模式

  1. 高壓 ICSP 模式:進入該模式時,需將 PGC 和 PGD 保持低電平,然后將 MCLR/VPP/RE3 升高到 VIHH(高電壓)。退出時則按相應(yīng)的退出序列操作。
  2. 低壓 ICSP 模式:當(dāng) LVP 配置位為‘1’時,可通過將 PGC 和 PGD 保持低電平,PGM 置為高電平,然后將 MCLR/VPP/RE3 升高到 VIH 進入該模式。

(七)串行編程驗證操作

  1. 4 位命令:所有指令為 20 位,由 4 位命令和 16 位操作數(shù)組成。不同的 4 位命令用于不同的操作,如核心指令、表讀取、表寫入等。
  2. 核心指令:用于向 CPU 核心傳遞 16 位指令以執(zhí)行,為其他命令的使用設(shè)置合適的寄存器。

(八)專用 ICSP/ICD 端口(僅 44 引腳 TQFP)

PIC18F4455/4458/4550/4553 等 44 引腳 TQFP 器件支持專用 ICSP/ICD 端口,可提供另一種在線調(diào)試和 ICSP 選項。但 ICPRT 配置位只能通過默認(rèn) ICSP 端口進行編程,且不同封裝類型的器件對該位的設(shè)置有不同要求。

三、器件編程

(一)ICSP 擦除

  1. 高壓 ICSP 批量擦除:通過配置位于 3C0004h 和 3C0005h 的兩個批量擦除控制寄存器來實現(xiàn)代碼或數(shù)據(jù) EEPROM 的擦除。擦除操作會清除相關(guān)內(nèi)存塊的代碼保護設(shè)置。
  2. 低壓 ICSP 批量擦除:執(zhí)行批量擦除時,器件需由參數(shù) D111 指定的電壓供電。若電源電壓低于批量擦除限制,可參考行擦除或修改代碼內(nèi)存的方法。
  3. ICSP 行擦除:無論使用高壓還是低壓 ICSP,只要塊未被代碼或?qū)懕Wo,就可以擦除一行(64 字節(jié)數(shù)據(jù))。行擦除的持續(xù)時間由 PGC 外部定時控制。

(二)代碼內(nèi)存編程

編程代碼內(nèi)存時,先將數(shù)據(jù)加載到寫緩沖區(qū),然后啟動編程序列。不同型號器件的寫緩沖區(qū)和擦除緩沖區(qū)大小不同,編程持續(xù)時間也由 PGC 外部定時控制。

(三)數(shù)據(jù) EEPROM 編程

數(shù)據(jù) EEPROM 通過地址指針(EEADRH:EEADR)和數(shù)據(jù)鎖存器(EEDATA)逐字節(jié)訪問。編程時需正確配置 EECON1 寄存器,寫入時會自動擦除原位置并寫入新數(shù)據(jù)。

(四)ID 位置編程

ID 位置的編程與代碼內(nèi)存類似,用戶只需填充寫緩沖區(qū)的前 8 個字節(jié)即可寫入 ID 位置。若要修改 ID 位置,需先進行擦除操作。

(五)Boot 塊編程

使用與代碼內(nèi)存編程類似的代碼序列,但地址范圍在 000000h 到 0007FFh 之間。

(六)配置位編程

配置位逐字節(jié)編程,使用“Table Write, Begin Programming”4 位命令(‘1111’),但每次只寫入 16 位有效負(fù)載中的 8 位。

四、讀取器件

(一)讀取代碼內(nèi)存、ID 位置和配置位

通過 4 位命令‘1001’(表讀取,后遞增)逐字節(jié)訪問代碼內(nèi)存,讀取的內(nèi)容通過 PGD 串行輸出。該方法也適用于讀取 ID 和配置寄存器。

(二)驗證代碼內(nèi)存和 ID 位置

驗證時,將代碼內(nèi)存空間的內(nèi)容讀回并與編程器緩沖區(qū)中的副本進行比較。對于 ID 位置,需手動將表指針設(shè)置為 200000h。

(三)驗證配置位

通過 4 位命令‘1001’讀取配置地址并輸出到 PGD,然后與編程器內(nèi)存中的相應(yīng)配置數(shù)據(jù)進行比較。

(四)讀取數(shù)據(jù) EEPROM 內(nèi)存

通過地址指針和數(shù)據(jù)鎖存器逐字節(jié)訪問數(shù)據(jù) EEPROM,讀取的數(shù)據(jù)通過 4 位命令‘0010’輸出到 PGD。

(五)驗證數(shù)據(jù) EEPROM

讀取數(shù)據(jù) EEPROM 地址并輸出到 PGD,然后與編程器內(nèi)存中的相應(yīng)數(shù)據(jù)進行比較。

(六)空白檢查

空白檢查是驗證器件是否沒有已編程的內(nèi)存單元,需對代碼內(nèi)存、數(shù)據(jù) EEPROM、ID 位置和配置位進行驗證,但忽略設(shè)備 ID 寄存器。

五、配置字

(一)配置字概述

PIC18F2XXX/4XXX 系列器件有多個配置字,可通過設(shè)置或清除這些位來選擇不同的器件配置。所有其他內(nèi)存區(qū)域應(yīng)在設(shè)置配置字之前進行編程和驗證。

(二)ID 位置

用戶可以在 200000h:200007h 的 8 個 ID 位置存儲識別信息,建議每個 ID 的最高半字節(jié)為 Fh。

(三)設(shè)備 ID 字

設(shè)備 ID 字位于 3FFFFEh:3FFFFFh,可用于識別正在編程的設(shè)備類型,即使在代碼或讀保護后也能正常讀取。

(四)單電源 ICSP 編程

配置寄存器 CONFIG4L 中的 LVP 位啟用單電源(低壓)ICSP 編程。該位默認(rèn)從工廠設(shè)置為‘1’(啟用),若將其編程為‘0’,則只能使用高壓 ICSP 模式。

(五)在 HEX 文件中嵌入配置字和數(shù)據(jù) EEPROM 信息

為了實現(xiàn)代碼的可移植性,編程器需要從 hex 文件中讀取配置字和數(shù)據(jù) EEPROM 信息。在保存 hex 文件時,應(yīng)包含這些信息,也可提供不包含這些信息的選項。

(六)校驗和計算

校驗和通過對所有代碼內(nèi)存位置的內(nèi)容、配置字(適當(dāng)屏蔽)和 ID 位置(如果任何塊被代碼保護)進行求和得到,取該和的最低 16 位作為校驗和。

六、AC/DC 特性和時序要求

文檔給出了編程/驗證測試模式下的標(biāo)準(zhǔn)操作條件,包括各種電壓、電流、時間參數(shù)的要求,如高電壓編程電壓、低電壓編程電壓、編程電流、輸入輸出電壓等,這些參數(shù)對于正確編程和驗證器件至關(guān)重要。

在實際應(yīng)用中,我們需要根據(jù)具體的器件型號和應(yīng)用場景,仔細(xì)選擇合適的編程方法和參數(shù),嚴(yán)格按照編程規(guī)范進行操作,以確保器件的正常工作。同時,對于代碼保護等功能,要充分了解其原理和限制,以保護我們的知識產(chǎn)權(quán)。大家在編程過程中遇到過哪些問題呢?歡迎留言討論。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Cypress semiconductor 的CY7C63xxx USB微控制器系列的固件討論

    本應(yīng)用指南介紹了開發(fā)Cypress semiconductor CY7C63xxx 低速USB微控制器系列固件所需的相關(guān)資料。
    發(fā)表于 09-22 18:35

    XMC4xxx SWD在線編程參考手冊

    接口編程或解鎖芯片。下面以 XMC4500-F100F1024 為例子,介紹使用 AK100pro-4P SWD 編程接口對XMC4xxx
    發(fā)表于 10-28 06:07

    STM32F10xxx閃存編程手冊

    編程手冊介紹了如何燒寫STM32F101xx、STM32F102xx和STM32F103xx微控制器
    發(fā)表于 09-26 06:18

    ST32F3xxx和STM32F4xxx微控制器的內(nèi)核Crotex-M4編程手冊

    ST32F3xxx和STM32F4xxx微控制器的內(nèi)核Crotex-M4編程手冊
    發(fā)表于 09-29 14:37 ?9次下載
    ST32<b class='flag-5'>F3xxx</b>和STM32<b class='flag-5'>F4xxx</b><b class='flag-5'>微控制器</b>的內(nèi)核Crotex-M<b class='flag-5'>4</b>的<b class='flag-5'>編程</b>手冊

    STM32F10XXX閃存編程手冊資料免費下載

    編程手冊介紹了如何對STM32F101xx、STM32F102xx和STM32F103xx微控制器
    發(fā)表于 03-25 08:00 ?85次下載
    STM32<b class='flag-5'>F10XXX</b>的<b class='flag-5'>閃存</b><b class='flag-5'>編程</b>手冊資料免費下載

    STM32F4xxx系列微控制器的中文參考手冊免費下載

    。 STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 構(gòu)成一個微控制器
    發(fā)表于 05-13 08:00 ?11次下載
    STM32<b class='flag-5'>F4xxx</b><b class='flag-5'>系列</b><b class='flag-5'>微控制器</b>的中文參考手冊免費下載

    基于高級ARM的STM32F76xxx和STM32F77xxx

    本參考手冊面向應(yīng)用程序開發(fā)人員。它提供了有關(guān)如何使用STM32F76xxx和STM32V77xxx微控制器內(nèi)存和外圍設(shè)備。STM32F76xxx和STM32V77
    發(fā)表于 09-28 11:06 ?0次下載

    基于ARM內(nèi)核的32位高級MCU STM32F75xxx和STM32F74xxx

    本參考手冊面向應(yīng)用開發(fā)人員, 提供有關(guān)使用 STM32F75xxx 和 STM32F74xxx 微控制器存儲與外設(shè)的完整信息。STM32F75xx
    發(fā)表于 09-28 11:13 ?0次下載

    AN4660_從STM32F42xxx、STM32F43xxx到STM32F74xxx、STM32F75xxx微控制器應(yīng)用移植

    AN4660_從STM32F42xxx、STM32F43xxx到STM32F74xxx、STM32F75xxx微控制器應(yīng)用移植
    發(fā)表于 11-21 17:06 ?0次下載
    AN4660_從STM32<b class='flag-5'>F42xxx</b>、STM32<b class='flag-5'>F43xxx</b>到STM32<b class='flag-5'>F74xxx</b>、STM32<b class='flag-5'>F75xxx</b>的<b class='flag-5'>微控制器</b>應(yīng)用移植

    STM32F10xxx閃存編程參考手冊(中文)

    編程手冊介紹了如何燒寫STM32F101xx、STM32F102xx和STM32F103xx微控制器
    發(fā)表于 06-19 17:08 ?56次下載

    從STM32F42xxx/STM32F43xxx到STM32F74xxx/STM32F75xxx微控制器應(yīng)用移植

    電子發(fā)燒友網(wǎng)站提供《從STM32F42xxx/STM32F43xxx到STM32F74xxx/STM32F75xxx微控制器應(yīng)用移植 .p
    發(fā)表于 09-21 10:10 ?1次下載
    從STM32<b class='flag-5'>F42xxx</b>/STM32<b class='flag-5'>F43xxx</b>到STM32<b class='flag-5'>F74xxx</b>/STM32<b class='flag-5'>F75xxx</b>的<b class='flag-5'>微控制器</b>應(yīng)用移植

    STM32F10xxx微控制器閃存存儲燒寫手冊

    編程手冊介紹了如何燒寫STM32F101xx、STM32F102xx和STM32F103xx微控制器
    發(fā)表于 11-28 15:16 ?6次下載

    PIC18F24/25Q24微控制器技術(shù)解析與應(yīng)用指南

    Microchip Technology PIC18F24/25Q24微控制器PIC18-Q24微控制器
    的頭像 發(fā)表于 10-10 09:56 ?767次閱讀
    <b class='flag-5'>PIC18F</b>24/25Q24<b class='flag-5'>微控制器</b>技術(shù)解析與應(yīng)用<b class='flag-5'>指南</b>

    PIC18F16Q20 Curiosity Nano開發(fā)板技術(shù)解析與應(yīng)用指南

    Microchip Technology PIC18F16Q20 Curiosity Nano套件提供用于評估PIC18-Q20系列微控制器
    的頭像 發(fā)表于 10-10 10:31 ?773次閱讀
    <b class='flag-5'>PIC18F</b>16Q20 Curiosity Nano開發(fā)板技術(shù)解析與應(yīng)用<b class='flag-5'>指南</b>

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

    Microchip PIC18F2458/2553/4458/4553系列微控制器深度解析 在電子設(shè)計領(lǐng)域,選擇一款合適的微控制器對于項目的
    的頭像 發(fā)表于 03-03 17:15 ?456次閱讀