CCS_DSP开发环境和实例ppt课件_第1页
CCS_DSP开发环境和实例ppt课件_第2页
CCS_DSP开发环境和实例ppt课件_第3页
CCS_DSP开发环境和实例ppt课件_第4页
CCS_DSP开发环境和实例ppt课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于DSP的数据采集设计专题河北工业大学 赵智忠基于DSP的数据采集设计专题1 DSP集成开发环境 CCS3.3运用方法2 基于DSP的数据采集实例1 CCS集成开发环境简介1.1 CCS安装及设置1.2 CCS的窗口、菜单和工具条1.3 CCS工程管理1.4 CCS源文件管理概述CCS任务在Windows操作系统下,类似于VC+的集成开发环境,采用图形接口界面,有编辑工具和工程管理工具。它将汇编器、链接器、C/C+编译器、建库工具等集成在一个一致的开发平台中。CCS所集成的代码调试工具具有各种调试功能,能对TMS320系列DSP进展指令级的仿真和可视化的实时数据分析。此外,还提供了丰富的输入

2、/输出库函数和信号处置的库函数,极大地方便了TMS320系列DSP软件开发过程。 利用CCS的软件开发流程如图1.1所示。 1.1 CCS安装及设置1 CCS 3.3系统的安装运转setup.exe运用程序,弹出一个安装界面,然后选择Code Composer Studio项,就可以开场CCS 2.0的安装,按照屏幕提示可完成系统的安装。当CCS软件安装在计算机上之后,将在显示器桌面上出现如图1.2所示的两个图标。 2. 系统配置为使CCS IDE能任务在不同的硬件或仿真目的上,必需首先为它配置相应的配置文件。详细步骤如下: (1) 双击桌面上的Setup CCS 3.3图标,启动CCS设置。

3、 (2) 在弹出对话框中单击“Clear按钮,去除以前定义的配置。 (3) 从弹出的对话框中,单击“Yes按钮,确认去除命令。 (4) 从列出的可供选择的配置文件中,选择能与运用的目的系统相匹配的配置文件。 (5) 单击参与系统配置按钮,将所选中的配置文件输入到CCS设置窗口当前正在创建的系统配置中,所选择的配置显示在设置窗的系统配置栏目的My System目录下,如图1.3所示。 (6) 单击“FileSave(保管)按钮,将配置保管在系统存放器中。 (7) 当完成CCS配置后,单击“Save & Quit按钮,系统自动翻开CCS 3.33. 系统启动当CCS的设值完成之后,假设下次启动CC

4、S所运用的模拟调试环境未变,可以直接双击桌面上的“CCStudio v3.3来启动系统。1.2 CCS 的窗口、菜单和工具条CCS运用窗口 一个典型的CCS集成开发环境窗口如图1.4所示,整个窗口由主菜单、工具条、工程窗口、编辑窗口、图形显示窗口、内存单元显示窗口和存放器显示窗口等构成。 工程窗口用来组织用户的假设干程序并由此构成一个工程,用户可以从工程列表中选中需求编辑和调试的特定程序。在源程序编辑窗口中,用户既可以编辑程序,又可以设置断点和探针,并调试程序。反汇编窗口可以协助用户查看机器指令,查找错误。内存和存放器显示窗口可以查看、编辑内存单元和存放器。图形显示窗口可以根据用户需求显示数据

5、。用户可以经过主菜单条目来管理各窗口。 2. 工具栏CCS集成开发环境提供5种工具栏,以便执行各种菜单上相应的命令。这5种工具栏可在View菜单下选择能否显示。 (1) Standard Toolbar(规范工具栏),如图1.5所示,包括新建、翻开、保管、剪切、复制、粘贴、取消、恢复、查找、打印和协助等常用工具。 (2) Project Toolbar(工程工具栏),如图1.6所示,包括选择当前工程、编译文件、设置和移去断点、设置和移去Probe Point等功能。 (3) Edit Toolbar,提供了一些常用的查找和设置标签命令,如图1.7所示。(4) GEL Toolbar,提供了执行

