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