![ch4 DSP系統(tǒng)設(shè)計(jì)入門(mén)_第1頁(yè)](http://file4.renrendoc.com/view/c2128851eb1abf2a13eff797f2f0d04a/c2128851eb1abf2a13eff797f2f0d04a1.gif)
![ch4 DSP系統(tǒng)設(shè)計(jì)入門(mén)_第2頁(yè)](http://file4.renrendoc.com/view/c2128851eb1abf2a13eff797f2f0d04a/c2128851eb1abf2a13eff797f2f0d04a2.gif)
![ch4 DSP系統(tǒng)設(shè)計(jì)入門(mén)_第3頁(yè)](http://file4.renrendoc.com/view/c2128851eb1abf2a13eff797f2f0d04a/c2128851eb1abf2a13eff797f2f0d04a3.gif)
![ch4 DSP系統(tǒng)設(shè)計(jì)入門(mén)_第4頁(yè)](http://file4.renrendoc.com/view/c2128851eb1abf2a13eff797f2f0d04a/c2128851eb1abf2a13eff797f2f0d04a4.gif)
![ch4 DSP系統(tǒng)設(shè)計(jì)入門(mén)_第5頁(yè)](http://file4.renrendoc.com/view/c2128851eb1abf2a13eff797f2f0d04a/c2128851eb1abf2a13eff797f2f0d04a5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
4.1DSPC語(yǔ)言程序設(shè)計(jì)4.1.1C語(yǔ)言?xún)?yōu)勢(shì)4.1.2基于C2000的C語(yǔ)言簡(jiǎn)介4.2CCS5入門(mén)4.2.1CCS5簡(jiǎn)介4.2.2新建工程4.3DSP試驗(yàn)系統(tǒng)4.3.1最小系統(tǒng)簡(jiǎn)介4.3.2外設(shè)實(shí)驗(yàn)板簡(jiǎn)介第四章DSP系統(tǒng)設(shè)計(jì)入門(mén)4.1.1C語(yǔ)言?xún)?yōu)勢(shì)C語(yǔ)言是高級(jí)語(yǔ)言,相對(duì)于匯編易學(xué)易用;C語(yǔ)言的編程效率極高,易于調(diào)試;C++運(yùn)行效率不如C,且面向?qū)ο缶幊陶加酶噘Y源;Java同C++,且Java運(yùn)行依賴(lài)于Java虛擬機(jī);匯編語(yǔ)言依賴(lài)于計(jì)算機(jī)硬件,程序的可讀性和可移植性較差。高級(jí)語(yǔ)言具有很好的可移植性,但是難以實(shí)現(xiàn)匯編語(yǔ)言的某些功能(如對(duì)內(nèi)存地址的操作、位操作等)。C語(yǔ)言作為一種高級(jí)語(yǔ)言,既可以訪問(wèn)物理地址又可以進(jìn)行位操作,能直接對(duì)硬件進(jìn)行操作,適合用于DSP所以,嵌入式編程多用C語(yǔ)言,或C語(yǔ)言與匯編混合編程。F20827亦是如此。4.1.2基于C2000的C語(yǔ)言簡(jiǎn)介C語(yǔ)言中的代碼段編譯器中的段名存儲(chǔ)器中不同段的分配鏈接器的命令(CMD)文件MEMORY{PAGE0:
/*ProgramMemory*/FLASH:origin=0x3F0000,length=0x8000PAGE1:
/*DataMemory*/M0SARAM:origin=0x000000,length=0x400M1SARAM:origin=0x000400,length=0x400}SECTIONS{.text:>FLASHPAGE=0.ebss:>M0SARAMPAGE=1.cinit:>FLASHPAGE=0.stack:>M1SARAMPAGE=1}#defineADCTRL1(volatileunsignedint*)0x00007100
...voidmain(void){*ADCTRL1=0x1234;//writeentireregister*ADCTRL1|=0x4000;//enableADCmodule}傳統(tǒng)編程風(fēng)格-簡(jiǎn)單、快速且易于鍵入-變量名稱(chēng)與寄存器名稱(chēng)精確匹配(易于記憶)-需要生成專(zhuān)門(mén)的掩碼以操控個(gè)別位-不能很容易地在觀察窗口中顯示位字段-在許多場(chǎng)合中將生成效率低下的代碼優(yōu)點(diǎn)缺點(diǎn)voidmain(void){AdcRegs.ADCTRL1.all=0x1234;
//writeentireregisterAdcRegs.ADCTRL1.bit.ADCENABLE=1;
//enableADCmodule}新編程風(fēng)格-易于操控個(gè)別位。-易于在調(diào)試窗口觀察寄存器位的值-可生成最高效的代碼(利用C28x)-結(jié)構(gòu)名稱(chēng)會(huì)難以記憶(編輯器自動(dòng)完成功能)-需要鍵入的內(nèi)容更多(編輯器自動(dòng)完成功能)優(yōu)點(diǎn)缺點(diǎn)結(jié)構(gòu)體定義規(guī)則F2802x頭文件定義了:所有的外設(shè)結(jié)構(gòu)體所有的寄存器名稱(chēng)所有的位字段名稱(chēng)所有的寄存器地址PeripheralName.RegisterName.all
//訪問(wèn)整個(gè)16位或32位寄存器PeripheralName.RegisterName.half.LSW
//訪問(wèn)32位寄存器的16個(gè)低位PeripheralName.RegisterName.half.MSW
//訪問(wèn)32位寄存器的16個(gè)高位PeripheralName.RegisterName.bit.FieldName
//訪問(wèn)寄存器的指定位字段注:[1]“PeripheralName”由TI指定并載于F2802x標(biāo)準(zhǔn)頭文件。它們由大寫(xiě)字母和小寫(xiě)字母組合成(如:CpuTimer0Regs)。[2]“RegisterName”與數(shù)據(jù)表中使用的名稱(chēng)相同,它們始終用大寫(xiě)字母表示(如:TCR、TIM、TPR,...)[3]“FieldName”與數(shù)據(jù)表中使用的名稱(chēng)相同,它們始終用大寫(xiě)字母表示(如:POL、TOG、TSS,...)F2802x頭文件包(,文獻(xiàn)編號(hào):SPRC832)包含了使用結(jié)構(gòu)體法所需的一切資源定義了所有的外設(shè)寄存器位和寄存器地址頭文件包包括:\DSP2802x_headers\include.hfiles\DSP2802x_headers\cmd
linker.cmdfiles\DSP2802x_headers\gel
.gelfilesforCCS\DSP2802x_examples
2802xexamples\doc
documentation外設(shè)結(jié)構(gòu)體頭(.h)文件#include“DSP2802x_Device.h”VoidInitAdc(void){/*ResettheADCmodule*/AdcRegs.ADCTRL1.bit.RESET=1;/*configuretheADCregister*/AdcRegs.ADCTRL1.all=0x00E4;};C語(yǔ)言源文件(例如:Adc.c)//ADCIndividualRegisterBitDefinitions:structADCCTL1_BITS{//bitsdescriptionUint16TEMPCONV:1;//0TemperaturesensorconnectionUint16VREFLOCONV:1;//1VSSAconnectionUint16INTPULSEPOS:1;//2INTpulsegenerationcontrolUint16ADCREFSEL:1;//3Internal/externalreferenceselectUint16rsvd1:1;//4reservedUint16ADCREFPWD:1;//5ReferencebufferspowerdownUint16ADCBGPWD:1;//6ADCbandgappowerdownUint16ADCPWDN:1;//7ADCpowerdownUint16ADCBSYCHN:5;//12:8ADCbusyonachannelUint16ADCBSY:1;//13ADCbusysignalUint16ADCENABLE:1;//14ADCenableUint16RESET:1;//15ADCmasterreset};//Allowaccesstothebitfieldsorentireregister:unionADCCTL1_REG{Uint16all;structADCCTL1_BITSbit;};//ADCExternalReferences&FunctionDeclarations:externvolatilestructADC_REGSAdcRegs;頭文件包含有一個(gè)用于器件中每個(gè)外設(shè)的.hDSP2802x_Adc.h
DSP2802x_BootVars.h
DSP2802x_Comp.h
DSP2802x_CpuTimers.h
DSP2802x_DevEmu.h
DSP2802x_Device.hDSP2802x_ECap.h
DSP2802x_EPwm.h
DSP2802x_Gpio.h
DSP2802x_I2c.hDSP2802x_NmiIntrupt.h
DSP2802x_PieCtrl.hDSP2802x_PieVect.h
DSP2802x_Sci.hDSP2802x_Spi.hDSP2802x_SysCtrl.h
DSP2802x_XIntrupt.hDSP2802x_Device.h件主要的包括頭文件的將包括所有其他的.h文件在每個(gè)源文件中包括此文件::#include“DSP2802x_Device.h”4.1.2基于C2000的C語(yǔ)言簡(jiǎn)介全局變量定義文件DSP2802x_GlobalVariableDefs.c定義每個(gè)外設(shè)寄存器結(jié)構(gòu)體變量每個(gè)結(jié)構(gòu)體使用一個(gè)DATA_SECTION宏指令來(lái)強(qiáng)制結(jié)構(gòu)體的存儲(chǔ)位置,以實(shí)現(xiàn)至正確的地址鏈接4.1.2基于C2000的C語(yǔ)言簡(jiǎn)介用于結(jié)構(gòu)體的鏈接器命令文件
DSP2802x_nonBIOS.cmd針對(duì)每個(gè)外設(shè)應(yīng)用的項(xiàng)目范例可幫助使用者快速啟動(dòng)開(kāi)發(fā)工作?TI嵌入式處理器的集成開(kāi)發(fā)環(huán)境(IDE)–包括調(diào)試器,編譯器,編輯器,操作系統(tǒng),等等–IDE基于Eclipse開(kāi)源軟件框架(v4+)–融合了TI設(shè)備的支持與功能?CCSv5是基于原版的Eclipse–CCS使用未修改的Eclipse版本?TI將直接向開(kāi)源社區(qū)提交改進(jìn)–用戶(hù)可以隨意的將各種其他廠商的Eclipse插件或TI的工具拖放到現(xiàn)有的Eclipse環(huán)境–用戶(hù)可以享受到Eclipse中所有最新的改進(jìn)所帶來(lái)的便利?集成額外的工具–操作系統(tǒng)的應(yīng)用程序開(kāi)發(fā)工具(Linux操作系統(tǒng),Android...)–代碼分析,源代碼控制...4.2.1CCS5簡(jiǎn)介CodeComposerStudioCodeComposerStudio集成型開(kāi)發(fā)環(huán)境(IDE)集成了能編輯,代碼生成和調(diào)試功能使用按鈕的問(wèn)單擊訪問(wèn)功能強(qiáng)大的圖繪圖/分析具工具使用腳本務(wù)的自動(dòng)化任務(wù)內(nèi)置的BIOS功能訪問(wèn)基于Eclipse開(kāi)源軟件框架項(xiàng)目文件包含:文件清單:源文件(C語(yǔ)言、匯編語(yǔ)言)庫(kù)文件DSP/BIOS配置文件鏈接器命令文件項(xiàng)目設(shè)置:生成選項(xiàng)(編譯器
匯編器
鏈接器和DSP/BIOS)新建工程點(diǎn)擊File->New->CCSProject或者Project->NewProject如下圖所示:4.2.2新建工程添加項(xiàng)目名稱(chēng)、芯片、仿真器等。選擇對(duì)應(yīng)芯片型號(hào);4.2.2新建工程如圖所示:新建文件:可以新建源文件,頭文件,類(lèi)等等添加文件添加現(xiàn)有源文件到工程中。右擊工程名->AddFiles…4.2.2新建工程添加頭文件目錄:一右擊工程名->Properties,選擇Build->IncludeOptions,有個(gè)#include搜索路徑,添加上路徑即可。最有效的方法:
拷貝一個(gè)現(xiàn)有的工程
然后加以裁剪和添加編譯工程
選擇Project->BuildprojectDebug跟編譯工程類(lèi)似的方法可以進(jìn)行工程的Debug,最簡(jiǎn)單的方式就是點(diǎn)擊如下圖所示的小蟲(chóng)子。在Debug之前,一定要選擇和設(shè)置目標(biāo)配置文件(TargetConfigurations)。新建目標(biāo)配置文件(TargetConfigurationFile),如下圖所示。如下圖所示,選擇仿真器,選擇平臺(tái),完成后可以點(diǎn)擊TestConnection,進(jìn)行仿真器連接測(cè)試,如果成功,說(shuō)明硬件沒(méi)有問(wèn)題。4.3.1DSP實(shí)驗(yàn)設(shè)備–最小系統(tǒng)簡(jiǎn)介T(mén)I公司提供的最小系統(tǒng)最小系統(tǒng)供電方式最小系統(tǒng)啟動(dòng)模式選擇最小系統(tǒng)引腳分配最小系統(tǒng)原理圖最小系統(tǒng)PCB正面映射外設(shè)實(shí)驗(yàn)板示意圖外設(shè)實(shí)驗(yàn)板基本相關(guān)模塊功能紅外對(duì)管模塊溫度傳感器模塊外設(shè)實(shí)驗(yàn)板基本相關(guān)模塊功能數(shù)碼管顯示模塊外設(shè)實(shí)驗(yàn)板擴(kuò)展相關(guān)模塊功能L298電機(jī)驅(qū)動(dòng)模塊外設(shè)實(shí)驗(yàn)板擴(kuò)展相關(guān)模塊功能TFT彩屏模塊PWM_DA模塊作業(yè):以一個(gè)例子來(lái)說(shuō)明,C2000的C語(yǔ)言中有哪些代碼段?一般的C2000工程中會(huì)有兩個(gè)CMD文件,它們各起什么作用?安裝CCS5,建立一個(gè)自己的工程文件,并完成實(shí)驗(yàn)一
知識(shí)點(diǎn):DSP的總體架構(gòu)--改進(jìn)的哈佛結(jié)構(gòu)DSP的存儲(chǔ)空間分配和應(yīng)用—F28027.cmdDSP的時(shí)鐘配置--DSP2802x_SysCtrl.cDSP的WatchDog--DSP2802x_SysCtrl.cDSP的CPUTimer--DSP2802x_CpuTimers.cDSP的GPIO與AIO--DSP2802x_Gpio.cDSP的外部中斷DSP的中斷系統(tǒng)DSP的應(yīng)用程序開(kāi)發(fā)
第一部分總結(jié)1.2.2DSP芯片的結(jié)構(gòu)特征為了適應(yīng)快速數(shù)字信號(hào)處理運(yùn)算的要求,DSP芯片普遍采用了特殊的硬件和軟件結(jié)構(gòu),以提高其數(shù)字信號(hào)處理的運(yùn)算速度DSP芯片的主要結(jié)構(gòu)特征有:采用了哈佛結(jié)構(gòu)、流水線技術(shù)、硬件乘法器和特殊DSP指令等471.哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)是一種并行體系結(jié)構(gòu),主要特點(diǎn)是將程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)器空間,對(duì)程序和數(shù)據(jù)獨(dú)立編址,獨(dú)立訪問(wèn)。而且在DSP中設(shè)置了數(shù)據(jù)和程序兩套總線,使得取指令和執(zhí)行能完全重疊運(yùn)行,提高數(shù)據(jù)吞吐量48哈佛結(jié)構(gòu)—改進(jìn)為了進(jìn)一步提高速度和靈活性,TMS320系列產(chǎn)品中,在哈佛結(jié)構(gòu)上作了改進(jìn):一是允許程序存儲(chǔ)在高速緩存中,提高指令讀取速度;二是允許數(shù)據(jù)存放在程序存儲(chǔ)器中,并被算術(shù)運(yùn)算指令直接使用,增強(qiáng)芯片的靈活性。另外DSP中的雙口RAM(DARAM)及獨(dú)立讀寫(xiě)總線使數(shù)據(jù)存取速度提高492.流水線技術(shù)DSP芯片廣泛采用流水線技術(shù),增強(qiáng)了處理器的處理能力。TMS320系列流水線深度為2~6級(jí)不等,也就是說(shuō),處理器在一個(gè)時(shí)鐘周期可并行處理2~6條指令,每條指令處于流水線的不同階段。圖1.2為三級(jí)流水線操作的例子。在三級(jí)流水線操作中,取指令、指令譯碼和執(zhí)行可以獨(dú)立地處理,這樣DSP可以同時(shí)處理多條指令,只是每條指令處于不同處理階段503.硬件乘法器在數(shù)字信號(hào)處理的許多算法中,需要做大量的乘法和加法。DSP芯片一般都有一個(gè)硬件乘法器,在TMS320系列中,一次乘累加最少可在一個(gè)時(shí)鐘周期完成4.特殊DSP指令
DSP芯片的另一個(gè)特點(diǎn)就是采用了特殊的尋址方式和指令。比如,TMS320系列的位反轉(zhuǎn)尋址方式,LTD、MPY、RPTK等特殊指令。采用這些適合于數(shù)字信號(hào)處理的尋址方式和指令,進(jìn)一步減少了數(shù)字信號(hào)處理的時(shí)間512.1.1DSP存儲(chǔ)空間分配2.1.1DSP存儲(chǔ)空間分配設(shè)計(jì)一個(gè)計(jì)時(shí)器,顯示精確到0.01秒分析:1,用到的外設(shè):CPUTimer0,外部中斷和GPIO,2,CPUTimer0完成計(jì)時(shí)功能,外部中斷完成控制功能,GPIO完成顯示功能3,中斷考慮:定時(shí)器0中斷和外部中斷應(yīng)用程序舉例:硬件資源:1)CPUTimer02)外部中斷GPIO343)顯示:GPIO12(Data),GPIO33(Clk),GPIO32(CS)應(yīng)用程序舉例:系統(tǒng)初始化:1)WD初始化,關(guān)掉2)時(shí)鐘源初始化,四選一3)PLL初始化,12,2,60M4)外設(shè)時(shí)鐘初始化5)FLASH初始化,2,2,2應(yīng)用程序舉例:Watchdog計(jì)數(shù)器操作方式0X55&0XAA序列的順序?qū)懭隬DDIS位的置一(WDOVERRIDE=1)Flash&OTP相關(guān)寄存器FOTPWAITOTP等待寄存器配置輸入時(shí)鐘源&XCLKOUT寄存器(XCLK)位域值描述(1)15-7保留保留。6XCLKINSEL01XCLKIN源選擇位:這個(gè)位選擇XCLKIN輸入源。GPIO38是XCLKIN輸入源(這也是JTAG端口的TCK源)。GPIO19是XCLKIN輸入源。5-2保留保留0-0XCLKOUTDIV00011011XCLKOUT分頻比:這兩個(gè)位選擇XCLKOUT頻率相對(duì)于SYSCLKOUT的比率。比率是:XCLKOUT=SYSCLKOUT/4XCLKOUT=SYSCLKOUT/2XCLKOUT=SYSCLKOUTXCLKOUT=OffXCLK寄存器的XCLKINSEL位由復(fù)位引腳復(fù)位XCLK寄存器用來(lái)選擇XCLKIN輸入的GPIO引腳和配置XCLKOUT引腳的頻率。配置器件時(shí)鐘域(CLKCTL)
CLKCTL寄存器用來(lái)選擇時(shí)鐘源,也用來(lái)配置時(shí)鐘故障期間器件的行為位域值描述15NMIRESETSEL01NMI復(fù)位選擇位:該位在檢測(cè)到一個(gè)缺少時(shí)鐘條件時(shí)直接產(chǎn)生
信號(hào)和使用
復(fù)位兩者之間進(jìn)行選擇:沒(méi)有任何延遲地直接驅(qū)動(dòng)
(復(fù)位時(shí)的默認(rèn)狀態(tài))。NMI看門(mén)狗復(fù)位(
)啟動(dòng)
。注:不管作何選擇,都會(huì)產(chǎn)生
信號(hào)。位域值描述14XTALOSCOFF01晶體振蕩器關(guān)閉位:如果晶體振蕩器不使用,可以使用該位將其關(guān)閉。晶體振蕩器開(kāi)啟(復(fù)位時(shí)的默認(rèn)狀態(tài))。晶體振蕩器關(guān)閉。13XCLKINOFF01XCLKIN關(guān)閉位:該位關(guān)閉外部XCLKIN振蕩器輸入XCLKIN振蕩器輸入啟用(復(fù)位時(shí)的默認(rèn)狀態(tài))。XCLKIN振蕩器輸入關(guān)閉。注:你需要通過(guò)XCLK寄存器的XCLKINSEL位選擇XCLKIN的GPIO引腳。更詳細(xì)的信息請(qǐng)見(jiàn)XCLK寄存器的描述。如果使用XCLKIN,XTALOSCOFF就必須置位。12WDHALTI01看門(mén)狗停機(jī)模式忽略位:該位選擇是否通過(guò)停機(jī)模式自動(dòng)開(kāi)啟/關(guān)閉看門(mén)狗。這個(gè)特性可以在停機(jī)模式有效時(shí)用來(lái)允許所選的WDCLK源繼續(xù)計(jì)時(shí)看門(mén)狗。這可以允許看門(mén)狗周期性地喚醒器件??撮T(mén)狗自動(dòng)通過(guò)停機(jī)模式開(kāi)啟/關(guān)閉(復(fù)位時(shí)的默認(rèn)狀態(tài))??撮T(mén)狗忽略停機(jī)模式。11INTOSC2HALTI01內(nèi)部振蕩器2停機(jī)模式忽略位:該位選擇是否通過(guò)停機(jī)模式自動(dòng)開(kāi)啟/關(guān)閉內(nèi)部振蕩器2。這個(gè)特性可以在停機(jī)模式有效時(shí)用來(lái)允許內(nèi)部振蕩器繼續(xù)計(jì)時(shí)。這將使能器件更快地從停機(jī)模式中喚醒。內(nèi)部振蕩器2自動(dòng)通過(guò)停機(jī)模式開(kāi)啟/關(guān)閉(復(fù)位時(shí)的默認(rèn)狀態(tài))。內(nèi)部振蕩器2忽略停機(jī)模式。10INTOSC2OFF01內(nèi)部振蕩器2關(guān)閉位:該位關(guān)閉振蕩器2內(nèi)部振蕩器2開(kāi)啟(復(fù)位時(shí)的默認(rèn)狀態(tài))。內(nèi)部振蕩器2關(guān)閉。如果內(nèi)部振蕩器2不被使用,用戶(hù)可以使用該位將其關(guān)閉。這個(gè)選擇不受缺少時(shí)鐘檢測(cè)電路影響。9INTOSC1HALTI01內(nèi)部振蕩器1停機(jī)模式忽略位:該位選擇是否通過(guò)停機(jī)模式自動(dòng)開(kāi)啟/關(guān)閉內(nèi)部振蕩器1。內(nèi)部振蕩器1自動(dòng)通過(guò)停機(jī)模式開(kāi)啟/關(guān)閉(復(fù)位時(shí)的默認(rèn)狀態(tài))。內(nèi)部振蕩器1忽略停機(jī)模式。這個(gè)特性可以在停機(jī)模式有效時(shí)用來(lái)允許內(nèi)部振蕩器繼續(xù)計(jì)時(shí)。這將使能器件更快地從停機(jī)模式中喚醒。位域值描述8INTOSC1OFF01內(nèi)部振蕩器1關(guān)閉位:該位關(guān)閉振蕩器1內(nèi)部振蕩器1開(kāi)啟(復(fù)位時(shí)的默認(rèn)狀態(tài))。內(nèi)部振蕩器1關(guān)閉。如果內(nèi)部振蕩器1不被使用,用戶(hù)可以使用該位將其關(guān)閉。這個(gè)選擇不受缺少時(shí)鐘檢測(cè)電路影響。7-5TMR2CLKPRESCALE000001010011100101110111CPUTimer2時(shí)鐘預(yù)分頻值:這些位為所選的CPUTimer2時(shí)鐘源選擇預(yù)分頻值。這個(gè)選擇不受缺少時(shí)鐘檢測(cè)電路影響。/1(復(fù)位時(shí)的默認(rèn)狀態(tài))/2/4/8/16保留保留保留4-3TMR2CLKSRCSEL00011011CPUTimer2時(shí)鐘源選擇位:該位為CPUTimer2選擇時(shí)鐘源選擇SYSCLKOUT(復(fù)位時(shí)的默認(rèn)狀態(tài),繞過(guò)預(yù)分頻器)。選擇外部振蕩器(XOR輸出)。選擇內(nèi)部振蕩器1。選擇內(nèi)部振蕩器2。這個(gè)選擇不受缺少時(shí)鐘檢測(cè)電路影響。2WDCLKSRCSEL01看門(mén)狗時(shí)鐘源選擇位:該位選擇看門(mén)狗的時(shí)鐘源。在
為低時(shí)和
變?yōu)楦咧?,默認(rèn)選擇內(nèi)部振蕩器1。用戶(hù)需要在初始化過(guò)程中選擇外部振蕩器或內(nèi)部振蕩器2。如果缺少時(shí)鐘檢測(cè)電路檢測(cè)到缺少時(shí)鐘,那么該位被強(qiáng)制為0,并選擇內(nèi)部振蕩器1。用戶(hù)更改該位不影響PLLCR值。選擇內(nèi)部振蕩器1(復(fù)位時(shí)的默認(rèn)狀態(tài))。選擇外部振蕩器或內(nèi)部振蕩器2。位域值描述1OSCCLKSRC2SEL01振蕩器2時(shí)鐘源選擇位:這個(gè)位用來(lái)在內(nèi)部振蕩器2或外部振蕩器兩者之間作選擇。這個(gè)選擇不受缺少時(shí)鐘檢測(cè)電路影響。選擇外部振蕩器(復(fù)位時(shí)的默認(rèn)狀態(tài))。選擇內(nèi)部振蕩器2。0OSCCLKSRCSEL01振蕩器時(shí)鐘源選擇位。這個(gè)位選擇振蕩器的時(shí)鐘源。在
為低時(shí)和
變?yōu)楦咧?,默認(rèn)選擇內(nèi)部振蕩器1。用戶(hù)需要在初始化過(guò)程中選擇外部振蕩器或內(nèi)部振蕩器2。只要用戶(hù)使用這些位來(lái)改變時(shí)鐘源,PLLCR寄存器將被自動(dòng)強(qiáng)制為零。這阻止了潛在的PLL過(guò)沖。然后,用戶(hù)必須寫(xiě)PLLCR寄存器來(lái)配置合適的分頻比。如果必要,用戶(hù)也可以使用PLLLOCKPRD寄存器來(lái)配置PLL鎖定周期以縮短鎖定時(shí)間。如果缺少時(shí)鐘檢測(cè)電路檢測(cè)到缺少時(shí)鐘,那么這個(gè)位被自動(dòng)強(qiáng)制為0,并選擇內(nèi)部振蕩器1作為時(shí)鐘。PLLCR寄存器也將自動(dòng)強(qiáng)制為0來(lái)防止所有潛在的過(guò)沖。選擇內(nèi)部振蕩器1(復(fù)位時(shí)的默認(rèn)狀態(tài))。選擇外部振蕩器或內(nèi)部振蕩器2。注:如果用戶(hù)希望使用振蕩器2或外部振蕩器來(lái)計(jì)時(shí)CPU,必須應(yīng)該先配置這個(gè)位,然后再寫(xiě)OSCCLKSRCSEL位。PLL狀態(tài)寄存器(PLLSTS)PLL控制寄存器(PLLCR)基于PLL的配置模式PLL模式注釋PLLSTS[DIVSEL](1)CLKIN和SYSCLKOUT(2)PLL關(guān)閉由用戶(hù)通過(guò)置位PLLSTS寄存器的PLLOFF位來(lái)激活。在這種模式下PLL模塊禁用。這對(duì)于降低系統(tǒng)噪聲和低功率操作很有用。在進(jìn)入這個(gè)模式之前,PLLCR寄存器必須先被設(shè)置成0x0000(PLL旁路)。CPU時(shí)鐘(CLKIN)直接從X1/X2,X1或XCLKIN上的輸入時(shí)鐘獲得。0,123OSCCLK/4OSCCLK/2OSCCLK/1PLL旁路PLL旁路是上電時(shí)或一次外部復(fù)位(
)后默認(rèn)的PLL配置。當(dāng)PLLCR寄存器被設(shè)置成0x0000,或者,在PLLCR寄存器被修改之后PLL鎖定到一個(gè)新的頻率時(shí),這個(gè)模式被選擇。在這個(gè)模式下,PLL本身被旁路,但PLL未關(guān)閉。0,123OSCCLK/4OSCCLK/2OSCCLK/1PLL啟用該模式通過(guò)將一個(gè)非零值n寫(xiě)入PLLCR寄存器來(lái)實(shí)現(xiàn)。當(dāng)寫(xiě)PLLCR時(shí),器件將切換到PLL旁路模式,直至PLL鎖定。0,12OSCCLK*n/4OSCCLK*n/2PLLSTS[DIVSEL]在寫(xiě)PLLCR之前必須為零,并且,應(yīng)該只有在PLLSTS[PLLLOCKS]=1之后才能被修改選擇的輸入時(shí)鐘和PLLCR[DIV]位應(yīng)該使PLL(VCOCLK)的輸出頻率是最小值50MHz。PLL控制寄存器(PLLCR)Flash&OTP相關(guān)寄存器FOPT確定是否開(kāi)啟flash流水線模式寄存器FBANKWAITflash等待寄存器FBANKWAITflash等待寄存器GPIO初始化:1)上拉設(shè)置2)MUX設(shè)置3)方向設(shè)置4)初始值設(shè)置5)特殊引腳的設(shè)置應(yīng)用程序舉例:多路復(fù)用MUXGPIOMUXGPIOMUXGPIOMUX數(shù)字I/O控制GPIO的配置步驟:Step1.Planthedevicepin-out
--安排器件引腳輸出Step2.Enableordisableinternalpull-upresistor--使能或禁能內(nèi)部上拉電阻Step3.Selectinputqualification--選擇輸入時(shí)鐘同步Step4.Selectthepinfunction--選擇引腳功能Step5.FordigitalgeneralpurposeI/O,selectthedirectionofpin--為數(shù)字通用I/O選擇引腳的方向輸入或者輸出Step6.Selectlowpowermodewake-upsources--選擇低功率模式喚醒源(是否作為喚醒源)Step7.Selectexternalinterruptsources--選擇外部中斷源GPIO相關(guān)寄存器(GPIOXINTnSEL)CPUTimer0初始化:1)關(guān)時(shí)鐘2)周期設(shè)置3)預(yù)分頻設(shè)置4)初始值設(shè)置5)中斷使能6)使能時(shí)鐘或?應(yīng)用程序舉例:定時(shí)器原理32位CPU計(jì)數(shù)器相關(guān)寄存器32位CPU計(jì)數(shù)器寄存器(TIMERxTIM
)TIMERxTIMH與之類(lèi)似32位CPU周期寄存器(TIMERxPRD
)TIMERxPRDH與之類(lèi)似TIMERxTCR寄存器描述_續(xù)TIMERxTCR寄存器描述_續(xù)TIMERxTPR寄存器描述(TIMERxTPRH寄存器與之類(lèi)似)Xint1初始化:1)Xint1引腳選擇2)外部中斷極性選擇3)中斷使能應(yīng)用程序舉例:3.6外部中斷控制寄存器:支持3個(gè)外部中斷,XINT1-XINT3。每個(gè)外部中斷可以選擇負(fù)邊沿或正邊沿觸發(fā),也可以被使能或禁能。屏蔽的中斷還包含一個(gè)16位自由運(yùn)行的遞增計(jì)數(shù)器,在檢測(cè)到一個(gè)有效的中斷沿時(shí)復(fù)位為0。這個(gè)計(jì)數(shù)器可以用來(lái)精確地計(jì)時(shí)中斷。表3.14中斷控制和計(jì)數(shù)器寄存器(不受EALLOW保護(hù))圖3.13外部中斷n控制寄存器(XINTnCR)表3.15外部中斷n控制寄存器(XINTnCR)的域描述對(duì)于XINT1/XINT2/XINT3來(lái)說(shuō),還有一個(gè)16位的計(jì)數(shù)器,只要檢測(cè)到一個(gè)中斷邊沿,計(jì)數(shù)器就復(fù)位為0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人力資源招聘居間合同格式
- 文創(chuàng)園區(qū)衛(wèi)生間翻新合同
- 牛棚承包合同
- 化工產(chǎn)品購(gòu)銷(xiāo)合同
- 電商承包合同協(xié)議書(shū)
- 玩具銷(xiāo)售合同范例
- 喝啤酒大賽比賽規(guī)則
- 場(chǎng)地租賃合同協(xié)議書(shū)
- 統(tǒng)編版初中語(yǔ)文七年級(jí)上冊(cè)第九課《從百草園到三味書(shū)屋》聽(tīng)評(píng)課記錄
- 企業(yè)戰(zhàn)略規(guī)劃知識(shí)管理系統(tǒng)作業(yè)指導(dǎo)書(shū)
- 醫(yī)院消防安全培訓(xùn)課件
- 質(zhì)保管理制度
- 《00541語(yǔ)言學(xué)概論》自考復(fù)習(xí)題庫(kù)(含答案)
- 2024新版《藥品管理法》培訓(xùn)課件
- 浙江省杭州市2024年中考英語(yǔ)真題(含答案)
- 《陸上風(fēng)電場(chǎng)工程設(shè)計(jì)概算編制規(guī)定及費(fèi)用標(biāo)準(zhǔn)》(NB-T 31011-2019)
- 電鍍工業(yè)園項(xiàng)目可行性研究報(bào)告-用于立項(xiàng)備案
- (精心整理)一元一次不等式組100道計(jì)算題
- 煤礦井下自救互救與應(yīng)急處置教案課件
- 江蘇省民用建筑施工圖綠色設(shè)計(jì)專(zhuān)篇參考樣式(2021年版)
- 小學(xué)四年級(jí)數(shù)學(xué)競(jìng)賽試題doc
評(píng)論
0/150
提交評(píng)論