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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PIC18FXX20系列閃存微控制器編程全解析

chencui ? 2026-04-08 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

PIC18FXX20系列閃存微控制器編程全解析

在電子設計領域,微控制器的編程是一項基礎且關鍵的工作。今天我們聚焦Microchip的PIC18FXX20系列閃存微控制器,深入探討其編程規(guī)范和相關技術要點。

文件下載:PIC18F8620T-E/PT.pdf

一、器件概述

PIC18FXX20涵蓋了多個具體型號,像PIC18F6520、PIC18F6620、PIC18F6720、PIC18F8520、PIC18F8620以及PIC18F8720等。這些型號在不同應用場景中都有廣泛的用途,了解它們的編程規(guī)范對于工程師來說至關重要。

二、編程概述

(一)編程方法

該系列器件支持兩種編程方式:高壓在線串行編程(High Voltage In-Circuit Serial Programming,簡稱HV-ICSP)和低壓在線串行編程(Low Voltage In-Circuit Serial Programming,簡稱LV-ICSP)。這兩種方式都能在用戶系統(tǒng)中對器件進行編程。其中,LV-ICSP方式與HV-ICSP方式略有不同,在實際應用中需根據具體情況進行選擇。

(二)硬件要求

  1. 高壓ICSP模式:在這種模式下,PIC18FXX20需要兩個可編程電源,分別為VDD和MCLR/VPP供電,且這兩個電源的最小分辨率要達到0.25V。
  2. 低壓ICSP模式:在此模式下,使用處于工作范圍內的VDD電源就能完成編程,意味著MCLR/VPP可保持在正常工作電壓。

(三)引腳圖和引腳描述

PIC18FXX20系列的引腳圖展示了各引腳在編程時的布局。不過,引腳描述并未涵蓋器件的全部功能,若需要完整的引腳說明,還得參考相應的器件數據手冊。以下是編程時部分關鍵引腳的信息: 引腳名稱 引腳類型 引腳描述
MCLR/VPP/RA5 VPP P 編程使能
VDD(2) VDD P 電源
VSS(2) VSS P 接地
AVDD AVDD P 模擬電源
AVSS AVSS P 模擬接地
RB5 I 當LVP配置位為‘1’時,作為低壓ICSP輸入
RB6 I 串行時鐘
RB7 I/O 串行數據

(四)內存映射

  1. 代碼內存:代碼內存空間從0000h延伸到1FFFFh(共128KB),被劃分為八個16KB的塊。其中,地址0000h到01FFh定義為“Boot Block”區(qū)域,它與Block 1的處理方式不同。不同型號的器件代碼內存大小有所差異:
    • PIC18F6520和PIC18F8520:000000h - 007FFFh(32K)
    • PIC18F6620和PIC18F8620:000000h - 00FFFFh(64K)
    • PIC18F6720和PIC18F8720:000000h - 01FFFFh(128K)
  2. 配置和ID空間:除了代碼內存空間,配置和ID空間中有三個塊可通過表讀取和表寫入的方式供用戶訪問。用戶可以在八個ID寄存器中存儲識別信息,這些ID寄存器映射在地址200000h到200007h。地址300000h到30000Dh用于配置位,3FFFFEh和3FFFFFh用于設備ID位。

(五)內存地址指針

地址空間從0000000h到3FFFFFh的內存通過表指針(Table Pointer)進行尋址,表指針由三個指針寄存器組成:

  • TBLPTRU(位于RAM地址0FF8h)
  • TBLPTRH(位于RAM地址0FF7h)
  • TBLPTRL(位于RAM地址0FF6h)

在進行許多讀寫操作之前,會使用4位命令‘0000’(核心指令)來加載表指針。

(六)編程過程概述

編程過程大致如下:首先進行批量擦除,接著對代碼內存、ID位置和數據EEPROM進行編程,然后對這些內存進行驗證,確保編程成功。若未檢測到錯誤,再對配置位進行編程和驗證。

