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

下載本文檔

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

文檔簡介

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

GD32F450ZKT6作為主控制器。評估板使用

MiniUSB接口或者

DC-005連接器提供

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GPIO配置

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

輸出配置

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

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

備用功能(AF)配置當GPIO引腳用于模擬模式時:

備用功能(AF)配置1.

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

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

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

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

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

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

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

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

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

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

主要特性

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

VREFP

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

VREFN

溫馨提示

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

評論

0/150

提交評論