6、GEL函数的一种快捷方法,如图1.8所示。在工具栏左侧的文本输入框中键入GEL函数,再单击右侧的执行按钮即可执行相应的函数。假设不运用GEL工具栏,也可以运用Edit菜单下的Edit Command Line命令执行GEL函数。 (5) ASM/Source Stepping Toolbar ,提供了单步伐试C或汇编源程序的方法,如图1.9所示。 (6) Target Control Toolbar,提供了目的程序控制的一些工具,如图1.10所示。 (7) Debug Window Toolbar,提供了调试窗口工具,如图1.11所示。 1.3 CCS工程管理1.工程的创建、翻开和封锁(1)创

7、建一个工程选择“ProjectNew(工程新工程),如图1.12所示,在Project栏中输入工程名字,其他栏目可根据习惯设置。工程文件的扩展名是*.pjt。假设要创建多个工程,每个工程的文件名必需是独一的。但可以同时翻开多个工程。 (2) 翻开已有的工程选择“ProjectOpen(工程翻开),弹出如图1.13所示工程翻开对话框。双击需求翻开的文件(*.pjt)即可。(3) 封锁工程 选择“ProjectClose(工程封锁),即可当前封锁工程。 2. 运用工程察看窗口工程窗口图形显示工程的内容。当翻开工程时,工程察看窗口自动翻开如图1.14所 示。要展开或紧缩工程清单,单击工程文件夹、工程

8、名(*.pjt)和各个文件夹上的“+/号即可。 3. 加文件到工程可按以下步骤将与该工程有关的源代码、目的文件、库文件等参与到工程清单中去。 加文件到工程 (1) 选择“ProjectAdd Files to Project(工程加文件到工程),出现Add Files to Project对话框。 (2) 在Add Files to Project对话框,指定要参与的文件。假设文件不在当前目录中,阅读并找到该文件。 (3) 单击“翻开按钮,将指定的文件加到工程中去。当文件参与时,工程察看窗口将自动的更新。 从工程中删除文件 (1) 按需求展开工程清单。 (2) 右击要删除的文件名。 (3) 从

9、上下文菜单,选择“Remove from Project(从工程中删除)。 在操作过程中,留意文件扩展名,由于文件经过其扩展名来辨识1.4 CCS源文件管理1. 创建新的源文件可按照以下步骤创建新的源文件: (1) 选择“FileNewSource File(文件新文件源文件),将翻开一个新的源文件编辑窗口。如以下图1.15所示。 (2) 在新的源代码编辑窗口输入代码。 (3) 选择“FileSave(文件保管)或“FileSave As(文件另存为),保管文件。 2. 翻开文件可以在编辑窗口翻开任何ASCII文件。 (1) 选择“FileOpen(文件翻开),将出现如图5.17所示翻开文件对

10、话框。 (2) 在翻开文件对话框中双击需求翻开的文件,或者选择需求翻开的文件,并单击“翻开按钮。 3. 保管文件(1) 单击编辑窗口,激活需求保管的文件。 (2) 选择“FileSave(文件保管),输入要求保管的文件名。 (3) 在保管类型栏中,选择需求的文件类型,如图5.18所示。 (4) 单击“保管按钮。 2 基于DSP的数据采集设计实例1. CCS 3.3配置及相关驱动安装2. 建立一个AD数据采集工程1.1 相关驱动安装1.安装仿真器驱动程序衔接仿真器、DSP开发板,将仿真器经USB接口连上电脑之后系统提示“运用找到新硬件导游,选择驱动文件“XDS 510 USB Driver,完成

11、之后系统提示新硬件可用。2. 安装仿真器的CCS驱动找到驱动文件“XDS 510 CCS Driver,运转,安装到CCS3.3软件所在的文件夹里面,详细如以下图所示。1.2 启动CCS前的设置1.翻开“Setup CCStudio V3.3 ,在“Available Factory Boards下选择“F2812 XDS510 Emulator2.在“system configuration下的“F2812 XDS510 Emulator右键选择“properties,对其进项设置,详细设置如以下图。3. 点击“Save and Quit完成芯片设置,系统自动启动CCS 3.3操作界面。2

