《基于ARM的單片機(jī)應(yīng)用及實(shí)踐-GD32案例式教學(xué) 第2版》 武奇生 課件 第1-8章 概述、系統(tǒng)及存儲(chǔ)器架構(gòu)-定時(shí)器_第1頁(yè)
《基于ARM的單片機(jī)應(yīng)用及實(shí)踐-GD32案例式教學(xué) 第2版》 武奇生 課件 第1-8章 概述、系統(tǒng)及存儲(chǔ)器架構(gòu)-定時(shí)器_第2頁(yè)
《基于ARM的單片機(jī)應(yīng)用及實(shí)踐-GD32案例式教學(xué) 第2版》 武奇生 課件 第1-8章 概述、系統(tǒng)及存儲(chǔ)器架構(gòu)-定時(shí)器_第3頁(yè)
《基于ARM的單片機(jī)應(yīng)用及實(shí)踐-GD32案例式教學(xué) 第2版》 武奇生 課件 第1-8章 概述、系統(tǒng)及存儲(chǔ)器架構(gòu)-定時(shí)器_第4頁(yè)
《基于ARM的單片機(jī)應(yīng)用及實(shí)踐-GD32案例式教學(xué) 第2版》 武奇生 課件 第1-8章 概述、系統(tǒng)及存儲(chǔ)器架構(gòu)-定時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于ARM的單片機(jī)應(yīng)用及實(shí)踐—GD32案例式教學(xué)如圖所示,圖靈假想的這臺(tái)抽象機(jī)器包括這樣幾部分:一條無(wú)線長(zhǎng)的紙袋TAPE。紙袋被劃分為一個(gè)接一個(gè)的小格子,每個(gè)格子上包含一個(gè)來(lái)自有限字母表的符號(hào),字母表中有一個(gè)特殊的符號(hào)表示空白。紙帶上的格子從左到右依次被編號(hào)為0,1,2,3…,紙帶的右端可以無(wú)限伸展。一個(gè)讀寫(xiě)頭HEAD。該讀寫(xiě)頭可以在紙帶上左右移動(dòng),它能讀出當(dāng)前所指的格子上的符號(hào),并能改變當(dāng)前格子上的符號(hào)。一套控制規(guī)則TABLE。它根據(jù)當(dāng)前機(jī)器所處的狀態(tài)以及當(dāng)前讀寫(xiě)頭所指的格子上的符號(hào)來(lái)確定讀寫(xiě)頭下一步的動(dòng)作,并改變狀態(tài)寄存器的值,令機(jī)器進(jìn)入一個(gè)新的狀態(tài)。一個(gè)狀態(tài)寄存器。它用來(lái)保存機(jī)器當(dāng)前所處的狀態(tài)。機(jī)器的所有可能狀態(tài)的數(shù)目是有限的,并且有一個(gè)特殊的狀態(tài),成為停機(jī)狀態(tài)。從人動(dòng)計(jì)算邁到機(jī)動(dòng)計(jì)算——追求更快的計(jì)算從科學(xué)計(jì)算邁向智能計(jì)算——追求最好的計(jì)算從集中計(jì)算邁向普適計(jì)算——計(jì)算無(wú)處不在計(jì)算在本質(zhì)上就是信息處理。人類(lèi)對(duì)信息處理的需求自古就存在,最早的結(jié)繩計(jì)算和古老的算盤(pán)都可以認(rèn)為是計(jì)算的具體形式之一。但是,現(xiàn)代意義上的信息處理,主要是指基于電子計(jì)算機(jī)的信息處理,開(kāi)始于20世紀(jì)40年代,基于第三次工業(yè)革命,即電氣革命的技術(shù)和物理成就,在軍事、科學(xué)計(jì)算等領(lǐng)域的需求推動(dòng)下發(fā)展起來(lái)的。它大致上可以概括為這樣三個(gè)趨勢(shì)。事實(shí)上,圖靈機(jī)模型已經(jīng)包含了如何設(shè)計(jì)并實(shí)現(xiàn)一臺(tái)計(jì)算機(jī)的基本思路,圖靈機(jī)包含三個(gè)基本的組成模塊,分別是紙帶、讀寫(xiě)頭和控制電路,它們放映到計(jì)算式機(jī)設(shè)計(jì)中,分別就是存儲(chǔ)器、運(yùn)算器和控制器。馮·諾依曼意識(shí)到這一點(diǎn),進(jìn)一步擴(kuò)展了輸入設(shè)備和輸出設(shè)備,并在莫奇利建造的ENIAC基礎(chǔ)上,對(duì)計(jì)算機(jī)組織結(jié)構(gòu)進(jìn)一步規(guī)范化,總結(jié)出了指導(dǎo)計(jì)算機(jī)設(shè)計(jì)的馮·諾依曼計(jì)算機(jī)模型,如圖所示?,F(xiàn)代的嵌入式計(jì)算機(jī)往往在圖1-4基礎(chǔ)上進(jìn)一步做了如下兩個(gè)改進(jìn),如圖1-5所示。(1)區(qū)分內(nèi)存儲(chǔ)器和外存儲(chǔ)器,以平衡功能、性能和成本之間的矛盾,一般速度快、性能高但是價(jià)格貴的靜態(tài)存儲(chǔ)器(SRAM)作為內(nèi)存儲(chǔ)器,用于存放正在運(yùn)行的程序代碼與數(shù)據(jù),用閃存(Flash)、硬盤(pán)等速度較慢但是單位存儲(chǔ)成本較低的器件作為外存儲(chǔ)器,用于脫機(jī)斷電期間提供程序和數(shù)據(jù)存儲(chǔ)。這種存儲(chǔ)層次在嵌入式系統(tǒng)中經(jīng)常體現(xiàn)為高速SRAM和大容量Flash的區(qū)別。(2)區(qū)分指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,并分別設(shè)置指令總線和數(shù)據(jù)總線進(jìn)行存取。這樣可以進(jìn)一步提高CPU訪問(wèn)的性能,這種架構(gòu)被稱(chēng)為哈佛架構(gòu)。這一設(shè)計(jì)在高性能芯片如TI何ADI公司的各種數(shù)字信號(hào)處理芯片中廣泛存在;而在低成本微控制器應(yīng)用中,出于降低成本和復(fù)雜度的需要,大多只提供一條總線通向存儲(chǔ)器。一個(gè)折中的方案是總線仍然只是一條,但是允許程序代碼和數(shù)據(jù)可以分開(kāi)存儲(chǔ)在不同的存儲(chǔ)器區(qū)域中,這樣就可以根據(jù)不同存儲(chǔ)器的性能來(lái)分配指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器以達(dá)到較優(yōu)的性能。ARM和Cortex都支持存儲(chǔ)器重映射以提供上述功能。對(duì)任何一個(gè)真實(shí)的、技術(shù)可實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng),都需要有最基礎(chǔ)的一層硬件來(lái)實(shí)現(xiàn),這一最基礎(chǔ)的硬件實(shí)現(xiàn)了圖靈機(jī)模型的要求,其上大部分都是各種硬件加速手段,對(duì)一個(gè)具體的計(jì)算機(jī)系統(tǒng)而言,軟硬件的分割在哪里,主要取決于性能和成本之間的折衷。如果要求高性能,那么硬件加速的部件可以多些,相應(yīng)成本也不可避免會(huì)增加;如果要求低成本,那么圖中曲線可以下移,即用軟件完成大部分處理,但性能會(huì)有所下降。針對(duì)不同的應(yīng)用市場(chǎng)和應(yīng)用場(chǎng)景,不同公司的不同產(chǎn)品都制定了自己的軟硬件分割線,即使嵌入式系統(tǒng)這一領(lǐng)域百花齊放,日益繁榮。20世紀(jì)30-50年代:計(jì)算機(jī)誕生,十余臺(tái)設(shè)計(jì)各異的計(jì)算機(jī)誕生在世界各地,并很快統(tǒng)一到馮·諾依曼架構(gòu)下。1958年,TI公司的杰克·基爾比(JackKilby)發(fā)明了第一臺(tái)集成電路(IC),從此,計(jì)算機(jī)技術(shù)的發(fā)展與集成電路工藝的發(fā)展緊密結(jié)合在一起。1961年,TI公司研發(fā)出第一個(gè)基于IC的計(jì)算機(jī)。1964年,全球IC出貨量首次超出10億美元。1965年,高登·摩爾(GordonMoore)提出描述集成電路工業(yè)發(fā)展規(guī)律的摩爾定律;同年,中國(guó)的第一塊集成電路誕生,僅比美國(guó)晚了7年。1968年,Intel公司誕生,推出第一片1K字節(jié)的RAM。1971年,Intel推出微處理器4004.這是第一塊在實(shí)際中被廣泛使用的CPU芯片。緊接著,TI,Zilog,Motorola分別于1971、1973、1974年推出了基于半導(dǎo)體集成電路技術(shù)的CPU。這一階段的突出特征是:以微處理器CPU芯片為核心,輔以外圍電路,形成一塊相對(duì)完整的電路模塊,用于工業(yè)控制等系統(tǒng)中,這種架構(gòu)與同時(shí)期的計(jì)算機(jī)的架構(gòu)基本完全相同,只不過(guò)用途不同而已。這種模塊被稱(chēng)為單片機(jī),意指在一塊電路板上實(shí)現(xiàn)了一臺(tái)計(jì)算機(jī)。即使是在今天,單片機(jī)模塊依然在很多領(lǐng)域發(fā)揮余熱。1981年,Intel公司退出了8位微控制器8051,它在單片機(jī)內(nèi)集成了CPU、4K內(nèi)存、通用I/O、計(jì)數(shù)器、串行通行模塊以及終端管理模塊。已經(jīng)是一個(gè)使用的微控制器(MCU)芯片了。在IC工業(yè)的支持下,8051的出現(xiàn)極大降低了計(jì)算機(jī)應(yīng)用的門(mén)檻,實(shí)現(xiàn)了單板到單片的飛躍(因此也被稱(chēng)為單片機(jī)),8051因此也在實(shí)際中獲得了極其廣泛的應(yīng)用,其他各大公司如ATMEL、飛利浦、華邦等也相繼開(kāi)發(fā)了功能更多、更強(qiáng)大的8051兼容產(chǎn)品,即使是在今天,8051架構(gòu)仍然隨處可見(jiàn)見(jiàn)。這一階段的主要特征就是從單板到單片的技術(shù)飛躍,以及8051在實(shí)際中的廣泛應(yīng)用,可認(rèn)為是嵌入式系統(tǒng)發(fā)展的中期階段。嵌入式系統(tǒng)的發(fā)展主要來(lái)源于兩大動(dòng)力:社會(huì)需求的拉動(dòng)和先進(jìn)技術(shù)的推動(dòng),而且需求拉動(dòng)為主,技術(shù)推動(dòng)為輔,如圖1-8所示。需求提供了市場(chǎng),帶動(dòng)了新技術(shù)的產(chǎn)生,刺激了新技術(shù)的推廣,如果沒(méi)有需求就沒(méi)有市場(chǎng),再好的技術(shù)最終也會(huì)走向消亡;另一方面,技術(shù)在一定程度上也可以作用于需求,現(xiàn)今的技術(shù)使的不可能成為可能,使人們最終的夢(mèng)想成為現(xiàn)實(shí),最終有可能創(chuàng)造出新的需求和市場(chǎng)。嵌入式系統(tǒng)的發(fā)展主要來(lái)源于兩大動(dòng)力:社會(huì)需求的拉動(dòng)和先進(jìn)技術(shù)的推動(dòng),而且需求拉動(dòng)為主,技術(shù)推動(dòng)為輔,如圖1-8所示。需求提供了市場(chǎng),帶動(dòng)了新技術(shù)的產(chǎn)生,刺激了新技術(shù)的推廣,如果沒(méi)有需求就沒(méi)有市場(chǎng),再好的技術(shù)最終也會(huì)走向消亡;另一方面,技術(shù)在一定程度上也可以作用于需求,現(xiàn)今的技術(shù)使的不可能成為可能,使人們最終的夢(mèng)想成為現(xiàn)實(shí),最終有可能創(chuàng)造出新的需求和市場(chǎng)。ARM這個(gè)縮寫(xiě)至少有兩中含義,一是指ARM公司,二是指ARM公司設(shè)計(jì)的低功耗CPU內(nèi)核及其架構(gòu),包括ARM1到ARM11以及Cortex,其中獲得廣泛應(yīng)用的有ARM7、ARM9、ARM11以及正在被廣大客戶接受的Cortex系列。作為全球領(lǐng)先的32位嵌入式RISC芯片內(nèi)核設(shè)計(jì)公司,ARM公司的經(jīng)營(yíng)模式與眾不同,它以出售ARM內(nèi)核的知識(shí)產(chǎn)權(quán)為主要業(yè)務(wù)模式,并據(jù)此建立了與各大芯片廠商和軟件廠商的產(chǎn)業(yè)聯(lián)盟,形成了包括內(nèi)核設(shè)計(jì)、芯片制定與生產(chǎn)、開(kāi)發(fā)模式與支撐軟件、整機(jī)集成等領(lǐng)域的完整產(chǎn)業(yè)鏈,在32位高端嵌入式系統(tǒng)領(lǐng)域居于統(tǒng)治地位,也是嵌入式系統(tǒng)課程學(xué)習(xí)的主流內(nèi)容。目前可以提供ARM芯片的著名歐美半導(dǎo)體公司有:Intel、TI、NXP、Philips、STMicroelectronics、Silicon等。日本的許多著名半導(dǎo)體公司如瑞薩、三菱半導(dǎo)體、愛(ài)普生、富士通半導(dǎo)體、松下半導(dǎo)體等早期都大力投入開(kāi)發(fā)自主的32位CPU結(jié)構(gòu),但現(xiàn)在都轉(zhuǎn)向購(gòu)買(mǎi)ARM公司的內(nèi)核IP進(jìn)行新產(chǎn)品設(shè)計(jì)。我國(guó)的中興、華為等大型企業(yè)也購(gòu)買(mǎi)了ARM授權(quán)用于自主版權(quán)專(zhuān)用芯片的設(shè)計(jì)。追蹤ARM公司的發(fā)展歷史,我們不難發(fā)現(xiàn),ARM在合適的時(shí)間(20世紀(jì)80年代)轉(zhuǎn)向低功耗嵌入式領(lǐng)域,并搭上了手機(jī)和無(wú)線通信的發(fā)展浪潮(20世紀(jì)90年代)實(shí)現(xiàn)了自身的快速發(fā)展,同時(shí)堅(jiān)持扶持產(chǎn)業(yè)聯(lián)盟的政策、廣泛授權(quán)并培養(yǎng)第三方軟硬件廠商確立了難以撼動(dòng)的競(jìng)爭(zhēng)優(yōu)勢(shì)。特性ARM7TDMI-SCortex-M4架構(gòu)ARMv4T(馮·諾依曼)ARMv7-M(哈佛)ISA支持Thumb/ARMThumb/Thumb-2流水線3級(jí)3級(jí)+分支預(yù)測(cè)中斷FIQ/IRQNMI+1到240個(gè)物理中斷中斷延遲24~42個(gè)時(shí)鐘周期12個(gè)時(shí)鐘周期休眠模式無(wú)內(nèi)置存儲(chǔ)器保護(hù)無(wú)8段存儲(chǔ)器保護(hù)單元浮點(diǎn)運(yùn)算單元無(wú)單精度浮點(diǎn)數(shù)學(xué)運(yùn)算GD32450Z-EVAL評(píng)估板使用

