profibus现场总线技术在智能电力仪表中的分析应用

profibus现场总线技术在智能电力仪表中的分析应用

ID:32013994

大小:3.87 MB

页数:87页

时间:2019-01-30

上传者:U-22505
profibus现场总线技术在智能电力仪表中的分析应用_第1页
profibus现场总线技术在智能电力仪表中的分析应用_第2页
profibus现场总线技术在智能电力仪表中的分析应用_第3页
profibus现场总线技术在智能电力仪表中的分析应用_第4页
profibus现场总线技术在智能电力仪表中的分析应用_第5页
资源描述:

《profibus现场总线技术在智能电力仪表中的分析应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

ADissertationSubmittedtoShanghaiJiaoTongUniversityforMasterDegreeofEngineeringTHERESEARCHANDAPPILCATIONOFINTELLIGENTELECTRICALINSTRUMNETBASEDONPROFIBUSAuthor:::JiabinXuSpecialty:ControlEngineeringAdvisorⅠⅠⅠ:AssociateProf.WeiWangAdvisorⅡⅡⅡ:SnEngr.LanPengShanghaiJiaoTongUniversityShanghai,P.R.ChinaMarch15,2013第2页万方数据 万方数据 万方数据 上海交通大学工程硕士学位论文摘要ProfibusProfibus现场总线技术在智能电力仪表中的研究应用Profibus现场总线技术在智能电力仪表中的研究应用现场总线技术在智能电力仪表中的研究应用现场总线技术在智能电力仪表中的研究应用摘摘摘摘要要要要智能电力仪表具有多功能,智能化,具备远程通信接口以及模块化等特点,所以其是智能电网监控系统的重要组成部分,对于实现智能电网安全和经济的运行具有重要的意义。Profibus现场总线技术相较于其他远程通信方式具有国际化、开放式以及不依赖生产设备商等特点,因此将高速度低成本的Profibus总线技术应用于智能电力仪表设计中,能够满足智能电力仪表的特点,并且更加安全准确的实现远程通信。本文主要就是将智能电力仪表的设计与Profibus总线技术相互结合。本文设计了一款具有Profibus通信接口的智能三相电力仪表。论文首先介绍了基本电力参数的测量原理和电力系统的谐波分析原理。其次论文对目前国内外常见电力监控装置的结构进行了分析和比较,并在此基础上设计了一种基于CPU加专用电能计量芯片ATT7022B的多功能电力监控装置。本文对ATT7022B的各项技术参数以及相关应用实现进行了详细的阐述。另外本文采用高性能低功耗的ATmega128/128L芯片作为CPU,它主要完成对ATT7022B芯片的电力参数测量值的读取,电压电流瞬时波形的采集与谐波分析等其他监控功能。为了实现将Profibus总线技术应用到智能三相电力仪表中,本设计选用SPC3芯片,SPC3是一款Profibus专用芯片,选用其的目的是因为SPC3向CPU提交数据请求时将相应CPU内部寄存器的数据发送给SPC3,SPC3会自动打包成符合Profibus协议的数据帧发给上位机,不需用软件完成Profibus协议,因此软件设计大大简化了。论文中硬件电路的设计工作分为计量模块、主控制模块和通讯模块三个部分,并结合设计原理图分别介绍了这三部分的工作原理。然后对智能三相表进行了软件系统设计,这个部分包含有μC/OS-Ⅱ系统的移植,系统驱动程序的设计,仪表应用程序的设计以及本文中的重点针对SPC3芯片功能实现的程序设计。第I页万方数据 上海交通大学工程硕士学位论文摘要最后对智能三相表的软、硬件做了调试并进行了校准和初步的实验,结果表明装置运行稳定,实现了对电网电力参数的精确测量和波形的实时谐波分析,基本符合预期的设计要求。关键词:::智能电力仪表,ATT7022B,ATmega128/128L,SPC3,谐波分析,μCOS-:Ⅱ,ATT7022B的校准。第II页万方数据 上海交通大学工程硕士学位论文ABSTRACTTHERESEARCHANDAPPILCATIONOFINTELLIGENTELECTRICALINSTRUMNETBASEDONPROFIBUSABSTRACTTheintelligentelectricalinstrumentiskindofmulti-function,modularandintelligentdevicethathasremoteinterface,thereforetheintelligentelectricalinstrumentisanimportantpartinthepowermonitorsystermandissignificanttothesafety,efficientyandeconomyofpowergrid.Comparedtootherbuscommunicationsysterms,Profibusistechnologyofcommunicationnetworkwhichisopenandindependentontheequipmentmanufacturer.Therefore,theProfibusasthecommunicationprotocolwithhighspeedanddlowcostisusedintheequipmentdesignoftheintelligentelectricalinstrument,theremotecommunicationoftheintelligentelectricalinstrumentwillbeimprovedmorestableandfaster.ThisthesisisfocusedontheresearchandapplicationoftheintelligentelectricalinstrumentbasedontheProfibus.Thethesisfirstintroducesthemeasurementtheoryofbasicelectricalparametersandtheprinciplesoftheharmonicanalysisinthepowersysterm.Then,byanalyzingandcomparingthesystermstructureofthecommonlyuseddomesticandoverseapowermonitoringdevices,itproposesakindoftheintelligentelectricalinstrumentbasedonCPUandenergymeteringICATT7022B.ThethesisintroducesthetechnicalparametersandapplicationofATT7022B.Thehigh-performanceandlow-powerATmega128/128Lmicrocontrollerisusedasthemaincontrolchip,whichrealizesdatafromATT7022B,instantaneouswaveformcaptureandharmonicanalysisandothermonitorfunctions.Inaddition,SPC3isusedastheappropriativeProfibusIC.SPC3cancommunicatewithCPU,packagethedataasProfibusprotocolandsendthemtotheuppercomputerautomaticallytosimplifythesoftwaredesign.Thedetailschematicdiagramofthedevicehardwareispresentedinthethesis,whichcomprisesthemeasuremodule,themaincontrolmoduleandthecommunicationmodule.Afterthat,itpresentsthesoftwaredesignofdevice,portingembeddedtherealtimeoperatingsystermµC/OS-IItoATmega128/128L,establishingdevicedriversoftwareanddevicefunctionsoftwareespeciallySPC3functionsoftwaredesign.Finally,thecalibrationofthedeviceisimplementedandthepreliminaryexaminationofstabilityandcommunitionspeedforthedeviceisdone.Theresult第III页万方数据 上海交通大学工程硕士学位论文ABSTRACTshowsthatthesystermisreliable,itcancompletethefunctionsofharmonicanalysisandaccuratebasicpowerparametersmeasurementandsatisfytheexpecteddesignrequirement.Keywords:Intelligentelectricalinstrument,ATT7022B,ATmega128/128L,SPC3,µC/OS-Ⅱ,calibrationofATT7022B.第IV页万方数据 上海交通大学工程硕士学位论文目录目目目目录录录录摘摘摘要要要.................................................................................................................................IABSTRACT..................................................................................................................III首字母缩写语表..............................................................................................................1表格目录..........................................................................................................................2图片目录..........................................................................................................................3第一章绪论....................................................................................................................41.1课题研究的背景以及意义.....................................................................................41.2智能电力仪表的研究现状以及PROFIBUS在其中的应用现状..............................51.3课题研究内容.........................................................................................................7第二章PROFIBUS-DP通讯协议原理以及电力参数测量原理...................................82.1PROFIBUS-DP通讯原理...........................................................................................82.1.1概述.................................................................................................................82.1.2PROFIBUS-DP协议结构.................................................................................82.1.3PROFIBUS-DP数据通讯协议.........................................................................82.1.4PROFIBUS现场总线通信..................................................................................................102.2电力参数测量原理................................................................................................112.2.1电压、电流有效值的采样测量.......................................................................112.2.2功率测量.........................................................................................................122.2.3电能测量.........................................................................................................132.2.4功率因素的测量.............................................................................................132.2.5频率测量.........................................................................................................142.3电力系统谐波分析算法.......................................................................................142.4本章小结..............................................................................................................16第三章智能电力仪表的硬件实现.............................................................................173.1智能电力仪表功能分析.......................................................................................173.2智能电力仪表的硬件总体设计............................................................................183.3计量模块..............................................................................................................193.3.1电力计量专用芯片.........................................................................................193.3.2ATT7022B芯片的外围电路............................................................................21第V页万方数据 上海交通大学工程硕士学位论文目录3.4CPU模块..............................................................................................................243.4.1AVRAtmage系列单片机简介.........................................................................243.4.2AVRAtmage系列单片机寄存器结构.............................................................253.4.3AVRAtmage系列单片机的选型.....................................................................303.4.4Atmega128/128L芯片介绍.............................................................................313.4.5系统时钟电路.................................................................................................333.4.6JTAG接口电路...............................................................................................333.4.7RTC电路........................................................................................................343.5通讯模块..............................................................................................................353.5.1PROFIBUS专用通讯芯片介绍......................................................................353.5.2SPC3通讯接口的防雷击电路........................................................................383.6本章小结..............................................................................................................39第四章智能电力仪表的软件设计.............................................................................404.1UC/OS-Ⅱ在ATMEGAL128单片机上的移植和开发.................................................404.1.1uC/OS-Ⅱ嵌入式实时操作系统简介..............................................................404.1.2Atmega128的中断响应机制...........................................................................414.1.3将uC/OS-Ⅱ移植到Atmega128单片机上.....................................................424.2硬件驱动程序的编写...........................................................................................474.2.1SPI总线驱动..................................................................................................474.2.2I/O口驱动......................................................................................................524.3智能电力仪表的应用程序设计............................................................................534.4智能电力仪表的PROFIBUS通讯协议程序设计...................................................554.4.1SPC3初始化函数...........................................................................................554.4.2诊断数据的发送.............................................................................................574.4.3SPC3的中断程序设计...................................................................................584.4.4上位机与SPC3数据通讯的程序实现...........................................................604.4.5电子设备数据文件GSD的编制...................................................................624.5本章小结..............................................................................................................63第五章智能电力仪表的测试.....................................................................................645.1智能三相表的校准...............................................................................................645.2智能三相表精度测试...........................................................................................665.3智能三相表的通讯测试评估...............................................................................675.4智能三相表界面介绍...........................................................................................715.5本章小结..............................................................................................................73第六章总结及展望.....................................................................................................74第VI页万方数据 上海交通大学工程硕士学位论文目录参参参考考考文文文献献献..................................................................................................................76附录1符号与标记........................................................................................................78致致致谢谢谢..........................................................................................................................79攻读硕士学位期间已发表或录用的论文......................................................................80第VII页万方数据 上海交通大学工程硕士学位论文首字母缩写语表首字母缩写语表首字母缩写语表首字母缩写语表DSPDSPDigitalsignalprocessor,数字信号微处理器;DSPMCUMCUMicrocontrolunit,微控制单元;MCUUARTUARTUniversalAsynchronousreceiver/transmitter,UART异步收发器;ASICASICApplicationspecificintegratedcircuit,专用集ASIC成电路;DDLMDDLMDirectdatalinkmapper,直接数据链路映像程序;DDLMSPISPISerialperipheralinterface,串行外围设备接口;SPIRISCRISCReducedinstructionsetcomputing,精简指令集;RISCRTCRTCReal-Timeclock,实时时钟;RTCCMOSCMOSComplementarymetalOxidesemiconductor,互补金CMOS属氧化物半导体;SPC3SPC3Simensprofibuscontroller,profibus-DP开放式工业SPC3现场总线智能接口芯片;第1页万方数据 上海交通大学工程硕士学位论文表格目录表格目录表格目录表格目录表2-1Profibus-DP协议结构……………………………………………………………...….....................8表3-1ATmage8状态寄存器……………………………………………………………...…......................25表3-2ATmage8中断控制寄存器……………………………………………………………...….............25表3-3ATmage8I/O特殊功能寄存器………………………………………………………………........25表3-4ATmage8T/C0控制寄存器……………………………………………………………...…............26表3-5ATmage8寄存器bit位介绍…………………………………………………………….................26表3-6ATmage8定时计数器中断屏蔽寄存器………………………………………………………....26表3-7ATmage8定时计数器中断标志寄存器……………………………………………………….....26表3-8ATmage8SPI控制寄存器……………………………………………………………...…..............27表3-9ATmage8SPI状态寄存器……………………………………………………………...….............27表3-10ATmage8USART数据寄存器………………………………………………………………...........28表3-11ATmage8USART控制状态寄存器UCSRA………………………………………………………28表3-12ATmage8USART控制状态寄存器UCSRB………………………………………………………28表3-13ATmage8USART控制状态寄存器UCSRC………………………………………………………29表3-14ATmage8模数转换功能ADC有关的I/O寄存器……………………………………………..29表3-15ATmage8ADC控制和状态寄存器……………….………………………………………………29表3-16ATmage8ADC数据寄存器…………………………………………………………………………30表3-17ATmage8EEPROM地址寄存器……………………………………………………………………30表3-18ATmage8EEPROM控制寄存器……………………………………………………………………30表3-19JTAG接口引脚定义………………………………………………………………………………….34表5-1频率测试值………………………………………………………………………………………...…66表5-2电压有效值测试值……………..………………………………………………………………...…66表5-3电流有效值测试值………………..……………………………………………………………...…66表5-4功率因素测试值………………………...………………………………………………………...…67表5-5有功功率测试值……………………………………………...…………………………………...…67表5-6谐波测试值………………………………………………………………………………………...…67表5-7智能电力仪表与上位机通讯检测结果……………………………………………………….…69第2页万方数据 上海交通大学工程硕士学位论文图片目录图片目录图片目录图片目录图2-1电压,电流有效值测量示意图……………………………………………………………...…......11图2-2ATT7022B有功功率测量示意图……………………………………………………………...…...12图2-3ATT7022B无功功率测量示意图……………………………………………………………...…...13图3-1智能电力仪表功能示意图……………………………………………………………...….............17图3-2智能电力仪表硬件结构示意图……………………………………………………………...…....18图3-3ATT7022B芯片七路模拟输入电流与电压通道示意图………………………………………21图3-4电流前端采样电路示意图……………………………………………….……………...…............21图3-5ATT7022B外围电路示意图…………………………………..………………………...…..............22图3-6ATmage128/128L时钟电路示意图…………………………………………………………….....33图3-7JTAG接口电路示意图……………………………………………………………...….....................34图3-8RTC电路示意图……………………………………………………………...…................................35图3-9SPC3与ATmage128/128L连接示意图……………………………………………………………37图3-10SPC3通讯接口防雷击电路示意图………………………………………..……………….…......38图4-1ATmage128/128L中断程序示意图…………………………………………………………….....42图4-2INCLUDES.H文件……………………………………………………………...…..............................44图4-3OS_CPU.H文件……………………………………………………………...…...................................45图4-4OS_CPU_C.C文件……………………………………………………………...…..............................46图4-5SPI数据传输时序图……………………………………………………………...….......................47图4-6主机与SPI从机字节传输的软件实现示意图…………………………………………………48图4-7SPI读操作时序图……………………………………………………………...…............................49图4-8ATT7022B的SPI方式下寄存器的读操作流程图…………………………………………….50图4-9SPI方式下寄存器读函数为Read_SPI示意图………………………………………………..51图4-10SPI写操作时序图…………………………………………………………...….................................51图4-11SPI方式下寄存器写函数为Write_SPI示意图……………………………………………….52图4-12I/O读操作示意图…………………………...………………………………...….............................53图4-13I/O读操作程序示意图……………………………………………………………...…...................53图4-14ATT7022B初始化及校准流程示意图……………………………………..…………………......54图4-15SPC3初始化流程图………………………………………………………….…...…........................56图4-16SPC3中断流程示意图…………………………………………………………......…......................59图5-1通讯速率验证流程图……………………………………………………………...…......................69图5-2上位机电压监控图……………………………………………………………...…..........................70图5-3上位机电流监控图I……………………………………………………………...….......................70图5-4上位机电流监控图II……………………………………………………………...….....................71图5-5Profibus地址设置……………………………………………………………...….........................71图5-6波特率设置……………………………………………………………...…........................................72图5-7接线方式设置……………………………………………………………...…....................................72图5-8电压及频率……………………………………………………………...…........................................73第3页万方数据 上海交通大学工程硕士学位论文第一章绪论第一章绪论绪论绪论绪论本章将要探讨智能电力仪表的研究意义,以及阐述其目前的发展状况。并详细介绍了本文将要完成的研究设计工作,提出了本文需要完成的设计目标等内容。除此之外,本章还介绍了论文各个章节的大致结构和研究内容。1.11.1课题研究的背景以及意义1.1课题研究的背景以及意义课题研究的背景以及意义课题研究的背景以及意义电力资源相比于其他能源,具有大规模和大范围的开发消纳,以及远距离传输等特点。智能电网是目前能够满足上述特点的最理想的方式,这是因为智能电网具备有满足用户的多样化需求,有利于电力资源优化配置以及为电力资源的集约化提供发展平台等优势。智能电网的建设将为我国经济发展方式转变提供重要的实践机遇。这一点表现在以下两个方面:(1)智能电网能够带动通讯等高科技产业链的发展,协助整合调整整个产业结构,从而达到装备升级以及促进技术进步等目的。(2)智能电网能够促进制造等传统产业的良性发展,同时由于发展智能电网需要在关键技术领域的研究中立足于自主创新,这也为自动化、通讯等新兴产业的发展提供了广阔的平台。作为电网中的二次设备,本文所要论述的智能三相表具有测量各类电力参数的功能,除此之外,该智能三相表还具备有通讯接口以便与控制监控系统进行网络连接,这是传统电力仪表所不具备的功能。正是由于智能三相表具备这些功能,操作人员能够迅速便捷的设置仪表参数并且更快更准确的获得测量参数,这使得智能三相表的人机界面更加人性化。目前,在各类工业化自动化系统、低压变配系统、工矿企业电量管理等相关应用中,各种不同类型的智能电力仪表都开始发挥出巨大的作用。目前企业正在对其电力成套设备产品进行技术革新,本文中论述的就是一款能够集成至电力成套设备中的智能三相表。企业最早设计生产的电力成套设备中使用的仪表是模拟式仪表或者是数字式测量仪表。但是考虑到电力成套设备往往都是被安装使用在工矿企业以及大型楼宇这种工业环境内,并且目前企业和楼宇都会对其电网中各个设备进行联网监控以便及时采集数据进行管理,所以上述两款老式的检测仪表在实际使用中的缺点就十分明显,如不能兼容到企业的控制网络中,不适宜复杂的工业环境等等。因此研究出这么一款具备有多功能、智能化、具备远程通讯端口、模块化的智能三相电力仪表就变的十分迫切。同时,鉴于目前国内大范围引进欧式的电力控制系统和各类设备,所以在通讯方面Profibus总线的应用越来越普及,加之Profibus其本身的高效可靠性,为了达到能让智能三相表能够与企业电力控制网络兼容,从而增加成套电力设备的市场竞争力的目的,本文在智能三相电力仪表设计中采用Profibus总线通信端口。本文研究的智能三相表将要达到如下设计要求:智能三相表能够自动测量电网的电压、电流、功率以及相位和频率等;智能三相表对电力参数的测量误差小于0.2%(其中有功功率第4页万方数据 上海交通大学工程硕士学位论文第一章绪论测量要满足0.5S级有功测量);智能三相表具有谐波分析功能,其测量值误差要小于0.3%;智能三相表能够与上位机通过Profibus总线进行通讯,通讯的波特率可从4800,9600,19200,38400b/s中进行进行选择;通讯可靠性强。综上所述,对于智能仪表的各种功能的研究和开发具有迫切性和必要性以及广阔的前景。1.21.2智能电力仪表的研究现状以及1.2智能电力仪表的研究现状以及智能电力仪表的研究现状以及Profibus智能电力仪表的研究现状以及ProfibusProfibus在其中的应用现状Profibus在其中的应用现状在其中的应用现状在其中的应用现状电力仪表及装置随着电测量理论的发展大致经历了三个阶段:第一阶段是模拟式仪表,它直接对模拟量进行测量,如模拟万用表、电压表和电流表等;第二阶段是数字测量仪表,它与模拟式仪表不同的是其先通过转换电路将模拟信号转变成数字电路后再进行计算和显示等。数字测量仪表的优点是可靠性比较高并且测量精度也有很大的提高,但是它的缺点就是转换电路过于复杂从而不足以应付复杂多变的工业环境且不易校准;第三阶段是智能仪表,这类仪表整体结构最为简化,这是因为它都含有微处理器,并且[1]通过微处理器进行数据采集、分析和存储。这类仪表具有测量精度高、功能强、能适应各种复杂的环境变化和易于校准等优点,微机技术以及电子技术的高速发展已经使电力仪表进入智能仪表时代。目前市场上已出现不少生产厂家开发出的多功能智能电力仪表,应用在输、配电网中。此类产品通常具备以下特点:1.多功能。电力仪表具备有两个基本功能:首先是电力参数的监控,然后是电能的计量。在上述两个基本功能的基础上,还可以根据实际应用情况对电力仪表进行升级使其具备有电[2]能质量的检测分析以及遥控等高级功能。随着电力部门用电管理、营销模式的发展,电力仪表也需适应电力系统管理需求集多种辅助功能于一体。2.智能化。电力仪表内部计量和管理的MCU具备越来越强的数据处理能力,能够快速捕获电网问题,实现谐波分析等高级功能,同时还有一定的数据存储能力,能够对实时数据进行统计分析并保存,满足长期在线监测的需求。3.具备远程通信接口。在当前电力网、通讯网、因特网三网合一的趋势下,电力仪表必须具有通讯功能才能使系统处于有效的监控之下,由监控和管理系统对电能质量现象进行深入的分析、统计、长期评估和预测等。4.模块化。软、硬件采用模块化设计,一方面使得功能上具备配置的灵活性,以适应电力系统的不同应用场合;另一方面,电力市场改造力度大,技术更新较快,模块化设计对标准模块进行封装,如电源模块、计量模块、显示模块等,开发升级集中在各个模块技术上的更新。从具体实现的方式来看,当前智能电力仪表硬件在结构上大体分为以下几种:1.双MCU结构:通过A/D采集三相电压电流信息,前端MCU负责数据的采集及处理,后端MCU负责计算出各电力参数,并完成数据的分析、统计及保存、显示、控制和数据通信等功能。由于结构的限制,MCU本身的性能、采样算法的选用以及采样频率等多个因素都第5页万方数据 上海交通大学工程硕士学位论文第一章绪论会最终影响仪表的测量精度。这类结构可以较好的实现各种控制功能,但处理复杂数据的能力比较差,数据的精度不是很理想。2.DSP+MCU结构:用DSP取代上述结构中的前端MCU,利用其强大的数字信号处理功能完成数据采集和运算,可以得到更高的数据精度。MCU主要完成显示、通信和控制等功能。这种结构的优点是便于MCU和DSP的各类功能得到充分的利用,同时它也使系统资源预留下有一部分空间便于系统的改进和扩展。它的缺点是造成一定的资源浪费,造价较高。3.MCU+ASIC结构:基于数字信号处理的专用电能计量集成芯片以ADC过采样和包含数字滤波器、乘法器、开平方器和各种计量算法的定制DSP为主要技术,能够实现对电力数据的采集及电力基本参数的精确计算。由于DSP分担了一部分计算任务,所以MCU所要执行的任务相对比较简单:对计量芯片进行数据通讯和统计分析,对寄存器状态进行控制以及处理中断。这种结构使得装置的计量单元和数据处理两大单元较为均衡和合理。前两种结构均需要利用位数较多的A/D转换电路来获得较高的数据精度,因此硬件结构非常复杂,并且元器件非常多,导致设计过程复杂,对企业而言也不够经济。第三种方案在不仅简化了硬件设计,也降低了软件编程的复杂性,使得电力监控装置的体积大为减小,功耗成本降低,提高了系统可靠性和测量精度。据此,本文中将采用MCU+专用电能计量芯片方案,开发一种集测量、显示、控制、保护于一体的高精度多功能的智能电力仪表。正是由于智能电力仪表需要具备远程通讯接口的特点,所以目前绝大多数的智能电力仪表研发设计公司都推出了使用各种总线协议通讯的智能仪表。而本文中将研究的Profibus总线,主要具备有如下特点:(1)线存储协议的实时性。Profibus主站之间采用的传递方式是令牌传递,主站和从站[3]之间采用的传递方式是主从传递。令牌传递能够确保每个主站在一定时间内得到令牌进行总线访问,在访问期间根据主从关系表和从站进行数据通讯。系统通过上述方式来保证实时性。例如,主频200MHz的CPU,300个I/O点的扫描周期小于50ms。(2)系统配置灵活。可根据应用对象的控制要求,灵活选择纯主-从系统、纯主-主系统或多主多从的混合系统.。Profibus能够根据应用的需要来选择合适的系统,如:主从系统、主主系统以及多主多从系统等。DP系统和FMS系统能够在一根双绞线上同时操作,这是由于它们具有相同的传输技术以及总线存储协议;PA和DP之间使用分段耦合器也能方便地集成在一起,综上所述3种系列的Profibus亦容易集成在一起。(3)Profibus的安全特性。Profibus支持总线供电。在一条双绞线上即可实现数据通信和向现场设备供电。总线的操作电源不需要绝缘隔离装置,即使在维修、断开、接通现场设备等过程中也不会影响总线上的其它设备节点。(4)Profibus的协议硬件实现方便。从理论上而言,Profibus总线协议能够在任何带有[4]通用异步收发器的微处理器上应用。但当传输速率高于500Kbit/s时,最好采用专门的Profibus协议芯片实现,提供Profibus协议芯片的厂家有IAM、Motorola、第6页万方数据 上海交通大学工程硕士学位论文第一章绪论[5]IEMENS、Delta、SMAR等。正是因为Profibus总线技术具有上述特点,所以其能够很好的满足设计的智能电力仪表在极其恶劣复杂的工业环境下通讯的准确以及高效。1.31.3课题研究内容1.3课题研究内容课题研究内容课题研究内容本文将研究设计一款基于Profibus通讯技术的智能电力仪表,完成装置的硬、软件实现。该仪表实现功能主要包括对电压有效值、电流有效值、功率、功率因数、电能和频率等电力[6]参数的测量、谐波分析、界面交互和数据通信功能等。设计对智能电力仪表进行了功能分析,其中特别是对Profibus总线技术进行了阐述和分析,并对常见电力仪表的结构进行了分析和比较,确定了装置的体系结构,采用MCU+ASIC设计方案,基于模块化设计思想对计量模块、CPU模块及Profibus通信模块进行研究和设计。本文将采用以ATT7022B为核心的计量模块完成电流电压等信号的波形采样及基本电力参数的精确计算;采用以ATmage128/128L为核心控制模块负责数据的分析、统计、存储以及数据通讯功能;采用以Profibus专用芯片SPC3来完成智能电力仪表与上位机的通信。本文还对多功能电力监控装置进行了软件系统设计,采用μC/OS-Ⅱ实时操作系统以保证程序的实时性,简化应用程序的设计。本文将研究把μC/OS-Ⅱ操作系统移植到ATmage128/128L处理器上的具体方法,对应用程序进行任务及中断处理设计实现装置相应的功能,将设计SPC3对应的应用程序来实现总线通讯。本文最后将介绍与研究智能三相表的校准方法,在对装置进行了校准后,采用了标准源比对法对装置的精度测试进行了验证。论文中研究的基于Profibus总线通讯技术的多功能智能电力仪表集测量、控制与通讯于一体,能够替代传统仪表、变送器和信号传输装置等设备。它可广泛应用于低压、中压和高压开关柜和变配电系统中,实现对电量参数、电能质量及负荷水平的遥测、遥信、遥控功能。本论文中各个章节的主要内容如下:第1章为绪论部分,介绍了课题研究的背景、意义及电力监控装置的研究现状,确立了课题的研究任务,简述了设计中采用的方案。第2章首先分析了Profibus总线技术的特点原理,并结合ATT7022B介绍了电力基本量的测量方法和电力系统谐波分析(FFT)的基本理论;第3章分析了多功能电力监控装置所应具备的常见功能,介绍了装置的硬件设计。详细分析了硬件电路的特点和设计要点,分析了电路的工作过程。第4章介绍了装置的软件设计。第5章对装置进行了校准,并做实验对装置精度,通讯传输速度以及传输准确性等进行了验证。第6章对整个文章所做内容做了总结及展望。第7页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理第二章ProfibusProfibusProfibus-Profibus---DPDPDPDP通讯协议原理以及电力参数测量原理通讯协议原理以及电力参数测量原理通讯协议原理以及电力参数测量原理通讯协议原理以及电力参数测量原理本文中设计智能电力仪表具有对电压、电流有效值、功率、功率因数、电能和频率等重要电力参数进行实时测量和谐波分析的能力,并且具备将这些数据及时通过Profibus总线与上位机进行通讯的功能,下面将简单介绍Profibus-DP通讯原理,电参数测量原理及电力系统谐波分析算法。2.1Profibus2.1Profibus-2.1Profibus---DPDPDPDP通讯原理通讯原理通讯原理通讯原理2.2.2.1.12.1.11.1概述1.1概述Profibus-DP不仅描述通信功能,而且还描述固定的应用。Profibus常见的设备类型有一类DP主站、二类DP主站以及DP从站,而用户选用哪种设备类型决定了上述的DP固定应用。Profibus-DP协议没有应用层。所以它只能使用FDL与FMAI/2的服务,这样做的目的是为了提高传输数据的效率。为提供一个更舒适的第2层存取,用户需要一个有预先定义DP通信功能的直接数据链路映象程序(DirectDataLinkMapper,DDLM)[7][8][9]。2.1.2Profibus2.1.2Profibus-2.1.2Profibus---DPDPDPDP协议结构协议结构协议结构协议结构表2-1Profibus-DP协议结构DP设备行规用户层DP基本功能和扩展功能DP用户接口(直接数据链路映射程序DDLM)第3-7层空第2层现场总线数据链路层(FDL)(数据链路层)FMA1/2第1层(物理层)物理层(PHY)Profibus-DP的协议以ISO/OSI参考模型为基础,并对其进行了简化,如表2-1所示。Profibus-DP协议只使用到物理层,数据链路层以及用户层,其它层都没有使用。这种精简的[9][10]结构确保高速数据传输及较小的系统开销。2.1.3Profibus2.1.3Profibus-2.1.3Profibus---DPDPDPDP数据通信协议数据通信协议数据通信协议数据通信协议1.Profibus-DP设备类型各类分散式的数字化控制器系统可以通过Profibus-DP总线协议来实现车间级的网络化。这类系统中包含有主站和从站。在Profibus总线协议中,主站也称为主动站,其决定Profibus总线的数据通讯。只要主站得到令牌即总线控制权后就可以主动发送数据信息,而不需要等待外界请求。从站在Profibus协议中也称为被动站。作为外围设备,从站只能确认或回应主站发出的各类请求,其不具有如同主站一样的总线控制权。典型的从站包括有测量变速器,驱动器以[11][12]及输入/输出装置。第8页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理在典型的远程I/O配置中,单主站配置主要用于满足反应时间的要求。在低速应用中多主站的配置也是可以的。Profibus-DP通信采用轮询原理(主-从方法)。DP从站被DP主站按轮询表依次访问。这意味着DP从站需要一个主站请求来交换信息。报文传送按循环方式组织。[13]一个报文循环通常包含两个部分:首先是主站的请求帧;然后就是相应从站的响应帧。一个Profibus-DP系统包含着若干个通信单元。这些单元可以是DP设备或者按照Profibus的FMS协议工作的设备。站的类型有:一类DP主站;二类DP主站;FMS主站;DP从站;[14]FMS从站。一类DP主站:DP主站根据己定义好的算法来控制若干个DP从站。一类DP主站用Profibus-DP功能与DP从站通信。轮询与其相关的从站,以递交数据给它的本地用户。并且能应用一组功能与二类DP主站通信。二类DP主站:在Profibus-DP系统中,二类DP主站是一个程序员或一个管理设备,其根据请求服务的种类来决定选择操作方式或者寻址。一组功能支持复杂DP系统的管理与诊断。FMS主站:这是一个按照Profibus-FMS协议的规则讲行通信的的主站。DP从站:DP从站可被两种类型的DP主站来寻址。DP从站实现一组己定义的响应方功能。[15]FMS从站:它定义一种按照Profibus-FMS协议规则进行通信的从站。2...各类.各类DP设备之间的数据通信主站和从站在在DP系统运行前,都应该被赋予相应的且唯一的地址,其中可通过总线[13]来设定此从站地址。对于DP主站,它的地址不能够设置为缺省地址;但是DP从站如果没有设定独立地址却可以设置缺省地址,缺省地址从126开始。对于二类DP总站,其能够通过这个初始的唯一地址来对某一从站进行存取并且给与这个从站一个特定地址。一类DP主站为了方便与从站进行I/O数据交换,故其拥有一个有效的参数集。这个参数集包含三个部分:若干组组态数据,总线参数以及地址赋值表。在这个三部分内容中,每一组组态数据会对应一个DP从站,这一组数据中会包含相应DP从站的所有的必须信息;地址赋值表会给DP主站用户的每一个远程I/O赋予一个唯一地址。需要说明的是,协议规定一类DP主站不能与地址为126的DP从站进行I/O数据交换,这是出于数据交换时的安全考虑。[16][17]在DP主站进行用户数据交换之前,首先一类DP主站会根据上述所提到的参数集来检查其对应的那些DP从站的存在状态。然后在得到响应后,DP主站会一一为这些从站设定参数并检查其组态。接下来DP主站会读取从站的组态诊断数据来判定从站的状态是否正常。如果组态检查以及参数设定都正常,最后DP主站才会进入用户数据交换模式。值得注意的是在不退出用户数据交换模式的情况下,一类DP主站能够重新对从站进行参数设定。另外,每一个二类DP主站能够读每一个DP从站的诊断、输入/输出。如果某个DP从站遇到诊断事件,其会用高优先权将这个诊断响应发送给DP主站,待DP主站读取这个响应后通知它的本地用户。第9页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理二类DP主站能够控制某个从站,被控制的从站随即将停止与一类DP主站之间的数据交换。这种状态被一类DP主站认可。在从站被二类DP主站控制期间,一类DP主站将循环地读取诊断信息,直到字段“Master-address”中的一个值是无效为止。假如此二类DP主站已经结束它与那个DP从站的通信,它将设置“Master-address”为无效。此事件触发一类DP主站[18]重新获得控制。如上所述,它将首先发送参数与组态。一类DP主站与从站通过用户接口并利用DP应用进行应用通讯,但是DP应用需要预先定义。上述的用户接口具备下列主-从功能:(1)读DP从站的诊断信息;(2)循环的用户数据交换模式;(3)参数化与组态检查;(4)提交控制命令。这些功能由用户独立处理。用户与用户接口之间的接口由若干服务调用与一个共享数据库组成。协议也规定能够在二类DP主站与从站间附加下列功能:(1)读DP从站的组态;(2)读输入/输出值;(3)对DP从站分配地址等。二类DP主站调用DP主站(一类)的下列功能:读一类DP主站的相关DP从站的诊断信息;参数上载与下载;激活总线参数;激活与解除激活DP从站;选择一类DP主站的操作模[19]式等。[13]DDLM为在所有三类设备中的用户或用户接口提供舒适的对Profibus第二层的存取。2.1.4Profibus现场总线通信1.Profibus-DP中的通信关系在Profibus-DP中有两种类型的通信:单主站对单从站;单主站对多从站(群播通信)。通信取决于不同站的介质存取类型;其中包括:主-从通信:在一类DP主站与DP从站之间、在二类DP主站与DP从站之间;主-主通信:在一类DP主站与二类DP主站之问。在Profibus系统中,请求方通常是指通讯功能的发起方,相对应接受方是指目的站。主-从通信的发起方总是DP主站。主-主通信的发起方总是二类DP主站。除同步控制(DDLM_[20][21]Global_Control)外,所有主-主通信类型都是一对一通信。2.功能描述Profibus-DP提供下列基本功能:主站诊断读取:通过此功能可以读一类DP主站的关于它所属从站的诊断信息。诊断信息由全局诊断概要和站诊断组成。参数开关选择所需的功能。激活总线参数:此功能激活先前装载的总线参数集。激活/解除激活DP从站:用此功能能迫使DP主站停止轮询DP从站,或重新开始轮询[13]DP从站。第10页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理DP从站诊断信息读取:一个应用可以用此功能从DP从站读取诊断信息。输入输出的数据交换:此功能用于一类DP主站与所属从站之间的循环I/O数据交换。[22][23]设定DP从站的参数:此功能在系统起动时、在重新起动之后以及在DP系统的用户数据[13]交换模式中设置DP从站的参数。检查DP从站的组态:DP从站使用此功能能检查组态。其主要目的是定义输入与输出的个数与结构。发送控制命令给DP从站:主站能发送特定的控制命令到一个(单一)或多个(群播)DP从站。不同的命令用参数来区别。读DP从站的组态数据:对于一个没有DP从站组态数据的主站能用该功能获得这些信息。读DP从站的输入与输出:此功能使所有主站能够获取在特定的主站控制之下的DP从站的输入与输出。更改DP从站的站地址:在初始化期间DP主站能设定DP从站的站地址。2.22.2电力参数测量原理2.2电力参数测量原理电力参数测量原理电力参数测量原理电力参数通常包括有电压有效值,电流有效值,有功功率,无功功率以及视在功率,有功,无功电能以及频率等。目前常见的电力参数测量主要分为直流采样以及交流采样两种方式。特别需要注意的是直流采样在在谐波含量较大的情况下并不适用。因此,当采样信号的谐波量比较大,则需要采用交流采样的方法。其原理是首先对被测信号进行离散采样,再经一定的数字算法求解被测量。本设计中选用的ATT7022B计量芯片实现了对工频周期信号参数的真有效值值测量,下面简述其测量原理。2.2.12.2.1电压2.2.1电压电压、电压、、、电流有效值的采样测量电流有效值的采样测量电流有效值的采样测量电流有效值的采样测量正弦交流电电压、电流信号的大小通常用其有效值来表示。依据定义,周期连续信号ft()的有效值为:1t2Frms=∫ft)(dt(2-1)t0T[23]以采样周期s对信号ft()等间隔离散采样,每周波N点,得到离散化的有效值表达式:N12Frms=∑f[n](2-2)Nn=1式中f[n]表示信号在第n时刻的采样值。电压、电流采样值URmsaIRmsa高通滤波器数字滤波器开平方图2-1电压、电流有效值测量示意图第11页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理Figure2-1Effectivevalueofvoltageandcurrentmeasurementgeneralview如图2-1,ATT7022B首先将电压、电流采样信号通过高通滤波器,然后进行平方,接下来再经过数字滤波器,最后开平方最终得到电压,电流的有效值。其相关的原理如下所示:¥f(t)=∑2Fksin(kwt+jk)(2-3)k=1对其平方有:¥¥222f(t)=∑Fk-∑Fkcos(2kwt+jk)k=1k=1¥+22×F×Fsin(kwt+j)×sin(mwt+j)∑kmkm(2-4)k,m=1k=m经数字滤波器滤波得到其直流分量,再开平方得到其有效值:¥2F=∑Fk(2-5)k=12.2.2功率测量ATT7022B计量芯片提供了完善的功率测量功能,本次设计中主要应用到有功功率,无功功率以及视在功率的测量计算。电压采样值功率增益校正高通滤波器P功率计算电流采样值高通滤波器相位校正图2-2ATT7022B有功功率测量原理图Figure2-2ATT7022Bactivepowermeasurementgeneralview如图2-2所示,ATT7022B首先将电压和电流采样值经过高通滤波器,然后将电流值再经过相位校正后与电压值相乘得到瞬时有功功率。然后再通过功率增益校正和功率计算取其直流分量最终得到有功功率。其具体测量原理如下:交流输入电压vt()、电流it()分别为:¥v(t)=∑2Vksin(kwt+jk)(2-6)k=1¥(ti)=∑2Iksin(kwt+gk)(2-7)k=1则瞬时有功功率可表示为:p(t)=v(t)×(ti)第12页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理¥¥=∑VkIkcos(jk-gk)-∑VkIkcos(2kwt+jk-gk)k=1k=1¥+∑VkIm{cos[(k-m)wt+jk-gm]-cos[(k+m)wt+jk+gm]}(2-8)k,m=1k=m依据定义,有功功率P为:¥1nTP=∫p(t)dt=∑VkIkcos(jk-gk)(2-9)nT0k=1从而可以得出有功功率值P为瞬时有功功率pt()波形中的直流分量。电压采样值功率增益校正高通滤波器90移相滤波器Q功率计算电流采样值高通滤波器相位校正图2-3ATT7022B无功功率测量原理图Figure2-3ATT7022Breactivepowermeasurementgeneralview如图2-3所示,根据无功功率的计算法则,将电压值相移90°角后与电流值相乘可得瞬时无功功率,其他原理步骤与有功功率类似,其原理推导如下:¥1nTQ=∫q(t)dt=∑sin(jk-gk)(2-10)nT0k=1视在功率可由电压、电流有效值相乘来得到:S=V×I(2-11)rmsrms2.2.3电能测量根据电能的定义,其是消耗的能量的累计,是时变瞬时功率对时间的积分。以有功电能计算为例:¥W=∫p(t)dt=lim{∑p(nT)×T}(2-12)T®00式中T为功率累加周期。2.2.4功率因素的测量功率因素计算原理如下:abs(P)P=sign(Q)×(2-13)fabs(Q)功率因数的符号由无功功率的符号来确定。第13页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理2.2.5频率测量ATT7022B采用周期计数法来计算频率。在被测信号相邻同向过零点这段时间内,对高频时钟f的脉冲信号计数,进而计算出信号周期。信号周期计算公式为:clkfclkf=(2-14)lPeriod其中Period为计数寄存器值。2.32.3电力系统谐波分析算法2.3电力系统谐波分析算法电力系统谐波分析算法电力系统谐波分析算法谐波测量非常关键。它是解决谐波问题的基础,是治理谐波污染、提高电力系统电能质量的前提。因此,智能电力仪表引入衡量电能质量的各次谐波分析,以帮助电力控制系统实现干扰源的定位,保正高质量的电能供应。[24]目前在电力系统中,通过傅里叶变换来进行谐波分析最为常见。设电力系统中电压、电流均是周期信号,其傅立叶级数可表示为:¥f(t)=A0+∑(Ancosnwt+Bnsinnwt)(2-15)n=1各次谐波成分的幅值亦即傅里叶系数为:1tA0=∫f(t)dt(2-16)T02tA=f(t)×cosnwtdt(2-17)n∫T02tB=f(t)×sinnwtdt(2-18)n∫T0其中w为基波角频率,T为基波周期,n=1,2,3,…为谐波次数。选定一个周期,将电压或者电流信号N等分,即得到一组采样序列{fk},k=1,2,…,N,第k个采样时刻为t=kT/N。另外有w=2π/T,dt=T/N,可求出离散化后的n次谐波系数:kN-1N-122pkTT22pan=∑fk×cos(××n)×=∑fk×cos(×kn)(2-19)Tk=0TNNNk=0NN-122pbn=∑fk×sin(×kn)(2-20)Nk=0N另一方面,根据数字信号理论,对于N点采样序列{fk},其离散傅立叶变换(DFT)为:N-1nkF(n)=∑fkWNn=0,1,2…,N-1(2-21)k-0式中下述部分称为蝶形因子:第14页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理2p-jknWnk=eN(2-22)N根据欧拉公式,对式(2-21)进行如下变换:N-12p2pF(n)=∑fk[cos(kn)-jsin(kn)]k=0NN(2-23)参照式(2-19)和式(2-20)可得:2a=Re[F(n)](2-24)nN2b=Im[F(n)](2-25)nN式(2-21)所示的DFT对每一个系数都需进行N次的复数的相乘运算和N-1次复数加法运算,运算量相当大,在实际应用中一般利用快速傅立叶变换(FFT)提高运算速度以满足系统的实时性。FFT是将长序列的DFT分解成几个短序列的DFT,利用式(2-22)蝶形因子的周期性和对称性来减少运算次数。FFT算法有两大类:(1)时间抽取FFT,或者称其为DIT;(2)频率抽取FFT,也可叫做DIF。本文中介绍的是时间抽取FFT。DIT每一级处理都在时域里把N点的输入序列按照偶数和奇数分解为偶序列和奇序列两[25]L个序列。其处理过程为:首先,为满足分解和组合的需要,时间序列的长度须满足N=2(L[26]fL为整数)。设{k}为N=2点有限长序列(若不满足这个条件,可以人为加入若干个零值点)。其次,将序列{fk}按k的奇偶分成两组:f2(r)=f(r),f2(r+)1=f(r)r=0,1,2…N/2(2-26)12则式(2-21)所示DFT可表示为:NN-1-1N-122nk2rn(2r+1)nFn()=∑fWkN=∑f(2)rWN+∑f(2r+1)WNk=0r=0r=0NN-1-1222rnn2rn=∑frW1()(N)+WN∑frW2()(N)r=0r=0(2-27)2p-j由于W2=eN/2=W,上式可表示为:NN/2NN-1-122rnnrnnFn()=∑frW1()N/2+WN∑frW2()N/2=Fn1()+WFnN2()r=0r=0(2-28)式中Fn()和Fn()分别为fr()和fr()的N/2点DFT。1212Fn()和Fn()的周期为N/2,因此由式(2-27)计算Fn()的时n范围为0~N/2-1。计算122p2p-j(nN+/2)-j(nN+/2)nN+/2N/2nnN+/2Nn的Fn()利用W=e=W以及W=e=-W及可得到:N/2N/2NN第15页万方数据 上海交通大学工程硕士学位论文第二章Profibus-DP通讯协议原理以及电力参数测量原理n+N/2nFn(+N/2)=Fn(+N/2)+WFn(+N/2)=Fn()-WFn()(2-29)1N21N2这样一个N点的DFT就被被分解为两个N/2点的DFT,再依据式(2-28)和(2-29)可组合成N点的DFT。以同样的方式进一步抽取,可以得到N/4点的DTF,重复这个抽取过程,直至得到一组2点DFT,使N点的DFT用一组2点的DFT来组合求解。N点DFT经L级分解,每级都由N/2个蝶形运算组成,每个蝶形有一次复乘、二次复加,因而每级运算都需N/22次复数乘和N次复数加,这样L级运算总共需要复数乘NL/2次,与FFT所需的N复数乘法[27][28][29]大为减少。上述DFT推导中假定电压、电流信号在一个或几个整周期内必须等间隔同步采样当信号,实际中这一条件很难满足。当信号和采样两个频率不同时,会产生频谱泄漏效应和栅栏效应。这两个效应会对谐波的测量带来误差。通过FFT求得电压、电流信号的各次谐波幅值、相角后,还需计算谐波含有率和总谐波畸变率等电能质量指标。通常用式(2-3)来反映该次谐波的含有率,即UI()kHRUI()k=´100%(2-30)UI()1式(2-3)中分子是第k次谐波幅值,而分母是基波幅值。用总谐波畸变率THD来反应总谐波含量,它等于各次谐波总量的有效值与基波有效值的百分比,即N2∑UI()kk=2THDUI()=´100%(2-31)UI()1降低HRU和THD两个限值,使它们能够满足国家规定。这些措施能够治理谐波危害,从而提高电网的供电质量。2.42.4本章小结2.4本章小结本章小结本章小结本章首先介绍了Profibus通讯总线的协议结构,各级设备以及通信原理,接下来介绍了各个电力参数(有功功率,无功功率,视在功率,电能以及频率和功率因素)的计量原理,除此之外,本章还分析了电力系统谐波分析的FFT算法原理。以上这些原理的实现和分析为本设计的实现提供了必要的理论基础。第16页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现第三章智能电力仪表的硬件实现智能电力仪表的硬件实现智能电力仪表的硬件实现智能电力仪表的硬件实现在上一章中介绍了智能三相表的Profibus通讯原理,电参数测量原理以及谐波分析算法等内容。在本章中就将具体阐述智能电力仪表的硬件设计,这其中包括计量模块电路的实现,主CPU模块以及Profibus通讯模块的设计。在文中,也会详细阐述各类硬件设计中芯片的选型原因和他们的各个特性。3.13.1智能电力仪表功能3.1智能电力仪表功能智能电力仪表功能分析智能电力仪表功能分析分析分析随着各类精密仪器被越来越多的应用到工业生产过程中,这类精密生产设备对其电网要求也十分高。本文设计的智能电力仪表适用于集成在提供给工矿企业的控制电网中,其能够很好的服务于智能电网的建设完善,其功能如图3-1如示:电网智能电力仪表电网异常报警上位机电能使用监测统计图3-1智能电力仪表功能示意图Figure3-1Intelligentpowermeterfunctiongeneralview(1)实时监控电网动态,将电网的检测电力数据通讯给上位机,再由上位机与供电系统进行通讯,如果电网中出现波动异常则触发电网异常报警,从而有效及时的保证电网的稳定[29];(2)智能电力仪表能够掌握电网中设备的用电状况,比如说线路的电能消耗状况等,从而提供大量数据,企业可以根据这些数据制定更加经济环保的用电计划。因此,为了实现智能电力仪表在电网中的功能,其本身需要具有以下几个特点:1.能够完成电力参数测量本文中设计的智能电力仪表能够计量电压有效值、电流有效值以及功率、频率等,从而为通过这些电力参数来监控电网的波动状况提供基础。2.能够完成电能消耗的计量为了给上位机提供电网的电能消耗等基本情况,本文设计的智能电力仪表还具备有能够第17页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现测量有功功率,无功功率,视在功率等相关参数。从而上位机可以根据这些数据来分析出电网个线路的耗能状况。3.能够进行谐波分析进行谐波分析能够提供基本各相电压、电流的总谐波畸变率,各次谐波分量的在线监测,为电能质量监控系统提供基本数据。4.能够与上位机进行通信智能电力仪表并不是一个独立工作的设备,相比与传统的电力仪表,其最为重要的特点就是能够和上位机进行通讯,将计量的各个数据上传至上位机,同时上位机也可访问这个设备。本文设计的智能电力仪表是通过Profibus总线来实现通讯功能的。5.具备数据存储的能力由于智能电力仪表本身具有运算分析功能,并且对电力参数的测量采样时是实时进行的,其与上位机的信息交互却是异步通讯的,因此,智能电力仪表必须具备数据存储的能力,它的存储单位能够储存电力参数,参数设置以及事件记录等。3.23.2智能电力仪表的硬件总体设计3.2智能电力仪表的硬件总体设计智能电力仪表的硬件总体设计智能电力仪表的硬件总体设计根据3.1节对智能电力仪表的功能描述,本设计中的系统需要实现信号采样、数据计算、及通讯等多种功能。智能电力仪表既有周期性的任务,又会有突发性的任务,应在不影响数据采集和处理的情况下,保证对其他实时性事件的响应。另外还需考虑系统功耗、开发成本等因素。Profibus专用芯片图3-2智能电力仪表硬件结构示意图第18页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现Figure3-2Intelligentpowermeterhardwarestructuregeneralview如图3-2所示,本设计中的智能电力仪表为了具备上述功能,在硬件上主要具备以下几个部分。计量专用芯片完成对电压/电流有效值,有功/无功功率,视在功率,有功/无功电能,功率因素以及频率的计量检测。CPU主要完成控制功能,其能够实现谐波分析,数据存储等相关的功能。Profibus专用芯片主要完成系统与上位机的通讯功能,实现上位机对系统的基本量的采集于波形读取。本设计中选用的计量专用是ATT7022B芯片。ATT7022B对来自电网经调理后的电压、电流信号进行采样、A/D转换后,得到其离散化采样序列,经其一定的算法得到电压、电流有效值、有功、无功、视在功率、功率因数角和频率等电力参数;功率经由内部累加得到有功和无功电能等;智能电力仪表中的CPU会根据其的定时器控制好定时间隔,周期的通过ATT7022B的SPI口读取。本文中选用的CPU是ATmega128/128L芯片,其是一款基于AVRRISC结构的低耗能CMOS8位单片机。ATT7022B芯片与ATmega128/128L芯片采用SPI相互连接,最高速度可达2.5MHz,快速的数据通讯能够满足电压、电流瞬时值的及时传送。ATmega128/128L芯片具有快速的运算能力,能够满足各种算法的处理,同时,其具备丰富的I/O资源能提供输出控制功能,智能三相表的通讯可靠性大为提高;支持多任务操作系统,能够保证系统的实时性。本设计中Profibus专用芯片选用的是SPC3,SPC3芯片集成了OSI模型的第一层(特别是模拟传输RS485驱动器)和第二层的执行总线FDL以及接口服务和管[29]理协议。利用SPC3来完成智能三相表与上位机的数据交互,一方面能够简化外界通讯模块的硬件设计与软件编程,另一方面这保证了通讯的高效和准确。3.33.3计量模块3.3计量模块计量模块计量模块计量模块主要由电力计量专用芯片ATT7022B及其前端电路构成,前端电路主要包括电流、电压互感器等。3.3.13.3.1电力计量专用芯片3.3.1电力计量专用芯片电力计量专用芯片电力计量专用芯片本文设计的智能三相表需要集成到大型的电力成套设备中,这就要求智能三相表具有三相三线以及三相四线的接入测量方式,同时测量精度要求比较高。作为一款专业计量芯片,ATT7022B能够满足上述的要求,这也是本文选择ATT7022B的重要原因。ATT7022B芯片内部集成了以下电路来完成测量任务(1)二阶sigma-deltaADC电路,共六路;(2)参考电压电路;(3)电力参数测量数字信号处理电路。以下展示了ATT7022B的各项功能,见表3-1:第19页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现表3-1ATT7022B芯片功能列表1能够测量各相以及合相的有功/无功功率,有功/无功能量,视在功率以及功率因素2能够测量各相电流/电压有效值、相角和频率具有纯软件校准表,因此能够支持全数字域的增益以及相位校正(如需要进行误差3校正,只要将有功/无功电能脉冲输出CF1、CF2提供瞬时有功/无功功率信息直接接到校准表即可)4能够提供脉冲输出CF3和CF4瞬时基波有功/无功功率信息来进行基波校正5能够提供RMS视在能量以及PQS视在能量6具有SPI接口,并可以通过这个接口将计量参数和校准表参数传递出去7具有内部电压检测电路,所以无论在加电和断电情况下都能正常工作本文将ATT7022B具体特点归纳如下:[30]•高精度在输入动态工作范围(1000:1),内非线性测量误差小于0.1%;•有功测量满足0.2S、0.5S,支持IEC62053-22,GB/T17883-1998;[31]•无功测量满足2级、3级,支持IEC62053-23,GB/T17882-1999;•提供基波、谐波电能以及总电能测量功能;•提供视在电能测量功能;•提供正向和反向有功/无功电能数据;•提供有功、无功、视在功率参数;•提供功率因数、相角、线频率参数;•提供电压和电流有效值参数,有效值精度优于0.5%;•提供电压相序检测功能;•提供电流相序检测功能;•提供三相电流矢量和之有效值输出;•提供三相电压矢量和之有效值输出;•提供电压夹角测量功能;•提供失压判断功能;•具有反向功率指示;•提供有功、无功、视在校表脉冲输出;•提供基波有功、基波无功校表脉冲输出;•合相能量绝对值相加与代数相加可选;•内置温度测量传感器;•电表常数可调;•起动电流可调;•支持增益和相位补偿,小电流非线性补偿;•具有SPI接口,方便与外部MCU通讯;第20页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现•适用于三相三线和三相四线模式;•采用QFP44封装;•单+5V供电;ATT7022B芯片七路模拟输入构成电流和电压通道。电流通道由四对差分电压输入:V2PV2N,V4PV4N,V6PV6N,V7PV7N。电压通道由三路单端电压输入:V1PV1N,V3PV3N,V5PV5N。ADCADCADC图3-3ATT7022B芯片七路模拟输入电流和电压通道示意图Figure3-3ATT7022Btheanaloginputofthevoltageandcurrentgeneralview以V1PV1N为例,如图3-3所示来自前端电路的调理电压和电流信号,经PGA增益后由A/D转换为数字信号,然后在SIGAMA-DELTA模块中将数字信号与参考电压正、负Vref之间的差值进行不断的累积并通过反馈令这个差值趋于零,最终消除电压信号在A/D转换过程中的误差,确保精度。然后通过抽取滤波器将A/D转换器自身的噪音过滤去。接下来再经过有限长脉冲滤波器进一步滤去噪音,最终由寄存器输出。此后电流通道结果参与以下运算:过零点检测(零线电流通道除外)、电流峰值、过电流检测、电流有效值计算和电流波形瞬时值输出。电压通道则继续以下运算:过零点检测、电压峰值、过电压、电压暂降检测、电压有效值计算和电压波形瞬时值输出。另外电流通道与相应的电压通道经过相位校准后一起参与瞬时有功、无功及视在功率的计算。3.3.2ATT7022B芯片的外围电路芯片的外围电路芯片的外围电路R33R33R33T2T2T2T2R10V2PVNAVNAVNA200K/1W200K/1W200K/1WR161.2K1.2K1.2K250250250VNVNVNVNR36R11V2N2mA/2mA1.2K1.2K1.2K图3-4电流前端采样电路示意图Figure3-4Thesamplecircuitofcurrentgeneralview第21页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现为了将来自电网的大电压、电流被测信号调整到ATT7022B电流电压模拟通道的输入范围内,需要在前端接入电压(PT)与电流互感器(CT)。互感器还从电气上隔离了测量系统和被测系统,可以获得良好的抗干扰性能。装置可以采用两级互感器以应用到不同电压等级,对于电压、电流不在二次互感器范围之内的,需加一次互感器将电压、电流值降至二次互感器测量范围之内。设计中为过压、过流检测预留一定幅度,一般设计电路在加额定电压或最大电流时模拟通道输入信号值为200-500mV左右。以A相电压通道为例,电压采样电路如图3-4所示。其中互感器的前端电阻起着限流保护的作用,二次侧横跨取样电阻将电流转换为电压信号。选择合适的取样电阻值控制电压通道输入值在量程范围内。电流通道与此类似。将RC低通滤波器作为抗混叠滤波器用在采样电路中,能够有效避免混叠。此刻转折频率为7.2kHz左右。互感器带来的相角误差,会给功率测量带来较大的误差,可以通过芯片的相位补偿功能实现软件补偿。如图3-5所示,这是ATT7022B芯片的外围电路,以下将介绍ATT7922B的外部引脚及其功能。11SIGRefout1.2K10K3V1PRESETIARC1单片机10K1.2K4V1NSPI接口C210E1.2K13V2PUAC3ATT7022B10K1.2K14V2N高精度C4多功能IB防窃电CF1与与与A与AAA相相同相相同相相同相相同基本谐波CF2UB三相电能专用计量芯片CF3IC与与与A与AAA相相同相相同相相同相相同CF4UCOSCOOSCI24.576MHz图3-5ATT7022B外围电路示意图Figure3-5ATT7022Bperipheralcircuitgeneralview表3-2描述了ATT7022B芯片各个外部引脚的功能,如下:第22页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现表3-2ATT7022B外部引脚列表RESETATT7022B复位管脚。低电平有效,内部有47K上拉电阻。ATT7022B上电复位或者异常原因重新启动时,SIG将变为低电平;当外部MCUSIG通过SPI写入较表数据后,SIG将立即变为高电平。A相电流信道正,负模拟输入引脚。完全差动输入方式,正常工作最大输入VppV1P/V1N为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。REFCAP基准2.4V,可以外接;该引脚应使用10uF电容并联0.1uF电容进行去耦。B相电流信道正,负模拟输入引脚。完全差动输入方式,正常工作最大输入VppV3P/V3N为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。AGND模拟电路(即ADC和基准源)的接地参考点。C相电流信道正,负模拟输入引脚。完全差动输入方式,正常工作最大输入VppV5P/V5N为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。REFOUT基准电压输出,用作外部信号的直流偏置。该引脚提供芯片模拟电路的电源,正常工作电源电压应保持在5V±5%,为使电AVCC源的纹波和噪声减小至最低程度,该引脚应使用10uF电容并联0.1uF电容进行去耦。A相电压信道的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入V2P/V2NVpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。B相电压信道的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入V4P/V4NVpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。C相电压信道的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入V6P/V6NVpp为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。第七路ADC的正、负模拟输入引脚。完全差动输入方式,正常工作最大输入VppV7P/V7N为±1.5V,两个引脚内部都有ESD保护电路,最大承受电压为±6V。GND数字地引脚。TEST测试管脚,正常应用接地。内有47K下拉电阻。SEL三相三线低电平,三相四线高电平选择。内部300K上拉电阻。有功电能脉冲输出,其频率反映合相平均有功功率的大小,常用于仪表有功功率CF1的校验,也可以用作有功电能计量。无功电能脉冲输出,其频率反映合相平均无功功率的大小,常用于仪表无功功率CF2的校验也可以用作无功电能计量。基波有功电能脉冲输出,其频率反映基波的合相平均有功功率的大小,常用于仪CF3表基波有功功率的校验,也可以用作基波有功电能计量。CF3也可配置为RMS视在电能脉冲输出。基波无功电能脉冲输出,其频率反映基波的合相平均无功功率的大小,常用于仪表CF4基波无功功率的校验,也可以用作基波无功电能计量。CF4也可配置为PQS视在电能脉冲输出。VDD内核电源输出3.0V。外接10F电容并联0.1uF电容进行去耦。数字电源引脚;正常工作电源电压应保持在5V±5%,该引脚应使用10uF电容VCC并联0.1uF电容进行去耦。CSSPI片选信号,低电平有效,内部上拉200K电阻。SCLKSPI串行时钟输入(施密特),注意:上升沿放数据,下降沿取数据。第23页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现DINSPI串行数据输入(施密特),内部下拉200K电阻。DOUTSPI串行数据输出,CS为高时高阻输出。当检测到任意一相的有功功率为负时,输出高电平;当检测到各相有功功率都REVP为正时,该引脚的输出又将复位到低电平。RESETATT7022B复位管脚。低电平有效,内部有47K上拉电阻。ATT7022B上电复位或者异常原因重新启动时,SIG将变为低电平;当外部SIGMCU通过SPI写入较表数据后,SIG将立即变为高电平。3.4CPU3.4CPU主模块3.4CPU主模块主模块主模块3.4.1AVRAtmage系列单片机简介本文选用Atmega128/128L芯片作为智能三相表的CPU,Atmega128/128L是AVR单片机系列的其中一种型号,由ATMEL公司设计生产。Atmega128/128L芯片作为AVR系列单片机的一种,也具备有如下描述的AVR单片机的所有特点:(1)AVR单片机具有增强功能的RISC结构。这种结构保证了AVR单片机具有1MIPS/MHz如此高速的复杂指令处理能力。(2)AVR单片机的编程语言是C语言,外部编程器可以通过AVR单片机的SPI口对其Flash存储器编程。由于采用C语言,AVR单片机能够优化目标代码的性能等。而优化的方式有两个:第一是大型快速存取寄存器文件;第二是快速单周期指令。(3)传统的单片机会在累加器与存储器进行数据传输时会出现瓶颈现像。这是由于在这个过程中需要编译大量程序代码来支持这个过程。但是正是由于AVR单片机的结构与传统单片机不同,它不使用累加器而使用32个通用工作寄存器来完成快速存取RISC寄存器文件的工作。这使得程序代码非常简单。(4)AVR单片机相较与其它单片机,性价比更加好。其采用的制造工艺是低功率非发挥的CMOS,工作电压是2.76V,可以实现耗电最优化。AT90系列单片机目前有AT90S1200,AT90S2313,AT90S4414,AT90S8515,AT90S2323,AT90S2343,AT90SMEG403,AT90SMEG103,AT90S4434,AT90S8535等多种型号它们在功[32]能和存储器容量等方面有一定的区别。3.4.2AVRAtmage系列单片机寄存器结构本节中主要介绍AVRAtmage系列单片机的寄存器,如下所示。1.Atmage8状态寄存器状态寄存器:状态寄存器:::SERG表3-1ATmage8状态寄存器76543210ITHSVNZC第24页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现I:全局中断允许位T:位复制存储H:半进位标志位S:符号标志位V:2的补码溢出标志位N:负数标志位Z:0值标志位C:进位标志位2.Atmage8中断控制寄存器中断控制寄存器:中断控制寄存器:::GICR表3-2ATmage8中断控制寄存器76543210INT1INT0————————IVSELIVCEIVCE:中断向量表移位允许位IVSEL:中断向量表选择3.3.3.Atmage8I/O端口及寄存器I/O方向寄存器:DDRx(可读写寄存器)I/O数据寄存器:PORTx(可读写寄存器)I/O输入引脚寄存器:PINx(只读寄存器)读PINxn得到此时引脚的电平值3.Atmage8I/O特殊功能寄存器特殊功能寄存器:特殊功能寄存器:::SFIOR表3-3ATmage8I/O特殊功能寄存器76543210——————ADHSMACMEPUDPSR2PSR10PUD:上拉电阻禁止位PSR2:T/C2预定比例分频器复位(写1复位,自动清零)ACME:模拟比较器多路使能ADHSM:ADC高速模式4.Atmage88位位位T/C0控制寄存器控制寄存器:控制寄存器:::TCCR0表3-4ATmage8T/C0控制寄存器76543210——————————CS02CS01CS00第25页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现表3-5ATmage8寄存器bit位介绍CS02CS01CS00中断工作方式000停止,0号计时器停止001系统时钟,OK0101/8系统时钟,CK/80111/64系统时钟,CK/641001/256系统时钟,CK/2561011/1024系统时钟,CK/1024110外部引脚T0,对下降沿信号计数111外部引脚T0,对上升沿信号计数5.Atmage8定时计数器中断屏蔽寄存器定时计数器中断屏蔽寄存器:定时计数器中断屏蔽寄存器:::TIMSK表3-6ATmage8定时计数器中断屏蔽寄存器76543210OCIE2TOIE2TICIE1OCIE1AOCIE1BTOIE1——TOIE0TOIE0:T/C0溢出中断允许位TICIE1:T/C1输入捕获中断允许标志位OCIE1A:T/C1输出比较A匹配中断允许标志位OCIE1B:T/C1输出比较B匹配中断允许标志位TOIE1:T/C1溢出中断允许位OCIE2:T/C2输出比较匹配中断允许标志位TOIE2:T/C2溢出中断允许位6.Atmage8定时计数器中断标志寄存器定时计数器中断标志寄存器:定时计数器中断标志寄存器:::TIFR表3-7ATmage8定时计数器中断标志寄存器76543210OCF2TOV2ICF1OCF1AOCF1BTOV1——TOV0TOV0:T/C0溢出中断标志位(硬件自动清零)ICF1:T/C1输入捕获中断标志位(硬件自动清零)OCF1A:T/C1输出比较A匹配中断标志位(TCNT1=OCR1A时)(硬件自动清零)OCF1B:T/C1输出比较B匹配中断标志位(TCNT1=OCR1B时)(硬件自动清零)OCF2:T/C2输出比较匹配中断标志位(硬件自动清零)TOV2:T/C2溢出中断标志位(硬件自动清零)第26页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现8.Atmage816位定时计数器C/T1寄存器C/T1时钟源可来自芯片内部也可来自外部引脚T1。输入捕获单元:T/C1的输入捕获单元用于捕获一个外部事件的发生以及时间印记。外部事件发生的触发信号由TCP1输入。此外,模拟比较器的ACO单元的输出信号也可作为外部事件捕获的触发信号。输出比较寄存器:OCR1AH和OCR1ALOCR1BH和OCR1BL。比较匹配输出单元标志位:COM1ACOM1B。T/C1计数寄存器:TCNT1LTCNT1H。输入捕获寄存器:ICR1为16位输入捕获寄存器。ICR1H为高位,ICR1L为低位。此寄存器在PWM模式下,其设定值为计数器上限。输出比较寄存器OCR。比较输出发生时清楚计数器和比较输出引脚动作。9.SPI控制寄存器SPCR表3-8ATmage8SPI控制寄存器76543210SPIESPEDORDMSTRCPOLCPHAPSPR1SPR0SPIE:SPI中断允许SPE:开始允许SPI工作DORD:SPI数据发送接收的顺序。1发送接收时LSB低位在前,0时发送接收时MSB高位在前MSTR:从主机选择。0从机模式,1主机模式SPR1/SPR0:在主机模式下,通过这两位来设定SPI接口的通讯速率。这个速率也称为SCK时钟速率。但这两位的设定值对从机没有影响CPOL:时钟极性选择(1SCK在闲置时为高电平,0SCK闲置时为低电平)CPHA:时钟相位选择10.SPI状态寄存器SPSR表3-9ATmage8SPI状态寄存器76543210SPIFWCOL————————————SPIF:SPI中断标志位,当数据传送完成时SPIF将被置位WCOL:写冲突标志位第27页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现11.USART数据寄存器UDR表3-10ATmage8USART数据寄存器76543210MSB————————————LSBUDR(USART数据寄存器):USART中用于发送和接收的物理上两个分离的地址12.USART控制状态寄存器UCSRA表3-11ATmage8USART控制状态寄存器UCSRA76543210RXCTXCUDREFEDORPEU2XMPCMUCSRA(USART状态寄存器):USART工作时收发状态和异常信息RXC:接收结束标志TXC:发送结束标志UDRE:USART数据寄存器空FE:接收帧出错DOR:接收数据溢出出错PE:校验错误U2X:USART传输速率倍速MPCM:多级通讯模式允许13.USART控制状态寄存器UCSRB表3-12ATmage8USART控制状态寄存器UCSRB76543210RXCIETXCIEUDRIERXENTXENUCSZ2RXB8TXB8R/WR/WR/WR/WR/WR/WRR/W00000001RXCIE:RX接收完成中断允许TXCIE:TX发送完成中断允许UDRIE:USART数据寄存器空中断允许RXEN:数据接收允许(I/O口是否定义为USART)TXEN:数据发送允许(I/O口是否定义为USART)UCSZ2:数据位数大小RXB8:数据接收第八位第28页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现TXB8:数据发送第八位14.USART控制状态寄存器UCSRC表3-13ATmage8USART控制状态寄存器UCSRC76543210URSELUMSELUPM1UPM0USBSUCSZ1UCSZ0UCPOLR/WR/WR/WR/WR/WR/WR/WR/W00000001URSEL:寄存器选择UMSEL:USART工作模式选择(0异步,1同步)UPM【1:0】:校验方式USBS:停止位选择USZ【1:0】:传送或接收字符长度UCPOL:时钟极性15.Atmage8模数转换功能ADC有关的I/O寄存器寄存器:寄存器:::ADMUX表3-14ATmage8模数转换功能ADC有关的I/O寄存器76543210RESF1RESF0ADLAR——MUX3MUX2MUX1MUX0RESF1,RESF0:ADC参考电源选择ADLAR:ADC结果左对齐选择MUX3,MUX2,MUX1,MUX0:模拟通道选择16.Atmage8ADC控制和状态寄存器ADCSRA表3-15ATmage8ADC控制和状态寄存器76543210ADENADSCADFRADIFADIEADPS2ADPS1ADPS0ADEN:ADC使能ADSC:ADC开始转换ADFR:ADC连续转换模式选择ADIF:ADC中断标志位ADIE:ADC中断允许ADPS1,ADPS0:ADC预分频选择第29页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现17.Atmage8ADC数据寄存器ADCL和和和ADCH表3-16ATmage8ADC数据寄存器15141312111098————————————ADC9ADC8ADC7ADC6ADC5ADC4ADC3ADC2ADC1ADC076543210只有当ADCH被读取后才能继续对ADCH和ADCL进行更新ADLAR=0,右对齐ADLAR=1,左对齐ADHSM:ADC高速模式18.EEPROM地址寄存器EEAR表3-17ATmage8EEPROM地址寄存器76543210EEARHEEAR8EEARLEEAR7EEAR6EEAR5EEAR4EEAR3EEAR2EEAR1EEAR0EEAR[8-0]:EEPROM地址19.EEPROM控制寄存器EECR表3-18ATmage8EEPROM控制寄存器76543210——————EERIEEEMWEEEWEEERELSBEERIE:EEPROM准备好中断允许EEMWE:决定设置EEWE为1时是否导致EEPROM被写入EEWE:EEPROM写允许EERE:EEPROM读允许3.4.3AVRAtmage系列单片机的选型由于AVR系列单片机发展至今种类十分丰富,并且有着千变万化的功能组合,在系统开发时需要从中选择一款最合适的芯片。一般地,在选择型号时主要考虑以下方面:(1)CPU工作频率。系统所需的工作频率很大程度上决定了应选择什么处理能力的芯片型号。(2)片内存储器容量。如果系统只需要比较小的存储量,设计中只要选用片内集成一定存储量的芯片。这样做能够使设计简化。值得注意的是,普遍情况下RISC片内存储器的容量较小,在设计中需要将存储器扩展。(3)扩展能力。不同的芯片会选择相应的模块来使其适用于某些特定的应用领域。这些模块包括SPI控制器、RTC和DSP协处理器等。在设计过程中,尽量通过片内外围电路来满足设计需求。这样做能够在简化设计的同时提高系统的稳定性。最后还需考第30页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现[35]虑处理器对操作系统的支持程度、芯片的价格等。综合以上因素,本文中选取了基于AVRRISC结构的低功耗CMOS8位单片机片ATmega128/128L。3.4.4ATm3.4.4ATme3.4.4ATmeeega128/128Lga128/128L芯片介绍ATmega128/128L芯片作为AVR系列8位单片机中的一种,它具有RISC结构和低功耗的CMOS。ATmega128/128L芯片具有每MHz处理1MIPS指令的速度性能,正是以上的这些基本功能使设计人员在系统设计时达到功耗以及执行速度的平衡。ATmega128/128L主要特点有:1.先进的RISC精简指令集结构–高性能低功耗的AVR®8位微控制器–133条功能强大的指令大部分在单时钟周期内执行–32x8个通用工作寄存器+外设控制寄存器–全静态操作–工作在16MHz下具有16MIPS的性能–片内带有执行时间为两个时钟周期的硬件乘法器2.非易失性程序和数据存储器–128K字节在线可重复编程Flash,擦写次数1000次。–使用芯片自带的引导程序在BOOT区内对系统进行编程。–4K字节EEPROM,擦写次数100,000次。–4K字节内部SRAM。–最大64K字节可选外部存储器空间。–程序加密位。–在线可编程SPI接口。3.JTAG(符合IEEEstd.1149.1标准)接口–边界扫描能力。–广泛的片内Debug支持。–通过JTAG接口对Flash,EEPROM,熔丝位和加密位编程。4.外设特点–两个带预分频器和一种比较模式的8位定时/计数器。–两个扩充的带预分频器和比较模式捕获模式的16位定时/计数器。–具有独立振荡器的实时计数器。–二通道8位PWM。–6通道2到16位精度PWM。–输出比较调节器。–8通道10位A/D转换,8个单端通道,7个微分通道,2个增益为1x,10x或200x的微分通道。–两线(I2C)串行接口。第31页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现–二路可编程串行UART接口。–主/从SPI串行接口。–带内部振荡器的可编程看门狗定时器。以下具体介绍ATmega128/128L芯片各个引脚的说明:表3-19ATmega128/128L芯片引脚说明VCC电源。GND地。PortA以上各个口是8位双向I/O口,每一个引脚都有内部可选上拉电阻。A口的输出缓PortB冲有对称的驱动特性,包括吸收和输出电流当作为输入时,如果外部被拉低,由于PortC上拉电阻的存在引脚将输出电流。在复位过程中,该口为三态,即使此时时钟还未PortD起振,该口还可以用做多种特殊用途。PortEF口作为A/D转换器的模拟输入口。如果不使用A/D转换器,该口也可以作为一个8位双向I/O口。每一个引脚都有内部可选上拉电阻。F口的输出缓冲有对称的驱动特性,包括吸收和输出电流。当作为输入时,如果外部被拉低,由于上拉电阻的PortF存在引脚将输出电流。在复位过程中,F口为三态,即使此时时钟还未起振。如果JTAG口使能,即使发生复位,PF7(TDI),PF5(TMS)和PF4(TCK)的上拉电阻将被激活。G口是一个5位双向I/O口。每一个引脚都有内部可选上拉电阻。G口的输出缓冲有对称的驱动特性,包括吸收和输出电流。当作为输入时,如果外部被拉低,由于上拉电阻的存在引脚将输出电流。在复位过程,G口为三态,即使此时时钟还未起PortG振。G口还可以用做多种特殊用途。ATmega103兼容模式中,这些引脚只作外部存储器的频闪信号和32kHz振荡器的输入,即使此时时钟还未起振,在复位过程中引脚被异步初始化为PG0=1,PG1=1,PG2=0,PG3和PG4是晶振脚。RESE复位输入即使此时时钟还未起振,超过最小脉冲宽度的低电平将引起系统复位低于T最小脉冲宽度的脉冲不能保证可靠复位。XTAL1反向振荡放大器的输入和内部时钟工作电路的输入。XTAL2反向振荡放大器的输出。AVCC是PortF和A/D转换器的电源端。即使不使用ADC,也应外接到VCC端。AVCC如使用ADC,应该通过一个低通滤波器与VCC连接。AREFA/D转换器的参考电源。PEN是串行下载的编程使能信号。上电复位时保持PEN为低电平,芯片会进入SPIPEN串行编程模式。正常操作时无任何功能。3.4.5系统时钟电路ATmega128/128L芯片配有内部振荡器,但是本文中会使用外部晶振来产生时钟信号,这是因为这样可以用低外部时钟信号获得较高的工作频率,降低了因高速开关时钟所带来的高频噪声。同时,需要说明的是ATmega128/128L芯片在待命模式时,其除了晶振工作外芯片其余部分都处于睡眠状态,这样既保证了芯片的低耗能,同时芯片业能很快的启动,从而提第32页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现高其工作效率。图3-6ATmega128/128L时钟电路示意图Figure3-6ATmega128/128Lclockcircuitgeneralview图3-6所示时钟电路连接至ATmage128/128L的XTAL0和XTAL1两个引脚上,晶振产生的时钟信号传至片内的振荡器最终输入至定时控制单元。本设计中采用了8MHz的外部晶振,这样可以获得准确的串口波特率。如图3-5,本文在晶振的两端接上33pF的负载电容,这样可以使晶振方便起振。3.4.6JTAG接口电路JTAG是一种国际标准测试协议(IEEE1149.1兼容)。为了在设计过程中调试方便,故设计了JTAG电路。ATmega128/128L芯片的A/D转换器的模拟输出口F口具有JTAG功能。在片内根据JTAG协议集成了在线调试,边界扫描和逻辑编程单元,因此,在设计过程中能够通过这个借口对芯片进行调试。标准的JTAG接口具有4线:TMS、TCK、TDI、TDO。它们分别表示为TMS:测试模式选择;TCK:测试时钟;TDI:测试数据输入;TDO:测试数据输出。在ATmega128/128L芯片中,TDI对应的引脚是PF7,TMS对应的引脚是PF5,TCK对应的引脚是PF4,TDO对应的引脚是PF6。需要说明的是,当F口JTAG使能时TDI,TMS,TCK对应引脚上的上拉电阻将被激活。通常,JTAG的连接有14针接口和20针接口两种标准,本设计中采用20针接口。其具体接口引脚定义如表3-19。表3-19JTAG接口引脚定义引脚名称描述1/2VCC接电源3nTRST测试系统复位信号4/6/8/10/12/14/16/18/20GND接地5TDI测试数据输入7TMS测试模式选择9TCK测试时钟11RTCK测试时钟返回信号13TDO测试数据输出15nRESET目标系统复位信号第33页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现17/19NC未连接图3-7JTAG接口电路示意图Figure3-7JTAGcircuitgeneralview图3-7是JTAG接口电路,其与ATmega128/128L芯片的连接只要双方对应引脚相互连接即可。3.4.7RTC电路芯片ATmega128/128L片内集成RTC振荡器,RTC作用是系统时钟每一个CPU周期加一,每次系统时钟在系统初起时通过RTC初始化。考虑到设计的智能三相表可靠性要求较高,而测量数据发生错误以及故障事件常常与时间相关,因此为保证准确性和可靠性,所以虽然ATmega128/128L集成有RTC,但是由于断电时其不工作,本文额外设计了外接RTC接口电路。计时精度调整单元通过软件设时钟调整寄存器,可任意调整计时速度。本文中选用RX8025作为RTC电路中的实时计时芯片。这块芯片由EPSON公司设计制造,由于其良好的性能被广泛使用在各种电力装置类产品中,它具有中断功能、检测功能、电源电压监控功能、闹钟和时钟度调整功能。RX8025的内部结构由如下组成:(1)高精度可调的晶振,能够提供32.768kHz的起振频率;(2)7个时间寄存器;(3)5个报警寄存器;(4)2个控制寄存器,芯片的时钟工作状态可通过设置这两个寄存器来进行调整;第34页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现(5)1个数字校准寄存器;(6)1个保留寄存器。VDD3.3Db1MBR340Rb47Rb49ICb20Db2611N4007Cb65+Cb010K10K5VDDNCTESTSDA8025SCL802524Db610uF/10V10uFSCLNC131N4007SDAINTA8025108/INTANCINTB802512BTb2/INTB79FOENC3FOUT11143.6VGNDNCR8025图3-8RTC电路示意图Figure3-8RTCcircuitgeneralview实时时钟外围电路如图3-8所示。由于RX8025没有内置电池供电,为防止掉电使RX8025停止计时丢失数据,在RX8025电路采用后备电池进行掉电保护,保证时钟芯片在装置断电时也能正常运行。3.53.5通讯模块3.5通讯模块通讯模块通讯模块3.5.1Profibus3.5.1Profibus专用通讯芯片介绍3.5.1Profibus专用通讯芯片介绍专用通讯芯片介绍专用通讯芯片介绍在本文中采用Profibus总线协议与上位机进行通讯,因此采用了SPC3芯片。SPC3全称为SIMENSPROFIBUSCONTROL。它是一款专用接口芯片,适用于Profibus-DP工业现场总线。目前其被广泛应用于各类工业自动化系统中。SPC3内部结构有:(1)方式寄存器;(2)状态寄存器;(3)中断寄存器;(4)缓冲区以及缓冲器指针。SPC3芯片的特点及功能如下所示:1.SPC3使得PROFIBUS-DP从站的优化组态成为可能。2.其处理器接口支持以下各处理器:第35页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现Intel:80C31,80X86Siemens:80C166/165/167Motorola:HC11-,HC16-,HC916types3.SPC3中集成了OSI模型的第一层(特别是模拟传输RS485驱动器)和第二层的执行总线FDL以及接口服务和管理协议,余下的第二层功能如用户接口、数据管理等、就需要通[29]过软件来实现。4.内置的1.5K双端口RAM作为SPC3和微处理器的接口。整个RAM区分为192个段,每段8个字节。用户通过内部微处理器的基指针直接寻址。基指针可指向存储区的任何一个段。5.总线接口是可设置参数的8位同步/异步接口。用户可以通过11位地址线访问内部1.5KRAM和参数寄存器。6.当微处理器启动,过程特定参数(站地址、识别号等)必须传输到参数寄存器和模式[33]寄存器上。7.可以在任何时候通过访问状态寄存器查询监测和控制状态。8.进入中断控制器的事件会先等待标志寄存器的响应。然后中断确认寄存器会得到这个响应,并最终确认该事件。SPC3提供共同的中断输出。9.内置看门狗计时器工作于三个状态:波特率查询(Baud_Search)、波特率控制(Baud_Control)、DP总线控制(DP_Control)。10.微控制器(MicroSquencer)控制所有进程。11.过程特定参数(缓冲区指针、缓冲区长度、站地址等)和数据缓冲区都包含在内置[33]RAM中,控制器操作它们就像操作双端口RAM一样。[33]12.通用同步异步接收发射端(UART),可将并行数据流转换为串行数据流,或相反。SPC3可自动识别波特率(9.6KBd~12MBd)13.XX计时器可通过串行电缆直接控制总线时间。以下介绍SPC3芯片的各个引脚的定义:XCS:片选端口。对此端口,其有两种接法:当此端口接VDD,则芯片为C32mode;当此端口为CS-signal时,则芯片为C165mode。XWE/EClock:写信号/EI_Clock(Motorola)。DIVIDER:作用于CLK2OUT2/4,低电平为4分频。XRD/RW:读信号/读写(Motorola)。CLK:时钟脉冲输入。VSS:低电位端,接地。CLOCKOUT2/4:时钟脉冲被2、4分频。XINT/MOT:0=接Intel芯片;1=接Motorola。AB10:地址线。C32mode:0;C165mode:接地址线。第36页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现DB0-DB7:数据线。C32mode:数据/地址线复用;C165mode:数据/地址线分开。XDATAEXCH:PROFIBUS-DP数据交换的状态显示。VDD:高电位端,接电源。MODE:0=80C165数据/地址线分开,准备信号;1=80C32数据/地址线复用,固定计时。ALE/AS:地址锁存使能。C32mode:ALE;C165mode:0。AB9:地址线。C32mode:0;C165mode:地址线。TXD:串行口输出端。RTS:请求发送端。AB8:地址线。C32mode:0;C165mode:地址线。RXD:串行口输入端。AB7、、、AB6:地址线。XCTS:清零发送端,0=发送允许。XTEST0、、、XTEST1:正常接VDD。XTEST0:接VSS时所有输出为高阻状态;XTEST1:接VSS时为Varioustest模式。RESET:由CPU的输出端口来复位SPC3。AB1-AB5:地址线AB1-AB5:地址线。图3-9SPC3与Atmega128/128L连接示意图Figure3-9ThecircuitbetweenSPC3andATmega128/128Lgeneralview第37页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现此刻,ATmega128/128L的低8位地址线是直接与SPC3相连。这是由于SPC3内部有自己的地址锁存和解码器,并且ATmega128/128L地址线与数据线是分时共用传输线的。而ATmega128/128L的高8位地址线则直接与SPC3的AB0—AB7相连,并且必须为00000XXXX(X表示0、l信号都行),同时AB8一ABl0必须为低。SPC3的RAM负责完成其与ATmegal128/128L之间的数据通讯。在通讯过程中,SPC3会获取ATmegal128/128L的地址空间信息,从而SPC3的双口RAM会根据这个信息来进行统一的地址分配。ATmega128/128L把这片RAM当作自己的外部RAM。ATmegal128/128L通过P0和P2两个口来对外部存储器进行扩展。其中,P0口分时成为数据传输时的低8位地址线和数据线,而高8位的地址传输任务由P2口来完成。SPC3用于进行串行通信的4个管脚分别为XCTS,RTS,TXD和RXD。XCTS是SPC3的输入信号。当此信号是低电平时,表示的SPC3可以进行数据传输。需要注意的是当SPC3进行传输数据时,此信号应该始终保持低电平。RTC通常与收发器的输出使能端进行连接。[41]SPC3通过这个管脚向收发器来请求发送数据。RXD和TXD分别为串行接收和发送端口。3.5.2SPC33.5.2SPC3通讯接口的防雷击电路3.5.2SPC3通讯接口的防雷击电路通讯接口的防雷击电路通讯接口的防雷击电路由于工业现场坏境复杂,考虑到有时雷暴天气等恶劣天气的影响,SPC3与上位机的通讯线路会极易因为雷击等原因引入过电压。而SPC3的与上位机的数据收发接口工作电压较低(5V左右),其本身耐压非常低(-7-+12V),一旦过压引入,就会击穿损坏芯片。因此本文为SPC3的通讯接口设计了一个防雷击电路。图3-10SPC3通讯接口防雷击电路示意图Figure3-8PreventioncircuitoflightningforSPCinterfacegeneralview如图3-10所示,其就是为SPC3通讯接口的防雷击电路。其原理如下:当雷击发生时,T端与R端将感应过电压引入。电路中G1防止差模干扰,而G2和G3防止共模干扰,经过这两层防护后过电压迅速被削弱降低至500V左右。然后电路再通过电阻R1和R2进行限浪,TVS1/2进行二次限压。此时,收发器接受到的电压被箝制在大约6.8V。通过上述方法,可以有效的保护收发器。3.63.6本章小结3.6本章小结本章小结本章小结本章从智能三相表需要实现的功能以及其总体硬件设计开始进行介绍,再由此一步步具第38页万方数据 上海交通大学工程硕士学位论文第三章智能电力仪表的硬件实现体介绍了硬件设计中的计量电路实现,主CPU模块以及Profibus通讯模块的设计。除此之外,还在文中介绍了各个模块中主要芯片的性能,以及选用该芯片的原因。以上介绍的硬件电路是整个智能三相表实现工作的基础,是达到智能三相表各项设计要求不可或缺的必要条件。第39页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计第四章智能电力仪表的软件设计智能电力仪表的软件设计智能电力仪表的软件设计智能电力仪表的软件设计上一章中主要介绍了智能电力仪表的硬件实现,本章中会主要阐述智能三相表为了完成对硬件的控制、数据分析以及数据通讯而进行的软件设计。为使智能三相表具备较好的实时性、稳定性和可靠性,本文中决定选择μC/OS嵌入式操作系统来进行任务调度、管理硬件及软件资源,使它们能够协调有效地工作。4.1μC4.1μC/4.1μC///OSOSOSOS----IIIIIIII在在在在ATmega128ATmega128ATmega128单片机上的移植和开发ATmega128单片机上的移植和开发单片机上的移植和开发单片机上的移植和开发以下介绍µC/OS-Ⅱ移植到ATMEL公司的8位微控制器ATmega128上的过程。这个过程就是将µC/OS-Ⅱ这个实时内核在ATmega128/128L上运行,并且在这个平台上开发驱动程序,从而构成了一实用的µC/OS-Ⅱ嵌入式系统。这个µC/OS-Ⅱ嵌入式系统有两个部分,分别是软件和硬件。这其中µC/OS-Ⅱ嵌入式系统的软件又分为两个部分:(1)操作系统;(2)应用软件。操作系统是应用软件开发的基础。在这个基础上开发的应用软件具有如下优点:首先这样开发的应用软件没有底层硬件的限制,调试十分简单也便于维护;除此之外,整个应用软件开发的周期也十分短,能够提高研发效率。现在商用型的实时操作系统价格非常昂贵,而免费型的实时操作系统µC/OS-II作为一个源代码公开的实时内核已经有了10余年使用实践,许多行业都有成功应用该内核的实例。但由于µC/OS-II只是一个实时内核,它没有像商用型实时操作系统那样提供API函数接口,有很多工作需要用户去完成,还需要根据实际应用需要进行功能扩展,包括底层的硬件驱动、文件系统、用户图形接口等程序的编写。4.4.4.1.1μC4.1.1μC1.1μC/1.1μC///OSOSOSOS----IIIIIIII嵌入式实时操作系统简介嵌入式实时操作系统简介嵌入式实时操作系统简介嵌入式实时操作系统简介µC/OS-II作为一个源码公开的,被广泛应用的实时内核,具有完整、可移植、可固化、可裁减、并且能够占先式实时的执行多任务的特点。µC/OS-II内核之所以具有便于移植的特点,是因为其的编写语言是ANSIC。这其中包含了一部分与硬件有关的汇编代码,这些代码使得µC/OS-II能够应用于各类8位、16位、32位单片机或者DSP上。µC/OS-II在功能上可以分为4个功能结构,分别是:(1)任务管理;(2)任务间管理;(3)时间管理;(4)内存管理。这四个部分是相互独立的,且在设计过程中能够根据设计要求来进行配置,因此µC/OS-II内核具有对操作系统进行裁减这一特点。µC/OS-II内核的特点中还有一项是其能够占先实时的执行多任务。这是指µC/OS-II内核总是运行在就绪条件下优先级最高的任务,它总共能够管理64个任务,赋予每个任务的优先级必须是不同的,每个任务都有自己独立的堆栈,从而可以压低用户程序对内存的需求。µC/OS-II内核的函数调用以及服务执行的时间是能够确定的。这是因为应用程序任务的个数不决定服务执行时间。µC/OS-II内核的任务执行可以是一次性的,也能够是多次的甚至是无限循环的。在执行任务过程中,µC/OS-II具有休眠、就绪、运行、等待以及挂起等状态。这几个状态根据任务第40页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计执行情况相互转换。并且µC/OS-II通过信号量、邮箱以及消息队列来控制数据共享和任务通讯。在设计过程中,用户端需要给µC/OS-II内核提供定时中断,这个定时中断也叫做时钟节拍。这个时钟节拍是用来控制延时和超时等功能的,其实际频率亦由用户决定,通常为10-100Hz。但需要注意的是,节拍频率愈高系统负荷随之愈重。4.1.2ATmega1284.1.2ATmega128/128L4.1.2ATmega128/128L/128L的中断响应机制/128L的中断响应机制的中断响应机制的中断响应机制ATmega128/128L的34个中断源都各自有独立的中断允许控制位以及中断向量。在程序执行过程中,系统响应中断需要满足两个条件:(1)中断源的中断允许控制位置1;(2)全局的中断允许控制位置1。当该中断被响应后,后续的中断因为全局中断允许控制位清零将不再被响应,直到中断返回指令响应全局中断允许控制位随之再次置1。需要说明的是,当低优先级的中断正在处理工作时,高优先级的中断并不能打断这个工作。高优先级体现在当多个中断同时向系统发出中断请求信号时,系统会首先响应优先级最[34]高的中断。由于µC/OS-Ⅱ的任务切换实际上是模拟一次中断,因此需要知道ATmega128/128L的中断响应机制。中断发生时,ATmega128/128L按以下步骤顺序执行,见图4-1:(1)全局中断允许位I清零。(2)将指向下一条指令的PC值压入堆栈,同时堆栈指针SP减2。[35](3)选择最高优先级的中断向量装入PC。程序从此地址继续执行中断处理。(4)当执行中断处理时,中断源的中断允许控制位清零。中断结束后,执行RETI指令,此时:①全局中断允许位I置“1”。②PC从堆栈推出,程序从被中断的地方继续执行。特别要注意的是:需要注意的是:ATmega128/128L在中断响应期间,其状态寄存器以及通用寄存器的中断保护需要用户自行设置完成。这是因为在这期间,单片机不会自动对这两个寄存器进行保存和恢复。第41页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计图4-1ATmega128/128L中断程序示意图Figure4-1ATmega128/128LinterruptprogramATmega128/128L有三个定时器:T0,T1,T2,可以为µC/OS-II提供精确的时钟源。其中T1和T2这两个定时器还具有特殊的匹配中断功能。系统若是使用这两个定时器,只要对它们设定一个值。当定时器达到该值后,这两个定时器能够自动发出中断请求,等待中断响应,并且定时器自动清零。这个过程免去了用户在程序中重新装载定时器的值,从而提高设计效率。4.1.34.1.3将4.1.3将将将μCμCμC/μC///OSOSOSOS----IIIIIIII移植到移植到移植到ATmega128移植到ATmega128ATmega128/128LATmega128/128L/128L单片机上/128L单片机上单片机上单片机上移植就是使一个实时内核能在ATmega128/128L上运行。µC/OS-II大部分的代码是用ANSIC编写的,因此移植性很好。但是对不同的微处理器,仍然需要使用C和汇编语言来编[35]写其中与处理器相关的代码,寄存器的读、写只能通过汇编语言的存储和加载指令来实现。要使内核能够正常工作,ATmega128/128L必须满足以下要求:表4-1处理器在μC/OS-II内核平台下的工作条件处理器的C编译器能产生可重入代码;可重入代码是指可以被一个以上的任务调用,1而不必担心其数据会被破坏的代码。可重入代码任何时候都可以被中断,一段时间以后又可以重新运行,而相应的数据不会丢失,不可重入代码则不行。用C语言可以打开和关闭中断,在C语言中内嵌汇编语句且提供专门开关中断的宏:2CLI()和SEI()。这样使得C语言中开关中断很方便。处理器支持中断,并且能够产生定时中断(通常在10-100Hz之间),ATmega128/128L3有3个定时器,能产生µC/OS-Ⅱ所需定时中断。第42页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计处理器能够支持容纳一定数量的硬件堆栈,ATmega128/128L有4KRAM,硬件堆4栈可以开辟在这4KRAM中。处理器有将堆栈指针和其他寄存器读取和存储到堆栈或内存的指令,一般的单片5机都满足这个要求,且ATmega128/128L还具有直接访问I/O寄存器的指令。移植的实现µC/OS-Ⅱ的移植工作包括以下几个内容:(1)用Typedef声明与编译器相关的数据类型(在OS-CPU.H文件中),由于不同的微处理器有不同的字长,在µC/OS-Ⅱ代码中不能使用C语言的shORT、inT、lOng等数据类型,而采用INT8U、INT16U、INT32U等直观又可移植的数据类型来代换相应数据类型。(2)用#define设置一个常量OS-STK-GROWTH的值(OS-CPU.H)。当这个值为1时说明堆栈是从上往下生长的,反之则将该值置0即可。(3)#define声明三个宏(OS-CPU.H)。即进入临界代码段(criTicaLcOdEsecTiOn)的方法OS-CRITICAL-METHOD定义为3。在宏OS-ENTER-CRITICAL()中得到当前处理器状态字的值,在宏OS-ENTER-CRITICAL()中得到当前处理器状态字的值,并将其保存在C函数的局部变量中,这个变量在宏OS-EXIT-CRITICAL()中用于恢复PSW。宏OS-TASK-SW()是在内核从低优先级任务切换到高优先级任务时用到的,它总是在任务级代码中被调用。在ATmega128/128L中,函数OSCTxSw()可被用来实现任务切换的功能。(4)用C语言编写十个简单的函数(OS-CPU-C.C)如下所视:1OS2TAskSTKIniT()2OSIniTHoOkBegiN()3OSIniTHoOKEnd()4STAskCreaTeHoOK()5OSTAskDelHoOK()6OSTAskSwHoOK()7OSTAskSTaTHoOK()8OSTCBIniTHoOK()9OSTimETickHoOK()10OSTAskIdIeHoOK()实际需要修改的只有OSTAskSTKIniT()函数,其它九个函数都是由用户定义的。如果用户需要使用这九个函数,可将文件OS-CFG.H中的#definEcOnsTAnTOS-CPU-HOOKS-EN设为1,设为0表示不使用这些函数。函数OSTAskSTKIniT()是由OSTAskCreaTE()或OSTAskCreaTEExT()调用,用来初始化任务堆栈的。经初始化后的任务堆栈应该跟发生过一次中断后任务的堆栈结构一样。ATmega128/128L在发生中断后,需要保存的参数有如下几个:(1)程序计数器;(2)状态寄存器;(3)通用寄存器;(4)SP值。(5)编写四个汇编语言函数(OS-CPU-A.S),这四个汇编语言函数的作用如下表4-2所示。表4-2四个汇编语言函数的功能介绍函数函数名函数名名名功能OSSTARTHighRdy()使就绪态任务中优先级最高的任务开始运行。完成将处理器的寄存器保存到堆栈中的任务后,将任务指针指向要恢复OSCTxSw()运行的任务,复制新任务的优先级,得到新任务的堆栈指针,恢复将运行任务的寄存器。OSIntC2TxSw()完成在ISR中执行任务的切换。提供系统时钟节拍服务;这些函数涉及到出栈和入栈操作,因此需要用OSTicKISR()汇编语言编写。第43页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计做完以上工作,就可以运行一些简单的中断任务来测试内核的移植是否正确。根据上述内容,本设计完成的步骤如下:(1)INCLUDES.H文件INCLUDES.H文件是主头文件,在所有后缀名为.C的文件的开始都包含INCLUDES.H文件。使用INCLUDES.H的好处是所有的.C文件都只包含一个头文件,简洁,可读性强,但是其会包含不必需的头文件,从而使编译时间变长。/OS-II图4-2INCLUDES.H文件Figure4-2INCLUDES.Hfile(2)OS_CPU.H文件OS_CPU.H包括了用#define定义的与处理器相关的常量、宏和类型定义。其中需要注意以下三点:一是堆栈的生长方向。ATmega128/128L堆栈的方向是从高地址到低地址的。根据本文中关于µC/OS-Ⅱ移植工作的论述,需要将OS_STK_GROWT.H这个值置1。[36]二是进入临界代码段(criticalcodesection)的方法。µC/OS-Ⅱ提供了三种进入临界代码段的方法,这三种方法如下:(1)在进入临界代码段时,将中断允许位置0;退出时,再将中断允许位置1。但是这个方法存在着问题,就是即使中断一开始被关闭,若后续调用µC/OS-Ⅱ功能函数,当函数返回后中断也许可能会再次被打开。(2)在进入临界代码段时,保存中断状态,接下来将中断任务关闭;与之对应的是,退出临界代码段时,从堆栈中恢复前面保存的中断状态。(3)用户通过扩展功能将当前处理器状态的值保存为一个局部变量。然后中断结束后可根据这个变量值来恢复状态寄存器。但是在本文中不采用这个方法,因为ICCAVR不具备扩展功能。第44页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计综合上述所说,由于第一种以及第三种方法时都不能完全满足本文设计中的要求,故本文使用第二种方法。三是任务切换函数OS_TASK_SW()是个宏,具体的实现是在OSCtxSw()(OS_CPU_A.S)中。图4-3OS_CPU.H文件Figure4-3OS_CPU.Hfile第45页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计(3)OS_CPU_C.C文件依据上述自定义任务堆栈的结构,编写的函数清单如下,函数名为OSTaskStkInit():图4-4OS_CPU_C.C文件Figure4-4OS_CPU_C.Cfile第46页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计4.24.2硬件驱动程序的编写4.2硬件驱动程序的编写硬件驱动程序的编写硬件驱动程序的编写µC/OS-II移植完成以后,就要在实时内核之上编写外设驱动程序。外围设备的接口可以通过外设的驱动程序进行访问。除此之外,外设驱动程序还可以分离操作系统和外围硬件。这样操作的好处是即使外设发生改变,只需修改驱动程序即可,而操作系统不需要做任何修改。外设驱动程序主要完成以下功能:(1)对设备初始化和释放;(2)把数据从内核传送到硬件和从硬件读取数据;(3)保证与应用程序之间的数据传输联接。4.2.1SPI4.2.1SPI总线驱动4.2.1SPI总线驱动总线驱动总线驱动SPI总线的全称为SerialPeripheralInterface,它是由Motorola公司最早提出的总线结构。SPI总线的基本特点是同步串行外设,即其能够同时发出和接收串行数据。SPI接口通常使用4条线,如下表4-3所示。表4-3SPI接口4线说明1SCK串行时钟线2MISO主机输入/从机输出数据线3MOSI主机输出/从机输入数据线4SS从机片选线SPI通常工作在主从模式下。由一个主设备通过SPI保持与一个或者多个从设备之间的通讯。而从机片选线SS的作用就是选择当前与主设备进行通讯的从设备。MOSI的作用是主设备通过该线向从设备发送数据。而从设备需要向主设备发送数据时则需要通过MISO来完成。[36]在SPI传输中,总线时钟由主机产生。通过时钟极性以及时钟相位来设置总线时钟。其中时钟极性简称为CPOL,时钟相位简称为CPHA。设置总线时钟的方式如下:CPOL定义SPI串行时钟的活动电平状态,如果CPOL为1,SCK的空闲状态为高电平,反之为低电平;而CPHA定义了SPI总线数据的采样位置,如果CPHA为0,则总线在SCK的第一个跳变沿采样数据,否则在第二个跳变沿采样数据。由此可见,CPOL和CPHA的组合决定了数据取样的时钟沿。图4-5所示,给出了CPOL=1,CPHA=1时,SPI数据传输时序图。数据线上的数[45]据变化在SCK的下降沿,数据的采集在SCK的上升沿,此时数据应保持不变。不同SPI设备数据改变、采集的时间不完全相同。主机配置SPI接口时钟时需以从设备为基准,驱动程序应保证SPI主机提供的串时钟信号满足与之通信的外设的时钟相位、时钟极性以及时钟频率等要求。第47页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计图4-5SPI数据传输时序图Figure4-5SPIdatatransmissionsequentialchartATmega128/128L的SPI接口通过硬件方式实现面向字节的全双工3线同步通信。其通信速率有7种可供选择,主机方式的最高速率为1/2系统时钟,从机方式最高速率为1/4系统时钟。程序存储器的编程也可以通过ATmega128/128L的SPI接口来实现数据的下载和上传。但特别需要注意的是,此时SPI的MOSI和MISO接口不再对应PB2、PB3引脚,而是转换到PE0、PE1引脚上(PDI、PDO)。由于ATmega128/128L的SPI采用的是硬件接口,并且其采用的中断方式是传输完成中断申请。本文中采用中断方式结合数据缓存器的思路来实现SPI数据传输,这种设计方法最为适合SPI结构以及中断方式的特点,使其整个数据传输更加高效。在对SPI初始化时,应注意以下几点:[37]1.正确选择和设置主机或从机,以及工作模式(极性),数据传输率;2.注意传送字节的顺序,区分高位传输或者地位传输的优先级;3.正确区分设置主机与从机的输入输出方向。在本文中电力计量专用芯片ATT7022B只能作为SPI从器件,将它与ATmega128/128L的SPI0和SPI1接口连接,配置ATmega128/128L为SPI主机模式。ATmega128/128L中SPI功能模块由以下3个寄存器控制:SPCR:SPI控制寄存器。其主要作用是关于控制与结束SPI开始,控制SPI中断允许,控制SPI从主机选择,控制SPI数据发收的顺序,控制主机模式下的SPI速率以及控制SPI时钟的极性相位选择。SPDR:SPI数据存储器。其功能是负责数据的发送和接收。串行数据的发送和接收通过内部移位寄存器来实现。SPSR:SPI状态寄存器。其主要包含有SPI中断标志位以及写冲突标志位。第48页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计图4-6主机与SPI从机字节传输的软件实现示意图Figure4-6BytetransmissionprogammebetweenmasterandslaveSPIflowchart如图4-6所示,ATmega128/128L作为主机与SPI从机字节传输的基本软件实现方法如下:首先进行主机SPI控制器的初始化,包括设置管脚模块为SPI接口,通过寄存器SPCR来配置SPI时钟,并设置SPCR使其工作在主机模式,根据从器件工作特性配置SPI时钟极性等;其次片选从机,将数据写入SPDR,将数据发送出去;等待数据发送完毕,即SPIF置位;最后取消从机选择,读取接收到的数据SPDR。4.2.1.1ATT7022B4.2.1.1ATT7022B的4.2.1.1ATT7022B的的的SPISPISPI驱动函数SPI驱动函数驱动函数驱动函数1.ATT7022B的SPI读操作图4-7SPI读操作时序图Figure4-7SPIreadingprogramsequentialchart如图4-7所示,这是ATT7022B将计量参数通过SPI传输给ATmega128/128L的操作示意图。ATmega128/128L作为主设备设置CS引脚为低,开始在DIN发送一个包含ATT7022B地址的命令字后后,ATT7022B的SPI接口开始读操作。需要注意的是ATT7022B在DIN上发出这个命令字后,可能需要一个等待时间,然后才能通过SPI读取24Bits的数据。ATT7022B在其后的SCLK由高到低电平切换时刻将数据发送到DOUT线上,主设备ATmega128/128L第49页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计在SCLK由低到高电平切换时读取数据。值得注意的是发送命令时MSB在前,LSB在后,接收数据时也是MSB在前,LSB在后。ATmega128/128L在接收到最后一位后,设置CS为高,SCLK线为低,结束传输。ATT7022B的SPI方式下寄存器的读操作流程如图4-8所示,驱动据此定义了ATT7022B的SPI方式下寄存器读函数为Read_SPI,其如图4-9所示。图4-8ATT7022B的SPI方式下寄存器的读操作流程图Figure4-8RegisterofATT7022BSPIreadprogramflowchart第50页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计图4-9SPI方式下寄存器读函数为Read_SPI示意图Figure4-9Read_SPIgeneralview2.ATT7022B的SPI写操作图4-10SPI写操作时序图Figure4-10SPIwriteprogramsequentialchart如图4-10所示,这是ATmega128/128L通过SPI对ATT7022B进行写操作的时序图。ATmega128/128L作为主设备设置CS引脚为低,开始在DIN发送一个包含ATT7022B地址的命令字后,ATT7022B的SPI接口开始读操作。这里需要注意的是当ATmega128/128L发送命令字后不需要等待,直接继续通过SPI的DIN线写入24bits数据即可。发送数据和命令时,第51页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计MSB在前,LSB在后。ATmega128/128L在写完最后一位后,设置CS为高,SCLK线为低,结束传输。驱动定义了ATT7022B的SPI方式下寄存器写函数为Write_SPI,其如图4-11所示。图4-11SPI方式下寄存器写函数为Write_SPI示意图Figure4-11Write_SPIgeneralview4.2.2I/O4.2.2I/O口驱动4.2.2I/O口驱动口驱动口驱动ATmega128/128L提供了7个I/O口,在本文中ATmega128/128L与Profibus专用通讯芯片SPC3之间的通讯就通过I/O口完成。ATmega128/128L的I/O口通讯相关的寄存器主要由如下3个:DDRx:I/O方向寄存器。PORTx:I/O数据寄存器。PINx:I/O输入引脚寄存器。读PINxn来获取当前引脚电平值。第52页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计图4-12I/O读操作的时序图Figure4-12I/Owriteprogramsequentialchart如图4-12所示,这是ATmega128/128L进行I/O读操作的时序图。首先要先设置DDRx确定I/O口方向,然后由Instructions发送一个包含地址的命令字。然后PORT口开始传输数据。其程序代码如下:图4-13I/O读操作程序示意图Figure4-13I/Owriteprogramgeneralview4.34.3智能电力仪表的应用程序设计4.3智能电力仪表的应用程序设计智能电力仪表的应用程序设计智能电力仪表的应用程序设计任务设计是基于μC/OS-II操作系统下应用程序设计的基础。用户任务在创建时被赋予唯一的静态优先级。这其中最高优先级的任务进入运行状态,其他任务进入就绪状态。当前任务完成所需功能之后调用延时函数主动放弃对CPU的使用权进入等待状态,任务切换至当前就绪态中最高优先级任务,时钟中断服务在时限到达时将等待态任务再次就绪。当有中断产生时,系统进入中断态,CPU转入运行中断服务程序。任务与中断、任务相互间的通信主要通过信号量、全局变量等机制实现。智能电力仪表会通过加载代码来进入主函数。在进入主函数后,智能电力仪表内会进行第53页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计三项操作:首先是初始操作系统;然后创建启动任务;最后启动操作系统。操作系统会首先执行启动任务。启动任务主要的功能是初始软、硬件的各项设置以及参数。其中硬件的初始化通常包括I/O引脚配置、时钟系统初始化、中断系统初始化、ATT7022B初始化及校准等。软件初始化主要包括信号量的创建、历史电量处理和FFT旋转因子初始化等。ATT7022B初始化及校准是实现电力参数测量的关键步骤,其操作流程如图4-14所示。图4-14ATT7022B初始化及校准流程示意图Figure4-14ATT7022Binitializationprogramflowchart本文中ATT7022B采用SPI串口与Atmega128/128L通信,这就需要调用ATT7022B的SPI接口初始化驱动函数完成串口选择。接着调用ATT7022B写函数向相应的寄存器写入相应的值来配置及校准ATT7022B。初始化必要的寄存器后,启动其内部DSP,DSP执行指令进行有效值及电能计算。最后等待Atmega128/128L读取。启动任务接着会让整个系统开始处理数据,并且分析谐波影响。除此之外,其还会控制串行口的数据通信。其中谐波分析和串行口接收任务为触发任务,分别由波形采样中断发送信号量和串行口接收任务发送邮箱消息,其他任务周期执行。任务主要完成数据处理、谐波分析、串行通信功能。数据处理任务周期读取ATT7022B电压、电流有效值寄存器,有功、无功电能寄存器,相角差寄存器和周期测量寄存器,并对数字值进行处理得到真实值保存到内存中。电能测量实现正向、反向有功电能的累加,ATT7022B监测有功功率的符号变化,置位中断状态寄存器中的相应位,并触发中断。在稳定负载下,累加寄存器可累加70多小时而不至于溢出,数据处理任务定时读取电能参数并自动清零,程序对其计算累加并定时保存到EEROM,以免-3断电丢失。程序中将瓦时寄存器每1LSB配置为10Wh,实现精确计量。串行口接收任务、串行口发送任务的主要工作在于按照DL/T645规约对发送和接收的数第54页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计据打包和解包。通信的建立与解除由主站发出的信息帧控制。接收任务通过起始字符判断接收数据是否为消息帧,当接收到有效消息帧时,根据其控制码命令向串行口发送任务发送相应的邮箱消息,完成相应数据的发送。谐波分析任务负责对采样的波形进行软件同步并FFT求解2-31次谐波含量。FFT算法采用定点计算,运行速度很快。电压电流波形采样在中断中实现,通过调用ATT7022B的SPI读写驱动获取数据,考虑到系统负担和SPI通讯速度因素,采取每次只读取A、B、C其中一相数据,轮流依次采集。当ATT7022B以8KHz频率完成采样之后,Atmega128/128L根据其控制器控制好定时间隔,周期的通过SPI口读取。μC/OS-II下任务设计需要为任务安排合适的优先级。启动兼监控任务占有最高优先级,串口接收和发送任务与中断服务相关联,串行口接收任务还要求不遗漏接收内容,实时性要求比较高,赋予较高优先级。谐波分析与采样中断相关,优先级高于数据处理。通过任务划分简化了编程难度,任务并行执行提高了系统的稳定性和实时性。4.44.4智能电力仪表的4.4智能电力仪表的智能电力仪表的Profibus智能电力仪表的ProfibusProfibus通讯协议程序设计Profibus通讯协议程序设计通讯协议程序设计通讯协议程序设计在本文中选择了使用Profibus总线协议作为智能电力仪表与上位机的通讯实现方式,并且选用SPC3专用芯片来实现这一目的,本文之所以选用SPC3专用通讯芯片是因为传输数据时上位机可与与SPC3进行直接沟通,而本文只要完成当SPC3向Atmega128/128L提交数据请求时将相应Atmega128/128L内部寄存器的数据发送给SPC3,SPC3会自动打包成符合Profibus协议的数据帧发给上位机,不需用软件完成Profibus协议,因此软件设计大大简化了。本节将分为三个部分来探讨如何使用SPC3芯片来完成在Profibus协议下智能电力仪表与上位机的通讯。第一部分是4.4.1节至4.4.4节,主要探讨的是为了能够使SPC3开始正常工作,对SPC3进行初始化,诊断设置以及中断设置的软件实现;第二部分是4.4.5节,主要探讨上位机的通讯编程,通过该程序可与SPC3进行数据通信;第三部分是4.4.6节,主要阐述了GSD文件的编制过程。4.4.1SPC34.4.1SPC3初始化函数4.4.1SPC3初始化函数初始化函数初始化函数DP智能从站上电或者复位后,会进行如下的操作:首先复位SPC3,初始其内部的各项设置;触发硬件看门狗;清零SPC3内部RAM单元(1016H~15FFH);设置SPC3允许的中断;写入从站识别号和地址以及地址是否可以被PROFIBUS-DP改变;设置SPC3内部看门狗计时初值;设置SPC3方式寄存器;设置各个缓冲区的初始长度,并求出它们的指针;获得波特率,针对波特率控制要求调整看门狗的初始[47]值。SPC3初始化框图如图4-15所示。第55页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计图4-15SPC3初始化流程图Figure4-15SPC3initializationprogramflowchart(((1)))SPC3硬件复位首先通过应用程序来将SPC3复位。然后将其内部的RAM中各个参数值初始化。(((2)))编译器设置)编译器设置本文在编译器设置中定义2个变量。这两个变量分别为DPS2_SPC3以及SPC3_DATA_XDATA。前者用来激活DPS2接口,后者用来支持ATmega128/128L对SPC3的访问。(((3)))硬件模式)硬件模式SPC3的硬件设置包括有中断输出的判定,中断时钟的设置,同步以及锁定功能的实现,故障判定的报文,在DP模式下建立所有的DP访问点等内容。上述功能实现由宏DPS2_SET_HW_M0DE(X)来实现。(((4)))设置)设置SPC3中断屏蔽寄存器第56页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计宏DPS2_SET_IND()来完成中断屏蔽寄存器的设置。(((5)))SPC3内部看门狗用户看门狗用于确保出现故障时,SPC3能在DPS2_SET_USER_VALUE(X)设定的时间内进行数据通信后,时间完后则离开数据交换通信状态。只要Atmega128/128L没有问题,则需不断地用DPS2_SET_USER_WD重新触发看门狗电路。(((6)))设备标识码)设备标识码[38]在启动过程中,应用程序读取标识码,并将其传送到SPC3芯片中。(((7)))响应时间)响应时间对于某些特殊应用,设计中通过DPS2_SET_MINTSDR(X)为SPC3设置最小的从站响应[38]时间。(((8)))缓冲区初始化)缓冲区初始化由于用于通信的缓冲区占用SPC3双口RAM的资源。所以,设计中需要设置各个缓冲区的长度使其不溢出。上述过程可通过DPS_BUFINIT来完成。然后再通过SPC3_INT()或者DPS2_BUF_INIT()这两个函数来测试缓冲区初始化的结果。(((9)))波特率控制)波特率控制用宏DPS2_SET_BAUD_CNTRL()可以设置波特率控制模式。4.4.24.4.2诊断数4.4.2诊断数诊断数据的发送诊断数据的发送据的发送据的发送SPC3分配了两个缓冲区来处理诊断数据。这两个缓冲区的长度是可变的,它们的功能分别是:当SPC3接受到上位机发出的诊断命令后,第一个缓冲区将其数据信息发送给上位机;第二个缓冲器主要完成新诊断数据的预处理工作。在诊断服务中,将外部诊断数据保存在diag_buffer中,并由宏NEL_DIAG_CMD启动诊断数据的传送,然后用“Diag_buffer_changed”确认诊断数据已传送,设置Diag_Flag标志,下一个读写周期将由高优先权响应新的诊断请[8]求。系统在外部诊断数据输入之前需要先完成两个步骤。首先将诊断以及状态信息存入诊断数据缓冲区中去。在这个步骤中,宏DPS2_GET_DIAG_BUF_PTR()主要完成上述缓冲区的寻址工作。接下来系统会设定诊断数据的长度。这个诊断数据的长度必须要小于诊断缓冲区的长度并且在接收到缓冲区寻址指针后,才能被调用。当上述两个步骤完成后,外部诊断数据会正式进入传输过程。这部分数据会先存储在SPC3的用户诊断缓冲区中。然后其反馈一个新的诊断数据缓冲区指针。接下来SPC3会等待诊断发送命令。待收到命令后,SPC3会将诊断数据发送到诊断发送缓冲区,然后把用户诊断缓冲区的状态变为空闲可使用,以便有后续新的诊断数据存储。然后诊断数据将会被发出,等到发送完毕后,SPC3再将诊断缓冲区状态置为可用。在此过程中,宏到此,诊断数据的一个发送过程即完成了。4.4.4.4.34.4.333SPC3SPC3SPC3的中断程序设计SPC3的中断程序设计的中断程序设计的中断程序设计SPC3用中断程序模块来处理各类事件。这些事件包括:全局控制命令报文事件;进入或第57页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计退出数据交换状态事件;新的配置报文事件;新的地址设置报文事件;监测到波特率事件和看门狗溢出事件;新的参数报文事件。除此之外,对于组态和参数报文的正确性确认以及从站地址设置,由软件通过中断来完成。采用外部中断INTO输入,其入口地址为0003H。本文中使用扩展属性的函数定义语法voiddps2_ind(void)interrupt0调用外部中断INTO,当外部中断0被触发时,将会执行此中断模块中的服务函数,在函数中由[39]DPS2_GET_INDICATION()宏可以读出相应的事件信息,并进行各个中断事件的处理。中断程序流程如图4-16所示。图4-16SPC3中断程序流程图Figure4-16SPC3interruptprogramflowchart中断程序需用到以下宏接口:●DPS2_SET_IND()宏用于设置SPC3中的中断屏蔽寄存器,其格式为:#defineSPC3_SET_IND(INDS)spc3.is_reg.mask=~(INDS);第58页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计●DPS2_GET_INDCATION()宏可以读出相应的事件信息。宏定义格式是:#defineSPC3_GET_IND_MAC_RESET()(spc3.int_reg.com.b[_IML]&MAC_RESET_EX_B)●DPS2_SET_EOI()宏关中断,使得SPC3在时间基1us或lms内不允许中断产生,之后重新允许系统识别其它中断事件。头文件中宏定义的格式为:#defineSPC3_SET_EOI()spc3.xl.w.mode_regl_s=0x024.4.4.4.44.4.444上位机与上位机与上位机与SPC3上位机与SPC3SPC3数据通讯的程序实现SPC3数据通讯的程序实现数据通讯的程序实现数据通讯的程序实现本节中主要讨论智能电力仪表通过SPC3芯片在Profibus协议下向上位机发送数据的软件实现,从而实现人机操作任务。本文选用SPC3芯片的最大原因是考虑到SPC3作为Profibus专用芯片,当需要传输数据时上位机直接与SPC3进行沟通,而本文只要完成当SPC3向CPU提交数据请求时将相应CPU内部寄存器的数据发送给SPC3的任务即可,因为SPC3会自动将数据打包成符合Profibus协议的数据帧发给上位机,不需用软件完成Profibus协议,因此软件设计大大简化了。所以这种通讯方法,与一般的自由通讯协议相比,省略了通讯程序编写。在现场应用中,当需要智能电力仪表与上位机通讯时,如果不采用上述方法而使用其他自定义协议与上位机通讯。除此之外,对于组态和参数报文的正确性确认以及从站地址设置,由软件通过中断来完成。与使用SPC3相比,采用自定义协议这种方式的缺点显而易见,如下:(1)由于需要给CPU编写通讯程序,所以势必会占用其代码资源。另外,程序调试也不方便;(2)数据的通讯都会被做为中断来实现,这也会增加CPU的事件量从而占用其中断资源;(3)需要自行定义通讯格式,这样软件对传输数据的过程无法监控,影响数据通讯的准确率。在本文所涉及的通讯程序中,完成一次读写操作包含有四个步骤。首先上位机会根据需要向智能电力仪表发出数据读写的命令。然后智能电力仪表在接受到该命令后,会反馈给上位机一个响应,表示命令接受正确。接下来上位机再次向智能电力仪表发出命令,表示确认申请。最后智能电力仪表根据该命令来发送数据给上位机。这样收发两次数据,完成一次数据的读写。其通讯数据报文格式大致有以下几类:1...读写申请的数据格式如下.读写申请的数据格式如下读写申请的数据格式如下:读写申请的数据格式如下SYNSDLELERSDDASAFCDASPSSAPDUFCSEDSYN:同步时间SD:(StartDelimiter)开始定界符(68H)LE:(Length)报文数据长度LER:(RepeatedLength)重复数据长度SD:(StartDelimiter)开始定界符(68H)SA:(SourceAddress)源地址,指该地址的指针,为地址值乘以8DA:(DestinationAddress)目标地址,指该地址的指针,为地址值乘以8FC:(FunctionCode)功能码DSAP:(DestinationServiceAccessPoint)目的服务存取点SSAP:(SourceServiceAccessPoint)源服务存取点第59页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计DU:(DataUnit)数据单元FCS:(FrameCheckSequence)校验码ED:(EndDelimiter)结束分界符(16H)从目标地址至数据单元之间的数据长度就是LE以及LER的值。而将目标地址至数据单元之间的所有数据求和再进行校验即可得到校验码。将FC的值设置为6CH,则上位机读取智能电力仪表中的数据;而当FC的值为7CH时,上位机向智能电力仪表写入数据。2、、、智能、智能智能电力仪表智能电力仪表电力仪表接收到读写命令电力仪表接收到读写命令接收到读写命令,接收到读写命令,,,校验后正确校验后正确校验后正确,校验后正确,,,返回的参数应答报文格式为返回的参数应答报文格式为返回的参数应答报文格式为返回的参数应答报文格式为SDLEDASAFCDSAPSSAPDUFCSED而确认校验准确,准备接受的功能码是E5H。3、、、确认读写命令的数据格式为、确认读写命令的数据格式为确认读写命令的数据格式为:确认读写命令的数据格式为SDSADAFCFCSEDSD:为起始符,为10HSA:为数据源地址DA:为目的地址FC:为功能码,取5CHFCS:为SA+DA+FC的和的末字节ED:为结束符,取16H在采用上位机与智能电力仪表通讯时,通讯系统采用主从结构,上位机遵循Profibus协议格式,发出读写申请,智能电力仪表返回相应的数据。程序实现如下:1.通讯端口初始化程序:MSComm1.CommPort=1MSComm1.Settings="9600,e,8,1"MSComm1.InputLen=0MSComm1.RThreshold=1MSComm1.InputMode=comInputModeBinary2.通讯端口读取数据程序,以读取VB100数据单元为例:DimStr_Read(0To32)‘定义传输出去的数据是一组数组。其中以字节为单位。’Str_Read(32)=&H16‘相应的数组元素赋值,按照以下格式:’Str_Read(29)=(100*8)256‘设置该地址成为指针数值。并且优先取高位地址指针。’Str_Read(30)=(100*8)Mod256‘取低位地址指针’Str_Read(24)=1‘读取的数据长度(Byte的个数)’ForI=4to30Temp_FCS=Temp_FCS+Str_Read(i)NextIStr_Read(31)=Temp_FCSMod256‘计算FCS校验码,其它数组元素赋值省略。’681B1B68206C32100000E004112A10201018403208B16智能电力仪表返回数据E5后,确认读取命令,发送以下数据:10205C5E16然后上位机接受到以下数据:68161668028323000002050041FF408227816最初先将数据发送的源地址以及数据接收的目标地址进行甄别。然后通过校验来确认返回的数据。最后解析出26号数据就是所要传输的数据。第60页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计3.通讯端口写入数据程序,以写VB100数据单元为例:DimStr_Write(0To37)‘定义传输出去的数据是一组数组。其中以字节为单位’。Str_Write(37)=&H16‘相应的数组元素赋值,按照以下格式’。Str_Write(35)=&H10‘要写入的数据值’。例如写入:68202068207C32100000E055112A10201018403200408CB916智能电力仪表返回数据E5后,确认写入命令,发送以下数据:10205C5E16然后上位机程序接受到以下数据:68121268028323000002010051FF4716这是智能电力仪表正确接收并写入信息的返回数据。4.4.4.4.54.4.555电子设备数据文件电子设备数据文件电子设备数据文件GSD电子设备数据文件GSDGSD的编制GSD的编制的编制的编制GSD文件全称为电子设备数据库文件。在这个文件中详细描述定义了Profibus设备的各类特性,这些特性包括设备的现有功能以及总线参数。正是依靠GSD文件对设备数据文件的说明,有效弥补了由于生产厂商以及设备应用不同从而导致的Profibus设备参数相异的缺陷。这样通过GSD文件就能够满足Profibus设备简单有效、即插即用的特点。生产厂商对于自己设计研发的每一类Profibus设备的功能特性都会通过专用的格式进行精准的描述说明,这些说明就在GSD文件中得以体现,并最终将GSD文件以电子数据单的形式提供给用户使用。GSD文件对于设备正常运行的意义可以归结为两点,分别为:(1)通过文件中对于设备参数以及功能的精确定义和说明,所有标准主从站之间的数据通讯能够得到保障;(2)将GSD文件中的数据进行标准化操作,能够提升控制级别。提升的最大空间至操作员控制级。GSD文件用特定的数据格式来说明设备特性是基于以下两点的考量。第一,这种数据格式能够明确并且全面简单的说明Profibus-DP的设备数据文件。当需要这些设备参数时,即使不同的组态系统都能够识别出数据格式,并且从中读出信息。第二,在组态过程中,这种数据格式方便组态工具核对校准输入参数,选取组态数据以便集成相异厂商的设备到相同总线中去。GSD文件通常分为3个部分,如下表4-4所示:第61页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计表4-4GSD文件结构说明名称说明这部分包括厂商和设备名称,软硬件版本号,支持的波特1总体说明率,可能的监控时间间隔等。这部分包括所有只适用与DP主设备的参数,例如:可连2DP主设备的相关规定接的从设备的最多台数或加载和卸载能力等。包括与从设备有关的所有规定,如:I/O通道的数据和类3从设备的相关规定型,诊断测试的规格及1/O数据一致性信息等因为在项目中开发的是Profibus-DP从站,所以编制的GSD文件只采用了一般规范和与DP从站有关的规范。这些规范用关键词表示。共有4种关键词:M表示必选的;0表示可选的;D表示可选的,默认值是0,但是为了增强可读性,最好指定该种类型的关键词,G表[40]示一组关键词中至少有一个关键词与对应的波特率匹配。一般规范中的关键词如下表4-5所示。表4-5一般规范的关键词列表1GSD文件的版本ID2厂商名3DP设备的制造名称(控制器类型)4DP设备的修改版本5修改版本的ID6设备类型的识别号7DP设备使用的协议识别号8DP站的类型(主站或者从站)9是否是FMS/DP混合设备10DP设备的硬件版本11DP设备的软件版本12DP设备支持的波特率对应支持的波特率响应请求消息的连接器CNTR-P(转发器控制信号)连1314[41][42]最大时间接的标准信号(未连接,RS485,TTL)15设备是否支持冗余传输与DP从站有关的规范中的关键词如下表4-6所示。表4-6DP从站相关规范关键词列表1是否支持冻结模式2是否支持同步模式3是否支持传输速率的自动识别4是否支持改变从站地址5在CLEAR模式是否接收数据消息6诊断数据的最大长度7参数数据的最大长度8产品系列9组态工具中的模块偏移量10用户参数数据的长度11用户参数数据12两个轮询循环之间的最小间隔时间13与设备有关的诊断的文本表示14与设备有关的诊断的文本对应值15模块的参考号16初始化的用户参数数据的长度17用户参数数据的参考号18初始化的用户参数数据模块的描述(ID、与通道有关的诊断中的与通道有关的诊断中的具体厂商的出错类20具体厂商的出错类型、用户参数数据)[43]型的文本表示[44]19是否是有标准模块的站(标准模块的最大数用户参数数据的描述(参数数据名称、数据21目,输入数据的最大长度,输出数据的最大22类型名称、数据类型缺省值、最小值、最大长度,输入[45][46]/输出数据的最大长度)值、允许值、文本表示)[47]23参数数据文本表示的对应值GSD文件所描述的主要技术数据包括:●总线协议转换器所有支持的波特率;第62页万方数据 上海交通大学工程硕士学位论文第四章智能电力仪表的软件设计●当智能从站出现故障时发出用户诊断;[40]●SPC3协议芯片本身支持FREEZE,SYNC,故障安全,自动搜索波特率等功能;●最小从站响应时间间隔Min-Slave-Interval;●识别号的确定;●输入和输出的数据长度;●是否支持冗余,等等。依据模板,通过GSD编辑器来设置参数值后即可完成GSD文件的编写工作。4.54.5本章小结4.5本章小结本章小结本章小结本章介绍了智能电力仪表中的软件实现,这其中包括µC/OS-Ⅱ嵌入式实时操作系统的移植,硬件的驱动程序实现,智能电力仪表的应用程序设计以及通讯协议程序实现。软硬件两者相互支持也会相互限制,缺一不可。软件设计的实现,是智能电力仪表能够达到设计要求进行工作的重要步骤。第63页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试第五章智能电力仪表的测试智能电力仪表的测试智能电力仪表的测试智能电力仪表的测试在第三以及第四章完成智能三相表的软、硬件设计后,本章将对该智能三相表进行测试以确认其整体性能能够满足本文的设计要求。对智能三相表的测试要完成三个步骤:智能三相表的校准,智能三相表的精度测试以及智能三相表的通讯测试。除此之外,本章还介绍了该款智能三相表的使用界面等内容。5.15.1智能三相表5.1智能三相表智能三相表的校准智能三相表的校准的校准的校准智能三相表的电参数测量部分使用了专用计量芯片ATT7022B,系统的测量精度主要取决于芯片使用方式以及前端输入转换电路。电压和电流互感器输入通道的非线性、比差、相角差以及ATT7022B芯片本身的误差使得测量结果和输入量呈非线性,给测量精度带来了影[48]响。为保证装置测量准确性,首先需要对其进行校准。ATT7022B的校准有两种方法可供选择:一种利用其校表脉冲输出APCF/VARCF通过校表台来校准;另一种方式是首先将ATT7022B设置为在线周期累计工作模式。然后利用精密基准源对其完成校准。这种方式可以同时完成对各相功率偏差、相位偏移以及电压电流增益的校准,并且效率较高,本文采用此法。电流源及电压源精度等级高于装置所需要达到的等级(即智能三相表对电力参数的测量误差小于0.2%,其中有功功率测量要满足0.5S级;智能三相表的谐波测量值误差要小于0.3%),其误差被当作0,通过比较装置的测量结果与电流电压源的输出来计算测量误差。ATT7022B集成增益自校准及偏移量自补偿数字校准电路,参数校准过程通过软件设定校准寄存器的值,芯片根据校准寄存器的值自动校准。增益校准主要用于校准由于互感器参数以及A/D转换所引入的幅值上的误差。偏移误差是指通过加上一个很小的交流偏移量到测量结果上来完成校准。互感器带来的误差可通过这个方法来校正。因为这种误差通常是非线性的。相位校准用于校准电压通道和电流通道之间由于互感器引入的相角误差。电压和电流校准对有功功率能量和无功功率能量的计算有很大影响,因此需要首先校准电压、电流增益和偏移量,随后校准有功、无功功率增益,接着校准相角及功率偏移。电流、电压有效值的增益校准通过分别设定两者相应的有效值增益寄存器xIGAIN以及xVGAIN的值来达到目的。24位有符号xVGAIN的校准值见式(5-1):RMSREF23xVGAIN=HEX[(-´1)2](5-1)RMSM式中RMS为加标称电压时电压有效值寄存器xVRMS理论输出值,RMS为xVRMSREFM实际测量值。电流有效值增益寄存器同此理。电压和电流有效值偏移量补偿寄存器xVRMSOS、xIRMSOS补偿各相电压和电流有效计算中的输入噪声直流偏移量。xVRMSOS的校准值见式(5-2):第64页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试2222VM´V-VM´VminNNminxVRMSOS=HEX[]22128(´V-V)minN(5-2)式中V、V分别表示输入的电压标称值、所需测量最小值。VM、VM表示相应的NminNmin电压有效值寄存器xVRMS实验测量值。电流有效值偏移补偿寄存器xVRMSOS取值与此同理。有功、无功功率增益补偿ADE7878晶振时钟所带来的时间测量误差,从而对有功电量和无功电量实现校准。ADE7878利用线周期累加法计算有功电量和无功电量,在此模式下对电量整周期累加消除其正弦纹波部分,提高测量精度。要实现对有功电量的校准,首先设置有功功率阀值寄存器WTHR,其大小由瓦时寄存器xWATTH每1LSB代表的单位决定,如式(5-3)所示:nPMAX´f´360010´sWTHR=(5-3)U´IFSFS式中PMAX为ADC满幅度输入时计算值,f为DSP功率计算频率8000,U、I为sFSFS满幅输入时电压电流源幅值。有功功率增益寄存器xWGAIN按照下列方式校准:提供标称电压、标称电流、功率因数为1;设置LCYCMODE寄存器使得ADE7878工作在总有功能量线周期累积模式;写累积半周期数到LINECYC;写MASK0使能中断0的LENERGY中断;LENERGY中断发生时读取xWATTHR值(多次取平均)。则xWGAIN校准值见式(5-4):WATTHRT23xWGAIN=HEX[(-´1)2](5-4)xWATTHR其中瓦时寄存器理论计算值见式(5-5):V´ILINECYCPeriodNNWATTHRT=a´´(5-5)10´36002256000相角校准补偿互感器带来的相角差,它也在能量线周期累积模式下实现。提供标称电压、标称电流、功率因数为0.5,其他操作同xWGAIN。得到电压、电流间相角差x:1xWATTHRx=arcsin((1-))3WATTHRT(5-6)则相角补偿寄存器校准值见式(5-7):xxxPHCAL=,x<0或xPHCAL=+512x>0(5-7)0.0175780.017578,功率偏移补偿数据通道噪声偏移,校准须在最小电流或者接近最小电流时进行。试验获取偏移量:第65页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试xWATTHR´WTHRxWATTHR´WTHRINNMINMINN-´LINECYCLINECYCINMINMINoffset=IN1-IMIN(5-8)有功功率寄偏移存器xWATTOS校准值见式(5-9):2256000´xWATTOS=-offset´(5-9)f´Periods无功功率增益及偏移校准与此同理,依次完成各相校准。5.25.2智能三相表5.2智能三相表智能三相表精度测试智能三相表精度测试精度测试精度测试智能三相表的精度测试采用了标准源比对法,将智能三相表接在标准信号发生源上,然后输出指定的电压、电流信号给智能三相表,再将智能三相表的读数与标准源输出的读数进行比对即可得到其的测量误差。标准源的精度要比智能三相表的测量数量级更加高。只有这样标准源的读数才能作为理论值与智能三相表的测量值进行对比,从而完成误差分析。智能三相表测量的相对误差计算公式为:装置测量值标准源值-测量误差=´100%标准源值(5-10)实验使用了0.05级精度的三相程控标准源SJJ-IYX作信号发生源。其主要技术指标如下[49]:电压输出:57.7V、1OOV、220V、380V四个档位;O-120%RG调节范围;电流输出:1A、2A、5A、20A四个档位;O-120%RG调节范围;频率输出:45Hz~70Hz;0.01Hz调节细度;移相范围:0°~360°;O.01°调节细度;谐波输出:2~31次输出。1.频率测试表5-1频率测试值频率输出值(HZ)49.049.55050.551测量值(HZ)49.004649.506950.009850.503151.00622.电压有效值测试表5-2电压有效值测试值电压输出(V)176198220242264A相175.8197.9220.0242.2264.3B相175.7198.0220.0242.1264.3C相175.7197.8219.9242.2264.4相对误差(%)0.170.10.050.080.153.电流有效值测试第66页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试表5-3电流有效值测试值电流输出(A)0.31246A相0.30040.9991.9983.9965.996B相0.30011.01.9983.9986.001C相0.29990.9991.9983.9975.998相对误差(%)0.130.10.10.10.074.功率因数测试表5-4功率因数测试值输入值感性(h)容性1.00.8660.50.9660.866测A相1.00000.8670.5010.9660.866量B相1.00000.8660.5000.9650.865值C相1.00000.8670.5020.9650.8655.有功功率测试表5-5有功功率测试值负载电流有功功率(W)相对误差0.5S级仪表误差(A)输出值A相B相C相(%)极限(%)0.0613.213.1513.1013.160.761.0(0.01In-0.05In)0.36666.1565.9464.950.221220219.6219.7219.50.230.5613201319.201318.921319.180.07(0.05In-Imax)1022002197.62195.662195.890.196.谐波测量表5-6谐波测试值谐波输出测量误差谐波输出测量误差谐波输出测量误差次数(%)(%)(%)次数(%)(%)(%)次数(%)(%)(%)214.8714.910.271214.5014.550.342213.8713.84-0.22314.9114.940.211314.4814.500.142313.8213.80-0.14414.8614.84-0.141414.4114.40-0.072413.7313.790.44514.8214.78-0.271514.3714.35-0.142513.6413.55-0.66614.8614.79-0.481614.3014.28-0.142613.5513.48-0.52714.8014.76-0.281714.2614.23-0.212713.4513.40-0.37814.7714.73-0.281814.2114.14-0.492813.4113.39-0.15914.7014.710.071914.1414.12-0.142913.3213.27-0.381014.6814.63-0.342013.9814.050.503013.2313.19-0.301114.6414.60-0.272113.9513.93-0.143113.1413.160.15根据以上测量结果可见,电压、电流有效值误差小于0.2%,有功功率误差基本满足0.5S级有功测量,以及2~31次谐波的精度分析,基本实现预期的指标要求。5.35.3智能5.3智能智能三相智能三相三相表的通讯测试评估三相表的通讯测试评估表的通讯测试评估表的通讯测试评估要对设计的智能三相表的通讯进行评估,主要检查上位机在运行与配置过程中报文传输第67页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试的次序和内容及智能三相表的实际状态响应,一般是通过检查总线上传输的报文数据并分析来完成智能三相表的功能的测试,本文从两个角度来分析对从站的报文测试。采用WinCC建立Profibus主站,需要在上位机上安装Siemens的SimaticNet软件,用SimaticNet的PCStation建立主站,将智能三相表的GSD文件导人,并通过OPC方式与winCC进行通讯。通过winCC来对智能三相表的数据进行读写控制了。上位机主站搭建成功后,即可直接与智能三相表进行通信,从而检测电力仪表的各种功能是否完备,十分便捷快速。接下来我们就开始进行报文分析,在Profibus-DP网络中从网络连接到数据通讯,必须按照严格的通讯次序才可完成。连好网络后,为与智能三相表进行数据交换,起动时上位机应遵守以下的报文顺序[50]:····查询从站是否存在查询从站是否存在查询从站是否存在查询从站是否存在请求诊断;参数化从站;组态从站;在数据交换前请求诊断以保证系统在起动状态;数据交换;全局控制;以Profibus有数据信息的变化长度帧为例来介绍报文通信。报文的传输数据采用十六进制。正如本文在上一章中所探讨的内容,上位机在于智能三相表进行通讯时的发送请求报文以及智能三相表的参数应答报文如下所示。发送请求报文格式SYNSDLEDASAFCDSAPSSAPDUFCSED参数应答报文SDLEDASAFCDSAPSSAPDUFCSEDSYN:同步时间.至少为33个空闲位。SD为开始界定符.表示可变数据长度的报文,用于SRD服务。LE为可变报文中数据长度,包括DA(目的地址)、SA(源地址)、FC(帧功能代码)、DSAP(目的服务存取点)、SSAP(源服务存取点)、DU(数据信息单元)六部分。FCS是帧校验序列,为DA,SA,FC,DSAP,SSAP和DU的算数和,不考虑进位。ED=16H,为终止字节。··查询·查询查询智能三相表查询智能三相表智能三相表状态智能三相表状态状态状态上位机:100201494D16(上位机查询智能三相表是否在线)电力仪表:100l02000416(智能三相表对上位机的应答帧,告诉上位机“我活着呢”。)··请求诊断·请求诊断请求诊断请求诊断上位机:6805056882816D3C3EEB16(上位机读取查询智能三相表的诊断报文,以获取仪表的进一步信息。)电力仪表:680B0B688182083E3C020500FF00O89416(智能三相表对上位机的应答帧,表明智能三相表尚未被所参数化。)··参数化·参数化参数化智能三相表参数化智能三相表智能三相表智能三相表上位机:68l1l16882815D3D3E8802FD0BO00800000000000076l6(上位机发给智能三相表的参数化报文帧.包含l2个字节的参数化数据8802FD0B0008000000000000)。电力仪表:E5(智能三相表告诉上位机参数化成功)··组态从站·组态从站组态从站组态从站第68页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试上位机:68O7O768828l7D3E3E1l212F16(上位机发给智能三相表的组态报文帧,表明智能三相表应有两个字节输入/输出)电力仪表:E5(智能三相表告诉上位机组态成功)··再次诊断·再次诊断再次诊断再次诊断上位机:68050568828l5D3C3EDB16(上位机读取查询智能三相表的诊断报文)电力仪表:680B0B688l82O83E3C000C000100089B16(智能三相表对上位机的应答帧,其中包含6个字节的诊断数据:O00C00010008,其中第四字节为0l表明智能三相表已经被上位机成功地参数化,上位机进人数据交换状态。)··数据交换·数据交换数据交换数据交换上位机:6805O56802O17D00008116(上位机请求智能三相表的输人数据。此后上位机周期性地发送此报文)电力仪表:6805056801020800008116(智能三相表对上位机的应答帧,包含两个字节的输人数据:0O80)通过以上对报文的分析,可以得出结论设计的智能三相表与上位机之间能够通过Profibus通讯协议进行准确无误的数据通讯,符合设计要求。同样,用WinCC我们来验证上位机与智能三相表之间的通讯速率,其方法是在WindowsXP系统下,针对Profibus-DP协议,上位机对电力仪表存储区10个存储单元进行20字节读1000次的数据。如下图所示:图5-1通讯速率验证流程图Figure5-1Datatransmissionrateverifyflowchart最后所得出的检测结果如下表所示:第69页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试表5-7检测结果最长时30-40ms波特率最短时30ms以40ms以平均时失败通讯协议间以下(Mbps)间(ms)下(次)上(次)间(ms)次数(ms)(次)1.5406009109040.480ProfibusDP6406009049640.52012306119069340.560如表所示,可得出结论,智能三相表能够快速的与上位机进行通讯,在传输速度上满足设计要求。以上是通过报文的方式来验证智能三相表与上位机进行通信时的稳定性和准确性,以及通讯速率。除此之外,本文也将上位机中从智能三相表中读取各个电力参数绘制成图,这样更加直观。以电压为例,图5-2是在车间生产线开启时记录的三相电的电压值,除此之外,本文还能从图中读取每相电之间的相位差,这样能够直观监控电压的波动以及变化。图5-2上位机电压监控图Figure5-2Uppercomputervoltagemonitoringchart图5-3是上位机检测的三相电的电流值,将此图的时间间隔拉大(见图5-4),在图5-4中可以直观看到一开始时生产线开启,随后生产线关断这一过程中三相电流值的变化状况,以此为基础,能够很好的监管电网中的各个电力数据。第70页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试图5-3上位机电流监控图IFigure5-3UppercomputercurrentmonitoringchartI图5-4上位机电流监控图IIFigure5-3UppercomputercurrentmonitoringchartII其他的电力参数如有功功率等皆可在上位机中描绘出相应的监控图。综上所述,智能三相表能够在Profibus总线协议条件下准确快速的与上位机进行数据通讯,满足设计要求。5.45.4智能5.4智能智能三相智能三相三相表界面介绍三相表界面介绍表界面介绍表界面介绍图5-5中所展示的是智能三相表Profibus地址界面设置。第71页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试图5-5Profibus地址设置Figure5-5Profibusadresssetting图5-6展示的是智能三相表在进行Profibus通讯时的波特率的设置界面,在本次设计的仪表中有4800、9600、19200、38400b/s等可选。图5-6波特率设置Figure5-6Baudratesetting第72页万方数据 上海交通大学工程硕士学位论文第五章智能电力仪表的测试图5-7是智能三相表在接入电网时对接线方式的设置,有三相三线制或三相四线制。图中设置的是后者。图5-7接线方式设置Figure5-7Connectionsetting图5-8展示的是智能三相表测量三相电压以及频率的显示界面。除此之外,智能三相表还能够显示如电流,相位,有功功率等的测量值,在此仅以电压频率为例,其他就不一一展示了。图5-8电压以及频率Figure5-8voltageandfrequency5.5.5.55.555本章小结本章小结本章小结本章小结本章介绍了智能三相表的校准以及测量精度测试。通过原理以及测试参数分析,得出结论,本文中设计的智能三相表具有良好的性能,能够达到各项设计指标。第73页万方数据 上海交通大学工程硕士学位论文第六章总结及展望第六章第六章第六章总结及展望总结及展望总结及展望总结及展望6.16.1主要结论6.1主要结论主要结论主要结论本文研究开发的基于Profibus总线技术的智能三相表,集测量、保护、控制和通信于一体。这款智能三相表将主要集成在企业自主开发的电力成套设备中,其能够实时精准的检测电力成套设备运行中的各个电力参数,并完成谐波分析,最终将这些采集到的电力参数通过Profibus总线传输到上位机中去,以便电力控制系统能够完成对工业电网的监控。集成了这款智能三相表的电力成套设备将更加具有市场竞争力。论文主要完成以下内容:(1)智能三相表的硬件设计。确定了智能三相表采用的体系结构,采用MCU+ASIC设计方案,基于模块化设计思路对智能三相表硬件系统进行了总体设计,将仪表分为计量模块和控制模块,并依次讨论了具体电路的设计与实现。设计ATmega128/128L通过SPI口与计量芯片通信,读取其测量值和波形数据,完成电量累加、谐波分析、显示及存储等操作;设计外部时钟电路保证时间数据断电不丢失;通过Profibus专用芯片SPC3来设计总线接口,能够与上位机交换数据。(2)进行了智能三相表的软件设计。在硬件设计的基础上,将µCOS-II实时操作系统移植到ATmega128/128L上以简化编程。然后完成硬件驱动程序以及智能三相表的应用程序的设计。最后编写了智能三相表的Profibus通讯程序,这一部分包括:SPC3芯片的初始化程序,SPC3诊断程序,SPC3的中断程序,上位机与智能三相表的通讯程序实现以及GSD文件的编制。(3)对智能三相表校准做了研究分析;然后对智能三相表的测量精度做了测试,测试结果是智能三相表能够满足电力参数的测量误差小于0.2%(其中有功功率测量要满足0.5S级)并且其谐波测量值误差要小于0.3%的设计要求;最后做了智能三相表的通讯测试,通过测试,智能三相表能够准确快速的将测量数据传递给上位机,最终达到设计要求。6.26.2研究展望6.2研究展望研究展望研究展望然而由于能力、时间所限,监控装置硬、软件设计还不够完善,只实现电力基本量测量及谐波分析功能等部分预期目标,其他监控功能还未完全实现,装置整体仍在实验阶段,还需进一步研究和完善。在今后的开发过程中,可在以下几个方面做进一步完善:(1)软、硬件两方面完成装置的电能需量统计及电力监控等功能。(2)可增加智能电力仪表的其他通讯接口。目前该款智能三相表具有Profibus通讯接口,这是考虑到目前相当多的企业引进欧洲各大公司的电力控制系统以及各类设备,所以Profibus接口能够方便与这些系统进行通讯。但是考虑到为了增加企业产品的竞争力以及更加人性化,这款智能三相表可以进行进一步的升级改造:将各种通讯接口都集成到表中。这样可以灵活第74页万方数据 上海交通大学工程硕士学位论文第六章总结及展望的满足各类客户的使用需求。由于ATmega128/128L芯片功能十分强大,所以完全有能力完成其他通讯接口的集成,在技术上这也是切实可行的。综上所述,本文研究设计的基于Profibus总线技术的智能三相表基本完成各项设计要求,,其也具有进一步升级改造的潜力。因此,这一款智能三相表能够很好的给企业的电力成套设备加强竞争力,为企业带来切实的经济效益。第75页万方数据 上海交通大学工程硕士学位论文参考文献参参参参考考考考文文文文献献献献[1]刘志刚.基于ADE7758的电力监测仪表的研究与实现[硕士论文].北京:北京化工大学.2010.[2]张晓阳,浦子耿,徐洪峰.多功能电力测控仪表的应用技术[J].自动化应用.2010(10).[3]施雅婷.基于CAN总线的多电机分布式控制系统研究[硕士论文].南京:南京邮电大学。2011.[4]王刚,李曙军,吕跃刚.PROFIBUS现场总线及其在开放控制系统中的应用[J].河北电力技术.2002(6).[5]秦龙.MSP430单片机C语言应用程序设计[M].北京:北京电子工业出版社.2006.[6]张晓阳,浦子耿,徐洪峰.多功能电力测控仪表的应用技术[J].电力系统自动化.2010(11):39-41.[7]张永德,洪锦,梁黎明.嵌入式PROFIBUS-DP从站通信接口的设计[J].中国电子.2008(5):45-49.[8]张强.采用SPC3协议芯片设计PROFIBUS-DP智能从站[J].单片机及嵌入式系统应用.2007(2):71-75.[9]SPC3SiemensPROFIBUSControllerUserDescription.Siemens.1996.[10]SPC3UserDescription[R].Siemens.1996.[11]卢海南,董超,赵录怀.电能质量监测的发展趋势与新型电能质量监测仪的研制[J].仪器仪表用户.2004(2):19-20.[12]曹广益,方康玲等.Profibus现场总线通讯技术的应用研究[J].自动化技术与应用.2004(4):23-27.[13]毕琳娜.基于PROFIBUS-DP的现场总线通信系统设计[硕士论文].哈尔滨:哈尔滨工业大学.2009.[14]侯维岩费敏税.PROFIBUS协议分析和系统应用[M].北京:清华大学出版社.2006.[15]周志敏,纪爱华.Profibus总线系统设计与应用[M].北京:中国电力出版社.2009.[16]李正军.现场总线及其应用技术[M].北京:机械工业出版社.2005.[17]薛迎成,舒锋,王瑞臣.工业组态技术基础及应用[M].北京:中国电力出版社.2009.[18]魏克新.嵌入式微控制器、PLC、变频器、触摸屏、工控机、组态软件的综合应用[M].北京:机械工业出版社.2007.[19]罗红福.PROFIBUS-DP现场总线工程应用实例解析[M].北京:中国电力出版社.2008.[20]廖常初,祖正容等.西门子工业通信网络组态编程与故障诊断[M].北京:机械工业出版社.2009.[24]肖雁鸿,毛筱,周靖林等.电力系统谐波测量方法综述[J].电网技术.2002(6):61-63.[21]吉顺平等.现场总线PROFIBUS组网技术[M].北京:机械工业出版社.2011.[22]XiJiangtao.Anewalgorithmforimprovingtheaccuracyofperiodicsignalanalysis[J].IEEETransonIM.1996(8):827-830.[23]李沂乘.采样计算方法测量交流电压有效值误差分析[N].北京:电子测量与仪器学报.2008(Z1).[24]肖雁鸿,毛筱,周靖林等.电力系统谐波测量方法综述[J].电网技术.2002(6):61-63.[25]周斌.新型高压变电站测控装置的研制[硕士论文].南京:东南大学.2007.[26]韩松柏.基于功率谱的电力系统谐波与间谐波的检测研究[硕士论文].重庆:重庆大学.2007.[27]任雁铭.变电站计算机通信网络和系统的研究[博士论文].北京:华北电力大学.2000.[28]范兴刚.网络控制系统若干通信网络实时特性研究[博士论文].浙江:浙江大学.2004.[29]徐佳斌,王伟.基于Profibus的智能电力仪表在智能电网中的研究和实现[J].科技与企业.2012(4):122-123[30]尹维春.基于att7022b电能表及其抄表方式的研究[硕士论文].东北:东北电力大学.2007.[31]董娜.基于pic单片机的电能采集终端的设计和应用[硕士论文].武汉:武汉理工大学.2006.[32]王纪松.现场总线在浮法玻璃生产线自动化控制系统中的应用[N].中国建材报.2003.[33]赵骞.初轧机厚度监测与显示系统设计[硕士论文].武汉:华中科技大学.2009.[34]GrandkeT.InterpolationalgorithmsfordiscreteFouriertransformsofweightedsignals[J].IEEETransonIM.1983(32):350-355.第76页万方数据 上海交通大学工程硕士学位论文致谢致致致致谢谢谢谢历时一载,从论文选题到搜集资料,从开题报告、写初稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。本研究及学位论文是在我的导师王伟副教授的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,王老师都始终给予我细心的指导和不懈的支持。论文的完成是一个非常系统以及艰难的工作,加之平日里工作的繁忙,有时也会在学业奋斗上有所懈怠和疏忽,每当这个时候,王老师都会给与我提出中肯的建议和帮助,并且在治学上始终坚持严谨的学术作风,对我严格要求。这一点不仅给我学业带来了巨大的帮助,更是对我今后的工作生活积聚了一笔宝贵的财富,古人曾提到“止于至善”,我想王老师就是拿这个治学思想来激励和勉励我的。一年多来,王教授不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向王老师致以诚挚的谢意和崇高的敬意。在此,我还要感谢在一起愉快的度过研究生生活的各位同学,和大家在学习间隙的交流使我开阔了眼界,你们犹如一面面镜子,让我在整个学业完成期间更加深入地去了解这个世界,了解自己。正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成,由你们相伴的求学之路,不平凡,很精彩。特别感谢我的同学王鑫雨,他对本课题做了不少工作,给予我不少的帮助,一路走来,互相扶持,互相鼓励,在此也祝福他论文答辩一切顺利。感谢几年来给我们上课的老师与学院的各位工作人员,正是有他们的辛勤劳动,才让我的知识在整个求学期间得到了积累完善,量的积累最终达到质的巨变,这才使我今天有足够的能力完成整个项目,在此向他们表示真诚的谢意。我还要感谢培养我长大含辛茹苦的父母,在我整个的求学上进之路中始终给与我坚定的支持和鼓励,作为人生中的第一位老师,是你们从小给我树立了唯有读书高的信念,并且将这信念深深印入我的心中,并以此鞭策我在这条路上奋进努力,谢谢你们!在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后,向评阅本文的各位专家、教授致以衷心的感谢,诚挚地希望各位专家、教授给予批评指正,祝你们身体健康,工作顺利!第79页万方数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