DSP技術(shù)應(yīng)用講課_第1頁
DSP技術(shù)應(yīng)用講課_第2頁
DSP技術(shù)應(yīng)用講課_第3頁
DSP技術(shù)應(yīng)用講課_第4頁
DSP技術(shù)應(yīng)用講課_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

DSP技術(shù)應(yīng)用南京航空航天大學(xué)自動化學(xué)院有關(guān)本課程學(xué)習(xí)的幾點(diǎn)建議

本課程是一門實(shí)踐性、應(yīng)用性很強(qiáng)的學(xué)科僅僅聽懂還不夠,重在培養(yǎng)動手能力硬件/軟件同樣重要、不可偏廢

硬件是系統(tǒng)的基礎(chǔ),軟件是系統(tǒng)的靈魂本課程的前期基礎(chǔ)課程是數(shù)字電路、微機(jī)原理、單片機(jī)原理及應(yīng)用、數(shù)字信號處理這方面知識掌握得不夠好的請自己補(bǔ)上預(yù)習(xí)、聽課、復(fù)習(xí)、作業(yè)、實(shí)驗(yàn)環(huán)環(huán)都重要用科學(xué)的方法學(xué)習(xí)TMS320F28335概述1.DSP介紹2.TMS320F28335結(jié)構(gòu)3.TMS320F28335中斷系統(tǒng)4.TMS320F28335內(nèi)存映射/BOOTROM5.F28335時(shí)鐘與控制系統(tǒng)6.F28335I/O口7.F28335的串行通信接口(SCI)1.DSP介紹

(1)DSP芯片的分類DSP芯片主要可以按照下列兩種方式進(jìn)行分類。按數(shù)據(jù)格式分定點(diǎn)DSP芯片浮點(diǎn)DSP芯片按用途分通用型DSP芯片專用型DSP芯片

(2)DSP芯片的應(yīng)用(1)信號處理——如數(shù)字濾波、自適應(yīng)濾波、快速傅立葉變換、相關(guān)運(yùn)算、譜分析、卷積、模式匹配、加窗、波形產(chǎn)生等;(2)通信——如調(diào)制解調(diào)器、自適應(yīng)均衡、數(shù)據(jù)加密、數(shù)據(jù)壓縮、回波抵消、多路復(fù)用、傳真、擴(kuò)頻通信、糾錯(cuò)編碼、可視電話等;(3)語音——如語音編碼、語音合成、語音識別、語音增強(qiáng)、說話人辨認(rèn)、說話人確認(rèn)、語音郵件、語音存儲等;(4)圖形/圖像——如二維和三維圖形處理、圖像壓縮與傳輸、圖像增強(qiáng)、動畫、機(jī)器人視覺等;DSP芯片的應(yīng)用(5)軍事——如保密通信、雷達(dá)處理、聲納處理、導(dǎo)航、導(dǎo)彈制導(dǎo)等;(6)儀器儀表——如頻譜分析、函數(shù)發(fā)生、鎖相環(huán)、地震處理等;(7)自動控制——如引擎控制、聲控、自動駕駛、機(jī)器人控制、磁盤控制等;(8)醫(yī)療——如助聽、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)等;(9)家用電器——如高保真音響、音樂合成、音調(diào)控制、玩具與游戲、數(shù)字電話/視等。DSP的應(yīng)用正在日益發(fā)展PDA巡航導(dǎo)彈移動通信系統(tǒng)80%的手機(jī)采用了TI的DSPCore還可以舉出很多例子醫(yī)院用的B超、CT、核磁共振衛(wèi)星遙感遙測天氣預(yù)報(bào)、地震預(yù)報(bào)、地震探礦風(fēng)洞試驗(yàn)數(shù)字化士兵、數(shù)字化戰(zhàn)爭…...DSP的應(yīng)用領(lǐng)域取決于設(shè)計(jì)者的想象空間C2000?DSPTIC55x?DSP核心:

世界上最低功耗性能比mW/MIPS的DSPs以達(dá)到0.05mW/MIPs的最低功耗性能比而具有最長的電池壽命。最佳的代碼密度兼容C54x?DSP軟件工作頻率將達(dá)到1.1GHz最好的DSP編譯器,便于使用兼容C62x?DSP軟件可擴(kuò)展性能達(dá)到400MIPs

最佳的C/C++控制代碼效率兼容C24x?DSP軟件C5000?DSPC6000?DSPTIC28x?DSP核心:

世界上第一顆針對控制進(jìn)行優(yōu)化的DSPTIC64x?DSP核心:

世界上具有最高性能的DSPsMotorControl