GD32F450ZKT6作為主控制器。評(píng)估板使用

MiniUSB接口或者

DC-005連接器提供

5V電源。提供包括擴(kuò)展引腳在內(nèi)的及

SWD,Reset,Boot,Userbuttonkey,LED,CAN,I2C,I2S,USART,RTC,LCD,SPI,ADC,DAC,EXMC,CTC,SDIO,ENET,USBFS,USBHS,GD-Link等外設(shè)資源。物聯(lián)網(wǎng)大致被認(rèn)為有三個(gè)層次:底層是用來(lái)感知數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)層,最上層則是應(yīng)用層習(xí)題請(qǐng)舉例10個(gè)以上身邊單片機(jī)系統(tǒng)的例子。請(qǐng)歸納整理嵌入式系統(tǒng)開(kāi)發(fā)全流程中涉及到的知識(shí)領(lǐng)域,并思考哪些屬于嵌入式系統(tǒng)初學(xué)者應(yīng)該掌握的關(guān)鍵技能。嵌入式系統(tǒng)設(shè)計(jì)中有哪些矛盾需要設(shè)計(jì)者和開(kāi)發(fā)者解決?如何理解計(jì)算機(jī)的計(jì)算能力和性能之間的概念差異?20世紀(jì)五六十年代,阿塔納索夫等人都具備了電子計(jì)算機(jī)的構(gòu)思,當(dāng)時(shí)也擁有相應(yīng)的技術(shù)手段,為什么他們都不能最后完成計(jì)算機(jī)的發(fā)明?如何理解計(jì)算機(jī)系統(tǒng)軟硬件邊界?GD32F4xx系列器件是基于Arm?Cortex?-M4處理器的32位通用微控制器。Arm?Cortex?-M4處理器包括三條AHB總線分別稱(chēng)為I-CODE總線、D-Code總線和系統(tǒng)總線。Cortex?-M4處理器的所有存儲(chǔ)訪問(wèn),根據(jù)不同的目的和目標(biāo)存儲(chǔ)空間,都會(huì)在這三條總線上執(zhí)行。存儲(chǔ)器的組織采用了哈佛結(jié)構(gòu),預(yù)先定義的存儲(chǔ)器映射和高達(dá)4GB的存儲(chǔ)空間,充分保證了系統(tǒng)的靈活性和可擴(kuò)展性。

