当前位置:文档之家› 基于ARM的电能质量检测系统的设计_倪鸣

基于ARM的电能质量检测系统的设计_倪鸣

技术创新

中文核心期刊《微计算机信息》(测控自动化)2008年第24卷第10-1期

360元/年邮局订阅号:82-946《现场总线技术应用200例》

数采与监测

基于ARM的电能质量检测系统的设计

DesignofpowerqualitymeasuringsystembasedonARM

(上海交通大学)

倪鸣张明

NIMingZHANG

Ming

摘要:在电能质量数据检测中,数据处理,存储和通讯是十分重要的。以32位ARM内核微处理器S3C2410A为主控芯片,配备各种外围芯片,实现了对电能质量数据的采集和处理。同时介绍了各硬件设备驱动程序的设计以及应用程序的编写。关键词:ARM;设备驱动;数据存储;A/D转换中图分类号:TP3文献标识码:A

Abstract:Inpowerqualitymeasuringsystem,dataprocessing,storageandcommunicationisveryimportant.UsingS3C2410Aformaincontrolchip,equippingsomekindsofperiphericchips,implementthecollectionandprocessingofpowerqualitydata.Itisin-troducedthatthedesignofsomehardwaredriversandtheprogrammingofapplication.Keywords:ARM;devicedriver;datastorage;A/Dconverting

文章编号:1008-0570(2008)10-1-0138-03

1引言

近二,三十年来,各种电力电子装置的迅速普及使得公用电网的谐波污染日趋严重,电能质量下降。因此,测量电网及非线性用电设备的各种电能参数,对于防治谐波污染,提高供电质量是十分必要的。本文所介绍的电能质量检测系统以ARM9和Linux为开发平台。硬件方面采用Samsung公司的ARM9芯片S3C2410A,加上大容量的E2PROM存储器以及与上位机通讯的串口通信模块,为本系统提供了强大的硬件功能。软件方面完成了各个相关的系统设备驱动程序的设计和应用程序的编写。

2硬件设计

2.1总体设计原则

嵌入式电能质量检测系统主要的功能就是数据信号的采集,数据信号的处理,存储以及与上位机的通讯。由于该系统主要是对于电能质量中的谐波进行分析,所以对于主控芯片的数学运算能力有一定的要求,再加上高可靠性,低功耗的原则,该系统的总体设计原则是:处理器芯片一定是32位的;各种外围芯片的选择能够保证和处理器芯片时序和速度上的配合;总线采用结构简单的串行总线;尽量在某些功能上采用软件来实现,以求尽可能的简化硬件电路。

2.2硬件组成

硬件电路的连接框图如图1所示。

(1)S3C2410A

Samsung公司的S3C2410A处理器因其低廉的价格,丰富的外设资源,高达203MHz的ARM920T内核使得这款CPU得

到了越来越广泛的应用。

(2)外部SDRAM存储器

外部SDRAM存储器选用现代公司的HY57V281620。该款

芯片是16位数据宽度,32MB的动态内存。由于S3C2410A是

32位处理器,外部总线也是32位的,所以为了最大限度地发挥

其性能,内存也应该是32位的。在这里,我们采用将两片这样的内存芯片拼凑起来构成32位模式,处理器数据线MD0 ̄MD15接一片内存,MD16 ̄MD31接另一片内存。在地址线的连接上面,HY57V281620一共分为4个块,所以处理器地址线最高位MA24,MA25分别连接到内存的BA0,BA1引脚上。32位的SDRAM存储单元是以4B为单位进行数据访问的,内存会忽略MA0,MA1地址线,我们可以直接把处理器地址线MA2连接在内存的A0引脚上。

图1硬件电路连接图

(3)外部FLASH存储器

FLASH存储器在系统中的作用相当于硬盘在PC机里

的作用:保存操作系统的映像和各种文件系统的压缩映像,在系统上电后解压至内存运行。在这里,我们选用INTEL公司的E28F128作为系统的FLASH存储器。该款芯片是16位数据宽度,所以FLASH存储器的nBYTE引脚必须连接高电平来保证该存储器工作于16位数据模式。因为工作于16位数据模式,所以存储器A0引脚的输入缓存应该被禁止,A1引脚为数据最低位。

倪鸣:硕士研究生

138-