DSPPersonalDSPBroadbandInfrastruc-tureDSPTI公司主推的三大DSP系列C2000系列DSP子系列C2xx子系列:16位定點(diǎn)DSP、20MIPS代表器件:TMS320F206PZC24x子系列:16位定點(diǎn)DSP、20MIPS代表器件:TMS320F240LF240xA子系列:16位定點(diǎn)DSP、40MIPS代表器件:TMS320LF2407AF28x子系列:32位定點(diǎn)DSP、150MIPS代表器件:TMS320F2812、TMS320F2810F283x子系列:32位浮點(diǎn)DSP、150MIPS代表器件:TMS320F28335UpTo40MIPSControlPerformanceHigh-PrecisionControlC242F241LC2404ALF2401ALC2402AMulti-Function,Appliance&ConsumerControlF240F243LC2406ALF2402ALF2403ALF2406ALF2407AF2810128-LQFPF2812176-LQFPF2812179-u*BGA150MIPS!SoftwareCompatibleHigh-endDerivativesApplicationspecificversionsScaledDownversionsC2000系列DSPRoadmapF28335176-PGF2.TMS320F28335結(jié)構(gòu)TMS320F28335BlockDiagram32x32bitMultiplierSectoredFlashA(18-0)D(15-0)ProgramBusDataBusRAMBootROM2232-bitAuxiliaryRegisters332bitTimersRealtimeJTAGCPURegisterBusR-M-WAtomicALUPIEInterruptManager323232EventManagerAEventManagerB12-bitADCWatchdogMcBSPCAN2.0BSCI-ASCI-B/CSPIGPIOI2CTMS320F28335

DSP具有150MHz的高速處理能力,具備32位浮點(diǎn)處理單元,6個(gè)DMA通道支持ADC、McBSP和EMIF,有多達(dá)18路的PWM輸出,其中有6路為TI特有的更高精度的PWM輸出(HRPWM),12位16通道ADC。與前代DSC相比,平均性能提升50%,并與定點(diǎn)C28x控制器軟件兼容。得益于F28335浮點(diǎn)運(yùn)算單元,從而簡化軟件開發(fā),縮短開發(fā)周期。降低開發(fā)成本。采用高性能的靜態(tài)CMOS技術(shù)主頻達(dá)150MHZ(6.67ns)低功耗設(shè)計(jì),1.9V內(nèi)核電壓,3.3VI/O電壓Flash編程電壓為3.3V支持JTAG邊界掃描接口高性能32位CPU16*16位和32*32位的乘法累加操作16*16位的雙乘法累加器哈佛總線結(jié)構(gòu)快速中斷響應(yīng)和處理能力統(tǒng)一尋址模式4M的程序/數(shù)據(jù)尋址空間高效的代碼轉(zhuǎn)換功能片上存儲器最多達(dá)256KX16位的Flash存儲器最多達(dá)128KX16位的ROM1KX16位的OTPROM34KX16位的單周期訪問RAM(SARAM)引導(dǎo)(BOOT)ROM(8KX16)帶有軟件啟動模式數(shù)學(xué)運(yùn)算表16位或32位外部存儲器擴(kuò)展接口多達(dá)2M的尋址空間時(shí)鐘和系統(tǒng)控制支持動態(tài)改變鎖相環(huán)的倍頻系數(shù)片上震蕩器看門狗定時(shí)模塊GPI00-GPI063能被設(shè)置位8個(gè)外部中斷外設(shè)中斷擴(kuò)展模塊(PIE)支持58個(gè)外設(shè)中斷三個(gè)32位CPU定時(shí)器128位保護(hù)密碼保護(hù)Flash/OTP/ROM防止系統(tǒng)固件被盜取增強(qiáng)的電機(jī)控制外設(shè)多達(dá)18通道的PWM輸出多達(dá)6通道的HRPWM輸出6個(gè)捕捉單元,捕捉外部事件2個(gè)正交脈沖編碼電路8個(gè)32位/6個(gè)16位定時(shí)器串口通信外設(shè)1個(gè)串行外設(shè)接口模塊(SPI)3個(gè)UTAR接口模塊(SCI)2個(gè)增強(qiáng)型的eCAN2.0B接口模塊2個(gè)多通道緩沖串口(MBSP)1個(gè)12C總線接口12位模數(shù)轉(zhuǎn)換模塊80ns轉(zhuǎn)換時(shí)間2X8通道復(fù)用輸入接口兩個(gè)采樣保持電路單/連續(xù)通道轉(zhuǎn)換高達(dá)88個(gè)可配置通用目的I/O引腳先進(jìn)的仿真調(diào)試功能硬件支持適時(shí)仿真功能低功耗模式和省電模式支持IDLE,STANDBY,HALT模式禁止外設(shè)獨(dú)立時(shí)鐘179引腳BGA封裝或176引腳LQFP封裝SEED-DEC28335capAD/pwm擴(kuò)展接口cpu串口cpldRTC時(shí)鐘usb電源接口DA接口Can口SRAMtMS320F28335@150MHzDSP總線SRAM(最大1Mx16位)USB2.0USB2.0接口4通道D/AD/A輸出擴(kuò)展總線(數(shù)據(jù)、地址、SPI、McBSP)片上存儲器:FLASH:256Kx16SRAM:34Kx18BootROM:8Kx16OTPROM:1Kx16片上外設(shè)EPWM輸出:12通道HRPWM:6通道ECAP/APWM:6通道QEP:2通道A/D:16通道SCI:3通道McBSP/SPI:2通道SPI:1通道Ecan:2通道IIC:1通道DMA:6通道GPIO(復(fù)用):88PWM脈沖輸出GAP/QEP輸入A/D模擬輸入RS232/RS485CAN總線RTC+EEPROM原理框圖為什么選擇SEED-DEC28335采用業(yè)界首款浮點(diǎn)數(shù)字信號控制器,整體性能提升50%高集成度,降低系統(tǒng)成本與其他采用浮點(diǎn)芯片板卡相比(DEC33、DEC6713),集成度更高豐富接口:ePWM、AD、DA、CAN、USB2.0、RS232/422/485TI第一次在數(shù)字信號控制器中增加浮點(diǎn)處理單元性能比現(xiàn)有控制芯片提升50%,滿足越來越高的算法需求簡化軟件開發(fā),加快上手速度無需再將程序轉(zhuǎn)換為定點(diǎn),節(jié)省開發(fā)時(shí)間提供完善的用戶手冊和源程序,縮短新芯片的學(xué)習(xí)時(shí)間CPU:TMS320F28335處理器性能300MFLOPSat150MHzSingle-cycle32-bitMAC6-channelDMAsupportforEMIF,ADC,McBSP存儲器512KBflashand68KBRAMConfigurable16-or32-bitEMIF控制外設(shè)PWMoutputsinterfacesforthree