系統(tǒng)及存儲(chǔ)器架構(gòu)

Arm?Cortex?-M4處理器具有浮點(diǎn)運(yùn)算功能、低中斷延遲時(shí)間和低成本調(diào)試特性的32位處理器高集成度和增強(qiáng)的特性:適用高性能和低功耗應(yīng)用?;贏RMv7架構(gòu),并且支持一個(gè)強(qiáng)大且可擴(kuò)展的指令集,包括通用數(shù)據(jù)處理I/O控制任務(wù)、增強(qiáng)的數(shù)據(jù)處理位域操作、DSP(數(shù)字信號(hào)處理)和浮點(diǎn)運(yùn)算指令。內(nèi)部總線矩陣,用于實(shí)現(xiàn)I-Code總線、D-Code總線、系統(tǒng)總線、專(zhuān)用總線(PPB)以及調(diào)試專(zhuān)用總線(AHB-AP)的互聯(lián)嵌套式向量型中斷控制器(NVIC)閃存地址重載及斷點(diǎn)單元(FPB)數(shù)據(jù)觀測(cè)點(diǎn)及跟蹤單元(DWT)指令跟蹤宏單元(ITM)嵌入式跟蹤宏單元(ETM)串行線和JTAG調(diào)試接口(SWJ-DP)跟蹤端口接口單元(TPIU)內(nèi)存保護(hù)單元(MPU)浮點(diǎn)運(yùn)算單元(FPU)