邮局订阅号:82-946360元/年技术创新数采与监测

《PLC技术应用200例》

您的论文得到两院院士关注(4)通讯电平转换芯片

RS232是目前异步串行通讯中应用最广泛的标准总线,而S3C2410A内部就集成了RS232标准的串口通讯模块。但是S3C2410A使用的是TTL电平,我们必需使用电平转化芯片将其转换成RS232标准。在这里,我们选用Sipex公司的SP3232ACE电平转换芯片。

(5)AD转换芯片

使用NationalSemiconductor公司的ADC0809作为模数转换芯片。该芯片是采用CMOS工艺制成的8位8通道逐次渐近型AD转换器。在这里我们选取一片CPLD提供给ADC0809逻辑地址选择功能。当CPLD检测到bank2片选信号引脚nGCS2选中,并且地址线MA5 ̄MA0为010000b时,拉高ADC0809的START和ALE信号,开始对信号进行采样,当地址线MA5 ̄MA0为100000b时,拉高OE信号,表明可以读取转换结果了。ADC0809能够对8路0 ̄5V模拟量进行分时转换,所以我们把ADC0809的ADDC,ADDB,ADDA模拟信号地址选线分别连接到处理器的MA18,MA17,MA16引脚。在这里使用了三个中断:

A:EINT2外部中断。将处理器的EINT2引脚与AD0809的EOC引脚相连,当EOC引脚产生一个下降沿时,产生一个中断,表明模数转换结束,此时处理器就可以通过拉高OE信号来

读取结果,并进入中断子程序。

B:EINT3外部中断。在应用程序里所采用的快速谐波分析

算法仍然是以离散傅立叶算法为基础的,所以频率的跟踪很重要,否则将会产生频谱泄漏。在这里将处理器的EINT3引脚与频率跟踪电路同步输出脉冲引脚连接在一起,这样就可以通过

EINT3外部中断来捕捉脉冲上升沿,并且在中断子程序中启动

定时器来进行同步采样。

C:定时器2定时中断。精确设置采样时间,每次定时器减

计数到零时产生定时中断。在中断子程序中,通过CPLD来拉高START和ALE信号,开始对信号进行采样。

(6)E2PROM存储器

外加一片IIC接口的E2PROM存储器的目的是为了将检

测到的数据经过处理后存储起来作为历史数据,在需要的时候可以随时读出进行分析。存储器选用XICOR公司的X1227实时时钟芯片,该芯片除有基本的时钟和报警功能外,还有512字节的E2PROM存储器和复位输出,电压监控,看门狗定时,频率输出等功能。

3软件设计

3.1设备驱动程序的编写

驱动程序的主要任务就是使某个特定的硬件响应一个定义良好的内部编程接口,同时完全隐蔽了设备的工作细节。用户通过一组标准化的调用来完成相关的操作,这些标准化的调用和具体的设备驱动无关。

在这里编写的驱动程序主要是X1227和ADC0809的设备驱动程序。X1227与处理器的连接采用的是IIC串行接口总线。该总线利用两线SDA(串行数据),SCL(串行时钟)来进行信息的传递。根据驱动程序的构成,我们分别编写驱动程序中Open()函数,

Close()函数,Write()函数和Read()函数。其中Write()函数和Read()函数的编写较为复杂。

Write()函数主要是将数据从应用程序拷贝到内核。根据X1227芯片的一些特点,我们首先写0x02至X1227的STATUS寄存器,将WEL置1,接下来方能对E2PROM单元进行写操

作。关键程序代码如下:

buf=kmalloc(length*sizeof(char),GPF_KERNEL);copy_from_user(buf,buffer,length);WrIIc(0xde,0x3f,0x02);

WrIIc_E2PROM(0xae,0,buf,length);kfree(buf);

其中WrIIc()函数和WrIIc_E2PROM函数是根据IIC主发送

操作流程编写的函数。

Read()函数主要完成将数据从内核拷贝到应用程序空间。具体的程序代码和Write()函数基本一样。

ADC0809驱动程序的编写则更为复杂一些,主要原因是该驱动会涉及很多的中断。当处理器的EINT3引脚检测到一个上

升沿,表明被测信号一个周期的开始,马上产生一个外部中断,进入外部中断子程序cap_interrupt()。在外部中断子程序中首先利用定时器0来计算被测信号的周期(通常为50Hz左右)然后启动定时器2并加载定时周期,启动子程序如下:

voidtimer2_start()

{*TCNTB2=PER;

*TCON=0x00a000;//更新timer2

*TCON=0x009000;//启动timer1,采用

“自动重载”模式}

当定时器2产生周期中断,进入周期中断子程序time_inter-rupt()。在周期中断子程序中启动A/D转换。

在这里因为一个信号周期需要采样128个点,所以我们需要对定时器0的时钟频率进行128分频。这样得到的PER的值加载到TCNTB2寄存器才能保证一个信号周期采样128个点,

并且采样周期是信号周期的整数倍,有效地防止了频谱泄漏。

当然这里有一个周波的延时。图2给出了ADC0809的驱动程

序软件流程图。

图2ADC0809驱动程序软件流程图

3.2应用程序的编写

将X1227芯片和ADC0809驱动程序通过insmod命令加载

入系统内核,则在应用程序中就可以像读写文件一样读写硬件设备。图3给出了应用程序软件流程图。

图3应用程序软件流程图

139-

技术创新

中文核心期刊《微计算机信息》(测控自动化)2008年第24卷第10-1期

360元/年邮局订阅号:82-946《现场总线技术应用200例》

数采与监测

4结论

采用ARM9处理器和Linux系统平台来构建电能质量检测系统,不但能够满足实时检测的要求,更为重要的是能够在软件上轻松方便的扩展各种功能。目前电能检测系统实现的功能越来越多,处理器可能要同时控制,监视很多外设,要求有实时响应能力,需要处理很多任务,而ARM处理器获得了许多操作系统供应商的支持,可以预见嵌入式系统在电能质量分析领域的运用会愈来愈广。

本文作者创新点:以往电力系统谐波检测装置都是采用

DSP作为主控芯片。但是DSP程序没有底层和应用层之分,

也没有使用操作系统。这样的系统软件扩展十分的不方便,驱动程序,文件系统都没办法加载,以至于某些功能没有办法完善,一旦程序需要修改,就需要把所有的代码重新编译。而嵌入式处理器在这方面具有很大的优势,特别是嵌入式处理器能够植入操作系统,这在很大程度上弥补了先前一些装置在软件扩展性和图形用户界面上的不足。本文就是基于这样的思想,设计了基于ARM的电能质量检测系统。特别在软件程序的编写上,将各个硬件的复杂功能都隐

藏了起来,我们只需要通过一组类似于读写文件系统的操作来完成数据采集,数据通讯和数据存储。

经济效益:200万元左右,根据现在电能质量测量仪的价格,芯片及外围电路的成本以及采用嵌入式系统在软件开发成本的节约上所能够带来的经济效益来估算。

参考文献

[1]罗宛棠,

杨宗德.嵌入式Linux应用系统开发实例精解[M].北京:电子工业出版社,2007.

[2]Samsungcorporation.S3C2410Xuser’

smanual.[3]杜博,

方向忠.嵌入式Linux系统下I2C设备驱动程序的开发[J].微计算机信息,2006,4-2:31-33.

[4]娄尧林,

颜湘武,吴晨曦.用于电能质量检测的数据采集卡研制[J].继电器,2004,5-16:49-51.作者简介:倪鸣(1977—),男,硕士研究生,研究方向为电力系统自动化、嵌入式技术;张明(1968—),男,硕士生导师,高级工程师,研究方向为电力系统自动化及控制系统,工厂自动化。

Biography:NIMing,male,Mastercandidate,researchinterest:powersystemautomationembeddedtechnique.

(200030上海上海交通大学电子信息与电气工程学院)倪鸣(SchoolofElectronic,informationandelectricalengineering,ShanghaiJiaoTongUniversity,Shanghai200030)NIMing

通讯地址:(200030上海市华山路1954号息上海交通大学新上院223室)倪鸣

(收稿日期:2008.08.13)(修稿日期:2008.09.25)

(上接第171页)

5结束语

本文设计并实现了一种雷达中频信号的高速采集与实时传输系统。目前,本系统已对某型雷达成功地进行了实际外场数据采集。实验表明这个系统完全满足所提出的指标要求,能够做到实时高速连续采集,而且稳定可靠,记录的数据能够真实地反映出目标与环境的特性,可用于进行各种目标检测、识别、跟踪等处理。经测试,该系统可稳定工作在60MB/s的数据传输速率