(七)進入編程/驗證模式

  1. 高壓ICSP模式:將SCLK和SDATA拉低,然后將MCLR/VPP升高到VIHH(高壓),即可進入該模式。在此模式下,可對代碼內存、數據EEPROM、ID位置和配置位進行串行訪問和編程。
  2. 低壓ICSP模式:當LVP配置位為‘1’時,該模式被啟用。將SCLK和SDATA拉低,PGM置為邏輯高電平,然后將MCLR/VPP升高到VIH,即可進入該模式。此時,RB5/PGM引腳專門用于編程功能,不再作為通用I/O引腳。

(八)串行編程/驗證操作

在串行操作中,SCLK引腳作為時鐘輸入,SDATA引腳用于輸入命令位和進行數據的輸入輸出。命令和數據在SCLK的上升沿傳輸,在下降沿鎖存,且以最低有效位(LSb)優(yōu)先。所有指令為20位,由一個4位命令和一個16位操作數組成,操作數根據執(zhí)行的命令類型而定。以下是一些編程和驗證所需的4位命令: 描述 4位命令
核心指令(移入16位指令) 0000
移出TABLAT寄存器 0010
表讀取 1000
表讀取,后遞增 1001
表讀取,后遞減 1010
表讀取,前遞增 1011
表寫入 1100
表寫入,后遞增2 1101
表寫入,后遞減2 1110
表寫入,開始編程 1111

三、器件編程

(一)批量擦除

  1. 高壓ICSP批量擦除:通過向地址3C0004h寫入“擦除選項”來實現代碼或數據EEPROM的擦除。代碼內存可以部分擦除,也可以一次性擦除整個器件。批量擦除操作還會清除與被擦除內存塊相關的任何代碼保護設置。以下是一些擦除選項: 描述 數據
    芯片擦除 80h
    擦除數據EEPROM 81h
    擦除Boot Block 83h
    擦除Block 1 88h
    擦除Block 2 89h
    擦除Block 3 8Ah
    擦除Block 4 8Bh
    擦除Block 5 8Ch
    擦除Block 6 8Dh
    擦除Block 7 8Eh
    擦除Block 8 8Fh
  2. 低壓ICSP批量擦除:若要執(zhí)行批量擦除,器件需由參數#D111指定的電壓供電,其他批量擦除細節(jié)與高壓ICSP模式相同。
  3. 多面板單行擦除:無論使用高壓還是低壓ICSP,都能同時擦除所有面板中的單行(64字節(jié)數據)。該功能通過對位于3C0006h的編程控制寄存器進行適當配置來啟用。

(二)代碼內存編程

編程代碼內存時,需先將數據加載到相應的寫緩沖區(qū),然后啟動編程序列。代碼內存空間中的每個面板都有一個8字節(jié)深的寫緩沖區(qū),在啟動寫序列之前必須先將其加載。通常采用多面板寫入模式,即所有程序緩沖區(qū)并行寫入。編程持續(xù)時間由SCLK外部定時控制,在發(fā)出“開始編程”命令(4位命令‘1111’)后,發(fā)出NOP命令,將第4個SCLK保持高電平一段時間P9,之后將SCLK拉低,編程序列終止。

(三)數據EEPROM編程

數據EEPROM通過地址指針(寄存器對EEADR:EEADRH)和數據鎖存器(EEDATA)逐字節(jié)訪問。寫入時,先將所需內存位置加載到EEADR:EEADRH,將數據加載到EEDATA,然后通過對EECON1和EECON2寄存器進行適當配置來啟動內存寫入。寫入時會自動擦除該位置并寫入新數據。

(四)ID位置編程

ID位置的編程方式與代碼內存類似,但需禁用多面板寫入功能。要寫入的單個面板將根據表指針的值自動啟用。ID寄存器映射在地址200000h到200007h,即使應用了代碼保護,這些位置也能正常讀出。

(五)Boot Block編程