豐富的Cortex?-M4系統(tǒng)外設(shè)

系統(tǒng)及存儲(chǔ)器架構(gòu)GD32F4xx系列微控制器提供了三種引導(dǎo)源,可以通過(guò)BOOT0和BOOT1引腳來(lái)進(jìn)行選擇,詳細(xì)說(shuō)明見(jiàn)表1-3.引導(dǎo)模式。該兩個(gè)引腳的電平狀態(tài)會(huì)在復(fù)位后的第四個(gè)CK_SYS(系統(tǒng)時(shí)鐘)的上升沿進(jìn)行鎖存。用戶可自行選擇所需要的引導(dǎo)源,通過(guò)設(shè)置上電復(fù)位和系統(tǒng)復(fù)位后的BOOT0和BOOT1的引腳電平。一旦這兩個(gè)引腳電平被采樣,它們可以被釋放并用于其他用途。

引導(dǎo)配置引導(dǎo)源選擇啟動(dòng)模式選擇引腳Boot1Boot0主FLASH存儲(chǔ)器x0引導(dǎo)裝載程序01片上SRAM11為了減少“讀-改-寫(xiě)”操作的次數(shù),Cortex?-M4處理器提供了一個(gè)可以執(zhí)行單原子比特操作的位帶功能。存儲(chǔ)器映射包含了兩個(gè)支持位帶操作的區(qū)域。其中一個(gè)是SRAM區(qū)的最低1MB范圍,第二個(gè)是片內(nèi)外設(shè)區(qū)的最低1MB范圍。這兩個(gè)區(qū)域中的地址除了普通應(yīng)用外,還有自己的“位帶別名區(qū)”。位帶別名區(qū)把每個(gè)比特?cái)U(kuò)展成一個(gè)32位的字。當(dāng)用戶訪問(wèn)位帶別名區(qū)時(shí),就可以達(dá)到訪問(wèn)原始比特的目的。下面的公式表明了位帶別名區(qū)中的每個(gè)字如何對(duì)應(yīng)位帶區(qū)的相應(yīng)比特或目標(biāo)比特。

位帶操作bit_word_addr=bit_band_base+(byte_offset×32)+(bit_number×4)

bit_word_addr指的是位帶區(qū)目標(biāo)比特對(duì)應(yīng)在位帶別名區(qū)的地址

bit_band_base指的是位帶別名區(qū)的起始地址

byte_offset指的是位帶區(qū)目標(biāo)比特所在的字節(jié)的字節(jié)地址偏移量bit_number指的是目標(biāo)比特在對(duì)應(yīng)字節(jié)中的位置(0-7)其中:1.

Arm?Cortex?-M4處理器有哪幾條系統(tǒng)總線?存儲(chǔ)器采用什么架構(gòu)?2.

Cortex?-M4提供的系統(tǒng)外設(shè)有哪些?3.

程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,寄存器和I/O端口的地址空間有多大?為什么?

