深度剖析Microchip PIC16F62X系列微控制器:硬件設(shè)計(jì)與應(yīng)用指南
在電子工程師的工具箱中,微控制器是不可或缺的核心組件。Microchip的PIC16F62X系列微控制器以其高性能、低功耗和豐富的外設(shè)功能,成為眾多嵌入式系統(tǒng)設(shè)計(jì)的理想選擇。本文將深入探討PIC16F62X系列微控制器的特點(diǎn)、架構(gòu)、外設(shè)功能以及應(yīng)用開發(fā),為電子工程師提供全面的設(shè)計(jì)指南。
1. 概述
PIC16F62X系列是基于FLASH技術(shù)的8位CMOS微控制器,屬于PIC16CXX家族的一員。該系列具有低成本、高性能、靜態(tài)設(shè)計(jì)和低功耗等特點(diǎn),適用于各種應(yīng)用場景,如電池充電器、低功耗遠(yuǎn)程傳感器等。
1.1 產(chǎn)品特點(diǎn)
- 高性能RISC CPU:僅需學(xué)習(xí)35條指令,除程序分支指令為雙周期外,其余指令均為單周期執(zhí)行(200 ns),運(yùn)行速度可達(dá)DC - 20 MHz時(shí)鐘輸入。
- 豐富的內(nèi)存資源:不同型號的PIC16F62X提供不同容量的程序FLASH、RAM和數(shù)據(jù)EEPROM,滿足不同應(yīng)用的存儲需求。
- 強(qiáng)大的外設(shè)功能:具備16個(gè)I/O引腳、模擬比較器模塊、多個(gè)定時(shí)器模塊、捕獲/比較/PWM(CCP)模塊、通用同步/異步收發(fā)器(USART)等。
- 特殊功能:包括上電復(fù)位(POR)、上電定時(shí)器(PWRT)、振蕩器啟動(dòng)定時(shí)器(OST)、欠壓檢測(BOD)、看門狗定時(shí)器(WDT)、低電壓編程、省電SLEEP模式等。
1.2 產(chǎn)品型號
PIC16F62X系列包括PIC16F627、PIC16F628、PIC16LF627和PIC16LF628等型號,不同型號在電壓范圍、振蕩器配置和工藝技術(shù)等方面可能存在差異。
2. 架構(gòu)概述
PIC16F62X采用哈佛架構(gòu),程序和數(shù)據(jù)分別從不同的存儲器中訪問,提高了帶寬。指令采用14位寬的操作碼,所有指令(除程序分支外)均在單周期內(nèi)執(zhí)行。
2.1 時(shí)鐘方案與指令周期
時(shí)鐘輸入(OSC1/CLKIN/RA7引腳)經(jīng)內(nèi)部四分頻后生成四個(gè)非重疊的正交時(shí)鐘Q1、Q2、Q3和Q4。程序計(jì)數(shù)器(PC)在Q1周期遞增,指令在Q4周期從程序存儲器中取出并鎖存到指令寄存器,隨后在接下來的Q1 - Q4周期進(jìn)行解碼和執(zhí)行。
2.2 指令流水線
指令執(zhí)行采用兩級流水線,取指和執(zhí)行操作重疊進(jìn)行,使得每條指令實(shí)際上在一個(gè)周期內(nèi)完成。但如果指令導(dǎo)致程序計(jì)數(shù)器改變(如GOTO指令),則需要兩個(gè)周期完成。
3. 內(nèi)存組織
3.1 程序內(nèi)存組織
PIC16F62X具有13位的程序計(jì)數(shù)器,可尋址8K x 14的程序內(nèi)存空間。不同型號的實(shí)際物理實(shí)現(xiàn)不同,如PIC16F627為1K x 14(0000h - 03FFh),PIC16F628為2K x 14(0000h - 07FFh)。復(fù)位向量位于0000h,中斷向量位于0004h。
3.2 數(shù)據(jù)內(nèi)存組織
數(shù)據(jù)內(nèi)存分為四個(gè)存儲體,包含通用寄存器和特殊功能寄存器(SFR)。SFR用于控制設(shè)備的各種功能,如定時(shí)器、比較器、USART等。
4. I/O端口
PIC16F62X具有兩個(gè)端口,PORTA和PORTB。部分引腳與外設(shè)功能復(fù)用,當(dāng)外設(shè)功能啟用時(shí),這些引腳可能無法作為通用I/O引腳使用。
4.1 PORTA和TRISA寄存器
PORTA是一個(gè)8位寬的鎖存器,部分引腳具有施密特觸發(fā)器輸入和CMOS輸出驅(qū)動(dòng)。TRISA寄存器用于控制RA引腳的方向,當(dāng)引腳作為比較器輸入時(shí),需將其配置為輸入。
4.2 PORTB和TRISB寄存器
PORTB是一個(gè)8位寬的雙向端口,具有內(nèi)部弱上拉電阻。部分引腳具有引腳變化中斷功能,可用于喚醒設(shè)備從SLEEP模式。TRISB寄存器用于控制RB引腳的方向。
4.3 I/O編程注意事項(xiàng)
在對I/O端口進(jìn)行讀寫操作時(shí),需注意讀寫操作的順序和時(shí)間,避免出現(xiàn)數(shù)據(jù)錯(cuò)誤。同時(shí),應(yīng)避免同時(shí)驅(qū)動(dòng)輸出引腳和外部設(shè)備,以免損壞芯片。
5. 定時(shí)器模塊
5.1 Timer0模塊
Timer0是一個(gè)8位定時(shí)器/計(jì)數(shù)器,具有8位軟件可編程預(yù)分頻器,可選擇內(nèi)部或外部時(shí)鐘源。當(dāng)TMR0寄存器溢出時(shí),會產(chǎn)生中斷。
5.2 Timer1模塊
Timer1是一個(gè)16位定時(shí)器/計(jì)數(shù)器,可工作在定時(shí)器模式或計(jì)數(shù)器模式。在計(jì)數(shù)器模式下,可選擇同步或異步計(jì)數(shù)。Timer1還具有內(nèi)部復(fù)位輸入,可由CCP模塊觸發(fā)。
5.3 Timer2模塊
Timer2是一個(gè)8位定時(shí)器,具有預(yù)分頻器和后分頻器,可作為CCP模塊PWM模式的時(shí)基。當(dāng)TMR2與PR2匹配時(shí),會產(chǎn)生中斷。
6. 比較器模塊
比較器模塊包含兩個(gè)模擬比較器,輸入可與RA0 - RA3引腳復(fù)用,也可選擇內(nèi)部電壓參考。通過CMCON寄存器可選擇比較器的工作模式。
6.1 比較器配置
比較器具有八種工作模式,通過CMCON寄存器進(jìn)行選擇。在模式切換時(shí),需注意輸出電平的有效性。
6.2 比較器操作
比較器根據(jù)輸入電壓的大小輸出數(shù)字信號,響應(yīng)時(shí)間取決于參考電壓和輸入源的變化。
6.3 比較器參考
比較器可使用外部或內(nèi)部參考信號,內(nèi)部參考信號由電壓參考模塊提供。
6.4 比較器輸出
比較器輸出可通過CMCON寄存器讀取,也可直接輸出到RA3和RA4引腳。
6.5 比較器中斷
當(dāng)比較器輸出值發(fā)生變化時(shí),會設(shè)置比較器中斷標(biāo)志位。在中斷服務(wù)程序中,需清除中斷標(biāo)志位。
7. 電壓參考模塊
電壓參考模塊是一個(gè)16抽頭的電阻梯網(wǎng)絡(luò),可提供可選的電壓參考。通過VRCON寄存器可控制參考電壓的輸出。
7.1 配置電壓參考
電壓參考可輸出16個(gè)不同的電壓電平,根據(jù)VRR位的設(shè)置,可選擇低范圍或高范圍的參考電壓。
7.2 電壓參考精度/誤差
由于模塊的結(jié)構(gòu)限制,無法實(shí)現(xiàn)VSS到VDD的全范圍參考電壓。參考電壓會隨VDD的波動(dòng)而變化。
7.3 操作期間的SLEEP模式
在SLEEP模式下,為了最小化電流消耗,應(yīng)禁用電壓參考模塊。
7.4 復(fù)位的影響
設(shè)備復(fù)位時(shí),會禁用電壓參考模塊,并將其設(shè)置為默認(rèn)狀態(tài)。
8. 捕獲/比較/PWM(CCP)模塊
CCP模塊包含一個(gè)16位寄存器,可作為捕獲寄存器、比較寄存器或PWM主/從占空比寄存器。
8.1 捕獲模式
在捕獲模式下,CCPR1H:CCPR1L捕獲TMR1寄存器的16位值,當(dāng)指定事件發(fā)生時(shí),設(shè)置中斷請求標(biāo)志位CCP1IF。
8.2 比較模式
在比較模式下,16位CCPR1寄存器的值與TMR1寄存器的值進(jìn)行比較,當(dāng)匹配時(shí),根據(jù)控制位的設(shè)置對RB3/CCP1引腳進(jìn)行操作,并設(shè)置中斷標(biāo)志位CCP1IF。
8.3 PWM模式
在PWM模式下,CCP1引腳可產(chǎn)生高達(dá)10位分辨率的PWM輸出。PWM周期由PR2寄存器指定,占空比由CCPR1L寄存器和CCP1CON<5:4>位指定。
9. 通用同步/異步收發(fā)器(USART)模塊
USART模塊可配置為異步(全雙工)、同步 - 主(半雙工)或同步 - 從(半雙工)模式。
9.1 USART波特率發(fā)生器(BRG)
BRG是一個(gè)專用的8位波特率發(fā)生器,支持異步和同步模式。通過SPBRG寄存器和BRGH位可控制波特率。
9.2 USART異步模式
在異步模式下,USART使用標(biāo)準(zhǔn)的非歸零(NRZ)格式,包括一個(gè)起始位、8或9個(gè)數(shù)據(jù)位和一個(gè)停止位。發(fā)送和接收操作獨(dú)立進(jìn)行,但使用相同的數(shù)據(jù)格式和波特率。
9.3 USART同步主模式
在同步主模式下,數(shù)據(jù)以半雙工方式傳輸,發(fā)送時(shí)禁止接收,反之亦然。主模式下,處理器在CK線上發(fā)送主時(shí)鐘。
9.4 USART同步從模式
同步從模式與主模式的區(qū)別在于,時(shí)鐘由外部提供,設(shè)備可在SLEEP模式下進(jìn)行數(shù)據(jù)傳輸。
10. 數(shù)據(jù)EEPROM內(nèi)存
數(shù)據(jù)EEPROM內(nèi)存可在正常操作期間進(jìn)行讀寫,通過特殊功能寄存器間接尋址。
10.1 讀取EEPROM數(shù)據(jù)內(nèi)存
讀取數(shù)據(jù)時(shí),需將地址寫入EEADR寄存器,然后設(shè)置控制位RD,數(shù)據(jù)將在下一個(gè)周期出現(xiàn)在EEDATA寄存器中。
10.2 寫入EEPROM數(shù)據(jù)內(nèi)存
寫入數(shù)據(jù)時(shí),需先將地址和數(shù)據(jù)分別寫入EEADR和EEDATA寄存器,然后按照特定的序列設(shè)置控制位,啟動(dòng)寫入操作。
10.3 寫入驗(yàn)證
為確保寫入的數(shù)據(jù)正確,可進(jìn)行寫入驗(yàn)證,將寫入的值與讀取的值進(jìn)行比較。
10.4 防止誤寫入
為防止誤寫入EEPROM,采取了多種措施,如上電時(shí)WREN位清零、設(shè)置上電定時(shí)器等。
11. 特殊功能
11.1 配置位
配置位用于選擇設(shè)備的各種配置,如代碼保護(hù)、振蕩器選擇、欠壓檢測等。
11.2 振蕩器配置
PIC16F62X可在八種不同的振蕩器模式下工作,包括LP、XT、HS、ER、INTRC和EC等。
11.3 復(fù)位
PIC16F62X可區(qū)分多種復(fù)位類型,如上電復(fù)位(POR)、MCLR復(fù)位、WDT復(fù)位和欠壓檢測復(fù)位等。
11.4 中斷
PIC16F62X具有10個(gè)中斷源,包括外部中斷、定時(shí)器溢出中斷、PORTB引腳變化中斷等。中斷控制寄存器記錄中斷請求和使能位。
11.5 看門狗定時(shí)器(WDT)
WDT是一個(gè)獨(dú)立的RC振蕩器,可在設(shè)備進(jìn)入SLEEP模式時(shí)繼續(xù)運(yùn)行。WDT超時(shí)可導(dǎo)致設(shè)備復(fù)位或喚醒。
11.6 省電模式(SLEEP)
通過執(zhí)行SLEEP指令,設(shè)備進(jìn)入省電模式。在SLEEP模式下,可通過外部復(fù)位、WDT喚醒或中斷喚醒設(shè)備。
11.7 代碼保護(hù)
代碼保護(hù)位可防止程序內(nèi)存被讀取,關(guān)閉代碼保護(hù)時(shí),數(shù)據(jù)EEPROM和FLASH程序內(nèi)存將被擦除。
11.8 用戶ID位置
四個(gè)內(nèi)存位置(2000h - 2003h)可用于存儲校驗(yàn)和或其他代碼標(biāo)識號,這些位置在正常執(zhí)行期間不可訪問,但在編程/驗(yàn)證時(shí)可讀可寫。
11.9 在線串行編程
PIC16F62X可在應(yīng)用電路中進(jìn)行串行編程,只需兩根線用于時(shí)鐘和數(shù)據(jù),以及三根線用于電源、接地和編程電壓。
11.10 低電壓編程
通過配置字的LVP位,可啟用低電壓編程模式,該模式只需5V電源即可進(jìn)行編程。
12. 開發(fā)支持
Microchip為PIC16F62X系列提供了豐富的開發(fā)工具,包括集成開發(fā)環(huán)境(MPLAB IDE)、匯編器/編譯器/鏈接器、模擬器、仿真器、在線調(diào)試器和設(shè)備編程器等。
12.1 MPLAB集成開發(fā)環(huán)境軟件
MPLAB IDE是一個(gè)基于Windows的應(yīng)用程序,提供了便捷的軟件開發(fā)環(huán)境,支持多種調(diào)試工具。
12.2 MPASM匯編器
MPASM匯編器是一個(gè)功能強(qiáng)大的通用宏匯編器,可生成可重定位的目標(biāo)文件、Intel標(biāo)準(zhǔn)HEX文件、MAP文件等。
12.3 MPLAB C17和MPLAB C18 C編譯器
MPLAB C17和MPLAB C18是完整的ANSI C編譯器,提供強(qiáng)大的集成能力和代碼優(yōu)化功能。
12.4 MPLINK對象鏈接器/MPLIB對象庫管理器
MPLINK對象鏈接器可將匯編器和編譯器生成的可重定位對象文件鏈接在一起,MPLIB對象庫管理器可管理預(yù)編譯代碼的庫文件。
12.5 MPLAB SIM軟件模擬器
MPLAB SIM軟件模擬器可在PC上模擬PICmicro系列微控制器的指令級操作,支持符號調(diào)試。
12.6 MPLAB ICE 2000和MPLAB ICE 4000高性能通用在線仿真器
MPLAB ICE 2000和MPLAB ICE 4000是全功能的仿真器系統(tǒng),提供增強(qiáng)的跟蹤、觸發(fā)和數(shù)據(jù)監(jiān)測功能。
12.7 MPLAB ICD 2在線調(diào)試器
MPLAB ICD 2是一個(gè)低成本的運(yùn)行時(shí)開發(fā)工具,可通過RS - 232或高速USB接口連接到主機(jī)PC,支持在線FLASH調(diào)試。
12.8 PRO MATE II通用設(shè)備編程器和PICSTART Plus開發(fā)編程器
PRO MATE II和PICSTART Plus是常用的設(shè)備編程器,可對PICmicro設(shè)備進(jìn)行編程和驗(yàn)證。
13. 電氣規(guī)格
13.1 絕對最大額定值
PIC16F62X的絕對最大額定值包括環(huán)境溫度、存儲溫度、電壓范圍、功率耗散等,超過這些額定值可能導(dǎo)致設(shè)備永久損壞。
13.2 DC特性
DC特性包括電源電壓、RAM數(shù)據(jù)保留電壓、上電啟動(dòng)電壓、VDD上升速率、欠壓檢測電壓、電源電流等。
13.3 AC特性
AC特性包括外部時(shí)鐘頻率、振蕩器頻率、指令周期時(shí)間、時(shí)鐘輸出和I/O時(shí)序等。
14. 總結(jié)
Microchip的PIC16F62X系列微控制器以其高性能、低功耗和豐富的外設(shè)功能,為電子工程師提供了一個(gè)強(qiáng)大的設(shè)計(jì)平臺。通過深入了解其架構(gòu)、外設(shè)功能和開發(fā)工具,工程師可以充分發(fā)揮該系列微控制器的優(yōu)勢,開發(fā)出高效、穩(wěn)定的嵌入式系統(tǒng)。在實(shí)際應(yīng)用中,需根據(jù)具體需求選擇合適的型號和配置,同時(shí)注意電氣規(guī)格和編程注意事項(xiàng),以確保系統(tǒng)的可靠性和穩(wěn)定性。
你是否在使用PIC16F62X系列微控制器的過程中遇到過什么問題?或者對于本文中的內(nèi)容有任何疑問,歡迎在評論區(qū)留言討論。
-
微控制器
+關(guān)注
關(guān)注
49文章
8662瀏覽量
165278 -
硬件設(shè)計(jì)
+關(guān)注
關(guān)注
18文章
475瀏覽量
45672 -
PIC16F62X
+關(guān)注
關(guān)注
0文章
2瀏覽量
1175
發(fā)布評論請先 登錄
深度剖析Microchip PIC16F62X系列微控制器:硬件設(shè)計(jì)與應(yīng)用指南
評論