32位單片機(jī)知識(shí)講解:Microchip PIC32系列
掃描二維碼
隨時(shí)隨地手機(jī)看文章
32位單片機(jī)已經(jīng)占據(jù)了市場(chǎng)的大部分份額,隨著單片機(jī)領(lǐng)域技術(shù)的發(fā)展,32位單片機(jī)以其超強(qiáng)的性能優(yōu)勢(shì)逐漸成為單片機(jī)的主流。本內(nèi)容整理了32位單片機(jī)的廠商之一美國微芯科技PIC32單片機(jī)的一些內(nèi)容供大家參考。
微芯科技最新32位單片機(jī)產(chǎn)品
Microchip擴(kuò)展低成本、小封裝32位PIC32單片機(jī)系列
Microchip Technology Inc.(美國微芯科技公司)在德國嵌入式世界大會(huì)上宣布,推出全新低引腳數(shù)32位PIC32單片機(jī)(MCU)系列,以小至5mm x 5mm的封裝提供61 DMIPS性能,適合空間受限和成本敏感的設(shè)計(jì)。PIC32 “MX1” 和 “MX2” MCU是體積最小且成本最低的PIC32單片機(jī),也是第一款具有專用音頻和電容式傳感外設(shè)的PIC32 MCU。最新器件還配備了USB On-the-Go(OTG)功能,使其成為開發(fā)消費(fèi)類、工業(yè)、醫(yī)療和汽車市場(chǎng)音頻配件及其他應(yīng)用的理想選擇。
PIC32 MX1和MX2 MCU的額定工作溫度可高達(dá)105℃,配備最大128 KB閃存和32 KB RAM、兩個(gè)I2S音頻處理接口、一個(gè)增加mTouch™ 電容式觸摸按鈕或先進(jìn)傳感器的集成硬件外設(shè),以及一個(gè)用于圖形顯示或連接外部存儲(chǔ)器的8位并行主端口(PMP)。此外,新器件還具有一個(gè)13通道、1 Msps的片上10位模數(shù)轉(zhuǎn)換器(ADC)以及串行通信外設(shè);PIC32 MX2 MCU還增加了USB OTG功能。這些MCU采用28至44引腳封裝,尺寸小至5mm x 5mm,引腳間距為0.5mm。Microchip的外設(shè)引腳選擇功能可進(jìn)一步簡(jiǎn)化設(shè)計(jì)工作,允許開發(fā)人員“重映射”芯片中大多數(shù)的數(shù)字功能引腳,使修改 布局和設(shè)計(jì)變得更加簡(jiǎn)單。PIC32 MX1和MX2器件兼容Microchip的16位PIC24F產(chǎn)品線,可以實(shí)現(xiàn)輕松遷移,并得到針對(duì)Microchip所有8位、16位和32位MCU 的統(tǒng)一開發(fā)環(huán)境MPLAB® X IDE支持。
Microchip高性能單片機(jī)產(chǎn)品部副總裁Sumit Mitra表示:“對(duì)我們PIC32 MX1和MX2系列的擴(kuò)展為我們的客戶無縫遷移他們?nèi)招略庐惖脑O(shè)計(jì)帶來了更多的選擇。憑借128K閃存、32K RAM、任何32位MCU每MHz最高的DMIPS性能,以及低至28引腳的小型封裝,PIC32 MX1和MX2 MCU能夠讓設(shè)計(jì)人員的產(chǎn)品在市場(chǎng)中脫穎而出,同時(shí)保持設(shè)計(jì)的小尺寸和低成本。”
Microchip推出全新低引腳數(shù)32位PIC32單片機(jī)
Microchip Technology Inc.(美國微芯科技公司)在德國嵌入式世界大會(huì)上宣布,推出全新低引腳數(shù)32位PIC32單片機(jī)(MCU)系列,以小至5mm x 5mm的封裝提供61 DMIPS性能,適合空間受限和成本敏感的設(shè)計(jì)。PIC32 “MX1” 和 “MX2” MCU是體積最小且成本最低的PIC32單片機(jī),也是第一款具有專用音頻和電容式傳感外設(shè)的PIC32 MCU。最新器件還配備了USB On-the-Go(OTG)功能,使其成為開發(fā)消費(fèi)類、工業(yè)、醫(yī)療和汽車市場(chǎng)音頻配件及其他應(yīng)用的理想選擇。
PIC32 MX1和MX2 MCU的額定工作溫度可高達(dá)105℃,配備最大128 KB閃存和32 KB RAM、兩個(gè)I2S音頻處理接口、一個(gè)增加mTouch™ 電容式觸摸按鈕或先進(jìn)傳感器的集成硬件外設(shè),以及一個(gè)用于圖形顯示或連接外部存儲(chǔ)器的8位并行主端口(PMP)。此外,新器件還具有一個(gè)13通道、1 Msps的片上10位模數(shù)轉(zhuǎn)換器(ADC)以及串行通信外設(shè);PIC32 MX2 MCU還增加了USB OTG功能。這些MCU采用28至44引腳封裝,尺寸小至5mm x 5mm,引腳間距為0.5mm。Microchip的外設(shè)引腳選擇功能可進(jìn)一步簡(jiǎn)化設(shè)計(jì)工作,允許開發(fā)人員“重映射”芯片中大多數(shù)的數(shù)字功能引腳,使修改 布局和設(shè)計(jì)變得更加簡(jiǎn)單。PIC32 MX1和MX2器件兼容Microchip的16位PIC24F產(chǎn)品線,可以實(shí)現(xiàn)輕松遷移,并得到針對(duì)Microchip所有8位、16位和32位MCU 的統(tǒng)一開發(fā)環(huán)境MPLAB® X IDE支持。
Microchip高性能單片機(jī)產(chǎn)品部副總裁Sumit Mitra表示:“對(duì)我們PIC32 MX1和MX2系列的擴(kuò)展為我們的客戶無縫遷移他們?nèi)招略庐惖脑O(shè)計(jì)帶來了更多的選擇。憑借128K閃存、32K RAM、任何32位MCU每MHz最高的DMIPS性能,以及低至28引腳的小型封裝,PIC32 MX1和MX2 MCU能夠讓設(shè)計(jì)人員的產(chǎn)品在市場(chǎng)中脫穎而出,同時(shí)保持設(shè)計(jì)的小尺寸和低成本。”
開發(fā)工具支持
要利用全新MCU著手開發(fā),設(shè)計(jì)人員可以使用Microchip適用于PIC32MX1XX/2XX MCU的MPLAB入門工具包(部件編號(hào)DM320013)。該款USB供電的工具包配備了具有128 KB閃存和32 KB RAM的PIC32 MX250F128D MCU,以及2英寸彩色TFT顯示屏(220×176像素)、電容式觸摸滑塊和按鈕、SD卡存儲(chǔ)和24位音頻播放功能。此外,Microstick II(部件編號(hào)DM330013-2)工具和針對(duì)Explorer 16開發(fā)板的PIC32 MX250F128D接插模塊(部件編號(hào)MA320011)均已供貨。
Microchip推出最小體積最低成本的全新PIC32單片機(jī)
全球領(lǐng)先的整合單片機(jī)、模擬器件和閃存專利解決方案的供應(yīng)商——Microchip Technology Inc.(美國微芯科技公司)宣布,推出全新低引腳數(shù)的32位PIC32單片機(jī)(MCU)系列,以小至5 mm × 5 mm的封裝為空間受限和成本敏感的設(shè)計(jì)提供了61 DMIPS的性能。PIC32“MX1”和“MX2”MCU是體積最小、成本最低的PIC32單片機(jī),也是第一款具有專用音頻和電容式傳感外設(shè)的 PIC32單片機(jī)。這些新型MCU還包括眾多其他有用功能,適合消費(fèi)類、工業(yè)、醫(yī)療和汽車市場(chǎng)的各類應(yīng)用。
PIC32 MX1和MX2 MCU的額定工作溫度高達(dá)105℃,具有最大32 KB的閃存和8 KB的SRAM;兩個(gè)處理音頻的I2S接口;用來增加mTouch™電容觸摸式按鍵或先進(jìn)傳感器的Microchip充電時(shí)間測(cè)量單元(CTMU)外設(shè); 以及用于圖形或外部存儲(chǔ)器的8位并行主端口(PMP)接口。新器件還配備了一個(gè)13通道的1 Msps片上10位模數(shù)轉(zhuǎn)換器(ADC),以及USB 2.0和串行通信外設(shè)。這些MCU為PIC32 MCU產(chǎn)品線提供了8種新的封裝,引腳數(shù)從28到44,最小尺寸為5 mm × 5 mm和0.5 mm間距。Microchip的外設(shè)引腳選擇功能進(jìn)一步降低了設(shè)計(jì)難度,允許開發(fā)人員“重映射”芯片上的大多數(shù)數(shù)字功能引腳,使布線和設(shè)計(jì)修改更為簡(jiǎn)單。 PIC32 MX1和MX2器件兼容Microchip的16位PIC24F產(chǎn)品線,從而實(shí)現(xiàn)輕松遷移,針對(duì)所有Microchip 8位、16位和32位MCU的單一開發(fā)環(huán)境MPLAB® X IDE均支持這些器件。
Microchip高性能單片機(jī)部副總裁Sumit Mitra表示:“消費(fèi)類、工業(yè)、醫(yī)療及其他市場(chǎng)的更多設(shè)計(jì)都要求高品質(zhì)的音頻、觸摸傳感和圖形功能以及USB通信能力。憑借在小型封裝中集成眾多片上外 設(shè)和功能,PIC32 MX1和MX2使設(shè)計(jì)人員能夠增加所有這些功能,同時(shí)使設(shè)計(jì)尺寸更小,成本更低。”
開發(fā)工具支持
此外,Microchip還推出了針對(duì)PIC32MX1XX/2XX MCU的MPLAB入門工具包(部件編號(hào):DM320013)。USB供電的工具包配備了具有32 KB閃存和8 KB RAM的PIC32MX220F032,以及2英寸彩色TFT顯示屏(220 × 176像素)、電容式觸摸滑動(dòng)條和按鈕、SD卡存儲(chǔ)和24位音頻回放。Microchip還推出了全新PIC32MX CTMU評(píng)估板(部件編號(hào):AC323027),以及針對(duì)Explorer 16開發(fā)板的全新PIC32MX220F032D接插模塊(部件編號(hào):MA320011)。
Microchip PIC32MX5 32位MCU多媒體開發(fā)
Microchip 公司的PIC32 32位MCU是基于MIPS 的80 MHz 高性能 32 位閃存單片機(jī), 具有帶5 級(jí)流水線的MIPS32® M4K™ 32 位內(nèi)核, 工作電壓范圍為2.3V 至3.6V,提供各種通用和專用的外設(shè),包括以太網(wǎng),CAN,USB主/設(shè)備/OTG,閃存32KB到512KB,板載RAM從8KB到128KB.本文 主喲介紹PIC32 MCU主要特性,方框圖,以及PIC32 (通用) 入門套件, IC32 USB入門套件II和PIC32 以太網(wǎng)入門套件主要特性與開發(fā)板的詳細(xì)電路圖.
PIC32MX3XX/4XX是基于MIPS 的80 MHz 高性能 32 位閃存單片機(jī)
PIC32MX3XX/4XX主要特性:
高性能32 位RISC CPU:
• 帶5 級(jí)流水線的MIPS32® M4K™ 32 位內(nèi)核
• 最高80 MHz 的頻率
• 零等待狀態(tài)閃存訪問時(shí)性能為 1.56 DMIPS/MHz (Dhrystone 2.1)
• 單周期乘法單元和高性能除法單元
• MIPS16e™ 模式可使代碼壓縮最多40%
• 兩組各32 個(gè)32 位內(nèi)核文件寄存器,可減少中斷延 時(shí)
• 預(yù)取高速緩存模塊可加速從閃存的執(zhí)行速度
單片機(jī)特性:
• 工作電壓范圍為2.3V 至3.6V
• 32 KB 至512 KB 的閃存(附加一個(gè)12 KB 的引導(dǎo) 閃存)
• 8 KB 至32 KB 的SRAM 存儲(chǔ)器
• 引腳與大部分PIC24/dsPIC® 器件兼容
• 多種功耗管理模式
• 多個(gè)具有獨(dú)立可編程優(yōu)先級(jí)的中斷向量
• 故障保護(hù)時(shí)鐘監(jiān)視器模式
• 帶有片內(nèi)低功耗RC 振蕩器的可配置看門狗定時(shí)器,確保器件可靠工作
PIC32 (通用) 入門套件開發(fā)板方框圖
PIC32 (通用) 入門套件電路圖(1): PIC32MX CPU
PIC32 (通用) 入門套件電路圖(2): PIC18LF4550 DEBUG CPU
PIC32 (通用) 入門套件電路圖(3):應(yīng)用板連接器
PIC32 (通用) 入門套件電路圖(4):開關(guān)和LED
PIC32MX系列器件知識(shí)講解
PIC32MX 器件中斷
PIC32MX 器件產(chǎn)生中斷請(qǐng)求以響應(yīng)來自外設(shè)模塊的中斷事件。中斷模塊處于CPU 邏輯之外,并
且在將中斷事件預(yù)發(fā)送到CPU 之前為其設(shè)置優(yōu)先級(jí)順序。
PIC32MX 中斷模塊具有以下特性:
• 最多96 個(gè)中斷源
• 最多64 個(gè)中斷向量
• 單向量工作模式和多向量工作模式
• 5 個(gè)具有邊沿極性控制功能的外部中斷
• 中斷接近定時(shí)器
• 調(diào)試模式下模塊凍結(jié)
• 每個(gè)向量有7 個(gè)用戶可選擇的優(yōu)先級(jí)
• 每個(gè)優(yōu)先級(jí)內(nèi)有4 個(gè)用戶可選擇的子優(yōu)先級(jí)
• 基于優(yōu)先級(jí)的用戶可配置影子集(并非所有器件都提供該功能;要了解器件是否提供該功能,請(qǐng)參見具體器件數(shù)據(jù)手冊(cè))
• 軟件可產(chǎn)生任何中斷
• 用戶可配置的中斷向量表存儲(chǔ)單元
• 用戶可配置的中斷向量空間
控制寄存器
中斷模塊包含以下特殊功能寄存器(Special Function Register, SFR):
• INTCON:中斷控制寄存器
• INTSTAT:中斷狀態(tài)寄存器
• TPTMR:時(shí)間接近定時(shí)器寄存器
• IFSx:中斷標(biāo)志狀態(tài)寄存器
• IECx:中斷允許控制寄存器
• IPCx:中斷優(yōu)先級(jí)控制寄存器
注: 每個(gè)PIC32MX 器件型號(hào)可能具有一個(gè)或多個(gè)中斷源,并且根據(jù)器件型號(hào),中斷源數(shù)量可能不
同。在控制/ 狀態(tài)位和寄存器名稱中使用的“x”表示存在多個(gè)可以定義這些中斷源的寄存器,
它們具有相同的功能。更多詳細(xì)信息,請(qǐng)參見具體器件數(shù)據(jù)手冊(cè)。
工作原理
中斷控制器負(fù)責(zé)對(duì)來自一些片上外設(shè)的中斷請(qǐng)求(IRQ)進(jìn)行預(yù)處理,并按相應(yīng)順序?qū)⑺鼈兯腿?/p>
處理器。
圖8-2 給出了PIC32MX 中的中斷處理的圖示。中斷控制器設(shè)計(jì)為最多可從處理器內(nèi)核、能夠產(chǎn)生中斷的片上外設(shè)和5 個(gè)外部輸入處接收96 個(gè)IRQ。所有IRQ 都在SYSCLK 下降沿進(jìn)行采樣,并鎖存到關(guān)聯(lián)的IFSx 寄存器中。待處理的IRQ 由IFSx 寄存器中的標(biāo)志位等于1 來指示。如果中斷允許(IECx)寄存器中的相應(yīng)位清零,則待處理的IRQ 不會(huì)得到進(jìn)一步處理。IECx 位用于對(duì)中斷標(biāo)志進(jìn)行門控。如果允許中斷,則所有IRQ 將編碼為5 位寬的向量編號(hào)。5 位向量可產(chǎn)生編號(hào)為0 至63 的唯一中斷向量編號(hào)。由于IRQ 數(shù)量多于可用向量編號(hào),所以一些IRQ 共用公共的向量編號(hào)。每個(gè)向量編號(hào)都會(huì)分配一個(gè)中斷優(yōu)先級(jí)和影子集編號(hào)。優(yōu)先級(jí)由關(guān)聯(lián)向量的IPCx 寄存器設(shè)置決定。在多向量模式下,用戶可以對(duì)接收專用影子寄存器集選擇優(yōu)先級(jí)。在單向量模式下,所有中斷都可能接收到專用影子集。中斷控制器會(huì)在所有待處 理IRQ 中選擇優(yōu)先級(jí)最高的RQ,并將關(guān)聯(lián)的向量編號(hào)、優(yōu)先級(jí)和影子集編號(hào)送入處理器內(nèi)核。處理器內(nèi)核會(huì)在流水線的“E”和“M”級(jí)之間采樣送入的向量信息。如果 送入內(nèi)核的向量的優(yōu)先級(jí)大于CPU 中斷優(yōu)先級(jí)位IPL (Status<15:10>)指示的當(dāng)前優(yōu)先級(jí),則會(huì)對(duì)中斷進(jìn)行處理;否則,它將保持待處理狀態(tài),直到當(dāng)前優(yōu)先級(jí)小于中斷的優(yōu)先級(jí)。在處理 中斷時(shí),處理器內(nèi)核會(huì)將程序計(jì)數(shù)器壓入CPU 中的異常程序計(jì)數(shù)器(Exception Program Counter,EPC)寄存器,并將CPU 中的異常級(jí)別(Exception Level,EXL)位(Status<1>)置1。EXL 位會(huì)禁止進(jìn)一步的中斷,直到應(yīng)用程序通過清零EXL 位明確地重新允許為止。下一步,它會(huì)跳轉(zhuǎn)到根據(jù)送入向量編號(hào)計(jì)算的向量地址處。
INTSTAT 寄存器包含當(dāng)前待處理中斷的中斷向量編號(hào)(VEC)位(INTSTAT<5:0>)和請(qǐng)求中斷優(yōu)先級(jí)(Requested Interrupt Priority, RIPL)位(INTSTAT<10:8>)。這可能會(huì)與導(dǎo)致內(nèi)核離開正常執(zhí)行順序的中斷不同。執(zhí)行ERET (異常返回)指令之后,處理器會(huì)恢復(fù)為先前狀態(tài)。ERET 會(huì)清零EXL 位、恢復(fù)程序計(jì)數(shù)器,并將當(dāng)前影子集回復(fù)為先前影子集。
PIC32MX 的中斷控制器可以配置為工作于兩種模式之一:
• 單向量模式——在一個(gè)向量地址處處理所有中斷請(qǐng)求(復(fù)位之后的模式)。
• 多向量模式——在所計(jì)算的向量地址處處理中斷請(qǐng)求。
中斷處理
PIC32單片機(jī)的UART
通用異步收發(fā)器(Universal Asynchronous Receiver Transmitter,UART)模塊是PIC32MX 系列器件提供的串行I/O 模塊之一。UART 是可以與外設(shè)和個(gè)人計(jì)算機(jī)(使用RS-232、RS-485、LIN 1.2 和IrDA® 等協(xié)議)通信的全雙工異步通信通道。
根據(jù)不同的器件型號(hào),UART 模塊還通過UxCTS 和UxRTS 引腳支持硬件流控制選項(xiàng),其中還包括IrDA 編碼器和解碼器。關(guān)于可用性,請(qǐng)參見具體器件數(shù)據(jù)手冊(cè)。
UART 模塊的主要特性有:
• 全雙工8 位或9 位數(shù)據(jù)傳輸
• 偶校驗(yàn)、奇校驗(yàn)或無奇偶校驗(yàn)選項(xiàng)(對(duì)于8 位數(shù)據(jù))
• 一個(gè)或兩個(gè)停止位
• 硬件自動(dòng)波特率特性
• 完全集成的波特率發(fā)生器,具有16 位預(yù)分頻器
• 當(dāng)器件工作在80 MHz 時(shí),波特率范圍從76 bps 至20 Mbps
• 獨(dú)立的接收和發(fā)送FIFO 數(shù)據(jù)緩沖區(qū)
• 奇偶校驗(yàn)、幀和緩沖區(qū)溢出錯(cuò)誤檢測(cè)
• 支持僅在地址檢測(cè)(第9 位 = 1)時(shí)產(chǎn)生中斷
• 獨(dú)立的發(fā)送和接收中斷
• 用于診斷支持的環(huán)回模式
• LIN 1.2 協(xié)議支持
圖 給出了UART 的簡(jiǎn)化框圖。UART 模塊由以下這些重要的硬件組成:
• 波特率發(fā)生器
• 異步發(fā)送器
• 異步接收器和IrDA 編/ 解碼器
UART 簡(jiǎn)化框圖
控制寄存器
每個(gè)UART 模塊包含以下特殊功能寄存器(Special Function Register, SFR):
• UxMODE:UARTx 模式寄存器
• UxSTA:UARTx 狀態(tài)和控制寄存器
• UxTXREG:UARTx 發(fā)送寄存器
• UxRXREG:UARTx 接收寄存器
• UxBRG:UARTx 波特率寄存器
此外,每個(gè)UART 模塊還具有用于中斷控制的相關(guān)位(關(guān)于這些位的說明,請(qǐng)參見第8 章“中斷”
(DS61108)):
• UxTXIE:發(fā)送中斷允許控制位
• UxTXIF:發(fā)送中斷標(biāo)志狀態(tài)位
• UxRXIE:接收中斷允許控制位
• UxRXIF:接收中斷標(biāo)志狀態(tài)位
• UxEIE:錯(cuò)誤中斷允許控制位
• UxEIF:錯(cuò)誤中斷標(biāo)志狀態(tài)位
• UxIP<2:0>:中斷優(yōu)先級(jí)控制位
• UxIS<1:0>:中斷子優(yōu)先級(jí)控制位
表21-1 匯總了所有與UART 相關(guān)的寄存器。該匯總表之后列出了相應(yīng)的寄存器,并且每個(gè)寄存器位均附有詳細(xì)的說明。
注: 不同的PIC32MX 系列器件型號(hào)可能具有一個(gè)或多個(gè)UART 模塊。在引腳、控制/ 狀態(tài)位和寄存器的名稱中使用的“x”表示特定的模塊。更多詳細(xì)信息,請(qǐng)參見具體器件數(shù)據(jù)手冊(cè)。
UART SFR 匯總
UART 配置
UART 使用標(biāo)準(zhǔn)的不歸零(Non-Return-to-Zero,NRZ)格式(1 個(gè)啟動(dòng)位、8 或9 個(gè)數(shù)據(jù)位和1 或2 個(gè)停止位)。硬件提供奇偶校驗(yàn),可由用戶配置為偶校驗(yàn)、奇校驗(yàn)或無奇偶校驗(yàn)。最普通的數(shù)據(jù)格式是8 位,無奇偶校驗(yàn),有1 個(gè)停止位(用8, N, 1 表示),這是默認(rèn)的上電復(fù)位(Power-onReset, POR)設(shè)置。數(shù)據(jù)位數(shù)、停止位數(shù)以及奇偶校驗(yàn)均在PDSEL<1:0> (UxMODE<2:1>)和STSEL (UxMODE<0>)位中指定。UART 首先發(fā)送和接收最低有效位(Least Significant bit,LSb)。UART 的發(fā)送器和接收器在功能上是獨(dú)立的,但使用相同的數(shù)據(jù)格式和波特率。
使能UART通過將ON位(UxMODE<15>)置1 來使能UART 模塊。此外,通過將UTXEN 位(UxSTA<10>)和URXEN 位(UxSTA<12>)置1 來分別使能UART 發(fā)送器和接收器。一旦將這些使能位置1,UxTX 和UxRX 引腳就分別被配置為輸出和輸入,改寫對(duì)應(yīng)I/O 端口引腳的TRISx 和PORTx 寄存器位設(shè)置。
禁止UART
通過清零ON 位來禁止UART 模塊。這是任何復(fù)位后的默認(rèn)狀態(tài)。如果禁止了UART,所有UART引腳在PORTx 和TRISx 寄存器中的相應(yīng)位控制下用作端口引腳。禁止UART 模塊會(huì)將緩沖區(qū)復(fù)位為空狀態(tài)。當(dāng)禁止模塊時(shí),緩沖區(qū)中的所有數(shù)據(jù)都將丟失。當(dāng)禁止UART 模塊時(shí),所有與之相關(guān)的錯(cuò)誤和狀態(tài)標(biāo)志都將復(fù)位。UxSTA 寄存器中的RXDA、OERR、FERR、PERR、UTXEN、URXEN、UTXBRK 和UTXBF 位被清零,而RIDLE 和TRMT位被置1。其他控制位(包括ADDEN、RXISEL<1:0> 和UTXISEL)以及UxMODE 和UxBRG寄存器均不受影響。當(dāng)UART 模塊處于活動(dòng)狀態(tài)時(shí),清零ON 位將中止所有等待的發(fā)送和接收,同時(shí)如以上所述那樣將模塊復(fù)位。重新使能UART 將使用同樣的配置重新啟動(dòng)UART 模塊。
UART 發(fā)送器
圖給出了UART 發(fā)送器框圖。發(fā)送器的核心是發(fā)送移位寄存器(UxTSR)。UxTSR 從發(fā)送FIFO 緩沖區(qū)UxTXREG 中獲取數(shù)據(jù)。通過軟件將數(shù)據(jù)裝入U(xiǎn)xTXREG 寄存器。在前一次裝入數(shù)據(jù)的停止位發(fā)送之前,不會(huì)向UxTSR 寄存器裝入新數(shù)據(jù)。一旦停止位發(fā)送完畢,就會(huì)將UxTXREG 寄存器中的新數(shù)據(jù)(如果有)裝入U(xiǎn)xTSR。
UART 發(fā)送器框圖
通過將UTXEN 使能位(UxSTA<10>)置1 來使能發(fā)送。實(shí)際的發(fā)送要到UxTXREG 寄存器裝入了數(shù)據(jù)并且波特率發(fā)生器UxBRG 產(chǎn)生了移位時(shí)鐘(圖21-3)之后才發(fā)生。也可以先裝入U(xiǎn)xTXREG 寄存器,然后將UTXEN 使能位置1 來啟動(dòng)發(fā)送。通常,第一次開始發(fā)送的時(shí)候,由于UxTSR 寄存器為空,這樣傳輸數(shù)據(jù)到UxTXREG 寄存器會(huì)導(dǎo)致該數(shù)據(jù)立即傳輸?shù)経xTSR。發(fā)送期間清零UTXEN 位將中止發(fā)送并復(fù)位發(fā)送器。因此, UxTX 引腳將恢復(fù)到UTXINV 位(UxSTA<13>)定義的狀態(tài)。若要選擇9 位發(fā)送, PDSEL<1:0> 位(UxMODE<2:1>)應(yīng)設(shè)置為11。
PIC32單片機(jī)存儲(chǔ)器構(gòu)成
PIC32MX 單片機(jī)提供4 GB 的統(tǒng)一虛擬存儲(chǔ)地址空間。所有存儲(chǔ)區(qū)(包括程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、SFR 和配置寄存器)都位于該地址空間中各自的唯一地址范圍內(nèi)。程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器可以選擇劃分為用戶存儲(chǔ)器和內(nèi)核存儲(chǔ)器。此外,數(shù)據(jù)存儲(chǔ)器可以是可執(zhí)行存 儲(chǔ)器,允許PIC32MX 器件從數(shù)據(jù)存儲(chǔ)器執(zhí)行。
PIC32MX 存儲(chǔ)器構(gòu)成的主要特性包括:
• 32 位固有數(shù)據(jù)寬度
• 獨(dú)立的用戶模式地址空間和內(nèi)核模式地址空間
• 靈活的程序閃存存儲(chǔ)器分區(qū)
• 數(shù)據(jù)RAM 可靈活地分為數(shù)據(jù)空間和程序空間
• 受保護(hù)代碼的獨(dú)立引導(dǎo)閃存
• 強(qiáng)大的總線異常處理功能,阻止代碼跑飛
• 簡(jiǎn)單的存儲(chǔ)器映射(通過使用固定映射轉(zhuǎn)換(Fixed Mapping Translation, FMT)單元)
• 可高速緩存的地址區(qū)和不可高速緩存的地址區(qū)
控制寄存器
本節(jié)列出了用于為數(shù)據(jù)和代碼設(shè)置RAM 和閃存分區(qū)的特殊功能寄存器(Special Function
Register, SFR)(對(duì)于用戶模式和內(nèi)核模式)。
以下是可用SFR 的列表:
• BMXCON:配置寄存器
• BMXxxxBA:存儲(chǔ)器分區(qū)基址寄存器
• BMXDRMSZ:數(shù)據(jù)RAM 大小寄存器
• BMXPFMSZ:程序閃存大小寄存器
• BMXBOOTSZ:引導(dǎo)閃存大小寄存器
BMXCON 寄存器
該寄存器用于配置DMA 訪問的程序閃存高速緩存功能、總線錯(cuò)誤異常、數(shù)據(jù)RAM 等待狀態(tài)和仲裁模式。
BMXxxxBA 寄存器
這些寄存器用于配置內(nèi)核模式、用戶模式數(shù)據(jù)和用戶模式程序空間在RAM 中的相對(duì)基址。
BMXDRMSZ 寄存器
該只讀寄存器用于標(biāo)識(shí)數(shù)據(jù)RAM 的大小(以字節(jié)為單位)。
BMXPFMSZ 寄存器
該只讀寄存器用于標(biāo)識(shí)程序閃存存儲(chǔ)器的大小(以字節(jié)為單位)。
BMXBOOTSZ 寄存器
該只讀寄存器用于標(biāo)識(shí)引導(dǎo)閃存存儲(chǔ)器的大小(以字節(jié)為單位)。
表簡(jiǎn)要匯總了所有與存儲(chǔ)器構(gòu)成相關(guān)的寄存器。該匯總表之后列出了相應(yīng)的寄存器,并且每個(gè)寄存器均附有詳細(xì)的說明。
存儲(chǔ)器構(gòu)成SFR 匯總