《TMS320LF240x的系统开发.ppt》由会员分享,可在线阅读,更多相关《TMS320LF240x的系统开发.ppt(45页珍藏版)》请在三一办公上搜索。
1、第13章 TMS320LF240 x的系统开发,13.1 系统开发过程,DSP系统开发过程:,(1)明确开发任务,确定技术指标 采样速度、精度、存储量、控制信号形式、实时性要求(2)总体方案系统组成、算法设计、核心元件选择、软硬件分工(3)硬件实现 硬件需求分析、元件选择、原理图设计、PCB图设计、硬 件调试(4)软件实现 需求分析、算法仿真、编码、软件调试(5)系统集成和测试 软硬件联合调试、系统测试,硬件实现:,元件选取:,(1)处理器控制器:单片机、DSP、ARM等。考 虑公司、产品系列、工作频率、工作电压、工作 温度等;(2)A/D:采样频率、精度。考虑片上是否自带采 样保持器、多路器
2、、参考电源等;(3)D/A:信号频率、精度。考虑是否有片上基准 电源、多路器、输出运放等;(4)存储器:包括SRAM、EPROM、SDRAM、FIFO等。考虑工作频率、存储容量、字长、接口方式、工作电压等;(5)逻辑控制:CPLD、FPGA。考虑公司、产品系 列、片内资源、I/O资源、工作速度;,(6)通信接口:根据速率和距离决定采用何种通 信方式,并进一步选择通信接口芯片;(7)总线接口:PCI、CPCI、CAN、VXI、PXI等。考虑使用的场合、数传速率(总线宽度、频率 高低、同步方式等)进行选择;(8)信号调理:运算放大器、比较器、多路器等。考虑带宽、输入信号范围、输出信号范围、响 应速
3、度(信号建立时间)等;,(9)人机接口:键盘、LED、数码管、液晶屏等;(10)电源:电压的高低和电流容量的大小。电压 高低要匹配,电流容量要足够。,原理图设计中关键部分要进行仿真:软件仿真、硬 件仿真。,PCB图设计要综合考虑设备结构特点和数模混合电路布线工艺。(Protell99 SE 电子逻辑分析和仿真),硬件调试主要进行硬件基本功能调试,确定可以满 足功能和技术指标要求。,(1)软件需求分析(2)算法仿真:利用高级语言(3)编码:可读性(4)软件调试、测试:代码效率、执行效率,软件实现:,系统集成与系统测试:,软硬件联合调试,调整时序关系,完成系统实现。按照系统功能指标要求进行系统测试
4、和各种环境实验。,13.2 DSP系统的仿真调试工具,(1)标准评估模块(EVM)(2)DSP入门套件(DSK)(3)硬件仿真器(Emulator/XDS)(4)软件仿真器(Simulator)(5)DSP软件开发平台(CCCCS),13.2.1 标准评估模块,标准评估模块(EVM,Evaluation Module)是TI或 TI的第三方为TMS320 DSP的使用者设计和生产的 的一种评估平台,它的运行环境和资源较为完 善,可用于某型号DSP的器件评估、程序调试与 检查以及系统的调试。,EVM提供了一套完整的DSP系统,包括A/D、D/A、外部程序数据存储器、外部I/O等,用户可以使用EV
5、M来进行DSP的实验、编写和运行实时的源代码,对代码进行评估,且可用来调试用户自己的系统。,此TMS320LF2407 EVM板的性能指标如下:,TMS320LF2407运行速度30MIPS 128K存储空间:64K程序存储器和64K数据存储器 4路的DAC7625数模转换 UART接口,符合RS232标准 32K片上FLASH CAN总线标准接口 用户开关和测试指示灯 数据、地址、I/O、控制扩展接口,具有IEEE1149.1兼容的逻辑扫描电路,该电路用于测试和仿真+5V电源输入,内部3.3V电源管理,13.2.2 DSK入门套件,DSP入门套件(DSK,DSP Starter Kit)是T
6、I公司 为TMS320 DSP的初学者设计和生产的一种评价 DSP平台的廉价开发工具板。在PC机环境下,用 户可以使用DSK来做系统实验和应用,进行诸如 自动控制系统、语音处理等应用;也可以编写 和运行实时的代码;还可以用来建立和调试用 户自己的系统。,DSK套件包括一块TMS320 DSP芯片为基础的电路 板、配套的电源和电缆、专用的C编译器、汇编 器链接器以及相应的调试软件和文档。,DSK电路板上除了DSP之外,一般还带有一定的 存储器,并配有通信接口(并口或串口,用来和 PC机通信)、电源插口、模拟信号I/O接口、扬 声器接口等,可以很容易地实现一个简单的控 制系统或语音系统,为初学者学
7、习DSP开发提供 了一个良好的平台。,13.2.3 DSP硬件仿真器,TI公司推出,也称开发系统(XDS,eXtendedDevelopment System),是基于边界扫 描(Boundary Scan)的在线系统仿真技术。,它用于系统集成阶段的原理样机软硬件联合调试。扫描式仿真是一种独特的、非插入式的系统仿真与 系统调试方法,程序可以从片外或片内的目标存储 器实时执行,在任何时钟速度下都不会引入额外的 等待状态。,硬件仿真器的主机是PC或工作站。,主机通过仿真器与目标系统的JTAG接口相连,控 制目标板上的DSP器件。,目标板上的DSP本身带有仿真功能,硬件仿真器 本身只是一个控制器,它
8、通过DSP芯片内部的 串行扫描路径对处理器进行控制,完成实时测 试和调试。,仿真器与目标系统的接口是利用一个标准的14针接 口(JTAG接口)来实现的(JTAG-IEEE1149.1标准),仿真器与主机的接口有多种形式:,PCI接口:仿真器作为一个插卡插在主机中。早 期的DSP仿真器多采用这种接口方式,但这种仿 真器使用不方便,现在已经很少见了;并口:仿真器通过打印机接口与主机连接。由于 计算机并口采用39针连接器进行连接,并口仿真 器体积相对也较大;USB接口:目前越来越多的计算机外设采用USB 作为总线接口,其高速数传和热插拔的特性使得 外部设备可以方便地与计算机连接,并且具有很 好的连通
9、性能。DSP硬件仿真器也出现了USB接 口的产品,而且发展迅速,USB接口仿真器已经 成为目前最常见的DSP硬件仿真器。,13.2.4 DSP软件仿真器,软件仿真器是一个软件程序,使用主机的处理器和存储器来仿真TMS320 DSP的微处理器和微计算机模式,从而进行软件开发和非实时的程序验证。,在PC机上,典型的软仿真速度是每秒几百条指令。,软件仿真器的主要功能和性能有:在主机上执行用户的DSP程序修改和检查寄存器显示和修改数据和程序存储器仿真外设、高速缓存和流水时序提取指令周期时序,用以分析器件的表现设置断点,添加指令,读写内存、数据总线或程 序总线上的数据跟踪累加器、程序计数器、辅助寄存器等
10、单步执行指令,在用户指定的时间产生中断对非法操作码和无效数据输入等提供出错信息执行批处理文件中的命令用文件的方式快速存储和调用仿真参数反汇编能力,以便对语句作编辑和重汇编存储器的内容可以同时显示为十六进制的16位 值和汇编后的源代码,多种执行模式(单个多个指令计数、单个多个 周期计数、until条件、while条件循环计数、无限 制地运行键入的halt等)跟踪表达式的值、cache和指令流水线,以便优化 代码周期计数在单步执行或运行的模式下显示时钟周期数,现在软件仿真器已作为CCS(Code Composer Studio)的一个标准插件,已经被广泛地应用于 DSP的开发中。,13.2.5 软
11、件开发平台,软件开发平台,也称为代码生成工具,是DSP系统 软件开发中必不可少的工具,它对用户程序进行管 理,经过编译、链接后产生真正可以在DSP上运行 的程序。目前常见的DSP软件开发平台主要有CC(Code Composer)和CCS(Code Composer Studio)。软件开发平台主要包含了DSP代码生成 过程中所必需的C编译器、汇编器和链接器。,早期的软件仿真器软件与其他开发工具(如代码生 成工具)是分离的,使用起来不太方便。,C编译器(C Compiler):将C语言源代码程序自 动地编译成DSP汇编语言源代码程序;汇编器(assembler):将汇编语言源代码文件 汇编成机
12、器语言COFF目标文件,在源文件中包含 了汇编指令、宏命令及指令等;链接器(linker):把汇编生成的可重定位的 COFF目标模块组合成一个可执行的COFF目标模 块。它能调整并解决外部符号参考。链接器的输 入是可重定位的COFF目标文件和目标库文件,它 也可以接收来自文档管理器中的目标文件以及链 接以前运行时所产生的输出模块。,3.3 DSP系统开发环境,C高级语言编程(或C和汇编的混合编程)、C优化编译和集成的软硬件开发环境。,CC(Code Composer)CCS(Code Composer Studio),CCS是一种针对TMS320调试接口的集成开发环境。CCS包含源代码编辑工具
13、、代码调试工具、可执 行代码生成工具和实时分析工具,并支持设计和 开发的整个流程。,13.3.1 CCS的主要特性,完全集成的开发环境 高度集成的源代码编辑器 支持编译和调试的后台编辑 对C语言源文件和DSP汇编语言文件的目标管理 支持探针在算法中通过文件提取或加入信号和数据 可以在后台执行DOS程序 图形分析功能 方便的代数分解窗口 有在任何算法点观察信号的图形窗口探针 有状态观察窗口,13.3.2 CCS开发软件的主要流程,DSP开发工具:,C编译器(C Compiler)汇编器(assembler)链接器(linker)档案管理器(achiever)助记符到代数语言的转换程序 运行支持库
14、公用程序(runtime-support utility)运行支持库(runtime-support library)十六进制转换公用程序(Hex conversion utility),13.3.3 公共目标文件格式(COFF),CCS的汇编器输出的目标文件和链接器输出的可执 行文件都是公共目标文件格式(Common Object File Format,COFF)。由于COFF在编写程序时采 用代码和数据块的形式,因此有利于模块化编程。这些代码和数据块称为段。,所谓段(sections)是指连续地占有存储空间的一 个数据或代码块。在编写程序时,程序按段组 织。段是目标文件中可重新定位的最小
15、单元,一 个目标程序中的每个段通常是分开的和不同的。,COFF目标文件至少包含以下3个默认的段:,(1).txt 文本段,通常包含可执行代码(2).data 数据段,通常包含初始化的数据(3).bss 保留空间段,通常为没有初始化的变量 保留空间,此外,还有命名段。汇编器和链接器可用来产生、命名和链接命名段,这些段的使用和.data,.text 和.bss段相同。,段有两种基本类型:初始化段和未初始化段。初始化段包含数据或代码,包括:.text段、.data段 以及由汇编器伪指令.sect产生的命名段;未初始化段为没有初始化的数据保留存储空间,包 括:.bss段和由汇编器伪指令.sect产生的
16、命名段。,链接器的功能之一是将段重新定位到目标系统的存储 器空间中,该功能称为定位或分配(allocate)。,因为大多数系统中包含有几种存储器,所以使用段可 以使目标存储器的使用更为有效。所有的段都是独 立可重新定位的,可将任何段放入目标存储器的任 何位置。例如,可以定义一个包含有初始化程序的 段,然后将它分配到包含ROM的存储器空间中去。,13.3.4 CCS软件界面,CCS主菜单中各菜单项功能:,File(文件):文件管理,载入执行程序、符号及数 据,文件输入输出等Edit(编辑):文件及变量编辑,如剪贴、撤消、字 符串查找等View(查看):工具条显示设置,内存、寄存器和 图形显示等P
17、roject(工程):工程管理(新建、打开、关闭及添 加文件等)、编译、构建工程等Debug(调试):断点、探针设置,单步执行、复位 等,Profiler(性能):性能菜单,包括时钟和性能断点设 置等GEL(扩展功能):利用通用扩展语言设置扩展功能Option(选项):选项设置,设置字体、颜色、键盘 属性、动画速度、内存映射等Tools(工具):包括引脚连接、端口连接、命令窗口、连接设置等DSP/BIOS(实时分析工具):用来辅助CCS环境实现 程序实时调试Windows(窗口):窗口管理,包括窗口排列、窗口 列表等Help(帮助):CCS在线帮助菜单,包括用户手册、入门指南等,13.3.5
18、CCS工程组成,(1).pjt文件CCS工程文件。在CC中,工程文件的 扩展名为.mak。(2).lib文件CCS运行支持库。(3).h文件头文件。(4).c文件C源文件。(5).asm文件汇编语言源文件。(6).cmd文件链接命令文件。(7).obj文件目标文件,COFF格式。(8).out文件可执行文件,COFF格式。,13.3.6 头文件,CCS工程中的头文件与其它基于C语言的开发环境中的头文件 基本相同,主要是用来定义工程中的常量和数据结构。为 了提高开发效率,开发人员往往会将DSP片内的控制寄存器 定义写成一个头文件,这样在各个基于相同型号DSP的开发 中,可以共享这个定义控制寄存器
19、的头文件。,13.3.7 中断向量定义,与传统的单片机类似,DSP的中断也可以采用查询和回调两种 方式来处理。如果采用回调方式处理,其实现方式是在中断 向量地址处放置一个跳转语句,跳转到相应的中断处理函 数。在CCS中,需要编写一个.asm文件,定义所有的中断向量。,13.3.8 链接命令文件,CCS的链接器也可以有很多选项,如-l、-stack、-o 等,另外在链接器选项中还应该将开发中的逻辑段 与目标系统存储器物理地址的对应关系定义清楚。,(1)利用命令行实现:即在命令行中link命令后面 将所有的链接选项写明,使链接器按照选项设定去 工作。(2)利用工程选项菜单实现:在CCS菜单 Pro
20、jectBuild OptionsLinker页面中可以对链 接器选项进行设置。,这些链接器选项的实现有三种方式:,(3)利用链接命令文件实现:即编写一个链接命令 文件,将所有链接选项写在文件中,并将此文件 加入工程。链接命令文件实际上就是一个ASCII码 文件,扩展名是.cmd。,推荐使用工程选项菜单和链接命令文件的方式来实 现链接器选项的设置。链接器对命令文件名的大 小写是敏感的,空格和空行是没有意义的,但可 以用作定界符。,链接器命令文件主要包含以下3部分内容:,(1)输入文件名。就是链接的目标文件和文档库文 件或者是其他的命令文件,可以没有。(2)链接器选项。如-l、-stack、-o
21、等,这些选项 可以用在链接命令行,也可以用在命令文件中。(3)MEMORY和SECTIONS都是链接命令,MEMORY命令定义目标存储器的配置,SECTIONS 命令定义逻辑段与目标存储器的对应关系。,13.4 控制程序开发语言的选择,DSP控制程序的开发可以采用三种开发语言:汇编语言、C语言和C语言与汇编语言混合编程。,1.汇编语言编程,优点:(1)TI的DSP汇编语言包含大量的高效指令,可以 实现很高的代码效率和实时性;(2)TI的DSP汇编语言具有灵活的寻址方式,底层 控制灵活性好;(3)TI的DSP汇编语言执行效率高,指令周期明 确,保证系统的实时性。,不足:,(1)TI的DSP汇编指
22、令集庞大,掌握困难,需要长 期的实践积累;(2)流程控制不便,开发周期长;(3)程序可读性差,修改升级困难;(4)不同系列DSP间的汇编指令不尽相同,开发程 序的可移植性差。,总结:主要适用于一些运算量大、时序要求严格或 实时性要求高的场合。,2.C语言编程,优点:,(1)开发者熟悉程度好,不用花费精力对开发语言 进行深入学习,上手快;(2)不要求对DSP底层有非常深入的了解,C编译器 会解决诸如辅助寄存器、现场保护等底层工作;(3)流程控制灵活,开发周期短;(4)DSP开发厂商和第三方在不断优化C编译器,目 前在某些应用中C语言优化编译的结果可以达到手 工编写的汇编语言效率的90%以上;,(
23、5)程序可移植性好,不同应用可以共享相同的程序 代码;(6)程序可读性好,修改升级容易。,不足:(1)某些底层硬件控制能力不如汇编语言灵活;(2)程序运行时间难以掌握,实时性不好。,总结:适用于一些运算量不大、实时性要求不高或 流程控制非常复杂的场合,3.C语言和汇编语言混合编程,汇编语言编程和C语言编程各有优势和不足,总体来讲,汇编语言编程效率高、实时性好、底层控制灵活,而C语言编程流程控制方便、程序具有较好的可读性和可移植性。可见二者的特点有很多互补之处,因此可考虑混合应用两种编程语言实现DSP控制程序的开发,这样可充分地利用两种编程语言的优势,更好地实现DSP应用系统的开发。,利用两种语言进行混合编程时,通常利用C语言实现程序总体流程的控制;,而在C语言难以满足要求的高速数据处理、大数据量运算、严格时序要求、高实时性要求的核心程序部分,则可以利用汇编语言来实现。这样汇编语言占有程序比重不大,仍然可以保证比较短的开发周期。,利用两种语言进行混合编程主要有以下四种方式:(1)C程序调用汇编函数;(2)内嵌汇编语句;(3)C程序访问汇编程序变量;(4)修改C编译器输出。,结束,
链接地址:https://www.31ppt.com/p-6522029.html