習(xí)題Cortex?-M4集成了嵌套式矢量型中斷控制器(NVIC)來(lái)實(shí)現(xiàn)高效的異常和中斷處理。NVIC實(shí)現(xiàn)了低延遲的異常和中斷處理,以及電源管理控制。EXTI(中斷/事件控制器)包括23個(gè)相互獨(dú)立的邊沿檢測(cè)電路并且能夠向處理器內(nèi)核產(chǎn)生中斷請(qǐng)求或喚醒事件。EXTI有三種觸發(fā)類(lèi)型:上升沿觸發(fā)、下降沿觸發(fā)和任意沿觸發(fā)。EXTI中的每一個(gè)邊沿檢測(cè)電路都可以獨(dú)立配置和屏蔽。簡(jiǎn)介Cortex?-M4系統(tǒng)異常91種可屏蔽的外設(shè)中斷4位中斷優(yōu)先級(jí)配置位,可提供16個(gè)中斷優(yōu)先等級(jí)高效的中斷處理支持異常搶占和咬尾中斷將系統(tǒng)從省電模式喚醒EXTI中有23個(gè)相互獨(dú)立的邊沿檢測(cè)電路;3種觸發(fā)類(lèi)型:上升沿觸發(fā),下降沿觸發(fā)和任意沿觸發(fā)軟件中斷或事件觸發(fā)可配置的觸發(fā)源EXTI結(jié)構(gòu)框圖EXTI觸發(fā)源:來(lái)自I/O管腳的16根線來(lái)自內(nèi)部模塊的7根線(包括LVD、RTC鬧鐘、USB喚醒、以太網(wǎng)喚醒、RTC侵入和時(shí)間戳、RTC喚醒1.

Arm?Cortex?-M4處理器有哪幾條系統(tǒng)總線?存儲(chǔ)器采用什么架構(gòu)?2.

Cortex?-M4提供的系統(tǒng)外設(shè)有哪些?3.

程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,寄存器和I/O端口的地址空間有多大?為什么?

習(xí)題Cortex?-M4處理器最多可支持140個(gè)通用I/O引腳(GPIO),各片上設(shè)備用其來(lái)實(shí)現(xiàn)邏輯輸入/輸出功能。每個(gè)GPIO端口都有相關(guān)的控制和配置寄存器以滿足特定應(yīng)用的需求。GPIO引腳上的外部中斷在中斷/事件控制器(EXTI)中有相關(guān)的控制和配置寄存器。GPIO端口和其他的備用功能備用引腳,在特定的封裝下獲得最大的靈活性。GPIO引腳通過(guò)配置相關(guān)的寄存器可以用作備用功能引腳,備用功能輸入/輸出都可以。每個(gè)GPIO引腳可以由軟件配置為輸出(推挽或開(kāi)漏)、輸入、外設(shè)備用功能或者模擬模式。每個(gè)GPIO引腳都可以配置為上拉、下拉或無(wú)上拉/下拉。除模擬模式外,所有的GPIO引腳都具備大電流驅(qū)動(dòng)能力簡(jiǎn)介輸入/輸出方向控制施密特觸發(fā)器輸入功能使能控制每個(gè)引腳都具有弱上拉/下拉功能推挽/開(kāi)漏輸出使能控制置位/復(fù)位輸出使能可編程觸發(fā)沿的外部中斷—使用EXTI配置寄存器模擬輸入/輸出配置備用功能輸入/輸出配置端口鎖定配置單周期輸出翻轉(zhuǎn)功能

主要特性輸入/輸出方向控制施密特觸發(fā)器輸入功能使能控制每個(gè)引腳都具有弱上拉/下拉功能推挽/開(kāi)漏輸出使能控制置位/復(fù)位輸出使能可編程觸發(fā)沿的外部中斷—使用EXTI配置寄存器模擬輸入/輸出配置備用功能輸入/輸出配置端口鎖定配置單周期輸出翻轉(zhuǎn)功能

主要特性PADTYPECTLyOMyPUDyGPIO輸入X浮空00X00上拉01下拉10GPIO輸出推挽浮空01000上拉01下拉10開(kāi)漏浮空100上拉01下拉10AFIO輸入X浮空10X00上拉01下拉10AFIO輸出推挽浮空10000上拉01下拉10開(kāi)漏浮空100上拉01下拉10模擬XX11XXX

GPIO配置

標(biāo)準(zhǔn)I/O端口位的基本結(jié)構(gòu)當(dāng)GPIO引腳配置為輸入時(shí):輸入配置施密特觸發(fā)輸入使能可選擇的弱上拉和下拉電阻;輸出緩沖器禁用當(dāng)前I/O引腳上的數(shù)據(jù)在每個(gè)AHB時(shí)鐘周期都會(huì)被采樣并存入端口輸入狀態(tài)寄存器施密特觸發(fā)輸入使能可選擇的弱上拉和下拉電阻輸出緩沖器使能開(kāi)漏模式:輸出控制寄存器設(shè)置為“0”時(shí),相應(yīng)引腳輸出低電平;輸出控制寄存器設(shè)置為“1”,相應(yīng)管腳處于高阻狀態(tài)推挽模式:輸出控制寄存器設(shè)置為“0”時(shí),相應(yīng)引腳輸出低電平;輸出控制寄存器設(shè)置為“1”,相應(yīng)引腳輸出高電平對(duì)端口輸出控制寄存器進(jìn)行讀操作,將返回上次寫(xiě)入的值對(duì)端口輸入狀態(tài)寄存器進(jìn)行讀操作,將獲得當(dāng)前I/O口的狀態(tài)

輸出配置

輸出配置弱上拉和下拉電阻禁用輸出緩沖器禁用施密特觸發(fā)輸入禁用端口輸入狀態(tài)寄存器相應(yīng)位為“0”

模擬配置當(dāng)GPIO引腳用于模擬模式時(shí):使用開(kāi)漏或推挽功能時(shí),可使能輸出緩沖器輸出緩沖器由外設(shè)驅(qū)動(dòng)施密特觸發(fā)輸入使能在輸入配置時(shí),可選擇的弱上拉/下拉電阻I/O引腳上的數(shù)據(jù)在每個(gè)AHB時(shí)鐘周期采樣并存入端口輸入狀態(tài)寄存器對(duì)端口輸入狀態(tài)寄存器進(jìn)行讀操作,將獲得I/O口的狀態(tài)對(duì)端口輸出控制寄存器進(jìn)行讀操作,將返回上次寫(xiě)入的值

備用功能(AF)配置當(dāng)GPIO引腳用于模擬模式時(shí):

備用功能(AF)配置1.

Cortex?-M4通用和備用輸入/輸出接口有哪些特征?2.

復(fù)位之后GPIO端口、串行線調(diào)試端口、JTDI、JTCK/SWCLK為、JTMS/SWDIO為、NJTRST為、NJTRST各是什么輸入模式?

習(xí)題DMA控制器提供了一種硬件的方式在外設(shè)和存儲(chǔ)器之間或者存儲(chǔ)器和存儲(chǔ)器之間傳輸數(shù)據(jù),而無(wú)需MCU的介入,避免了MCU多次進(jìn)入中斷進(jìn)行大規(guī)模的數(shù)據(jù)拷貝,最終提高整體的系統(tǒng)性能。每個(gè)DMA控制器包含了兩個(gè)AHB總線接口和8個(gè)4字深度的FIFO,使DMA可以高效的傳輸數(shù)據(jù)。DMA控制器(DMA0,DMA1)共有16個(gè)通道,每個(gè)通道可以被分配給一個(gè)或多個(gè)特定的外設(shè)進(jìn)行數(shù)據(jù)傳輸。兩個(gè)內(nèi)置的總線仲裁器用來(lái)處理DMA請(qǐng)求的優(yōu)先級(jí)問(wèn)題。Cortex?-M4內(nèi)核與DMA控制器都是通過(guò)系統(tǒng)總線來(lái)處理數(shù)據(jù),引入仲裁機(jī)制來(lái)處理它們之間的競(jìng)爭(zhēng)關(guān)系。當(dāng)MCU和DMA指定相同的外設(shè)的時(shí)候,MCU將會(huì)在特定的總線周期掛起??偩€矩陣使用了輪詢的算法保證MCU至少占用了一半的帶寬。簡(jiǎn)介兩個(gè)AHB主機(jī)接口傳輸數(shù)據(jù),一個(gè)AHB從機(jī)接口配置DMA16個(gè)通道(每個(gè)DMA控制器有8個(gè)通道),每個(gè)通道連接8個(gè)特定的外設(shè)請(qǐng)求存儲(chǔ)器和外設(shè)支持單一傳輸,4拍、8拍和16拍增量突發(fā)傳輸當(dāng)外設(shè)和存儲(chǔ)器傳輸數(shù)據(jù)時(shí),支持存儲(chǔ)器切換支持軟件優(yōu)先級(jí)(低、中、高、超高)和硬件優(yōu)先級(jí)(通道號(hào)越低,優(yōu)先級(jí)越高)存儲(chǔ)器和外設(shè)的數(shù)據(jù)傳輸寬度可配置:字節(jié),半字,字存儲(chǔ)器和外設(shè)的數(shù)據(jù)傳輸支持固定尋址和增量式尋址支持循環(huán)傳輸模式支持三種傳輸方式:存儲(chǔ)器到外設(shè);外設(shè)到存儲(chǔ)器;存儲(chǔ)器到存儲(chǔ)器(僅DMA1支持)DMA和外設(shè)均可配置為傳輸控制器:DMA作為傳輸控制器:可配置數(shù)據(jù)傳輸長(zhǎng)度,最大為65535;外設(shè)作為傳輸控制器:數(shù)據(jù)傳輸?shù)耐瓿扇Q于外設(shè)的最后一個(gè)傳輸請(qǐng)求支持單數(shù)據(jù)傳輸和多數(shù)據(jù)傳輸模式:多數(shù)據(jù)傳輸模式:在存儲(chǔ)器數(shù)據(jù)寬度和外設(shè)數(shù)據(jù)寬度不同的時(shí)候,自動(dòng)打包/解包數(shù)據(jù);單數(shù)據(jù)傳輸模式:當(dāng)且僅當(dāng)FIFO空的時(shí)候從源地址讀取數(shù)據(jù),存進(jìn)FIFO,然后把FIFO的數(shù)據(jù)寫(xiě)到目標(biāo)地址每個(gè)通道有5種類(lèi)型的事件標(biāo)志和獨(dú)立的中斷,支持中斷的使能和清除

