小电流接地选线系统数据采集卡的软件设计_第1页
小电流接地选线系统数据采集卡的软件设计_第2页
小电流接地选线系统数据采集卡的软件设计_第3页
小电流接地选线系统数据采集卡的软件设计_第4页
小电流接地选线系统数据采集卡的软件设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

小电流接地选线系统数据采集卡的软件设计摘要随着电力系统的发展,小电流中性点非有效接地系统的故障选线显得越来越重要。尤其是前向通道的数据采集系统,要求实现快速、准确采集。以美国Cygnal公司的C8051F020单片机为主CPU,重点介绍了小电流中性点非有效接地数据采集系统的设计。由于C8051F020新增了12位A/D、交叉开关、JTAG和两个全双工UART等功能,使数据采集准确、有效,且很好的降低了设计成本。系统将采集来的PT/CT经过前向通道的有效处理并存储,当GPS接收器收到上位机命令时,将有效数据采用GSM方式传输给后向处理系统,以便及时、准确发现并处理小电流接地故障。关键词:数据采集;C8051F020;A/D转换;FFT;GPS;GSMSoftwareDesignofDataAcquisitionCardforanUnearthedMediumVoltageLine-selectionNetworkAbstractAsthedevelopmentofthePowerStation,themeasuredfaultsinanunearthedmediumvoltagenetworkbecomesmoreandmoreimportant.Especiallyforthedataacquisition,itmustbefast,accurateandefficient.BasedontheCygnalC8051F020MCU,thethesislayparticularemphasisonthedataaqusitioninanunearthedmediumvoltagenetwork.BecauseC8051F020has12bitsA/D,cross-switch,twofullduplexUARTandJTAG,dataacquisitionbecomesmoreefficient,atthesametimethecostofthedesigncanbereduced.ThesystemacquisitthePT/CTthendealwithitandstoreit,whenGPSreceivestheorderofthehostcomputer,thesingle-chipcomputersendthedatatothehostcomputerbyGSMmodeinordertofindanddealwiththemeasuredfaultsinanunearthedmediumvoltageline-selectionnetworkefficientlyandaccurately.Keywords:dataacquisition;C8051F020;A/Dconversion;FFT;GPS;GSM目录TOC\o"2-2"\h\z\t"标题1,1"摘要 IAbstract II1绪论 11.1课题研究的背景及意义 11.2国内外研究的动态 21.3本文主要研究内容及目标 22系统设计基础 32.1集成运算放大器LM324 32.2MAX7400滤波 32.3C8051F020单片机介绍 52.4电源转换 82.5GSM模块简介 82.6GPS模块简介 103系统组成原理及硬件设计 123.1小电流接地选线系统数据采集卡原理框图 123.2小电接地选线系统数据采集卡的系统组成 123.3硬件电路的设计 134软件设计 164.1主程及初始化程序框图 164.2测8次PT周期的软件设计 174.3对8组PT周期求平均的软件设计 184.4求采样值的软件设计 194.6CT信号A/D转换的软件设计 214.7FFT 224.8GSM模块介绍 234.9交叉开关配置和串口分配 255系统的抗干扰 265.1单片机系统中硬件抗干扰设计 265.2单片机系统中的软件抗干扰设计 266软硬件调试 276.1调试环境 276.2调试步骤 286.3调试过程中出现的问题 287经济技术分析 297.1技术分析 297.2经济分析 29结论 30参考文献 31致谢 34附录1 35附录2 40附录3 46附录4 531绪论1.1课题研究的背景及意义1.1.1课题背景随着自动化水平的提高,电力运行部门对故障选线问题提出更高的要求,要求在正确选线的基础上能进行故障定位,国内已有学者进行了这方面的研究。随着电力事业的发展,对电能质量要求的提高,要求配电网络能够准确选出故障线路并报警处理。电力系统运行要求发生单相接地故障时能够迅速、准确的判断出故障线路,由于受原理、工艺、技术等方面的限制,这是国内外长期存在的一大技术难题。以往当一条线路发生的接地故障,需要通过“顺序拉闸法”寻找故障线路,用人工巡线目测法确定接地点的确切位置,倒闸操作复杂,造成大量用户供电中断,耗费大量人力、物力。而目前广泛应用的小电流接地系统接地选线装置普遍存在速度慢、准确性差等缺陷,使得小电流接地系统的单相接地选线仍旧是困扰电力系统安全生产的老、大、难问题。导致小电流接地系统接地选线装置准确性差的主要原因有:(1)各种数据采集速度慢,各种数据采集同时性差,带来相位的差别(2)数据计算处理选线速度慢,无法满足实时性、准确性要求(3)受采样信号、硬件装置的限制,选线原理有一定的缺陷1.1.2课题来源“小电流接地系统”即属于中性点非有效接地系统,也称中性点不直接接地系统(NUGS),它主要包括中性点不接地系统(NUS)、经消弧线圈接地系统(NES,也称谐振接地)和经电阻接地系统(NRS)。城市配电网中性点大都采用不接地或经消弧线圈接地的运行方式,提高了城市配电网供电可靠性。长期运行经验表明:上述做法对以架空线路为主的配电网,是十分适宜的。能够保证对用户的不间断供电(成功率平均为70%~80%)。对电缆线路而言情况就不大相同了,因为电缆线路不管是单相或相间发生故障,都必须立即停电找出故障点后进行检修。随着城市配电网的高速发展,城市配电网中电缆线路的比例逐年上升,使系统的电容电流数值大幅度增加;其次是配电网中的谐振过电压频繁出现,曾引起一些电气设备绝缘损坏和避雷器爆炸等事故;加之有些城市高压架空配电线路发生一相断线事故,由于线路不跳闸,就可能引起严重的人身触电伤亡事故。针对上述情况,提出了小电流接地系统,该方案具有广阔的前景。1.1.3课题研究的意义所以,数据采集系统是后向进行故障选线及准确处理的前提,提高前向数据采集系统的效率和准确性,及时找到一种符合要求的前项数据采集系统有着十分重大的意义。数据采集系统的优化设计对上位机进行小电流故障的准确处理、定位起到至关重要的作用,保障了整个电力系统的有效、良好、健康的运行,提高了系统安全性。1.2国内外研究的动态美国、日本等配电网采用低电阻接地方式居多,美国电力行业一般承认小电流接地系统技术上的优点,但出于经济方面的考虑(存在许多私营电力企业,全面的改善不合算),目前仍保持低电阻接地方式。在采用小电流接地系统的前苏联、挪威、加拿大等国一直以来使用零序功率方向、零序过电流继电器,也研制了微机式接地故障继电器,但都是单条线路的保护,由于技术方面的原因,接地保护被认为难以实现,并没有在选线方面做出进一步的研究,也没有在前项数据采集装置上做出进一步的提高和优化,而是宁愿在供电网架的结构上增加投资以保证供电可靠性。继电器保护的选择性等因素在一定程度上影响了小电流接地方式在一些国家和地区的应用和发展。由于本身电网的网络结构薄弱,我国从50年代就开始了对小电流选线系统原理和装置的研究,国内接地保护和选线装置经历了三个阶段:继电器式产品、半导体集成电路装置和微机装置的发展阶段。90年代以前采用继电器、半导体集成电路产品,包括过流继电器、谐波过流继电器、谐波功率方向继电器等,基本上是单条线路保护,依据故障电流的整定值工作。由于被测信号量小、易受干扰、无法适应各种随机因素的变化,误判几率非常大。90年代以来,电子和微电子技术的发展为电力系统提供了强有力的支持,微机选线在一定程度上提高了测量的精度、接地选线的准确性,但灵敏度和可靠性方面尚欠理想,装置在使用中的表现不能另人满意。由于受采样数据量,A/D采样速度及精度和处理器指令速度的限制,使得测量和选线速度慢,准确性差问题仍然严重,正确动作率仅为20%--30%,未能很好的解决问题。1.3本文主要研究内容及目标本文主要介于以上电力系统小电流接地系统存在的问题,对前项数据采集系统进行了优化设计,采用带有12位A/D及比较器的C8051F020进行采集数据的精确处理、存储,并利用GPS、GSM对数据进行及时、准确的发送。能够达到实时观测、控制的效果。认识到小电流接地系统选线装置普遍存在的问题和缺陷后,我们认为要提高小电流接地系统接地选线装置性能,必须从以下几方面入手:(1)提高A/D采样速度,保证各通道数据采集的同时性,准确性。(2)提高数据处理速度,以满足实时性的要求。(3)提高选线判断速度,对选线判断逻辑进行优化。2系统设计基础本章主要讨论了小电流接地系统中数据采集部分的设计基础知识,详细介绍了LM324放大器,MAX7400滤波器,C8051F020单片机,电源转换及GSM模块和GPS模块。2.1集成运算放大器LM324集成运算放大器(简称运放)是一种高输入阻抗、低输出阻抗、高放大倍数且便于调试的优质放大器。集成运放内部电路通常由偏置电路、差动输入电路、中间放大电路、输出及过载保护电路组成。运放的开环放大倍数可达106;它构成的闭环负反馈放大电路的电压放大倍数只取决于外加电阻的大小,与本身参数无关。LM324内有4个形式完全相同的高性能运算放大器,除电源共用外,四组运放相互独立,并有相位补偿电路,耗电低,可用正电源或正负双电源工作,正电源为3.0~30.0V,正负电源为±1.5~15.0V[1]。每一组运算放大器可用图2-1所示符号来表示,它有5个引出端,其中"+""-"分别为2个信号输入端的同相输入端和反相输入端,"V+","V-",为正,负电源端,"V0"为输出端。LM324四运放电路具有电源电压范围宽,静态功耗小,价格低廉等优点,可在较宽电压范围内的单电源或双电源下工作,其电源电流很小且与电源电压无关,也不需要外接频率补偿,可做到输出电平与数字电路兼容。LM324是民用品,工作温度范围为0℃~70℃。图2-1LM324引脚图2.2MAX7400滤波滤波器或滤波电路是一种能使有用频率信号通过而同时抑制(或大为衰减)无用频率信号的电子装置。工程上常用它进行信号处理、数据传送和抑制干扰等。按滤波器是否使用有源元件(放大器)来分,可分为有源滤波器和无源滤波器两大类。无源滤波器是指用无源器件R、L和C组成的滤波电路。有源滤波器是指利用放大器、电阻和电容组成的滤波电路。2.2.1类型选择为防止频谱混叠失真及提高信噪比,300~3400Hz的带通滤波器显得十分重要。无源滤波器要求有电感元件,体积庞大。有源运放滤波器用阻容元件,体积小,有大量的现成表格可供设计时查阅,但其缺点是干扰稍大。阻容元件的查表计算值一般都不是标称值,因而元器件的选购有一定困难,且调试稍嫌麻烦。开关电容滤波器克服了前两者的缺点,用时钟频率控制通阻带,通带波动小,过度带窄,阻带衰减大[2]。经综合考虑现决定采用开关电容滤波,此论文采用MAX7400开关电容滤波。其引脚图如下:图2-2MAX74002.2.2设计考虑在选用Maxim开关电容滤波器进行设计时,应注意输入信号幅度不要过小,也不要过大,以避免较大的失真与噪声。典型应用电路如图2-3所示,图中COM引脚用于设置共模输入电压,内部分压电路将其设置在电源电压的中心位置。OS为失调调节输入引脚,用于调整输出直流电平,不需调节时可直接将其接到COM引脚,VOUT=(VIN-VCOM)+VOS,其中,VCOM典型值为VDD/2;(VIN-VCOM)经低通开关电容滤波器滤波,VOS叠加在输出级。实际应用中注意VOS、VCOM电压的有效范围,调节过大会影响滤波器的动态范围Maxim提供的该系列产品采用单电源供电,也可采用双电源供电。当需要用双电源供电时,可将COM接到系统地,而GND脚接负电源,滤波器性能与单电源供电时相同。图2-3MAX7400典型连接图2.3C8051F020单片机介绍在数据采集系统中,所选用的芯片应具备较高的处理速度,尤其是A/D转换速度和FFT的计算速度。通常使用的ADC0809是8位逐次逼近型A/D转换器,片内没有时钟,其时钟频率需要由单片机来提供,而且需要分频器件来达到一致。此外,目前大多数使用的DSP芯片例如TMS320系列都具有很高的数据处理的能力和速度,但是我们只是需要进行最基本的FFT幅值和相位的计算,对于我们的课题来说,专门的DSP芯片的性价比太低。这些芯片都违背了设计应该简单、经济的宗旨。经过课题的论证,我们选用了Cygnal公司生产的C8051F020单片机,它是高集成度的混合信号系统级芯片(SOC),具有和8051指令集完全兼容的CIP-51内核[3]。它在一个芯片内集成了构成一个单片机数据采集或控制系统所需要的几乎所有的模拟和数字外设及其它功能部件。这样可以省去我们购买以上所需芯片的资金。2.3.1功能及优势C8051F020单片机是CYGNL公司生产的集成单片机,使用CIP-51微控制器内核。CIP-51与MCS-51TM指令集完全兼容。CIP-51内核具有标准8051的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8/4个字节宽的I/O端口。另外,C8051F020还增加了许多扩展功能,它还具有64K的flash存储器、七种复位电路(完善的看门狗复位设计)、12位的A/D以及JTAG。(1)速度提高CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在CIP-51的CPU模式中,废除了机器周期的概念,指令以时钟周期为运行单位。与8051相比,在相同时钟下指令平均运行速度为原来的9.5倍。(2)时钟切换MCU内部有一个独立运行的时钟发生器,在复位后被默认为系统时钟。如果需要,时钟源可以在运行时切换到外部振荡器,外部振荡器可以使用晶体、陶瓷谐振器、电容、RC或外部时钟源产生系统时钟。时钟切换功能在低功耗系统中是非常有用的,它允许MCU从一个低频率(节电)外部晶体源运行,当需要时再周期性地切换到高速(可达16MHz)的内部振荡器。(3)片内存储器CIP-51有标准的8051程序和数据地址配置。它包括256字节的数据RAM。C8051F020中的CIP-51还另有位于外部数据存储器地址空间的4K字节的RAM块和一个可用于访问外部数据存储器的外部存储器接口(EMIF)。MCU的程序存储器包含64K字节的FLASH。该存储器以512字节为一个扇区,可以在系统编程,且不需特别的外部编程电压。从0xFE00到0xFFFF的512字节被保留,由工厂使用。还有一个位于地址0x10000-0x1007F的128字节的扇区,该扇区可作为一个小的软件常数表使用。(4)JTAG调试和边界扫描C8051F020具有片内JTAG边界扫描和调试电路,通过4脚JTAG接口并使用安装在最终应用系统中的产品器件就可以进行非侵入式、全速的在系统调试。调试系统支持观察和修改存储器和寄存器,支持断点、观察点、堆栈指示器和单步执行。不需要额外的目标RAM、程序存储器、定时器或通信通道。在调试时所有的模拟和数字外设都正常工作。当MCU单步执行或遇到断点而停止运行时,所有的外设(ADC和SMBus除外)都停止运行,以保持与指令执行同步。(5)可编程数字I/O和交叉开关具有标准8051的端口(0、1、2、3、4、5、6和7),因此共有64个通用端口I/O。这些端口I/O的工作情况与标准8051相似,但有一些改进。每个端口I/O引脚都可以被配置为推挽或漏极开路输出。引脚缺省时为漏极开路。推挽方式时,写“0”引脚驱动到GND,写“1”引脚驱动到VDD。漏极开路时,写“0”引脚驱动到GND,写“1”引脚为高阻态。当系统中不同器件的端口引脚有共享连接,即多个输出连到同一物理线时,漏极开路可防止不同器件间争用。在标准8051中固定的“弱上拉”可以被总体禁止,这为低功耗应用提供了进一步节电的能力。最独特的改进是引入了数字交叉开关。这是一个大的数字开关网络使I/O从固定方式到交叉开关配置,改变了以往I/O端口固定为某一特殊功能的方式,允许将内部数字系统资源映射到P0、P1、P2和P3的端口I/O引脚。可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配置为出现在端口I/O引脚。这一特性允许根据自己的特定应用选择通用端口I/O和所需数字资源的组合。(6)串行端口C8051F020系列MCU内部有两个增强型全双工UART0、UART1。每种串行总线都完全用硬件实现,都能向CIP-51产生中断,因此需要很少的CPU干预。这些串行总线不“共享”定时器、中断或端口I/O等资源,所以可以使用任何一个或全部同时使用。2.3.212位A/D转换器(1)ADC0简介C8051F020的ADC0子系统包括一个9通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12位分辨率的逐次逼近寄存器型ADC,INL为±1LSB。ADC0有其专用的VREF0输入引脚。只有当ADC0控制寄存器中的AD0EN位被置‘1’时ADC0子系统(ADC0、跟踪保持器和PGA0)才被允许工作。当AD0EN位为‘0’时,ADC0子系统处于低功耗关断方式。(2)ADC0工作方式ADC0的最高转换速度为100ksps,其转换时钟来源于系统时钟分频,分频值保存在寄存器ADC0CF的ADCSC位。(3)启动转换ADC0有4种转换启动方式,由ADC0CN中的ADC0启动转换方式(AD0CM1,AD0CM0)的状态决定。转换触发源有:向ADC0CN的AD0BUSY位写1;定时器3溢出(即定时的连续转换);外部ADC转换启动信号的上升沿,CNVSTR;定时器2溢出(即定时的连续转换)。AD0BUSY位在转换期间被置‘1’,转换结束后复‘0’。AD0BUSY位的下降沿触发一个中断(当被允许时)并将中断标志AD0INT(ADC0CN.5)置‘1’。转换数据被保存在ADC数据字的MSB和LSB寄存器:ADC0H和ADC0L。转换数据在寄存的ADC0H:ADC0L的存储方式右对齐,由ADC0CN寄存器中AD0LJST位的编程状态决定。2.3.3比较器C8051F020有两个片内电压比较器,CP0如图3所示。每个比较器都有输入引脚。每个比较器的输出都可以经I/O交叉开关连到外部引脚。当被分配了封装引脚时,每个比较器输出都可以被编程为工作在漏极开路或推挽方式。图2-4比较器功能框图可以在任意时刻通过读取CP0OUT位得到比较器0的输出状态。注意,在上电后直到比较器能稳定工作之前应忽略比较器输出和中断。通过置‘1’CP0EN位使能比较器0,通过清除该位禁止比较器0。在上电或CP0EN位置1后大约经过20us的建立时间,比较器输出才稳定。2.4电源转换C8051f020单片机的供电是低功耗的,要求供电电压为3.3V左右,而外围芯片的供电电压都是5V供电的。虽然C8051F020自身具有5V兼容的串口,但是电源部分应该加电源转换电路以达到电压的匹配,而且还可以起到避免干扰信号串入的作用。经过论证,AS1117型DC-DC芯片符合设计的要求。它的典型输出电压是2.85V,可通过改变电阻的值来达到所需要的输出电压,其典型的连接电路下图:图2-5典型电源转换电路连接2.5GSM模块简介GSM网络是目前国内覆盖范围最广,应用最普遍的无线通信网络,故构建这种远传系统时,完全可以利用现成的GSM无线网络无需再新建基站。因此我们选择GSM无线网络作为无线通信网络,下面将我们选用的LQ-8100型GSM模块介绍如下:LQ-8100无线数传模块是基于GSM/GPRS通信网络的数据传输和远程监控终端设备,适用于GSM/GRPS网络覆盖范围内的各种室内或野外恶劣环境的使用场合。2.5.1系统特点实现串口透明的无线数据传输远程修改数据功能稳定可靠:LQ8100采用的是先进的GPRS模块,性能稳定可靠实现实时数据传输高速传输:GPRS网络的传输速度最快将达到171.2Kbps,速率的高低取决于移动运营商的网络设置,根据中国移动的网络情况,目前可提供20~40Kbps的稳定数据传输。应用灵活、方便:LQ-8100有TTL、RS232和RS485三种接口,用户可根据自己的需要选择,LQ-8100只要跟用户设备连上,插入SIM卡、接上电源即可。永远在线、按流量记费内置看门狗,具备异常重启2.5.2技术参数天线接口:50Ω/SMA阴头接口电平:TTL、RS-232和RS-485电平串行数据接口波特率:1200bps~19200bps,出厂值默认设置为9600bps待机电流:40mA(模块)输入电压:DC5V/1A工作环境温度:-35℃~+75℃相对湿度:5%~95%2.5.3连接与数据格式LQ-8100型GSM数传模块采用的是三线制串口,即TXD、RXD、GND三条线,没有其他任何握手和数据控制线。LQ-8100无线数传模块为标准的DB9针接口。其接口引脚定义为:表2-1LQ-8100接口引脚图2-6LQ-8100与用户数据接口接线示意图2.5.4故障分析电源指示灯不亮。可请检查连接电缆是否正确连接,同时检查供电电源是否符合要求。指示灯数据不亮。数据指示灯(数据)只有在有数据收发时才闪烁。2.6GPS模块简介全球定位系统GPS(GloblePositingSystem)是利用美国的24颗GPS地球卫星所发射的信息而建立的导航、定位、授时系统[4]。所谓“GPS”,就是英文“全球定位系统”三个词的词头缩写,它由平均分布在围绕地球的6个圆形轨道上的24颗人造地球卫星(即导航卫星),分设在美国本土及其属地上的监控站、注入站、监测站、以及广泛装备于飞机、舰艇、坦克乃至单兵的GPS接收机等组成。

