独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料.与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名:均止一日期:卿年‘A;2 Fl关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,’允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定) 签名导师签名:日期:・叩年‘”’旧第一章绪论第一章绪论,.,引言 信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一;几乎所有的电参量的测量都需要用到信号发生器。 在70年代前,信号发生器主要有两大类:正弦波发生器和脉冲波发生器。正弦波发生器只提供正弦波信号。通常使用的技术是一一自由振荡器,工作频率即-为输出频率,频率范围有限,一般从几Hz至约1MHz。脉冲波发生器可产生高质量的方波和脉冲串,其频率范围一般低至1Hz,高至1 GHz,它被用在数字系统中模拟或取代数字信号,如时钟,数据等。介于两者之间的还有函数发生器,它提供正弦,余弦,方波,三角波,斜波等几种常用的特殊波形。产生有别于上述波形时,必须采用较复杂的电路或机电结合的方法,甚至采用模拟计算机构成专用设备。 在70年代后,微处理器的出现,利用信号处理器,A/D和D/A以及软件使函数产生器的功能扩大,能够产生更复杂的波形,衰减振荡波,随机脉冲波,指数形脉冲等。当时的信号处理器是专门用于信号处理的微处理器,但时钟频率只有1 ^2MHz, A/D和D/A一般在8位左右,内部存储器约2K,因此能够产生的正弦波的等效频宽不会超过1MHz,要获得比较平滑和失真度低的波形,重复频率不能超过IOKHz,当时用模拟方式产生特殊波形,重复频率可以达到I^-IOMHZ.波形完整性好,用数字电路的函数发生器尚处于开发阶段,正式产品还不多。‘ 80年代情况有很大变化,随着现代信息事业的发展,测试对象不断丰富,现代通信系统和电子系统对测试系统提出了越来越高的要求,进而对信号发生器也提出了更高的要求,需要模拟工作现场的情况来对产品进行测试。而工作现场的信号往往是多种多样的,传统的模拟信号发生器显然是不能满足客观的需要的,这时就需要一种能产生用户定义的波形的仪器Ul第一章绪论第一章绪论,.,引言 信号发生器是一种常用的信号源,广泛应用于电子电路、自动控制和科学试验等领域。它是一种为电子测量和计量工作提供符合严格技术要求的电信号设备。因此,信号发生器和示波器、电压表、频率计等仪器一样是最普通、最基本的,也是应用最广泛的电子仪器之一;几乎所有的电参量的测量都需要用到信号发生器。 在70年代前,信号发生器主要有两大类:正弦波发生器和脉冲波发生器。正弦波发生器只提供正弦波信号。通常使用的技术是一一自由振荡器,工作频率即-为输出频率,频率范围有限,一般从几Hz至约1MHz。脉冲波发生器可产生高质量的方波和脉冲串,其频率范围一般低至1Hz,高至1 GHz,它被用在数字系统中模拟或取代数字信号,如时钟,数据等。介于两者之间的还有函数发生器,它提供正弦,余弦,方波,三角波,斜波等几种常用的特殊波形。产生有别于上述波形时,必须采用较复杂的电路或机电结合的方法,甚至采用模拟计算机构成专用设备。 在70年代后,微处理器的出现,利用信号处理器,A/D和D/A以及软件使函数产生器的功能扩大,能够产生更复杂的波形,衰减振荡波,随机脉冲波,指数形脉冲等。当时的信号处理器是专门用于信号处理的微处理器,但时钟频率只有1 ^2MHz, A/D和D/A一般在8位左右,内部存储器约2K,因此能够产生的正弦波的等效频宽不会超过1MHz,要获得比较平滑和失真度低的波形,重复频率不能超过IOKHz,当时用模拟方式产生特殊波形,重复频率可以达到I^-IOMHZ.波形完整性好,用数字电路的函数发生器尚处于开发阶段,正式产品还不多。‘ 80年代情况有很大变化,随着现代信息事业的发展,测试对象不断丰富,现代通信系统和电子系统对测试系统提出了越来越高的要求,进而对信号发生器也提出了更高的要求,需要模拟工作现场的情况来对产品进行测试。而工作现场的信号往往是多种多样的,传统的模拟信号发生器显然是不能满足客观的需要的,这时就需要一种能产生用户定义的波形的仪器Ul电子科技大学硕士学位论文 经过这些年的发展,近年来一种新的电子测量仪器一一任意波形发生器出现了,它可视为函数发生器的换代产品。任意波形发生器的功能远比函数发生器强,在前面讨论的难于产生的或不能产生的波形,都可以使用任意波形发生器。自然它也可以用来产生前面讨论的波形(方波,三角波,脉冲波),但实际中还利用发生器来模拟更复杂的信号,甚至信号中的缺陷(如方波中的过冲和数字信号中的尖脉冲)都可通过控制来模拟,再者,任意波形发生器还可产生瞬变信号如阻尼正弦波等,它对存在的各种波形都可以模拟,只要可用数字形式存储,并送进波形存储器的波形都可以把他们模拟出来。早期的信号源主要是基于模拟电路来实现,而任意波形发生器是以数字电路 和计算机技术为基础的产品,因此可使它成为测试系统通用的高性能,多功能的激励源,因而将有很广阔的发展前景。1.2国内外发展状况国外任意波形发生器的研制及生产技术已较为成熟,己有多种产品投放市场, 目前任意波形发生器有三种产品结构形式:・仪器结构形式仪器的结构形式是把任意波形发生器设计成单台仪器的形式,其优点是精度高,可单独工作。‘・PC总线插卡式PC总线插卡式是将任意波形发生卡直接插在PC机的总线扩展槽或扩展机箱中,利用PC机来控制任意波形发生器的工作状态,其优点是可以充分利用PC机的软硬件资源,在波形数据处理,波形参数的修改,计算等有明显优势。‘VXI模块式VXI模块式是一种新型的模块化仪器,它必须插在VXI总线机箱上才能使用,而VXI总线机箱又通过GPIB或RS-232C等接口与计算机相连,VX1卡式仪器对组成自动测试系统(ATE)特别有用,各个公司的VXI卡式仪器模块均可自由组合使用。Ag ilent和Tektronix两大公司在此领域进行了卓有成效的研究和开发,其代表产品无论在技术先进性还是市场占有率方面都在全世界享有卓越声誉。这两个公电子科技大学硕士学位论文 经过这些年的发展,近年来一种新的电子测量仪器一一任意波形发生器出现了,它可视为函数发生器的换代产品。任意波形发生器的功能远比函数发生器强,在前面讨论的难于产生的或不能产生的波形,都可以使用任意波形发生器。自然它也可以用来产生前面讨论的波形(方波,三角波,脉冲波),但实际中还利用发生器来模拟更复杂的信号,甚至信号中的缺陷(如方波中的过冲和数字信号中的尖脉冲)都可通过控制来模拟,再者,任意波形发生器还可产生瞬变信号如阻尼正弦波等,它对存在的各种波形都可以模拟,只要可用数字形式存储,并送进波形存储器的波形都可以把他们模拟出来。早期的信号源主要是基于模拟电路来实现,而任意波形发生器是以数字电路 和计算机技术为基础的产品,因此可使它成为测试系统通用的高性能,多功能的激励源,因而将有很广阔的发展前景。1.2国内外发展状况国外任意波形发生器的研制及生产技术已较为成熟,己有多种产品投放市场, 目前任意波形发生器有三种产品结构形式:・仪器结构形式仪器的结构形式是把任意波形发生器设计成单台仪器的形式,其优点是精度高,可单独工作。‘・PC总线插卡式PC总线插卡式是将任意波形发生卡直接插在PC机的总线扩展槽或扩展机箱中,利用PC机来控制任意波形发生器的工作状态,其优点是可以充分利用PC机的软硬件资源,在波形数据处理,波形参数的修改,计算等有明显优势。‘VXI模块式VXI模块式是一种新型的模块化仪器,它必须插在VXI总线机箱上才能使用,而VXI总线机箱又通过GPIB或RS-232C等接口与计算机相连,VX1卡式仪器对组成自动测试系统(ATE)特别有用,各个公司的VXI卡式仪器模块均可自由组合使用。Ag ilent和Tektronix两大公司在此领域进行了卓有成效的研究和开发,其代表产品无论在技术先进性还是市场占有率方面都在全世界享有卓越声誉。这两个公第一章绪论司任意波形发生器的产品型号和性能特点分别如下表[R1所示:表1.1国外任意波形发生器主要产品生产厂家Agilent公司型号HP33120A性能特点最高采样速率:40MSPS输出标准波形:正弦波、方波、三角波、锯齿波、噪声、直流电压、负锯齿波、指数函 数波 仪器任意波形:8一16000个点幅度分辨率:12位调制:HP33250AAM/FM/FSK/Burst最高采样速率:200MSPS输出标准波形:正弦波、方波、三角波、锯齿波、噪声、直流电压、负锯齿波、指数函 数波 任意波形:1-64000个点幅度分辨率:12位调制:AM/FM/FSK/BurstVXIE1445A尺寸:C模块类型:消息基最高采样速率:40MSPS输出标准波形:正弦波、方波、三角波、锯齿波、 噪声、直流电压、负锯齿波、指数函数波 任意波形:256K个点幅度分辨率:13位调制:AM/FM/FSK/Burst电子科技大学硕士学位论文Tektronix仪器AWG610最高采样速率:2. 6GSPS任意波形:8M个点幅度分辨率:8位调制:AM/FM/FSK/Burst公司AWG2021最高采样速率:250MSPS输出标准波形:正弦波、方波、三角波、锯齿波任意波形:256K个点幅度分辨率:8位调制:AM/FM/FSK/BurstVXIVX4792尺寸:C模块类型:消息基最高采样速率:250MSPS输出标准波形:正弦波、方波、三角波、斜波、脉冲波、任意波、直流最大频率范围:5-125M任意波形存储深度:256K个点幅度分辨率:12位VX4790A尺寸:C类型:消息基最高采样速率:25MSPS输出波形:正弦波、方波、三角波、锯齿波、直流电压幅度分辨率:12位 我国的任意波形发生器近几年也发展迅速,取得可喜的成果。但是总体水平还是跟国外有差距,国内主要是一些PC仪器插卡,仪器和VXI系统的模块很少,另外种类和性能也有一定的差距,因此加强此类的研究尤其重要。第一章绪论1.3课题来源和主要工作 信号源是一种非常常用的实验仪器,随着科学技术的发展,信号源的应用领域越来越广,诸如电子自动化检测、视频信号、雷达、医学等等。生活中的许多实验仪器、设备也会用到一些特殊的信号,它们的工作频率不是很高,但是波形精度要求很高,像低转速角轴探测器等就是这种.用户给出的大多是波形的幅度数据或者直接给出实验波形,而非公式表示,如雷电等。 本课题就是针对角轴探测器这样的一些高精度、低速系统的设备设计的一种任意波形发生器。 课题的主要工作是研究数字信号处理器在任意波形发生器中应用的可行性。设计一种简便实用、性能优良的任意波形发生器,该任意波形发生器能产生正弦波,方波,三角波等常用的标准信号,还能根据用户的需要生成任意波形,整个系统采用DSP控制。作者主要工作:(1)根据课题要求,参阅有关波形发生器的相关资料和文献,了解技术的有关知识和疑难点,作出系统的整体规划和设计。(2)对系统各功能电路进行深入地分析和理解,对系统中的难点进行重点讨论和设计,并采用模块化的思想详细划分各个模块的功能。(3)查找系统中所涉及的各电子元器件的资料,进行分析、比较和选择,并完成电路的硬件设计和PCB布板,对系统的软件部分进行编程,并进行CCs软件仿真。(4)对系统进行调测,并对设计进行总结和展望,提出一些改进的方法和思路。论文还研究了在任意波形发生器设计时如何根据系统指标合理地确定设计方 案,在系统的硬件设计时具体要注意的问题以及如何结合先进的电子设计自动化方法来进行电路的设计,还有相应的软件编制的问题等等,对于目前三种典型的任意波形发生器的结构一一PC总线插卡式、仪器、V)U模块都有重要的参考价值。电子科技大学硕士学位论文第二章任意波形发生器的理论分析2.1 DDS特点数字合成( (Direct Digital Synthesizer简称DDS)技术[[1][2][31[41是一种新型的频率合成技术,它从相位出发直接合成所需的波形。这种技术首先由J.Tiemey,C.M.Rader和B.Gold于1971年提出,但限于当时的技术和工艺水平,DDS技术仅仅限于理论研究,而没有应用到实际中去。近20年来,随着VLSI( VeyLar rge ScaleIntegration), FPGA(Field Programable Gates Array)以及高速DSP的发展,这种结构独特的频率合成技术得到了飞速发展。它以广泛应用于通讯、导航、雷达、电子对抗以及现代仪器仪表等电子系统中。DDS技术同传统的频率合成技术相比,有以下几个突出的优点(2]今极快的频率切换速度DDS是一个开环系统,无任何反馈环节,频率转换时间主要由LPF附加的时延决定..极高的频率分辨率由丫=关/2}知,只要增加相位寄存器的位数即可获得任意小的频率分辨率。大多数DDS的分辨率在Hz, mHz甚至uHzo.较低的相位噪声和低漂移DDS系统中合成信号的频率稳定度直接由参考源的频率稳定度决定,合成信号的相位噪声与参考源的相位噪声相同。令连续的相位变化因为DDS是个开环系统,故当一个转换频率的指令加在DDS的数据输入端时,它会迅速合成所需的频率信号,在输出信号上没有叠加任何电流脉冲,输出变化是一个平稳的过渡过程,而且相位连续变化。.输出频带范围广DDS的最低输出频率是所有的时钟频率的最小分辨率或相位累加器的分辨率。奈奎斯特采样定理保证了在该时钟频率一半下的所有频率,DAC都可以再现信号。6 第二章任意波形发生器的理论分析2.2 DDS的原理[IX2][3x41直接数字法是采用直接数字合成( DIRECT DIGITAL SYNTHESIS)的方法实现信号产生。该技术具有频率转换速度快、频率分辨率高、易于控制的突出特点。直接数字合成技术近年来发展得很快,而要产生任意波形就必须采用直接数字合成技术。随着DDS技术的发展,出现了各种各样的直接数字合成的结构,但基本上可分成两种:a基于地址计数器的数字频率合成法b基于相位累加器的数字频率合成法1.基于地址计数器的直接数字合成法(1)结构框图图2-1基于地址计数器的直接数字合成结构框图这是一种最简单的直接数字合成方式,这种直接数字频率合成器的结构包括地址计数器,存储器和D/A转换器。(2)工作原理将波形数据存储于存储器中,而后用可程控的时钟信号为存储器提供扫描地 址,与每个地址相对应的数据则代表波形在等间隔取样点上的幅度值。数据被送至DAC,从而产生一个正比于其数字编码的电压值,每个电压值保持一个时钟周期,直至新的数据送至DAC,经勤模转换后得到所需的模拟电压波形。在存储器里的数据产生的波形是对“取样波形”的阶梯近似。假定地址计数器的时钟频率为.f,波形一周期内有n个采样值,那么合成的波形频率为:f.=f. l n(2一1)如果改变地址计数器的时钟频率或ROM的地址步进大小,合成波形的频率都会随着改变。而要改变波形,只要在只读存储器中写入不同的数据。2.基于相位累加器的直接数字合成法电子科技大学硕士学位论文(1)结构框图频曰相波率位形控寄存制存储字器器图2-2基于相位累加器的直接数字合成结构框图 这种结构中主要由相位累加器、数据ROM和D/ A变换器组成,它是种全新的直接数字合成方式(目前国内外文献中提到的DDS一般是指这种方式,下面不作说明均指这种方式)。(2)工作原理将要产生的波形数据存入波形存储器,然后在参考时钟的作用下,对输入的 频率数据进行累加,并且将累加器的输出一部分作为读取波形存储器的地址,将读出的波形数据经D/A转换为相应的电压信号,D/A转换器输出的一系列的阶梯电压信号经低通滤波后便输出了光滑的合成波形的信号。以合成正弦波为例,通常我们考虑一个正弦波时习惯使用正弦波的幅度一时间表达式;S(t) = Asin(mt + .p),正弦函数幅度的非线性使依据幅度产生任意频率的正弦波非常困难,但我们注意到,正弦波的相位是线性变化的,DDS技术的关键就在于充分利用了正弦波相位线性变化这一特性,在DDS芯片中,其核心部件是相位累加器和SIN函数表,下面作一简单介绍:。相位累加器 相位累加器在功能上说实质是一个N位快速可循环累加器(目前,一般的DDS芯片中,相位累加器已达到N=32位),N位的相位累加器在每一个时钟来临时与频率控制所决定的相位增量Aq)(通常就是频率控制字K. K为二进制整数,1-2N -1 )累加一次,计数大于2N时则自动溢出,保留后面N比特的数字于累加器中.每当相位累加器计数满后,可自动循环重新累加,所以输出相位可以保持连续变化,这就保证了输出正弦波的连续性。。正弦函数相位一幅度转换表((Sine Look-Up Table)g 第二章任意波形发生器的理论分析 相位累加器的输出是随时间不断线行变化的用N位二进制数表达的相位信息,相位信息是无法直接利用的,必须设法把相位信息转换成幅度信息,在DDS技术中,人们把对应于不同相位的Sine函数的幅度值储存在ROM中,称此ROM为SinLUT,相位累加器的输出相位作为LUT的寻址地址,LUT相应地址单元存储的就是对应于该相位的正弦函数幅度值,为了保证DDS输出频率的分辨率,相位累加器的位数N要作得很多(如32位),但是,要作出一个寻址能力为产(4G)的LUT,既不现实,也不必要。因此,可以只取相位累加器的高A位作为LUT的寻址信号,一般地,取A=12就可以完全满足精度的需要了。(3). DDS的技术性能及特点根据上述原理:当参考时钟频率为f,累加器的二进制位数为N.频率控制 字为k,且波形存储器仅存储一个周期的合成信号的数据时,则合成输出的信号频率为:f_=上f_'0 N 'c频率分辨率:0ia=二r了(2-2)‘ fc (2-3)ZJ’ 最低输出频率:fomin一了最高输出频率:fe (2-4)一般fo. = 0-4f,(2-5)从上面的讨论中可以看出DDS具有:输出频带宽,频率分辨率高,输出频率 转换速度快,频率跳变时输出相位连续等优点。由于DDS采用全数字技术,其合成机理在根本上有别于传统的合成技术,从而为频率合成的设计开辟了广阔的前景,但是它的频谱是不纯净的,研究DDS的频谱对于选择芯片进行电路的正确设电子科技大学硕士学位论文计是很重要的。2.3 DDS的频谱分析[61[1[¥1[9][10][11][12]1.理想DDS的数学模型理想DDS是DDS在理想情况下的数学模型,满足下列三个条件:.不考虑相位舍位,即N=A.不考虑正弦波幅度量化的误差,即D=ca。假定DAC是完全理想的这样DDS就等效为一个理想的采样一保持电路,其中D/A转换器之前的部分(图2-3中)相当于一个采样周期为界二ll f}的理想采样器,DAC相当于一个时宽为T的理想保持电路,对采样数据实现阶梯方式重构:图2-3理想DDS的等效结构2.理想DDS输出的频谱由理想DDS的等效结构,理想采样序列S(n) =sin(2)rf nT. ) =sin[,二争nT.] = sin[2;r爵・,(2-6) 2N由式2-6知采样序列S(n)是周期为下厂万-N向 -的周期序列,God (x, y)表示取最灯CAt‘,人) 大公约数,而S(n)的频谱是一些离散谱线,在这些离散谱线中,幅度不为。的只有儿一根,故对理想的DDS,其S(n)在((0,关/2)范围内没有杂散.电子科技大学硕士学位论文计是很重要的。2.3 DDS的频谱分析[61[1[¥1[9][10][11][12]1.理想DDS的数学模型理想DDS是DDS在理想情况下的数学模型,满足下列三个条件:.不考虑相位舍位,即N=A.不考虑正弦波幅度量化的误差,即D=ca。假定DAC是完全理想的这样DDS就等效为一个理想的采样一保持电路,其中D/A转换器之前的部分(图2-3中)相当于一个采样周期为界二ll f}的理想采样器,DAC相当于一个时宽为T的理想保持电路,对采样数据实现阶梯方式重构:图2-3理想DDS的等效结构2.理想DDS输出的频谱由理想DDS的等效结构,理想采样序列S(n) =sin(2)rf nT. ) =sin[,二争nT.] = sin[2;r爵・,(2-6) 2N由式2-6知采样序列S(n)是周期为下厂万-N向 -的周期序列,God (x, y)表示取最灯CAt‘,人) 大公约数,而S(n)的频谱是一些离散谱线,在这些离散谱线中,幅度不为。的只有儿一根,故对理想的DDS,其S(n)在((0,关/2)范围内没有杂散.第二章任意波形发生器的理论分析S(t)=S(n) * h(t) = [sin(2;r fot) *艺s(t一nT,)] * h(t)壬乡(2-乃(0st‘兀)( 其他)对S(t)作傅氏变换得到理想DDS的理想频谱函数:a ktu) = a/』as k-一一丁一一A) I vAM-J一一二,一nj.ukty宁 ZC' cjo一‘A"j}l_书。Al一. fo_、__._,:优一.ro_、_。,_.,_,,_,t、i =--儿il+二费S (L+ fo 7r) " exp(- j lf} +.fo二)08(。一21rfo一2;r f )i _一j0 - j}。,、sin(x)式中jo=二N,aalx)=—_,Kf, G (2-8)S(t)为保持器的冲击响应,从2-8式可看出,理想DAC所完成的阶梯重构只改变了输出频谱的幅度和相位而未增加新的频率点.这样S(n)的频谱结构即代表了DDS输出的频谱分布。据此可知,理想DDS的输出只在f二优士儿处存在离散谱线,当1=0时,得到的就是主谱频率儿,下面以采样时钟200M和基本输出频率40M为例:麒翼蘸+---Naquist带odB-10dB-20as『撇黔撇黝姗黝limit、、2、矛沪.,、:t’.二。公。;‘,、.-\,一560 600 ]IgpgI I3Fc一0240!洲100 160360 400 440如1,0一!沙 甲‘..,.1月志..C沙 }FC-FO C肠qui st图2-4关=200MHz}儿=40MHz时理想DDS的频谱结构 0c+’0 2F电子科技大学硕士学位论文由上图可见,、一2叹,m,一27r f ,兀一八,、是输出频率谱练而其他、一、,0v +rvo,2m, -m.,2w. +W,,3m} -o). ......等为副波谱线,这是通过取样后的正弦波来合成所需频率的必然结果,是由DDS的工作原理所决定的,因此在D/A后面必须设置一个低通滤波器,适当设计低通滤波器的截止频率,使其落在mo和t, -ao之间,即可有效地消除副波频率,而且从图中可看出,to和ml-uo相差越大越好,从前面的推导过程可以看出,理想DDS杂散的主要来源是系统中的取样函数8(t-nT ),也就是说由参考时钟关引起的,这也说明了杂散是DDS固有的,并且参考时钟频率越高,即取样点越多,杂散的抑制相对就越大。3.实际DDS输出的杂散分析实际DDS并不满足理想DDS的3个条件,因而实际DDS将产生杂散信号, DDS的杂散信号有3个来源,分别是:。相位截断误差今(n):在实际DDS电路中,为了取得高的频率分辨率,通常相位累加器的位数N取得很大,如N=24,32,48等,但受体积和成本的,ROM的容量却远小于2N,因此寻址ROM时,累加器输出的相位序列的低B位就被舍去,而只用其输出的高A (A=N-B)位去寻址,这样就不可避免地引入误差。。幅度量化误差勺(n):由于ROM中存储着正弦波样点的幅值编码和D/A有限字长,这样就不可避免地引入了幅度量化误差。。由DAC非线性引起的误差气(n):实际的DAC存在非线性因素,主要有微分非线性,积分非线性,DAC转换过程的尖峰电流,转换速率受限等,据此可以构造出DDS杂散(误差)来源模型,如下图所示:图2-5实际DDS的杂散(误差)模型第二章任意波形发生器的理论分析4.DDS杂散的分析(1)相位截断误差凡(n):若DDS相位累加器的字长为N,频率控制字为K,则相位累加器在‘・叹(兀为时钟周期,Tc =瓜)时刻,输出相位序列:q)(n)=nkmod2N n=1,2,二这里mod表示模除运算,对任意两个整数p, 4, mod运算定义为:(2-9)pmodgAp-int(p)xq (2-10)上式中,加《.)表示取整运算。在实际DDS中相位舍位后累加器输出的相位序列为. ̄N ,,.Bv, (n)=nk mod 2’一nk mod 2(2-11)这样,由于相位舍位所产生的相位误差序列为:sp (n)=op(n)一op. (n) = nk mod 2由此可知sp(n)是以)内由又,。. B(2一12)2 BGcd(2B,K)2 B-1为周期的序列,在频域上以关为周期,在d aG(2B, K)根离散谱线组成。从上式可以认为凡(n)为Ep (t)B ‘ 今t)是幅值为23,周期为万的锯齿波。(2)幅度量化误差几(n)当ROM采用D位二进制数保存正弦函数值时,量化误差为: K,1.‘,D__r,_2_‘,K‘,,、= sinf 2x"-"nl一‘r "int(2扮 "sinf2)r.一,--* "int(-m)0D(n、一a-<<,一,N一,.jo D -....1.一““L ̄,一,N一 ̄-.。 N -..."Wy 2‘, 2O 2‘’ 2. B”(2-13)2N 其中,int(.)表示取整运算・显然-'D(.)与S(n)有相同的序列周期二厂下二万二二,因此Ocat乙一,人)电子科技大学硕士学位论文幅度量化误差在频谱中没有引入新的杂散成分,而是表现为均匀的噪声基底.通常在一个周期内几(n)被认为是在(一”,2-D)间均匀分布的噪声,则由量化引起的信噪比为:SQR=1 .76+6.02D(dB) (2-14)由式2-14可见,量化位数D每增加一位,则SNR将提高6dB,所以在可能的条件下应尽可能采用存储位数高的存储器和高分辨率的DAC,但也不能盲目地追求高位数,因为当D增加到一定的位数时,杂散不再因之而改变。(3)DAC的非线性误差£DA(n) 在高频、超高频DDS系统中,DAC的非线性逐步成为DDS输出杂散的主要来源之一,DAC的非线性特性对DDS输出谱的影响表现为产生输出频率的谐波分量及这些谐波分量的镜像分量,即含有频率为:凡=lt+o几rf`S一,0下了,S.,-A‘,‘,0=0,士1,士2,…,n=2, 3,…)__,,、‘。_1二、(2-15)幅f"'IT RA叠低通滤波黔性哎之..‘飞1次像频卜基频输出3次谐枕愚装 次3 谐 波 3次谐彼像频3 次 像频』频率时钟2次谐彼0 7 11 16 2210 20 3029 3340 47 50 51 58 60 62 69 7073 80 90图2-6 DAC对DDS输出谱的影响杂散电平由DAC的性能决定,…)很近时,fc一((n一1)fo,成为主谱周围幅度较大的杂散分量,实际应用中及((n+l)f.一九将离儿很近应当避免。在现代VLSI技术条件下, 通过加大ROM容量及数据位数,DDS由相位截断当输出频率离叼(n=3,4,和数据量化引起的杂散噪声己经可以很容易做到一70dB以下的理论值,但是工作在14 第二章任意波形发生器的理论分析高速的DDS输出谱中仍然存在-40dB左右的少数杂散谱线,这是由DAC的非理想特性引起的,因此DAC才是目前影响DDS频谱质量的决定因素,除了DAC有限分辨位数之外,DAC的瞬间毛刺,DAC的非线性,数字噪声馈通以及时钟的泄漏都是导致频谱劣化的因素,它们为DDS输出频谱增加了背景噪声和杂散,所以DAC的性能对于整个系统是很关键的。2.4主要技术指标1垂直分辨率(幅度分辨率一位数) 垂直分辨率是指幅度的分辨率由数模转换器的分辨率决定,任意波形发生器的特性很大程度上取决于其数模转换器的性能。对数摸转换器的速度和分辨率要权衡折衷,采用快速的数模转换器,其分辨率则较低。在20M取样点砂的范围内,目前通常采用的是10位或12位的数模转换器,高于20M的采样率则选用14位或16位的数模转换器。通常,较高的垂直分辨率意味着再现的波形中量化误差较小,从而减少了失真。如果使用数字存储示波器捕捉到的波形,则应与数字存储示波器的分辨率一致。2.水平分辨率(波形存储深度一字数/通道) 水平分辨率是波形存储器中可利用点的总数,大致可以表示任意波形发生器所能产生波形的复杂程度,在每秒20M个取样点时,要将每个存储单元的内容都送给数模转换器,并让数模转换器快速转换成相应的模拟量电压,只容许有SOns的时间。为满足这类需求,通常采用快速的SRAM。水平分辨率点数越多,意味着再现的波形的失真越小。在低频应用时,因为要求在较长的一段时间内维持较高的取样速率,所以需要较长的波形存储器。3一取样速率(采样速率一样点数砂) 采样速率为准确再现信号所需的单位时间采样点数,其中最高取样速率决定了波形中最高的频率成分即任意波形发生器的输出带宽,Nyquist定理指出:可还原的最高频率不大于二分之一的取样速率,在该频率点上,每周期只要有两个取样点就确定了原波形,实际上可采用的最高频率要比Nyquist频率低得多,具体取决于可容忍的失真程度。第二章任意波形发生器的理论分析高速的DDS输出谱中仍然存在-40dB左右的少数杂散谱线,这是由DAC的非理想特性引起的,因此DAC才是目前影响DDS频谱质量的决定因素,除了DAC有限分辨位数之外,DAC的瞬间毛刺,DAC的非线性,数字噪声馈通以及时钟的泄漏都是导致频谱劣化的因素,它们为DDS输出频谱增加了背景噪声和杂散,所以DAC的性能对于整个系统是很关键的。2.4主要技术指标1垂直分辨率(幅度分辨率一位数) 垂直分辨率是指幅度的分辨率由数模转换器的分辨率决定,任意波形发生器的特性很大程度上取决于其数模转换器的性能。对数摸转换器的速度和分辨率要权衡折衷,采用快速的数模转换器,其分辨率则较低。在20M取样点砂的范围内,目前通常采用的是10位或12位的数模转换器,高于20M的采样率则选用14位或16位的数模转换器。通常,较高的垂直分辨率意味着再现的波形中量化误差较小,从而减少了失真。如果使用数字存储示波器捕捉到的波形,则应与数字存储示波器的分辨率一致。2.水平分辨率(波形存储深度一字数/通道) 水平分辨率是波形存储器中可利用点的总数,大致可以表示任意波形发生器所能产生波形的复杂程度,在每秒20M个取样点时,要将每个存储单元的内容都送给数模转换器,并让数模转换器快速转换成相应的模拟量电压,只容许有SOns的时间。为满足这类需求,通常采用快速的SRAM。水平分辨率点数越多,意味着再现的波形的失真越小。在低频应用时,因为要求在较长的一段时间内维持较高的取样速率,所以需要较长的波形存储器。3一取样速率(采样速率一样点数砂) 采样速率为准确再现信号所需的单位时间采样点数,其中最高取样速率决定了波形中最高的频率成分即任意波形发生器的输出带宽,Nyquist定理指出:可还原的最高频率不大于二分之一的取样速率,在该频率点上,每周期只要有两个取样点就确定了原波形,实际上可采用的最高频率要比Nyquist频率低得多,具体取决于可容忍的失真程度。电子科技大学硕士学位论文2.5本章小结 本章主要阐述了DDS的工作原理、特点和技术指标,也对DDS的频谱作了简要的分析说明。此章内容为任意波形发生器(AWG)的系统设计做必要的铺垫,为具体的设计工作打下理论基础。第三章任意波形发生器的系统设计第三章任意波形发生器的系统设计3.1技术指标1.波形标准波形:正弦波,方波,三角波任意波形:・波形深度:1--65536个点・幅度分辨率:16位・采样率:100KSPS左右2.输出波形的要求要求输出波形频率在3HZ-5KHZ范围内可调,输出电压的峰峰最大值大于 25V,频率分辨率根据波形复杂程度不同尽可能的高。 本课题设计的任意波形发生器,不仅要求可以生成方波、三角波、正弦波等标准波形,而且还要可以生成用户所需要的任意波形,同时输出波形的频率和幅度均可编程控制。3.2系统整体设计思路 整个系统的设计思想是采用Vc++编写人机界面窗口,在Vc++编程实现的人机交互界面上按下鼠标左键可绘制任意波形,然后由相应程序对绘制的波形进行采样,采样数据会保存到数组文件,最后这些数据被传送给DSP, DSP经过整理后送到波形RAM中存储起来。 DSP是整个系统的核心部分,对整个电路的工作进行控制。具体的控制程序在电脑上编写完成后经过DSP仿真器下载到程序存储器中。本课题中用的是扩展FLASH,在DSP上电工作后,利用DSP提供的boot机制,再将程序下载到DSP RAM中运行。波形数据在DSP的控制下从波形存储器中读出,送到D/ A转换器中,经过数电子科技大学硕士学位论文图3-3 DSP核心控制框图(3) DtA转换及其滤波输出部分,是指电路中采用16位高精度的数模转换芯片AD7846对数据存储器传送过来的数字信号进行转换,转换出模拟的阶梯信号,后面的高阶低通滤波电路对其滤波就得到平滑的模拟波形。设计中采用了8阶椭圆可调低通开关电容滤波器MAX293。接下来是幅度增益控制部分,采用两块可编程增益块PGA205和PGA103串联实现对波形幅度控制,可以实现高达800倍的幅度信号。下面给出波形从DA出来经过滤波、增益控制、最后输出的简单示意框图:图3-4输出部分框图3.3电路硬件部分的设计 针对上一节中整个系统结构的介绍,本节主要对所设计电路中涉及到的主要芯片和核心部分电路做详细的说明和具体的介绍。下面把电路核心部分的框架结构图重画如下:第三章任意波形发生器的系统设计图3-5核心电路框图电路的核心部分主要芯片有DSP芯片TMS320C5 402, D/A转换芯片AD7846,外扩数据RAM IS61LV6416L、扩展FLASH AT49LVIO24A、低通滤波芯片MAX293以及幅度增益控制芯片PGA205和PGA103.下面的章节将对它们作详细的器件说明和应用介绍。3.3.1 DSP芯片 DSP采用了TI公司的TMS320C5402,它有一组程序总线和三组数据总线,高度并行的算术逻辑单元ALU、专用硬件逻辑片内存储器、增强型HPI口和高达100MHZ的CPU频率,可以在一个周期里完成两个读和一个写操作.其他的一些设计中有关DSP的应用和应用中的具体连接都将在第四章中作详细的介绍,这里不再赘述了。下面讨论下DSP如何从PC获得波形数据,数据的获取可以有两种方法:一种通过仿真器下载到DSP;另一种是通过串口把数据传送到DSP。下面分别对它们进行介绍:(1)用C编写一个数据转换程序,把十进制数据文件waveform.dat中的数据取出,并形成一个数组文件的形式,转换为数组头文件waveform.h。则在CCs环境下,FLASH的加载主程序包含此头文件,编译链接后通过仿真器下载到DSP中,运行DSP,用户程序就被加载FLASH中。转换程序见附录2,(2)串口传送方式。本设计中为了实现与上位机之间的通信,设计中留了一个串行接口RS-232。波形数据也可以通过串口来传送给DSP,有同步串口通信和异步串口通信两种。若采用异步串口通信的话,PC与DSP需要约定一个波特率,双方第三章任意波形发生器的系统设计图3-5核心电路框图电路的核心部分主要芯片有DSP芯片TMS320C5 402, D/A转换芯片AD7846,外扩数据RAM IS61LV6416L、扩展FLASH AT49LVIO24A、低通滤波芯片MAX293以及幅度增益控制芯片PGA205和PGA103.下面的章节将对它们作详细的器件说明和应用介绍。3.3.1 DSP芯片 DSP采用了TI公司的TMS320C5402,它有一组程序总线和三组数据总线,高度并行的算术逻辑单元ALU、专用硬件逻辑片内存储器、增强型HPI口和高达100MHZ的CPU频率,可以在一个周期里完成两个读和一个写操作.其他的一些设计中有关DSP的应用和应用中的具体连接都将在第四章中作详细的介绍,这里不再赘述了。下面讨论下DSP如何从PC获得波形数据,数据的获取可以有两种方法:一种通过仿真器下载到DSP;另一种是通过串口把数据传送到DSP。下面分别对它们进行介绍:(1)用C编写一个数据转换程序,把十进制数据文件waveform.dat中的数据取出,并形成一个数组文件的形式,转换为数组头文件waveform.h。则在CCs环境下,FLASH的加载主程序包含此头文件,编译链接后通过仿真器下载到DSP中,运行DSP,用户程序就被加载FLASH中。转换程序见附录2,(2)串口传送方式。本设计中为了实现与上位机之间的通信,设计中留了一个串行接口RS-232。波形数据也可以通过串口来传送给DSP,有同步串口通信和异步串口通信两种。若采用异步串口通信的话,PC与DSP需要约定一个波特率,双方电子科技大学硕士学位论文按照这个约定的波特率收发数据,并依靠数据的起始位和数据长度通信,没有时钟同步信号,是一种简单易用的通信方式。 数据被一位一位的传送到DSP, DSP经过整理,每16位为一组,传送到数据RAM保存起来。这样就可以把波形数据一步步的传送到RAM中,实现波形RAM从PC上的数据获取。串口通信中涉及到一个电平转换芯片MAX3224,由它来进行逻辑电平转换,从而可以让PC和DSP进行数据通信。MAX322 4是EIA/TIA-232通信接口,有自动关断和唤醒、高数据速率以及增强的ESD保护等特点。作为RS-232发送器,能把CMOS逻辑电平转换为5.0V的EIAlTIA-232电平。数据传输速率可以保证250Kbps,还可以并联来驱动更多的接收器;作为RS-232接收器,能把RS-232信号转换为CMOS逻辑输出电平。它要求转换输出总是保持有效。DSP与MAX3224的连接如下图3-6所示:厂下,}}1门厂厂广了州1!1惬111「丁一}}(-(-7-1F一1,「丁一-1】} ̄卞 ̄1口巴幼{{{1{厂r廿l})rI})r寸一广广1!1「丁一}广广卜卜}i「卞 ̄卞土 ̄r卞 ̄) ̄一弓 ̄洲一州卜卜卜十一卜卞卞一犷仁仁比于份.一1廿.冲卜z州一・READYfO&OEOFF}‘ VCC代1卜粉州卜卜卜}州州一卜轰城一一耀州州卜肩月一・C1+ ・V奋CND・C卜TIOUT典士黔男4污一于卜粉州州州一分分钾卜片卜于 ̄i十蔽共弃i节-咔一+于+-于 ̄卜一一卜卜压t,CZ+犯IN-一一卜拳卜,泞签戒一奇若答粉曰共石1一气-I,C2- R10UT一泞鱿月一拌阳一一.一仁.・V FORCEON目件 ̄4书户女月二熬犷万州一日除片r-州一一卜法挤一燕类络一瑞汾卜卜Lj匕耸幸汗兰剑三叫斗务缨斗一・T20D丁TIIN!月井廷月朴醉牡平斗-仁4一熟 T2I.华仁叫月卜仁仁目公匕以」粼斗-Y・R2IN N卜硕t.R20IIT九NVAi.R1匕匕卫J严{}涂竺LL卜J}‘匕洲曰4石1一L-二习L上一缸工‘1月三红毖一一丰丰仁I-眯匕I!}}I!!}}「}}!IL卜!}}}I!「I_I上}11LJ一L工_M#R2A生L土-1匕!{1!L上-}{{!}L上 ̄L止一匕七II}(二一LJ一}}{}1}口一月二I{!一1}}}1上j1一通一图3-6 MAX3224的连接图3.3.2 D/A芯片[13][1411 AD7846的特点AD7 846是美国AD(ANALOG DEVICES)公司推出的一种采用LCMOS工艺制造的16位电压输出的D/A转换芯片,具有以下特点[1s]."16位精度,在全温度范围内具有16位精度,适用于闭环控制系统:.数据回读功能,对DAC寄存器中数据可以进行读取,降低了自动测试设备系统中软件设计的难度;电子科技大学硕士学位论文3.3.3低通滤波器(LPF)滤波器的设计是系统设计中的一个关键环节,是本课题的一个重要的部分, 也是设计中的一个难点。 滤波器按不同的频域或时域特性要求,可分为巴特沃斯(Butterworth)型,契比雪夫(Chebyshev)型,贝赛尔((Bessel)型,椭圆型等标准型.相同的电路,通过选取不同的R和C参数可以实现不同的类型。其中,巴特沃斯型滤波器具有最平坦的通带幅频特性;契比雪夫型特点是通带内增益有波动,但这种滤波器的通带边界下降快;贝赛尔型通带边界下降较为缓慢,其相频特性接近线性:椭圆型的滤波特性很好,但模拟电路复杂,元件选择较为困难,实现难度大。低通滤波器的设计部分采用的是开关电容滤波芯片MAX293,因为查阅了一些 有关任意波形发生器的相关资料,发现大多采用的是设计滤波电路来实现对D/A输出的后滤波,这样的话就存在几个问题:首先是一个滤波电路只能滤一定频率的波形,不能随着波形输出频率的改变 而改变,要满足任意波形输出的需要就必须设计很多这样的滤波电路,这样以来,电路将非常复杂。其次是任意波形的输出频率较低,这样滤波电路中的电容,电感的等器件的容值和感值都非常大,这样一来是电感的感值越大,一般体积也较大,整个电路的面积就很大。二来量值越大,也就相对越离散,可能市面上能买到的电感与你设计的电感值有很大偏差,这样设计出来的电路,滤波效果也受影响。最后,课题中采用的滤波器的拐角频率可以编程控制,并且完全适合课题的设计要求范围,是很好的一个选择。MAX293是8阶、椭圆、低通、开关电容滤波器。其拐角频率范围O. 1HZ^-25KHZ。不需要外部电阻和电容。其过渡比为1.5时可以提供急剧滚降和一80db的衰减带.有内部和外部两种时钟方式。时钟与拐角频率比为100: 1.下面给出了它的引脚连接图3-9和频率响应图3-IOf"1:第三章任意波形发生器的系统设计翻PU了!}f洲毛月洲0O洲目田T S一一W3口OU丁C以IC伙---} CLK 创冷293椒/ i04的伏 协 Wl,}}图3-9 MAX293引脚连接图 考虑到AD7846的数模转换时间为6us-9us,典型时间是6.5us。所以每个数据量经过转换后都要维持一个时间。6.5us,假设t=7us。这样的话,采样点数改变,可以改变输出波形的频率。 如果采样点数为100个,则波形频率f-1/(7us*100卜1.4khz;如果采样点数为400个,则频率为0.35K左右;如果采样点数为50个,则频率为2.8K;同样,采样10个点,可以达到14K;采样点数越少,频率就越高,不过波形的精度也就相对越低。口Fc‘一四口口口口口巨门八日}{日t_一I、1{口口口口[_比洲才门口口口口巨口口口口一0 图3-10 MAX293的频率响应图咖一汤4一一下r一一FREQUENCY RESPONSE}l{.一一一【一一代片二戈r竺竺竺J1 2 3 4 5I NPUT FREQUENCY(M)电子科技大学硕士学位论文 MAX293开关电容滤波器可以通过elk端来控制滤波器的拐角频率。时钟与拐角频率比为100: 1。这个端子由DSP的XF端子来控制,通过编程可以实现周期为8us的周期信号来控制MAX293。这样的话,周期信号的频率就是125khz,它作为滤波器的elk的话,就是说滤波器的拐角频率就是1.25khza 如果每个数据量转换后的维持时间为10us,则输出波形频率Ikhz。同理,如果每个数据量转换后的维持时间大于I Gus,则输出波形频率小于lkhza 对于lkhz的相对平滑、变化不是很急剧的波形信号来说,上述考虑还是挺合适的。而对于那些波形变化很剧烈的信号来说,则需要作适当的调整,因为它要求的滤波频率相对高些。 方案也是多种,可以在DA的选通端子和MAX293的业之前分别加入分频器或者计数器,这样就可以对滤波器的拐角频率进行二次控制,一方面通过编程XF端子来实现对时钟信号的周期控制,另外一方面则是通过分频器或者计数器来对周期信号的频率进行分频,得到MAX293所需要的周期时钟信号。下面举个例子来说明这个问题: 如果需要的滤波器拐角频率是5Khz,则MAX293的时钟端子频率应该为500Khz,可以设定XF的端子信号周期为lus,则频率为1Mhz,所以分频器B应该是2分频。对于DA来说,则考虑到100K的采样速率,需要分频器A是10分频。同理可知道,如果设定XF端子的信号周期是2us的话,则分频器B不需要,而分频器A需要5分频来与DA搭配。总之可以通过适当调整分频器A和分频器B来实现对滤波器的具体控制,达到需要的滤波频率。图3-11滤波器MAX293部分框图电子科技大学硕士学位论文 MAX293开关电容滤波器可以通过elk端来控制滤波器的拐角频率。时钟与拐角频率比为100: 1。这个端子由DSP的XF端子来控制,通过编程可以实现周期为8us的周期信号来控制MAX293。这样的话,周期信号的频率就是125khz,它作为滤波器的elk的话,就是说滤波器的拐角频率就是1.25khza 如果每个数据量转换后的维持时间为10us,则输出波形频率Ikhz。同理,如果每个数据量转换后的维持时间大于I Gus,则输出波形频率小于lkhza 对于lkhz的相对平滑、变化不是很急剧的波形信号来说,上述考虑还是挺合适的。而对于那些波形变化很剧烈的信号来说,则需要作适当的调整,因为它要求的滤波频率相对高些。 方案也是多种,可以在DA的选通端子和MAX293的业之前分别加入分频器或者计数器,这样就可以对滤波器的拐角频率进行二次控制,一方面通过编程XF端子来实现对时钟信号的周期控制,另外一方面则是通过分频器或者计数器来对周期信号的频率进行分频,得到MAX293所需要的周期时钟信号。下面举个例子来说明这个问题: 如果需要的滤波器拐角频率是5Khz,则MAX293的时钟端子频率应该为500Khz,可以设定XF的端子信号周期为lus,则频率为1Mhz,所以分频器B应该是2分频。对于DA来说,则考虑到100K的采样速率,需要分频器A是10分频。同理可知道,如果设定XF端子的信号周期是2us的话,则分频器B不需要,而分频器A需要5分频来与DA搭配。总之可以通过适当调整分频器A和分频器B来实现对滤波器的具体控制,达到需要的滤波频率。图3-11滤波器MAX293部分框图第三章任意波形发生器的系统设计3.3.4幅度增益部分 可编程增益放大器采用的是美国BB公司的具有低增益误差的PGA205,它可采用4.5-18V的电源工作,通过与CMOS与TTL兼容的输入端来设定增益,并能提供快速的稳定时间。 AD7846在l6bit分辨率条件下为士1LSB,在此DAC后端的PGA达到稳定状态的建立时间必须足够快,以便与具有相同分辨率DAC的转换速度相匹配。此外,所选择的PGA还必须具有尽可能低的噪声,因为它决定系统的信噪比(SNR)。为了解决这些问题,本设计中的放大器采用PGA205运算放大器,它具有满足设计要求的速度、精度和快速建立时间。 后端运放电路是由可编程增益运放PGA205和PGA103串联组成.这样的话,运放电路可提供从G=1到0800的可编程增益放大。增益输入端具体输入值见如下的可编程增益真值表[I飞沪V - V* V- 数字输入端可直接与通用的CMOS和TTL逻辑元件直接接口,逻辑输入端以接地端为基准。如果数字输入端不带锁存器,逻辑输入的改变将立即选择新的增益。逻辑输入的开关时间大约是0.5uso巧vl1“N’图3-1 2可编程增益放大的连接和真值表电子科技大学硕士学位论文 增益改变的响应时间等于开关时间加上放大器稳定到与新选择的增益相对应的新输入电压所需要的时间。对于0.01%的精度,当c=1时,稳定时间为a.5ps,当Cr=16时,稳定时间为5Eis.下面给出电路设计中的器件连接示意图3-13:一了一冲j-一一:{C-i!L异一:戒沛:一1甲创「一口迁宜击 ̄1 I,63 47公9 101l 12一日llI I厂曰二几.r I一)E}t111'}}一犷-厂-一一r--,「一一}ftl厂r寸一v尸!'___ec,A_T5;一件1一t目一’{{1})}1:}代「-厂1了‘广厂飞-「::一「广厂i(,1犷丫 ̄{寸寸一牛一t-一一下一介飞一”二,uj-d厂「下,厂}}IC宁丁硒){S「下 ̄厂1-厂,i-Al;图3-13 PGA205与PGA103的连接图!:}‘{}月士_LL已二匕巴「,1价-一兰艺口卜下13 14一护一1一扮洲一飞言-一寸一兴{}阳洛1的15 16.到簿巴.lI{ A认f -,-T一十初十月一万一补t 2一丫3 a巴,‘,9尸-匡卜二I一卜叮了户}};{{11}1:!I}I{}t!{l翁,带r}I3.3.5存储器部分1.程序存储器介绍[32]设计中采用了外扩存储器AT4 9LV1024A。它是单电源供电的FLASH memoyr.64K字的存储空间。采用Atmel非易失性的先进CMOS工艺技术.在工业温度范围之内,它能提供45ns快速读取时间,1.5s的快速擦除周期,而功耗只有72mwe它能10000次擦写,10 X 14mm VSOP封装。功能框图和引脚介绍图如下:DATA INPUTMUTPUTS0018 -U00 VCCGNDADDRESSI N户U下5匹WE昆FFFFH2000H1FFF目的的日图3-14 AT49LU1024A功能框图电子科技大学硕士学位论文 增益改变的响应时间等于开关时间加上放大器稳定到与新选择的增益相对应的新输入电压所需要的时间。对于0.01%的精度,当c=1时,稳定时间为a.5ps,当Cr=16时,稳定时间为5Eis.下面给出电路设计中的器件连接示意图3-13:一了一冲j-一一:{C-i!L异一:戒沛:一1甲创「一口迁宜击 ̄1 I,63 47公9 101l 12一日llI I厂曰二几.r I一)E}t111'}}一犷-厂-一一r--,「一一}ftl厂r寸一v尸!'___ec,A_T5;一件1一t目一’{{1})}1:}代「-厂1了‘广厂飞-「::一「广厂i(,1犷丫 ̄{寸寸一牛一t-一一下一介飞一”二,uj-d厂「下,厂}}IC宁丁硒){S「下 ̄厂1-厂,i-Al;图3-13 PGA205与PGA103的连接图!:}‘{}月士_LL已二匕巴「,1价-一兰艺口卜下13 14一护一1一扮洲一飞言-一寸一兴{}阳洛1的15 16.到簿巴.lI{ A认f -,-T一十初十月一万一补t 2一丫3 a巴,‘,9尸-匡卜二I一卜叮了户}};{{11}1:!I}I{}t!{l翁,带r}I3.3.5存储器部分1.程序存储器介绍[32]设计中采用了外扩存储器AT4 9LV1024A。它是单电源供电的FLASH memoyr.64K字的存储空间。采用Atmel非易失性的先进CMOS工艺技术.在工业温度范围之内,它能提供45ns快速读取时间,1.5s的快速擦除周期,而功耗只有72mwe它能10000次擦写,10 X 14mm VSOP封装。功能框图和引脚介绍图如下:DATA INPUTMUTPUTS0018 -U00 VCCGNDADDRESSI N户U下5匹WE昆FFFFH2000H1FFF目的的日图3-14 AT49LU1024A功能框图第三章任惫波形发生器的系统设计(( 夕,‘5;--10”?。1..1.?f..心胭洲脱相加炜椒健称限-压哪胡娜脚侧御忿湘^a":".!^1.傀阴阴脱心心防fO6品『口目口目己.曰日日日目目目日曰曰d口曰动翻翻甘翻毖翻翻目翻匆困臼万留汤洲刀公针Pin NameAO一Al 5C巨Function用份essesChip Enable七它Output EnableWrite EnableW巨1/00一1/015NCData In网s幻utputsNo ConnedPin Configurations1 )Af49BV2V1024A VSOP Top iewV图3-15 AT49LV IO24A的引脚和封装图2.数据存储器的介绍[331本设计中采用了外扩存储器I S61LV6416a IS61LV6416是高速、64K字、静态RAM。它采用ICSI高性能CMOS技术,可以达到快至8ns的高速读取时间和低功耗。单一的3.3V电源供电,4勺in TSOP一封装。功耗:工作时典型值是250mw (operation)维持时典型值是25 0uw (standby)下图给出它的功能框图和引脚介绍:r -.一,广----,尸IN DESC旦丁卫工IO.NS匕一 ̄一一.一一一曲协决侣.】口日x笼拓阅 创蕊x侣臼‘臼旧胭甘月菩叭丫AO-A15 Address Inputs/100-/1015 Data Inpris/Ot印山沈-民一昵一茁一丽一NC一VCC丫目口.-门协口.曰--弓卜即0公优冲 Chip Enable Inputout刚En由场InputWrite Enable Inputo^t}工曰如‘..,日肉阴为H心,‘ 、盯 --冷.,勺口.口月日,4即.匆匕切wer-byte Control (1100-1/07)Upper-byte Control 0108-1/015)No CorrectionpOw份Ground茂民孺皿口GND图3-16 IS61LV6416功能框图和引脚说明图电子科技大学硕士学位论文3.4本章小结 本章首先给出任意波形发生器的技术指标,然后根据指标给出了整个系统的设计思路,系统的分析了整个系统设计的大概框架结构。其次对核心部分的系统硬件依次作出了清晰的说明介绍,包括MAX3224, DA转换器AD7846、开关电容滤波器MAX293、幅度增益放大器PGA205和PGA103、外扩FLASH和数据RAM的器件介绍以及他们在电路中的应用和连接。其重点内容是滤波器的设计部分和DA转换芯片的应用部分。第四章DSP芯片在设计中的应用第四章DSP芯片在设计中的应用4.1 DSP芯片的介绍[5][18]1[91 [20][21][22][23][2414.1.1 DSP芯片发展简况[251 自1982年美国TI公司推出第一个DSP芯片TMS32010以来,DSP芯片有了很大的发展。DSP芯片不仅在运算速度上有了很大的提高,而且在通用性和灵活性方面作了极大地改进。此外,DSP芯片的成本、体积、重量和功耗也都有了很人程度的下降。随着DSP芯片应用领域的不断扩大,DSP芯片已形成低、中、高三个档次:低端产品执行速度一般为20-50MIPS,能维持适量存储和功耗,提供了较好的性能价格比,适用于仪器仪表和精密控制等;中端产品执行速度一般为100^-150MIPS,结构较为复杂,具有较高的处理速度和低的功耗,适用于无线电信设备和高速解调器等;高端产品执行速度一般为1000 MIPS以上,处理速度很高,产品结构多样化,适用于图像技术和智能通信基站等。对于种类繁多的DSP芯片,一般可按其工作的数据格式将其分为两大类:定点DSP芯片和浮点DSP芯片。定点DSP品种最多,处理速度为20^-2400MIPS;浮点DSP基本由TI公司和AD公司垄断,处理速度为40M-lGFLOPS.’4.1.2 DSP的选择设计DSP系统时,首先要根据应用的需要选择合适的DSP处理器。选择DSP 处理器主要考虑如下几个主要因素:1.数据类型DSP按照所支持的数据结构类型不同分为定点DSP和浮点DSP两大类。定点 DSP进行算术处理时,使用的是小数点位置固定的有符号数或无符号数。浮点DSP进行算术操作时,使用的是带有指数的小数,小数点的位置随着具体数据的不同进行浮动。 定点DSP在硬件结构上比浮点DSP简单,具有价格低,速度快的特点,因而用得最多;而浮点DSP的优点是精度高,不需要进行定标和考虑有限字长效应,但其成本,功耗相对较高,速度较慢,适于对数据动态范围和精度要求高的特殊第四章DSP芯片在设计中的应用第四章DSP芯片在设计中的应用4.1 DSP芯片的介绍[5][18]1[91 [20][21][22][23][2414.1.1 DSP芯片发展简况[251 自1982年美国TI公司推出第一个DSP芯片TMS32010以来,DSP芯片有了很大的发展。DSP芯片不仅在运算速度上有了很大的提高,而且在通用性和灵活性方面作了极大地改进。此外,DSP芯片的成本、体积、重量和功耗也都有了很人程度的下降。随着DSP芯片应用领域的不断扩大,DSP芯片已形成低、中、高三个档次:低端产品执行速度一般为20-50MIPS,能维持适量存储和功耗,提供了较好的性能价格比,适用于仪器仪表和精密控制等;中端产品执行速度一般为100^-150MIPS,结构较为复杂,具有较高的处理速度和低的功耗,适用于无线电信设备和高速解调器等;高端产品执行速度一般为1000 MIPS以上,处理速度很高,产品结构多样化,适用于图像技术和智能通信基站等。对于种类繁多的DSP芯片,一般可按其工作的数据格式将其分为两大类:定点DSP芯片和浮点DSP芯片。定点DSP品种最多,处理速度为20^-2400MIPS;浮点DSP基本由TI公司和AD公司垄断,处理速度为40M-lGFLOPS.’4.1.2 DSP的选择设计DSP系统时,首先要根据应用的需要选择合适的DSP处理器。选择DSP 处理器主要考虑如下几个主要因素:1.数据类型DSP按照所支持的数据结构类型不同分为定点DSP和浮点DSP两大类。定点 DSP进行算术处理时,使用的是小数点位置固定的有符号数或无符号数。浮点DSP进行算术操作时,使用的是带有指数的小数,小数点的位置随着具体数据的不同进行浮动。 定点DSP在硬件结构上比浮点DSP简单,具有价格低,速度快的特点,因而用得最多;而浮点DSP的优点是精度高,不需要进行定标和考虑有限字长效应,但其成本,功耗相对较高,速度较慢,适于对数据动态范围和精度要求高的特殊电子科技大学硕士学位论文应用。2.功耗 在简易设备的应用中,DSP的功耗是选择DSP芯片的重要指标。大多数的DSP都具有功耗管理的能力。如在系统空闲时部分关闭系统时钟,关闭不需要的外设等。一些DSP处理器甚至提供了通过软件控制的方式改变处理器的时钟频率的能力。DSP厂商还针对便携式应用提供了工作于3.3v. 2.5v甚至1.8v电压下的DSP芯片。这些DSP的功耗比工作于5v下的DSP的功耗要小得多[25]此外,考虑到DSP数字信号处理芯片的价格和所需要的功能,本设计中采用 了TI公司的TMS320C5402,它是TI(德州仪器)公司推出的高性能、低功耗的16位定点DSP,是TI公司的第七代产品。 课题采用DSP芯片来作为整个系统的一个核心控制,还从另外两个方面考虑:一方面是考虑DSP的控制能力很强,在本课题中就得到了证实,对电路中的主要模块都进行编程控制,对系统的正常工作非常重要。另外一方面考虑到还可以充分利用DSP高速数据处理能力,对一些可以用算法实现或可用公式描述的波形信号进行产生、处理等。这样系统的功能将大大扩展,很有意义。4.1.3 TMS320C5402 DSP的体系结构及其主要特点[18)[19][20][22][23](24]当前设计中应用得比较广泛的是TI的TMS32 0系列DSPs, TMS320C5402是TI于1999年10月推出的性价比极高的定点数字信号处理器。其主要特点如下:(1) 144PINBGA,操作速率达l00MIPS(2)哈佛结构取代传统的冯诺伊曼(Von Neumann)结构由于Von Neumann结构使用单一公用的数据和指令总线,因此在高速运算时,往往在传输通道上会出现瓶颈效应。DSP芯片内部一般采用哈佛(Harvard)结构,三条16位数据存储器总线和一条程序存储器总线。这种分离的程序总线和数据总线,可允许在一个机器周期内同时获取指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度.(3)流水线技术 DSP芯片的哈佛结构为流水线技术提供了方便。由于采用流水线技术,DSP芯片可以单周期完成乘法累加运算,大大提高了运算速度。而DSP芯片的指令基电子科技大学硕士学位论文应用。2.功耗 在简易设备的应用中,DSP的功耗是选择DSP芯片的重要指标。大多数的DSP都具有功耗管理的能力。如在系统空闲时部分关闭系统时钟,关闭不需要的外设等。一些DSP处理器甚至提供了通过软件控制的方式改变处理器的时钟频率的能力。DSP厂商还针对便携式应用提供了工作于3.3v. 2.5v甚至1.8v电压下的DSP芯片。这些DSP的功耗比工作于5v下的DSP的功耗要小得多[25]此外,考虑到DSP数字信号处理芯片的价格和所需要的功能,本设计中采用 了TI公司的TMS320C5402,它是TI(德州仪器)公司推出的高性能、低功耗的16位定点DSP,是TI公司的第七代产品。 课题采用DSP芯片来作为整个系统的一个核心控制,还从另外两个方面考虑:一方面是考虑DSP的控制能力很强,在本课题中就得到了证实,对电路中的主要模块都进行编程控制,对系统的正常工作非常重要。另外一方面考虑到还可以充分利用DSP高速数据处理能力,对一些可以用算法实现或可用公式描述的波形信号进行产生、处理等。这样系统的功能将大大扩展,很有意义。4.1.3 TMS320C5402 DSP的体系结构及其主要特点[18)[19][20][22][23](24]当前设计中应用得比较广泛的是TI的TMS32 0系列DSPs, TMS320C5402是TI于1999年10月推出的性价比极高的定点数字信号处理器。其主要特点如下:(1) 144PINBGA,操作速率达l00MIPS(2)哈佛结构取代传统的冯诺伊曼(Von Neumann)结构由于Von Neumann结构使用单一公用的数据和指令总线,因此在高速运算时,往往在传输通道上会出现瓶颈效应。DSP芯片内部一般采用哈佛(Harvard)结构,三条16位数据存储器总线和一条程序存储器总线。这种分离的程序总线和数据总线,可允许在一个机器周期内同时获取指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度.(3)流水线技术 DSP芯片的哈佛结构为流水线技术提供了方便。由于采用流水线技术,DSP芯片可以单周期完成乘法累加运算,大大提高了运算速度。而DSP芯片的指令基第四章DSP芯片在设计中的应用本上都是单周期指令,因此单周期指令执行时间可以作为衡量DSP芯片性能的一个主要指标。(4)硬件乘法器 数字信号处理中最重要的一个基本运算是乘法累加运算,也是最主要和最耗时的运算,因此单周期的硬件乘法器是DSP芯片实现快速运算的保证。TMS320C5402具有一个17*17乘法器,允许16位带/不带符号的乘法,提高了运算速度。(5)多种外设和接口为了加强DSP芯片的通用性,DSP芯片上增加了许多外设。可能包括的外设有:多路DMA通道、外部主机接口、外部存储器接口、芯片间高速链接口、外部D转换器、JTAG接口等。中断、通信串口、定时器、可编程锁相环、A/(6) JTAG接口由于DSP芯片结构的复杂化、工作速度的提高、外部引脚的增多、封装面积 减小而导致的引脚排列密集等原因,传统的并行仿真方式己不适合于DSP芯片的发展和应用开发.1991年公布的JTAG接口标准满足了IC制造商和用户的要求,1993年JTAG接口标准修订为5线接口。在片JTAG接口为DSP芯片的测试和仿真提供了很大的便利。(7)程序的加载引导 加载引导是指器件在上电复位后执行一段引导程序,用于从端口(异步串口、UO口、主机接口)或外部EPROM/FLASH存储器中加载程序至高速RAM中运行。一般用EPROM/FLASH存储器存储程序,但是其访问速度较慢,而一些己有的高速EPROM/FLASH存储器价格昂贵且容量有限:同时高速大容量静态RAM价格又在不断下降,因此这种加载方式是一个有效的性价比解决方法。 402有1TMS320C544个引脚,其中20根地址引脚,16根数据引脚、两个多通道缓冲串行口、增强型8位并行主机接口、两个16位定时器、6个通道的直接存储控制器、4KX 16位的片内RO城16KX 16位的片内双访问RAM等等。 42有两个串行口一个是缓冲串行口BSP(TMS320C5Buffered Seiral Ports),另一个是分时多任务的串行口TDM(Time-division multiplexed serial port). BSP对应发送及接收的都是同步信号,格式化的同步信号以及双数据缓冲缓冲器可分别在不同传输率下同时完成。电子科技大学硕士学位论文 下面给出TMS320C5402数字处理芯片的内部方框图:图4-1 TMS320C5402内部结构方框图TMS320C5 42含有一个16位可预定设置周期的定时器其计时可中断控制有一个计时输出TOUT=P82引脚可作为计时控制输出或时序输出等。4.2存储器扩展C5 402系列DSP存储器分为三个选择的空间一程序、数据和1/0,其中程序存储器存放待执行的指令和执行中所用的系数(常数),可使用片内或片外的RAM, ROM或FLASH等来构成:数据存储器存放指令执行中产生的数据,可使用片内或片外的RAM和ROM来构成。110存储器存放与映象外围接口相关的数据,也可以作为附加的数据存储空间使用。C5402通过包含在处理器工作方式的状态寄存器(PMST)中的3个状态位,选择片内存储器作为程序空间或数据空间。这3个状态位是:36 电子科技大学硕士学位论文 下面给出TMS320C5402数字处理芯片的内部方框图:图4-1 TMS320C5402内部结构方框图TMS320C5 42含有一个16位可预定设置周期的定时器其计时可中断控制有一个计时输出TOUT=P82引脚可作为计时控制输出或时序输出等。4.2存储器扩展C5 402系列DSP存储器分为三个选择的空间一程序、数据和1/0,其中程序存储器存放待执行的指令和执行中所用的系数(常数),可使用片内或片外的RAM, ROM或FLASH等来构成:数据存储器存放指令执行中产生的数据,可使用片内或片外的RAM和ROM来构成。110存储器存放与映象外围接口相关的数据,也可以作为附加的数据存储空间使用。C5402通过包含在处理器工作方式的状态寄存器(PMST)中的3个状态位,选择片内存储器作为程序空间或数据空间。这3个状态位是:36 第四章DSP芯片在设计中的应用3个状态位是:( 1) MP/MC位.MP/MC=o,则片内ROM安排到程序空间;MP/ MC=1,则片内ROM不安排到程序空间。( 2) OVLY位。OVLY=1,则片内RAM安排到程序和数据空间;OVL Y=O,则片内RAM只安排到数据存储空间。( 3) DROM位。DROM=1,则部分片内ROM安排到数据空间;DROM=O,则片内ROM不安排到数据空间。 程序设计者可根据不同的需求,相应的配置这3个位,使系统的存储空间满 足应用要求。C5402总共提供了192K word的地址范围,并可通过增强外设接口扩充。芯片上有16K的DARAM和4K的P/D ROM。所有的存储空间又分为多个SK大小的块,支持分页寻址处理,这使得在对其中的一个块操作时,可同时对一另个块进行操作,增加了处理速度。而对本设计而言,由于波形本身的数据量不确定,可能会采样更多的数据点,另外为了将来的系统升级考虑,仅仅依靠片上的资源可能不够,因此需要外扩存储器。4.2.1程序存储器C5402片内4K字ROM通过设置MP/ MC引脚可以设定是否将片内ROM映射到程序空间。程序存储器空间主要用于存放要执行的操作指令和执行中所用的系数表,其主要内容如表4.1所示:表4. 1片内ROM程序存储器映射地址范围F80OH-FFEFH内容(1)自举加载程序(2) 256字u律扩展表(3)256字a律扩展表(4) 256字sin函数表FFOOH-FF7FHFF80H-FFFFH测试保留中断向量表.当MP/MC=O,这4K字的ROM被映射到程序空间的地址范围为F000H^-FFFFH,其中高2K字ROM中的内容是由TI公司定义,如上图所示。当处理器复位时,复位、中断、以及陷阱向量将被映射到程序空间的FF80H。复位后,这些第四章DSP芯片在设计中的应用3个状态位是:( 1) MP/MC位.MP/MC=o,则片内ROM安排到程序空间;MP/ MC=1,则片内ROM不安排到程序空间。( 2) OVLY位。OVLY=1,则片内RAM安排到程序和数据空间;OVL Y=O,则片内RAM只安排到数据存储空间。( 3) DROM位。DROM=1,则部分片内ROM安排到数据空间;DROM=O,则片内ROM不安排到数据空间。 程序设计者可根据不同的需求,相应的配置这3个位,使系统的存储空间满 足应用要求。C5402总共提供了192K word的地址范围,并可通过增强外设接口扩充。芯片上有16K的DARAM和4K的P/D ROM。所有的存储空间又分为多个SK大小的块,支持分页寻址处理,这使得在对其中的一个块操作时,可同时对一另个块进行操作,增加了处理速度。而对本设计而言,由于波形本身的数据量不确定,可能会采样更多的数据点,另外为了将来的系统升级考虑,仅仅依靠片上的资源可能不够,因此需要外扩存储器。4.2.1程序存储器C5402片内4K字ROM通过设置MP/ MC引脚可以设定是否将片内ROM映射到程序空间。程序存储器空间主要用于存放要执行的操作指令和执行中所用的系数表,其主要内容如表4.1所示:表4. 1片内ROM程序存储器映射地址范围F80OH-FFEFH内容(1)自举加载程序(2) 256字u律扩展表(3)256字a律扩展表(4) 256字sin函数表FFOOH-FF7FHFF80H-FFFFH测试保留中断向量表.当MP/MC=O,这4K字的ROM被映射到程序空间的地址范围为F000H^-FFFFH,其中高2K字ROM中的内容是由TI公司定义,如上图所示。当处理器复位时,复位、中断、以及陷阱向量将被映射到程序空间的FF80H。复位后,这些电子科技大学硕士学位论文向量可以被重新映射到程序存储空间的任何一页的开头。4.2.2外扩数据存储器数据存储器存放执行指令所用的数据.通过一片I S61LV6416L进行外部数据空间扩展,将扩展空间分为2页,每页32K字,一共64K字,映射到内存空间的OXSOOOH-OXFFFFH. DSP的数据空间选通信号((DSP DS/)作为外扩数据存储器的片选信号,将存储器的A15端和DSP的A16端相连,用以实现数据空间的分页扩展。其电路如下图所示:图4-3外扩数据RAM4.2.3外扩FLASH 在TMS320C5402 DSP系统的开发中,由于DSP片内只有ROM和RAM存储器,如要将用户代码写入ROM中,必须要由DSP芯片厂家来完成;但这样做用户就不能再更改代码,很不实用。由于RAM在DSP掉电后不能再保存数据,因此,常常利用EPROM, Flsah等一些外部存储器来存放用户代码。在DSP上电工作后,利用DSP提供的boot机制,再将程序下载到DSP RAM中运行。如果使用EPROM外部存储器存放用户代码,需要用代码转换工具将用户代码转换为二进制目标文件,然后用编程器将其烧写进EPROM;而如果使用Flsah存储器存放用户代码,则可直接使用DSP仿真器和CCS(Code Composer Studio)仿真环境进行在线编程,使用灵活方便,不再需要其它编程设备。我们就采用Flsah存储器来实现多份用户代码的有选择加载。 本设计中,通过一片AT49LVIO24A进行FLASH扩展,用来存放用户代码。AT49LV 1024A Flsah存储器的容量为64K字,分为2页,每页32K字.映射到内电子科技大学硕士学位论文向量可以被重新映射到程序存储空间的任何一页的开头。4.2.2外扩数据存储器数据存储器存放执行指令所用的数据.通过一片I S61LV6416L进行外部数据空间扩展,将扩展空间分为2页,每页32K字,一共64K字,映射到内存空间的OXSOOOH-OXFFFFH. DSP的数据空间选通信号((DSP DS/)作为外扩数据存储器的片选信号,将存储器的A15端和DSP的A16端相连,用以实现数据空间的分页扩展。其电路如下图所示:图4-3外扩数据RAM4.2.3外扩FLASH 在TMS320C5402 DSP系统的开发中,由于DSP片内只有ROM和RAM存储器,如要将用户代码写入ROM中,必须要由DSP芯片厂家来完成;但这样做用户就不能再更改代码,很不实用。由于RAM在DSP掉电后不能再保存数据,因此,常常利用EPROM, Flsah等一些外部存储器来存放用户代码。在DSP上电工作后,利用DSP提供的boot机制,再将程序下载到DSP RAM中运行。如果使用EPROM外部存储器存放用户代码,需要用代码转换工具将用户代码转换为二进制目标文件,然后用编程器将其烧写进EPROM;而如果使用Flsah存储器存放用户代码,则可直接使用DSP仿真器和CCS(Code Composer Studio)仿真环境进行在线编程,使用灵活方便,不再需要其它编程设备。我们就采用Flsah存储器来实现多份用户代码的有选择加载。 本设计中,通过一片AT49LVIO24A进行FLASH扩展,用来存放用户代码。AT49LV 1024A Flsah存储器的容量为64K字,分为2页,每页32K字.映射到内电子科技大学硕士学位论文向量可以被重新映射到程序存储空间的任何一页的开头。4.2.2外扩数据存储器数据存储器存放执行指令所用的数据.通过一片I S61LV6416L进行外部数据空间扩展,将扩展空间分为2页,每页32K字,一共64K字,映射到内存空间的OXSOOOH-OXFFFFH. DSP的数据空间选通信号((DSP DS/)作为外扩数据存储器的片选信号,将存储器的A15端和DSP的A16端相连,用以实现数据空间的分页扩展。其电路如下图所示:图4-3外扩数据RAM4.2.3外扩FLASH 在TMS320C5402 DSP系统的开发中,由于DSP片内只有ROM和RAM存储器,如要将用户代码写入ROM中,必须要由DSP芯片厂家来完成;但这样做用户就不能再更改代码,很不实用。由于RAM在DSP掉电后不能再保存数据,因此,常常利用EPROM, Flsah等一些外部存储器来存放用户代码。在DSP上电工作后,利用DSP提供的boot机制,再将程序下载到DSP RAM中运行。如果使用EPROM外部存储器存放用户代码,需要用代码转换工具将用户代码转换为二进制目标文件,然后用编程器将其烧写进EPROM;而如果使用Flsah存储器存放用户代码,则可直接使用DSP仿真器和CCS(Code Composer Studio)仿真环境进行在线编程,使用灵活方便,不再需要其它编程设备。我们就采用Flsah存储器来实现多份用户代码的有选择加载。 本设计中,通过一片AT49LVIO24A进行FLASH扩展,用来存放用户代码。AT49LV 1024A Flsah存储器的容量为64K字,分为2页,每页32K字.映射到内第四章DSP芯片在设计中的应用存空间的OX8000H-OXFFFFH. DSP的程序空间选通信号(DSP PS/)作为外扩FLASH存储器的片选信号,将存储器的A15端和DSP的A17端相连,用以实现程序空间的分页扩展。其电路如下图4-4所示。图4-4外扩FALSH系统上电后程序自举引导执行,进行系统测试。并将程序搬移到RAM中。自 举引导的具体实现将在后续的第五章中介绍。4.3外围电路设计外围电路包括:外围控制电路(电源、时钟电路、复位电路),接口电路。4.3.1电源、复位电路设计系统设计中15V电压信号是由外部直流稳压电源提供。而C5402工作电压有 两种:内核电压为1.8V:输入输出电压为3.3V。系统设计中采用,S73HD318,该芯片的输入电压为5V,它的输出电压分别为3.3V和1.8V,每路电源的最大输出电流为750mA,并且提供两个宽度为200ms的低电平复位脉冲。 TPS73HD318是一种低压差、小静电流的双电压调节器.该芯片最大输出电流达到750mA,输出电流能在两个调节器之间理想分配,从而可以为现今多数的DSPs提供电源电压。使用该芯片产生工作电压原理图见图4-5.第四章DSP芯片在设计中的应用存空间的OX8000H-OXFFFFH. DSP的程序空间选通信号(DSP PS/)作为外扩FLASH存储器的片选信号,将存储器的A15端和DSP的A17端相连,用以实现程序空间的分页扩展。其电路如下图4-4所示。图4-4外扩FALSH系统上电后程序自举引导执行,进行系统测试。并将程序搬移到RAM中。自 举引导的具体实现将在后续的第五章中介绍。4.3外围电路设计外围电路包括:外围控制电路(电源、时钟电路、复位电路),接口电路。4.3.1电源、复位电路设计系统设计中15V电压信号是由外部直流稳压电源提供。而C5402工作电压有 两种:内核电压为1.8V:输入输出电压为3.3V。系统设计中采用,S73HD318,该芯片的输入电压为5V,它的输出电压分别为3.3V和1.8V,每路电源的最大输出电流为750mA,并且提供两个宽度为200ms的低电平复位脉冲。 TPS73HD318是一种低压差、小静电流的双电压调节器.该芯片最大输出电流达到750mA,输出电流能在两个调节器之间理想分配,从而可以为现今多数的DSPs提供电源电压。使用该芯片产生工作电压原理图见图4-5.第四章DSP芯片在设计中的应用存空间的OX8000H-OXFFFFH. DSP的程序空间选通信号(DSP PS/)作为外扩FLASH存储器的片选信号,将存储器的A15端和DSP的A17端相连,用以实现程序空间的分页扩展。其电路如下图4-4所示。图4-4外扩FALSH系统上电后程序自举引导执行,进行系统测试。并将程序搬移到RAM中。自 举引导的具体实现将在后续的第五章中介绍。4.3外围电路设计外围电路包括:外围控制电路(电源、时钟电路、复位电路),接口电路。4.3.1电源、复位电路设计系统设计中15V电压信号是由外部直流稳压电源提供。而C5402工作电压有 两种:内核电压为1.8V:输入输出电压为3.3V。系统设计中采用,S73HD318,该芯片的输入电压为5V,它的输出电压分别为3.3V和1.8V,每路电源的最大输出电流为750mA,并且提供两个宽度为200ms的低电平复位脉冲。 TPS73HD318是一种低压差、小静电流的双电压调节器.该芯片最大输出电流达到750mA,输出电流能在两个调节器之间理想分配,从而可以为现今多数的DSPs提供电源电压。使用该芯片产生工作电压原理图见图4-5.电子科技大学硕士学位论文NC 1RESE1'NC NC一今-,} _.I_叭IGND NCIENIFB/SENSE1[N LOUTIIN LOUTNC 2RESETNC NC2GND NC2EN 2SENSE2IN 20UT2IN 20UTNC NCNC NC1!}I1 二二. I!}I I!I!I I}I{1{I{I}I}!}图4-5工作电压原理图 当C5 402的RS位引脚上出现2个外部时钟周期以上的低电平,即可实现系统复位。C54x复位有三种方式,即上电复位、手动复位和软件复位。前两种是通过硬件电路来实现的复位,后一种是通过指令方式来实现的复位。由于DSP系统的时钟频率较高,在运行很可能发生干扰和被干扰的现象,严重时系统可能会出现死机现象。为了克服这种情况,除了在软件上作一些保护措施外,硬件上也必须作相应的处理。设计中采用MAX708实现手动复位电路,具体电路如图4-6.图4-6复位电路 系统有可能出现程序飞跑的现象。为了增加系统的可靠性,使之能在异常情况下重新复位,需采用看门狗。看门狗分为硬件看门狗和软件看门狗。在本系统中,为了简化硬件电路,采用了软件看门狗。将在第五章第三节予以介绍。第四章DSP芯片在设计中的应用 C5402时钟发生器由一个内部振荡器和一个锁相环伊LL)组成。输入的参考时钟可由晶振和内部振荡器产生,也可以直接通过外部时钟源提供。通过DSP的内部锁相环电路,芯片可以被配置为PLL和DIV模式。PLL模式可以产生0.25^15共31个乘系数;DIV模式可以产生除以2或4两个系数。 系统一旦复位,时钟模式由引脚CLKMDL CLKMD2和CLKMD3来决定,对应模式如下表【23]所示:表4. 2时钟模式表CLKMDICLKMD200011110CLKMD301000111CLKMD的复位数E007h9007h4007h1007hF007h0000hF000h时钟模式PLLX 15PLLX10PLL X 5PLLX2PLL X 1001011011/2(PLL无效)1/4(PLL无效)保留系统中DSP时钟源是通过外界在X2管脚20MHz的晶振产生的。通过设置时 钟模式管脚((CLKMDI,CLKMD2,CLKMD3)为100,选定PLL为2倍频模式,从而系统时钟频率为40MHZ。电路如图4-7:图4-7时钟产生电路由于DSP的程序需要从外部低速Fl ash ROM (AT49LV1024A)中调入,因此,可采用较低工作频率的DSP复位模式,这时,可将CLKMDI-CLKMD3设置为电子科技大学硕士学位论文111,则复位后DSP的工作频率为外部时钟lOMHz。待程序全部调入到DSP内部快速RAM后,再用软件重新配制CLKMD=1007H,就可以使DSP工作在2X20MHz=40MHz的频率,甚至可以根据系统的需要工作于更高频率。4.3.2 JTAG仿真接口电路 JTAG(Joint Test Action Group)是1985年制定的检测PCB和IC芯片的一个标准,1990年被修改后成为IEEE的一个标准,即IEEE1149.1-1990。通过这个标准,可对具有JTAG口芯片的硬件电路进行边界扫描和故障检测。具体JTAG口有如下JTAG引脚定义〔221.TCK一一测试时钟输入;TD卜一测试数据输入,数据通过TDI输入到JTAG口;TDO一一测试数据输出。数据通过TDO从JTAG口输出;TMS一一测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式;可选引脚TRST一一测试复位,输入引脚,低电平有效。 通过程序将对JTAG口的控制指令和目标代码从PC的并口写入JTAG的BSR中。只要用JTAG指令将数据、地址及控制信号送到其BSC中,就可通过BSC对应的引脚将信号送给Flash,实现对Flash的操作。将程序在线烧写到外扩的FLASH中,JTAG的设计和连线关系如图4-8所示:图4-8 JTAG仿真接口电子科技大学硕士学位论文111,则复位后DSP的工作频率为外部时钟lOMHz。待程序全部调入到DSP内部快速RAM后,再用软件重新配制CLKMD=1007H,就可以使DSP工作在2X20MHz=40MHz的频率,甚至可以根据系统的需要工作于更高频率。4.3.2 JTAG仿真接口电路 JTAG(Joint Test Action Group)是1985年制定的检测PCB和IC芯片的一个标准,1990年被修改后成为IEEE的一个标准,即IEEE1149.1-1990。通过这个标准,可对具有JTAG口芯片的硬件电路进行边界扫描和故障检测。具体JTAG口有如下JTAG引脚定义〔221.TCK一一测试时钟输入;TD卜一测试数据输入,数据通过TDI输入到JTAG口;TDO一一测试数据输出。数据通过TDO从JTAG口输出;TMS一一测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式;可选引脚TRST一一测试复位,输入引脚,低电平有效。 通过程序将对JTAG口的控制指令和目标代码从PC的并口写入JTAG的BSR中。只要用JTAG指令将数据、地址及控制信号送到其BSC中,就可通过BSC对应的引脚将信号送给Flash,实现对Flash的操作。将程序在线烧写到外扩的FLASH中,JTAG的设计和连线关系如图4-8所示:图4-8 JTAG仿真接口第四章DSP芯片在设计中的应用4.5本章小结 本章首先对DSP芯片作了简短的介绍,接下来主要对DSP在设计中的具体应用作详细的说明,包括存储器的扩展、外围电源电路、时钟电路、复位电路、接口电路等都给出了具体的连接,对它们的引脚或者工作方式作了简单的阐述。最后是对DSP开发过程中用的开发板作了个说明。电子科技大学硕士学位论文第五章软件设计5.1 VC人机界面的设计 Visual C一由微软公司所发布,是一种在C++语言基础上的开发工具(也有人视其为整合开发环境一Intergated Develop Envirenment),主要用来开发窗口应用程序。 "Visual”即“可视化”,"C++”成为“带类的C", isVual C++就是在C语言的基础上引入面向对象的机制而形成的一门程序设计语言[621波形产生部分也是本设计的一个重要部分,一个核心内容,是设计中的一个 亮点。5.1.1波形发生部分 本设计中就是用VC什来实现波形产生部分,在PC上编程实现人机界面窗口,在窗口规定的区域内可以用鼠标来任意的绘制曲线,也就是任意波形。主要分为几个部分:绘制曲线、图形保存、图形采样并存入数组。1.绘制曲线:class CPantdrwMew::publicCMew{protected:int s drag;HCURSOR sc ross;/ 定义该成员变量用于表示鼠标被按下没有的int变量,0表示未按下,1表示按下。 / /该变量用于保存光标的指针,HCURSOR是光标类,该语句表示s cross,是光标类HCURSOR的对象。CPoi nts_pointend;/ /MFC基类CPoint,是封装了系统坐标((x,y)的类,当鼠标按下时,将鼠标的位置由CPoint信息表示。CPoi ntssepoi ntbegin;protected:电子科技大学硕士学位论文且设置循环程序的门限值为AR4,每循环一次,对AR4中的值减一,当AR4中的值减为0时,退出循环,回到主程序,由此实现了延时计数的功能。 此法本质上说,是在DSP往DA送数据的过程中加入一个计数周期为N的计数器,这样可以通过对N设定不同数值,来改变计数器的周期,从而改变DSP往D/A写数据的时间间隔,也就改变了DA转换后的数据保持时间,最终改变输出波形的周期。此法采样点数都会读取到,但是周期变长,波形频率降低。第((3)种方法:跟前面不同的是,在SP指遍历波形数据时,设置SP每次增加的步进值的方 式,当步进值为M (M可以是2, 3, 4.....)时,SP在读取每个波形数据单元后,其值以M自增,读取后面第M的单元的波形数据值。不难看出,前面一种方法中,设置的步进值均是M=1,即遍历时,依次读取每个单元的数据,而第二中方法将会忽略两个读取单元间的M-1个单元的数据。同样的情况下,输出波形的周期变短,波形频率增大。 该方法DSP就对数据间隔的读取,采样点数不是每个都用到,从而会对波形细节造成损失,因此适合于对波形要求不高,但频率输出相对较高的情况。5.1.3波形幅度和初始相位的控制和频率控制的实现类似,幅度和初始相位的控制也是由软件输入,软件存储 和硬件控制实现的。其过程也是通过用户通过在基于VC的用户界面中,通过参数设置对话框进行设置。用户输入的幅度和初始相位信息,将会分别被视图层的设置的变量m_phas和m amp获取,同时通过视图层中指向文档层的指针pDoc,传向下面的文档层变量pDo-ohn_pha和pDoc->rn amp,由文档层完成存储。5.2 DSP软件开发环境CCS5.2.1 CCS的特点和使用方法[27I[28][29]常用的用于TMS320CS 402的Code Composer Studio2. 0是个高度集成的开发环境,用以满足复杂的DSP应用的要求。它综合了TI的代码产生工具,CCSIDE,DSPBIOS II实时内核和实时数据交换(RTD习技术,把平均译码时间减少了50%或更多。其组件包括:CCS集成开发环境,包括调试器,编辑器,剖析器,电子科技大学硕士学位论文且设置循环程序的门限值为AR4,每循环一次,对AR4中的值减一,当AR4中的值减为0时,退出循环,回到主程序,由此实现了延时计数的功能。 此法本质上说,是在DSP往DA送数据的过程中加入一个计数周期为N的计数器,这样可以通过对N设定不同数值,来改变计数器的周期,从而改变DSP往D/A写数据的时间间隔,也就改变了DA转换后的数据保持时间,最终改变输出波形的周期。此法采样点数都会读取到,但是周期变长,波形频率降低。第((3)种方法:跟前面不同的是,在SP指遍历波形数据时,设置SP每次增加的步进值的方 式,当步进值为M (M可以是2, 3, 4.....)时,SP在读取每个波形数据单元后,其值以M自增,读取后面第M的单元的波形数据值。不难看出,前面一种方法中,设置的步进值均是M=1,即遍历时,依次读取每个单元的数据,而第二中方法将会忽略两个读取单元间的M-1个单元的数据。同样的情况下,输出波形的周期变短,波形频率增大。 该方法DSP就对数据间隔的读取,采样点数不是每个都用到,从而会对波形细节造成损失,因此适合于对波形要求不高,但频率输出相对较高的情况。5.1.3波形幅度和初始相位的控制和频率控制的实现类似,幅度和初始相位的控制也是由软件输入,软件存储 和硬件控制实现的。其过程也是通过用户通过在基于VC的用户界面中,通过参数设置对话框进行设置。用户输入的幅度和初始相位信息,将会分别被视图层的设置的变量m_phas和m amp获取,同时通过视图层中指向文档层的指针pDoc,传向下面的文档层变量pDo-ohn_pha和pDoc->rn amp,由文档层完成存储。5.2 DSP软件开发环境CCS5.2.1 CCS的特点和使用方法[27I[28][29]常用的用于TMS320CS 402的Code Composer Studio2. 0是个高度集成的开发环境,用以满足复杂的DSP应用的要求。它综合了TI的代码产生工具,CCSIDE,DSPBIOS II实时内核和实时数据交换(RTD习技术,把平均译码时间减少了50%或更多。其组件包括:CCS集成开发环境,包括调试器,编辑器,剖析器,第五章软件设计工程管理器和基于C的描述语言。基于标准JTAG接口,包含RTDX技术的DSPBIOS,高效C优化编译器,汇编语言编译器和链接工具,支持指令集结构的软件仿真器。CCS主要特点有:( 1)将编辑,调试,项目管理,分析和探测点集成在一个环境里.( 2)包含C编译器,汇编优化器,和连接器(代码生成工具).( 3)实时的基础软件(DSPBIOS)o( 4)主机和目标机之间的实时数据交换(RTDX) o( 5)实时分析和数据可视化.( 6)允许同时插入主机和目标机,使开发者扩展其开发环境。( 乃第三方厂商的插件可以使目标机硬件的配置更容易。.( 8)数据可视化.下面就Code Composer Studio的使用作简单的介绍:(1)项目的组成和建立 与一个project有关的文件有:C语言的主调用流程文件(*. c),汇编语言模块文件((*.asm),连接器命令文件((*.cmd),运行时支持库文件(*.lib),编译器目标文件((*.obj),头文件((*. h),项目文件(*. mak),可执行文件((*.out)等,如果要烧入DSK上的Flash Rom,还要生成存储器映射文件((*.map)等。建立‘个项目时,在新建的项目中加入C语言文件、汇编语言文件,还有用 于存储器映射的连接器命令文件,以及库文件(用于提供运行时的支持)等组成一个project。如打开一个已有的项目,只需要打开该项目文件即可.(2)文件说明a . *.*或一c*文件:C语言源程序,可以编译和链接b. a*或..s*文件:汇编源程序,可以编译和链接c ..o*或・lib文件:目标或库文件,可以链接d. .h文件:包含文件,不需要添加header/include文件,因为这些文件是自动加入项目列表的 e. .cmd文件:链接命令文件,一个项目只需要一个.cmd文件,否则,项目包含的文件就没有数量了.所有的文件都是用直接路径表示的,但它们是以相电子科技大学硕士学位论文对路径存储的。这样就很容易的可以将一个项目连接到另一个路径下。直接路径在每次打开一个项目时确定。存储的路径名,是相对于该项目的构造(make)文件的。(3)项目的运行项目建立好之后,首先要对其进行bui ld,系统检查C和汇编源文件,程序没有问题后,就可以用file-load program命令,使主机通过并口确认对DSK板load,成功后即可用debug->run命令运行。(4)watch window watch window是用于察看变量值的。可以用view->watch window打开,然后在watch window中,通过右键添加需要观察的变量名,也可以将光标置于要观察的变量名上,用右键打开quick watch察看变量值.(5)断点设置断点可以使程序的执行中断,当程序中断时,你可以察看程序状态,察看或 更改变量,检查访问堆栈等等。但是要注意,不要在实现延迟的语句上设置断点,也不要在一个循环的最后一两句上设置断点,设置断点后,可以通过菜单,选择断点有效或无效。在CCs中也可以设置条件断点,可以在GEL文件中设置断点需满足的条件,当表达式结果为0,处理器就会继续执行而不会刷新显示,否则就会像遇到一般的断点一样中断程序的运行。硬件断点和软件断点的设置都是通过Debug->Breakpoints打开断点类型窗口(Breakpoint type)设置的.(6)探M9点 探测点可以使特殊的窗口更新,或在算法的某特定点从外部文件读写。当探测点设置好后,一样可以使之有效或无效。一个窗口打开后,一般默认为断点刷新,但是也可以用连接的探测点(Connected Probe Point)均使窗口刷新,窗口刷新后,程序继续执行。类似于CCs的文件输入输出功能,你也可以在代码的某点上用探测点读入或 输出一串数据。当程序运行到探测点时,数据就从特殊存储区流向文件或者从文件流向存储器。硬件断点和硬件探测点都会影响到实时性,在仿真的DSP处理器上都不可行。(7)存储器映射第五章软件设计CCs调试器从存储器映射中可以知道哪一部分存储器空间是不能访问的。映 射对应着连接命令文件((".cmd)中的存储器定义。当你使存储器映射有效时,CCs调试器,按照存储器映射检查每个访问,当你访问的是没有定义或受保护的存储器空间时,调试器就不访问目标而显示默认值。当CCs调试器将访问与存储器映射对照时,它将在软件中执行这一检查,而不是在硬件中. 存储器映射:存储器映射告诉CCs哪一块内存可以访问,哪一块不可以访问这种映射与你在链接命令文件中的定义相匹配。5.2.2 CCS的软件开发流程利用CCs开发软件的大致流程如图5-'7[12]所示:错误修改图5-7 CCS软件开发流程图各个阶段完成功能如下:U)软件设计:程序模块化分,算法和流程确定,预测执行结果等。(2)程序编辑和编译:创建工程文件,编写头文件,配置文件和源程序,使用汇编和C编译器进行编译,排除语法、变量定义等错误。(3)程序调试:利用单步执行、断点、探针等手段调试程序。(4)输出结果分析:利用CCs提供的工具分析DSP程序运行的结果,如图形显示数据或者统计运行时间等。若编写程序不能满足要求,则重新进行软件设计。第五章软件设计CCs调试器从存储器映射中可以知道哪一部分存储器空间是不能访问的。映 射对应着连接命令文件((".cmd)中的存储器定义。当你使存储器映射有效时,CCs调试器,按照存储器映射检查每个访问,当你访问的是没有定义或受保护的存储器空间时,调试器就不访问目标而显示默认值。当CCs调试器将访问与存储器映射对照时,它将在软件中执行这一检查,而不是在硬件中. 存储器映射:存储器映射告诉CCs哪一块内存可以访问,哪一块不可以访问这种映射与你在链接命令文件中的定义相匹配。5.2.2 CCS的软件开发流程利用CCs开发软件的大致流程如图5-'7[12]所示:错误修改图5-7 CCS软件开发流程图各个阶段完成功能如下:U)软件设计:程序模块化分,算法和流程确定,预测执行结果等。(2)程序编辑和编译:创建工程文件,编写头文件,配置文件和源程序,使用汇编和C编译器进行编译,排除语法、变量定义等错误。(3)程序调试:利用单步执行、断点、探针等手段调试程序。(4)输出结果分析:利用CCs提供的工具分析DSP程序运行的结果,如图形显示数据或者统计运行时间等。若编写程序不能满足要求,则重新进行软件设计。电子科技大学硕士学位论文5.3软件设计 软件设计包括主程序和子程序两部分。首先要对DSP进行初始化,即对存储器映射外围寄存器、状态寄存器、堆栈指针和处理器方式寄存器等进行相应的设置。其次是编写各个应用子程序。这样系统上电后才能工作在指定的方式下。接下来判断用户的输入,也就是根据用户的需要,看看是否发送波形,是发送常规波形还是任意波形,得出判断结果之后就进入到相应的子程序中执行,得到用户选定的波形输出。系统软件设计框图5-8如下:图5一8软件框图5.3.1系统初始化[29]系统初始化程序包括影响DSP芯片的CPU运行的内部初始化和影响各个片内电子科技大学硕士学位论文5.3软件设计 软件设计包括主程序和子程序两部分。首先要对DSP进行初始化,即对存储器映射外围寄存器、状态寄存器、堆栈指针和处理器方式寄存器等进行相应的设置。其次是编写各个应用子程序。这样系统上电后才能工作在指定的方式下。接下来判断用户的输入,也就是根据用户的需要,看看是否发送波形,是发送常规波形还是任意波形,得出判断结果之后就进入到相应的子程序中执行,得到用户选定的波形输出。系统软件设计框图5-8如下:图5一8软件框图5.3.1系统初始化[29]系统初始化程序包括影响DSP芯片的CPU运行的内部初始化和影响各个片内第五章软件设计外设工作的外设初始化,以及外围可编程器件的初始化的几个方面。DSP系统上电后,DSP芯片部分地进行了定义,因为DSP芯片的两个状态寄存器((STO,STI)的所有状态位都处于确定状态,因此,上电复位时,DSP芯片即处于所谓的预定义状态,但上电复位后,用户可以通过编写初始化程序,对两个状态寄存器的一些状态位进行修改,以满足不同系统的系统配置和应用要求。主要包括:堆栈指针初始化((SP)、存储器映射外围控制寄存器(SWWSR和BSCR)初始化、状态寄存器初始化((STO,STI)、处理器方式状态寄存器初始化((PMST).其流程如图5-9:数据页指针复位堆栈指针初始化设置存储器映射外围控制寄存器状态寄存器初始化处理器方式状态寄存器初值设定图5-9 DSP芯片系统初始化5.3.2设计系统在受到千扰的情况下或者系统电源出现波动,有可能出现程序跑飞的现 象。为了增加系统的可靠性,使之能在异常情况下重新复位,通常采用的方法是在系统中加入看门狗电路。 看门狗定时器的工作原理如下:系统正常工作时,周期性地刷新定时器,重新设置初值,使之不至于溢出而产生定时器中断.如果系统发生异常,则不能正常刷新定时器,于是定时器溢出产生中断,通常利用该定时器的中断使系统重新第五章软件设计外设工作的外设初始化,以及外围可编程器件的初始化的几个方面。DSP系统上电后,DSP芯片部分地进行了定义,因为DSP芯片的两个状态寄存器((STO,STI)的所有状态位都处于确定状态,因此,上电复位时,DSP芯片即处于所谓的预定义状态,但上电复位后,用户可以通过编写初始化程序,对两个状态寄存器的一些状态位进行修改,以满足不同系统的系统配置和应用要求。主要包括:堆栈指针初始化((SP)、存储器映射外围控制寄存器(SWWSR和BSCR)初始化、状态寄存器初始化((STO,STI)、处理器方式状态寄存器初始化((PMST).其流程如图5-9:数据页指针复位堆栈指针初始化设置存储器映射外围控制寄存器状态寄存器初始化处理器方式状态寄存器初值设定图5-9 DSP芯片系统初始化5.3.2设计系统在受到千扰的情况下或者系统电源出现波动,有可能出现程序跑飞的现 象。为了增加系统的可靠性,使之能在异常情况下重新复位,通常采用的方法是在系统中加入看门狗电路。 看门狗定时器的工作原理如下:系统正常工作时,周期性地刷新定时器,重新设置初值,使之不至于溢出而产生定时器中断.如果系统发生异常,则不能正常刷新定时器,于是定时器溢出产生中断,通常利用该定时器的中断使系统重新电子科技大学硕士学位论文复位,从而进入正常工作状态。看门狗分为硬件看门狗和软件看门狗。在设计中,可以使用硬件电路来复位,也可以采用软件看门狗。系统启动时对软件看门狗初始化。初始化包括开相关中断、设置寄存器初值 以及开始计数。初始化程序如下:Dogreset:rsbx嘟rsbx intor;开所有中断;开定时器中断st #9h,*omr)stm #10h, tostt#e Oc34fh,州stm #61h, to优t;每0.1秒溢出;开始计数定时器中断服务程序用于系统复位。 系统复位包括将系统的状态寄存器(st0,stl)恢复到复位的状态以及将模式状态寄存器恢复到脱机模式。中断复位程序如下:timeisr:s tm #Of80h, pmsts tm #1800h, stOs tm #2900h, stl;恢复系统寄存器;恢复系统寄存器;恢复系统寄存器b f80hrete ;软件复位主程序设计时,应周期性地调用看门狗初始化程序,调用的时间间隔应不小 于定时器的定时间隔,以避免定时器的溢出。5.3.3 DSP芯片控制程序设计 通过对DSP数字处理芯片的软件编写来控制其工作,集成开发环境CCs可以完成整个程序的设计,包括源代码的编写、编译、调试,同时配了仿真器,可以进行程序的调试与下载。基于TMS3 20C54X系列的DSP程序设计,需要编写配置文件、中断文件以及66 电子科技大学硕士学位论文复位,从而进入正常工作状态。看门狗分为硬件看门狗和软件看门狗。在设计中,可以使用硬件电路来复位,也可以采用软件看门狗。系统启动时对软件看门狗初始化。初始化包括开相关中断、设置寄存器初值 以及开始计数。初始化程序如下:Dogreset:rsbx嘟rsbx intor;开所有中断;开定时器中断st #9h,*omr)stm #10h, tostt#e Oc34fh,州stm #61h, to优t;每0.1秒溢出;开始计数定时器中断服务程序用于系统复位。 系统复位包括将系统的状态寄存器(st0,stl)恢复到复位的状态以及将模式状态寄存器恢复到脱机模式。中断复位程序如下:timeisr:s tm #Of80h, pmsts tm #1800h, stOs tm #2900h, stl;恢复系统寄存器;恢复系统寄存器;恢复系统寄存器b f80hrete ;软件复位主程序设计时,应周期性地调用看门狗初始化程序,调用的时间间隔应不小 于定时器的定时间隔,以避免定时器的溢出。5.3.3 DSP芯片控制程序设计 通过对DSP数字处理芯片的软件编写来控制其工作,集成开发环境CCs可以完成整个程序的设计,包括源代码的编写、编译、调试,同时配了仿真器,可以进行程序的调试与下载。基于TMS3 20C54X系列的DSP程序设计,需要编写配置文件、中断文件以及66 第五章软件设计主程序文件。它们都可以在DSP集成开发环境中CCs中完成。1.配置文件的编写 配置文件主要指的是DSP芯片的存储器的配置,文件以.cmd为文件后缀名,该文件的功能是把实际的物理存储器按系统应用的需要配置到相应的地址空间中去.其中MEMORY和SECTIONS是两个关键的伪指令,MEMORY伪指令是用来定义目标系统的存储空间的分配。书写格式如下;PROG:origin=0ac00801ength=2000PAGE1:DATA:origin=Ox20901ength=4000}PAGEO和PAGEI分别用来指定程序空间和数据空间,oirgin指定空间的起始地址,length指定空间的长度。SECTIONS用来说明各个段分配到那个存储空间,书写格式为:text仔>PROG PAGE 00.cinit{}>PROGPAGE 0.pinit{}>PROGPAGE .vectors{}>切艾S PAGE 0.switch{}>PROG PAGE 0.stack{}>DATAPAGE 1.bss{}>DATAPAGE 1.const{}>DATAPAGE 1电子科技大学硕士学位论文 所谓段是指连续占用存储空间的一个数据或者代码块。编写汇编语言中的程序是以段的格式组织的,每行汇编语言都从属于一个段,并由汇编伪指令标明该段的属性。段是目标文件中可重新定位的最小单元,一个目标程序中的每个段通常是分开的和各不相同的。目标文件至少包含以下3个默认段:. text段(文本段),通常包含可执行代码;. data段(数据段),通常包含初始化的数据;. bss段(保留空间段),通常为没有初始化的变量保留空间; 此外,汇编器和连接器可以建立、命名和连接自定义段,这些自定义段的使用与.data. .text. .bss段的使用相同。2.中断文件中断服务程序的地址( 中断向量)要装载到存储器的合适区域。一般这些向量都定位在0x0开始的程序存储器中。TMS320C5402复位向量定位在0x0,其他中断向量可以定位于任何2K字的程序存储器中,中断向量表的定位是与PMST寄存器的IPTR位有关。当程序中需要响应中断时,应设计中断向量表,并将其加入工程中去。本程序系统复位、波形数据输入和看门狗软件复位都需要设置响应中断。其程序见附录20IDSP芯片主程序的编写 系统设计的主程序主要是采用C语言进行编写,因此需要在CCs里的程序项目中运行包含运行时支持库rts.lib文件,该库文件包含了标准C/C++函数以及编译器用来管理C/C++环境的函数。用户必须将所有C/C++程序和目标代码链接,以便初始化时执行名为BootLoader的程序,BootLoader程序负责如下的功能[iml.( 1)设置状态和配置寄存器;( 2)设置堆栈和二级系统堆栈;( 3)处理..einit运行时初始化表和自动初始化全局变量;( 4)调用所有全局对象构造器;( 5)调用主程序;( 6)当主程序(mian函数)返回时调用exit;Bo otLoader程序的入口点为-e int00,在rts500.lib中的boot. obi提供,该入第五章软件设计口地址通常用于设置BootLoader程序的起始地址。 设计中TMS320C5402的主要功能从PC获取数据进行整理、然后就是控制各个存储器和D/A的工作方式。整个DSP的程序存放在FLASH中,上电以后由BootLoader程序自动装载运行。5.4程序自举加载(Boot Loader)130113t1可编程的数字信号处理器芯片C5402从上电复位后到进入工作状态前的阶段 叫自举加载阶段(Boot Loader)。当上电复位后,它的程序指针自动指到ROM中(从F800H到FBFFH)的一个称为Boot Loader的程序,该程序是由生产商固化和升级管理的,主要完成一些数据的搬移和程序的重新定位工作。该程序根据环境选用相应的Boot Loader模式,将外部FLASH中的程序搬到DSP内部的RAM程序区中,并将程序指针移到执行程序的第一行处。表5. 1 DSP外部预载程序读取的模式状态表D15-D8XXXXXXXXXXXXXXXXXXXXX7以XXXXXXXXXD7-D4模式0000000000010001001000100011001100000000D3-DO脉冲0000010000000100000001000000010010001100代表在FFFFH地址设定预载控制模式8位BSP标准形式内部Bclkx及Bf sx16位BSP标准形式内部Bclkx及Bfsx8位BSP标准形式外部Bclkx及Bf sx16位BSP标准形式外部Bclkx及Bf sx8位TDM标准形式内部Tclkx及Tf sx16位TDM标准形式内部Tclkx及TfsxXXXXXXXXXXXXXXXX乃浅以双x8位TDM标准形式外部Tclkx及Tf sx8位TDM标准形式外部Tclkx及Tfsx8位并行1/0读取模式xxxxxxxxXXXXXXXX刀以双刃以D15-D8xxxxxxxxXXXXXXXXXXXXXXXX16位并行1/0读取模式代表在FFFFB地址设定预载控制模式8位外部并行EEPROM读取程序数据D7=D2寻址6位SRC6位SRCDl=DO模式01101116位外部并行EEPROM读取程序数据预先暖栈模式warm Boot Mode6位ADR第五章软件设计口地址通常用于设置BootLoader程序的起始地址。 设计中TMS320C5402的主要功能从PC获取数据进行整理、然后就是控制各个存储器和D/A的工作方式。整个DSP的程序存放在FLASH中,上电以后由BootLoader程序自动装载运行。5.4程序自举加载(Boot Loader)130113t1可编程的数字信号处理器芯片C5402从上电复位后到进入工作状态前的阶段 叫自举加载阶段(Boot Loader)。当上电复位后,它的程序指针自动指到ROM中(从F800H到FBFFH)的一个称为Boot Loader的程序,该程序是由生产商固化和升级管理的,主要完成一些数据的搬移和程序的重新定位工作。该程序根据环境选用相应的Boot Loader模式,将外部FLASH中的程序搬到DSP内部的RAM程序区中,并将程序指针移到执行程序的第一行处。表5. 1 DSP外部预载程序读取的模式状态表D15-D8XXXXXXXXXXXXXXXXXXXXX7以XXXXXXXXXD7-D4模式0000000000010001001000100011001100000000D3-DO脉冲0000010000000100000001000000010010001100代表在FFFFH地址设定预载控制模式8位BSP标准形式内部Bclkx及Bf sx16位BSP标准形式内部Bclkx及Bfsx8位BSP标准形式外部Bclkx及Bf sx16位BSP标准形式外部Bclkx及Bf sx8位TDM标准形式内部Tclkx及Tf sx16位TDM标准形式内部Tclkx及TfsxXXXXXXXXXXXXXXXX乃浅以双x8位TDM标准形式外部Tclkx及Tf sx8位TDM标准形式外部Tclkx及Tfsx8位并行1/0读取模式xxxxxxxxXXXXXXXX刀以双刃以D15-D8xxxxxxxxXXXXXXXXXXXXXXXX16位并行1/0读取模式代表在FFFFB地址设定预载控制模式8位外部并行EEPROM读取程序数据D7=D2寻址6位SRC6位SRCDl=DO模式01101116位外部并行EEPROM读取程序数据预先暖栈模式warm Boot Mode6位ADR电子科技大学硕士学位论文按照Boot时程序由外部FLASH存储器进入DSP片上RAM通道不同可分为 HPI、串行口、并行口等模式,按照数据进入DSP时字长不同可分为8位和16位模式。表5.1是TMS320C5402的外部预载程序读取的模式状态设定表。 C5402 Boot过程如图5-10上电复位后,C5402首先判断位于IMR和IFR寄存器的INT2标志位,若INT2有效则采取HPI模式,否则进一步判断INT3标志位;若INT3有效,则采用串行模式((Serial Mode):否则读取1/O空间的FFFFh地址处,当该地址为有效地址,采用并行模式(Parallel Mode);若该地址也无效,则读数据空间的FFFFh地址处,若该地址有效则仍采用并行模式,如果仍不满足条件时,进一步判断其他Boot模式。设计中采用了8位的并行加载方式。,图5-I O C5402的Boot Loader部分流程图Boot Loader过程:(1)生成Boot表CCs系统编译生成的. out格式的文件不能直接通过JTAG口加载到FLASH中,而是要通过CCs自带的hex500.exe和一个特定的.cmd文件将.out文件生成个一hex格式的文件,也叫Boot表。将己经编译好的名为waveform.out的文件加载到FLASH中,则需创建个。nd文件,取名为waveform.cmd,其内容如下:-waveform.out-waveform*/输入的.out文件*/*/设置输出ASCII的十六进制格式文件*/第五章软件设计-map waveform.map-o waveform.hex*/生成名为waveform.map的map表*/*定义输出文件名*//-bootorg PARALLEL一0x100一oot-swwsr Ox7tf-bscr 0x8802-memwidth 16-romwidth 16*/选择并行模式*/*定义入口地址*/l*生成boot表*1l*设定SWWSR寄存器*1/*设定BSCR寄存器*/j*设定存储器字长*1./将hex500. exe,令行:cmd和waveform.out放在同一目录下,执行窗口命hex5OO waveform.cmd即得到wa veform.hex和waveform.map,从waveform.map文件中可以容易的找到程序入口地址。(2)加载程序到FLASH存储器a.FLASH擦除在每次对Fl ash写入之前,要对其原来的内容进行擦除。Flash的擦除包括扇区擦除(128扇)、块擦除(每块32 KW)和整片擦除三种。块擦除是对一个模块进行擦除,整片擦除是擦除整个Flash的内容。因此,对Flash的操作是以模块为基本单元的。本题使用第三种擦除方式。擦除步骤如下表:表5. 2 FLASH擦除步骤12六AA人553D5554D5555人A人人556D55510地址(Ox)数据(Os)D555八几80人人.擦除过程中FLAS H DQ6引脚出现。和1两种电平的跳变,当DQ6稳定为一个电位,表明擦除完成。电子科技大学硕士学位论文b.写入FLASH对FLASH写入程序由两个时序控制:一种是由WE\ }7制的,另一种是由CE\控制的。本题选用WE\控制方式。写入步骤如下表:表5. 3写入FLASH步骤1D5与5从2从从553D5555AO4地址(ox)q入地址I写入数据数据(Os) 将Boot表写入到FLASH中,同时仍可用FLASH DQ6端口作为写完成标志位。当DQ6电平稳定后,Boot表被存储到FLASH中。这样就完成了一次完整的并行加载。即实现系统的脱机运行。程序流程如图5-11.夕p对CPU初始化.关键设置。VLY=1,,DROI=0, IP/IC=0等、p向FLASH编程,使之处于可读写伏态、护砂尸,砂衬并口BOOT只能将程序写入。X8000-Oxffffl#护r'夕护FLASH的OXfff必须存储BOOT表首地址、别衬衬月图5一11 Boot Loder流程电子科技大学硕士学位论文第六章总结及展望6.1总结 课题研究的任意波形发生器思路清晰明了,AD7846具有较高的精度,并且采用了足够多的采样点数,设计达到了课题的要求。由理论推导可得出其频率分辨率可高达O.OIHZ,还具有控制灵活方便等特点,是一种很好的波形发生器。此外,通过对课题的研究学习,总结了系统设计中应该的注意问题: (1)高速系统特别是模拟数字混合系统要特别注意接地问题.除了电源端相连外,数字地和模拟地分开。另外,对于高速系统使用大面积地阻抗非常重要。印制电路板最好采用多层布线,其中的一层作为地层,且地层应尽量覆盖到高速器件的下方。(2)妥善解决电源去祸问题对于高速数字系统也很重要。为防止电源输入端的电缆或连线引入分布电感,电源与器件尽量靠近,并在总的电源输入端跨接大容量的去祸电容。(3)信号走线时,应避免数字、模拟信号交叉走线,如必须交叉,尽可能直角交叉。尽量采用多层布线,相邻层的走线尽量正交。6.2展望 电路的设计工作基本完成,功能基本实现,但是波形的输出频率相对比较低,为了增加系统的通用性,可以考虑采用精度够高、转换速率更快的数/模转换器,或者采用一些常用的DDS芯片自带的D/A转换器,这样就可以把波形频率提高上来而又同时兼顾到了精度。系统还可以进一步优化,使其更加方便实用.可以在以下几个方面优化: a)是低通滤波器的改进。可以设计一些程控滤波器组,开关选通控制对不同的频率信号进行滤波。这样可以把频率范围扩的更宽,非常有意义。 b)可以设计个简易的键盘,这样看起来系统更加完整。c)增加一个液晶显示屏,输出的波形信号可以直接显示到屏幕上。参考文献参考文献[1j[2]李晓明荃于AD9857的任意波形发生器的设计电子科技大学2002.3薛文DDS任意波形发生器的设计与实现南京理工大学2004.7[3]潘登基于DDS技术的可编程任意波形发生器武汉大学2004.4[4〕万天才,频率合成技术及发展,电子产品世界,1999年9月,51 --52[5」吕庆基于DSP的任意波形发生器的研究西安电子科技大学2004.1[6〕张玉兴,彭清泉,DDS的背景杂散信号分析,电子科技大学学报,1997[7] H. T. Nicholas, III H. Samueli. An Analysis of the Output Spectrum of Direct DigitalFrequency Synthesizers in the Presence of Phase-Accumulator truncation. IEEEProc. 41 st AFCS,1987:495-502[8] H.T.Nicholas III H.Samueli, B.Kim. The Optimization of DirectDigital Frequency Synthesizer Performance in the Presence of Finite of Word LengthEffects. IEEE Proc.42th AFCS, 1998: 357363[91J.Vankka. Methods of Mapping from Phase to Sine Amplitude in Direct DigitalSynthesis. IEEE Proc.50th AFCS, 1996: 942950[10][ll]}.二r.LJ.二r.J钾.三r.LJ.二l..L一.几r.L『卫月JlesJ,.Jl..J气esJ脱J. Flanagan, G凡Zimmerman. Spur-reduced Digital Sinusoid Synthesis. IEEETrans. On COM..1995,43(7)张骏凌,张玉兴,直接数字频率合成器中相位噪声分析,电子科技大学学报,1999 (2),24^-27[17] BURR-BROWN products,PGA103 data sheetsn乙八J通几口0行0.V.S.Reinhardt, Spur reduction techniques in direct digital synthesis, IEEEProc, 47th AFCS, 1993, 230^241蒋毅蒋明井行D/A转换器AD7846及其接口设计世界电子元器件200邓重一AD7846在自动测试设备中的应用电子测试2002Analog Device Inc,AD7846 data sheetsMaxim Integrated Products,MAX293 data sheets电子科技大学硕士学位论文[181颜友钧,朱宇光主编DSP应用技术教程r.L尸.LleeLr.Lr.LF.Jl..Ll..Lr.Lr.L,.J,.J,esesl飞.J,esJ,.J,.J门卫J飞esJ,..J中国电力出版社2002汪春梅孙洪波等编著TMS320C5000系列DSP系统设计与开发实例电子工业出版社2004.7[31] TMS320C54x DSP Reference Set Texas instruments却plication Report LiteratureNumber: SPRU131F April 1999[32] Atmel Device Inc, AT49LVIO24A data sheets[33] ISCI Device Inc, IS61LV6416 data sheets0}11n八‘‘.工n乙Q山八乙Qd0山4八‘1b0‘.D0山工了‘0自R2马双宝基于DSP的人体皮肤测量系统的研究武汉理工大学2006.4DSP上的指纹识别模块的实现电子技术应用2004.2清源科技TMS320C54X DSP硬件开发教程邹彦主编机械工业出版社2004.1 ,DSP原理及应用电子工业出版社2005.1TMS320C5X DSP原理设计与应用清华大学出版社2002.3中北大学2006.2孙宗流谢鸿琳编著赵鹏飞基于T1fS320C5402 DSP的指纹识别系统研究唐彬,刘超著Visual C-案例开发集锦电子工业出版社2005尹勇欧光军DSP集成开发环境CCS开发指南北京航空航天大学出版社2003.11Texas instruments Developing aCCSt udio 2.0 DSP/BIOS Application for FLASHBooting on the TMS320C5402 DSK 2001.8刘益成TVS320C54X DSP应用程序设计与开发北京航空航天大学出版社TMS320VC5402 and TMS320005402 Bootloader Texas instruments Application ReportSPRA618一February 2000致谢致谢 近三年的硕士学习生活即将结束,回顾自己在学业上的每一点进步,都离不开学校老师、同学们和亲人们的关心和帮助。在此,向他们表示最衷心和诚挚的谢意。 首先感谢我的导师唐广副教授,本文的工作从选题到研究的每一阶段自始至终都得到了唐老师的悉心指导。唐老师理论联系实际的工作作风,丰富、扎实的工程实践经验,敏捷、活跃的思维方式以及对学术问题准确、深刻的分析和把握,都使我在研究中受益非浅。他平易近人,脚踏实地的师者风范和对工作忘我的精神为我今后的学习和工作树立了榜样。在此特向为培养我而付出辛勤劳动的唐老师表示衷心的感谢!我由衷的感谢兰家隆教授在本课题的论证阶段以及实施阶段给予了悉心指导 和宝贵意见。感谢杨宏、黎海明、韩波、黄海、李浩等师兄,和他们在学业上的探讨和交 流使我受益非浅.感谢王挺、邓普、刘武广、卫颜锋、王楠、汪金铭、汪润来、高腾飞、杨荣 喜、彭玉吉、杜昊、郑萧、赵娜等同学在学习和生活中的帮助,和他们在一起使我度过了一段快乐、难忘的幸福时光.感谢父母对我多年来的养育之恩! 感谢我的女友、姐姐、姐夫在生活上对我的帮助和支持!在此谨向他们致以深深的谢意!电子科技大学硕士学位论文攻硕期间取得的研究成果电子科技大学研究生仁1〕王新柳唐广.基于DSP的任意波形发生器的设计.学报.2006, N0. 37:1-3