3-phasemotors6High-resolutionPWMoutputsHighest-speedon-chipADC通訊接口EachMcBSPconfigurableasSPICAN2.0bwith32mailboxesI2Cat400Kbps開發(fā)套件SEED-DEC28335+SEED-XDSusb2.0CodeComposerStudio?IDEV3.3SoftwarelibrariesTMS320F28335Real-TimeJTAG32-bit

Timers(3)C28xTM32-bitDSC32x32-bit

MultiplierR

M

WAtomicALU

InterruptManagementMemoryBusCodesecurity12-bitADCSPI2CAN3SCI2McBSP512KB

Flash68KBRAM6CAP12PWM(6HRPWM)DMA32-bitFloating-PointUnit88GPIOI2CBootROM16/32-bitEMIF2QEPPeripheralBusF2812主要指標(biāo)150MHzEMIFMcBSP176-pinPackageF2808主要指標(biāo)New12-bitADCePWMs,eCAP,eQEPI2CDualCAN新

F28335主要指標(biāo)300MFLOPSDMA512KBFlash68KBRAM32-bitEMIFTMS320F2812SEED-DEC28335結(jié)構(gòu)和配置

板上芯片總結(jié)DSP:TMS320F28335電源:TPS75733KTT,TPS54310看門狗:TPS3823-33SRAM:CY7C1021CV33-10ZCDAC:AD5725CAN驅(qū)動:VP230兩路RS232/422/485串口:MAX32321USB2.0:CY7C68001RTC+EEPROM:X1226CPLD:xinlinxc9572xlF2833x性能提升50%367MHz236MHz207MHz同樣150Mhz主頻,F(xiàn)28335比F2812性能至少提升50%!片上外設(shè)12通道EPWM脈沖輸出其中6通道支持HRPWM6路ECAP/APWM輸入,2路QEP電機(jī)控制16通道12位A/D模擬量輸入片內(nèi)2X8通道、12-位分辨率、80ns轉(zhuǎn)換時(shí)間、0-3V量程2路異步串口1路為:RS232、1路為:RS232/422/485可配置1路CANF28335的2個(gè)CAN口中的一路,CAN總線收發(fā)芯片SN65HVD230其他外設(shè)SRAM最大支持1MB1路USB2.0480M4通道12位D/A模擬量輸出±10v量程、10us建立時(shí)間RTC實(shí)時(shí)時(shí)鐘+EEPROM通過1路IIC總線接口,連接到X1226擴(kuò)展總線分為存儲總線和控制總線SEED-DEC28335特色及應(yīng)用

例程adc_dmaDACCANeqep_freqcalGpioMcbspeqep_freqcalRtcsci_loopbackSpiUsbFlash_pI2CSEED-DEC28335特色及應(yīng)用

文檔TMS320x28x,28xxxSerialPeripheralInterface(SPI)ReferenceGuide(Rev.D)TMS320x28xx,28xxxEnhancedCapture(ECAP)ModuleReferenceGuide(Rev.A)TMS320x28xx,28xxxEnhancedControllerAreaNetwork(eCAN)ReferenceGuide(Rev.E)TMS320x28xx,28xxxEnhancedPulseWidthModulator(ePWM)Module(Rev.C)TMS320x28xx,28xxxEnhancedQuadratureEncoderPulse(eQEP)ModuleRG(Rev.A)TMS320x28xx,28xxxInter-IntegratedCircuit(I2C)ReferenceGuide(Rev.A)TMS320x28xx,28xxxSerialCommunicationsInterface(SCI)ReferenceGuide(Rev.B)TMS320x280xHigh-ResolutionPulseWidthModulator(HRPWM)ReferenceGuide(Rev.A)TMS320x2833xAnalog-to-DigitalConverter(ADC)ReferenceGuideTMS320x2833xBootROMTMS320x2833xDirectMemoryAccess(DMA)ReferenceGuideTMS320x2833xExternalInterface(XINTF)ReferenceGuideTMS320x2833xMultichannelBufferedSerialPort(McBSP)User'sGuideTMS320x2833xSystemControlandInterruptsReferenceGuideSEED-DEC28335特色及應(yīng)用多種嵌入式DSP應(yīng)用電機(jī)控制、儀器、儀表電力系統(tǒng)RTU、FTU工業(yè)現(xiàn)場應(yīng)用馬達(dá)控制SEED-DEC28335競爭對手聞亭數(shù)字()有一款F28335的板卡,TDS28335SDT

*256KbitSRAM*16路12-bitADC,16路PWM輸出、同步、異步通信接口*RS-232、422、485接口*擴(kuò)展地址、數(shù)據(jù)、控制總線,SPI、SCI擴(kuò)展接口、eCAN(帶收發(fā)驅(qū)動)總線結(jié)構(gòu)