12、.建立AD数据采集工程2.1 创建一个工程(1) 选择“ProjectNew(工程新建),弹出工程建立对话框。 (2) 在Project栏输入文件名adshujucaiji。任务目录是D:ccstudio_v3.3myprojects,其他两项也选默许即可。 (3) 单击完成按钮,将在工程窗口的Project下面创建adshujucaiji工程。 2.2 向工程中添加源文件1 将从ti官方网站上下载的源文件复制到 D:ccstudio_v3.3 myprojectsadshujucaiji文件夹内。2在“projects下右键点击工程名“adshujucaiji选择“add File to p

13、roject,将复制到文件夹“adshujucaiji中的源文件全部加载进来。如以下图所示。2.3 程序编写2.3.1 程序编写思绪1一个DSP程序的构成。一个完好的DSP程序主要由库文件,.c源文件,.h头文件以及d衔接命令文件组成。2DSP程序的编写思绪一个DSP程序要完成想象的功能,需求完成系统初始化,所运用的外设的初始化,中断初始化,曾经终端效力程序的编写。其中系统,外设初始化只需求对相应的存放器进展设置即可以完成。中断效力程序根据我们所需求的处置算法进展编写。3如今总结起来DSP2812其实可以分为以下几个部分:时钟DSP任务的动力、外设DSP实现相应的功能都是有对应的外设来实现的、

14、中断和中断效力程序。只需把这四个部分弄懂了,DSP的运用应该就没多大问题。DSP的不同功能主要有对应的外设实现,实践上只需掌握了一种外设的运用方存放器、中断、时钟的设置其他的都可以用同样的步骤运用。 首先将程序分成:系统初始化、所运用的外设的初始化、三级中断设置、中断效力程序、链接命令文件d文件和头文件几个部分。在系统初始化程序中了解系统时钟、外设端口、看门狗的设置方法以及相关存放器的运用,在外设初始化程序中,对应该外设的运用原理,了解“这个存放器起什么作用,这样设置起什么作用,掌握该外设设备联想到一切的外设初始化时必需设置的内容有哪些,需求特殊设备的存放器有哪些。之后了解外设级、PIE级和C

15、PU级中断初始化、开中断、关中断的设置方法、顺序和缘由。中断效力程序完成特殊的数据处置,按照本人的算法编写就可以,但要留意在一切的中断效力程序中都要对三级中断进展相应的设置,以保证中断效力程序可以延续不断地运转下去。在D文件中完成对内部存储器外扩存储器的分配,了解相关指令的作用和运用方法。2.3.2 程序任务流程在进展软件设计之前,首先明确系统的任务流程,简单引见如下:1DSP上电,等待采集开场命令。2运用事件管理器EVA的通用定时器周期中断来触发ADC的采集动作。3进展数据的校正和交融处置。4将交融后的数据经eCAN总线传送到上位机。本系统运用EVA的通用定时器1的周期中断来触发AD的转换,

16、当ADC完成 SEQ1中定义的端口的数据采集转换时,触发中断,进入中断效力程序。DSP F2812的AD为12 位精度,由于各种要素的影响,丈量值存在误差,需进展校正。校正完成之后对该次丈量获得的两个数值进展结合kalman滤波器数据交融,完成交融操作后将得到的数据存入eCAN总线的发送邮箱,将数据发送到上位机,一次操作完成。之后退出中断程序,等待下一次中断触发信号的到来。本系统就按照怎样的顺序完成真空度的数据采集、校正、交融和传输操作 。 整个软件系统可以分为如下几个部分:系统初始化,用来完成DSP存放器的设置,各级中断的清零,系统时钟、外设时钟的设置,踢除看门狗、初始化AD、EVA等操作;

17、终端效力程序的设置,用来完成采样结果的移位操作、校正,结合kalman滤波器数据交融以及eCAN总线的数据传输;链接命令文件的编写,由于运用了外扩存储器,为保证程序执行的速度,将程序空间分配到片内存储器,程序执行过程中产生的数据存储到片外存储器中。2.3.3 系统初始化 sysctrl()1系统时钟设置,经过高速时钟预订标志存放器(HISPCP)、低速时钟预订标志存放器(LOSPCP)和锁相环存放器设置,获得高、第速时钟,使能相关外设时钟。如以下图所示2中断初始化首先封锁全局中断,封锁外设中断,并去除所左右的中断标志位。 DINT; / 封锁总中断 IER = 0 x0000; / 封锁外设中

