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