GPS系统采用“时间同步、单程测距”的原理来实现定位、简单地说就是用户同时向已知其位置的3个导航卫星分别进行距离测量,然后再以该卫星为球心,以所测得的距离为半径,在空间画出3个球面,则该3个球面的相交点,就是用户的所在位置了。下面详细介绍GPS15模块:2.6.1特点并行12通道GPS接收机,可同时跟踪12颗卫星,定位精度高,功耗低。DGPS实时WAAS差分或伪距差分,差分精度3-5米。(只适用于GPS15L/GPS15H)体积小巧,结构紧凑,易于应用,接收机信息可方便的显示于显示单元或PC机上。全屏敝封装,具备优秀抗电磁干扰特性。用户无需初始化,安装完毕,接收机即可自动传送导航数据。1PPS秒脉冲输出精度可达到±100ns,脉冲宽度20ms-980ms可调。可从COM1接口上输出二进制载波相位数据。多种供电模式,3.3V(GPS15);3.3V-7V(GPS15L);8V-40V(GPS15H)2.6.2技术指标结构:12并行通道定位时间:热启动<15秒重新捕获<2秒

冷启动<45秒自动搜索<300速度限制:515米/秒位置精度:3-5米2.6.3动态特性速度:<515米/秒工作电压:3.3V(GPS15);3.3V-7V(GPS15L);8V-40V(GPS15H)GPS15COMS电平输出:传输速率可通过跳线设置,出厂设置为4800bps。GPS15L/GPS15H:RS232电平输出;输出速率:300、600、1200、2400、4800、9600、19200bps用户可选.1PPS输出精度(只适用于GPS15L/GPS15H):±100ns工作温度:-30℃-+80℃3系统组成原理及硬件设计3.1小电流接地选线系统数据采集卡原理框图电源电源转换电源电源转换隔离滤波12bitADC放大隔离滤波12bitADC放大3v5v比较器JTAG比较器JTAGD触D触发器电平转换/INT0电平转换/INT0GSMGSMUART1 64kFLASHUART1 64kFLASH电平转换256bRAM电平转换256bRAMUART0定时器UART0定时器GPSGPS内部晶振内部晶振VREF0看门狗VREF0看门狗VREFVREF图3-1系统工作原理框图3.2小电接地选线系统数据采集卡的系统组成该系统将采集来的CT电流信号通过模拟通道隔离、滤波、放大,得到稳定的信号,送入C8051F020进行128次A/D转换,把模拟量变成数字量;同时,将采集来的PT电压信号通过模拟通道隔离送入74LS74和F020单片机内的比较器CP0产生整形后的方波。为了测量准确,先后测量八组PT周期值并求出平均值做为PT信号的周期值。然后在片内对信号在一周期内除以128求采样周期。把采样值送给片内定时器T3作为溢出初值,当T3溢出而且收到GPS的1PPS的脉冲时,启动ADC0对处理好的CT信号转换,将128点转换值再进行FFT运算,计算出各点的幅值和相位值存入单片机中。当收到后向系统发来的查询命令时,将规定的几组有效数据通过GSM模块发送出去,使上位机及时判断出故障位置。3.3硬件电路的设计3.3.1电平转换电路的设计众所周知,RS-232C使用-12V表示数字“1”,用+12V表示数字“0”[5],RS-232C在空闲时处于逻辑“1”状态,在开始传送时,首先产生一位起始位,起始位为一个宽度的逻辑“0”,紧随其后为所要传送的数据,所要传送的数据从最低位开始依次送出,并以一个结束位标志该字节传送结束,结束位为一个宽度的逻辑“1”状态。以上信号在通信过程中可以全部或部分使用,最简单的通信仅需TXD、RXD及GND即可完成,其他的握手信号可以做适当处理或直接悬空。MAX引脚图如下:图3-2MAX232引脚图单片机和GSM模块之间使用MAX232芯片。(如下图所示)图3-3单片机和GSM模块间的连接V+、V-是电源变换部分。在实际应用中,器件对电源噪声很敏感。因此,Vcc须要对地加去耦合电容C5,其值为0.1uF。电容C1、C2、C3、C4都选用钽电解电容,电容值为1.0uf,上部分电容C1、C2、C3、C4及VuF(耐高压值高于16V),可以提高抗干扰能力。下半部分为发送和接受部分。实际应用中,T1IN、T2IN和R1OUT、R2OUT可分别连接TTL/COMS电平的51单片机的串行发送端TXD和RXD;T1OUT、T2OUT和R1IN、R2IN分别连接至RS-232电平的GSM模块的串行接收端和发送端[6]。3.3.2测频电路的硬件设计用C8051F020的定时器/计数器对频率为fs的脉冲进行周期测量的接口电路图(3.1所示)。图中的D触发器74LS74实现脉冲频率到周期的转换。其Q输出端作C8051F020的/INT0输入,控制启动T/C0开始定时,即对机器周期脉冲进行记数。当/INT0变为低电平时,关闭T0,同时/INT0下降沿产生中断请求。在/INT0的中断服务程序中,对记数结果进行处理。T0的定时记数值便是周期时间的测量[7]。图图3-4周期测量电路3.3.3C8051F020硬件设计(1)A/D转换的硬件连接ADC0的最大输入电压为VREF,它的输入电压范围是0V-AV+/VDD。输入电容为10pF;输入阻抗等价于一个5kΩ电阻和一个10pF电容的串联。为了使ADC具有更好的性能,可在VREF接一个0.1uF的陶瓷电容,目的是为了降低VREF的噪声。VREF的噪声越小,ADC转换结果的噪声就越小。ADC有4个参考电平引脚,VREF、VREF0、VREF1和VREFD。内部基准电压必须通过VREF引脚连接到芯片内部,所以使用内部基准电压时,必须把VREF0和VREF相连。(2)晶振的选择由于系统需要高速运行以达到数据采集的及时、有效,快速的发现错误,所以单片机在一般情况下采用内部震荡器作为时钟源。但是内部时钟的误差太大,在串口通讯的过程中,要选用外部时钟,其外围硬件连接图如下。内外时钟的切换可以通过软件的设置来实现。图3-5晶振外围电路(3)数字地、电源和模拟地、电源的处理数字地、电源和模拟地、电源的连接是不可忽略的问题,为了减小误差,尽量避免干扰,降低电磁干扰辐射,一般在两者之间连一磁珠或电感,如下图:图3-6数字地、电源和模拟地、电源的连接4软件设计4.1主程及初始化程序框图主流程图初始化流程图开始开始NN系统初始化开始系统初始化开始调用测周期子程开看门狗复位调用测周期子程开看门狗复位关外部晶振关外部晶振R7=0?R7=0?设内部晶振fosc=2MHzY设内部晶振fosc=2MHzY调用求平均子程调用求平均子程交叉开关初始化交叉开关初始化调用求采样值子程调用求采样值子程串口初始化串口初始化T3初始化T3初始化ADC0选为T3溢出启动中断NT3溢出?ADC0选为T3溢出启动中断NT3溢出?T0为方式1,定时器YT0为方式1,定时器YN收到1PPS?N收到1PPS?结束结束YY调用A/D转换调用A/D转换NN(00H)=1?(00H)=1?YYFFT变换FFT变换NY发送数据收到上位机命令?令?NY发送数据收到上位机命令?令?图4-1主流程图及系统初始化图4.2测8次PT周期的软件设计4.2.1测频原理单片机测量频率量有两种方法:测频法和测周期法。测量频率就是在单位时间里对被测信号脉冲进行记数;测量周期是在被测信号周期时间里对某一基准时钟脉冲进行记数。由于采用测量频率法时容易在定时时间里出现脉冲丢失,引起测量精度降低。脉冲频率越低,这种误差越大。显然,对于较低频率的脉冲测量不宜用测量频率法。考虑到具体情况,本实验采用脉冲频率的周期测量法。其基本原理是在被测信号周期T内,对某一基准时间进行记数,基准时间与记数值的乘积便是周期T。周期测量法试用于对较低频率的脉冲进行测量。4.2.2测量过程用C8051F020的定时器/计数器对频率为fs的脉冲进行周期测量的接口电路如图3.1所示。图中的D触发器74LS74实现脉冲频率到周期的转换。其Q输出端作C8051F020的/INT0输入,控制启动T开始定时,即对机器周期脉冲进行记数。fs频率脉冲与周期转换波形见图1。当/INT0变为低电平时,关闭T,同时/INT0下降沿产生中断请求。在/INT0的中断服务程序中,对记数结果进行处理。T的定时记数值便是周期时间的测量。为保证T定时与频率脉冲的上升沿同步,在启动T之前,应先用P1.0将74LS74清0,当被测频率脉冲上升沿来到时,/INT0变为高电平,启动定时器T0.fs/INT0Ts图4-2频率与周期波形图4.2.3PT周期测量程序框图开始开始T0定时、方式1T0定时、方式1GATE=1T0清零T0清零启动T0启动T0存储存储N8组测完?N8组测完?YY返回返回图4-38组PT周期测量程序框图4.2.4测量结果的存储单元分配为了测量准确减小误差,决定测量八组然后求平均。现将测得的八组数据存入内部的f0h~ffh,同时存入外部的0000h~000fh,以备后续处理。4.3对8组PT周期求平均的软件设计为了减小测量误差,采用多次测量求平均方法。将测得的八组PT周期数据逐个累加,和送入R3、R4和R5中,从高到低依次为R3/R4/R5,R2作为数据指针送数据组数8,除数放在R7中,将累加和除以8,得到的平均值存入外部0010h、0011h,同时存入内部f0、f1中,为了观察方便,其中f0为高位,f1为低位。其程序流程图如下:开始开始R2=8初始化R2=8初始化数据指针保持首址保持首址R3、R4、R5清零R3、R4、R5清零累加和送R4、R5累加和送R4、R5N有进位INCR3N有进位INCR3NYR2=0NYR2=0YY恢复首址恢复首址R7=8R7=8作为除数R3R4R5/R7R3R4R5/R7商存R4R5商存R4R5返回返回图4-4求PT平均周期的流程图4.4求采样值的软件设计因为FFT要求在一个周期内均匀采样,采样点数影响到整个系统处理结果的精确程度,考虑到实际需要现决定采样128点。若采用二字节二进制无符号数除以单字节二进制数得到的结果将覆盖平均值,为了观察方便现采用带进位位的循环右移来求采样值,每右移一位即除以二,分128点只需右移7位即可。将求得的平均值存入0012h、0013h中。其程序流程图如下:开始开始R7=07hR7=07hCLRCCLRC均值A均值ARRCARRCANR7=0NR7=0YY返回返回图4-5求采样值的流程图将以上求得的采样值作为T3初值。定时器3是一个16位的计数器/定时器,由两个8位的SFR组成:TMR3L(低字节)和TMR3H(高字节)。定时器3的时钟输入可以是外部振荡器(8分频)或系统时钟(不分频或12分频,由定时器3控制寄存器TMR3CN中的定时器3时钟选择位T3M指定)。定时器3总是被配置为自动重装载方式定时器,重载值保存在TMR3RLL(低字节)和TMR3RLH(高字节)中。定时器3可用于启动ADC数据转换、SMBus定时,或作为通用定时器使用。定时器3没有计数器方式。图4-6T3原理框图本设计中T3作为通用定时器使用,采用内部系统时钟,指令为movTMR3CN,#002h,其fosc=2MHz,即Tclock=1/2MHz=0.5us,此值为十进制而测得的采样值为十六进制,这就要用到进制转换,比较麻烦。因此,决定采用T3计数,尤其是T3具有每次自动赋初值的特点。共需要记(0000h-采样值)个数。4.6CT信号A/D转换的软件设计A/D转换有4种启动方式:软件命令、定时器2溢出、定时器3溢出和外部信号输入。这种灵活性允许用软件事件、外部硬件信号或周期性的定时器溢出信号触发转换。转换结束由一个状态位指示,或者产生中断(如果中断被使能)。在转换完成后,10或12位转换结果数据字被锁存到两个特殊功能寄存器中。这些数据字可以用软件控制为左对齐或右对齐。本设计中采用定时器3溢出启动方式movADC0CF,#0F8h;movADC0CN,#084h,数据字由ADC0CN寄存器中AD0LJST位的编程状态控制为右对齐。AD0BUSY位在转换期间被置‘1’,转换结束后复‘0’。转换数据被保存在ADC数据字的MSB和LSB寄存器:ADC0H和ADC0L。采用ADC0中断。当T3溢出且GPS接收到上位机命令时,ADC0使能进而将CT信号进行AD转换。A/D转换结果存入0014H开始的连续单元中。其程序流程图如下:开始开始T3溢出?NT3溢出?NYYN收到1pps?N收到1pps?YYADC0使能ADC0使能开ADC0中断开ADC0中断AD转换AD转换00H=1N00H=1NYY关ADC0中断关ADC0中断AD复位AD复位返回返回图4-7CT的AD转换流程图4.7FFT4.7.1FFT综述FFT(FastFourierTransform)即快速傅里叶变换,是离散傅里叶变换(DFT)的一种快速算法。完成整个DFT需要N2次复数乘法和N(N-1)次复数加法,而FFT只需要N/2㏒2N次复数乘法和N㏒2N次复数加法,使得计算大大简化,运算时间一般可缩短一、二个数量级。所以本设计中采用FFT,其基本思想为利用系数WPN的对称性、周期性和可约性,可以连续的将长序列的DFT分解为短序列的DFT,直到不能再分解。基于此基本思想FFT算法可以分成两大类,即按时间抽选(decimation-in-time,缩写为DIT)法和按频率抽选(decimation-in-frequency,缩写为DIF)法[8]。FFT处理器按照蝶形运算单元的组织分布不同可分为4类:顺序处理、流水线处理、并行处理和阵列处理[9]。阵列处理和并行处理对硬件设备的需求较大,不适于嵌入式应用实现。流水线处理方案能够适应多批串行数据FFT处理的需要,在通信领域有很多应用,但是结构不灵活,较难满足系统中不同点长度FFT运算的需要,只能根据应用的需求专门设计。顺序处理最容易在单芯片系统上实现,但对于低基的顺序处理FFT处理器来说处理时间太长,较难满足实时系统对性能的追求。如果采用高基的FFT处理器方案,虽然速度上可能能够满足需要,但结构又过于复杂。经综合考虑,本设计中采用倒位序基-2按时间抽选FFT。4.7.2倒位序基-2按时间抽选FFT的基本思想N点FFT运算可以分成㏒2N级,每一级都有N/2个蝶形。DITFFT的基本思想是用3层循环完成N点FFT[10]。第一层循环:由于N=2m需要m级计算,第一层循环对级数进行控制。第二层循环:由于第L级有2L-1个蝶形因子(乘数),第二层循环根据乘数进行控制,保证每一个蝶形因子第三层循环要执行一次,这样第三层循环每一级要进行2L-1次循环计算。第三层循环:由于L级共有N/2L个群,并且同一级内不同群的乘数分布相同,当第二层循环确定某一乘数后,第三层循环要将本级中具有这一乘数的蝶形计算一次,即第三层每执行一次要进行N/2L个蝶形运算。在实际单片机编程中,可以通过实数蝶形运算算法推导FFT结果。蝶形图如下:X’(K)X(K)WPNX’(K+B)X(K+B)图4-8蝶形图4.7.3FFT软件流程图将数存入dataR[],dataI[]初始化为0将数存入dataR[],dataI[]初始化为0倒序转换幅值、相位计算结束第一层控制运算级数完第二层据乘数控制完第三层计算同一乘数蝶形32次以下谐波分析YYYNNN开始图4-9FFT计算流程图4.8GSM模块介绍4.8.1GPRS无线数传模块返回信息1.正常发送数据时,GPRS模块会返回如下信息(4+11个字节),格式为ASCII:> 发送好HEX:0DH、0AH、3EH、20H 0DH、0AH、53H、45H、4EH、44H、20H、4FH、4BH、0DH、0AHGPRS模块接收到终端设备传过来的数据时,会返回“>”,告诉终端设备GPRS模块已经接收完数据;当GPRS模块把数据发送出去后,会返回“发送好”,告诉终端设备数据已经发送出去。2.如果GPRS模块端检测到数据中心正常停止服务,会返回9个字节信息,格式ASCII:\r\nCLOSE\r\nHEX:0DH、0AH、43H、4CH、4FH、53H、45H、0DH、0AH3.如果数据中心因无线调制解调器断电或数据中心服务器突然停机等意外情况而终止服务,会返回9个字节信息,格式ASCII:\r\nERROR\r\nHEX:0DH、0AH、45H、52H、52H、4FH、52H、0DH、0AH4.如果GPRS模块检测到现场GPRS信号不好,会返回7个字节信息,格式:ASCII:\r\nPDP\r\nHEX:0DH、0AH、50H、44H、50H、0DH、0AH5.GPRS模块会每隔一段时间(时间可配置)发送一些信息来检测网络状态,当检测到网络正常,会返回16个字节信息。网络异常情况参考2、3、4的信息。格式:ASCII:\r\nSENDSUCCESS\r\nHEX:0DH、0AH、53H、45H、4EH、44H、20H、53H、55H、43H、43H、45H、53H、53H、0DH、0AH6.GPRS在与数据中心连接过程中还有一些提示信息,如:搜索GPRS网络...\r\n连接到DSC...\r\n连接好!\r\n等等这些信息,终端设备可不予处理。4.8.2通讯协议:上传数据格式:起始符53S为ASCII码(下同)起始符54T起始符52R分隔符,地址(百位)地址(十位)地址(个位)分隔符,开关量1分隔符,开关量2分隔符,电压U1(百位)电压U1(十位)电压U1(个位)分隔符,电压U2(百位)电压U2(十位)电压U2(个位)分隔符,电压U3(百位)电压U3(十位)电压U3(个位)分隔符,电流I1(百位)电流I1(十位)电流I1(个位)分隔符,电流I2(百位)电流I2(十位)分隔符,电流I3(百位)电流I3(十位)电流I3(个位)分隔符,电压U1(百位)电压U1(十位)电压U1(个位)分隔符,……20次…分隔符,1BESC1BESC1BESC下传数据格式:序号定义格式1S(开始)53H2立即上传/否31H:立即上传30H:否3定时时间(分)百位4定时时间(分)十位5定时时间(分)个位6开关控制高4位0011P07P06P05P047开关控制低4位0011P03P02P01P008ESC(结束)1BH4.9交叉开关配置和串口分配利用指令movXBR0,#084h (UART0的RX0、TX0,CP0连到端口引脚),movXBR1,#004h(T0、/INT0连到端口引脚),movXBR2,#040h (交叉开关允许,UART1的RX1、TX1连到端口引脚)设置引脚配置。C8051F020的两个串行通信接口UART0和UART1,分别用于连接到GSM模块和GPS模块,通过优先权译码表得到引脚分配,系统将P0.2和P0.3分别给UART1端口的TDX和RDX,而P0.1和P0.2分别给UART0端口的TDX和RDX。把P3.4作为1PPS脉冲的输入口。P0.4分给CP0,P0.5分给T0,P0.6分给/INT0。系统的抗干扰在单片机的应用系统中,系统的抗干扰技术是系统可靠性的重要方面。一个系统的正确与否,不仅取决于系统的设计思想和方法,同时还取决于系统的抗干扰措施,不然势必会出现原理正确而系统稳定性差,甚至不能实施,使得耗费了大量钱财和时间研制出来的控制系统成为一种摆设,电脑变成了“烦恼”。正因如此,抗干扰技术的研究越来越引起大家的高度重视。5.1单片机系统中硬件抗干扰设计一个好的电路设计,应在设计过程中充分考虑抗干扰性的要求。分析系统中可能引起干扰的部件,采取必要的硬件抗干扰措施,抑制干扰源、切断干扰传播途径。本设计中的硬件抗干扰措施主要有一下几点:一、为了避免电磁干扰,数字地、模拟地之间和数字电源、模拟电源之间接一磁珠。二、在焊电路板时,为了减小彼此间干扰,数字地、电源和模拟地、电源应尽量相隔远一点。三、为了避免静电干扰,对未用到的IO口通过电阻下拉到地,未用的模拟输入也要接地。5.2单片机系统中的软件抗干扰设计一般来讲,窜入微机测控系统的干扰,其频谱往往很宽,采用硬件抗干扰措施,只能抑制某个频率段的干扰,仍有一些干扰会进入系统。因此,除了采取硬件抗干扰方法外,还要采取软件抗干扰措施。本设计中主要采取的软件抗干扰措施如下:一、在测量PT周期时,为了减小由于干扰引入的误差,采用多次测量求平均的方法,共测得8组,然后求平均即得PT周期。二、为了防止系统失控、程序进入死循环,采用看门狗复位电路,通过周期性的写入MOVWDTCN,#0A5指令,可防止看门狗溢出,重新启动和允许看门狗。三、为了提高ADC0的灵活性,通过VREF引脚选用内部时钟。但是内部时钟的误差太大,在串口通讯的过程中,要选用外部时钟。可用软件实现内、外部时钟的切换。四、不用的代码空间全部清0,这样可在程序跑飞后再重新运行。6软硬件调试6.1调试环境C8051F020具有片内JTAG边界扫描和调试电路,通过4脚JTAG接口并使用安装在计算机上就可以进行非侵入式、全速的在系统调试。该JTAG接口完全符合IEEE1149.1规范,为测试提供完全的边界扫描功能。适配器(EC2)一端与计算机相连,另一端与C8051F单片机JTAG口相连。应用Cygnal提供的IDE调试环境或Keil的uVision2调试环境就可以进行非侵入式全速的在系统编程。开发工具与PC机硬件连接:将JTAG扁平电缆与串行示配器EC2连接将JTAG扁平电缆的另一端与目标系统连接将RS232串行电缆的一端与EC2连接连接RS232串行电缆的另一端到PC给目标系统上电插入CD并运行SETUP.EXE将IDE软件安装到您的PC机在PC机的开始菜单的程序项中选择CygnalIDE点击Cygnal图标运行IDE软件图6-1开发工具与PC机的硬件连接下面重点介绍模拟输入输出口J11和J20:所有的模拟信号都被连到连接器J24此外有几个模拟信号还被引到J20插线排上.表6-1是J20插线排的说明,跳接插块J11为连接DAC0和DAC1输出到不同的模拟输入提供了方便.只需在J11相邻的插针即DAC输出与模拟输入之间上安置一个短接块就可以完成这一功能.表6-2为J11引脚的定义表6-1J20插线排表6-2J11跳接插块6.2调试步骤根据画好的电路原理图连接好电路,利用实验室的计算机、C8051F020仿真器、可调信号源、示波器来对软、硬件进行调试。采用分步、分块调试的方法进行调试。调试步骤如下:一、前向通道的调试先断开74LS74与放大电路的连接,输入TTL信号,用示波器观察输出为稳定的二分频信号,则说明74LS74正常工作。将模拟峰峰值为1V左右、频率小于250Hz的正弦信号作为放大电路的输入信号,在输出端观察波形为幅值放大的正弦波,则放大电路正常工作。二、A/D及比较器的调试将C8051F020的串口与计算机连好,并点击软件连接。将峰峰值为1V左右、频率小于250Hz、且加直流电平的正弦信号送入A/D的AIN0.0口及CP0口,P0.4的输出接74LS74的输入,74LS74输出接P0.6(/INT0)用示波器观察输出为稳定的方波,则正常工作。6.3调试过程中出现的问题一、在一开始调试前向放大电路时,输入信号通过放大器LM324后信号消失。原因是放大器后所接的两个电容组成的滤波电路将信号滤掉了,应将电容取掉。二、二分频后信号周期性倒相,原因是没有及时周期性的加入看门狗复位指令MOVWDTCN,#0A5。7经济技术分析经过这段时间的方案论证和紧张设计,我们设计的小电流数据采集系统已见雏形。它已经达到了预期要求的效果,可以说,该设计在理论上是可行的。下面对小电流数据采集系统从技术、经济、效益等方面进行可行性分析。7.1技术分析小电流非接地数据采集系统的硬件以及外围电路各部分的作用及工作过程如下:PT、CT→隔离放大电路→滤波整形电路→测频电路→电平转换电路→C8051F020单片机→GPS模块→GSM模块→上位机隔离放大电路:将采集来的弱PT/CT信号隔离干扰并适当放大。滤波整形电路:将基波和五次谐拨波以外的波滤除,以送后向处理。测频电路:对输入信号进行二分频,然后能够准确、方便的测出信号的周期电平转换电路:主要是通过MAX232电平转换芯片来实现将RS232电平与TTL电平的相互转换。C8051F020单片机:主要对输入的模拟信号进行模数转换、过零比较,并进行FFT计算,得到所需的幅值和相位储存起来。GPS模块:运用全球定位系统,收到1PPS的脉冲时,单片机发送数据给上位机。GSM模块:将采集并计算好的数据通过无线通信网络GSM模块来实现无线传输。经过上述多级数据传输的分析,我们可以看出完全可以实现数据采集及处理、发送的功能。7.2经济分析7.2.1设计投资及成本分析小电流非接地数据采集卡的硬件主要包括:LM324、MAX7400、MAX232、74LS74、C8051F020、GSM模块等。由于C8051F020的兼容性,我们省去了单独购买A/D转换器、EPROM、DSP器件、看门狗的费用,使成本大大降低,提高了数据采集卡的性价比。7.2.2效益分析通过使用小电流非接地数据采集卡,我们可以及时跟踪了解电力系统的故障情况,一旦发生故障,我们能及时的将数据发送出去,使上位机能及时、有效、准确的选线以找到故障位置并进行处理,实时性好,节省了人力、物力和财力,克服了人工查询所带来的弊端,给电力系统带来巨大的经济效益。结论通过对本课题的设计,我又接触了很多芯片并学习了很多新知识。学会了把理论知识运用于实践,掌握了进行系统设计的基本流程及注意事项。为我今后的工作和学习积累了丰富的经验。在硬件的设计中,我掌握了C8051F020的A/D转换、看门狗、比较器的运用,我还学会了74LS74的分频原理,MAX7400,LM2324的硬件原理。还对RS232的串口标准及电平转换芯片MAX232的内部结构、外围电路和转换原理有了更深入的了解。还对GSM、GPS模块有了很深的了解。在软件的设计中我掌握了C8051F020的指令格式、内存分布及各种寄存器等,学会了ADC0的工作原理,对单片机有了进一步的了解。我还掌握了测量一个波形的周期,求FFT的采样值及FFT的工作原理及单片机实现。此外,我还了解了GSM模块的原理及通信协议。在软硬件调试中,学会了一个设计的调试方法及调试过程。并从中积累了很多经验。在此期间,我熟练掌握了protel99制图工具,能运用它完成原理图及PCB板的制作,还学会了自己来创建元件库。通过该设计,我对单片机和FFT有了更进一步的了解,并把理论和实践想统一,为以后积累了丰富的经验。参考文献1杨刚,周群.电子系统设计与实践[M].电子工业出版社.2004,220~2242张志恒,刘爱中,郑纪平.开关电容滤波器的设计与应用[J].电力学报.2002,(1):40~453潘琢金.C8051Fxxx高速SOC单片机原理及应用[M].北京航空航天大学出版社.2002,1~4004求是科技.单片机典型模块设计实例导航[M].人民邮电出版社.2005,426~4295胡汉才.单片机原理及接口技术[M].清华大学出版社.1996,352~3546赵负图等.数据采集与控制系统[M].北京科学技术出版社.1987,202~2067田良等.综合电子设计与实践[M].东南大学出版社.2002,402~4048程佩青.数字信号处理教程[M].清华大学出版社.2003,138~1589OppenheimAV,SchaferRW.DigitalSignalProcessing[M].PrenticeHall,Inc,1975,397~40810肖宛昂.嵌入式系统中FFT算法研究[J].单片机与嵌入式系统应用.2002,68~6911何立民.单片机应用系统技术[M].北京航空航天大学出版社.1990,198~20612潘永雄,沙河,刘向阳.电子线路CAD实用教程[M].西安电子科技大学出版社.2000,302~30613Rao.GuthikondaV.Microprocessorsandmicrocomputersystem[M].VanNostrandReinholdCompany,1982,406~50214李华.MCS-51系列单片机实用接口技术[M].北京航空航天大学出版社.1993,102~12015刘星等.计算机接口技术[M].机械工业出版社.2003,203~220致谢经过了3个多月的毕业设计,我的动手能力有了很大提高,并使我的专业理论知识很好的运用到实践中。通过这整个的设计过程,我学会了设计一个项目要进行方案论证、器件选择、经济技术分析和社会效益评估等,尤其是张玉茹老师那敏锐的思维和严谨的态度使我受益匪浅,此外张老师的“没病不死人”和“成功往往在再坚持一步”这两句名言使我终身难忘。这些都对我今后的工作和学习有很大的帮助。在此,要特别感谢以下老师和同学:感谢张玉茹老师在理论和实践上的指导和帮助。感谢实验室张春山和毕忠琴老师在技术上的指导和设备上的支持。感谢同组孙静怡同学对我的帮助和愉快合作。最后,再次感谢我的指导老师给我的指导。相信这次设计对我今后的人生历程是不可多得的财富。附录1文献译文用过采样和求均值提高ADC分辨率引言很多应用需要使用模/数转换器ADC进行测量。这些应用所需要的分辨率取决于信号的动态范围必须测量的参数的最小变化和信噪比SNR。因此很多系统使用较高分辨率的片外ADC,然而也可以通过使用一些技术来达到较高的分辨率和SNR。本文介绍用过采样和求均值的方法来提高模数转换的分辨率和SNR。过采样和求均值技术可以在不使用昂贵的片外ADC的情况下提高测量分辨率本文讨论如何使用过采样和求均值的方法来提高模/数转换ADC测量的分辨率。关键点可用过采样和求均值技术提高测量分辨率不必采用昂贵的片外ADC过采样和求均值对SNR和测量分辨率的改善是以增加CPU时间和降低数据吞吐率为代价的对于白噪声的情况过采样和求均值可以改善信噪比数据转换器噪声源ADC转换时可能引入很多种噪声。例如:热噪声、杂色噪声、电源电压变化、参考电压变化、由采样时钟抖动引起的相位噪声以及由量化误差引起的噪声。由量化误差引起的噪声通常被称为量化噪声。这些噪声源的噪声功率是可以变化的,有很多技术可用于减小噪声。例如精心设计电路板和在参考电压信号线上加旁路电容。但是,ADC总是存在量化噪声。所以,一个给定位数的数据转换器的最大SNR由量化噪声(不使用过采样技术时)定义。在正确的条件下,过采样和求均值会减小噪声和改善SNR,这将有效地提高测量分辨率的位数。图1所示的系统可以用Cygnal的片内ADC和一个软件子程序来实现,软件程序先采样一组样本,然后求这些样本的平均值(滤波)而得到结果。提高ADC测量的分辨率很多应用需要测量大动态范围的信号值,还可能需要用高分辨率测量某个参数的微小变化。例如,ADC要测量很大的温度范围,还要求系统对小于1度的变化做出响应,这样的系统可能需要16位的测量分辨率。使用Cygnal的片内12位ADC,并采用过采样和求均值技术即可达到以16位分辨率测量某个参数的目的,而不必使用昂贵的片外16位ADC。某些应用要使用ADC分析带有高频成分的信号,这样的系统也会从过采样和求均值技术受益,根据奈奎斯特定理所要求的采样频率为奈奎斯特频率:fn=2·fm其中fm是输入信号的最高频率方程1.奈奎斯特频率采样频率fs高于fn则为过采样过采样能提高测量分辨率。根据要增加的分辨率计算过采样率为了增加有效位数,ENOB信号被过采样或者说ADC以高于系统所需采样频率fs的速率对信号采样。所需要的采样频率由系统对参数测量所要求的频度(输出数据字的速率)决定,或者是奈奎斯特频率fn。每增加一位分辨率信号必须被以4倍的速率过采样:其中w是所希望增加的分辨率位数fs是初始采样频率要求fos是过采样频率方程2.增加测量分辨率的过采样频率假设一个系统使用12位的ADC,每秒输出一个温度值1Hz,为了将测量分辨率增加到16位我们按下式计算过采样频率:因此,如果我们以fs=256Hz的采样频率对温度传感器进行过采样,我们将在所要求的采样周期内收集到足够的样本。对这些样本求均值,便可得到16位的输出数据。为此我们先累加将256个连续样本加在一起,然后将总和除以16或将总和右移4位,这样的过程通常被称为抽取。这样得到的结果是16位的有用数据,所做的操作被称为累加和转储。一旦我们计算得到由256个样本(对本例而言)所产生的结果,我们将对数据进行保存或处理,然后开始为下一个输出字采集样本。注:用于累加过采样数据和进行除法运算的存储器单元的字节数必须足够多,以免发生溢出或截断错误。根据要增加的SNR计算过采样率在不进行过采样和求均值时,ADC测量的SNR理论极限是由模数转换过程中固有的量化噪声决定的。因为量化误差取决于ADC的分辨率位数(见方程5)。所以最好情况下的SNR值是数据转换有效位数的函数,计算公式如下:其中ENOB是测量值的有效位数方程3.SNR为ENOB的函数方程3对满度输入有效,这就是说输入信号的动态范围必须与ADC的参考电压一致,否则实际SNR比用方程3计算出来的值要低。如果用于测量某个参数的ADC是12位的,并且不采用过采样技术,则最佳SNR值