18、断 IFR = 0 x0000; / 清中断标志其次初始化PIE控制存放器,由函数InitPiectrl()实现。将一切的PIE级中断标志位和中断使能位清零。并将AD中断所在组对应的中断应对存放器中的相应位置零。最后使能PIE向量表,由函数InitPieVectable()实现。2.3.4 端口设置数据采集运用同步转换方式,对通道ADCINA0和ADCINB0同时采样8次。所以将这两个端口设置成普通输入输出端口且为输入方式。void InitGpio(void)EALLOW;GpioMuxRegs.GPAMUX.bit.PWM3_GPIOA2=0;GpioMuxRegs.GPADIR.bit.

19、GPIOA0=0;GpioMuxRegs.GPBMUX.bit.PWM7_GPIOB0=0;GpioMuxRegs.GPBDIR.bit.GPIOB0=0;GpioMuxRegs.GPFMUX.bit.SCITXDA_GPIOF4=1;GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6=1;GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7=1;GpioMuxRegs.GPFMUX.bit.CANRXA_GPIOF7=1;GpioMuxRegs.GPFMUX.bit.CANTXA_GPIOF6=1;EDIS; 2.3.5. 数据采集外设AD的设置F2

20、812的ADC模块有16个通道,排序器SEQ1和SEQ2可以作为两个独立的8通道模块,也可以级联成一个16通道的模块。AD模块的内部构造如图3.5所示。虽然有两组输入通道和两个排序器,但是ADC模块中只需一个转换器,同一时辰只能对1路输入信号进展转换,当有多路信号需求进展转换时,ADC模块经过前端模拟多路复用器的控制,在同一时辰,只允许1路信号输入到ADC的转换器中。在这两种任务方式下,AD可以经过对相关存放器的设置对需求转换的通道进展排序,经过模拟多路转换器每次转换的通道。每个排序器转换完成,将所转换通道的值存储在其各自的转换结果存放器中。我们可以经过设置排序存放器,到达对一个通道进展多次转

21、换的目的,这就是所说的过采样算法,对比单次采样转换,可以有效提高结果的精度 2812的ADC可以任务在顺序采样和同步采样两种任务方式。顺序采样也就是按照顺序对每个通道依次进展采样。而同步采样,是同时采样一对通道,即ADCINA0和ADCINB0同时采样,ADCINA1和ADCINB1同时采样。我们运用级联排序器的同时采样方式。此时排序器SEQ1和SEQ2级联成最多16个通道的排序器。 ADC模块只需接纳到转换触发信号才可开场转换,如下表所示,我们采用事件管理器A的周期中断触发ADSEQ1SEQ2级联SEQ软件触发(软件SOC)软件触发(软件SOC)软件触发(软件SOC)事件管理器A(EVA S

22、OC)事件管理器B(EVB SOC)事件管理器A(EVA SOC)事件管理器B(EVB SOC)外部SOC引脚外部SOC引脚2812AD的16个通道是可以经过编程来进展选择在某一时辰终究是哪一个通道被选通进展采样的。这个功能就需求经过ADC输入通道选择序列控制存放器ADCCHSELSEQxx=1,2,3,4来实现。每一个输入通道选择序列控制存放器都是16位的,被分成了4个功能位CONVxx,每一个功能位占据存放器的4位,在AD转换的过程中,当前CONVxx位定义了要进展采样和转换的引脚。为了可以对端口进展延续不断的采样,通用定时器1产生的AD采集触发信号频率应高于AD采集频率。我们采用的ADC

23、LK为1.875M,每次触发共采集16次,加上采样窗口时间为6个ADCLK,转换频率约为13K。EVA运用低速时钟HISPCP,它的的通用定时器1的时钟为60M,周期为300,为延续增计数方式,它的周期匹配频率为0.2M,可以使ADC延续不断地采集数据。 详细程序如下void InitADC(void)unsigned int i;AdcRegs.ADCTRL1.bit.RESET=1; /复位整个ADC模块AdcRegs.ADCTRL1.bit.SUSMOD=3; /仿真挂起时,序列发生器和其他程序逻辑立刻停顿AdcRegs.ADCTRL1.bit.ACQ_PS=5; /采集窗口的大小,控制

