版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工业大学工学硕士学位论文xx大学学士学位论文-PAGEII--PAGEIII-基于DSP数据采集系统的设计摘要随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。很多要求对快速处理的实时数据采集处理系统,选用DSP(数字信号处理器)作为核心处理器。本文阐述了一种基于数字信号处理器的高速数据采集系统的总体设计方法,分析了该系统在设计实现过程中需要解决的一些技术问题和难点,并对系统各部分功能的实现方法作出了详细的分析和介绍。本文设计的数据采集处理系统采用TMS320F2812作为核心处理器完成对模拟信号的采集和处理。这款DSP有丰富的片内外设,用它作为处理器进行电路设计,可以使电路结构设计简单,成本低廉、开发周期较短。系统选用USB作为和上位机通信的接口,实现处理数据的上传以及上位机对DSP的控制。采集到的数据经过DSP的处理后,通过USB上传到PC,由上层软件进行进一步的处理。根据系统的结构与功能要求,经过两种方案的比较,决定选用DSP芯片自带的AD模块作为系统的模数转换模块。经过试验结果检验,F2812内部模数转换器精度能满足系统的要求,本文还提出了提高转换精度、消除干扰的一些措施。在采集速度方面,系统采用级联同步采样方式对信号进行采集,采集转换速度可以大大提高。由于本文所用的核心处理器TMS320F2812上电顺序与其它DSP不同,CPU核先上电I/O外设后上电,针对这一问题,本文给出了一种电源供电设计方案,解决了上电顺序的问题。由于需要采集处理的图像数据量较大,F2812内部的存储资源无法满足要求,本文结合DSP芯片存储结构的特点,给出了扩展片外存储器的接口设计方案。此外,本文还给出了系统的主要流程图,并详细叙述了系统的软件设计和实现过程,包括系统的初始化,数据采集,模数转换模块,数据处理算法,数据通信及代码优化等。并详细介绍了作为通信接口的USB固件的开发流程。关键词数字信号处理器;数据采集;USBTheDesignofDataAcquisitionSystemBasedonDSPAbstractWiththerapiddevelopmentofcomputerandinformationtechnology,Digitalsignalprocessingtechnologyhasbeenmoreandmoleimportantinhigh-speedandreal-timeprocessing.Itiswidelyusedingraphandimageprocessing,voiceidentification,intelligentchecking,industrycontrolandotherfields.Alotofrea-timedataacquisitionandprocessingsystemschooseDSP(DifitalSignalProcessor)ashiscoreprocessor,whichaskfordealingwiththecollectingimagedatafast.Inthispaper,weproposedahigh-speeddatacollectionsystembasedonthedigitalsignalprocessing.Wesolvedaloroftechnologyproblemsanddifficultiesinthesystemdesignandimplementwayofallkindsoffunctionunitsisalsointroducedandanalyzedinthispaper.ThedataacquisitionandprocessingsystemcompletesacquisitionandprocessingtotheanalogsignalsandcontrolofthemachineusingthechipofTMS320F2812.Asthischiphasabundantofperipheral,wecanhaveasimplecircuitarchitecture,alowcostandashortdevelopmenttimebyusingit.WechooseUSB(UniversalSerialBus)asthecommunicationinterfaceofDSPandthecomputerwhichcanfulfillupdatatransferandthecontroltoDSP.TheacquisitionedandprocesseddataistransferredtoPCthroughtheUSBanddealedwithbythetopsoftware.Accordingtothesystem’sneed,wechoosetheanalogtodigitalunitinsideDSPasthesystem’sthroughthecompareoftwodesignthemes,whichisprovedtomeettheneedofthesystemtotallythroughtheresultsoftests.SomemethodsarealsobringedforwardtoimprovetotheprecisionoftheinternalA/Dconverterandremovetheelectricdisturb.Furthermore,weusesimultaneoussamplingmodeandcascadedsequencermodetoimprovetheacquisitionandconvertspeed.Asfortheorderofelectrifyingforcoreprofessor-TMS320F2812,it’sCPUiselectrifiedearlierthantheI/Operipheralswhichisdifferentfromothers.Aimingatthisproblem,apowersupplydesignmethodhasbeenbroughtforward,whichsolvestheorderofelectrifying.Forthelargeamountofimagedatathatrequirestobeprocessed,theintermemoryresourcesofF2812can’tmeetthedemand.Asforthispoint,thisthemeextendstheoutsidememoryaccordingtotheinternalmemorycharactersoftheDSPchip.Inaddition,thisthemegivestheflowchartofthemainprogramandthedetailmethodsaboutthesystem’ssoftwaredesignandimplement,includingsystem’sinitialization,dataacquisition,analogtodigitalconverterunit,dataprocessing,datacommunicationandcodeoptimization.ThedevelopmentflowofUSBfirmwareisalsointroducedinthistheme.KeywordsDSP;dataacquisition;USBPAGEII---PAGEV-目录摘要 =1\*ROMANIAbstract =2\*ROMANII第1章绪论 11.1课题提出的背景和意义 11.2DSP系统的构成及设计过程 21.3课题研究的内容 31.4论文的章节安排 3第2章系统的实现方案 52.1采集处理系统分析 52.2系统的器件选型 62.2.1微处理器的选型 62.2.2串型接口的选型 92.2.3存储器的选型 102.2.4其他器件的选型 102.3本章小结 11第3章系统的硬件设计 123.1系统的前端数据采集 123.1.1采用ADS8364作采集芯片 123.1.2采用F2812自带的ADC模块 133.2DSP的外围电路设计 153.2.1电源电路 153.2.2时钟电路 163.2.3复位电路 183.2.4JTAG电路设计 193.3F2812与存储器的接口设计 203.3.1F2812存储资源分配情况 203.3.2外扩存储器接口设计 223.4F2812与68013的接口设计 233.5本章小结 24第4章系统的软件设计 254.1系统的开发环境 254.1.1CCS开发环境 254.1.2USB的固件开发环境 264.2DSP部分的软件设计 264.2.1系统的初始化程序设计 284.2.2A/D转换部分的软件实现 294.2.3SCI部分软件设计 314.2.4DSP与USB通信部分的软件控制程序 324.2.5命令文件的编写及程序的优化 334.3USB部分的软件设计 354.4本章小结 36结论 37致谢 38参考文献 39附录A 41附录B 45-PAGE10--PAGE51-绪论课题提出的背景和意义随着微电子技术、计算机技术和通信技术的迅猛发展,数字化已广泛深入地应用于现代国防,现代科技和国民经济的各个领域.在社会活动和个人生活中都随处可见。20世纪60年代以来,数字信号处理器(DigitalSignalProcessing,DSP)日渐成为一项成熟的技术,并在多项应用领域逐渐替代了传统模拟信号处理系统.传统的信号处理系统采用模拟技术进行设计和分析,处理设备和控制器采用模拟器件实现.与之相比,数字信号处理技术与设备具有灵活、精确、抗干扰能力强、设备尺寸小、速度快、性能稳定和易于升级等优点,所以目前大多设备采用数字技术设计实现[1]。数据采集是获取信息的基本手段,数据采集技术作为信息科学的一个重要分支,与传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术,它研究数据的采集、存储、处理及控制等作业,具有很强的实用性。随着现代科学技术的发展和计算机技术的普及,告诉数据采集系统已应用于越来越多的场合,如通信、雷达、生物医学、机器人和语音等领域。数字信号处理器(DSP)是一种特别适合于各种数字信号处理运算的微处理器,也是嵌入式处理器的一种.通常,嵌入式处理器包括微处理器、微控制器、数字信号处理器和单片机等。随着计算机和信息产业的告诉发展,特别是数字信号处理器的诞生与快速发展,使各种数字信号处理算法得以实施实现,使得数字信号处理学科在理论和方法上都获得了迅速发展。由于DSP具有丰富的硬件资源,改进的并行结构、告诉数据处理能力和强大的指令系统,它已经成为世界半导体产业中紧随微处理器与微控制器之后的又一个热点,在通信、航空、航天、国防、工业控制、网络及家用电器领域得到了广泛的应用。DSP芯片在的高速信号处理方面具有速度快、运算性能好等优点,内部采用改进的哈佛结构,使得微处理器的并行处理能力大大增强[2-4]。而在计算机接口技术方面,通用串行总线(UniversalSraialBus,简称USB)近几年得到了长足的发展。USB是一些PC大厂商如Microsoft、Intel等为了结局日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今广泛地为各PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsoft的Window98、NT以及Linux、FreeBSD等流行操作都增加了对USB的支持。与其他通信接口比较,USB接口的最大特点是易于使用,这也是USB的主要设计目标。作为一种高速总线接口,USB适用于多种设备,如数码相机、MP3、播放机、高速数据采集设备等。易于使用还表现在USB接口支持热插拔,并且所有的配置过程都由系统自动完成,无需用户干预[5]。USB接口支持1.5MB/S(低速)、12MB/S(全速)和高达480MB/S(USB2.0规范)的数据传输速率,扣除用于总线状态、控制和错误监测等数据传输,USB的最大理论传输速率仍达1.2MB/S或9.6MB/S,远高于一般的串行总线接口。DSP系统的构成及设计过程DSP是一种具有特殊结构的嵌入式微处理器,为了达到快速数字信号处理的目的,DSP芯片一般具有哈佛结构的并行总县体系、流水线操作功能、快速的中断处理和硬件I/O支持、低开销循环及跳转的硬件支持、单周期硬件地址产生器、单周期硬件乘法器以及一套适合数字信号处理的指令集。如图1-1所示为一个典型的DSP系统框图[4][6]。抗混叠滤抗混叠滤波输入A/DDSP芯片D/A平滑输出输出图1-1典型的DSP应用系统输入信号首先进行带限滤波抽样,然后进行AD转换把模拟信号变换成数字信号。根据耐奎斯抽样定理,为保持信息不丢失,抽样频率必须至少输入带限信号最高频率的2倍。图1-1给出的DSP应用系统模型是一个典型的模型,并不是所有的DSP系统都必须具有模型中的所有部件。例如语音识别系统在输出端并不是模拟信号而是识别结果,如数字、文字等。有的系统的输入信号本身就是一个数字信号,显然不必再进行模数变换了。图1-2DSP系统的设计流程一个数字信号处理系统是电子技术、信号处理技术和计算机技术相结合的产物,系统设计通常分为信号处理部分和非信号处理部分。信号处理部分包括系统的输入和输出、数据的处理、各种算法的实现、数据显示和传输等,非信号处理部分则包括电源、结构、可靠性和可维护性等。如图1-2是DSP系统设计的一般方法。系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如果算法运算太大不能在硬件上实时运行,则必须重新修改过简化算法。课题研究的内容本课题研究如何以DSP(数字信号处理器)和USB(通用串行接口)为核心构建硬件系统平台,完成采集处理系统的核心设计。这些核心包括DSP、USB、存储器等,研究的主要内容在硬件上主要为核心组件的接口设计,软件上包括数字信号处理算法、采集控制及驱动设计等。本文的研究主要包括以下几个方面:1.对DSP技术进行广泛的学习和研究,了解各系列的DSP的结构及用途,根据课题需要选择高性价比的主处理器,本课题选择TI公司的TMS320F2812作为主处理器,熟悉该款数字处理器的结构、外设及各个模块的功能和各个寄存器的作用及构造。2.了解通用串行借口(USB)的工作原理及通信协议,选择合适的USB接口芯片,本文选用了CYPRESS公司的CY68013A,了解该芯片的功能构造及外设引脚,熟悉USB固件程序进行调试。3.根据课题需求和DSP芯片的硬件特点提出基于DSP的数据采集处理系统的总体设计方案。4.在TI公司的CodeComposerStudio2.2forC2000(ccs)下对TMS320F2812进行软件仿真,熟悉CCS的开发环境,在内部进行一些算法调试工作。论文的章节安排本论文共分为四章,各章的内容安排如下:第一章概述了课题“基于DSP的数据采集处理系统的设计与实现”的提出和意义,并对所要研究的内容进行了总结。第二章从全局出发探讨了基于DSP的数据采集处理系统的总体设计方案,阐述了系统的工作原理,并根据系统的目标要求对核心处理器及外围器件的选型进行了分析。第三章介绍了采集处理系统的硬件电路设计,包括DSP电源电路、AD转换模块、时钟电路、复位电路、JTAG接口、DSP外部扩展存储器的接口电路以及DSP和USB的接口电路等。第四章介绍了系统的软件流程图,并分成DSP设计和USB设计俩大部分对系统的软件实现方案进行了分析,并对DSP初始化以及DSP和USB的接口软件设计进行了详细的论述。系统的实现方案采集处理系统分析本数据采集处理系统采用内部有模数转换起的DSP作为主处理器,这是一种结构简单、功能强大、经济实用的多通道高速数据采集处理系统,不仅具有数据采集与传输功能,同时具有运动控制功能。它由机械运动、传感器、数据采集、数据处理等几个部分组成。它通过传感器部分将光学标记信号转化为电信号,再通过数据采集部分将电信号转化为数字信号,并由数字信号处理部分进行相应的处理,根据采集到的数据结果来控制设备进行相应的运动,并且将采集处理后的结果传诵到计算机系统。根据设计要求,结合目前市场使用情况,本系统选用TI公司新近推出的专门用于控制领域的TMS320F2812。这是一款32位DSP芯片,它的体系结构是专为实时控制及实时信号处理而设计,其所配置的片内外设为本系统提供了一个理想的解决方案。其中它的通用12位16通路A/D电路、定时器、脉宽调制PWM电路、捕捉器、光电编码器、串行通信接口、看门够等片内外设为DSP应用于智能测控、电机控制、电力电子技术等领域提供了丰富的资源。传感器传感器TMS320F2812步进电机电源SRAMUSB上位机信号调理图2-1系统的总体设计框图本系统是一个高速信号采集处理系统,其基本结构如图2-1所示。系统的工作流程为:本数据采集处理系统通过USB接口接受PC机命令,进行数据采集与数据传输;启动步电机控制传感器采集数据然后变为电信号;再经过信号调理达到DSP的输入电压标准后,使用F2812芯片内部的模数转换模块(ADC)进行数据的采集及A/D转换;转换后的数据预先存储到片外的RAM中,再经DSP进行前端的数字信号处理后,通过USB总线传给上位机,并在上位机上进行存储、显示和分析。根据系统各部分的功能的不同,可将系统分为输入信号调理模块、数字信号处理模块和USB模块。期中输入信号调理模块主要是对被采集的模拟信号进行调理(如电平变换和滤波),以满足数字电路对信号的要求;数字信号处理模块是对输入的电信号进行采集和处理,主要由DSP和一些必要的外设组成,DSP负责数据采集及一些实时处理,同时要完成系统的逻辑和时序控制;USB模块则将DSP处理完的结果传送到上位机上去进行显示、计算和分析。该系统完全可以满足信号采集处理对高精度及实时性的要求,由于系统的数据量较大,因此需要一种高速的数据传输方式,而USB2.0总线传输速度快,能达到480Mbit/s的速度,满足了本系统数据传输的需要。该系统要求采样的精度到8位数字量,用F2812自带的ADC模块就可达到很好的效果,省去了专用的ADC芯片,使系统的时序控制变得简单,从而降低了系统的复杂性,也节约了成本。系统的器件选型本系统设计的目的在于开发体积小、成本低的采集处理系统。所以在满足系统要求的前提下,在器件选择方面尽可能减少系统资源的冗余,提高系统的集成度。微处理器的选型目前的微处理器分为通用处理器、单片机和DSP三大类。DSP与单片机、传统的通用微处理器相比具有很大的优越性。与目前普遍采用的单片机相比,DSP具有较高的集成度并具有更快的运行速度,DSP器件比16位单片机单指令执行时间快8~10倍,在乘法处理上,DSP的优势更为明显,完成一次乘累加运算快16~30倍。这一性能决定了DSP的应用领域主要集中在较复杂的算法处理中,如:数字图象处理、数字语音编码等领域,而单片机则主要用于工业控制等对处理速度和处理性能要求较抵的环境[7]。DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速的实现各种数字信号处理算法。DSP芯片是实现数字信号处理技术的硬件支持,是数字信号处理技术与数字信号处理应用之间的桥梁和纽带,随着全球集成电路事业的发展,美国的TI公司成为世界上最大的DSP芯片供应商,其DSP市场份额占全世界份额近50%,其DSP产品根据功能氛围三个系列TMS320C2000系列,TMS320C5000系列,TMS320C6000系列,本系统选用的就是TI的2000系列的TMS320F2812芯片。随着信息技术的不断发展DSP必将得到更加广泛的应用。通用DSP芯片一般具有如下主要特点[8-10]:1.多总线结构。世界上最早的微处理器是基于冯·诺伊曼结构的,其取指令、取数据都是通过同一条总线完成的,因此必须分时进行,在高速运算时,往往传输通道上会出现瓶颈效应。而DSP内部采用的哈佛(Harvard)结构,它在片内至少有四套总线;程序地址总线、程序数据总线、数据的地址总线和数据的数据总线。这中分离的程序和数据总线,可允许同时获得来自成局存储器的指令字和来自数据存储器的操作数而互不干扰,这样使得其可以同时对数据和程序进行寻址。2.指令系统的流水线操作。在改进的哈佛结构的基础上,大多数DSP芯片又引入了流水线操作以减少每条指令的执行时间,从而进一步增强处理器的楚剧处理能力。在执行本条指令的同时,下面的指令已依次完成取操作数、解码、去指令操作,从而在不提高时钟频率的条件下减少了每条指令的执行时间。3.专用硬件乘法器。硬件乘法器功能是DSP实现快速运算的重要保障。在一般计算机上,算术逻辑单远(ALU)只能完成俩个操作数的加、减法及逻辑运算,而乘法(或除法)则由加法和移位来实现。而DSP器件配有独立的乘法器和加法器,单个周期可以完成相乘、累加俩个运算,大大提高了运算效率。4.快速的指令周期。CMOS技术、先进的工艺及集成电路的优化设计、工作电压的下降(5V,3.3V,1.8V),使得DSP芯片的主频不断提高。目前C64×DSP高速时钟已达1.1GHZ。随着微电子技术的发展以近RISC设计思想在DSP芯片设计和生产中的全面体现,工作频率将继续提高,指令周期进一步缩短。DSP的选型主要考虑处理速度、功耗、程序存储器和数据存储器的容量、片内的资源,如定时器的数量、I/O口的数量、中断数量、DMA通道数等。DSP的主要供应商有TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大的市场份额。而TMS320F281x系列数字信号处理器是TI公司最新推出的数字信号处理器,该处理器是基于TM320C2xx内核的定点数字信号处理器[11]。器件上集成了多种先进的外设,代码和指令与F24x系列数字信号的处理器完全兼容。F28x系列数字信号处理器提高了运算精度(32位)和系统的处理能力(达到150MIPS)下面列出TMS320F2812的主要特征:1.采用高性能静态CMOS技术,主频达到150MHZ(时钟周期6.67ns),1.9V核心低电压设计。2.高性能32位CPU,哈佛总线结构,4MB的程序/数据寻址空间。3.存储空间:18k×16位0等待周期片上SRAM和128K×16位片上FLASH(存储时间36ns);3个独立的片选信号,最多1MB的寻址空间。4.丰富的片内外设:俩个事件管理器EVA和EVB,每个事件管理器模块包括定时器、比较器、捕捉单元、PWM逻辑电路、正交编码脉冲电路以及中断逻辑电路等;一个模数转换模块ADC(Analog-to-DignalConverter);3个32位的CPU定时器;2个异步串行通信接口SCI(SerialCommunicationsInterface);一个高速同步串行口SPI(SerialPeripheralInterface);最高通信速率可达到1Mbps的增强型CAN接口(EnhancedControllerAreaNetwork);多通道缓冲串行接口McBSP(MultichannelBufferedSerialPort);56个通用目的数字量I/O即GPIO模块;一个IEEE1149.1标准JTAG接口(仿真接口);5.三个外部中断,可扩展的外设中断模块支持45个外设中断源。6.功耗低;128位的安全密码。7.工作环境温度:-40~85摄式度。图2-2TMS321F2812的功能框图本系统选用TMS329F2812作为主处理器主要基于以下几点考虑,首先它的主频高,可以满足系统的需要;其次它本身具有ADC模块和片内的大容量FLASH方便系统实现、降低成本;有着较多的I/O可以灵活的配置,多达56个可配置通用目的I/O引脚,可以很方便的实现系统对USB接口时序控制。另外F2812芯片采用典型的哈佛结构,片内有六条独立、并行的数据和地址总线,极大地提高了系统的数据吞吐能力;同时精的指令系统、八级流水线的操作方式和6.67ns的指令周期使得系统的运行速度特别快;系统采用高性能静态CMOS技术,功耗非常低。所以本系统选用TMS320F2812作为主处理器,如图2-2是这款芯片的功能框图。本系统用到模数转换器就是这款DSP的片上自带的模数转换模块(ADC)。它带有俩个8选1多路切换器和双采样/保持器的12位的、具有流水线结构的模数转换器。模数转换单元的模拟电路包括前向模拟多路复用开关(MUXs)、采样/保持(S/H)电路、变换内核、电压参考以及其他模拟辅助电路。模数转换单元的数字电路包括可变成转换序列器、结果寄存器、与模拟电路的接口、与芯片的外设总线的接口以及其他片上模块的接口。该模块有16个通道,单通道转换的见是80ns,故DSP的最大采样速度可达到12.5MHz。当然系统也可采用专用的ADC芯片,如6通道16位的ADS8364模数转换芯片、8通道14位的MAX125模数转换芯片。若F2812芯片自带的ADC模块无法达到系统所要求的精度,则要采用外扩模数转换芯片的方案,而本系统对采样精度要求达到8位即可,F2812芯片能够满足系统要求,在第三章第一节有详细的介绍。串型接口的选型计算机接口方面主要有以下几种:PCI总线、ISA总线、RS232串口、USB串口等。现在工业生产和科学研究对数据传输的要求日益提高,要求有很高的传输速率和传输精度,而现在通用的传输总线,如PCI总线或ISA总线,存在以下缺点:安装麻烦、价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其电磁屏蔽,导致采集的数据失真。USB总线接口具有热插拔、速度快(包括低、中、高模式)和外设容量大(理论上可挂接127个设备)、支持即插即用(Plug&Play)等优点,已逐渐成为现代数据传输的发展趋势[5][12]。基于USB的高速数据传输充分利用USB总线的上述优点,有效结局了传统总线传输的缺陷。使其成为PC机的外围设备扩展中应用日益广泛的接口标准。由于USB市场被业界广泛看好,国际上很多大的半导体厂商都争先推出各自的USB接口解决方案,归纳起来可分为两种:一种是采用普通单片机加上USB专用芯片方法;另一种方法是采用内嵌通用微控制器的USB控制芯片,是在通用微控制器的基础上扩展了USB功能。两种方法各有利弊:前者投资小,可利用普通单片机开发系统开发外设应用程序,其优点是开发者熟悉这些通用微控制器的结构和指令集,相关资料丰富,易于进行开发。目前,在国内应用较多的USB的控制器主要有NationalSemiconductor的USBN9602系列、Philips的PDIUSBD12系列、SCANLOGIC的SLUR系列以及Cypress的FZ-USB系列。其中前两种属于专用的USB接口芯片,使用时需外接微控制器;而后两者属于内嵌通用微控制器的USB控制芯片。为了减小硬件设计的复杂度,加快系统的开发速度,上位机与板卡的接口器件选用Cypress公司EZ-USBFX2系列中的CY7C68013A(下面简称68013)。这款芯片遵从USB2.0规范,在芯片上集成USB收发器(USBTransceiver),串行接口引擎(SerialInterfaceEngine,SIE),CPU(增强型8051微控制器)和一个通用可编程GPIF接口(GeneralProgrammableInterface,GPIF)[13]。集成的USB收发器通过USB电缆D+和D—的连接到主机,串行接口引擎进行数据的编码和解码、完成错误检验、位填充和其他USB需要的信号级任务[14-15]。最终,SIE传输来自或将要到达USB接口的数据。这种全面集成的解决方案,占用更少的电路板空间,并缩短了开发时间。该芯片有2种接口方式,设计时采用的是SlaveFIFO方式,外部控制器(F2812)可以向对普通FIFO一样对FX2的多层缓冲FIFO进行读写。该芯片是一种集成了USB协议的微处理器,它能自动对各种USB事件做出响应,以处理USB总线上的数据传输。存储器的选型根据存储器能否直接与DSP交换信息来区分,可分为外部存储器和内部存储器。许多DSP都提供了具备片内ROM型的产品,片内ROM可以将定型的程序代码固化到DSP片内,从而减少了系统的体积、功耗、电磁辐射干扰,速度也有所提高,当大批量生产可以降低成本。但这种ROM是无用的,所以DSP处理系统中除了DSP芯片以外,另外不可缺少的器件就是存储器。一个独立系统必须有EPROM或Flash等非易性存储器来存放程序、初始化数据等。当片内存储器不够用时,有必要采用告诉可读写的片外存储器景泰RAM(SRAM),SRAM与DSP连接简单,能被DSP全速访问[16]。外部存储器的选择主要考虑的因素:存储容量、存储速度、价格和功耗。存储器的速度是用存储器访问时间来衡量的,访问时间就是指存储器接收到稳定的地址出入到操作完成的时间,比如在读出时,存储器往数据总线上输出数据就是操作结束的标志。存储器的存储速度必须要与CPU的速度匹配起来。存储器的价格主要由两个方面决定,一是存储本身的价格,而是存储器模块中附加电路的价格,后一类价格也叫固定开销,因为对不同容量的模块,这种价格几乎是一样的。因此,选择外部存储器时,应使设计中模块的数目尽可能的大。综合系统需求和上述要点,数据缓冲采用ISSI公司16M大容量RAM器件IS61LV51216[17]。该芯片是512K×16bit的告诉CMOS静态存储器,存取速度为12ns,采用3.3V供电。其他器件的选型时钟芯片的选择:系统中,我们选用了两种时钟30Mhz和24MHz分别供DSP和USB使用。电源芯片:系统中所需的电源有四种:+12V、+5V、+3.3V和+1.8V。考虑到系统的低功耗以及F2812芯片的CPU核和I/O外设上电顺序的不同,本文选用了TI公司的芯片TPS75733[18]和TPS76801[19]作为整个系统的供电电源,将电路板外接的+5V转换成+3.3V和1.8V、+12V和+5V由外电源提供,这里选用开关电源。本章小结本章从全局出发根据系统设计的要求,探讨了基于DSP的数据采集处理系统的总体设计方案,阐述了系统的基本结构和工作过程,并根据各个功能模块特点对主要处理器芯片及外围芯片的选型进行了分析。系统的硬件设计系统的前端数据采集在系统的前端AD采集模块中,我们设计了两种方案。一种是前端外扩一个专用的模数转换芯片[20],比如外扩一片ADS8364,采样精度可达到16位;另外一种是直接应用F2812的ADC模块,由于芯片自身的一些限制,AD转换的精度最多只能达到12位。下面我们分别介绍两种方案。采用ADS8364作采集芯片如果系统要求模数转换器的分辨率保证12位以上的话,F2812芯片内置的12位A/D转换模块无法满足系统分析的要求,那么必须外接A/D转换芯片。这里选用16位并行输出的A/D转换芯片ADS8364,ADS8364与TMS320F2812的接口电路如图3-1所示ADS8364的特点是片选信号CS、输入时钟CLK、数据输入及控制信号均可以和TMS320F2812直接连接。另外,ADS8364可以和F2812使用一样的3.3V电源,因此省去了电源变换。EA0~EA2用来控制ADS8364的A0~A2,而EA15则用来通过反相器发送片选信号。ADS8364是高速、低功耗、6通道同步采样的16位模数转换器。ADS8364采用+5V工作电压,并带有80dB共模抑制的全差分输入通道以及6个模数转换器、6个差分采样放大器。另外,在REFIN和REFOUT引脚内部还带有+2.5V参考电压以及高速并行接口。ADS8364的6个模拟输入分为三组(A、B和C),每个输入端都有一个ADC保持信号来保证几个通道能同时进行采样和转换[21]。ADS8364模数转器中的6个16位AD准换通道可以成对同步工作。三个保持信号可以启动指定通道的转换,但三个保持信号同时被选通时,其转换结果将保存在6个寄存器中。对于每一个读操作,ADS8364均输出16位数据,地址/模式信号(A0、A1、A3)可以选择如何从ADS8364读取数据,也可以选择单通道、单周期或FIFO模式。当ADS8364的/HOLDX(X为A、B或C)保持至少20ms的低电平时,转换开始。这个低电平可使各个通道的采样保持放大器同时处于保持状态,从而使每个通道同时开始准换。当转换结果被存入输出寄存器后,引脚的输出将保持半个时钟周期的低电平。另外,通过/RD和/CS为低电平可使数据读出到并行输出总线。当ADS8364采用5MHz的外部时钟来控制转换时,它的采样率是250KHz,同时对应于4us的最大吞吐率,这样采样和转换公需花费20个时钟周期,另外,当外部时钟采用5Mhz时,ADS8364的转换时间是3.2us,对应的采样时间是0.8us。因此,为了得到最大的输出数据率,读取数据可以在下一个转换周期进行。图3-1DSP和ADS8364接口电路采用F2812自带的ADC模块TMS320F2812自带的ADC模块是一个12位带流水线的模数转换器(ADC),它有16个通道,可配置为2个独立的8通道模块,分别服务于事件管理器A和B,两个独立的8通道模块也可以级联构成16通道模块。尽管在模数转换模块中有多个输入通道和俩个排序器,但仅有一个转换器。F2812的ADC模块的功能框图如图3-2所示。两个8通道模块能够自动排序,每个模块可以通过多路选择器(MUX)选择8通道中的任何一个通道。在级联的模式下,自动排序器将变成16通道,对于每个通道而言,一旦ADC转换完成,将会把转换结果存储到结果寄存器(ADCRESULT)中。自动排序器允许对同一个通道进行多次采集,用户可以完成采样算法,这样可以获得更高的采样精度。ADC模块主要包括以下特点:1.12位模数转换模块ADC。2.两个采样和保持器(S/H)。3.同步或顺序采样模式。4.模拟输入电压范围0~3V。5.快速转换时间,ADC时钟可以配置为25MHZ,最高采样带宽为12.5MSPS。图3-2ADC模块功能框图6.16个输入通道:在一次转换任务中,自动排序功能提供多达16个自动转换。每个转换可以编程选择16个输入通道中的一个,排序器可以作为两个独立的8位状态排序器或者一个16位状态排序器(即双级联8状态排序器)。7.16个结果寄存器(可独立寻址)存放ADC的转换结果,转换后的数字量表示为:数字值=4095×{(输入模拟电压值—ADCLO)÷3}。8.多个触发器发源启动ADC转换(SOC)。-S/W:软件立即启动(用SOCSEQn位);-EVA:事件管理器A(EVA中的多个事件源可以启动转换);-EVB:事件管理器B(EVB中的多个事件源可以启动转换);-外部引脚:ADCSOC引脚。9.灵活的中断控制机制,允许在每一个或每隔一个转换序列结束(EOS)时产生中断请求。10.排序器可工作在“启动/停止”模式,允许多个按时间排序的触发源同步转换。11.在双排序模式时,EVA和EVB可以独立的触发SEQ1和SEQ2。12.采样保持(S/H)获取时间窗具有单独的预分频控制。图3-3DSP自带ADC采样与理论值的比较图(输入电压0~3V)DSP的外围电路设计电源电路本系统中用到了5V、3.3V和1.8V的器件,还需要12V的电压驱动电机,F2812采用3.3V的外设供电和1.8V的内核供电,68013采用3.3V供电,本系统采用TI公司的芯片TPS75733和TPS76081,将电路板外接的+5V转换成+3.3V和1.8V,电源输出+12V,+5V和—5V的电压。如图3-4DSP的电源供电电路。F2812芯片需要I/O(3.3V)先上电,内核(1.8V)后上电,这与TI其它型号DSP的上电次序不同,因此在电源电路的设计中要格外注意。本系统电源电路设计如图3.4所示,在左边的TPS75733使能端接地,即一直都是使能的,当其2管脚IN有+5V的输入信号时,4管脚OUT输出+3.3V电压,此时为F2812的I/O供电;与此同时,TPS75733的管脚5置低,使能TPS76081,输出为两个OUT管脚(管脚5和6),得到+1.8V,为DSP的内核供电。为了使输入电源更稳定,对于前端输入的+5V电压,用47uF的电容对它进行滤波,同样为了使DSP的供电电源更稳定,我们对两片电源芯片的输出电源也做了滤波处理,分别在+3.3V和+1.8V处用10uF的电容滤波。此外为了方便观察电源的通断,在电源的输入端设置了电源指示灯LED,在+5V电源输入时二极管LED将发光[18-19]。图3-4DSP的电源供电电路在关于F2812供电设计中,有的设计者将电源芯片选用TPS767D318[23]。此芯片是一种双输出稳压器,也可分别为DSP提供3.3V和1.8V的电压输出,3.3V和1.8V电压输出间隔较小,可近似认为同时上电,在F2812为核心处理器的系统中也可以正常使用,为了系统的稳定和保护DSP的目标出发,选用两片电源芯片来严格上电顺序,可延长系统使用寿命,提高系统的安全性和稳定性。电源电路设计时要注意数字地和模拟地分开,系统设计中用600R100MHz1A的磁珠将两者分开,避免公共地阻抗对模拟信号和数字信号产生耦合作用。模拟电源和数字电源之间可用电容隔开。此外选择+5V电源时,要注意电源的质量。在做实验时,曾经用过一般的开关电源,在采集的过程中出现很多的尖峰毛刺,虽然用中值滤波可以把尖峰滤掉,但是滤波处理会占用DSP芯片的处理时间,降低了系统的效率。更换成高性能的电源后,采集结果明显改善,所以在选用电源时要注意电源的质量,特别是开关电源,它的电源纹波不能太大,否则会对高频系统造成很大的干扰。时钟电路DSP和其他的微处理器一样,需要晶振才能工作,F2812芯片内含一个机遇可编程PLL(ProgrammablePhase-LockedLoop)的时钟模块,该模块为芯片提供了所有必要的时钟信号,还提供了低功耗方式的控制入口,PLL具有4位比例控制,用来选择不同的CPU时钟速率。基于PLL的时钟模块提供了两种操作模式,一种是晶振操作,该方式允许使用外部晶振给芯片提供时基;一种是外部震荡器输入到X1/CLKIN引脚[11]。F2812的主频最高可达150MHz,如果外部时钟源也选择为150MHz,那么将队周边电路产生较强的高频干扰,影响系统的稳定性。而选用第一种晶振操作模式,可以将一个较低的外部时钟源通过内部倍频的手段达到DSP的工作频率,PLL的倍频因子由PLLCR寄存器的3,2,1,0位决定,如表3-1所示,OSCCLK是晶振频率。表3-1PLL(锁相环)倍频系数选择PLLCR寄存器第3~0位系统的时钟频率0000CLKIN=OSCCLK/20001CLKIN=(OSCCLK*1.0)/20010CLKIN=(OSCCLK*2.0)/20011CLKIN=(OSCCLK*3.0)/20100CLKIN=(OSCCLK*4.0)/20101CLKIN=(OSCCLK*5.0)/20110CLKIN=(OSCCLK*6.0)/20111CLKIN=(OSCCLK*7.0)/21000CLKIN=(OSCCLK*8.0)/21001CLKIN=(OSCCLK*9.0)/21010CLKIN=(OSCCLK*10.0)/2……保留利用DSP内部的PLL锁相环,30MHz频率输入,利用PLL倍频至150M这里设置PLLCR的3,2,1,0位为1010,利用公式时钟输入CLKIN=(OSCCLK×10.0)/2,可验证得到CLKIN=150MHz,最好等于F2812芯片的最高主频。在设计时钟电路和设置时钟倍频时,要注意切忌倍频系数与外部时钟源频率的乘积大于F2812的最高主频150MHz,否则芯片将不能正常工作。图3-5系统的时钟电路同理,对于68013芯片,我们选用了24Mhz的晶振通过内部倍频的方式使芯片达到理想的工作频率。CY7C68013用自己的片内晶振电路和一个外部24MHz晶振组成系统的时钟电路。它有一个片内锁相环(PLL)电路,利用PLL可以把24MHz振荡器频率倍频至480MHz供收发器使用。内部计数器把24MHz的频率分频为内部8051需要的默认的12MHz的时钟频率。XTALIN和XTALOUT分别为晶振的输入和输出引脚,分别与晶振相连,同时,晶振的两个引脚分别通过一个22pF的负载电容接地。系统的时钟电路如图3-5所示。复位电路复位电路在系统的电路设计中是非常重要的。刚刚给芯片上电时,F2812芯片处于复位状态。当F2812芯片的160管脚XRS#接地时,也起到复位的功效。系统中手动复位的电路如图3-6所示。原理如下:当按钮SW1按下时,电容C上的电荷将通过按钮串联的电阻R53放走,使电容C上的压降为0,XRS#为低电平,系统复位器件终止运行,PC指向地址0x3FFFC0;当按钮松开时,3.3V的电压对电容C充电,充电完成后,XRS#置为高电平,复位结束,实现了手动复位,程序从PC所指出的位置开始运行,复位电路的电阻不恩能够太大,否则电流达不到要求,复位失败。XRS#还是看门狗复位输出管脚,当看门狗产生复位时,DSP将该引脚驱动为低电平,看门狗产生复位期间,低电平将持续512个XCLKIN周期。当复位信号被确认后,F2812的处理器进入了一个确定的状态。作为硬件复位的一部分,所有当前操作均被放弃,流水线被清除,CPU的寄存器都进行复位,然后复位中断向量被取回,从而执行相应的中断服务程序。复位程序引导(boot)完成后,用户需要重新初始化PIE中断向量表,应用程序使能PIE中断向量表,中断将从PIE向量表中获取向量。需要注意的是,当器件复位时,总是从向量表中获取复位向量。复位完成后,PTE向量表将被屏蔽。这个电路也同时为68013芯片提供了复位信号。图3-6系统的复位电路JTAG电路设计同单片机的应用系统一样,一个完成的DSP应用系统必须具有仿真器的标准接口,用户可以通过PC调试、下载应用软件到指定的应用板。TIDSP芯片提供上仿真支持,使CCS能控制程序的运行并实时监视程序的活动。仿真器提供与主机通信的JTAG口,主机与目标DSP通信是通过JTAG接口来完成的,这种连接方式对DSP目标系统的实时性能没有太大的影响,片上仿真硬件提供以下功能[16]:1.运行、停止或复位DSP芯片;2.将代码和数据加载到DSP芯片中;3.检查硬件指令或数据相关的断点;4.各种计算功能,包括精确到指令周期的剖切(Profile)功能;5.提供主机和目标系统间的实时数据交换。一般情况下,在系统成功应用之前,我们要做大量的调试工作,以确保板卡和软件程序正常工作,为了方便软件调试,JTAG接口尤为重要,只有JTAG接口设置好,才能通过仿真器被CCS识别,从而进行大量的访真测试实验。如图3-7是F2812的JTAG接口电路。在保证电路设计正确的前提下,还要注意以下几点:1.要求安装仿真器的计算机与DSP应用系统可靠共地。2.禁止带电插拔JTAG接头。3.正确的操作顺序是:先退出计算机系统的访真窗口,然后再将DSP应用板断电,否则可能出现仿真器不能正常运行的情况。图3-7JTAG接口电路设计F2812与存储器的接口设计对DSP内部存储器资源进行必要的了解后,才能正确地利用它的强大功能。本系统使用的是TMS320F2812芯片,我们先介绍一下该芯片的资源分配状况和地址空间分配图,之后,根据系统的要求,设计出外扩存储器的配置方案。F2812存储资源分配情况1.F2812的外部存储空间本系统采用的DSP具有丰富的内部存储器,使用片内存储器有三个优点:高速执行(不需要等待)、低开销、低功耗,充分利用内部存储器可以使DSP系统的整体性能达到最佳。为了提高执行速度,本文设计的系统在调试时将程序空间映射到内部空间中。将固化程序到Flash存储器后,在上电运行时实现程序搬移到内部存储器中,提高了系统的执行效率。F2812芯片的CPU并不包含任何存储器,但是可以通过多总线访问芯片内部或外部扩展的存储器。F2812通过32位数据地址和22位程序地址控制整个存储器及外设,最大可寻址4G个字(每个字16位)的数据空间和4M字的程序空间。F2812芯片包含两个单周期快速仿问的存储器,M0和M1。每个空间的长度都是1K字,其中M0映射到0x000000~0x0003FF空间,M1映射到到0x000400~0x0007FF空间。复位状态下,堆栈指针指向M1模块的起始位置。M0和M1同时映射到程序和数据空间,所以M0和M1既可以执行程序也可以存放数据变量。F2812还包含一块16K×16位的单周期访问的RAM存储器(SRAM),这部分存储器被分为3块,分别是L0(4K),L1(4K),H0(8K)。每个模块都能独立访问,而且每个模块都能映射到程序和数据空间[9]。在本文设计的系统中将H0映射到程序区,M0、M1和H0的一部分映射到数据区。F2812芯片内部有一个BootROM存储器,它是掩模型片内存储器,并在出厂时固化了BootLoader软件。BootLoader软件根据引擎引导模式(BootMode)信号确定上电时的引导装载方式。用户可以选择从内部FLASH存储器引导程序,也可以根据需要建立自己的引导程序,使用Zone7空间进行程序引导,将程序存放在外部空间。引导成功后,通过软件使能内部的ROM,以便可以访问存放在ROM中的外部空间。2.F2812的外部存储空间TMS320F2812的外部接口如图3-8所示,可分为5个固定的存储映像区域,每个外部接口XINTF区都有一个片选信号,用于访问某一个特定的区域。在一些器件上,俩区的片选信号在内部“与”在一起,组成一个共享的芯片选择。在这种方式下,同一个存储器可被连到俩个区或者可用外部解码逻辑来区分这俩个区。5个区中每一个区还可以用指定的等待状态数、选通信号建立和保持时间进行编程。在一个读访问和写访问中,等待的状态数、选通信号建立时间均可以被指定[25]。另外,每个区都可以用XREADY信号去扩展外部的等待状态或者不扩展,可编程等待状态、芯片选择和可编程选通时间使得接口与外部存储器及外设相脱离。下面是XMP/MC信号对XINTF的影响:复位时,XMP/MC引脚的值被采样,并被锁入XINTF的配置寄存器XINTFCNF2。该引脚的复位状态决定bootROM还是XINTF7区被使能1.若复位时XMP/MC=1(微处理器模式mircroprocessormode),则7区被使能,从外部存储器去引导复位向量。在这种情况下,必须确实将复位向量指向一个有效的可执行代码的存储器位置。2.若复位时XMP/MC=0(微计算机模式microcomputermode),则bootROM被使能,而XINTF7区不被使能。在这种情况下,从内部bootROM来引导复位向量,而7区不能被访问。复位后,对MP/MC的配置可以通过写XINTFCNF2寄存器的状态位来改变。系统可以通过bootROM来引导,而后由软件将MP/MC置1,这样就可以访问7区了。BootROM映射到Zone7空间时,Zone7空间的存储器仍然可以访问,这主要是因为Zone7和Zone6公用一个片选信号。本文设计的系统中复位时将XMP/MC置0,从内部bootROM来引导复位向量。图3-8外部接口框图外扩存储器接口设计在数据处理系统中,必须具有大容量数据存储器、掉电不丢失数据RAM等存储功能模块,以保证实时监测数据及断电状态下供电可靠性指标的监测。由于F2812芯片具有内置的128KB的Flash,只需外扩其它存储器用来保存一些配置参数、状态数据和分析数据等。这里外扩了一片SRAM芯片IS61LV51216,该芯片是512K×16bit的高速CMOS静态存储器,存取速度为12ns。片外存储器占用地址0x100000~0x3FFFFF。这种器件可以按照8位或16位的方式使用,它的电平可以和通常的3.3V器件连接,它与DSP的连接示意图如图3-9所示。XA[0XA[0…18]XD[0…15]XWE#XWD#XZCS6AND7A[0…18]D[0…15]/WE/OE/CETMS320F2812IS61LV51216图3-9DSP和存储器的接口示意图系统中实际采集到的图像数据量大约有1M×8bit,而F2812的片上RAM最大只有64K字,这部分空间还要来执行程序,用于存放数据的空间远远不能满足,因此需要将数据空间扩展到IM左右才能实现图像数据的存储。这里我们选用了16位的存储器IS61LV51216,在存储数据时可直接将相邻的两个8位数据一起传送到片外存储器中进行存放。相邻的两个数据,从第一个数据开始,低地址的数据存放在低8位,高地址的数据放在高8位,这些都是在进行数据处理的时候完成的。IS6lLV51216可与TMS320F2812芯片箭脚直接连接,只需将SRAM的地址线、数据线与F2812的地址线、数据线相连接,并辅以片选线和控制线选中该芯片即可。F2812与68013的接口设计如图3-10所示,将DSP芯片的GPIOB口的16条信号线与USB的数据线FD相连,作为大批量数据传输通道。GPIOA0设置为输出,用来控制USB的同步时钟,只在同步模式时使用;GPIOAl设置为输出,控制USB的写时序;GPIOA2控制USB的硬提交管脚,USB的SlaveFIFO模式默认512个字节作为一个传输包,若分包传输后剩余数据不足一个包,可将此信号置0,实现剩余数据的硬提交;GPIOA3和GPIOA4设为输出选通USB传输时使用的通道;GPIOA5和GPIOA6分别与USB的满、空信号相连,监测USB的FIFO中的数据是否为满。将F2812芯片的SCIB口作为命令传输通道,与USB芯片的SCIEl连接[27-29]。在上位机处理采集数据时,DSP要不断的把大量的采集并处理好的16位数据通过USB接口传到上位机中,USB采用SLAVEFIFO模式,适合大数据量的通信。为了提高F2812和68013的通信效率,传输时,用两块芯片的SCI接口作为传输两者命令和状态的专用通信接口,大大提高了传输的效率。这在4.2.4节有详细的介绍。FD[0~15]FD[0~15]FLAGBFLAGCFIFOADDR1FIFOADDR0PKTENDSLWRIFCLKURXD0UTXD0GPIOB[0~15]GPIOA6GPIOA5GPIOA4GPIOA3GPIOA2GPIOA1GPIOA0SCITXDBSCIRXDB图3-10DSP和USB的接口示意图本章小结本章小结本章详细论述了系统的硬件电路的设计方法。首先对系统的前端ADC模块进行了分析,由两套设计方案比较,优选了DSP芯片自带的ADC模块作为系统的采集模块。其次给出了系统的电源电路、时钟电路、FLAG接口电路、复位电路等外围电路的设计原理和电路图。详细介绍了DSP的片上存储空间和外扩总线,选择适合系统需要的存储扩展区域,并给出了接口电路图。最后根据系统数据传输的特点,设计了DSP和USB的传输接口电路。本章是系统的重点和难点。系统的软件设计系统的开发环境CCS开发环境CCS开发环境第四章系统的软件设计DSP部分的软件设计是在CCS2.2(CodeComposerStudioVersion2.2)环境下运行的。该代码调试器是一种针对标准TMS320调试接口的集成开发环境(IntegratedDevelopmentEnvironment,IDE),由TI公司在1999年推出,CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如图4-1所示的开发周期的所有阶段。设计概念性规划设计概念性规划调试、语法检查、探测点设置和日志保存等编程与编译、创建工程文件编写源程序和配置文件分析、实时调试、统计和跟踪图4-1CCS开发周期CCS集成开发环境支持编辑、编译、汇编、链接和调试DSP程序的整个开发过程,它还允许编辑C代码和汇编源代码,还可以在C代码之后显示与之对应的汇编指令。只需要在菜单View中选择M恢Source/Asm选项,即可看到C之后跟着的汇编语句。CCS使用工程(Project)来管理应用程序的设计文档,这与MicrosoftVisualStudio6.0有很大的相似之处。工程中包含有源代码、目标文件、库文件、连接命令文件和头文件。在以往的开发工具中,编译、汇编和链接是各自独立的执行程序,开发设计人员需要熟悉每个程序的相关参数,且需要在DOS窗口下键入这些繁琐的命令,而在CCS集成开发环境下只需要修改这些参数即可。而且CCS能自动查找工程所需要的头文件,并将它加入到工程中。CCS的调试工具有下列特性:设置一个或者多个断点;在断点处自动更新窗口;使用Watch窗口查看变量;查看和编辑存储器、寄存器;使用ProbePointg工具在主机与目标系统间传输数据流;可对目标系统中的信号绘图显示;使用ProfilePoint查看执行统计信息;观察目标系统中执行的反汇编和C指令;CCS还提供GEL语言,允许开发者向CCS菜单中增加功能。在软件开发的分析阶段,传统的调试手段对诊断实时系统中的错综复杂问题无能为力。CCS提供支持实时分析的DSP/BIOS插件,可以用它来实时跟踪和监视一个DSP应用程序,同时对实时性能的影响达到最小。DSP/BIOSAPI提供以下实时分析特性:程序跟踪:显示写入目标日志的事件,并在程序执行过程中反映动态控制流程。性能监控:跟踪统计目标板资源的使用情况,如处理器负载和线程时序等。文件流:将目标板上的I/O对象与主机上的文件联系在一起。CCS支持这些片上的仿真功能,这样可以提供给开发者一个真实的系统工作过程,从而缩短开发时间。在进行硬件电路调试时,要通过XDS系列硬件仿真器,从而使CCS与目标板(PCB板)相连。通过仿真器和CCS开发环境,还可以进行输出文件的烧写,最后使程序固化在DSP的FLASH中。USB的固件开发环境USB的固件开发环境USB部分的固件设计是在KeiluVersion2的环境下实现的。它是一个集成开发环境,把项目箭理、源代码编辑、程序调试等集成到一个功能强大的环境中。通过这个软件可以编译工程中的C源码,汇编工程中的汇编源程序,连接和重定位工程中的目标文件和库文件,创建HEX文件,调试目标程序。使用KeilSoftware工具时的项目开发流程和其它软件开发项目的流程极其相似:创建一个项目从器件库中选择目标器件配置工具设置用C语言或汇编语言创建源程序用项目管理器生成你的应用修改源程序中的错误测试连接应用。源代码由uVision2IDE创建并被C51编译或A51汇编编译器和汇编器从源代码生成可重定位的目标文件。KeilC51编译器完全遵照ANSIC语言标准支持C语言的所有标准特性,另外,直接支持8051结构的几个特性被添加到里面。KeilA5I宏汇编器支持8051及其派生系列的全部指令集。uVision2源代码级调试器是一个理想的快速可靠的程序调试器,此调试器包含一个高速模拟器,能够模拟整个8051系统包括片上外围器件和外部硬件。当从器件库中选择器件时这个器件的特性将自动配置。DSP部分的软件设计利用C语言编写DSP程序时,可能会遇到一些对实时性要求很高或是对DSP的底层资源进行操作的场合,这些场合若单纯利用C语言实现会变得非常困难或是根本没法实现,因此用Nc语言和汇编语言混合编程。C语言与汇编语言混合编程有两种方式,一种是通过关键字asm可直接在C语言中嵌入汇编语言。如需要对F2812的INTM进行关中断、开中断时,可以直接在C语言中插入如下代码:asm(“SETCINTM”);以上代码实现设置INTM位为l,即关中断功能。这种直接在C语言中插入汇编语言的方法十分方便,因此在利用C语言进行DSP程序开发时经常利用。需要注意的是,使用关键字asm时,C语言编译器不会对其内容进行任何检查,汇编语言的首列一定不能是汇编指令,因此在上述的汇编指令SETC前需要加入空格,否则编译会出错。另一种混合编程的方式是在C语言函数与汇编语言函数之间互相调用,C语言编写的函数在汇编语言中调用应该加上下划线,这种方式一般只在中断量列表中定义对应的C语言中断服务程序时使用。图4-2DSP数据采集和处理程序设计流程图在对系统进行软件设计之前,我们先对系统的工作流程有个比较清楚的了解,下面简单介绍一下:1.上位机发出采集命令经USB芯片给DSP,肩动采集命令。2.输入信号调理模块对输入信号进行调理,进行电平转换和滤波,以满足系统的要求和ADC模块对信号电压的要求。3.DSP驱动电机,触发要采集的信号,同时软件启动DSP的序列发牛器进行数据转换。4.为了减小缓存,DSP转换完一组信号后要判断是空采集还是采样有用的数据,将有用的数据存储到外扩RAM中。5.当采集完成后,DSP将采集的数据通过USB芯片传到上位机中。6.上位机对数据进行显示、分析和处理。系统的软件设计包括DSP程序的初始化部分、采集处理部分和USB部分。系统上电后,程序初始化要将DSP所有的应用的外设及时钟根据系统的需要置于初始状态,然后不断查询SCI接口有无采集指令,若收到采集指令,则开启一个CP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年国际商务英语一级考试练习题100道附参考答案【a卷】
- 2026年口腔正畸学考试题库100道附答案(黄金题型)
- 2026年交管12123驾照学法减分题库100道及完整答案【全优】
- 公务员行测常识判断试题及答案1套
- 2026年重庆三峡医药高等专科学校单招职业技能考试参考题库附答案详解
- 工程公司招人合同范本
- 2025年三亚城市职业学院单招职业倾向性考试题库附答案
- 小型工厂合作合同范本
- 如何中止兼职合同协议
- 2026年重庆建筑工程职业学院单招综合素质考试模拟试题附答案详解
- 道路清障救援作业服务投标方案(完整技术标)
- 生物样本库建设方案
- 西南师范大学出版社小学数学五年级上册 田忌赛马的故事 全省一等奖
- 《机修工基础培训》课件
- 铸件项目可行性研究报告
- 中国胃食管反流病诊疗规范(2023版)解读
- 数字经济前沿八讲
- 脓毒症免疫功能紊乱
- 广东江南理工高级技工学校
- 眼底荧光造影护理配合
- 2023年电大会计本人力资源管理复习资料
评论
0/150
提交评论