主要特性DMA系統(tǒng)架構(gòu)DMA控制器由4部分組成:AHB從接口配置DMA兩個(gè)AHB主接口進(jìn)行數(shù)據(jù)傳輸兩個(gè)仲裁器進(jìn)行DMA請(qǐng)求的優(yōu)先級(jí)管理數(shù)據(jù)處理和計(jì)數(shù)

三種傳輸模式的數(shù)據(jù)流外設(shè)到存儲(chǔ)器:通過(guò)AHB外設(shè)主機(jī)接口從外設(shè)讀取數(shù)據(jù),通過(guò)AHB存儲(chǔ)器主機(jī)接口向存儲(chǔ)器寫(xiě)入數(shù)據(jù);存儲(chǔ)器到外設(shè):通過(guò)AHB存儲(chǔ)器主機(jī)接口從存儲(chǔ)器讀取數(shù)據(jù),通過(guò)AHB外設(shè)主機(jī)接口向外設(shè)寫(xiě)入數(shù)據(jù);存儲(chǔ)器到存儲(chǔ)器:通過(guò)AHB外設(shè)主機(jī)接口從存儲(chǔ)器讀取數(shù)據(jù),通過(guò)AHB存儲(chǔ)器主機(jī)接口向存儲(chǔ)器寫(xiě)入數(shù)據(jù)。三種傳輸模式的數(shù)據(jù)流DMA控制器的兩個(gè)AHB主機(jī)接口分別對(duì)應(yīng)存儲(chǔ)器和外設(shè)的數(shù)據(jù)訪問(wèn):中斷每個(gè)DMA通道都有專(zhuān)有的中斷,包括5個(gè)中斷事件:傳輸完成中斷、半傳輸完成中斷、傳輸錯(cuò)誤中斷、單數(shù)據(jù)傳輸模式異常中斷、IFO錯(cuò)誤和異常中斷。任何一個(gè)中斷事件都可以引發(fā)DMA中斷。發(fā)生異常事件時(shí),正在進(jìn)行的DMA傳輸不會(huì)被停止,仍將繼續(xù)傳輸;發(fā)生錯(cuò)誤事件時(shí),正在進(jìn)行的DMA傳輸會(huì)被停止。中斷事件標(biāo)志位使能位清除位DMA_INTF0或DMA_INTF1DMA_CHxCTL或MA_CHxFCTL