24、SOC的脉宽,为6个ADCLK的长度,SOC确定采样开关封锁的时间段SOC的脉宽为ACO_PS+1乘以ADCLKAdcRegs.ADCTRL1.bit.CPS=1; /内核时钟分频器AdcRegs.ADCTRL1.bit.CONT_RUN=0; /延续转换方式,一次SEQ1转换完成,序列发生器SEQ1指针指向CONVAdcRegs.ADCTRL1.bit.SEQ_OVRD=0; /AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /级联方式,SEQ1/2作为一个16通道排序器任务AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0;AdcRegs.ADCTRL2.b

25、it.RST_SEQ1=0;AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;/启用INT_SEQ1的中断恳求 AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0;/每个SEQ1序列终了时设置INT_SEQ1AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;/允许由EVA触发启动SEQ1AdcRegs.ADCTRL2.bit.RST_SEQ2=0; /无操作AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0;/禁用INT_SEQ2对CPU的中断恳求AdcRegs.ADCTRL3.bit.ADCBGRFDN=3; /带隙

26、和参考电路上电for(i=0;i10000;i+); AdcRegs.ADCTRL3.bit.ADCPWDN=1; /除带隙参考电路不测的内核模拟电路上电for(i=0;i10000;i+);AdcRegs.ADCTRL3.bit.ADCCLKPS=8; /ADC内核分频器AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /同步采样方式AdcRegs.ADCMAXCONV.bit.MAX_CONV1=15;/每次转换的最大转换次数为8次AdcRegs.ADCCHSELSEQ1.bit.CONV00=0 x0;AdcRegs.ADCCHSELSEQ4.bit.CONV14=0 x

27、0;AdcRegs.ADCCHSELSEQ4.bit.CONV15=0 x8;AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;AdcRegs.ADCST.bit.INT_SEQ2_CLR=1;/去除SEQ1和SEQ2的中断标志位AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;2.3.6. EVA的初始化运用EVA通用定时器1的周期中断触发信号,EVA运用低速时钟HISPCP,它的的通用定时器1的时钟为60M,周期为300,为延续增计数方式,它的周期匹配频率为0.2M,可以使ADC延续不断地采集数据。EVA的初始化程序如下void InitEVA(void)EAL

28、LOW;EvaRegs.T1CMPR=0 x0080;EvaRegs.T1PR=0 x012C; EvaRegs.GPTCONA.bit.T1TOADC=1; EvaRegs.T1CON.all=0 x1042; EvaRegs.T1CNT=0 x0000;EDIS;2.3.7. 中断设置1DSP的中断分为外设级、PIE级和CPU级,为了是CPU可以呼应有中断出发时间引发的中断,需求将三级中断全部翻开。2我们运用的是ADC采集完成中断,当AD模块完成8次同步采集之后触发外设计中断,对应的中断标志位ADCIFR自动置位,假设此时ADC中断使能位ADCIER为1.并且ADC中断所在的中断组对应的中

29、断应对存放器PIEACK的相应位为0,那么将外设级中断传送到PIE级。之后将PIE级虽在组对应的中断标志位置一,检查该组对应的中断使能位能否为1,假设是一,那么将该终端传送到CPU级,直后执行对应的中断效力程序。3为使得中断事件发生后CPU可以找到相应的中断效力程序,需求将中断效力程序的地址赋值给触发中断的外设事件在中断矢量列表pievect中对应的指针。中断矢量列表中adc中断对应的指针如以下图在本实例中我们经过一下语句实现,其中“ad使我们本人编写的中断效力程序的名字。EALLOW;PieVectTable.ADCINT=&ad;EDIS;3为是外设级中断传输到PIE级将ad中断对应的中断使能位置14DSP一切的96个中断分成了12组,为使得中断程序能有外设级顺利的传输到CPU,需将AD中断所在的第一组的PIE级中断使能位置1。5使能全局中断和全局实时中断。详细程序如下:IER |=M_INT1; /使能CPU的INT1中断PieCtrlRegs.PIEIER1.bit.INTx6=1; /使能PIE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论