版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP原理及应用——跟我动手学TMS320F2833x电气信息类专业课程DSP原理及应用DSP概述第一章Question:什么是DSP?数字信号处理的实现DSP特点DSP芯片的分类DSP的发展历史与现状DSP的应用DSP的发展趋势DSP概述DSP概述DigitalSignalProcessing
数字信号处理(方法)DigitalSignalProcessor
数字信号处理器什么是DSP?DSP概述自动化专业电气工程专业信息是基础控制是核心立足于系统8086实际不用,仅仅在课本中MCU51单片机简单的控制和处理DSP高速控制和处理ARM连通性电气设备控制
信息采集和处理DSPDSP概述Question:什么是DSP数字信号处理的实现DSP特点DSP芯片的分类DSP的发展历史与现状DSP的应用DSP的发展趋势DSP概述信号采集SignalSampling数字处理DigitalProcessing信号输出SignalOutput数字信号处理系统基本组成DSP概述
TheCompleteSignalProcessingChainandPowerArchitecturePowerManagementSignalConditioningTemperaturePressurePositionSpeedFlowHumiditySoundLightTheRealWorldAnalog
SignalConversiontoDigitalDigitalSignalConversiontoAnalogSignalConditioningDigitalSignalProcessorInterfaceClocks&timers什么是DSP信号处理解决方案?Question:什么是DSP数字信号处理的实现DSP特点DSP芯片的分类DSP的发展历史与现状DSP的应用DSP的发展趋势DSP概述DSP特点片内有多条总线(程序数据总线、程序地址总线、数据总线和数据地址总线等),采用了数据总线和程序总线分离的哈佛(Harvard)结构及改进的哈佛结构,可以同时进行取指令和多个数据存取操作;DSP大多采用流水线操作,从而在不提高时钟频率的条件下减少了每条指令的执行时间;针对滤波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP大都配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加两个运算;多处理单元结构。DSP内部一般包含多个处理单元,如硬件乘法器(MUL)、累加器(ACC)、算术逻辑单元(ALU)、辅助算术单元(ARAU)等。快速的指令周期。DSP芯片采用上述哈佛结构、流水线操作,并设计了专用的硬件乘法器和特殊DSP指令,使得DSP芯片的指令周期能够达到数十纳秒至几纳秒;资源丰富,接口方便:定时器、ADC、PWM模块等,与外设芯片通信的接口,如McBSP、SPI、I2C、XINTF等。
快实时处理和控制冯·诺依曼(VonNeumann)结构与哈佛(Harvard)结构MemoryDataandInstructionsCPUaddressbusdatabus
VonNeumannProgramMemoryInstructionsonlyCPUPMaddressbusPMdatabusDataMemoryDataonlyDMaddressbusDMdatabus
HarvardProgramMemoryInstructionsonlyCPUPMaddressbusPMdatabusDataMemoryDataonlyDMaddressbusDMdatabus
SuperHarvardI/OController
dataInstructioncache采用流水线操作,减少了每条指令的执行时间;采用哈佛结构的DSP处理器哈佛结构的指令流的定时关系哈佛总线结构也为流水线操作的高效运行提供了保障。硬件乘法器,单周期MAC运算;WhatarethetypicalDSPalgorithms?TheSumofProducts(SOP)isthekeyelementinmostDSPalgorithms:专用硬件乘法器
单周期MAC指令,实现单周期乘加运算零开销循环
处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1.专门的寻址方式
模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)等。DSPvs单片机DSP具有高速的运算能力。DSP比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍。DSP提高了FFT(快速傅里叶变换)和滤波器的运算速度。出现DSP与MCU优势互补的趋势,C2000是个典型例子TI公司将C2000DSP、MSP430和M3归为MCUQuestion:什么是DSP数字信号处理的实现DSP特点DSP芯片的分类DSP的发展历史与现状DSP的应用DSP的发展趋势DSP概述按数据格式分
定点浮点按用途分
通用专用Question:什么是DSP数字信号处理的实现DSP特点DSP芯片的分类DSP的发展历史与现状DSP的应用DSP的发展趋势DSP概述1978年AMI公司推出S28111979年Intel公司推出商用的可编程器件29201980年,日本NEC公司推出第一个具有乘法器的商用DSP芯片PD7720DSP生产厂商数字信号处理器(DSP)是对信号实现高速实时处理和控制的一种高性能CPU1982美国TI公司研发出第一块DSP当今DSP市场由TI、ADI、FREESCALE、RENESAS等多家公司占据德州仪器创新历史永无止境50年代-60年代
70年代-80年代
90年代-现在
1954生产首枚商用硅晶体管;设计第一个商用晶体管收音机
1958
JackKilby发明首块集成电路(IC)
1967发明手持式电子计算器
1978推出首个单片语言合成器,并应用于读写学习机
1974推出单芯片微处理器1985推出第个4兆比特动态存储器
1982TI推出第一颗单芯片数字信号处理器1993展示采用DMD技术的数字光源投影设备
1996宣布推出0.18微米工艺的Timeline技术1997推出业界最强大的DSP-TMS320C6x每秒执行16亿条指令2000推出业界功能强大的OMAP处理平台2005TI推出全球首款单芯片手机解决方案2006TI推出达芬奇技术C64x+TM2004TI推出全球首枚1GHzDSPC5000C6000C2000EfficientIntegrationforControlDSCPowerEfficientPerformanceDSPHighPerformance‘C’EfficiencyDSPTexasInstrumentsDSP/DSC-PortfolioTMS320–FamilyBranchesTexasInstruments’TMS320familyDifferentfamiliesandsub-familiesexisttosupportdifferentmarkets.LowestCostControlSystemsMotorControlStorageDigitalCtrlSystemsC2000C5000
EfficiencyBestMIPSperWatt/Dollar/SizeWirelessphonesInternetaudioplayersDigitalstillcamerasModemsTelephonyVoIPC6000MultiChannelandMultiFunctionApp'sCommInfrastructureWirelessBase-stationsDSLImagingMulti-mediaServersVideoPerformance&BestEase-of-UseC2000ControlApplicationsIndustrialDrivesServoControlHomeappliancesElectricPowerSteeringDigitalMotorControl3-phasemeteringwithPLCTorque,pressure,liquidflow,orgassensorsAutomotiveRadarSubwoofersAdvancedSensingDigitalPowerSuppliesCommercial,Industrial,&ConsumerUPSMulti-channelDC/DCconvertersSolar&WindinvertersHybridVehiclesFast,highresolutionsignalprocessingPeripheralsuiteoptimizedforcontrolapplicationsDigitalMotorControlDigitalPowerSuppliesC2000DigitalSignalControllersMakeGreenaRealityEnergyefficiencyiskeyforalltheseapplicationsAdvanced
SensingOpticalNetworkingControloflaserdiodeDigitalPowerSupplyProvidescontrol,sensing,PFC,andotherfunctionsPrinterPrintheadcontrolPaperpathmotorcontrolEvaluatingOtherSegmentse.g..MusicalInstrumentsNon-traditional
MotorControl
ManynewcoolapplicationstocomeBroadC28x™ApplicationBasePerformanceFutureDevelopmentSamplingProductionDeviceC281x150MIPS128-256KBFlash12.5MSPSADCFrom$13.85C280x60-100MIPS32-256KBFlash150psPWM12Pin-compatible
devices
From$3.2510Devices
LF/C240xAC24xTM40MIPS16-64KBFlash10-bitADCFrom$2C2000TMDigitalSignalControllerPortfolioLowerCostHigherPerformance12Devices
C280x8Devices
C281x33SoftwareCompatibleDevices
F28332F28334F28335F2833xUpto150MIPS/300MFLOPS128-512KBFlash6-ChannelDMAFrom$13.30SamplingSeptember2007ControlPerformanceFutureofControl:ImprovedIndustrialDrive,ImprovedSystemDensityforONET,etc.Multi-Function,Appliance
&ConsumerControlF2801100MIPSF2806100MIPSF2808100MIPSSoftwareCompatibleF2810
150MIPSInSiliconAnnouncedHigh-PrecisionUni-processorControlforApplicationsfromIndustrialDrivestoAutomotiveC2810150MIPSC2811150MIPSC2812150MIPSSamplesDecember04Higherperformance
GreaterintegrationF2811
150MIPSF2812
150MIPSC24xF24xLC240xALF240xAR2811
150MIPSR2812
150MIPSRoadmapofTMS320C2000™DSC’s2007EDNInnovationAward,F28044F283xx:FirstFloating-PointDigitalSignalControllersC2000Controllers:10YearsofInnovationfor
IndustrialApplicationsAnMCUwiththepowerfulprocessing
ofaDSPTensofmillionsshippedtothousandsofcustomers2001C28x:First32-bitDigitalSignalControllers1997Industry'sFirstDSPwithEmbeddedFlashandADC2005ProductoftheYearGreenPowerController“AnalogZone”,F2801InnovationPathC2000TMDigitalSignalControllersCombine
ThePowerofDSPandtheSimplicityofMCU
MathCodeEfficiencyHighLow
Control
CodeEfficiencyHighLow
C2000
DigitalSignalControllerSimplesystemcontrolIntegrationforsystemefficiencyandlowcostHighDSPperformanceDSPAlgorithmicprocessing
powerDedicatedhardwareformathintensivefunctionsControlsavvycoreFlashmemoryFlexible,robustperipheralsAnalogintegration
MCUNaturalMigrationAnMCUwiththepowerfulprocessingcoreofaDSPMCUDSPTMS320器件命名方法Question:什么是DSP数字信号处理的实现DSP特点DSP芯片的分类DSP的发展历史与现状DSP的应用DSP的发展趋势DSP概述
DSP技术计算机电子计算机硬件计算机软件电子技术数字信号处理DSP的知识平台学习内容及方法TMS320F2833x系列DSP学习要点DSP的结构、特点及资源;CCS软件开发环境使用方法;DSP最小系统配置,如PLL、看门狗、PIE、系统中断、GPIO、CPU定时器等;片上各外设的结构、原理及应用,如AD、SPI、SCI、McBSP、PWM等;基本数字信号处理方法的编程实现,如IIR、FIR滤波、FFT算法;DSP系统的设计思路与方案。DSP原理及应用——跟我动手学TMS320F2833x电气信息类专业课程DSP原理及应用DSP性能与组成第二章DSP性能与组成TMS320F2833xDSP是TI公司新推出的一款浮点型数字信号处理器。它在已有的C2000DSP平台上增加了浮点内核,在保持原有C2000DSP特点的同时,又提高了运算速度。此外,F2833x也新增了一些外设模块,例如,DMA,I2C,ePWM,HRPWM,并增大了片上的存储空间。TMS320F2833x性能-1高性能静态CMOS技术:最高可达150MHz时钟频率;高性能32位CPU(TMS320C28x):IEEE-754标准的单精度浮点运算单元(FPU),16×16和32×32的乘法累加操作,双16×16乘法累加单元,6通道DMA控制器:可与ADC、McBSP、ePWM、XINTF及SARAM通信。16位或32位的外部接口XINTF:最大可达2M×16位的访问地址空间BootROM(8K×16位):带软件引导模式(如通过SCI、SPI、CAN、I2C、McBSP、XINTF及并行I/O口),带标准的数学表时钟和系统控制:支持动态配置PLL,片上振荡器,带看门狗外部中断:GPIO0~GPIO63可以连接到8个外部内核中断的任一个DSP性能与组成TMS320F2833x性能-2外设中断扩展(PIE)模块:支持全部58个外设中断128位安全密码锁:保护Flash/OTP/RAM模块,防止系统固件被盗取增强型控制器外设:最多可达18个PWM输出、6个HRPWM输出、6个事件捕获输入、2个正交编码接口、8个32位/9个16位定时器。3个32位CPU定时器串行接口外设:最多有2个CAN模块、3个SCI(UART)模块、2个McBSP模块(可配置为SPI),1个SPI模块、1个I2C模块时钟和系统控制:支持动态配置PLL,片上振荡器,带看门狗12位的ADC,具有16转换通道:80ns的快速转换时间,2个8通道的多路输入选择器,2个采样保持器,单次/连续转换模式,内部/外部基准电压DSP性能与组成TMS320F2833x性能-3多达88个独立可编程复用的GPIO口(带输入滤波)支持JTAG边界扫描高级仿真性能:分析和设置断点功能,硬件实时调试功能。开发工具支持包括:ANSIC/C++编译器/汇编器/连接器,CCS,DSP/BOIS,数字电机控制和数字电源软件库支持低功耗和节能模式:支持IDLE、STANDBY、HALT模式,支持外设模块时钟的独立禁止DSP性能与组成特性F28335(150MHz)F28334(150MHz)F28332(100MHz)指令周期6.67ns6.67ns10ns浮点运算单元有有有片上3.3VFlash存储器(16位字长)256K128K64K单口随机存储器SARAM(16位字长)34K34K26KOTP只读存储器(16位字长)1K1K1K片上Flash、SARAM、OTP模块密码保护有有有BootROM(8K×16)有有有16/32位外部接口(XINTF)有有有6通道直接存储器访问(DMA)有有有PWM输出ePWM1/2/3/4/5/6ePWM1/2/3/4/5/6ePWM1/2/3/4/5/6HRPWM通道ePWM1A/2A/3A/4A/5A/6AePWM1A/2A/3A/4A/5A/6AePWM1A/2A/3A/4A32位捕获输入或辅助PWM输出eCAP1/2/3/4/5/6eCAP1/2/3/4eCAP1/2/3/432位QEP通道(每通道4输入)eQEP1/2eQEP1/2eQEP1/2看门狗定时器有有有12位ADC通道数161616最大转换速率12.5MSPS12.5MSPS12.5MSPS转换时间80ns80ns80ns32位CPU定时器3个3个3个TMS320F2833x性能资源比较-1DSP性能与组成DSP性能概述TMS320F2833x性能资源比较-2特性F28335(150MHz)F28334(150MHz)F28332(100MHz)32位CPU定时器3个3个3个多通道缓冲串行口(McBSP,可用作SPI)2个(A/B)2个(A/B)1个(A)串行外设接口(SPI)1个1个1个串行通信接口(SCI)3个(A/B/C)3个(A/B/C)2个(A/B)增强型CAN控制器(eCAN)2个(A/B)2个(A/B)2个(A/B)I2C接口1个1个1个通用I/O引脚(与功能引脚共用)88个88个88个外部中断8个8个8个DSP性能概述TMS320F2833x引脚JTAGFlashCLOCKRESETCPU及I/O电源GPIO及外设信号(176引脚)DSP性能概述TMS320F2833x功能模块DSP性能概述TMS320F28335存储映射外设帧0、1、2、3存储器映射只限于数据存储,用户程序无法在程序空间访问这些存储空间保护是指“其后紧跟读的写”操作顺序是受保护的某些存储空间是受EALLOW保护的0x380080到0x38008F地址范围内的内容包含了ADC校准程序,用户不可对此空间进行编程DSP性能概述TMS320F28335Flash空间地址范围程序和数据空间0x300000-0x307FFF区段H(32Kx16)0x308000-0x30FFFF区段G(32Kx16)0x310000-0x317FFF区段F(32Kx16)0x318000-0x31FFFF区段E(32Kx16)0x320000-0x327FFF区段D(32Kx16)0x328000-0x32FFFF区段C(32Kx16)0x330000-0x337FFF区段B(32Kx16)0x338000-0x33FF7F0x33FF80-0x33FFF50x33FFF6-0x33FFF70x33FFF8-0x33FFFF区段A(32Kx16)使用代码安全模块时,该区域需编程为0Flash启动入口处(此处编写跳转指令)安全密码(128位,不要全写为0)DSP资源简述TMS320F2833x资源C28xCPU+FPUDSP资源简述TMS320F2833x资源存储器总线(哈佛总线结构):程序读总线、数据读总线和数据写总线。程序读总线由22位地址线和32位数据线组成。数据读、写总线由32位地址线和32位数据线组成。外设总线:外设总线桥可以复用不同总线,将存储器总线整合为包含16位地址线和16或32位数据线以及相关控制信号的单总线。实时JTAG仿真分析:F2833x采用标准的IEEE1149.1JTAG接口,支持实时操作模式。外部接口XINTF:包括20位地址线,32位数据线和3个片选线。片选线被映射到3个外部区域,区域0、6和7。Flash:F28335包含256K×16位,分成了8个32K×16位的扇区;F28334包含128K×16位的Flash存储器,分成了8个16K×16位的扇区;F28332包含64K×16位的Flash存储器,分成了4个16K×16位的扇区。M0、M1SARAM:F2833x包含两块个单口RAM存储器,每块大小为1K×16位。L0~L7SARAM:F28335/F28334包含32K×16位的单口RAM,并被分成8块(L0~L7,每块4K);F28332包含24K×16位的单口RAM,并被分成6块(L0~L5,每块4K);DSP资源简述BootROM:出厂时的引导程序,在上电时,引导模式信号提供给boot-loader软件,用以决定使用何种引导模式。序号GPIO87/XA15GPIO86/XA14GPIO85/XA13GPIO84/XA12模式F1111跳转至FlashE1110SCI-A引导D1101SPI-A引导C1100I2C-A引导B1011eCAN-A引导A1010McBSP-A引导91001跳转至XINTF(×16)81000跳转至XINTF(×32)70111跳转至OTP60110并行GPIO引导50101并行XINTF引导40100跳转至SARAM30011检查引导模式20010跳转至Flash,跳过ADC校准10001跳转至SARAM,跳过ADC校准00000跳转至SCI,跳过ADC校准DSP资源简述TMS320F2833x资源外设中断扩展(PIE):支持多达96个中断,其中有58个是用于外设的。96个中断以8个为一组进行分组,每组都连接到CPU中断线上(INT1~INT12)。外部中断(XINT1~XINT7,XNMI):F2833x支持8个可屏蔽的外部中断(XINT1~XINT7,XNMI)。XNMI可以被连接到CPU的INT13或NMI中断上。每个中断可以选择为下降沿触发、上升沿触发或下降沿及上升沿触发,也可以使能或禁止(包括XNMI)。振荡器和PLL:可以由外部振荡器或连接在片上的晶振电路提供时钟,PLL可以实现高达10倍的倍频。看门狗:可以被禁用。外设时钟:每个外设的时钟都可以独立的使能/禁止,所以当某一外设不使用时,可以禁止其时钟,以减少系统功耗。低功耗:空闲模式(IDLE)、等待模式(STANDBY)、暂停模式(HALT)。32位CPU定时器(0、1、2):32位的减计数寄存器,16位的时钟分频。控制外设:ePWM、eCAP、eQEP、ADC。串行端口:eCAN、McBSP、SPI、SCI、I2C。TMS320F2833x最小系统硬件最小系统引脚连接TMS320F2833x最小系统硬件电源与复位TMS320F2833x最小系统硬件电源与退耦电容TMS320F2833x最小系统硬件时钟使用内部振荡器使用1.9/1.8V外部时钟输入使用3.3V外部时钟输入TMS320F2833x最小系统硬件JTAG接口第3章CCS集成开发环境DSP系统的开发包括硬件和软件两部分。在确定了硬件平台这一载体后,还需要合适的软件环境支持才能高效地开发软件。为了使用户快速开发基于DSP的应用系统,TI公司提供了多种开发工具,为用户提供良好的平台。CCS(CodeComposerStudio)是TI公司推出的具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。
本章主要是介绍CCSv5开发环境,较以往的其他版本相比,该版本功能更强大、性能更稳定、可用性更高,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。3.1CCSv5的安装
安装CCS软件前,需先将杀毒软件退出,且其安装路径指定的名称中不能含有中文字符。CCS软件的安装过程如下:1)打开CCSv5的安装软件目录,双击目录中安装程序ccs_setup_0031.exe,选择接受许可证协议,出现路径选择界面如图3-1所示,CCSv5软件默认安装路径为“C:\ti”。如果想要更改安装路径,可在其他路径下新建安装文件夹,需要注意的是文件夹名称需要用英文命名。此处选择默认路径并单击“Next”,弹出如图3-2界面。2)如图3-2所示界面,选择“Custom”选项,单击“Next”弹出如图3-3界面。
图3-1路径选择界面图3-2安装模式选择界面图3-3处理器选择界面3.1CCSv5的安装3)在图3-3中选择需要连接的目标板类型,为了安装方便,在进行F2833x系列DSP芯片的开发时,只选择支持“C28X32-bitReal-timeMCUs”的选项。连续单击“Next”,保持默认配置,直至进入图3-4所示的安装进度界面。4)安装结束后弹出如图3-5所示的安装完成界面。单击“Finish”,将运行CCS,弹出如图3-6所示Workspace选择界面。打开“我的电脑”,在某一磁盘下,创建以下文件夹路径:\TMS320F2833x\Workspace,单击“Browse”,将工作区间链接到所建文件夹。
图3-4安装进度界面图3-5软件安装完成图3-6Workspace选择界面5)单击“OK”,第一次运行CCS需进行软件许可的选择,如图3-7所示。选择“ACTIVATE”进行软件许可操作,可以参考以下链接进行认证:/index.php/GSG:CCSv5_Running_for_the_first_time。认证完成后单击“Finish”,即可进入CCSv5软件开发集成环境,如图3-8所示。3.1CCSv5的安装
图3-7软件许可设置界面图3-8CCSv5软件开发集成环境界面3.2CCSv5工程举例3.2.1导入已有CCS工程1)首先打开CCSv5并确定工作区间,选择“File—>Import”或者在工程管理器区间单击右键选择“Import”,弹出图3-9窗口。如果需要导入的工程是由CCSv3.3创建的,则在“CodeComposerStudio”中选择“LegacyCCSv3.3Projects”;如果导入工程是由CCSv4或CCSv5创建的,则在此项选择“ExistingCCS/CCEEclipseProjects”。2)单击“Next”进入图3-10对话框。3)单击“Browse”选择需导入的工程所在目录,单击“Next”,如图3-11所示。4)单击“Finish”,即可完成既有工程的导入。
图3-9导入新的CCSv5工程文件
图3-10选择导入工程目录图3-11选择导入工程3.2.2新建CCS工程1)首先打开CCSv5并确定工作区间,然后选择“File—>New—>CCSProject”弹出图3-12所示对话框。3.2CCSv5工程举例2)在“Projectname”中输入新建工程的名称,工程名称需用英文命名,在此命名为CCSv5Demo。3)在“Outputtype”中有两个选项:“Executable”和“Staticlibrary”,前者为构建一个完整的可执行程序,后者为静态库。在此选择“Executable”。图3-12新建CCS工程对话框4)在“Device”部分选择器件的型号:“Family”中选择“C2000”;“Variant”中选择“2833xDelfino”,芯片选择“TMS320F28335”;“Connection”选项可先保持空白,在后面的介绍中将会进行配置。5)在“Projecttemplatesandexamples”中选择“EmptyProject”,然后单击“Finish”完成新工程的创建。6)创建的工程将显示在“ProjectExplorer”中,如图3-13所示。可见,CCS自动生成了一个main.c文件,并包含了28335_RAM_lnk.cmd文件和一些.h文件。若要新建或导入已有.h或.c文件,可按照如下步骤操作:7)新建.h文件:在工程名上单击右键,选择“New—>HeaderFile”得到图3-14对话框。在“Headerfile”中输入头文件的名称,注意必须以.h结尾,在此命名为IIR.h。单击“Finish”即可完成新建.h文件。3.2CCSv5工程举例
8)新建.c文件:在工程名上右键单击,选择“New—>SourceFile”得到图3-15对话框。在“Sourcefile”中输入.c文件的名称,注意必须以.c结尾,在此输入IIRMain.c。单击“Finish”即可完成新建.c文件。3.2CCSv5工程举例
图3-13初步创建的新工程图3-14新建.h文件对话框
图3-15新建.c文件对话框9)导入已有.h或.c文件:在工程名上右键单击,选择“AddFiles”得到如图3-16对话框。找到所需导入的文件位置,单击打开。在所弹出的对话框中选择“Copyfiles”,单击“OK”,即可将已有文件导入到工程中。10)跳过编译或删除文件:若工程中不需要某文件,则可将该文件跳过编译,例如,右击main.c,选择“ResourceConfiguration—>ExcludefromBuild”,弹出跳过编译对话框,如图3-17所示。可以选择在何种模式下(Debug或Release)跳过对该文件的编译。若需将该文件彻底删除,可右击mian.c,选择“delete”。3.2CCSv5工程举例图3-16导入已有文件对话框图3-17跳过编译对话框3.2.3编写CCS工程3.2CCSv5工程举例系统文件主要有:.h文件:片内各外设寄存器对应的结构体、联合体类型的声明及变量类型、全局变量的宏定义等。.c文件:比较重要的是寄存器变量的定义及空间映射文件DSP2833x_GlobalVariableDefs.c,还有一些通用的系统或者外设初始化源代码文件和其它的外设.c文件。.asm文件:汇编文件中,主要需要包含片上ADC校准文件、程序代码启动跳转文件及微秒延时文件。在Flash烧写时,如果需烧写密码,还可以添加DSP2833x_CSMPasswords.asm文件。3.2.3编写CCS工程3.2CCSv5工程举例.cmd文件:一般包含两个,其中一个是是片上寄存器的空间映射。另一个cmd文件,如果为RAM工程,则需添加28335_RAM_lnk.cmd;如果为Flash工程,则需添加F28335.cmd文件。.lib文件:实时运行库文件,如rts2800_ml_eh.lib。.gel文件:对于F28335,应添加f28335.gel文件。GEL(GeneralExtensionLanguage)文件在配置目标板链接文件时设置,其可用来配置CCS开发环境并可初始化CPU,如在DSP板连接上CCS后,可通过菜单“Scripts—>SetPLLRatio”配置PLL分频系数。对于F28332、F28334型号DSP芯片,需添加各自的.gel文件。3.2CCSv5工程举例这里举一简单2阶IIR滤波应用实例,在IIRMain.c中编写如下程序代码:#include"DSP2833x_Device.h" //包含头文件#include"DSP2833x_Examples.h" //包含头文件#include<math.h> //包含库文件#include<stdlib.h> //包含库文件#include"IIR.h" //包含头文件//-----程序变量定义及宏定义----//#defineLEN 500 //定义信号长度500#definePI3.1415926 //定义圆周率volatilefloatSignal[LEN+2];
//原始信号数组,因采用2阶IIR滤波,故数组长度加2volatilefloatSignalFiltered[LEN+2];//滤波后信号数组,因采用2阶IIR滤波,故数组长度加2volatilefloatNoise[LEN]; //随机噪声信号数据//2阶IIR滤波器参数,由matlab中butter函数生成,这里为120Hz的低通,采样频率为2KHzvolatilefloatIIR_A[3]={1.0,-1.475480443592646,0.586919508061190};//分母volatilefloatIIR_B[3]={0.027859766117136,0.055719532234272,0.027859766117136};//分子3.2CCSv5工程举例//-----------------------------------------主程序----------------------------------//voidmain(void){Uint16i;floatamp=1.0,fre=94.0,fs=2000; //信号参数定义//系统和中断向量表初始化
InitSysCtrl();DINT;
InitPieCtrl();IER=0x0000;IFR=0x0000;
InitPieVectTable();Signal[0]=0;Signal[1]=0;
//初始化数组
SignalFiltered[0]=0;SignalFiltered[1]=0;//初始化数组for(i=2;i<LEN+2;i++){
//在基频信号上叠加3倍频干扰,幅度为基频信号的0.2倍
Signal[i]=amp*sin(2.0*PI*fre/fs*i)+0.2*amp*sin(2.0*PI*3.0*fre/fs*i);
//产生随机噪声:rand()%1000产生0~999的随机数,减500去偏置,
//范围变成-500~499,再除以500归一化并将噪声幅度限定为信号幅度的0.1倍
Noise[i-2]=0.1*amp*(rand()%1000-500)/500;
Signal[i]=Signal[i]+Noise[i-2]; //叠加上随机噪声
}
//调用滤波函数
IIR2filter(Signal,SignalFiltered,LEN);
for(;;) {}//空循环
}3.2CCSv5工程举例//---------------------------------------------IIR滤波程序-----------------------------------------------------//voidIIR2filter(volatilefloat*Sig,volatilefloat*SigFil,Uint16len){
Uint16i=0;
for(i=2;i<len+2;i++)
SigFil[i]=(Sig[i]*IIR_B[0]+Sig[i-1]*IIR_B[1]+Sig[i-2]*IIR_B[2]-SigFil[i-1]*IIR_A[1]-
SigFil[i-2]*IIR_A[2])/IIR_A[0];}IIR.h中的程序内容如下:#ifndefIIR_H_
#defineIIR_H_
voidIIR2filter(volatilefloat*Sig,volatilefloat*SigFil,Uint16len);#endif
程序中所包含的两个DSP头文件,主要是对DSP通用系统函数、变量类型及相关宏定义的声明。包含math.h文件是因为程序用到了sin函数指令,包含stdlib.h是因为程序中用到rand函数指令。IIR.h是与IIRMain.c相对应的头文件。一般程序采用模块化编写方式,每个模块都包含一个.c和一个.h文件,.c文件负责变量、函数定义,而.h文件负责声明,这样有利于程序的移植。
主程序中,主要是完成对系统时钟、看门狗及PIE中断向量表的初始化。程序编写完成后,通过“project—>BuildProject”命令就能对源文件就行编译,根据错误提示窗口的提示对源代码进行修改。3.2CCSv5工程举例
编译结果在“Console”窗口显示,如图3-17所示,如果程序有语法错误,会在“Problems”窗口中显示,如图3-18所示。这里,程序编译通过,“Problems”窗口中无错误记录,且在“Console”中显示已经生成“CCSv5Demo.out”文件。图3-17Console界面窗口图3-18Problems界面窗口3.2.4CCSv5工程调试3.2CCSv5工程举例1.目标配置文件
首先安装仿真器驱动程序,安装好后,新建目标配置文件。右击工程名,选择“New—>TargetConfigurationFile”,弹出“NewTargetConfiguration”对话框,如图3-19所示。这里设置文件名为“SEED-XDS510PLUS-F28335”,并存放在工程文件夹下,点击“Finish”,进入目标配置文件的设置对话框,如图3-20、3-21所示。
在图3-20所示的“Basic”选项中,“Connection”栏选择“SEEDXDS5100PLUSEmulator”仿真器,“BoardorDevice”选择“TMS320F28335”。
在图3-21所示的“Advanced”选项中,“initializationscript”栏选择“f28335.gel”文件。图3-19新建目标板配置文件对话框图3-20目标配置文件-Basic选项卡图3-21目标配置文件-Advanced选项卡3.2CCSv5工程举例2.下载调试工程
硬件上接好F28335DSP开发板、仿真器,并给开发板上电,然后即可在CCS上对工程进行调试。
1)下载,单击绿色的Debug按钮
进行下载调试,待下载完成后,选择“View—>Debug”打开“Debug”窗口,如图3-22所示。图3-22调试窗口界面3.2CCSv5工程举例运行停止暂停单步进入(c语言调试)单步跳过(C语言调试)单步退出复位CPU重新开始刷新单步跳过(汇编语言调试)单步进入(汇编语言调试)图3-23菜单栏功能3)变量查看。选择“View—>expressions”,可查看程序变量值,如将数组Signal添加到“Expressions”窗口中,如图3-24所示。此外,通过“View—>Registers”,可查看系统寄存器值。外设寄存器的值也可在“Expressions”中查看。3.2CCSv5工程举例图3-24Expressions窗口查看变量3.2CCSv5工程举例4)图形显示。变量值也能以曲线图的形式更直观的画出。选择“Tools->Graph->SingleTime”,打开“GraphProperties”对话框,如图3-25所示。这里将数组“Signal”内容画出,在“StartAddress”中,输入数组名Signal或其起始地址,“AcquisitionBufferSize”输入数组的长度,“DspDataType”选择数组变量的类型为“32bitfloatingpoint”。在“DisplayDataSize”中,输入数组总长度,设置完后,点击“OK”按钮,结果如图3-26所示。图3-25图形属性对话框图3-26图形显示窗口图
另外,CCSv5的Graph工具还可以对数据进行FFT谱分析。选择“Tools->Graph->FFTMagnitude”,进入“GraphProperties”对话框,如图3-27所示。
在“StartAddress”中,输入起始地址,“AcquisitionBufferSize”输入信号的长度500,“DspDataType”选择“32bitfloatingpoint”,“SamplingRate”中输入产生信号时的采样频率2KHz,在“FFTOrder”中选择9,“FFTFrameSize”自动变为29。为防止谱泄漏,“WindowFunction”中还可对信号加窗处理,这里选择最简单的矩形窗。最后,点击“OK”按钮,结果如图3-28所见,谱分析结果与产生的信号相符。3.2CCSv5工程举例图3-27FFT图形属性对话框
图3-28FFT谱分析结果3.2CCSv5工程举例5)数据导出/导入。程序运行数据除了在变量窗口查看、图形界面显示外,还可以导出保存。选择“Tools->SaveMemory”,弹出如图3-31所示的对话框。
在对话框中输入保存路径及文件名,点击“Next”,进入如图3-32所示的“SaveMemory”参数设置。图3-31SaveMemory对话框图3-32SaveMemory参数设置本章小结本章主要介绍CCSv5的安装、工程建立、编写、调试等基本使用方法。通过建立一个简单的工程说明了CCSv5开发应用程序的一般步骤:1)打开或建立一个工程文件。工程文件中包括源程序、库文件、链接命令文件和头文件等。2)编辑源程序(.c或.asm)、头文件(.h)、链接命令(.cmd)等。3)对工程文件进行编译链接。如有语法错误,将在“Problems”窗口中显示出来,用户可以根据显示的内容确定错误信息的位置,并更正错误。4)修改程序中的语法错误并编译,CCS将生产可执行文件(.out),通过Debug按钮可将程序load到DSP板上进行调试。5)CCSv5可进行单步、连续运行,并可设置断点;通过将变量添加到“Expressions”窗口,可查看变量、寄存器的值,通过图形窗口可将数组变量以图的形式画出,更直观反映计算结果;此外,计算结果可通过CCS的数据导出功能将DSP存储空间上的值导出至PC机,通过数据导入功能,可将数据从PC机导入到DSP存储空间上。第4章DSP系统控制与中断
4.1系统时钟和PLL4.1.1时钟信号概述
时钟电路是微处理器电路系统中的重要组成部分,是其运行的基准。TMS320F2833xDSP微处理器内部的各模块使用的时钟源是不同的,主要有5种类型的时钟信号:外部晶体(或晶振)通过管脚X1、X2或外部时钟通过XCLKIN/X1提供的时钟信号,该时钟信号记为OSCCLK。OSCCLK通过锁相环(PLL)模块后或直接送至CPU,这个时钟信号为CPU时钟输入,记为CLKIN。CLKIN输入CPU后,CPU将其输出,称为CPU时钟输出或系统输出时钟,记为SYSCLKOUT。SYSCLKOUT与CLKIN频率相同。片内外设所使用的高速外设时钟HSPCLK。这个时钟信号通过对CPU时钟SYSCLKOUT分频得到。片内外设所使用的低速外设时钟LSPCLK。这个时钟信号通过对CPU时钟SYSCLKOUT分频得到。4.1.2晶体振荡器和PLL模块4.1系统时钟和PLLF2833x系列DSP可以通过外置振荡器或外部时钟信号提供时钟,并通过内部PLL锁相环电路倍频后提供给系统。用户可以根据实际运行频率计算所需的倍频系数,并通过软件设置PLL的倍频系数。图4-1为片上外设时钟的产生。图4-1片上外设时钟的产生4.1系统时钟和PLL1.基于PLL的时钟模块F2833x芯片都有一个片上基于PLL的时钟模块,该模块有一个四位比例控制寄存器,可以为CPU选择不同的时钟频率,图4-2给出了振荡器和PLL模块的结构图。图4-2振荡器和PLL结构图
基于PLL的时钟模块可以提供以下两种操作模式:
①晶体振荡器操作:片上振荡器允许使用外部晶体振荡器为芯片提供时间基准,该晶体振荡器与X1、X2引脚相连,并且XCLKIN引脚拉低。
②外部时钟源操作:如果没有使用片上的振荡器,该模式允许内部振荡器被旁路,芯片时钟由来自X1引脚或XCLKIN引脚的外部时钟源产生。4.1系统时钟和PLLPLL模式描述PLLSTS[DIVSEL]SYSCLKOUTPLL关闭通过设置PLLSTS寄存器中PLLOFF可使PLL工作在该模式且在该模式下PLL模块被禁止。该模式可用于减少系统噪声和低功耗操作。在进入该模式前,首先需将PLLCR寄存器置零(PLL旁路)。CPU的时钟信号将直接由OSCCLK提供。0,123OSSCLK/4OSSCLK/2OSSCLK/1PLL旁路旁路模式是上电或外部复位后的默认配置。当PLLCR寄存器为0时,PLL处于旁路模式;当PLLCR寄存器内容被修改,在PLL锁定住新的频率之前,PLL也将暂时进入该模式。在这种模式下,PLL自身被旁路,但没有被关闭。0,123OSSCLK/4OSSCLK/2OSSCLK/1PLL使能通过向PLLCR寄存器写入一个非0值k来实现该模式。k的取值范围如表4-3所示。在写入非0值到PLLCR寄存器后,PLL将暂时进入旁路模式,直至PLL锁定住新的频率。0,12OSSCLK×k/4OSSCLK×k/2PLL模块的三种配置模式如表4-1所述。表4-1PLL的3种配置模式4.1系统时钟和PLLXCLKOUT信号的产生XCLKOUT信号是直接由系统时钟SYSCLKOUT产生的,如图4-3所示。XCLKOUT频率可以配置为SYSCLKOUT/1、SYSCLKOUT/2或SYSCLKOUT/4,默认状态下,XCLKOUT=SYSCLKOUT/4或XCLKOUT=OSCCLK/16。
系统复位后,该信号频率应为SYSCLKOUT/4,用户可通过检测该信号的频率来确定系统时钟是否被正确配置。XCLKOUT引脚上没有内部上拉或下拉,如果未用到XCLKOUT,可以通过将XINTCNF2寄存器中的CLKOFF位置1来将其关闭。图4-3XCLKOUT信号的产生4.1.3时钟、PLL及低功耗模块寄存器4.1系统时钟和PLLPLL状态寄存器(PLLSTS)2.PLL控制寄存器(PLLCR)3.高速外设时钟预定标寄存器(HISPCP)4.低速外设时钟预定标寄存器(LOSPCP)5.外设时钟控制寄存器0(PCLKCR0)6.外设时钟控制寄存器1(PCLKCR1)7.外设时钟控制寄存器3(PCLKCR3)8.低功耗模式控制寄存器(LPMCR0)三种低功耗模式的具体介绍如表4-2所示。PLL模式描述PLLSTS[DIVSEL]SYSCLKOUTPLL关闭通过设置PLLSTS寄存器中PLLOFF可使PLL工作在该模式且在该模式下PLL模块被禁止。该模式可用于减少系统噪声和低功耗操作。在进入该模式前,首先需将PLLCR寄存器置零(PLL旁路)。CPU的时钟信号将直接由OSCCLK提供。0,123OSSCLK/4OSSCLK/2OSSCLK/1PLL旁路旁路模式是上电或外部复位后的默认配置。当PLLCR寄存器为0时,PLL处于旁路模式;当PLLCR寄存器内容被修改,在PLL锁定住新的频率之前,PLL也将暂时进入该模式。在这种模式下,PLL自身被旁路,但没有被关闭。0,123OSSCLK/4OSSCLK/2OSSCLK/1PLL使能通过向PLLCR寄存器写入一个非0值k来实现该模式。k的取值范围如表4-3所示。在写入非0值到PLLCR寄存器后,PLL将暂时进入旁路模式,直至PLL锁定住新的频率。0,12OSSCLK×k/4OSSCLK×k/24.2看门狗模块看门狗作用:用于监视系统的运行,当程序运行混乱时(如进入死循环或程序跑飞)完成系统复位。看门狗机理:主要核心是一个定时器,当定时器时间到时复位正常运行程序过程中每次在看门狗的定时器时间到之前重启看门狗定时器。看门狗组成:1、定时器(计数器)WDCounter。
2、看门狗重启管理器(WDResetRegister)。
3、看门狗时钟发生器。
4、看门狗状态位。4.2.1看门狗模块概述4.2看门狗模块图4-1看门狗模块功能框图4.2看门狗模块看门狗时钟
外部的振荡时钟信号(OSCCLK)经过512分频器后,再经过看门狗分频器WDPS(2:0)分频产生WDCLK信号,即看门狗时钟信号。
如果看门狗控制寄存器WDCR中的WDDIS位为0,则WDCLK将作为看门狗计数器寄存器WDCNTR的计数时钟,使其计数。当该8位计数器达到其最大值时,看门狗会产生一输出脉冲
或
中断信号(其宽度为512个OSCCLK时钟周期)。2.看门狗复位、中断模式
①复位模式。如果看门狗配置为复位设备,则看门狗计数器达到最大值时,将输出信号,该信号将芯片的复位引脚拉低并维持512个OSCCLK周期。②中断模式。如果看门狗配置为请求中断,则看门狗计数器达到最大值时,信号被拉低并维持512个OSCCLK周期;若在PIE中使能了该中断,则WAKEINT将被PIE响应。看门狗中断由信号的下降沿触发,因此若在信号变成无效之前,又使能了WAKEINT中断,程序将不会立即进入下一个WAKEINT中断;下一个WAKEINT中断将在下一次看门狗溢出时发生。4.2看门狗模块3.低功耗模式下看门狗操作在STANDBY模式下,除看门狗模块继续工作外,所有片内外设时钟均关闭,因为看门狗模块是以OSCCLK作为时钟源。信号连接到了低功耗模式(LPM)模块,若该中断使能,则可用来将设备从STANDBY中唤醒。在IDLE模式下,可向CPU发送中断请求使CPU退出IDLE模式。看门狗中断连接到了PIE模块中的WAKEINT中断。在HALT模式下,振荡器和PLL均关闭,所以看门狗不工作。4.2看门狗模块4.2.2看门狗模块寄存器1.系统控制和状态寄存器(SCSR)2.看门狗计数寄存器(WDCNTR)3.看门狗复位关键字寄存器(WDKEY)4.看门狗控制寄存器(WDCR)4.332位CPU定时器4.3.1CPU定时器概述F2833x系列DSP包含3个CPU定时器,分别是CPU定时器0、1、2。定时器0、1可以被用户使用,定时器2保留给实时操作系统(DSP-BIOS)。若未用到实时操作系统,用户也可以使用定时器2。定时器工作原理:32位的计数器(TIMH:TIM)从周期寄存器(PRDH:PRD)中装载数据,每经过(TDDRH:TDDR+1)个SYSCLKOUT周期,(TIMH:TIM)减1,当计数器等于0时将产生一次中断请求信号。图4-1CPU定时器结构4.332位CPU定时器CPU定时器中断信号(TINT0,TINT1,TINT2)与CPU之间的连接如图4-2所示。图4-2CPU定时器中断信号和输出信号4.332位CPU定时器4.3.2CPU定时寄存器1.CPU定时器计数寄存器(TIMERxTIM和TIMERxTIMH,x=0,1,2)2.CPU定时器周期寄存器(TIMERxPRD和TIMERxPRDH,x=0,1,2)3.CPU定时器控制寄存器(TIMERxTCR,x=0,1,2)4.CPU定时器预定标(分频)寄存器(TIMERxTPR和TIMERxTPRH,x=0,1,2)本章小结
本章主要介绍了DSP系统控制及中断,包括时钟与PLL、看门狗、CPU定时器、PIE中断扩展。
接入DSP的时钟信号OSCCLK,经过PLL模块进行倍频及分频后(CLKIN)送入CPU内核,CPU内核输出的时钟SYSCLKOUT可以直接或经过分频后为各模块提供时钟。每个模块的时钟信号可以通过PCLKCR0/1/3独
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厨热技术考试题及答案
- 零售业市场运行分析及消费行为趋势与运营管理研究报告
- 关于办公用品采购的回复联系函7篇
- 2025-2030热水器行业技术工人流失问题与解决方案
- 项目经理通知团队参与新产品开发讨论会通知函4篇
- 项目进度管理与风险控制工作总结报告
- 建筑工程施工安全指导书
- 农村危房改造加固施工方案及技术措施
- 燃气营业厅装修施工方案及技术措施
- 乳制品设备安装施工方案及技术措施
- PCB钻孔粉尘安全培训课件
- 河湖管理范围划定技术规范
- 2025年中华民族共同体概论练习题(附答案)
- 月子中心护理管理流程及标准SOP
- 学校冷冻食品配送投标方案
- 杭州杭州市公安局上城区分局警务辅助人员招聘60人笔试历年参考题库附带答案详解
- 路肩施工安全教育培训课件
- 竖井排水工程方案(3篇)
- 内蒙古房屋市政工程施工现场安全资料管理规程
- 2025年高职院校基建处招聘面试官提问技巧与答案解析
- 广东省中山市统编版2024-2025学年四年级下册期末考试语文试卷(含答案)
评论
0/150
提交评论