DMA_INTC或DMA_INTC1傳輸完成FTFIFFTFIEFTFIFC半傳輸完成HTFIFHTFIEHTFIFC傳輸錯(cuò)誤TAEIFTAEIETAEIFC單數(shù)據(jù)模式異常SDEIFSDEIESDEIFCFIFO錯(cuò)誤與異常FEEIFFEPIEFEEIFCDMA中斷事件1.DMA控制器為何能夠提高數(shù)據(jù)傳輸效率?2.Cortex?-M4如何處理內(nèi)核與DMA控制器總線訪問(wèn)之間的沖突?如何保證MCU正常工作?3.DMA控制器由哪幾部分組成?4.DMA有幾種數(shù)據(jù)傳輸模式?各模式的數(shù)據(jù)讀、寫(xiě)源分別是什么?5.發(fā)生哪幾種類(lèi)型的錯(cuò)誤會(huì)關(guān)閉DMA傳輸?

習(xí)題GD32F4xx系列微控制器提供了各種各樣的調(diào)試,跟蹤和測(cè)試功能。這些功能通過(guò)ARMCoreSight組件的標(biāo)準(zhǔn)配置和鏈狀連接的TAP控制器來(lái)實(shí)現(xiàn)的。調(diào)試和跟蹤功能集成在ARMCortex?-M4內(nèi)核中。調(diào)試系統(tǒng)支持串行(SW)調(diào)試和跟蹤功能,也支持JTAG調(diào)試。調(diào)試和跟蹤功能請(qǐng)參考下列文檔:Cortex?-M4技術(shù)參考手冊(cè);ARM調(diào)試接口v5結(jié)構(gòu)規(guī)范。調(diào)試系統(tǒng)幫助調(diào)試者在低功耗模式下調(diào)試或者一些外設(shè)調(diào)試。當(dāng)相應(yīng)的位被置1,調(diào)試系統(tǒng)會(huì)在低功耗模式下提供時(shí)鐘,或者為一些外設(shè)保持當(dāng)前狀態(tài),這些外設(shè)包括:TIMER、WWDGT、FWDGT、RTC、I2C和CAN。許多微控制器支持一個(gè)名為JTAG(聯(lián)合測(cè)試行動(dòng)小組)的串行協(xié)議。JTAG協(xié)議是一種工業(yè)標(biāo)準(zhǔn)協(xié)議(IEEE1149.1),具有片上或PCB級(jí)測(cè)試等多種用途,還可以提供訪問(wèn)微控制器內(nèi)的調(diào)試特性的人口。JTAG足以應(yīng)對(duì)許多調(diào)試場(chǎng)景,它需要至少4個(gè)引腳:TCK、TDI、TMS和TDO。復(fù)位腳nTRST是可選的。對(duì)于具有引腳數(shù)量較少的微控制器來(lái)說(shuō)(如28腳封裝),4個(gè)引腳用于調(diào)試就太多了。因此,ARM開(kāi)發(fā)了串行線調(diào)試協(xié)議,它只須兩個(gè)引腳:SWCLK和SWDIO。串行線調(diào)試協(xié)議提供了相同的調(diào)試訪問(wèn)特性,并且還支持校驗(yàn)錯(cuò)誤檢測(cè),在電氣噪聲較高的系統(tǒng)中可以提供更高的可靠性。因此,串行線調(diào)試協(xié)議對(duì)微控制器供應(yīng)商和用戶都很有吸引力。切換JTAG/SW接口默認(rèn)使用JTAG調(diào)試接口,可以通過(guò)下列軟件序列從JTAG調(diào)試切換到SW調(diào)試:發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào);發(fā)送16位TMS=1110011110011110(0xE79ELSB)信號(hào);發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào)。切換SW調(diào)試到JTAG調(diào)試的軟件序列:發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào);發(fā)送16位TMS=1110011100111100(0xE73CLSB)信號(hào);發(fā)送50個(gè)以上TCK周期的TMS=1信號(hào)。引腳分配JTAG調(diào)試提供五個(gè)引腳的接口:JTAG時(shí)鐘引腳(JTCK),JTAG模式選擇引腳(JTMS),JTAG數(shù)據(jù)輸入引腳(JTDI),JTAG數(shù)據(jù)輸出引腳(JTDO),JTAG復(fù)位引腳(NJTRST,低電平有效)。串行調(diào)試(SWD)提供兩個(gè)引腳的接口:數(shù)據(jù)輸入輸出引腳(SWDIO)和時(shí)鐘引腳(SWCLK)。SW調(diào)試接口的兩個(gè)引腳與JTAG調(diào)試接口的兩個(gè)引腳復(fù)用,SWDIO和JTMS復(fù)用,SWCLK和JTCK復(fù)用。當(dāng)異步跟蹤功能開(kāi)啟時(shí),JTDO引腳也用作異步跟蹤數(shù)據(jù)輸出(TRACESWO)。調(diào)試引腳分配:PA15:JTDIPA14:JTCK/SWCLKPA13:JTMS/SWDIOPB4:NJTRSTPB3:JTDO默認(rèn)復(fù)位后使用五個(gè)引腳的JTAG調(diào)試,用戶可以在不使用NJTRST引腳情況下正常使用JTAG功能,此時(shí)PB4可以用作普通GPIO功能(NJTRST硬件拉高)。如果切換到SW調(diào)試模式,PA15/PB4/PB3釋放作為普通GPIO功能。如果JTAG和SW調(diào)試功能都沒(méi)有使用,低功耗模式調(diào)試支持當(dāng)DBG控制寄存器0(DBG_CTL0)的STB_HOLD位置1并且進(jìn)入待機(jī)模式,AHB總線時(shí)鐘和系統(tǒng)時(shí)鐘由CK_IRC16M提供,可以在待機(jī)模式下調(diào)試。當(dāng)退出待機(jī)模式后,產(chǎn)生系統(tǒng)復(fù)位。當(dāng)DBG控制寄存器0(DBG_CTL0)的DSLP_HOLD位置1并且進(jìn)入深度睡眠模式,AHB總線時(shí)鐘和系統(tǒng)時(shí)鐘由CK_IRC16M提供,可以在深度睡眠模式下調(diào)試。當(dāng)DBG控制寄存器0(DBG_CTL0)的SLP_HOLD位置1并且進(jìn)入睡眠模式,AHB總線時(shí)鐘沒(méi)有關(guān)閉,可以在睡眠模式下調(diào)試。TIMER,I2C,RTC,WWDGT,F(xiàn)WDGT和CAN外設(shè)調(diào)試支持

