电气电子毕业设计76攀枝花学院基于dsp对电力系统的谐波测量及数据分析
收藏
资源目录
压缩包内文档预览:(预览前20页/共61页)
编号:517227
类型:共享资源
大小:771.43KB
格式:RAR
上传时间:2015-11-12
上传人:QQ2****711
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
5.99
积分
- 关 键 词:
-
毕业设计论文
- 资源描述:
-
电气电子毕业设计76攀枝花学院基于dsp对电力系统的谐波测量及数据分析,毕业设计论文
- 内容简介:
-
攀枝花学院毕业设计(论文)攀枝花学院本科毕业设计(论文)基于DSP对电力系统的谐波测量及数据分析学生姓名: 何蓉 学生学号: 200320520100 院(系): 电气信息工程学院 年级专业: 2003级电子信息工程 指导教师: 郝小江 讲师 二七年六月摘要本文首先回顾了国内电力系统谐波监测装置的现状,分析了数字信号处理芯片(DSP)在电力系统中的应用前景。然后,介绍了谐波的基本概念、衡量指标和数学分析方法。最后针对电力部门和实际应用的需要,提出了以AD73360和数字信号处理芯片TMS320C5402构成的硬件系统设计构想。论文完成了基本的硬件电路设计和软件算法设计。硬件设计方面,根据电力系统中数据采集和处理的实际特点,设计信号的多通道同时采样,A/D和DSP芯片的处理速度快的优势,满足了实时性的要求。软件算法方面,系统采用传统的快速傅立叶变换(FFT),对采集的电压和电流信号进行频谱分析。论文中还详细分析了信号的采样问题。初步设计了对采集数据进行计算和处理的相关软件算法,实现了对谐波的测量功能。本装置可以进行快速的信号采集和实时的谐波分析。关键词:数字信号处理器(DSP),谐波,McBSPAbstractBy loking back on the present situations of the electric harmonic monitoring equipments, the prospect of the pracitical appliication of Digital Signal Processor (DSP) in the electric power system is discussed in this paper. This paper briefly analyzes the concepts of harmonic and then proposes the hardware structure made up of AD73360 (A/D) and TMS320C5420 (DSP) at the demand of practical applications of power department.The design of both hardware and software is finished.A real-time high-speed multi-channel, synchronous data sampling and processing system is designed based on DSP. AD73360 is directly connected to Multi-channel Buffered Serial Port (McBSP which is a kind of six-wired synchronous serial port) on DSP for data exchange.The sampled voltage and current signals are harmonic analyzed by DSP using the fast Fourier transform (FFT) algorithm. Some considerations conceming about the signal samnling are also discussed.The equipment can provide high-speed signal sampling and real-time harmonic analysis.keywords: DSP (Digital Signal Processor), Harmonic, McBSP (Multi-channel Buffered Serial Port)目 录摘 要ABSTRACT1 绪论1 1.1问题的提出1 1.2国内电能质量监测的现状 1.3DSP技术的发展 1.4课题的研究任务2 电能质量参数的测量和计算公式 2.1基本模型2.1.1有功功率的计算2.1.2无功功率的计算2.1.3视在功率的计算2.1.4功率因数的计算 2.2谐波测量原理2.2.1谐波的概念2.2.2谐波的计算2.2.3谐波的分析 2.3信号的采样和频谱分析 2.3.1周期信号的采样2.3.2采样数据的计算方法 2.4利用快速FFT算法进行频谱分析 2.4.1蝶形运算 2.4.2码位倒序3 硬件设计 3.1硬件设计总体方案 3.2 DSP部分3.2.1 DSP系统的构成3.2.2 DSP芯片的选择依据3.2.3 TMS320C54xx具有以下硬件优点3.2.4 TMS320C54xx DSP芯片的硬件结构3.2.5存储器映射寄存器3.2.6灵活多样的寻址方式3.2.7 二次开发扩展子板接口3.2.8 DSP的多通道缓冲串口(McBSP) 3.3 A/D部分3.3.1.A/D的选择AD733603.3.2 模拟输入通道的电路设计3.3.3 时钟信号的选择3.3.4 电源和接地3.3.5 与DSP的接口电路设计3.3.6 AD73360的数据编码格式3.3.7 AD73360的编程方法4 软件开发环境 4.1 CCS的介绍 4.1.1集成的源代码编辑器 4.1.2 实时分析 4.1.3 实时数据交换(RTDX) 4.1.4 实时DSP环境 4.1.5 数据可视化 4.2 CCS环境下进行软件开发的流程 4.3 软件编写4.3.1 总体流程图 4.3.2 主程序流程图 4.3.3 FFT流程图 4.3.4 McBSP初始化程序流程图 4.3.5 AD73360初始化程序流程 4.4 软件调试 4.4.1 剖析点的调试 4.4.2 FFT程序编写时需要注意的问题5 实验结果分析 5.1 FFT算法中补零运算 5.2数据的软件仿真结果 5.3数据结果分析6 结论参考资料致谢1 绪论1.1问题的提出电力系统运行是,理想情况下它应以额定电压和额定功率向用户供电。理想的电压应该是幅值始终为额定植的三相对称正弦波电压,但由于系统中存在阻抗和用电负荷的变化、用电负荷性质的不同等特点,造成了实际电压在幅值、波形和对称上与理想电压之间出现偏差。以往各国都以频率和电压维持与额定值的偏差不超过规定的允许范围作为衡量电能质量的标准。随着电力工业的发展,国民经济各个部门的电气化水平日益提高,具有非线形或时变特性的负荷也日益争夺,从而在现代电力系统中,仅用频率和电压着两个指标来衡量电能质量已经不能满足需要了。因此,三相电压的不对称度、波形畸变以及电压波动和闪变也成为衡量电能质量的重要指标。电力系统的标准频率为50Hz,俗称工频,电力系统标称频率应与工业设备工作频率一致,如频率偏离正常值,将对用户产生严重的影响。频率的变化,将影响产品的产量和质量,甚至引起电子设备误动作,导致信号误传。有时频率急剧下降不止,则可能会导致整个电力系统的崩溃。波形畸变是指交流电力系统中电压或电流波形偏离了正弦波。电力系统的波形即便并不是一个新的问题。由于系统中存在着各种非线形元件,特别是容量不断增大的大型晶闸管整流装置和大型电弧炉的运行,导致电力系统波形畸变日益严重,再加上竞争和充分利用电工材料,对电工设备日益倾向于采用在其磁化曲线临界情况下甚至在饱和区段工作,导致这些电力设备的励磁电流波形严重畸变,严重危及电力系统安全运行,从而使得谐波问题在各国均倍受重视和关心。在我国,随着经济的迅猛发展,电气化铁道的发展,化工、冶金、煤炭等工业部门中电力佳子技术的大量应用和国外的先进设备的引进,以及节能中电力电子技术的应用,在带来技术经济上一系列效益的同时,也使电网的谐波含量大大增加,电网波形畸变越来越严重,这就是所谓的电网谐波污染。谐波对电力系统电磁环境的污染不仅危害系统本身的安全,而且对广大电力用户的危害面也十分广泛。归纳起来其主要危害有:(1)产生附加损耗,增加设备温度;(2)恶化绝缘条件,缩短设备寿命;(3)可能引起电机的机械振动:(4)无功补偿电容器组可能引起谐波电流的放大,甚至造成谐振;(5)对继电保护、自动控制装置和计算机系统产生干扰和造成误动作;(6)影响测量仪表的精度,造成电能计量的误差;(7)干扰邻近的通信线路和铁道信号线路的正常工作。电能质量问题已经引起了各国电力工作者的高度重视,改善电能质量的意义可简要概括为以下几点:(1)是电力系统安全(包括用户设备的用电安全)、稳定、经济运行的必要条件,是电网运行水平高低的重要标志,同时也是电力企业用电管理水平考核的重要标志。(2)是提高国民经济总体效益、用电效率(节能、降损)和改善电气环境、以及工业生产可持续发展的技术保证。(3)是面向电力市场、适应竞争机制强有力的手段。(4)通过建立和健全电能质量的全面管理,保障各行各业的正常用电秩序,为千家万户提供信得过的产品。我国的电能质量的研究正处于起步阶段,但是已经取得了一定的成绩,电能质量的监测,不论在理论上还是在实践中,都有许多值得深入研究的问题。研制一种新型的谐波监测装置、有效的进行谐波的监测,对于保证电力系统运行的安全性,经济性和可靠性都具有重要意义。1.2国内电能质量监测的现状近些年,我国也开发了一些电力测控装置和电能质量监测装置,但在功能上,实用化方面均未达到理想效果,尤其是自动化水平高、可靠性好、精度高以及功能强大的实用产品相对较少,而在谐波的分析方面也是如此。还存在一些问题,主要表现在:(1)处理功能较差,可扩展存储空间较小,运算速度较慢,难以运用精确严格的算法进行大量的实时数据处理,不能满足电力监测实时性高的要求。(2)电力系统中最常用微处理器包括51系列和%系列等控制型器件,但随着电力系统对实时性、数据量和计算要求的不断提高,这些器件在计算能力方面已不能很好地满足电力系统的要求,致使电力系统测量的高精度性、实时监控性和先进算法的运用受到了限制。(3)有的产品虽然直接引进了国外的技术模块,功能较强,可是价格较高,且不完全适合我国市场。(4)有的产品没有通讯和控制输出功能,不满足电力系统网络化、自动化的发展方向。(5)人机交互性不好。虽然我国的电力工业取得了迅猛的发展,但是我国自行研制开发的高质量电力系统自动化测量装置还很少,目前,电力部门用的谐波测量和分析装置大多数是进口的国外产品,价格昂贵。这是摆在我们电力工作者面前难得的机遇和挑战。开发实用、可靠性高并且能满足精度要求的低成本产品,提高国内测量装置的自动化水平,就成为一件具有重要意义的事情。1.3DSP技术的发展在数字信号处理芯片没有得到广泛应用之前,传统上常采用常规的单片机进行应用系统设计,但是由于单片机的计算能力不强,比如在运行一些数字信号处理的基本算法时就呈现出劣势,比如说在实现64点以上的FFT算法时,会出现计算速度慢的特点,往往不能满足实时性的要求。尤其是现在的应用系统算法日渐复杂,对数据处理的要求也越来越高,如果继续采用普通的单片机,在功能和实时性方面己经不能满足一些复杂系统的需要了,而采用基于DSP(Digital Signal Processor即DSP芯片)的应用系统设计方法,就可以充分发挥DSP(Digital Signal Processing)芯片的数字信号处理优势,系统中的复杂软件算法,或者一些数字信号处理算法,就可以很容易的实现,运算速度也得到了很大程度的提高,显著地提高了系统的处理效率,并且最大限度的提高了硬件系统的性能价格比。 近年来,集成电路技术和制造工艺的突飞猛进,大大推动了数字信号处理方法和应用的研究。高速数字信号处理技术的发展及其制造成本的降低,使数字信号处理技术在电力系统的各个研究领域得到了广泛的应用,人们己经开始将DSP技术应用于某些电力产品的开发研制中。本文对DSP技术在电能质量问题的研究及监测装置的研制方面作了一些尝试。数字信号处理(DSP)就是用数字或符号的序列来表示信号,通过计算机去处理这些序列,提取其中有用的信息。凡是用数字方式对信号进行滤波、变换、增强、压缩、估计和识别等都是数字信号处理的研究对象。DSP芯片专门用于完成实时数字信息处理的。它首先是建立在数字信号处理的各种理论和方法的基础上。60年代和70年代是数字信号处理技术的理论研究阶段,具有代表性的著作是美国两位著名教授AN.Oppenheim和R.W.SCbafer合写了“Digital Signal Processing。70年代数字信号处理技术的出现成为分析实际现象的有力工具。当时的DSP系统由分离元件组成,主要应用于医疗电子、生物电于和应用地球物理等领域。进入80年代,数字信号处理技术的应用范围的扩大和成本的进一步降低,推动了UM,的发展。美国TI公司在1982年推出的首枚低成本高性能的DSP数字信号处理器,使DSP应用系统向前跨出了一大步,数字信号处理技术也开始逐渐普及。这种DSP是一种专用的综合性微处理器,专门处理以运算为主的信号处理应用系统。到了90年代,DSP技术有了惊人的发展。以DSP作为主要元件,加上外围设备和特定功能单元组成合成的单一芯片的技术,加速了DSP技术的发展。同时产品的价格降低了,运算速度和集成度也得到了提高。90年代DSP揭开了PC通信及消费电子市场的新纪元。1997年2月TI公司宣布具有1600MIPS速度的新一代数字信号处理器TMS320C6x进入市扬。C6x的时钟为200M Hz,每个指令周期仅为5ns。目前,TI公司提出一种新的概念“DSPS (DSP System),受到广泛的重视。DSPS即DSP芯片制造商随DSP芯片提供的应用系统的解决方案。它是以DSP为核心,配合先进的混合信号电路、ASIC电路、软件及开发工具等集成在一起完整的参考方案。DSP的兴起,DSPS概念的提出,大大促进了仪器智能化的进程。目前在硬件结构上,DSP相比于单片机有如下优点:(1)采用多总线结构。单片机是单总线结构,取指令、取数据都是通过一条总线完成,因此必须分时操作,而DSP内至少有四套总线:程序的地址和数据总线以及数据的地址和数据总线,这样,取指令和取数据就可同时进行,提高了操作速度。 (2)采用多个处理单元。单片机多是一个算术逻辑单元(AL U),执行乘法运算是靠移位加法完成的,运算时间较长;而DSP内除含有ALU外,还含有乘法器(MUL),辅助算术单元(ARLU)等,所以在一个指令周期内可完成集中运算。 (3)采用流水线结构。执行一条指令往往分作取指令、译码、取操作数、执行等一系列步骤,单片机多是执行完一条指令后,再取下一条指令;而DSP是在执行了本指令的同时,即对下面几条指令依次进行取操作数、译码、取指令等而重叠操作,加快了运算速度。 (4)采用硬件乘法器。DSP内部均有硬件乘法器,使得乘法运算在单周期指令内即可完成。虽然某些单片机也集成有硬件乘法器,但缺少其它硬件支持,所以它仍是单片机,其性能还不能与DNF相比。 (5)具有高速的片内程序存储器和数据存储器,对于一些简单操作,可以在片内完成,避免与外部的低速存储器打交道。 (6)具有高速I/O口。包括并行口,串行口,DMA控制器和片内I/O口可以提高数据交换的速度,减少系统复杂性。 (7)具有满足信号处理要求的一些特殊指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。 (8) DSP器件提供JTAG标准测试接口,不但能控制和观察处理器的运行,测试芯片,还能利用该接口装入程序。开发手段更先进,批量生产测试更方便,开发工具可实现全空间仿真,不占用用户资源。采用数字系统完成信号处理的任务,与传统的模拟信号方法相比较,同时具有数字系统的一些共同优点,如抗干扰性强,便于大规模集成、精度高、灵活性强,可以实现模拟系统很难达到的指标或特性。同时,实时数字信号处理技术集中了数字信号处理理论和方法、计算机科学与技术和集成电路技术等多个领域的最新成果。1.4课题的研究任务 本文的研制主要是对我国电能质量的数据进行实时的采集和监控,以谐波的测量和分析为主,并使装置尽可能包括各种电能质量参数,为电网的运行和管理提供详细可靠的电力参数。力求在借鉴同类装置的基础上,研制和开发一种实用、低成本的便携式电力系统谐波测量装置,以适应配电网的发展。 主要工作包括: (1)简要的回顾和分析当前电力系统的谐波问题、研究现状及其测量装置存在的问题。 (2)讨论谐波的测量原理及分析方法。 (3)进行基于DSP的硬件电路设计,并进行相关的软件设计。 (4)对装置进行调试和初步的实验,得出实验结果。 (5)结论。本设计将进一步推进电力系统的自动化水平,真正做到实时的谐波分析,便于电力系统管理人员正确掌握配电网的电能质量情况,方便地控制各线的负荷情况,实现计划用电、合理配电。2 电能质量参数的测量和计算公式2.1基本模型习惯上,认为电网稳态的供电电压波形是以工频为频率的正弦波形,工频为50Hz,其数学表达式为: (2.1.1) (2.1.2) 式中:U一电压的有效值 一初相角 和T一工频角频率、频率和周期。在工程实际常中采用有效值来衡量电流和电压的大小,以周期电流i(t)为例,其有效值I定义为:I= (2.1.3) 对于非正弦周期电压和电流的瞬时值,可以用三角级数表示,即: (2.1.4) (2.1.5) 式中:n一谐波次数,n=1, 2,3。 得电流的有效值为: (2.1.6)同理得: (2.1.7)2.1.1有功功率的计算又因任意波形的周期性交流电路的有功功率取决于一周期内的平均功率: (2.1.1.1) 所以有: (2.1.1.2) 又因为不同频率正弦波瞬时值的乘积在一周内的平均值等于零,经积分后得: 式中: (2.1.1.3)这就是说,非正弦周期分量的平均功率等于恒定功率分量与各次谐波构成的平均功率之和,即仅有同频率的电压和电流才构成有功功率,而不同频率的电压和电流则不构成有功功率。 2.1.2无功功率的计算仿照上述有功功率计算公式,可以定义无功功率为: (2.1.2.1)我们知道,在正弦电路里无功功率表示电磁能量交换的最大值。习惯上规定感性无功功率为正,容性无功功率为负,利用的符号来研究无功补偿问题不会引起任何矛盾。可是在非正弦情况下,按“式(2.1.2.1)”计算时,由于可以在四个象限内,可能是正,也可能是负,所以各次可能互相抵消,甚至出现为零。但电流中的无功分量却不为零,也就是说它不再有能量交换最大量度等物理意义了。只是表明由于各次谐波电压和电流存在相位差而产生的无功功率的总和。另一方面,习惯上规定用户吸收有功功率为正,发出有功功率为负。含有谐波源的用户根据“式(2.1.1.3)”计算,只可能会小于它的基波功率,即它将吸收一部分基波功率转化为谐波功率而反馈至电网。 2.1.3视在功率的计算在非正弦情况下,视在功率可定义为: (2.1.3.1)显然:。 (2.1.3.2)因为只是同频率电压和电流存在相位差引起的无功功率的总和,而交换功率中尚包含有不同频率电压和电流引起的部分。于是引入畸变功率,使得: (2.1.3.3)或者 (2.1.3.4)若令: (2.1.3.5)则: (2.1.3.6)我们称为广义无功功率。包含了两个部分:其中是由于同频率电压和电流间的相位差引起的; 是由于波形畸变,不同频率的电压和电流相互作用引起的。2.1.4功率因数的计算在非正弦波的情况下,难以用电压和电流的相位差这个概念来表述功率因数,这时可以用功率关系来定义功率因数: (2.1.4.1)其中:不再是基波或任何一系谐波电压和电流的相位差。2.2谐波测量原理2.2.1谐波的概念谐波失真是一种持续现象,它可以通过某一时刻的频谱来表示,当然一段时间内的统计信息往往更有用。大多数现代设备能进行各种功能综合,比如事故监测和谐波分析。电力系统谐波含量小、频率高、变化因素多且频繁,主要分两种变化:(1)随机性的变化,为小周期、短间隔的不规则性变化,反映出谐波为随机变量的特征。(2)规则性的变化,其大小随谐波源负荷的大小和特点、系统的运行方式等作大周期性的变化,例如谐波源负荷增大时,相应的谐波电流或谐波电压将随着增大,在较大水平上作随机变化。国际上公认的谐波定义为:“谐波是一个周期电气量的正弦波分量,其频率为基波频率的整数倍。实际电网中有时存在一些频率不是基波频率整数倍的正弦分量,其中又称为分数次谐波和间谐波(fractional-harmonics和inter-harmonics)的:低于工频的间谐波又称为次谐波(sub-harmonics)。在近代的交一交变频器中还存在“旁频”,即在整数次谐波附近的非整数次谐波。但在电网中主要存在整数次谐波,它可以根据周期性波形,用傅立叶级数分解得到,本文主要论述的就是这类谐波。2.2.2谐波的计算为了表示畸变波形偏离正弦波形的程度,最常用的特征量有谐波含量、总畸变率和n次谐波的含有率。所谓谐波含量,就是各次谐波的平方和开方。谐波电压含量为: (2.2.2.1)为了说明某次谐波分量的大小,常以该次谐波的有效值与基波有效值的百分比表示,成为该次谐波的含有率HRn (Harmonic Ratio),如第n次谐波电压含有率为: (2.2.2.2)2.2.3谐波的分析谐波分析方法是对周期性的非正弦波形(畸变波形)利用傅立叶级数及傅立叶变换,分解为基波及各次谐波的方法。(1)谐波分析的理论前提很多序列都能表示为如下傅立叶积分的形式:小IEBO .2 (2.2.3.1)式中由下式给出: (2.2.3.2)“式(2.2.3.1)”和“式(2.2.3.2)”一起构成序列的傅立叶表示。“式(2.2.3.1)是一个综合公式,称傅立叶反变换。也就是说它把序列表示成频率在2区间范围内,由确定每一个复正弦分量相对大小的、如下式所示的无限小复正弦的叠加:虽然在写“式(2.2.3.1)”时,己经把毋的变化范围选定在-和+之间,但是任何2二间隔都是可以用的。“式(2.2.3.2)”,是由,An计算F(ejw)的表示式,称为傅立叶变换。它用来分析该序列,以确定利用“式(2.2.3.1)”来综合时每一频率分量需要占多少份量。一般来说,傅立叶变换是的一个复值函数。和频率响应一样,有时将用直角坐标表示为: (2.2.3.3)面来证明“式(2.2.3.1)”和“式(2.2.3.2)”是互逆的,把“式(2.2.3.2)”带入“式(2.2.3.1)”有: (2.2.3.4)要证明的即为。如果无限求和对全部。一致收敛,那么就能变换积分与求和次序得到: (2.2.3.5)对括号内的积分可求得: (2.2.3.6) =因此: (2.2.3.7)这样就证明了我所需要的。但是,电网的电流、电压是否能采用傅立叶变化进行谐波分析,还必须满足一个条件:信号无限项和的收敛性问题,表示如下: 对全部 (2.2.3.8)这里是下面有限项和随的极限: (2.2.3.9)又有: (2.2.3.10)可设: 为某一确定正整数,则: (2.2.3.11)所以,可以用傅立叶变换对电压、电流进行处理。(2)信号的傅立叶表示由上面的证明可知,用傅立叶变换的方法可把电压、电流分解成基波和无数高次谐波之和的三角级数: = = (2.2.3.12)式中:直流分量; 和次谐波的幅值和初相角;和次谐波的余弦项系数和正弦项系数。其相互关系为: (2.2.3.13) (2.2.3.14) (2.2.3.15) 各次谐波的频率己知,利用三角函数的正交性,即可由”式(2.2.3.12)”得到, 和的计算公式为: (2.2.3.16) (2.2.3.17) (2.2.3.18)2.3信号的采样和频谱分析 2.3.1周期信号的采样对于连续信号用采样装置进行等间隔采样,并把采样值依次转换成数字序列,然后借助计算机进行快速谐波分析。设周期性时间连续信号,在周期T内插入N个等间隔采样点k=0, 1, 2,,N- 1,则采样间隔即采样周期。通过采样,把该连续波形转换成为一组以采样序号k为自变量的离散数字序列: 连续波形转换成离散数字序列后,上面对于连续函数的傅立叶级数计算式相应的转换成离散形式的计算式,进行计算。对于连续时间函数,由采样所的离散时间序列,相应的系数可由“式(2.2.3.16),“式(2.2.3.17)”和“式(2.2.3.18)类比得到。但是,一个连续时间周期信号的傅立叶级数表示,通常需要无穷多个成谐波关系的复指数,而对于任何令离散时间点为N的离散时间信号的傅立叶级数,只需要N个成谐波关系的复指数。设 (采样时间间隔),则,将“式(2.2.3.16) 、“式(2.2.3.17)”和“式(2.2.3.18) 中的积分号用累加号替代有: (2.3.1.1) 同理,对于周期性时间序列的傅立叶级数的复数形式,可由周期性连续时间函数的傅立叶级数的复数形式通过类比推导出来。把“式(2.2.3.2)”进行离散化,便得到由时间序列计算复数频谱序列的离散傅立叶变换式(DFT): n=0,1,2,3,N-1 (2.3.1.2)如令上式中,则: (2.3.1.3) 写成向量形式: (2.3.1.4) 式中:F称为变换列向量; W称为系数矩阵; 维列向量,表示离散信号序列。当已知N个时域抽样值时,如果直接按“式(2.3.1.3)”计算N的频率分量,需要进行N2次复数乘法运算和N(N-1)次复数加法运算。而每次复数乘法包括4次实数乘法和两次实数加法,每次复数加法又包括2次实数加法。按照这种方式进行计算,当N值较大时,CPU很难实现实时处理。2.3.2采样数据的计算方法以微处理器和快速傅立叶算法为基础的电力系统谐波分析仪进行实时谐波测量时,其误差来源有如下几种:同步误差、连续波形离散化时引入的误差、数据处理中的运算舍入误差、采样周期变动引入的误差以及A/D的量化误差等。其中同步误差对整个谐波分析的准确度影响较大,当对有限带宽的周期信号采样后的截断长度不是信号周期的整数倍时,就产生了同步误差,即产生了所谓的泄漏效应。现在由于计算机计算能力的提高,考虑到电力系统频率变化较为缓慢的特点,可以用软件频率跟踪代替硬件的频率跟踪。尤其在设计便携式数据采集与谐波分析仪时,要兼顾考虑仪器的体积和功耗,用软件实现的频率跟踪就更有优势。软件频率跟踪是指首先用AID卡的较高采样率进行单通道采样(A/D)卡的采样率要远远大于电网基频),然后对采样所得数据进行数据处理,较准确地计算出基频,再根据基频来确定定点采样的采样率。频率的软件跟踪大大地简化了硬件电路,但是与硬件跟踪相比,它的实时性比较差。但由于电力系统的频率波动主要受周期从10秒到3分钟的脉动分量负荷及变化非常缓慢的持续分量的影响,因此采用软件跟踪的方法不会影响对电力信号的谐波分析。这里采用了一种新的采样计算方法。其包括以下几个部分。(1)数据采集本次试验中所需处理的谐波最高次数为31次,以工频50Hz为基础,每周期须等间隔采样128点,则采样率最低为12850=6.4k/s。这里,对A/D设置的采样速率为8k/s,采样间隔为125us。这样只要被测信号频率低于62 Hz,这160点数据中就包含了被测信号的一个完整周期。(2)正向过零点的寻找选定的AID转换器为16位,A/ D的编码方式为二进制补码,转换后其取值范围Dx 1000Ox7FFF。因此信号的“过零点”为。要寻找信号的正向过零点,就须将A/D转换值在从OxFFFF到0x0001变化时,可认为找到正向过零点。(3)实际128点采样值计算为保证FFT的基2算法,需要对按理想采样间隔采样得到的值进行处理。通过计算出的实际采样点数,用内插法算出实际信号一周期均匀的128点采样值。实际采样值的算法如下: (2.3.2.1)其中,为第一次正向过零点的第一个采样值;为第二次正向过零点后的采样值:N为一周期中包含的整数点数;,为的整数部分,为的小数部分。经上述运算后,即可得到实际信号等间隔的!28点采样值。2.4利用快速FFT算法进行频谱分析傅立叶变换是一种将信号从时域变换到频域的变换形式,是信号处理领域中的重要的分析工具。离散傅立叶变换是连续傅立叶变换在离散系统中的表示形式。由于DFT的计算量很大,所以在很长的一段时间内其应用受到了很大的限制。而FFT算法是快速计算DFT的一种高效方法。FFT算法可以分为时间抽取FFT和频率抽取FFT两大类。下面以时间抽取FFT为例,导出FFT算法。分为蝶形运算和码位倒序两部分。2.4.1蝶形运算时间抽取pt, T是将N点的输入序列./(n)按照偶数和奇数分解为偶序列和奇序列两个序列:偶序列:奇序列:因此,的N点FFT可以表示为:其中: (2.4.1.1)因为: (2.4.1.2)故: (2.4.1.3)令: , (2.4.1.4)则有: (2.4.1.5)由于和的周期为N/2,因此上式的的范围是0到。计算到时的可以利用的特性,得: (2.4.1.6)式(2.4.1.5)”和“式(2.4.1.6)”两式分别用来计算 和.时的,以同样的方式可以进一步抽取,就可以得到N/4的DFT,重复这个抽取过程,就可以使N点的DFT用一组2点的DFT来计算。基2实数FFT算法的实现。由于A/D转换后的数据都是实数,而一般的FFT程序中输入数据都是些复数。因此实数在FFT运算前要进行必要的处理,以便更好的提高FFT效率。(1)输入数据的组合和位倒序把输入序列作位倒序,为了在整个运算最后的输出中得到的序列是自然顺序。首先,原始的输入的2N (256)个点的实数序列复制放到标记有“ real_fft_input”的相邻单元,当成N (128)点的复数序列d n。奇地址是d n的实部,偶地址是d n的虚部。这个过程叫做组合。然后,复数序列经过位倒序,存储在数据处理缓冲区中,标记“fft_data”。利用DSP汇编语言的位倒序寻址指令实现输入序列的逆序排列。位倒序寻址大大地提高了FFT算法的执行速度和在程序中使用存储器的效率。在这种寻址方式中,ARO一存放的是FFT点数的一半,AR2一以位翻转顺序指向己处理的数据,AR3一指向原始输入数据。当使用位倒序寻址把ARO加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从右左。如下面的程序: RPTBD plend-1 STM #N, ARO; ARO赋值为循环缓冲器大小的一半 MVDD *AR3+,*AR2+ MVDD *AR3-,*AR2+ MAR *AR3+OB; 位翻转寻址 plend:(2) N点复数FFT由于在FFT运算中要用到旋转因子Wn,它是一个复数。因此要制作好一个周期N点的正弦值和余弦值,接着用Q15格式将它们存储在两个分离的表中。每个表中有N项,对应00和1800,128=2728因此每张表排队的开始地址就必须是8个LSB位为。的地址。另外前2级由于旋转因子简单,故采用传统的组合运算。从第3级起开始使用循环法,根据FFT原位计算的特性,每次循环通过改变算子和旋转因子的步长,利用DSP汇编语言中简便的间接寻址指令规律找到算子和因子值,有效的实现蝶形运算。(3)分离复数FFT的输出为奇部分和偶部分。(4)产生最后的N点复数FFT结果并求出信号的功率我们可以通过信号分析的理论知识,分离FFT输出为相关的四个序列:RP, RM, IP和IM,即偶实数、奇实数、偶虚数和奇虚数四部分,即可产生最后N点复数FFT结果。采样得到的数据经过FFT变换,计算出来各次谐波值。2.4.2码位倒序 图2.1 8点基2FFT的运算流图从图中可以看出输入序列的排列顺序是置乱的,输出序列是按自然顺序排列的。但置乱是有一定规律的,这个规律就是所谓的“码位倒序”,或称“比特反转”。也可以让输入序列按自然顺序排列,则输出序列就是按码位倒序的顺序排列的。下面来说明一下所谓“码位倒序”的含义。注意到,对于8点FFT,只需用三位二进制代码来标注整个数据。是自然序列的输入列,是因该的输出列,1=0,1,2, . . .,7。则用二进制形式书写它们的对应关系,可得: (2.4.2.1)若为序列xn中标号的二进制表示,则序列值 存放在数列的位置上。这就是说,要确定在输入序列中的位置,我们必须将标号n的位序倒置。综上所述:FFT算法利用方阵的对称性和的周期性特点,将长序列的DFT计算,分解为若干个短序列的DFT计算,然后巧妙的合并,得到整个DFT。可以大幅度减少运算次数,这时需要的复数乘法和加法的次数由原来的次减为。例如,若,则,而,减少了不止两个数量级!所以,效果是很好的。 3 硬件设计3.1硬件设计总体方案本装置的设计走以TMS320C5402芯片为处理核心的,是基于结构简单、造价低廉、易于操作、功能强大等特点设计的。作为一个电力谐波测量装置,一般应具有这样几种功能:能够在任何时刻对电力信号进行数据采样:能够快速准确的分析各种包括电压、电流在内的电力基本参量:能够比较直观的显示分析结果。 在数字信号处理芯片没有得到广泛应用之前,传统上常采用常规的单片机进行应用系统设计。但是由于单片机的计算能力不强,比如在运行一些数字信号处理的基本算法时就呈现出劣势,比如说在实现64点以上的FFT算法时,会出现计算速度慢的特点,往往不能满足实时性的要求。尤其是现在的应用系统算法日渐复杂,对数据处理的要求也越来越高,如果继续采用普通的单片机,在功能和实时性方面己经不能满足一些复杂系统的需要了,而采用基于DSP的应用系统设计方法,就可以充分发挥DSP芯片的数字信号处理优势,系统中的复杂软件算法,或者一些数字信号处理算法,就可以很容易的实现,运算速度也得到了很大程度的提高,显著地提高了系统的处理效率,并且最大限度的提高了硬件系统的性能价格比。根据上面做出的分析,并结合中小企业电网谐波检测的需要,从性能价格比和实用的角度出发,比较现有的谐波测量仪表,本方案主要有数据处理单元(DSP)和数据采集单元(AD)组成。A/ D完成电压和电流信号的采集,DSP完成对采集到的信号进行FFT变换和其它相关的数学运算,充分发挥其运算能力强的特长。本次试验中设计的系统总体框架图如下: 图3.1 系统总体设计框架图本次试验的硬件平台是数字信号仿真DES320PP-A。该板是一块需要外部提供+5V DC电源的独立的开发板,在板线性电压调整器提供1.8V DC的DSP内核电压,3.3V DC数字和5V DC模拟电压。该板提供低功耗的、标准的、独立的C54系列开发平台,允许用户为C54 XX系列DSP评估和开发应用程序。板上有:.1OOMHz TMS320C5402 DSP处理器,运算能力为1OOMIP.128K*32位外部FLASH,可用于固化用户程序,使该DSK成为一个可以独立运行的应用系统.预留1个DSP多通道缓冲串口(McBSP),1组数据,地址以及控制总线等二次开发接口。.16位音频接口,可以连接麦克风和扬声器.与PC机之间为标准并行接口,TMS320C5402可以通过HPI接口与PC机实现数据传输.丰富的I/O外设.扩展接口用于扩展存储器和子板3.2 DSP部分3.2.1 DSP系统的构成 3.2.2 DSP芯片的选择依据设计DSP应用系统,选择DSP芯片是非常重要的一个环节。只有选定了DSP芯片,才能进一步设计其外围电路及系统的其它电路。总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也是不同的。一般来说,选择DSP芯片时应考虑到如下诸多因素。1. DSP芯片的运算速度运算速度是DSP芯片的一个最重要的性能指标,也是选择 DSP芯片时所需要考虑的一个主要因素。DNil芯片的运算速度可以用以下几种性能指标来衡量:(1)指令周期:即执行一条指令所需的时间,通常以us(纳秒)为单位。如TMS320LC549-80在主频为80M Hz时的指令周期为115ns;(2) MAC时间:即一次乘法加上一次加法的时间。大部分DSP芯片可在一个指令周期内完成一次乘法和加法操作,如TMS320LC549-80的MAC时间就是12.5ns;(3) FFT执行时间:即运行一个N点FFT程序所需的时间。由于FFT运算涉及的运算在数字信号处理中很有代表性,因此FFT运算时间常作为衡量DSP芯片运算能力的一个指标;(4) MIPS:即每秒执行百万条指令。如TMS320LC549-80的处理能力为80MIPS,即每秒可执行八千万条指令;(5) MOPS:即每秒执行百万次操作。如TMS320C40的运算能力为275MOPS;(6)MFLOPS:即每秒执行百万次浮点操作。如TMS320C31在主频为40MHz时的处理能力为40MFLOS;(7) BOPS:即每秒执行十亿次操作。如TMS320C80的处理能力为2BOPS。2. DSP芯片的价格DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。如果采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用产品。因此根据实际系统的应用情况,需确定一个价格适中的DSP芯片。当然,由于DSP芯片发展迅速,DSP芯片的价格往往下降较快,因此在开发阶段选用某种价格稍贵的DSP芯片,等到系统开发完毕,其价格可能已经下降一半甚至更多。3. DSP芯片的硬件资源不同的DSP芯片所提供的硬件资源是不同的,如片内RAM, ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是同一系列的DSP芯片(如TI的TMS320C54x系列)中,不同DSP芯片也具有不同的内部硬件资源,可以适应不同的需要。4. DSP芯片的运算精度一般的定点DSP芯片的字长为16位,如TM320C54x系列。但有的公司的定点芯片为24位,如Motorola公司的MC56001等。浮点芯片的字长一般为32位,累加器为40位。5.DSP芯片的开发工具在DSP系统的开发过程中,开发工具是必不可少的。如果没有开发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。如果有功能强大的开发工具的支持,如C语言支持,则开发的时间就会大大缩短。所以,在选择DSP芯片的同时必须注意其开发工具的支持情况,包括软件和硬件的开发工具。6. DSP芯片的功耗在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用。7.其他除了上述因素外,选择DSP芯片还应考虑到封装的形式、质量标准、供货情况、生命周期等。有的DSP芯片可能有DIP, P GA, PLCC, PQFP等多种封装形式。有些DSP系统可能最终要求的是工业级或军用级标准,在选择时就需要注意到所选的芯片是否有工业级或军用级的同类产品。如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量生产并可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP芯片供货情况如何,是否也有同样甚至更长的生命周期等。在上述诸多因素中,一般而言,定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低。而浮点DSP芯片的优点是运算精度高,且C语言编程调试方便,但价格稍贵,功耗也较大。例如TI的TMS320C2xx/C54x系列属于定点DSP芯片,低功耗和低成本是其主要的特点。而TMS320C3x/C4x/C67x属于浮点DSP芯片,运算精度高,用C语言编程方便,开发周期短,但同时其价格和功耗也相对较高。DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片、如果DSP芯片的处理能力达不到系统要求,则必须用多个DSP芯片并行处理。如何确定DSP系统的运算量以选择DSP芯片主要考虑两种情况。(1).按样点处理所谓按样点处理就是DSP算法对每一个输入样点循环一次。数字滤波就是这种情况。在数字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用LMS算法的256抽头的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要2563=768个MAC周期。如果采样频率为8kHz,即样点之间的间隔为125,DSP芯片的MAC周期为200ns,则76MAC周期需要153.6的时间,显然无法实时处理,需要选用速度更高的DSP芯片。(2).按帧处理有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。例如,中低速语音编码算法通常以1Oms或20ms为一帧,每隔1 VMS或20ms语音编码算法循环一次。所以,选择DSP芯片时应该比较一帧内DSP芯片的处理能力和DSP算法的运算量。假设DSP芯片的指令周期为p(ns),一帧的时间为(ns),则该DNY芯片在一帧内所能提供的最大运条指令。例如MS320LC549-80的指令周期为12.5ns,设帧长为20ms,则一帧内TMS320LC549-80所能提供的最大运算量为160万条指令。因,只要语音编码算法的运算量不超过!60万条指令,就可以在TMS320LC549-80上实时运行。本装置选择的是TI公司的TMS320C5402。3.2.3 TMS320C54xx具有以下硬件优点(1)围绕1组程序总线、3组数据总线和4组地址总线建立的改进型哈佛结构,解决了冯诺伊曼(Von-Neumann)结构中高速数据传输时的传输通道上的瓶颈现象。(2)内部多总线结构保证在一个机器周期内可以多次访问程序空间和数据空间。(3)指令执行时的多重流水线结构将指令周期降低到了最小值。 (4)高度专业化指令集,更适用于快速算法的实现和高级语言编程的优化。(5)多处理单元可以在一个指令周期内同时进行运算,而这种结构恰好满足了数字信号处理中的一些特殊要求如FIR, IIR, FFT等运算。(6)尤为值得一提的是TMS320C5402的软件特点,7种有效灵活的寻址方式,仅为lOns的指令执行周期,还有一些特殊的运算指令更好地满足了数字信号处理中特有的运算需要。(7)最新的IC制造工艺,提高了芯片性能,降低了功耗。(8)最新的静态设计技术使得芯片具有更低的功耗和更强的辐射能力。3.2.4 TMS320C54xx DSP芯片的硬件结构1.总线结构总线结构采用改进的哈佛结构,C54xx(即TMS320C54xx,以下类同)的结构是围绕8组主要的l6bit总线(4组程序/数据总线,4组地址总线)建立的其内部硬件结构如下: 图3.2 TMS320C54xx内部硬件框图2.中央处理单元(CPU)C54xx芯片的CPU包括:一个40bit的算术逻辑单元(ALU);两个40bit的累加器(ACC和ACCB);一个40bit的桶形移位器:1717bit乘法器(MAC);40bit加法器(ADD);较、选择和存储单元(CSSU);指数编码器和各种CPU寄存器(CPU寄存器是存储器映射的,能快速恢复和保存)。3.中央存储器组织C54xx存储器有三个独立的可选择空间组成:程序、数据和I/O空间。所有的C54xx芯片都包括随机访问存储器(RAM)和只读存储器(ROM)。(1)片内ROMTMS320C5402有4K的片上ROM。在标准的C54xx的片内ROM中有一个引导程序BOOTLOAD程序和中断向量表。BOOTLOAD程序起DSP复位后自动载入用户程序的作用。当DSP复位后,如果其MP/ MC弓l脚为高电平,系统将等待从JTAG仿真口下载程序。如果MP/ MC弓l脚为低电平,程序从内部ROM的OFF80H单元开始执行,这个单元存有转移到引导程序开始处狗转移指令。片内ROM的引导程序是芯片出厂是固化好的,用户一般不能直接使用。(2)片内RAM所有的DSP器件都有较大的片内RAM, TMS320C5402有16K的片上DARAM。为了便于管理,片内RAM分成几个部分,可以分别用来保存数据或程序,片内RAM优先用来存储数据值,但也可以映射到程序空间来存储程序代码。片内RAM又分为单口SARAM和双口DARAM和双口DARAM主要用于保存数据,需要时也可以保存程序。每个机器周期可以对它进行两次存取,CPU和外设,如缓冲串口(BSP)和主机接口(HPI)可以在一周期中同时对它进行读和写,所以存取速度得到了很大的提高。存储器地址分配图如下: 图3.3 MS320C5402存储器地址分配图 4.存储器映射寄存器存储器映射寄存器包括辅助寄存器、堆栈指针、中断寄存器等一些常用的寄存器。不同型号的DSP,其映射寄存器的地址可能不一样。一些专用的DSP还自带一些专用的映射寄存器。 5.片内外围设备(1)通用I/O引脚每一种C54xx芯片都有两个通用I/O引脚:/BI0和XF 。 /BIO可用来监测外部设备状态的输入引脚。根据/BIO输入的状态来执行一个转移,对时间要求很严格的循环,而且不能被外部终端所打断的时候,可以用/BIO脚代替中断与外围设备相连。XF用于发信号给外部设备,通过软件进行控制。(2)主机接口主机接口(HPI)是一个8bit或16bit的并口,提供C54xx与主处理机的接口。C54xx和主处理机都可以访问C54xx的片内存储器,并且通过它进行信息交换。(3)硬件定时器C54xx有一个带有4bit预定标器的l6bit的定时电路。这个计时计数器在每个时钟周期结束后减l,每当计数器置0时就会产生一个定时中断。可以通过设定特定的状态位来使定时器停止、恢复运行、复位或禁止。(4)时钟发生器时钟发生器由一个内部振荡器和一个锁相环电路组成。它可以由内部的晶振或外部的时钟源驱动。锁相环电路能使时钟源乘以一个特定的系数,来得到一个比内部CPU时钟低的时钟源。(5)串口各种C54xx芯片配有不同的串口,但总的来说分为3种类型:同步、缓冲和时分多路(TDM)。I.同步串口同步串口是高速、全双工串口,提供与编码器,A/D转换器等串行设备之间的通信。当一块C54xx芯片中有多个同步串口时,它们是相同的,但又是独立的。每个同步串口都能以1/4机器周期频率工作。同步串口发送器和接收器是双向缓冲的,由可屏蔽的外部中断信号单独控制,数据可以字节或字传送。II.缓冲串口缓冲串口(BSP)是在同步串口的基础上增加一个自动缓冲单元,并以机器周期频率计时。它是全双工和双缓冲的,提供灵活的数据串长度。自动缓冲单元支持调整、传送,并能降低服务中断的开销。III.时分多路串口时分多路串口TDM允许数据时分多路。它既能工作在同步方式下,也能工作在TDM方式下,在多处理器应用中得到广泛使用。6.外部总线接口C54xx能对64kword的数据存储器、64kword的程序存储器和64kword的16bit并行I/O寻址。对外部存储器或I/O的访问则通过外部总线进行。独立的空间选择信号/DS, /PS和/IS允许进行物理上分开的空间选择。接口的外部ready输入信号和软件产生的等待状态,允许处理器与各种不同速度的存储器和I/O设备相连。接口的保持模式使得外部设备能控制C54xx的总线,这样外部设备就能访问程序、数据和1/O空间的资源。C54xx的大部分指令都能访问外部存储器,但访问I/O口需要使用特殊的指令:PORTR和PORTW。7. IEEE 1149.1扫描标准逻辑IEEE 1149.1标准扫描逻辑电路用于仿真和测试。它提供对所连接设备的边界扫描,同时,也可以用来测试引脚到引脚的连续性,以及进行C54xx芯片的外围器件的操作测试。IEEE 1149.1标准扫描逻辑电路可与访问片内所有资源的内部扫描逻辑电路连接,因此,C54xx能够使用IEEE 1149.1标准扫描逻辑电路引脚和专用仿真引脚完成在线仿真。3.2.5 存储器映射寄存器DSP的存储器映射寄存器和DSP的寻址方式是本试验中涉及的两个非常重要的DSP硬件特性,在本次试验的软件编写过程中(尤其是FFT程序),充分考虑和利用了DSP的这两个硬件特性,使得程序执行的效率大大提高了。数据存储器空间包括了CPU和片内外围设备的存储器映射寄存器。这些寄存器位于数据存储空间的第0页,以简化对它们的访问。存储器映射访问为在内容切换时用于保存和恢复寄存器,以及在累加器和其他寄存器之间传递信息提供了方便,有: (1)辅助寄存器(ARO-AR7)8个16bit的辅助寄存器(ARO-AR7)能被CALU访问,也能被辅助寄存器算术单元(ARAU)修改。它们最主要的功能是产生16bit的数据空间地址,但也能用来作为通用寄存器和计数器。(2)暂存器(TREG)TREG为乘法指令和乘/累加指令存放个乘数,它能为带有移位操作的指令(如ADD、 LD和SUB)存放一个动态的(执行时间可编程)移位记数,也能为BITT指令存放一个动态位地址。EXP指令把计算出的指数值存入TREG,而NORM指令将TREG的值归一。(3)过渡寄存器(TRN)TRN是一个16bit的寄存器,为计算新的测量值存放中间结果,以完成Viterbi算法。CMPS(比较、选择和存储)指令在累加器高位字和低位字进行比较的基础上修改TRN的内容。(4)堆栈指针寄存器(SP)SP是存放栈顶地址的16bit寄存器。它总是指向堆栈的最后一个数据。中断、调用、返回和PUSHD, PUSHM, POP以及POPM等指令都要进行堆栈处理。C54xx有16位的8级硬件堆栈,当一个指令或者一个中断强迫CPU进入子程序或中断服务程序时,返回地址自动装入栈顶,这项工作不需要额外的时间开销。应注意的是,在程序开始需要设置堆栈指针的值,此外,注意不要产生堆栈溢出,否则数据将丢失。(5)循环缓冲大小寄存器(BK)它由ARAU用来在循环寻址中确定数据块的大小。(6)块循环寄存器(BRC、 RSA、 REA)块循环计数器(BRC)是在循环时确定一块代码所需循环的次数。块循环地址(RSA)是存放工作在循环方式下,需要循环的程序块的开始地址。块循环尾地址(REA)是存放所需循环的程序块的结束地址。(7)中断寄存器(IMR、 IFR)中断屏蔽寄存器(IMR)在需要的时候能独立地屏蔽特定的中断。中断标志寄存器(IFR)用来指明各个中断的当前状态。3.2.6 灵活多样的寻址方式除了存储器映射寄存器以外,本试验中涉及的另一个DSW重要硬件特性是它的寻址方式。DSP有多种寻址方式,使用起来非常灵活,有:1.立即数寻址方式立即数寻址方式,指令中有一个固定的立即数。2.绝对寻址方式绝对地址寻址方式,指令中有一个固定的地址,指令按照此地址进行数据寻址。(1)数据存储器地址寻址数据存储器地址(dmad)寻址是用程序标号或是一些DSP内部已经定义的单元来确定指令所需要的数据空间的地址。(2)程序存储器寻址程序存储器地址(pmad)寻址是用一个符号或一个具体的数来确定程序存储器中的一个地址。程序存储器地址寻址基本上和数据存储器地址寻址一样,区别仅在于空间不同。3.累加器寻址方式 累加器寻址方式,将累加器内的当前值作为地址去访问该单元程序存储器。这种寻址方式可用来对存放数据的程序存储器寻址。4.直接寻址方式直接寻址方式,指令中的7位是一个数据页的偏移地址,而所在的数据页由数据页指针DP或SP(堆栈指针)决定。该偏移量加上DP和SP的值决定了在数据存储器中的实际地址。直接寻址的语法是用一个符号或一个常数殊定偏移值。例如,把存储器单元SAMPLE中的内容加到累加器B中去:ADD SAMPLE,B地址SAMPLE的低7位放在指令字中。 图3.5 以DP为基准的直接寻址的代码格式图3.6 以SP为基准的直接寻址的代码格式事实上,DP和SP都可以与dmad(指令寄存器IR的低7位)值相结合产生实际地址。位于状态寄存器STl中的编译方一式位(CPL)决定采用哪种方式来产生实际地址。如果选择DP和dma值相结合产生实际地址,必须将CPL置O。因为DP值的范围是从0到511 (1-29 ),所以以DP为基准的直接寻址把存储器分为512页。7bit的dmad值的范围从0变化到127,所以每页有128个可访问的单元。DP值可由LD指令装入。RESET指令将DP置为0。注意:DP不能用上电进行初始化,在上电后它处于不定状态,所以没有初始化DP的程序就可能工作不正常,所有的程序都必须要对DP作初始化。如果选择SP和dmad值相结合产生实际地址,必须将CPL置1。SP可指向存储器中的任意一个地址。dmad可指向当前页中一个确定的单元,从而允许访问存储器任意基地址中连续的128个字。5.间接寻址方式间接寻址方式,按照辅助寄存器中的地址访问存储器。在间接寻址中,64k 16bit数据空间任意单元都可通过一个辅助寄存器中的16bit地址进行访问。C54xx有8个16bit辅助寄存器(ARO-AR7)。间接寻址主要用在以固定的步长依次访问存储器的场合中。(1)单操作数寻址 图3.7单数据存储器操作数间接寻址的类型(2)循环寻址许多算法,例如,卷积、相关和FIR滤波等,都需要在存储器中实现据的滑动窗口。当新的数据来到时,缓冲器就会覆盖最早的数据。循环缓冲器实现的关键是循环寻址的实现。循环缓冲器大小寄存器(BK)确定了循环缓冲器的大小。大小为R的循环缓冲器必须从一个Nbit (N是满足R的最小整数)边界开始,也就是说,循环缓冲器基地址的最低N为必须为O。循环缓冲器的有效基地址(EFB)就是用户选定的辅助寄存器(ARx)低N位置零后所得到的值。循环缓冲器的尾地址(EOB)是通过用BK的低N位代替ARx的低N位得到的。循环缓冲器的INDEX就是ARx的低N位,step就是加到辅助寄存器或从辅助寄存器中减去的值。循环寻址的算法为: if 0index+stepBK: index=index+step. else if index+stepBK: index=index+step-BK. else if index+step0: index=index+step+BK.对于一个需要8个循环缓冲单元的运算,循环指针在第一次的移动从1, 2,3, 4, 5, 6, 78,第二次是从2, 3, 4, 5, 6, 7, 81,第三次是从3, 4, 5,6, 7, 8, 12。依次下去,直到完成规定的循环次数。(3)位倒序寻址位倒序寻址提高了执行速度和在FFT算法的程序中使用存储器的效率。在这种寻址方式中,ARO存放的整数N是FFT点数的一半,一个辅助寄存器指向一个数据存放的物理单元。当用位倒序寻址把ARO加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从右向左。算法如下: .asg AR2,REORDERED_DATA .asg AR3,ORIGINAL_INPUT .asg AR7,DATA_PROC_BUF .sect rfft_prg bit_rev: SSBX FRCT;启动分数模式 MVDK d_ input_ addr,ORIGINAL-INPUT ; AR3中存放原始输入数据 STM #fft_data,DATA_PROC_ BUF ; AR7是处理数据缓冲区 MVMM DATA_PROC_ BUF,REORDERED_DATA ;AR2中存放位倒序后的数据 STM #K_ FFT_ SIZE-1,BRC RPTBD bit_rev_end-1 STM #K_FFT-SIZE,ARO ; ARO等于循环缓冲区大小的1/2 MVDD *ORIGINAL_INPUT+,*REORDERED_DATA+ MVDD *ORIGINAL_INPUT-,*REORDERED_DATA+ MAR *ORIGINAL_INPUT+0B Bit_rev_end: RET;返回实FFT主模块 End 设8点的FFT,执行后的结果为: r(0)=a(0) i(0)=a(l) r(2)=a(4)i(2)=a(5)i(l)=a(3)r(3)=a(6)i(3)=a(7)6.存储器映射寄存器寻址存储器映射寄存器寻址方式,修改存储器映射寄存器中的值,而不影响当前DP或SP的值。7.堆栈寻址方式堆栈寻址方式,把数据压入和弹出堆栈,堆栈寻址按照后进先出原则进行寻址。系统堆栈用来在中断和调用子程序期间自动存放程序计数器,也能用来存放额外的数据项或传递数据值。8.程序控制指令程序控制指令包括分支指令(B、 BC)、调用指令(CALL)、中断指令(INTR、TRAP)、返回指令(RET)、重复指令(RPT)、堆栈操作指令(FRAME、 POPD)、混合程序控制指令(IDLE、NOP)。在C54xx中采用了6级流水线操作。所谓流水线操作,就是将每一条指令分成多个执行部分,分步执行。因此,流水线冲突不可避免。一般情况下,当发生流水线冲突时,由DSP自动插入延迟解决冲突问题,而且CCS也会报告流水线冲突。但有些情况下C54xx无法自动解决冲突问题,需要程序员通过调整程序语句的次序或在程序中插入一定数量的NOP来解决。例如: STL B,AR1 LD *ARI+,T这是产生了流水线冲突,单步执行可以看到B的值还没有送到ARl中,就开始执行LD指令了,这样,自然产生错误的运行结果。只要在这两个语句之间加上两个NOP指令就可以了。3.2.7 二次开发扩展子板接口由前面的硬件总体结构图可知:我自己设计的数据采集板和TMS320C5402之间通过二次开发接口进行数据交换。这里利用到的信号有: 图3.8 二次开发接口引脚说明引脚定义说明 23CLKX1发送时钟 24FSX1发送帧同步 25DX1发送数据 26CLKR1接收时钟 27FSR1接收帧同步 28DR1接收数据 3.2.8 DSP的多通道缓冲串口(McBSP)本次试验中利用了DSP的多通道缓冲串口(Multi-channel Buffered Serial Port即McBSP)来接收A/D传入的信号数据。TMS320C5402具有高速的,全双工串行口,可用来与系统中的其他C54x器件,编码解码器,串行A/D, D/A转换器以及其它的串行器件直接接口。它支持全双工通信,双缓冲数据寄存器,允许连续的数据流。可以与工业标准的编/解码器,AICs接口。支持多种方式的传输接口如T1/E1帧协议、MVIP帧方式、H.100帧方式、SCSA帧方式、IIS兼容设备等。可与多达128个通道进行收发。支持传输的数据字长可以是8bit, 12bit, l6bit,20bit, 24bit或32bit。内置一律和A一律压扩硬件。McBSP在结构上可以分为一个数据通道和一个控制通道。如下图所示: 图3.9 McBSP硬件结构数据通道完成数据的发送和接收。控制通道完成的任务包括内部时钟的产生,帧同步信号产生,对这些信号的控制以及多通道的选择等。控制通道还负责产生中断信号送往CPU,产生同步事件通知DMA控制器。像51/96系列单片机一样,对TMS320C5402串行口的操作也是通过设置各控制寄存器来进行的。这些控制寄存器有串行口控制寄存器SPCR1/2;接收控制寄存器RCR1 /2;发送控制寄存器XCR1/2;多通道寄存器 MCR1/2等。需要注意的是,要对某一控制寄存器寻址,只能采用加子地址寻址方式。(1)全双工同步通信;(2)双缓冲发送和三缓冲接收;(3)发送和接收均提供独立的时钟和帧信号;(4)可以与串行AD, DA直接接口;(4)支持高达128通道的数据传输,且字长可选8, 12, 16, 20, 24, 32; (5)内部提供一个时钟和帧信号发生器。对TMS320VC5402串行口的操作是通过设置一系列存储器映射寄存器来进行配置和操作。McBSP采用子地址寻址方案,其直观表示如图所示。 3.10 McBSP子地址映射图它通过一个子寄存器控制一个多切换器,将一组寄存器切换到一个单一的存储器映像地址。用子数据存储器(SPSDx)对指定的子地址模式寄存器进行读写数据的操作。如果要访问某一特定子地址模式寄存器,需要将此寄存器的子地址写入子地址寄存器(SPSAx),使多路切换器切换到存储器中指定的物理地址。当写操作发生时,写到子数据寄存器(SPSDx)的数据将被移入由子地址寄存器(SPSAx)指定的嵌入数据寄存器中。读操作与此类似,由地址寄存器(SPSAx)指定的寄存器的内容被移入到子数据寄存器(SPSDx)中。3.3 A/D部分3.3.1 A/D的选择AD73360本次试验中的A/D选用的是Analog Devices(AD)公司的AD73360。AD73360具有六个模拟量输入通道,每个通道可以输出长度为十六位的数字量。这六个通道可同时采样,并且无须CPU干预,从而有效地减少了由于采样时间不同而产生的相位误差。各个通道的采样速率可以方便地利用控制字在8k, 16k, 32k和64k中进行设定。每个通道可以允许从直流4kHz的模拟信号通过。由于各个通道都有内置的抗混叠滤波器,所以对其输入端抗混叠滤波器的要求大为降低,而仅需要简单的一阶RC滤波器即可。AD73360使用六线工业标准同步串行接口与CPU接口。由于接口信号线的数目只有六条,所以这样不仅节约了印制板的面积,而且也有效地减小了电磁干扰,从而使得系统运行更加稳定。AD73360特别适合于要求同时采样的工业控制应用。它不仅适合于大信号应用,也适合于小信号应用。由于AD73360有内置的程控可变增益放大器,所以对小信号应用尤其简洁高效。 图3.11 AD73360的功能模块由于单片AD73360具有六个同时采样的模拟量输入通道,所以特别适合于三相制电力运行参数测控类应用(三个相电压和三个相电流同时采样)系统。3.3.2 模拟输入通道的电路设计对于AD73360的六个模拟输入通道来说,每一个都既可以配置成单端输入,也可以配置成差动输入。这里配置为单端输入。因为物理电力系统的工作频率为50Hz,因此,可以把50Hz的交流信号直接耦合到AD73360的模拟输入端。具体电路如下图所示: 图3.12 AD73370模拟输入通道的电路设计图3.12中,REFOIJT为AD73360所产生的基准输出,用来偏置模拟输入端的电平,为1.2V。CIN为5OHz交流祸合电容器,其值可取O.1f或更大。这里,采样频率fS必须根据实际应用进行选择,要足够高以包含全部重要的频率成分。Nyquist频率(fS/2)以外的成分必须通过前置滤波器滤掉,我们称之为抗混叠滤波。这一步非常重要,直接影响整个系统的性能。0.047f的电容和100。的电阻共同构成一阶低通滤波器,主要起抗混叠的作用。10K的电阻和的作用是把偏置电平引导到模拟输入端。3.3.3 时钟信号的选择AD73360的时钟信号是需要外接的,这里由有源晶振产生时钟信号,用的是HO-22B,频率为16. 384MHz。其接线图如下: 图3.13有源晶振的接线3.3.4 电源和接地电源这里选择来自TMS320C5402 DSK上的电源通过二次扩展子板接口接到子板上给A/D供电。为了尽量减小AID模拟部分和数字部分间的干扰,采取数字部分和模拟部分单独供电的方式。其中,数字电源和模拟电源与地线之间都使用O.lf的陶瓷电容和lOf担电容并联去祸。并接10f担电容是为了去掉低频干扰部分,并接0.1f陶瓷电容是为了去掉高频干扰部分。如下图所示: 图3.14电源的去耦正确地处理“模拟地”与“数字地”。数字电路是非线性的,逻辑门的开关都会产生电流冲击,所以在数字地上高频扰动很强烈,因此数字地与模拟地不能有共同路径或者环路,只应单点连接。3.3.5 与DSP的接口电路设计由于AD73360和TMS320C5402型DSP,都支持工业标准的六线同步串行接口。二者之间的接口电路非常简单。下图是该接口的逻辑电路原理图。 图3.15 AD73360与DSP的接口电路设计图中的四个帧同步信号连接成帧同步返回环方式,即让AD73360的输出帧同步信号SDOFS输出到A D73360的输入帧同步信号SDIFS,而让TMS320C5402的发送帧同步信号FSR输出到接收帧同步信号FSR。这样,无论是发送帧同步信号还是接收帧同步信号,都被强制与SDOFS保持同步。AD73360的数据输入信号SDI和数据输出信号SDO分别与TMS320C5402的数据发送信号DX和数据接收信号DR相连。TMS320C5402的发送时钟信号与CLKR的接收时钟信号CLKX都取自AD73360的时钟输出信号SCLK。 TMS320C5402的标志输出信号XF连接到AD73360复位信号/RESET和使能信号SE。 图3.16 AD73360数据传输时序3.3.6 AD73360的数据编码格式AD73360的数据编码格式,采用二进制补码格式,在差动输入和单端输入两种方式下是不一样的。这里采用的是单端输入。在16位数据模式下,一调制器输出的15位字的数据被左移一位,这时,LSB被置为0。对于模拟输入等于或大于正向最大输入范围时,编码输出为Ox7FFF,这时,LSB被置为1。在控制/数据混合模式下,16位中的MSB位用于指示该次传送的是控制信息或是数据信息。模拟输入端的输入范围是0.411V-1.989V,即输入电压是在以1.2V为中心,0.789V位幅度地范围内即可。3.3.7 AD73360的编程方法(1)AD73360的控制寄存器AD73360工作时,首先进入程序方式并向AD73360写控制字,然后再切换到数据方式。在从AD73360读入数据后,系统将不再切换回程序方式。而在混合模式下,系统总是在程序方式和数据方式之间不断地切换工作,以达到在从AD73360读数据期间改变其配置的目的。AD73360内部共有八个控制寄存器,分别是CRA-CRH,他们所占用的地址为0-7,每个的长度为8位。AD73360的同步串行接口能够识别长度为16位的来自DSP的控制字。如图所示: 图3.17 AD73360八个内部控制寄存器图3.18控制字的格式1514131211109876543210C/DR/WDEVICEADDRESSREGISTERADDRESSREGISTER DATA控制/数据读/写器件地址寄存器地址寄存器数据(2)采样速率的选择 本试验中对A/D设置的采样速率为8k/s, 则取:DMCLK=MCLK=16.384MHz, 4 软件开发环境4.1 CCS的介绍CCS (Code Composer Studio)为TI公司的DSP集成开发环境。它提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。与TI提供的早期软件开发工具相比利用CCS能够加快软件开发进程,提高工作效率。主要有以下几个部分组成:C编译器、汇编优化器和连接器(代码生成工具),指令集仿真器,实时的基础软件(DSP/BIOS ),主机和目标机之间的实时数据交换(RTDX)和实时分析和数据可视化。4.1.1集成的源代码编辑器该集成调试器在原有技术上有所突破,这里罗列了几个该集成调试器给开发者提供的多种功能:(1)开发者可以激活多个数据窗口来显示数据信息。可以观察交叉存取的源代码和反汇编。可以选择进入、越过或跳出C函数或汇编子程序来快速地调试程序。(2)进行交互式分析时,开发者必须能够估计代码的执行时间,从而开发高效、高性能的系统。在该集成环境中可以对汇编语言或C语言的代码块,以及混在一起的代码块进行分析,还可以包括转移、子程序调用、中断等。(3)能对程序进行高效编译和建立包括编译器的一般优化。(4)在不改变源代码的条件下,使用探针点注入和提取数据信号,执行scripts,观察不同格式的数据,使用许多文件I/0的选择项使测试更容易。多个文件还可以连接成一个,使模拟仿真更容易。(5)设置断点。开发者可以设置基于C表达式、局部变量或CPU寄存器符号的条件和硬件断点;遇上一个特定的断点时,可以执行一个script文件,而script文件可以使用GEL script语言很容易地建立。对于多处理器系统可以设置全局断点。因为地址是在建立时间确定的,用源行号可以节省时间。断点可以用对话框来配置,点击一个按钮可以激活断点群。(6)支持多板开发的复杂系统。其并行调试管理器(PDM)提供对多处理器的同步控制。通过对话框,可以定义多达32个不同的CPU组。PDM可以通过JTAG途径用广播方式将命令传给不同的CPU组。遇到全局断点时,一个处理器的命令可以暂停其它的处理器。(7)定制测试与自动测试功能,GEl scripting语言使用户可以通过添加菜单项和建立图形化的用户界面(GUI)来定制自己的开发环境。由于GEL是基于C语言的,因此容易学习和实现。不用购买其他任何工具,只用GEL就可以建立DSP的应用GUI,例如:DSP应用的用户界面,硬件诊断,板设置,经常使用的函数,专门的应用命令和为变量建立一个滑动窗口和测试控制。4.1.2 实时分析DSP/BIOS实时分析库包括Log和Statistics模块。字符串在主机里存储并格式化,目标机只需要将数据传给主机。Log模块这样做只需要几十个机器周期,而在目标机做格式化需要几百个机器周期。Statistics模块纪录目标机中数值的最大值、最小值和平均值。所有的计算都是在主机里进行的,只有很小量的信息在目标机里存储和从目标机传输。该模块对于跟踪DSP系统的性能参数是很理想的。通过可视化系统性能和定时,可以快速地确定微妙的实时问题。4.1.3 实时数据交换(RTDX)迄今为止,开发者还必须停止其应用程序,以便和主机交换数据。而RTDX却可以实时地、连续地访问正在运行的目标机的应用程序,在主机和DSP之间交换数据。由此可以深入地了解应用程序的工作。4.1.4 实时DSP环境如今的系统对服务的最低要求都包括定时、通信、资源控制和分析。这些要求对开发者来说是蛮高的。或者去购买实时操作系统(RTOS)和算法程序库,或者自己一个,都不便宜。CCS提供一个图形化的以主机为基础的静态配置工具。所有的DSP/BIOS对象都是静态配置的,并用该工具初始化。因为该初始化是在编译时作的,就不要求目标机的应用程序在运行时建DSP/BIOS服务。4.1.5 数据可视化当应用程序运行时,可以按数据和信号的自然格式来观察,如眼图、星座图、FFT等,以加速分析与测试。眼图可以使开发者看到因为噪声和抖动所引起的信号的变化;星座图可以使程序员从信号看到其意义;FFT的瀑布图包含了一系列谱的映射,反映信号的谱随时间的变化,这在调制解调器或语音识别系统中测量噪声特性时非常有用。4.2 CCS环境下进行软件开发的流程CCS一般工作在两种模式下:软件仿真器和与硬件开发板相结合的在线编程。前者可以脱离DSP芯片,在PC机上模拟DSP的指令集与工作机制,主要用于前期算法实现和调试。后者实时运行在DSP芯片上,可以在线编制和调试应用程序。本试验中采用的是CCS和DSK板相结合的在线编程。当然,要使用CCS在DSK板上运行某个程序,光有源文件的主程序(.c或.asm)是不够的,还需要配置中断向量表(.asm)和命令链接文件(.cmd),在一些特殊的场合还需要配置其他的文件。主程序当然是整个程序的核心,它的作用涉及数据的读/写和具体的处理过程以及中断的设置、寄存器的配置等;中断向量表主要作用是告知程序中断跳转的位置,显而易见,如果在主程序中已经设置,则不再需要配置中断向量表。命令链接文件(.cmd)的主要作用是分配存储空间,比如存储器的第0页分配作程序空间,第1页分配作数据空间,以及各个段将要放在哪儿(如.text段放在数据空间),这个文件对每个工程来说都是必须的。一般的件开发流程图如下: 图4.1 CCS环境下软件开发流程图4.3 软件编写4.3.1 总体流程图 系统初始化 开中断 模拟量采集 数据处理(如FFT以及一些基本的电参量计算 运算结果处理 图4.2总体流程图DSP单元进行数据采集时,一旦转换A/D转换完一个数据后,数据通过A/D的Dx引脚在SCLK和FSX(发送帧同步信号)的共同作用下,传入DSP的McBSP的寄存器中,当该次数据传送的16bit均传完以后,McBSP通过RRDY向DSP发出中断信号,TMS320C5402接到此信号后即可执行BRINTO中断服务程序,进行相应的数据采集。软件编写时,涉及到了在C语言中使用汇编语言的问题。一般可采取两种方式:一是调用汇编语言子程序,二是使用嵌入汇编。TMS320C54xx C编译器支持在C源代码中直接使用asm语句嵌入汇编,故在C编译器所产生的中间汇编代码的基础上,可局部使用嵌入汇编。这样,一方面可大大提高频繁使用的代码段的效率,另一方面又不改变原来的函数框架,也便于对照仿真结果进行调试。上述两种方式,本试验中均使用到了。4.3.2 主程序流程图设置全局变量,如:接收到的数据计数器变量Re为下面进行FFT运算开辟数据存放区 DSP的初始化,设置DSP的工作频率重新映射中断向量表 MCBSP的初始化以用作和A/D的接口开中断BRINTO和BKINTO,通过写IFR,取消所悬挂的中断,置状态寄存器STO的IHTM位为0,允许中断初始化AD73360并开始接收数据Re=160Re=0,按采祥算法将接收到的数据转化成128个数据按采祥算法将接收到的数据转化成128个数据按采祥算法将接收到的数据转化成128个数据将这128个数据进行FFT运算得到各次谐波系数图4.3主程序流程图与硬件接口相对应的数据采集软件设计包括:McBSP的初始化,AD73360的初始化,开始接收并处理数据等。图5-3为数据采集流程图,在实际使用中,必须保证AD采样频率和串行口传输速率的设置相互协调,从而确保 DSP有足够的时间读取当前采样的数据。根据系统算法和采样频率的要求,AD和DSP之间无需加接FIFO缓冲器,可以直接利用McBSP的数据接收来触发中断。4.3.3 FFT流程图位倒序 蝶形运算 返回设置FFT变换的点数、堆栈的名称及长度 定义了三个空间,是为后面运算保留运算空间.global fftdata, 128输入的128个运算数据 .global fft real, 128为后面的位倒序提供参数 .global power, 128位倒序后产生的新数据所放的空间 图4.4 FFT流程图4.3.4 McBSP初始化程序流程图图4.5McBSP初始化程序流程图。由接口电路可知,在串口初始化时,McBSP的发送、接收时钟和帧同步等信号都为输入,因而无需用到McBSP内部的采样和帧同步产生器;由于AD73360的控制字和转换的数据都为16位,所以McBSP应设置为单相位的接收和发送帧同步且传送每个字的宽度为16位。写0x0000到SPCR1寄存器:RIHT由RRDY信号驱动,串口接收部分未准备好,处于复位状态 写0x0000到SPCR2寄存器:XI盯由XRDY信号驱动,串口发送部分未准备好, 处于复位状态 写0x0040到RC R1寄存器:接收帧长度每帧一个字,每个字为l6bit写0x0041到RCR2寄存器:每帧一相,数据接收比帧同步信号慢一个时钟周排写0x0040到XCR1寄存器:发送帧长度每帧一个字,每个字为l6bit写0x0041到XCR2寄存器:每帧一相,数据发送比帧同步信号慢一个时钟周期将SPCR1的最低位置为1,使能串口接收器 使能串口接收器 将SPCR2的最低位置为1,使能串口发送器 图4.5 McBSP初始化流程图4.3.5 AD73360初始化程序流程图在系统中仅接入一个AD73360的情况下,可按下列程序段来写控制字到AD73360的各个控制寄存器:写控制字OOH进入CRR主时钟16MHz,SCLK=2MHz,采样率8KHz
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。