Boot Block段的編程方式與ID位置完全相同,同樣需要禁用多面板寫入功能,確保只寫入地址范圍在0000h到01FFh的數據。

(六)配置位編程

與代碼內存不同,配置位是逐字節(jié)進行編程的。使用“表寫入,開始編程”4位命令(1111),但后續(xù)16位有效負載中只有8位會被寫入,LSB寫入偶數地址,MSB寫入奇數地址。

四、讀取器件

(一)讀取內存

通過4位命令‘1001’(表讀取,后遞增)逐字節(jié)訪問代碼內存,將表指針指向的內存內容加載到表鎖存器,然后通過SDATA串行輸出。這種方法同樣適用于讀取ID和配置寄存器。

(二)驗證操作

  1. 驗證代碼內存和ID位置:驗證過程是將讀取的代碼內存空間與編程器緩沖區(qū)中的副本進行比較,逐字節(jié)讀取內存,需讀取兩個字節(jié)才能與編程器緩沖區(qū)中的字進行比較。驗證完代碼內存后,需手動將表指針設置為200000h(ID位置的基地址)。
  2. 驗證配置位:通過4位命令‘1001’讀取配置地址并輸出到SDATA,然后將結果與編程器內存中的相應配置數據進行比較。
  3. 驗證數據EEPROM:通過一系列核心指令(4位命令‘0000’)讀取數據EEPROM地址,然后通過4位命令‘0010’(移出數據保持寄存器)將結果輸出到SDATA,再與編程器內存中的相應數據進行比較。

(三)空白檢查

“空白檢查”是指驗證器件是否沒有已編程的內存單元,需要對代碼內存、數據EEPROM、ID位置和配置位進行驗證,但要忽略設備ID寄存器(3FFFFEh:3FFFFFh)。空白或已擦除的內存單元讀取值為‘1’,因此空白檢查就是驗證所有字節(jié)是否讀取為FFh(配置位除外)。

五、配置字

(一)ID位置

用戶可在200000h到200007h映射的八個ID位置中存儲識別信息,建議每個ID的最高有效半字節(jié)為0Fh,這樣可避免用戶代碼意外從ID空間執(zhí)行。

(二)設備ID字

PIC18FXX20的設備ID字位于3FFFFEh到3FFFFFh,編程人員可利用這些位來識別正在編程的設備類型,即使應用了代碼或讀取保護,這些位也能正常讀出。

(三)低壓編程(LVP)位

配置寄存器CONFIG4L中的LVP位用于啟用低壓ICSP編程,出廠時該位默認值為‘1’。若不使用低壓編程模式,可將LVP位編程為‘0’,此時RB5/PGM將成為數字I/O引腳。但需注意,LVP位只能通過進入高壓ICSP模式進行編程,一旦編程為‘0’,就只能使用高壓ICSP模式對設備進行編程。

(四)嵌入配置字信息和數據EEPROM信息

為了實現代碼的可移植性,PIC18FXX20編程器需要從HEX文件中讀取配置字信息和數據EEPROM信息。若這些信息缺失,應發(fā)出簡單的警告消息。保存HEX文件時,必須包含所有配置字信息和數據EEPROM信息,也可提供不包含這些信息的選項。

(五)校驗和計算

校驗和的計算方法是將以下內容相加:所有代碼內存位置的內容、經過適當掩碼處理的配置字以及ID位置。取該和的最低16位作為校驗和。不同型號和代碼保護設置下的校驗和計算方法在文檔中有詳細說明。

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

文檔中給出了編程/驗證測試模式下的標準操作條件,包括工作溫度、各種電壓、電流、時間等參數的范圍和要求。例如,高壓編程電壓MCLR/VPP的范圍是9.00 - 13.25V,低壓編程電壓范圍是2.00 - 5.50V,供應電壓在正常編程時為2.00 - 5.50V,批量擦除操作時為4.50 - 5.50V等。