*4路的DAC7724U轉(zhuǎn)換時(shí)間最小10微秒,12Bit精度,輸出電壓±10V與DEC28335比較,沒有RTC,不是工業(yè)級設(shè)計(jì),多了音頻接口TMS320F28335CPUCore32-bit浮點(diǎn)DSP32x32bitMAC2次單周期16x16MAC(DMAC)快速中斷響應(yīng)機(jī)制單周期讀、寫、修改指令8級流水線,完全避免硬件流水線沖突向上代碼兼容性DataBus32-bitAuxiliaryRegisters332bitTimersRealtimeJTAGCPURegisterBusR-M-WAtomicALUProgramBusPIEInterruptManager32x32bitMultiplierTMS320F28335InternalBusStructureData-writeAddressBus(32)ProgramAddressBus(22)ExecutionR-M-WAtomicALUReal-TimeEmulation&TestEngineProgram-readDataBus(32)JTAGProgramDecoderPCXAR0toXAR7SPDP@XARAUMPY32x32XTPACCALURegistersDebugRegisterBus/ResultBusData/Program-writeDataBus(32)Data-readAddressBus(32)Data-readDataBus(32)MemoryData

(4G*16)Program(4M*16)StandardPeripheralsExternalInterfacesXT(32)orT/TLMULTIPLIER32x32orDual16x16P(32)orPH/PL

AH(16)TMS320F28335MultiplierandALU/ShiftersDataBusDataBusProgramBusALU(32)3232323232AL(16)3232?16/328/16ShiftR/L(0-16)ACC(32)AH.MSBAH.LSBAL.MSBAL.LSB32ShiftR/L(0-16)32ShiftR/L(0-16)32168/16/32來至于寄存器操作碼數(shù)據(jù)存儲區(qū)操作數(shù)2乘法器結(jié)果操作數(shù)1TMS320F28335Pointer,DPandMemoryDP(16bit)訪問65536個(gè)數(shù)據(jù)頁4M以上的數(shù)據(jù)存儲區(qū)DP不能訪問XAR0XAR1XAR2XAR3XAR4XAR5XAR6XAR7ARAUMUXDataMemoryMUXDP(16)DataBusProgramBus6LSBfromIR2232XAR15-0=AR7-0XAR31-16F1F2D1D2R1R2ETMS320F28335Pipeline流水線自動保護(hù)機(jī)制8-stagepipelineF1F2D1D2R1R2EF1F2D1D2R1R2EF1F2D1D2R1R2EF1F2D1D2R1R2EF1F2D1D2R1R2EF1F2D1D2R1R2XF1F2D1D2R1R2XABCDEFGWWWWWWWWE&GAccesssameaddressR1

R2E

WD2R1R2EWF1:取指令地址F2:取指令內(nèi)容D1:32/16判斷邊界D2:取指譯碼R1:操作數(shù)地址R2:取操作數(shù)E:指令執(zhí)行W:寫內(nèi)容回存儲單元HCodeSecurityModule保護(hù)知識產(chǎn)權(quán)用戶自定義密碼128bit映射到存儲空間:0x000AE0–0x000AE7寄存器受到EALLOW保護(hù)128-bits=2128=3.4x1038

1次/2cycle猜測所有的密碼需要1.4*10E23年LOSARAM(4K)L1SARAM(4K)OTP(1K)FLASH(128K)reserved0x0080000x0090000x00A0000x3D78000x3D8000128-BitPasswordreserved0x3D7C000x3F7FF8-0x3F7FFFCSMPasswordLocations(PWL)TMS320F28335FastInterruptResponseManager支持96個(gè)獨(dú)立的中斷直接訪問專用RAM(向量表)自動標(biāo)志更新自動現(xiàn)場保護(hù)軟件激發(fā)(INTR/TRAP)可屏蔽中斷-順序執(zhí)行非屏蔽中斷/軟立即執(zhí)行28xCPUInterruptlogic28xCPUINTMIFRIER96PeripheralInterrupts12x8=9612interruptsINT1toINT12PIERegisterMapPIEmoduleFor96interruptsT ST0 AH ALPH PLAR1(L) AR0(L)DP ST1DBSTAT IERPC(msw) PC(lsw)AutoContextSaveC28x/C24xModesC2xLPMode 1 1C28xMode 1 0C27X(default) 0 0Reserved 0 1

OBJMODEAMODEModeBitsCompilerOptionModeTypeC24xsource-compatiblemode:允許運(yùn)行C24的代碼(重新編譯過的)使用C28代碼產(chǎn)生工具C28xmode:可以使用C28的所有特征編譯手段如果用戶從外存引導(dǎo)就必須是28模式或者C2xLP-v28-v28-m20-v27Reset–BootloaderResetOBJMODE=0AMODE=0ENPIE=0VMAP=1BootdeterminedbystateofGPIOpinsResetvectorfetchedfrombootROM0x3FFFC0XMPNMC=0(microcomputermode)

ExecutionEntryPointH0SARAMBootloadersetsOBJMODE=1AMODE=03.TMS320F28335