下而不丢失数据包。该系统适用于多种雷达中频信号的采集与实时传输,具有很好的应用前景。

本文作者创新点:利用FPGA+DDRSDRAM实现雷达信号的高速采集和采集数据的高速缓存。同时充分利用FPGA内部集成MAC,把缓存数据实时发送到以太网中,解决了雷达信号采集数据的远程高速实时传输问题。

参考文献

[1]Virtex-4UserGuide.XilinxInc.2005.

[2]Virtex-4EmbeddedTri-ModeEthernetMACUserGuide.XilinxInc.2006.

[3]XilinxMemoryInterfaceGenerator(MIG)UserGuide.XilinxInc.2007.

[4]窦振中,

汪立森.跟踪雷达回波信号实时采集存储的新方法[J].现代雷达.2005,9(27):52-53.

[5]李勇,

唐贵林,黄芝平.千兆以太网中IP数据传输技术研究[J].微计算机信息.2007,7-2:168-170.

作者简介:曹书华(1981-),男(汉族),安徽宿州人,南京信息工程

大学硕士研究生,研究方向为:高速数字信号处理,雷达信号处理;王建(1958-),男(汉族),福建福州人,中国船舶重工集团公司第724研究所研究员,硕士生导师,主要研究方向为:雷达信息处理,高速数字信号处理。

Biography:CAOShu-hua(1981-),Male(Han),AnhuiProvince,postgraduatestudentofNanjingUniversityofInformationSci-enceandTechnology.ResearchDirection:High-speedDigitalSignalProcessing,RadarSignalProcessing.

(210044南京信息工程大学电子与信息工程学院)曹书华卢燕(210003南京中国船舶重工集团公司第724研究所)王建吕卫祥(CollegeofElectronicsandInformationEngineering,NanjingUniversityofInformationScienceandTechnology,Nanjing,China,210044)CAOShu-huaLUYan

(NO.724ResearchInstitute,ChinaShipbuildingIndustryCor-poration,Nanjing,China,210003)WANGJianLVWei-xiang通讯地址:(210044江苏省南京市浦口区南京信息工程大学601#信箱)曹书华

(收稿日期:2008.08.13)(修稿日期:2008.09.25)

《PLC技术应用200例》

PLC(可编程序控制器)广泛地应用在冶金、

机械、机器人、石油化工、电力传动、纺织机械、注塑机、包装机械、印刷机械、造纸机械、

机床、自来水厂、污水处理、煤矿机械、焊接机器、榨糖机械、制烟机械、工程机械、水泥机械、玻璃机械、食品机械、灌装机械、橡胶机械、船舶、铁路、窑炉、车辆、智能建筑、电梯控制、中央空调控制、大型医疗机械、起重卷扬机械,大坝闸门,大型泵站.....。

各行各业机械工程师,电气设备工程师,高级技工都需要俱备PLC的知识,才能做好本职工作。本书汇集200多个硬PLC和软PLC在各行业的应用实例,PLC故障诊断实例,PLC抗干扰措施,PLC使用经验、PLC技术发展,均在本书之中论述。

本书适合大专院校机械类、电气类、电力类、自动控制和自动化类专业的本科、研究生做毕业设计参考,同时适合老师进行教学、搞科研项目参考。本书是上述各行业的工程技术人员,技术工人的必备参考书,同时也是工厂和科研单位的技术领导,设备采购负责人的参考书。凡具备高中以上文化水平的人均可成为读者。

200多个西门子、

三菱、美国通用电气、施耐德、欧姆龙、罗克韦尔、松下电器、和泉.....等PLC应用实例,任您选读。一技之长,改变人生。

大16开,每册定价110元(含邮费)。预购者请将书款及邮寄费通过邮局汇款至

地址:北京海淀区皂君庙14号院鑫雅苑6号楼601室

微计算机信息

邮编:100081

电话:010-62132436

010-62192616(T/F)

http://www.autocontrol.com.cn

http://www.autocontrol.cnE-mail:editor@autocontrol.com.cn;

E-mail:control-2@163.com

140-

相关主题
文本预览
相关文档 最新文档