PIC16CE62X系列微控制器:功能特性與設(shè)計(jì)指南
在電子設(shè)計(jì)領(lǐng)域,選擇合適的微控制器對(duì)于項(xiàng)目的成功至關(guān)重要。PIC16CE62X系列微控制器憑借其豐富的功能和出色的性能,成為眾多工程師的理想選擇。本博文將深入探討PIC16CE62X系列微控制器的特性、架構(gòu)、外設(shè)功能以及開(kāi)發(fā)支持等方面,為電子工程師在設(shè)計(jì)過(guò)程中提供全面的參考。
一、概述
PIC16CE62X是Microchip公司推出的18和20引腳、基于EPROM的低功耗、高性能CMOS 8位微控制器,帶有EEPROM數(shù)據(jù)存儲(chǔ)器。該系列采用先進(jìn)的RISC架構(gòu),具有增強(qiáng)的核心功能、8級(jí)深度堆棧以及多個(gè)內(nèi)部和外部中斷源。其哈佛架構(gòu)的指令和數(shù)據(jù)總線分離,允許14位寬的指令字和8位寬的數(shù)據(jù),除程序分支外,所有指令均可在單周期內(nèi)執(zhí)行,大大提高了執(zhí)行效率。
1.1 產(chǎn)品特性
- 高性能CPU:僅需學(xué)習(xí)35條指令,除程序分支為雙周期指令外,其余均為單周期指令(200 ns),工作速度范圍為DC - 20 MHz時(shí)鐘輸入和DC - 200 ns指令周期。具備中斷能力、16個(gè)特殊功能硬件寄存器和8級(jí)深度硬件堆棧,支持直接、間接和相對(duì)尋址模式。
- 豐富的外設(shè):擁有13個(gè)I/O引腳,可進(jìn)行單獨(dú)方向控制,具備高電流吸收/源能力,可直接驅(qū)動(dòng)LED。集成模擬比較器模塊,包含兩個(gè)模擬比較器、可編程片上電壓參考(VREF)模塊和可編程輸入多路復(fù)用功能,比較器輸出可作為信號(hào)輸出。還配備8位定時(shí)器/計(jì)數(shù)器Timer0,帶有8位可編程預(yù)分頻器。
- 特殊功能:支持在線串行編程(ICSP?),具備上電復(fù)位(POR)、上電定時(shí)器(PWRT)和振蕩器啟動(dòng)定時(shí)器(OST)、欠壓復(fù)位(BOR)以及看門(mén)狗定時(shí)器(WDT)等功能,確保系統(tǒng)的可靠性和穩(wěn)定性。此外,EEPROM數(shù)據(jù)存儲(chǔ)器具有1,000,000次擦除/寫(xiě)入周期和超過(guò)40年的數(shù)據(jù)保留時(shí)間,支持可編程代碼保護(hù)和節(jié)能SLEEP模式,提供多種振蕩器選項(xiàng)和四個(gè)用戶可編程ID位置。
1.2 產(chǎn)品型號(hào)
| PIC16CE62X系列包括PIC16CE623、PIC16CE624和PIC16CE625三個(gè)型號(hào),它們?cè)诔绦虼鎯?chǔ)器、數(shù)據(jù)存儲(chǔ)器等方面有所差異,具體如下表所示: | 型號(hào) | 程序存儲(chǔ)器(x14字) | RAM數(shù)據(jù)存儲(chǔ)器(字節(jié)) | EEPROM數(shù)據(jù)存儲(chǔ)器(字節(jié)) |
|---|---|---|---|---|
| PIC16CE623 | 512 | 96 | 128 | |
| PIC16CE624 | 1K | 96 | 128 | |
| PIC16CE625 | 2K | 128 | 128 |
二、架構(gòu)概述
2.1 哈佛架構(gòu)
PIC16CE62X采用哈佛架構(gòu),程序和數(shù)據(jù)通過(guò)獨(dú)立的總線從不同的存儲(chǔ)器中訪問(wèn),與傳統(tǒng)的馮·諾依曼架構(gòu)相比,提高了帶寬。14位寬的程序存儲(chǔ)器訪問(wèn)總線可在單周期內(nèi)獲取14位指令,兩級(jí)流水線重疊指令的獲取和執(zhí)行,使得除程序分支外的所有指令均能在單周期內(nèi)執(zhí)行。
2.2 寄存器與ALU
該系列微控制器可直接或間接尋址寄存器文件或數(shù)據(jù)存儲(chǔ)器,所有特殊功能寄存器(包括程序計(jì)數(shù)器)都映射在數(shù)據(jù)存儲(chǔ)器中。其指令集具有正交性,可使用任何尋址模式對(duì)任何寄存器進(jìn)行操作,簡(jiǎn)化了編程過(guò)程。此外,PIC16CE62X包含一個(gè)8位ALU和工作寄存器,可執(zhí)行算術(shù)和布爾運(yùn)算,運(yùn)算結(jié)果可能會(huì)影響STATUS寄存器中的進(jìn)位(C)、數(shù)字進(jìn)位(DC)和零(Z)位。
2.3 時(shí)鐘與指令周期
時(shí)鐘輸入(OSC1/CLKIN引腳)在內(nèi)部被4分頻,生成四個(gè)非重疊的正交時(shí)鐘Q1、Q2、Q3和Q4。程序計(jì)數(shù)器(PC)在每個(gè)Q1周期遞增,指令在Q4周期從程序存儲(chǔ)器中獲取并鎖存到指令寄存器,隨后在Q1 - Q4周期進(jìn)行解碼和執(zhí)行。
三、存儲(chǔ)器組織
3.1 程序存儲(chǔ)器
PIC16CE62X具有13位程序計(jì)數(shù)器,可尋址8K x 14的程序存儲(chǔ)器空間。不同型號(hào)的物理實(shí)現(xiàn)有所不同,PIC16CE623為512 x 14(0000h - 01FFh),PIC16CE624為1K x 14(0000h - 03FFh),PIC16CE625為2K x 14(0000h - 07FFh)。訪問(wèn)超出這些邊界的位置將導(dǎo)致在相應(yīng)的空間內(nèi)回繞。復(fù)位向量位于0000h,中斷向量位于0004h。
3.2 數(shù)據(jù)存儲(chǔ)器
數(shù)據(jù)存儲(chǔ)器分為兩個(gè)存儲(chǔ)體(Bank 0和Bank 1),包含通用寄存器和特殊功能寄存器。Bank 0通過(guò)清除RP0位選擇,Bank 1通過(guò)設(shè)置RP0位(STATUS <5>)選擇。特殊功能寄存器位于每個(gè)存儲(chǔ)體的前32個(gè)位置,通用寄存器在不同型號(hào)中的實(shí)現(xiàn)有所差異。部分特殊目的寄存器映射在Bank 1中,所有三個(gè)微控制器的地址空間F0h - FFh(Bank1)映射到70 - 7Fh(Bank0)作為公共RAM。
四、I/O端口
PIC16CE62X有PORTA和PORTB兩個(gè)端口,部分引腳與外設(shè)功能復(fù)用。
4.1 PORTA
PORTA是一個(gè)5位寬的鎖存器,RA4為施密特觸發(fā)器輸入和開(kāi)漏輸出,與T0CKI時(shí)鐘輸入復(fù)用。其他RA端口引腳具有施密特觸發(fā)器輸入電平和全CMOS輸出驅(qū)動(dòng)器,所有引腳都有數(shù)據(jù)方向位(TRIS寄存器),可配置為輸入或輸出。PORTA引腳與比較器和電壓參考功能復(fù)用,其操作由CMCON和VRCON寄存器控制。
4.2 PORTB
PORTB是一個(gè)8位寬的雙向端口,對(duì)應(yīng)的TRISB寄存器用于控制數(shù)據(jù)方向。每個(gè)PORTB引腳都有一個(gè)弱內(nèi)部上拉電阻,可通過(guò)清除RBPU(OPTION <7>)位來(lái)啟用。PORTB的四個(gè)引腳(RB<7:4>)具有變化中斷功能,可用于喚醒設(shè)備。
4.3 I/O編程注意事項(xiàng)
在使用I/O端口時(shí),需要注意讀寫(xiě)操作的順序和時(shí)機(jī)。讀寫(xiě)操作通常是讀 - 修改 - 寫(xiě)操作,因此在對(duì)具有輸入和輸出定義的端口應(yīng)用指令時(shí)要謹(jǐn)慎。此外,連續(xù)的寫(xiě) - 讀操作需要確保引腳電壓穩(wěn)定,避免讀取到舊狀態(tài)。
五、EEPROM外設(shè)操作
PIC16CE623/624/625每個(gè)都有128字節(jié)的EEPROM數(shù)據(jù)存儲(chǔ)器,支持雙向2線總線和數(shù)據(jù)傳輸協(xié)議。通過(guò)EEINTF寄存器控制對(duì)EEPROM的訪問(wèn),用戶代碼需要生成時(shí)鐘和數(shù)據(jù)信號(hào)。EEPROM的數(shù)據(jù)傳輸遵循特定的總線協(xié)議,包括開(kāi)始條件、停止條件、數(shù)據(jù)有效和確認(rèn)等。
5.1 總線特性
數(shù)據(jù)傳輸只能在總線空閑時(shí)啟動(dòng),數(shù)據(jù)線上的數(shù)據(jù)在時(shí)鐘線為高電平時(shí)必須保持穩(wěn)定。開(kāi)始條件由SDA線在SCL線為高電平時(shí)從高到低的轉(zhuǎn)換確定,停止條件由SDA線在SCL線為高電平時(shí)從低到高的轉(zhuǎn)換確定。
5.2 設(shè)備尋址
在生成開(kāi)始條件后,處理器發(fā)送一個(gè)控制字節(jié),包含EEPROM地址和讀寫(xiě)位,以指示要執(zhí)行的操作類型。EEPROM地址由4位設(shè)備代碼(1010)和三個(gè)無(wú)關(guān)位組成,最后一位確定操作類型(1為讀,0為寫(xiě))。
5.3 讀寫(xiě)操作
寫(xiě)操作分為字節(jié)寫(xiě)和頁(yè)寫(xiě),字節(jié)寫(xiě)是在發(fā)送開(kāi)始信號(hào)、設(shè)備代碼、無(wú)關(guān)位和讀寫(xiě)位后,依次發(fā)送字地址和數(shù)據(jù)字;頁(yè)寫(xiě)是在發(fā)送寫(xiě)控制字節(jié)、字地址和第一個(gè)數(shù)據(jù)字節(jié)后,最多可發(fā)送八個(gè)數(shù)據(jù)字節(jié),最后發(fā)送停止條件啟動(dòng)內(nèi)部寫(xiě)周期。讀操作分為當(dāng)前地址讀、隨機(jī)讀和順序讀,通過(guò)設(shè)置讀寫(xiě)位來(lái)啟動(dòng)。
六、定時(shí)器模塊
6.1 Timer0模塊
Timer0模塊是一個(gè)8位定時(shí)器/計(jì)數(shù)器,具有可讀可寫(xiě)、8位軟件可編程預(yù)分頻器、內(nèi)部或外部時(shí)鐘選擇、溢出中斷和外部時(shí)鐘邊沿選擇等功能。定時(shí)器模式通過(guò)清除T0CS位(OPTION <5>)選擇,計(jì)數(shù)器模式通過(guò)設(shè)置T0CS位選擇。預(yù)分頻器在Timer0模塊和看門(mén)狗定時(shí)器之間共享,通過(guò)PSA位(OPTION <3>)進(jìn)行分配。
6.2 Timer0中斷
當(dāng)TMR0寄存器從FFh溢出到00h時(shí),會(huì)產(chǎn)生Timer0中斷,設(shè)置T0IF位??赏ㄟ^(guò)清除T0IE位(INTCON <5>)來(lái)屏蔽中斷,在中斷服務(wù)程序中需要軟件清除T0IF位。
6.3 使用外部時(shí)鐘
當(dāng)使用外部時(shí)鐘輸入時(shí),需要滿足一定的要求。無(wú)預(yù)分頻器時(shí),外部時(shí)鐘需要在內(nèi)部相位時(shí)鐘的Q2和Q4周期進(jìn)行采樣,因此T0CKI需要高電平至少2TOSC(加上20 ns的RC延遲),低電平至少2TOSC(加上20 ns的RC延遲);使用預(yù)分頻器時(shí),T0CKI的周期至少為4TOSC(加上40 ns的RC延遲)除以預(yù)分頻值,且高電平和低電平時(shí)間不能違反最小脈沖寬度要求(10 ns)。
七、比較器模塊
7.1 比較器配置
比較器模塊包含兩個(gè)模擬比較器,輸入與RA0 - RA3引腳復(fù)用,片上電壓參考也可作為輸入。通過(guò)CMCON寄存器選擇比較器的輸入和輸出多路復(fù)用模式,共有八種操作模式。在改變比較器模式時(shí),需要注意模式改變延遲,以確保輸出電平的有效性。
7.2 比較器操作
比較器根據(jù)VIN+和VIN - 的模擬輸入電平輸出數(shù)字信號(hào)。當(dāng)VIN+小于VIN - 時(shí),輸出為低電平;當(dāng)VIN+大于VIN - 時(shí),輸出為高電平。比較器的響應(yīng)時(shí)間是指選擇新的參考電壓或輸入源后,輸出達(dá)到有效電平所需的最小時(shí)間。
7.3 比較器參考
比較器可使用外部或內(nèi)部參考信號(hào)。外部參考信號(hào)需在VSS和VDD之間,可應(yīng)用于比較器的任一引腳;內(nèi)部參考信號(hào)在CM<2:0> = 010模式下使用,由電壓參考模塊提供。
7.4 比較器中斷
比較器輸出值發(fā)生變化時(shí),比較器中斷標(biāo)志CMIF(PIR1 <6>)會(huì)被設(shè)置。要啟用中斷,需要設(shè)置CMIE位(PIE1 <6>)、PEIE位(INTCON <6>)和GIE位。在中斷服務(wù)程序中,可通過(guò)讀取或?qū)懭隒MCON寄存器或清除CMIF位來(lái)清除中斷。
八、電壓參考模塊
8.1 配置電壓參考
電壓參考模塊是一個(gè)16抽頭的電阻梯形網(wǎng)絡(luò),通過(guò)VRCON寄存器控制操作??奢敵?6個(gè)不同的電壓電平,根據(jù)VRR位的設(shè)置分為低范圍和高范圍,計(jì)算公式分別為VREF = (VR<3:0>/24) × VDD(VRR = 1)和VREF = (VDD × 1/4) + (VR<3:0>/32) × VDD(VRR = 0)。
8.2 電壓參考精度/誤差
由于模塊的結(jié)構(gòu),無(wú)法實(shí)現(xiàn)VSS到VDD的全范圍輸出。電壓參考由VDD派生,因此VREF輸出會(huì)隨VDD的波動(dòng)而變化。其絕對(duì)精度可參考相關(guān)表格。
8.3 睡眠模式操作
設(shè)備從睡眠模式喚醒時(shí),VRCON寄存器的內(nèi)容不受影響。為了在睡眠模式下最小化電流消耗,應(yīng)禁用電壓參考。
8.4 復(fù)位影響
設(shè)備復(fù)位時(shí),通過(guò)清除VREN位(VRCON <7>)禁用電壓參考,清除VROE位(VRCON <6>)斷開(kāi)參考與RA2引腳的連接,清除VRR位(VRCON <5>)選擇高電壓范圍,并清除VREF值選擇位VRCON <3:0>。
九、CPU特殊功能
9.1 配置位
配置位可通過(guò)編程(讀為'0')或不編程(讀為'1')來(lái)選擇各種設(shè)備配置,位于程序存儲(chǔ)器位置2007h。包括代碼保護(hù)位、欠壓復(fù)位使能位(BODEN)、上電定時(shí)器使能位(PWRTE)、看門(mén)狗定時(shí)器使能位(WDTE)和振蕩器選擇位(FOSC1:FOSC0)。
9.2 振蕩器配置
PIC16CE62X可在LP、XT、HS和RC四種振蕩器模式下工作,通過(guò)配置位FOSC1和FOSC0進(jìn)行選擇。在XT、LP或HS模式下,可連接晶體或陶瓷諧振器到OSC1和OSC2引腳;在RC模式下,可使用電阻和電容實(shí)現(xiàn)低成本的定時(shí)。
9.3 復(fù)位
PIC16CE62X可區(qū)分多種復(fù)位類型,包括上電復(fù)位(POR)、MCLR復(fù)位、WDT復(fù)位、WDT喚醒和欠壓復(fù)位(BOD)。部分寄存器在復(fù)位時(shí)不受影響,其狀態(tài)在POR時(shí)未知,在其他復(fù)位時(shí)不變;大多數(shù)其他寄存器在POR、MCLR復(fù)位、WDT復(fù)位和SLEEP期間的MCLR復(fù)位時(shí)復(fù)位到“復(fù)位狀態(tài)”,WDT喚醒不影響這些寄存器。
9.4 中斷
PIC16CE62X有四個(gè)中斷源:外部中斷RB0/INT、TMR0溢出中斷、PORTB變化中斷和比較器中斷。中斷控制寄存器(INTCON)記錄中斷請(qǐng)求,通過(guò)全局中斷使能位GIE(INTCON <7>)和各個(gè)中斷使能位控制中斷的啟用和禁用。
9.5 看門(mén)狗定時(shí)器(WDT)
看門(mén)狗定時(shí)器是一個(gè)獨(dú)立的片上RC振蕩器,無(wú)需外部組件。在正常操作中,WDT超時(shí)會(huì)導(dǎo)致設(shè)備復(fù)位;在SLEEP模式下,WDT超時(shí)會(huì)使設(shè)備喚醒并繼續(xù)正常操作??赏ㄟ^(guò)編程配置位WDTE來(lái)永久禁用WDT。
9.6 睡眠模式(SLEEP)
通過(guò)執(zhí)行SLEEP指令進(jìn)入睡眠模式,此時(shí)看門(mén)狗定時(shí)器被清除但繼續(xù)運(yùn)行,PD位在STATUS寄存器中被清除,TO位被設(shè)置,振蕩器驅(qū)動(dòng)器關(guān)閉。設(shè)備可通過(guò)外部復(fù)位、看門(mén)狗定時(shí)器喚醒或中斷從睡眠模式喚醒。
9.7 代碼保護(hù)
若代碼保護(hù)位未編程,可讀取片上程序存儲(chǔ)器進(jìn)行驗(yàn)證。但不建議對(duì)窗口設(shè)備進(jìn)行代碼保護(hù)。
9.8 ID位置
四個(gè)內(nèi)存位置(2000h - 2003h)被指定為ID位置,用戶可存儲(chǔ)校驗(yàn)和或其他代碼識(shí)別號(hào)。這些位置在正常執(zhí)行期間不可訪問(wèn),但在編程/驗(yàn)證期間可讀可寫(xiě)。
9.9 在線串行編程
PIC16CE62X微控制器可在最終應(yīng)用電路中進(jìn)行串行編程,只需兩條時(shí)鐘和數(shù)據(jù)線以及三條電源、地線和編程電壓線。通過(guò)將RB6和RB7引腳拉低,同時(shí)將MCLR(VPP)引腳從VIL提升到VIHH,可將設(shè)備置于編程/驗(yàn)證模式。
十、指令集
10.1 指令分類
PIC16CE62X的指令集分為字節(jié)操作、位操作和文字及控制操作三類。所有指令通常在一個(gè)指令周期內(nèi)執(zhí)行,除非條件測(cè)試為真或程序計(jì)數(shù)器發(fā)生變化,此時(shí)需要兩個(gè)指令周期。
10.2 指令描述
每個(gè)指令由14位字組成,包括操作碼和一個(gè)或多個(gè)操作數(shù)。不同指令具有不同的功能和操作,如ADDLW用于將立即數(shù)與W寄存器相加,ADDWF用于將W寄存器與指定寄存器相加等。
十一、開(kāi)發(fā)支持
Microchip為PIC16CE62X提供了豐富的開(kāi)發(fā)支持工具,包括集成開(kāi)發(fā)環(huán)境(MPLAB? IDE Software)、匯編器/編譯器/鏈接器(MPASM Assembler、MPLAB - C17和MPLAB - C18 C Compilers、MPLINK/MPLIB Linker/Librarian)、模擬器(MPLAB - SIM Software Simulator)、仿真器(MPLAB - ICE、PICMASTER/PICMASTER - CE、ICEPIC?)、在線調(diào)試器(MPLAB - ICD)、設(shè)備編程器(PRO MATE II Universal Programmer、PICSTART Plus Entry - Level Prototype Programmer)和低成本演示板(SIMICE、PICDEM - 1、PICDEM - 2、PICDEM - 3、PICDEM - 17、SEEVAL?、KEELOQ?)等。
十二、電氣規(guī)格
12.1 絕對(duì)最大額定值
PIC16CE62X的絕對(duì)最大額定值包括環(huán)境溫度、引腳電壓、電源電壓、功耗、輸入/輸出電流等參數(shù),超過(guò)這些額定值可能會(huì)對(duì)設(shè)備造成永久性損壞。
12.2 DC特性
DC特性包括電源電壓、RAM數(shù)據(jù)保留電壓、上電復(fù)位電壓、欠壓檢測(cè)電壓、電源電流、掉電電流等參數(shù),這些參數(shù)受工作電壓、頻率、振蕩器類型、溫度等因素影響
-
微控制器
+關(guān)注
關(guān)注
49文章
8662瀏覽量
165285 -
設(shè)計(jì)指南
+關(guān)注
關(guān)注
0文章
272瀏覽量
8966
發(fā)布評(píng)論請(qǐng)先 登錄
PIC16CE62X系列微控制器:功能特性與設(shè)計(jì)指南
評(píng)論