InterruptTMS320F28335中斷源TMS320F28335CORE2個(gè)不可屏蔽中斷/RSNMI14個(gè)可屏蔽中斷(INT1–INT14)INT1INT2INT3INT4INT5INT6INT7INT8INT9INT10INT11INT12INT13INT14RSNMITMS320F28335復(fù)位中斷WatchdogTimerRSpinactiveToRSpinRSC28xCoreReset–BootLoaderResetOBJMODE=0AMODE=0ENPIE=0VMAP=1M0M1MAP=1BootdeterminedbystateofGPIOpinsResetvectorfetchedfrombootROM0x3FFFC0XMPNMC=1(microprocessormode)ResetvectorfetchedfromXINTFzone70x3FFFC0XMPNMC=0(microcomputermode)

Execution BootloadingEntryPoint RoutinesFLASH SPIH0SARAM SCI-AOTP ParallelloadNotes:F2810XMPNMCtiedlowinternaltodeviceXMPNMCreferstoinputsignalMP/MCisstatusbitinXINTFCNF2registerXMPNMConlysampledatresetBootloader模式GPIOpinsF4F12F3F21xxxflash0x3F7FF6,用戶必須已經(jīng)編寫了分支指令重定位程序執(zhí)行*

0010H0SARAM0x3F8000*0001OTP0x3D7800*01xx從外部EEPROM調(diào)用SPL_Boot0011從SCI-A調(diào)用SCI-Boot0000從GPIOB口調(diào)用Parallel_Boot*BootROMsoftwareconfiguresthedeviceforTMS320F28335modebeforejumpReset引導(dǎo)過程H0SARAM(8K)FLASH(128K)OTP(2K)0x3F7FF60x3D78000x3D80000x3F80000x3FF0000x3FFFC0BootROM(4K)BROMvector(32)0x3FFC00BootCode

RESETExecutionEntryPointDeterminedByGPIOPinsBootloadingRoutines(SPI,SCI-A,ParallelLoad)0x3FFC00TMS320F28335中斷源EVandNon-EVPeripherals(EV,ADC,SPI,SCI,McBSP,CAN)內(nèi)部中斷源外部中斷源XINT1XINT2PDPINTxRSXNMI_XINT13NMIC28xCOREINT1INT13INT2INT3INT12INT14RS???PIE(PeripheralInterruptExpansion)TINT2TINT1TINT0IFR中斷標(biāo)志寄存器可屏蔽中斷處理過程101(IFR)“Latch”INT1INT2INT14CoreInterruptC28xCore(INTM)“GlobalSwitch”(IER)“Switch”中斷使能寄存器(INTM以及IER被使能了才能響應(yīng))中斷標(biāo)志寄存器(IFR)RTOSINTDLOGINTINT14INT13INT12INT11INT10INT989101112131415INT8INT7INT6INT5INT4INT3INT2INT101234567中斷確定: IFRBit=1中斷未確定: IFRBit=0DINT/EINT,禁止中斷寫IFR時(shí)產(chǎn)生中斷,中斷具有優(yōu)先級CPU識別中斷之后IFR由CPU復(fù)位復(fù)位狀態(tài)為0/***Manualsetting/clearingIFR***/externcregistervolatileunsignedintIFR;IFR|=0x0008; //setINT4inIFRIFR&=0xFFF7; //clearINT4inIFR中斷使能寄存器(IER)RTOSINTDLOGINTINT14INT13INT12INT11INT10INT989101112131415INT8INT7INT6INT5INT4INT3INT2INT101234567使能:SetIERBit=1禁止:ClearIERBit=0DINT/EINT,禁止中斷復(fù)位清零/***InterruptEnableRegister***/externcregistervolatileunsignedintIER;IER|=0x0008; //enableINT4inIERIER&=0xFFF7; //disableINT4inIER中斷全局使能INTM用來做全局的使能/禁止中斷:使能: INTM=0禁止: INTM=1(resetvalue)INTM只能被匯編語言修改:INTMST1Bit0/***GlobalInterrupts***/asm(“CLRCINTM”);//enableglobalinterruptsasm(“SETCINTM”);//disableglobalinterruptsPeripheralInterruptExpansion-PIEPeripheralInterrupts12x8=96IFRIERINTM28xCore28xCoreInterruptlogicPIEmodulefor96InterruptsINT1.xinterruptgroupINT2.xinterruptgroupINT3.xinterruptgroupINT4.xinterruptgroupINT5.xinterruptgroupINT6.xinterruptgroupINT7.xinterruptgroupINT8.xinterruptgroupINT9.xinterruptgroupINT10.xinterruptgroupINT11.xinterruptgroupINT12.xinterruptgroupINT1–INT1212Interrupts96

INT1.1INT1.2INT1.8101??????INT1PIEIFR1PIEIER1InterruptGroup1INT13(TINT1/XINT13)INT14(TINT2)NMIPIE寄存器INTx.2INTx.3INTx.4INTx.5INTx.6INTx.7INTx.8INTx.10123456715-8reservedPIEIFRxregister(x=1to12)INTx.2INTx.3INTx.4INTx.5INTx.6INTx.7INTx.8INTx.10123456715-8reservedPIEIERxregister(x=1to12)reservedPIEACKxPIEInterruptAcknowledgeRegister(PIEACK)1243567890101115-12ENPIEPIEVECTPIECTRLregister015-1#include“DSP28_Device.h”PieCtrlRegs.PIEIFR1.bit.INTx4=1;//manuallysetIFRforXINT1inPIEgroup1PieCtrlRegs.PIEIER3.bit.INTx5=1;//enableCAPINT1inPIEgroup3PieCtrlRegs.PIEACK.all=0x0004;//acknowledgethePIEgroup3PieCtrlRegs.PIECTRL.bit.ENPIE=1;//enablethePIEPrio Vector Offset復(fù)位時(shí)默認(rèn)中斷向量表Memory0BROMVectors