(方程3计算)为74dB。如果我们想得到更高的SNR,则必须根据给定的SNR用方程3计算所需要的ENOB,一旦我们知道所要求的ENOB,即可用方程2计算所需要的过采样频率。例如,如果一个给定应用所要求的SNR为90dB,则我们至少需要16位的分辨率。使用一个12位的ADC并根据方程2计算,我们知道必须以256倍的频率进行过采样。过采样和求均值法何时有效过采样和求均值法的有效性取决于主要噪声源的特性,最关键的要求是噪声源应为白噪声。噪声必须逼近白噪声在整个有用频带内具有平均分布的功率谱密度噪声幅度必须足够大能引起输入信号样本之间的随机变化变化幅度至少为两个相邻代码之间的距离输入信号可以用一个在两个相邻ADC代码之间具有等概率分布的随机变量表示注:过采样和求均值不能补偿ADC的积分非线性误差INL过采样和求均值技术对相关或不能用白噪声模拟的噪声,例如,反馈系统的噪声不起作用。另外,如果量化噪声的功率大于自然白噪声,例如,热噪声过采样和求均值技术也不会奏效。ADC的分辨率较低时就属于这种情况,大多数使用12位ADC的应用都可以从过采样和求均值技术获益。实例根据方程2过采样率为256所提供的代码,将256个连续的ADC样本累加到变量accumulator,在完成累加后又将accumulator右移4位并将结果存入变量result中。在得到计算结果后,accumulator被清空清0,准备进行下一次计算。对ADC样本的累加是在ADC转换完成中断服务程序(ADC_isr)中完成的。分辨率提高我们使用过采样和求均值技术,将对温度传感器的测量精度从12位提高到16位。让我们对温度测量中的分辨率提高进行一下比较。片内温度传感器的满度

温馨提示

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

评论

0/150

提交评论