綜上所述,PIC18FXX20系列閃存微控制器的編程涉及多個方面,從編程方法、硬件要求到內存操作、配置字設置等都需要工程師仔細研究和掌握。希望通過本文的介紹,能幫助大家更好地理解和應用PIC18FXX20的編程技術。在實際應用中,你是否遇到過關于這些微控制器編程的難題呢?又有哪些獨特的解決方案呢?歡迎在評論區(qū)分享你的經驗。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入解析PIC24FJ256GB210系列16位閃存微控制器

    深入解析PIC24FJ256GB210系列16位閃存微控制器 在電子工程領域,微控制器扮演著至關
    的頭像 發(fā)表于 04-08 18:25 ?53次閱讀

    PIC32MM0064GPL036 系列 32 位閃存微控制器深度剖析

    PIC32MM0064GPL036 系列 32 位閃存微控制器深度剖析 引言 在電子設計領域,微控制器的選擇至關重要,它直接影響到產品的性能
    的頭像 發(fā)表于 04-08 18:05 ?65次閱讀

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

    一、產品概述 PIC18F6393/6493/8393/8493系列屬于64/80引腳的高性能閃存微控制器,集成了LCD驅動、12位AD
    的頭像 發(fā)表于 04-08 11:25 ?111次閱讀

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

    PIC18CXX2高性能微控制器深度解析 一、引言 在電子工程領域,微控制器的性能和功能對于各種應用的成功至關重要。PIC18CXX2
    的頭像 發(fā)表于 04-08 11:20 ?89次閱讀

    PIC18FXX80/XX85 Flash微控制器編程規(guī)范解析

    PIC18FXX80/XX85 Flash微控制器編程規(guī)范解析 在電子工程師的日常工作中,微控制器編程
    的頭像 發(fā)表于 04-08 10:35 ?44次閱讀

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

    F4458T-I/PT.pdf 一、產品概述 PIC18F2458/2553/4458/4553系列微控制器具有28/40/44引腳封裝,采用了增強型閃存技術,集成了12位A/D轉換
    的頭像 發(fā)表于 04-08 10:15 ?243次閱讀

    PIC18F2XXX/4XXX系列閃存微控制器編程規(guī)范解析

    PIC18F2XXX/4XXX系列閃存微控制器編程規(guī)范解析 一、引言 今天我們來深入探討
    的頭像 發(fā)表于 04-08 10:05 ?246次閱讀

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

    深入解析Microchip PIC16F8X系列微控制器 在電子工程領域,微控制器是眾多項目的核心組件,其性能和特性直接影響著整個系統(tǒng)的表現
    的頭像 發(fā)表于 04-08 09:10 ?356次閱讀

    PIC16C745/765微控制器:功能、特性與應用解析

    PIC16C745/765微控制器:功能、特性與應用解析 在電子工程領域,微控制器作為核心組件,廣泛應用于各種電子設備中。
    的頭像 發(fā)表于 04-07 16:40 ?63次閱讀

    Microchip PIC16C62X系列微控制器:設計與應用深度解析

    Microchip PIC16C62X系列微控制器:設計與應用深度解析 在電子工程師的設計世界里,一款性能卓越、功能豐富的微控制器往往是項目
    的頭像 發(fā)表于 03-26 11:45 ?361次閱讀

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

    PIC16F716:8位閃存微控制器的全方位解析 在電子工程師的日常工作中,選擇一款合適的微控制器至關重要。Microchip的
    的頭像 發(fā)表于 03-25 16:05 ?202次閱讀

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

    PIC18F8723 系列微控制器:高性能與低功耗的完美結合 在電子工程師的日常工作中,選擇一款合適的微控制器對于項目的成功至關重要。今天,我們就來深入探討一下 Microchip 公
    的頭像 發(fā)表于 03-16 15:25 ?174次閱讀

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

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

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

    Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南 在電子設計領域,微控制器
    的頭像 發(fā)表于 02-09 16:50 ?977次閱讀

    PIC18F16Q20 Curiosity Nano開發(fā)板技術解析與應用指南

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