64W0x3FFFC00x3FFFFFPIEVectors

256W0x000D00

4 2 3DlogIntRtosIntEmuIntNMI020406080A0C0E10121416181A1C1E2022242628-3E

- -IllegalUser1-12

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19Int1Int2Int3Int4Int5 Int6 Int7Int8Int9Int10Int11Int12Int13Int14

1Reset00DefaultVectorTableRemappedwhenENPIE=1PIEvectorgeneratedbyconfigToolUsedtoinitializePIEvectorsPIEVectorMapping(ENPIE=1)CPUvectorsareremappedto0x000D00inDataspacePIEvectorspace-0x000D00–256WordmemoryinDataspaceINT130x000D1AXINT1InterruptVectorINT140x000D1CTimer2–RTOSVectorDatalog0x000D1DDataloggingvector………………USER110x000D3EUserdefinedTRAPINT1.10x000D40PIEINT1.1interruptvector………………………………INT12.10x000DF0PIEINT12.1interruptvectorINT1.80x000D4EPIEINT1.8interruptvectorINT12.80x000DFEPIEINT12.8interruptvector………………PIEvectoraddressPIEvectorDescriptionNotused0x000D00ResetVectorNeverFetchedHere

VectornameINT10x000D02INT1re-mappedbelow………………re-mappedbelow

INT120x000D18INT12re-mappedbelow

RESETandINT1-INT12vectorlocationsareRe-mappedTMS320F28335PIEInterruptAssignmentTableINTx.8INTx.7INTx.6INTx.5INTx.4INTx.3INTx.2INTx.1INT1WAKEINTTINT0ADCINTXINT2XINT1PDPINTBPDPINTAINT2T1OFINTT1UFINTT1CINTT1PINTCMP3INTCMP2INTCMP1INTINT3CAPINT3CAPINT2CAPINT1T2OFINTT2UFINTT2CINTT2PINTINT4T3OFINTT3UFINTT3CINTT3PINTCMP6INTCMP5INTCMP4INTINT5CAPINT6CAPINT5CAPINT4T4OFINTT4UFINTT4CINTT4PINTINT6MXINTMRINTSPITXINTASPIRXINTAINT7INT8INT9SCITXINTBSCIRXINTBSCITXINTASCIRXINTAINT10INT11INT12ECAN0INTECAN1INTDeviceVectorMapping-Summary_c_int00:...CALLmain()main(){initialization();...}Initialization(){EALLOWLoadPIEVectorsEnablethePIEIEREnablePIECTRLEnableCoreIEREnableINTMEDIS}PIEVectorTable256WordRAM0x000D00–0DFFRESETResetVector<0x3FFFCO>=Boot-ROMCodeFlashEntryPoint<0x3F7FF6>=LB_c_int00UserCodeStart<_c_int00>MPNMC=0(on-chipROMmemory)ResetVector<0x3FFFCO>=_c_int00UserCodeStart<_c_int00>MPNMC=1(externalmemoryXINTF)中斷響應(yīng)過程CPU動作 描述T ST0 AH ALPH PLAR1 AR0DP ST1DBSTAT IERPC(msw) PC(lsw)寄存器PUSH堆棧

14個(gè)寄存器被自動保存(..)

0

?

IFR(bit) 請IFR位

0

?

IER(bit) 清IER位

1

?

INTM/DBGM 禁止全局中斷/Debug事件

Vector

?

PC加載中斷向量表給PC指針

Clearotherstatusbits

清LOOP,EALLOW,IDLESTAT4.TMS320F28335內(nèi)存映射/BOOTROMTMS320F28335內(nèi)存映射TMS320F28335初始化引導(dǎo)匯編程序InitBootRESET初始化器件:OBJMODE=1AMODE=0M0M1MAP=1DP=0OVM=0SPM=0SP=0x000400

DummyReadCSMpasswordsCallBootModeSelectExitBootFlash的啟動順序H0SARAM(8K)0x3F7FF60x3D80000x3F80000x3FF0000x3FFFC0BootROM(4K)BROMvector(32)0x3FFC00BootCodeRESET0x3FFC00{SCANGPIO}FLASH(128K)Passwords(8)_c_int00LBC–startroutine“rts2800_ml.lib”“user”codesections_c_int00Boot.asmmain(){……return;}2345116or32dispatched1664Aligned64-bitfetch2-leveldeepfetchbuffer64C28xCoredecoderunit加速Flash執(zhí)行速度-流水線FlashPipelineEnable