當(dāng)內(nèi)核停止,并且DBG控制寄存器1(DBG_CTL1)或DBG控制寄存器2(DBG_CTL2)中的相應(yīng)位置1。對(duì)于不同外設(shè),有不同動(dòng)作:

對(duì)于TIMER外設(shè),TIMER計(jì)數(shù)器停止并進(jìn)行調(diào)試;對(duì)于I2C外設(shè),SMBUS保持狀態(tài)并進(jìn)行調(diào)試;

對(duì)于WWDGT或者FWDGT外設(shè),計(jì)數(shù)器時(shí)鐘停止并進(jìn)行調(diào)試;對(duì)于RTC外設(shè),計(jì)數(shù)器停止并進(jìn)行調(diào)試;對(duì)于CAN外設(shè),接收寄存器停止計(jì)數(shù)并進(jìn)行調(diào)試。習(xí)題GD32F4xx系列微控制器支持哪兩種調(diào)試模式??jī)煞N模式之前如何實(shí)現(xiàn)切換?請(qǐng)列舉GD32F4xx系列微控制器調(diào)試時(shí)使用的引腳及功能。請(qǐng)說(shuō)明GD32F4xx系列微控制器對(duì)于TIMER,I2C,RTC,WWDGT,F(xiàn)WDGT和CAN等外設(shè)調(diào)試支持。GD32F4xx系列采用的12位ADC是一種采用逐次逼近方式的模擬數(shù)字轉(zhuǎn)換器。它有19個(gè)多路復(fù)用通道,可以轉(zhuǎn)換來(lái)自16個(gè)外部通道、2個(gè)內(nèi)部通道和一個(gè)電池電壓(VBAT)通道的模擬信號(hào)。模擬看門(mén)狗允許應(yīng)用程序來(lái)檢測(cè)輸入電壓是否超出用戶設(shè)定的高低閾值。各種通道的A/D轉(zhuǎn)換可以配置成單次、連續(xù)、掃描或間斷轉(zhuǎn)換模式。ADC轉(zhuǎn)換的結(jié)果可以按照左對(duì)齊或右對(duì)齊的方式存儲(chǔ)在16位數(shù)據(jù)寄存器中。片上的硬件過(guò)采樣機(jī)制可以通過(guò)減少來(lái)自MCU的相關(guān)計(jì)算負(fù)擔(dān)來(lái)提高性能。簡(jiǎn)介高性能:可配置12位、10位、8位、或者6位分辨率;ADC采樣率:12位分辨率為2.6MSPs,10位分辨率為3.0MSPs。分辨率越低,轉(zhuǎn)換越快;自校準(zhǔn)時(shí)間:131個(gè)ADC時(shí)鐘周期;可編程采樣時(shí)間;數(shù)據(jù)寄存器可配置數(shù)據(jù)對(duì)齊方式;支持規(guī)則數(shù)據(jù)轉(zhuǎn)換的DMA請(qǐng)求模擬輸入通道:16個(gè)外部模擬輸入通道、1個(gè)內(nèi)部溫度傳感通道(VSENSE)、1個(gè)內(nèi)部參考電壓輸入通道(VREFINT)、1個(gè)外部監(jiān)測(cè)電池VBAT供電引腳輸入通道轉(zhuǎn)換開(kāi)始的發(fā)起:軟件觸發(fā)、硬件觸發(fā)轉(zhuǎn)換模式:可轉(zhuǎn)換單個(gè)通道,或者掃描一序列的通道:?jiǎn)未文J剑看斡|發(fā)轉(zhuǎn)換一次選擇的輸入通道;連續(xù)模式,連續(xù)轉(zhuǎn)換所選擇的輸入通道;間斷模式;同步模式(適用于具有兩個(gè)或多個(gè)ADC的設(shè)備)模擬看門(mén)狗規(guī)則組或注入組轉(zhuǎn)換結(jié)束、模擬看門(mén)狗事件和溢出事件都可以產(chǎn)生中斷過(guò)采樣:16位的數(shù)據(jù)寄存器;可調(diào)整的過(guò)采樣率,從2x到256x;高達(dá)8位的可編程數(shù)據(jù)移位。ADC供電要求:2.6V到3.6V,一般電源電壓為3.3VADC輸入范圍:VREFN≤VIN≤VREFP

主要特性

引腳和內(nèi)部信號(hào)內(nèi)部信號(hào)名稱(chēng)信號(hào)類(lèi)型說(shuō)明VSENSE輸入內(nèi)部溫度傳感器輸出電壓VREFINT輸入內(nèi)部參考輸出電壓名稱(chēng)信號(hào)類(lèi)型注釋VDDA輸入,模擬供電電源模擬電源輸入等于VDD,2.6V≤VDDA≤3.6VVSSA輸入,模擬電源地模擬地,等于VSS

VREFP

輸入,模擬參考電壓正ADC正參考電壓,2.6V≤VREFP≤VDDA

VREFN

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論