深入解析Microchip PIC16C5X系列8位CMOS微控制器
引言
在電子工程師的日常工作中,微控制器無疑是設(shè)計中頻繁使用的核心組件。Microchip的PIC16C5X系列8位CMOS微控制器以其低成本、高性能和豐富的特性脫穎而出。本文將深入探討PIC16C5X系列微控制器的各項特性,為電子工程師在實際項目設(shè)計中提供全面的參考。
文件下載:PIC16C56A-20I P.pdf
一、PIC16C5X系列概述
1.1 高性能RISC CPU架構(gòu)
PIC16C5X系列采用高性能RISC架構(gòu),僅需學(xué)習(xí)33條單字指令,大部分指令單周期執(zhí)行,僅程序分支為雙周期。這種架構(gòu)使其執(zhí)行效率大幅提升,相比同價位競品性能更優(yōu)。其12位寬指令高度對稱,代碼壓縮比達2:1,顯著減少開發(fā)時間。
1.2 豐富外設(shè)特性與應(yīng)用場景
該系列具備如實時時鐘/計數(shù)器(TMR0)、上電復(fù)位(POR)、看門狗定時器(WDT)等多種外設(shè)特性。適用于從高速汽車、家電電機控制到低功耗遙控收發(fā)器等廣泛應(yīng)用場景。EPROM技術(shù)使應(yīng)用程序定制快速便捷,小尺寸封裝適合空間受限應(yīng)用。
1.3 產(chǎn)品類型多樣
PIC16C5X系列有多種設(shè)備類型,如含EPROM的C類型、擴展電壓范圍的LC類型、含ROM的CR類型以及擴展電壓且含ROM的LCR類型。還有UV可擦除設(shè)備用于原型開發(fā),一次性可編程(OTP)設(shè)備適用于頻繁更改代碼或小批量應(yīng)用,快速周轉(zhuǎn)生產(chǎn)(QTP)和序列化快速周轉(zhuǎn)生產(chǎn)(SQTP)設(shè)備適用于工廠生產(chǎn),以及只讀存儲器(ROM)設(shè)備用于大批量成熟產(chǎn)品。
二、架構(gòu)剖析
2.1 哈佛架構(gòu)優(yōu)勢
PIC16C5X采用哈佛架構(gòu),程序和數(shù)據(jù)通過獨立總線訪問,相比傳統(tǒng)馮·諾伊曼架構(gòu),顯著提高帶寬。程序和數(shù)據(jù)內(nèi)存分離,使指令和數(shù)據(jù)字長可不同,12位寬指令實現(xiàn)單字指令,單周期完成12位指令提取。兩級流水線使指令提取和執(zhí)行重疊,除程序分支外,所有指令單周期執(zhí)行。
2.2 內(nèi)存組織
2.2.1 程序內(nèi)存
不同型號PIC16C5X程序內(nèi)存容量不同,如PIC16C54/CR54和PIC16C55尋址512 x 12,PIC16C56/CR56尋址1K x 12,PIC16C57/CR57和PIC16C58/CR58尋址2K x 12。所有程序內(nèi)存均為內(nèi)部內(nèi)存,訪問超出物理地址會回繞。
2.2.2 數(shù)據(jù)內(nèi)存
數(shù)據(jù)內(nèi)存由寄存器和RAM組成,分為特殊功能寄存器和通用寄存器。特殊功能寄存器包括TMR0、程序計數(shù)器(PC)、狀態(tài)寄存器等,用于控制設(shè)備操作;通用寄存器用于數(shù)據(jù)和控制信息存儲。不同型號數(shù)據(jù)內(nèi)存組織有差異,部分型號采用存儲體方案擴展通用寄存器尋址范圍。
2.3 指令執(zhí)行與流水線
指令周期由四個Q周期(Q1、Q2、Q3和Q4)組成。指令提取和執(zhí)行采用流水線方式,提取占一個指令周期,解碼和執(zhí)行占另一個指令周期,實際每條指令單周期執(zhí)行。程序分支指令因需刷新流水線,需兩個周期完成。
三、振蕩器配置
3.1 振蕩器類型選擇
PIC16C5X可在四種振蕩器模式下工作,通過配置FOSC1:FOSC0兩位選擇:
- LP(低功耗晶體):適用于對功耗要求高的應(yīng)用。
- XT(晶體/諧振器):標(biāo)準(zhǔn)晶體/諧振器模式,穩(wěn)定性好。
- HS(高速晶體/諧振器):用于高速應(yīng)用場景。
- RC(電阻/電容):成本低,適用于對定時精度要求不高的應(yīng)用。
3.2 晶體振蕩器與陶瓷諧振器
在XT、LP或HS模式下,需將晶體或陶瓷諧振器連接到OSC1/CLKIN和OSC2/CLKOUT引腳。使用平行切割晶體,避免使用串聯(lián)切割晶體導(dǎo)致頻率超出規(guī)格。也可使用外部時鐘源驅(qū)動OSC1/CLKIN引腳。同時,不同頻率的晶體或諧振器需選擇合適的外部電容,可參考相關(guān)電容選擇表。
3.3 外部晶體振蕩器電路
可使用預(yù)封裝振蕩器或帶TTL門的簡單振蕩器電路作為外部晶體振蕩器。預(yù)封裝振蕩器工作范圍寬、穩(wěn)定性好;設(shè)計良好的晶體振蕩器搭配TTL門也能提供良好性能,有并聯(lián)諧振和串聯(lián)諧振兩種電路類型。
3.4 RC振蕩器
RC振蕩器適用于對定時不敏感的應(yīng)用,可節(jié)省成本。其頻率受電源電壓、電阻(REXT)、電容(CEXT)值和工作溫度影響,不同封裝的引腳框架電容差異也會影響頻率。建議REXT在3 kΩ - 100 kΩ之間,CEXT大于20 pF以保證穩(wěn)定性。
四、復(fù)位機制
4.1 復(fù)位方式
PIC16C5X可通過多種方式復(fù)位:
- 上電復(fù)位(POR):芯片內(nèi)置POR電路,多數(shù)上電情況提供內(nèi)部復(fù)位,將MCLR/VPP引腳連接到VDD即可使用。
- MCLR復(fù)位:正常操作和從SLEEP喚醒時可使用MCLR引腳復(fù)位。
- 看門狗定時器復(fù)位(WDT):正常操作和從SLEEP喚醒時,WDT超時會觸發(fā)復(fù)位。
4.2 上電復(fù)位細節(jié)
POR電路與設(shè)備復(fù)位定時器(DRT)密切相關(guān)。上電時,復(fù)位鎖存器置位,DRT復(fù)位并開始計數(shù),約18 ms超時后復(fù)位鎖存器復(fù)位,結(jié)束內(nèi)部復(fù)位信號。若VDD上電過慢,可能需外部RC電路延長POR延遲時間。
4.3 欠壓復(fù)位
設(shè)備電源(VDD)下降但未到零又恢復(fù)時,需進行復(fù)位??蓸?gòu)建外部欠壓保護電路,如使用齊納二極管、晶體管或Microchip的MCP809微控制器監(jiān)控器。
五、I/O端口
5.1 I/O端口概述
I/O寄存器可通過程序控制讀寫,復(fù)位時所有I/O端口設(shè)為輸入。PORTA為4位I/O寄存器,PORTB為8位I/O寄存器,PORTC在部分型號為I/O寄存器,部分為通用寄存器。
5.2 TRIS寄存器
TRIS寄存器用于控制I/O端口輸出驅(qū)動。執(zhí)行TRIS f指令將W寄存器內(nèi)容加載到TRIS寄存器,'1'使對應(yīng)輸出驅(qū)動為高阻態(tài)(輸入模式),'0'使輸出數(shù)據(jù)鎖存器內(nèi)容輸出到選定引腳。
5.3 I/O編程注意事項
5.3.1 雙向I/O端口
部分指令為讀-修改-寫操作,應(yīng)用于雙向I/O端口時需謹慎。如對PORTB某位置位操作,會讀取整個PORTB到CPU,修改后寫回,可能覆蓋其他引腳輸入信號。
5.3.2 連續(xù)操作
對I/O端口寫操作在指令周期結(jié)束時發(fā)生,讀操作需數(shù)據(jù)在指令周期開始時有效。因此,寫后讀操作需確保引腳電壓穩(wěn)定,可插入NOP指令。
六、Timer0模塊
6.1 Timer0模塊特性
Timer0模塊具有8位定時器/計數(shù)器寄存器TMR0,可讀可寫;8位軟件可編程預(yù)分頻器;可選擇內(nèi)部或外部時鐘源,外部時鐘源可選擇上升或下降沿觸發(fā)。
6.2 外部時鐘使用
使用外部時鐘源時,需滿足一定要求。無預(yù)分頻器時,T0CKI需高、低電平至少2TOSC(含20 ns RC延遲);有預(yù)分頻器時,T0CKI周期至少為4TOSC(含40 ns RC延遲)除以預(yù)分頻值,且高、低電平不低于10 ns。
6.3 預(yù)分頻器操作
預(yù)分頻器可分配給Timer0模塊或看門狗定時器(WDT),但不能同時使用。通過PSA和PS<2:0>位控制預(yù)分頻器分配和分頻比。分配給Timer0模塊時,寫TMR0寄存器會清除預(yù)分頻器;分配給WDT時,CLRWDT指令會清除預(yù)分頻器和WDT。
七、CPU特殊特性
7.1 配置位
配置位用于選擇設(shè)備配置,包括振蕩器類型選擇和看門狗定時器使能位,部分設(shè)備還有代碼保護位。
7.2 看門狗定時器(WDT)
WDT是獨立的片上RC振蕩器,即使主時鐘停止仍可運行??赏ㄟ^配置位WDTE永久禁用。無預(yù)分頻器時,WDT標(biāo)稱超時周期為18 ms,可通過預(yù)分頻器延長超時周期。CLRWDT指令可清除WDT和預(yù)分頻器,SLEEP指令會復(fù)位WDT和預(yù)分頻器。
7.3 掉電模式(SLEEP)
執(zhí)行SLEEP指令進入掉電模式,WDT清零但繼續(xù)運行,TO位置位,PD位清零,振蕩器驅(qū)動關(guān)閉,I/O端口保持原有狀態(tài)。可通過外部復(fù)位或WDT超時喚醒,喚醒時WDT清零。
7.4 程序驗證與代碼保護
未編程代碼保護位時,可讀取片上程序內(nèi)存進行驗證。不建議對開窗設(shè)備進行代碼保護。
7.5 ID位置
四個內(nèi)存位置作為ID位置,可存儲校驗和或代碼識別號,正常執(zhí)行時不可訪問,編程/驗證時可讀可寫。
八、指令集
8.1 指令分類
PIC16C5X指令集分為字節(jié)操作、位操作、立即數(shù)和控制操作。所有指令單周期執(zhí)行,條件測試為真或程序計數(shù)器改變時需兩個周期。
8.2 指令示例
以ADDWF指令為例,將W寄存器和指定寄存器內(nèi)容相加,結(jié)果可存儲在W寄存器或指定寄存器中,影響C、DC、Z狀態(tài)位。
九、開發(fā)支持
9.1 開發(fā)工具
PIC16C5X系列有豐富的開發(fā)工具,包括集成開發(fā)環(huán)境(MPLAB IDE)、匯編器/編譯器/鏈接器(MPASM、MPLAB C17和C18)、模擬器(MPLAB SIM)、仿真器(MPLAB ICE、ICEPIC)、在線調(diào)試器(MPLAB ICD)、設(shè)備編程器(PRO MATE II、PICSTART Plus)和低成本演示板(PICDEM 1、2、3、17)等。
9.2 MPLAB IDE
MPLAB IDE是基于Windows的應(yīng)用程序,提供調(diào)試工具接口、全功能編輯器、項目管理器等,支持編輯、編譯、下載和調(diào)試代碼,方便開發(fā)者在不同調(diào)試工具間切換。
十、電氣特性
10.1 絕對最大額定值
不同型號PIC16C5X有相應(yīng)的絕對最大額定值,包括環(huán)境溫度、存儲溫度、電壓、功耗、電流等限制,超出這些限制可能導(dǎo)致設(shè)備永久損壞。
10.2 DC特性
不同溫度范圍(商業(yè)、工業(yè)、擴展)下,PIC16C5X的DC特性不同,包括電源電壓、RAM數(shù)據(jù)保留電壓、上電復(fù)位電壓和上升速率、電源電流、掉電電流等。
10.3 交流特性
交流特性包括外部時鐘頻率、周期、時鐘高低時間、上升下降時間等,不同振蕩器模式下要求不同。
十一、封裝信息
PIC16C5X有多種封裝類型,如18引腳PDIP、28引腳PDIP、18引腳SOIC、28引腳SOIC、20引腳SSOP、28引腳SSOP、18引腳CERDIP窗口封裝和28引腳CERDIP窗口封裝等,每種封裝有詳細的尺寸和引腳信息。
總結(jié)
Microchip的PIC16C5X系列8位CMOS微控制器憑借其高性能RISC架構(gòu)、豐富的外設(shè)特性、多樣的設(shè)備類型和全面的開發(fā)支持,成為電子工程師在各種應(yīng)用場景中的理想選擇。在實際設(shè)計中,工程師需根據(jù)具體需求選擇合適的型號和配置,充分發(fā)揮其優(yōu)勢,同時注意各項電氣特性和編程注意事項,確保設(shè)計的穩(wěn)定性和可靠性。你在使用PIC16C5X系列微控制器過程中遇到過哪些問題呢?歡迎在評論區(qū)分享交流。
-
微控制器
+關(guān)注
關(guān)注
48文章
8506瀏覽量
165103 -
電子設(shè)計
+關(guān)注
關(guān)注
42文章
2112瀏覽量
49892
發(fā)布評論請先 登錄
8位微控制器 -MCU ?PIC16F1503-I/SL
深入解析Microchip PIC16C5X系列8位CMOS微控制器
評論