0=disable(default) 1=enableENPIPEreserved1501FOPT@0x000A80CCS編程插件CodeSecurityModule(CSM)受CSM保護(hù)的存儲區(qū):L0、L1、OTP、Flash在受保護(hù)區(qū)域里面運(yùn)行的程序才能讀寫限制區(qū)的數(shù)據(jù)任何其他的數(shù)據(jù)讀寫都被拒絕:JTAG調(diào)試,ROM引導(dǎo),運(yùn)行在片外或者片內(nèi)非保護(hù)區(qū)的程序LOSARAM(4K)L1SARAM(4K)OTP(1K)FLASH(128K)reserved0x0080000x0090000x3D78000x3D8000reserved0x00A0000x3D7C00CSMRegistersAddressNameResetValue Description0x000AE0KEY00xFFFF 128位KEY寄存器的低位字0x000AE1KEY10xFFFF 128位KEY寄存器的第二個(gè)字0x000AE2KEY20xFFFF 。。0x000AE3KEY30xFFFF 。。0x000AE4KEY40xFFFF 。。0x000AE5KEY50xFFFF 。。0x000AE6KEY60xFFFF 。。0x000AE7KEY70xFFFF 128位KEY寄存器的高位字0x000AEFCSMSCR0xFFFF CSM狀態(tài)與控制寄存器KeyRegisters(EALLOWprotected)AddressNameResetValue Description0x3F7FF8PWL0userdefined 128位密碼的低位字0x3F7FF9PWL1userdefined 。。0x3F7FFAPWL2userdefined 。。0x3F7FFBPWL3userdefined 。。0x3F7FFCPWL4userdefined 。。0x3F7FFDPWL5userdefined 。。0x3F7FFEPWL6userdefined 。。0x3F7FFFPWL7userdefined 128位密碼的高位字PWLinmemory–reservedforpasswordsonlyCSM的安全解鎖上電或者復(fù)位的時(shí)候CSM被鎖的CSM的解鎖:對FLASH的每個(gè)密碼執(zhí)行一次啞讀操作(8次)往8個(gè)KEY寄存器寫入正確的密碼新的Flash器件(PWL都是0xFFFF):對PWL進(jìn)行一次讀寫,使得器件工作在非鎖定模式volatileint*CSM=0x000AE0;volatileint*PWL=0x3F7FF8;volatileinttmp;IntI;//啞讀密碼位置8次For(i=0;i<8;i++)tmp=PWL++;//讓KEY寄存器寫密碼Asm(“EALLOW”)*CSM++=PAWWWORD0;……*CSM++=PAWWWORD7;Asm(“EDIS”)TMS320F28335SCI引導(dǎo)函數(shù)代碼從SCIA或者XINTF傳輸?shù)絻?nèi)部僅支持8位的輸入數(shù)據(jù)流SCI自動波特率特性較低波特率(防止自鎖)TMS320F28335SCI-AHost/e.g.PC‘sCOM1RS232e.g.TexasMAX232RS232TxDTxDRxDRxD32TMS320F28335并行引導(dǎo)函數(shù)TMS320F28335GPIOHost/e.g.PC‘sCOM1GPIO-D616GPIO-B0..B15GPIO-D5GPIO-D6GPIO-D51234561:GPIO6拉低表示準(zhǔn)備好接受數(shù)據(jù)2:主機(jī)拉低GPIO5拉低通知DSP數(shù)據(jù)準(zhǔn)備好,DSP的Bootloader等待主機(jī)將數(shù)據(jù)發(fā)送到GPIOB3:DSP拉高GPIO6通知主機(jī)完成讀操作4:DSP等待主機(jī)拉高GPIO5確認(rèn)DSP操作5:DSP拉低GPIO6指示傳送更多的數(shù)據(jù)TMS320F28335SPIBootLoaderFunctionTMS320F28335SPISerialEEPROMDINDOUTCLK/CSSPI-MOSISPI-SOMISPI-CLKGPIO–F3STM95080–seeModule71、支持8bit寬度,不支持16bit寬度2、BootROM的數(shù)據(jù)必須被放在0地址5.F28335時(shí)鐘與控制系統(tǒng)TMS320F28335Osc/PLL時(shí)鐘模塊

PLLCR@7021hDIV3DIV2DIV1DIV0 ClockFrequency(CLKIN)0000 OSCCLKx1/2(noPLL)0001 OSCCLKx1/20010 OSCCLKx2/20011 OSCCLKx3/20100 OSCCLKx4/20101 OSCCLKx5/20110 OSCCLKx6/20111 OSCCLKx7/21000 OSCCLKx8/21001 OSCCLKx9/21010 OSCCLKx10/2PLLCRbits15:4reservedcrystalPLLClockModule4-bitPLLSelectX1/CLKINX2XTALOSCWatchdogModule/2PLLCLKOSCCLK?TMS320F28335CoreCLKINMUXXF_XPLLDIS10SYSCLKOUTHISPCPLOSPCPHSPCLKLSPCLK??1、PLL旁路2、PLL使能外設(shè)時(shí)鐘控制寄存器

PCLKCR@701ChModuleEnableClockBit0=disable1=enable0reservedreserved1234567EVAENCLKEVBENCLKreservedADCENCLKreservedreservedECANENCLKSPIAENCLKSCIBENCLK89101112131415reservedSCIAENCLKMCBSPENCLKreservedreservedHSPCLKLSPCLK高/低速外設(shè)時(shí)鐘預(yù)定標(biāo)寄存器

HISPCP@701Ah/LOSPCP@701Bh0215-3HSPCLKreservedH/LSPCLK2H/LSPCLK1H/LSPCLK0PeripheralClockFrequency000 SYSCLKOUT/1001 SYSCLKOUT/2(defaultHISPCP)010 SYSCLKOUT/4(defaultLOSPCP)011 SYSCLKOUT/6100 SYSCLKOUT/8101 SYSCLKOUT/10110 SYSCLKOUT/12111 SYSCLKOUT/140215-3LSPCLKreserved看門狗定時(shí)器如果CPU崩潰,則復(fù)位系統(tǒng)看門狗計(jì)數(shù)器獨(dú)立與CPU如果計(jì)數(shù)器溢出則復(fù)位或中斷被觸發(fā)為防止計(jì)數(shù)器溢出,CPU必須周期性的向看門狗KEY寄存器寫入0X55+0XAA序列在復(fù)位之后(30M外部時(shí)鐘)3ms之內(nèi)看門狗必須被啟用或者禁止看門狗定時(shí)器模塊6-BitFree-RunningCounterCLR/2/4/8/16/32/64OSCCLKSystemReset101100011010001000111110????8-BitWatchdogCounterCLROne-CycleDelayWatchdogResetKeyRegister55+AADetector?GoodKeyBadKey101????//33WDCR.2-0WDCR.6WDPSWDDISWDCR.7WDFLAGWDCNTR.7-0WDKEY.7-0WDCR.5-3WDCHK2-0BadWDCRKey/512OutputPulseWDRSTWDINTSCSR.1WDENINT???SCSR.0WDOVERRIDE看門狗定時(shí)控制寄存器

WDCR@7029hWDFLAGWDDIS76543210WDCHK1WDCHK0WDPS2WDPS1WDPS0WDCHK2LogicCheckBitsWriteas101orresetimmediatelytriggeredWDPrescaleSelectionBitsWatchdogDisableBit(FunctionsonlyifWDOVERRIDEbitinSCSRisequalto1)reserved15-8 WDFlagBitGetssetwhentheWDcausesaresetWritinga1clearsthisbitWritinga0hasnoeffect看門狗復(fù)位密鑰寄存器

WDKEY@7025h允許寫入的數(shù)值:55h–

在AAH之后的寫入55使能計(jì)數(shù)器AAh–

如果復(fù)位使能則計(jì)數(shù)器清零寫入其他任何值將復(fù)位CPUreservedD776543210D6D5D4D3D2D1D015-8WDKEY寫操作SequentialStep1234567891011ValueWrittentoWDKEYAAhAAh55h55h55hAAhAAh55hAAh55h23hResultNoactionNoactionWDcounterenabledforresetonnextAAhwriteWDcounterenabledforresetonnextAAhwriteWDcounterenabledforresetonnextAAhwriteWDcounterisresetNoactionWDcounterenabledforresetonnextAAhwriteWDcounterisresetWDcounterenabledforresetonnextAAhwriteCPUresettriggeredduetoimproperwritevalue系統(tǒng)控制和狀態(tài)寄存器

SCSR@7022hWDOverride(protectbit)AfterRESET-bitgivesuserabilitytodisableWDbysettingWDDISbit=1inWDCR

clearonlybitanddefaultsto1afterreset0=protectsWDfrombeingdisabledbys/w

bitcannotbesetto1bys/w(clear-onlybywriting1)1=(defaultvalue)allowsWDtobedisabledusingWDDISbitinWDCR

oncecleared,bitcannotsetto1bys/w01215-3WDOVERRIDEWDENINTWDINTSreservedWDEnableInterruptWDInterruptStatus(readonly)0=active1=notactive0=WDgeneratesaDSPreset1=WDgeneratesaWDINTinterrupt低功耗模式LowPowerModeCPULogicClockPeripheralLogicClockWatchdogClockPLL/OSCNormalRunIDLESTANDBYHALTonoffoffoffononoffoffonononoffonononoff低功耗方式控制0寄存器

LPMCR0@701Eh017-215-8LPM0LPM1QUALSTDBYreservedLowPowerModeEntering1.SetLPMbits2.Enabledesiredexitinterrupt(s)3.ExecuteIDLEinstruction4.ThePowerdownsequenceofthehardwaredependsonLPmodeLowPowerModeSelection00=Idle01=Standby1x=HaltQualifybeforewakingfromSTANDBYmode000000=2OSCCLKs000001=3OSCCLKs111111=65OSCCLKS.........低功耗模式控制1寄存器

LPMCR1@701FhWakedevicefromSTANDBYmode0=disable1=enable0WDINTSCIRXBC2TRIPC5TRIPT3CTRIP123456789101112131415XINT1XNMIT2CTRIPT1CTRIPC3TRIPT4CTRIPC4TRIPC1TRIPC6TRIPSCIRXACANRXAIDLESTANDBYHALTRESETyesyesyesExternalorWakeupInterruptsyesyesnoyesnonoExitInterruptLowPowerModeEnabledPeripheralInterruptsNote:ExternalorWakeupincludeXINT1,PDPINT,TxCTRIP, CxTRIPNMI,CAN,SPI,SCI,WD低功耗模式退出6.F28335I/O口TMS320F28335GPIOMUX/DIR寄存器Address Register Name 70C0h GPAMUX GPIOAMuxControlRegister70C1h GPADIR GPIOADirectionControlRegister70C2h GPAQUAL GPIOAInputQualificationControlRegister70C4h GPBMUX GPIOBMuxControlRegister70C5h GPBDIR GPIOBDirectionControlRegister70C6h GPBQUAL GPIOBInputQualification

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論