《电力系统中高速同步数据采集的解决方案.pdf》由会员分享,可在线阅读,更多相关《电力系统中高速同步数据采集的解决方案.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二篇嵌入式系统的应用与开发1 9 3电力系统中高速同步数据采集的解决方案 刘和平石亚伟江渝 重庆大学高电压绝缘与电工新技术教育部重点实验室,重庆,4 0 0 0 4 4 摘要由于计1,控制和分析要求电力系统的三相电压和三相电流等信号需要多通逗的同步采集技术,实现多站(距离远在 1 0 k m以上)和单机多通道(上百路的信号)的同步数据采集,本文介绍一个采用美国德州仪器公司T H S 1 2 0 6 芯片实现的、徽机I S A总线的多 路信号同步采集实现方案 可以使用G P S 信号、板上硬件定时器和软件启动,满足了电力系统信号的采集要求。关位词T H S 1 2 0 6,I S A总践,同步
2、夫集1 引言 在电力系 统中,为了计t电能、无功功率、功率因数、谐波等,需要保证对三相电压和三相电流等信号采集时的相位。而这些信号分布很广,分布在多个变电站,其间的距离远在 1 0 k m以上。这些信号路数又很多,有上百路信号。这些信号采集的实时性很强。例如,在对异步化同步发电 机运行状况的 监测控制时,需要高速地同步采集发电机端部电压信号、电流信号和电机转速等信号,开发出 满足异步化同步发电机运行特殊要求的计算机数据采集系统,是异步化同步发电机控制工作中的重要部分。本文介绍一个采用美国德州仪器公司T H S 1 2 0 6 芯片实理的、徽机I S A总线的多路信号同步采集实现方案。在该方案中
3、可以使用G P S 信号、板上硬件定时器和软件启动,以浦足电力系统信号的采集特殊要求2 设计原理 实现数据同步采集的关谁是控制采样保持器的同 步。对于 多通道同步采样有两种方式。第一种方式是采用外部采样保持电路,在每个棋拟信号翰人通道后添加采样保持电路,采用同一个控制信号实现对多个采样保持器同步控制。这种方法的映点是采样保持器的同步性不易满足,采样保持器的精度不易保证,电路复杂.抗干扰能力差。另一种方式是选用具有内 部采样保持器的 模数转换芯片。近几年,有的公司推出了内部嵌人多路采样保持电路的棋数转换器件,完全解决了 撰数转换器的采样精度等问 题。这些芯片有:A D 公司A D 7 8 7 4
4、,M a x im公司M A X 1 2 5 和T I 公司T H S 1 2 0 6 等几种,是一种较好的同步采集的 实现方案.对于电力系统中的多站点间实现同 步采集的问题,可以采用G P S(全球卫星定位系统)信号接人各站点的单机数据采集卡来控制数据采集的同步,实现多站的多通道信号同步采集。T H S 1 2 0 6 具有四通道同步采样保持器。在外部采样时钟的上升沿采样保持器对四通道的输人信号完成同步采样,然后转换电路通过多路开关电路,依次完成对四个保持信号的转换。在采样速度上,T H S 1 2 0 6 内 部的棋数转换电路的转换速度最高为6 M s p s。通过内部的开关电路实现对四通
5、道的轮流转换时 单通道的最高转换速度可达1.5 M s p s。在转换速度上完全润足电力系 统的 要求。由于 集成度高,T H S 1 2 0 6 采集方案可使外部干扰降至最低。同 步信号也是很容易实现,是一种很好的解决方案。本文选择了T I 公司的T H S 1 2 0 6 作为棋数转换电路芯片。由于I S A总线简单,数据传翰速度满足电力系统的要求,因此,设计为基于I S A总线徽机接口卡式结构,保证了 较高的性价比以及技术上的先进性和易用性。3 硬件原理 基于I S A总线的A/D徽机接口卡的硬件电 路框图如图1 所示。图1 以8 路模拟信号输人为例图1 中控制和译码电路由可编程逻辑芯片
6、G A L I 6 V 8 构成。G A L的 作用分为,当I S A总线访问T H S 1 2 0 6 时,进行地址译码产生片选信号,控制管理由定时器计数器8 2 5 3 产生的 硬件等间隔定时A/D采样脉冲、由系统机产生的软件A/D 启动脉冲信号,以及由G P S 信号输人,以 产生T H S 1 2 0 6 的 转换信号双向 数据驱动由两片7 4 工 5 2 4 5构成,作为I S A总线的数据线驱动。转换完成信号通过7 4 L S 2 4 4 接人I S A总线,可以通过查询方式读取转换2 0 0 1 嵌入式系统及单片机国际学术交流会论文集一一一.-一一 一完成信号,以判断 A 1)转
7、换完成与否硬件晶体振荡器产生出来当转换完成后.则可以将数据读人系统机.外部时钟由接口卡板上的时钟产生电路由计数器/定时器8 2 5 4 构成。将高频时钟信号分频产生需要的时间fH j 隔启动Al)转换,完成精确的等时间间隔采样8 路模拟门-.信号 输入 圈I 橄机接口 卡硬件电路框圈 同步采集控制电路设计:输入时钟控制是实现由两片T H S 1 2 0 6 所组成的8 通遭同步数据采集和多 机多站同步采集的关键环节.使用转换开始信号,即图1 中的转换时钟,采样和转换由T H S 1 2 0 6 的内 部时钟电路提供。根据设计要求,愉入T H S 1 2 0 6 的转换时钟由如下三种途径产生 (
8、1)由系统机通过 1/0端口访问方式经 G A L产生转换时钟信号。当系统机通过输人输出1/0访问T H S 1 2 0 6 时 使G A I 愉出转换时钟信号到C O N V _ C L K脚(即图1 中的转换时钟接到的引脚)。采用这种方式T H S 1 2 0 6 的 转换同步、转换速率和采集的时间间隔可完全由系统机软件控制。通过该方式可实现单机多卡的同步数据采集控制.(2)时钟发生电 路的轴出时钟经过G A I 后输出至T H S 1 2 0 6 的C O N V _ C L K脚。这里G A L 对时钟信号起一个选通开关作用。通过该方式实现多通道同步数据采集控制,时钟发生电路的物出时钟
9、也可输出到其它接口 板L,使得多块板上的多通道A/D 实现硬件定时的等间隔采样,以 保证时间间隔的相等和多通遭采样的同步性。(3)通过外部接人的G P S 信号控制转换时钟这里G A 对时钟信号起一个选通开关作用。在电网上的多 站间进行同步数据采集时,采集卡收到控制中 心发出的G P S 同步信号通过G A L 输出转换时钟信号,从而实现了电网多站点的多通道的 A/D同步采集 电路原理图如图2 所示,图中8 2 5 4 电路省去了.A D C L K信号由外部 G P S 信号提供.在T H S 1 2 0 6 的应用中,由于芯片只 有单极性输人,对于双极性的交流信号,需要电平提升电路,如图3
10、 所示.为了防止混盈现象以 及进行信号放大,需要设计前t低通滤波器,如图4 所示。可以将放大低通旅波器和提升电路合并为一个电路,合并后的电路结构如图5 所示。按工业标准模拟信号的愉人幅值为士5 V。电阻R l 和R 2 对输人信号分压。R 3,R 4,R 5,C l 和C 2 与T H S 4 0 2 2 共同实现信号提开迪波作用。电路各参数确定如 下:(1)为与接人信号的同轴电缆阻抗保持匹配,所以R l 和 R 2 的电阻值和为7 5 n 同时为把物人的士5 V降为士1 V,R l 与R 2 的比值为4,所以R 1 为6 0 O,R 2 为1 5 f l a (2)C 1,C 2 和R 3,
11、R 4,R 5 根据二阶低通修波器截止顺率的要求确定。同时 R 3 和 R 5与提升电压参考V R F F 起使输人信号得以提升。C 3 和R 6 是为了与T H S 1 2 0 6 的翰人阻抗相匹配,以减少干扰。当 选择5 0 0 k H z 为截止频率时,低通雄波器的参数用 S A B E R软件仿真可以得到,即,R 1=6 0 O,R 2=1 5 f 1.R 3 和R 5=8.2 k n,R 4=4.7 k Q,C I=8 2 p F,C 2=2 2 p F,C 3=1 n F,R 6=5 1 f 1,R E F 为提升参考电压,由基准源电路提供,其值的大小与 T H S 1 2 0 6
12、 的参考基准源选择有关.*_ A 兰 4#竺a#3 A 竺一一 一二 弓.z电路原理圈田3伯号幼入提升电璐圈a 低通渔波器结构 丁 H S 1 2 0 6 控制寄存器是实现棋拟翰人通道模式、参考电压源类型选择及F I R)存储深度的设置,详细悄况见 I H S 1 2 0 6 使用说明。系统机对T H S 1 2 0 6 控制寄存器的访问采用 工/(l 读写方式。G A I地址译码电路产生TH S 1 2 0 6的片选信号。当系统机写 T H S 1 2 0 6 时,I S A数据总线上的高 2位是 T HS 1 2 0 6内部寄存器的地1 9 62 0 0 1 嵌入式系 统及单片机国际学术交
13、流会论文集 圈5 T H S 1 2 0 前,电路址,低 l 0 位是写人 T H S 1 2 0 6 控制寄存器的数据。当系统机读 丁 H S 1 2 0 6 时,I S A总线数据线上的数据是T H S I 2 0 6 数据缓存F I R)中的模数转换结果。T H S 1 2 0 6 内部设有1 6 字深的F I R)的数据级存,可使模数转换数据缓存到一定数t再进行传输。F I F O由系统机编程设置存储深度.当F I F O中缓存的数据到达存储深度时,与I S A总线中断线相连的T H S 1 2 0 6D A T A A V脚有效 产生中断信号。同时,电路设计中也对D A 丁 A-A
14、V脚的信号采用驱动芯片7 4 L S 2 4 4 进行了 缓冲.当 不采用中断方式时,也可用查询方式查询D A T A A V脚的信号 4 软件开发 Win d o w s N T 4.。采用分层结构,在用户棋式中的应用程序要实现对硬件平台的访问,必须经由内核模式。设备驱动程序即是沟通用户层和物理层的桥梁,完成数据传输和控制特定类型的物理设备的工作,包括启动和完成I/O操作以及处理中断和执行设备要求的任何错误处理等。设备驱动程序的功能结构与一般的 应用程序有着根本的不同。下面是对驱动程序结构的简要介绍。任何 N T驱动程序都是从函数D r i v e r E n t r y 开始的。D r i
15、 v e r E n t r y 除了做一些必要的设备初始化工作外,还初始化一些被称为D is p a t c h 例程人口。N T同设备驱动程序打交道主要是通过调用C r e a t e F il e,R e a d F il e,W r i t e F il e 和D e v i c e l o C o n t r o l 等 W i n 3 2 A P I 函数来完成的.这些 A P I 函数其实都对应着驱动程序的一些D i s p a t c h 例程。而驱动程序除了D r iv e r E n t r y 以外,主要就是由这些D is p a t c h 例程组成。本文设计的驱动程序
16、就是要开发支持I R P _ M J _ R E A D和I R P _ Iv 1 1 _ W R I T E 等N T操作系统请求包的D i s p a t c h 例程。本系统采用的 驱动程序任务分层结构如图6 所示。驱动程序分为4 个功能块。应用程序通过驭动程序与应用程序交互模块(简称 交互棋块)实现对驱动程序发出指令,驱动程序通过该模块通知应用程序任务的完成情况,交互棋块收到指令后通过硬件读写模块实现对硬件的操作;内存地址转换模块完成应用程序和驱动 程序之间数据流的传递;中断处理棋块在硬件中断到来时由系统调用,执行过程中调用硬件读写模块完成所需硬件操作,完成后通过交互棋块通知应用程序。
17、下面是对各模块任务的具体阐述4.1 应用程序与驱动程序的消息交互 应用程序实现对硬件访问的惟一途径是通过与驱动程序的接口来调用驱动程序的相应棋块。而v动程序在任务完成后也需要通知应用程序进行进一步的操作。这项工作就是由应用程序和驱动程序交互棋块完成的4.1.1 应用程序对驱动程序的访问.Wi n d o w s N T 4.0分层结构对于应用程序而言,对驭动程序的访问工作包括要求对硬件操作和从硬件中读写数据。实现对驱动程序第二篇嵌入式系统的应用与开发1 9 7访问是通过调用Wi n 3 2 子系统三个A P I 函数实现的,即 D e v i c e l o C o n t r o l 用户向
18、设备发送控制命令 并且返回设备状态和操作结果;.R e a d F i l e 用户接受硬件设备数据;Wr i t e F i le 用户向硬件设备发送数据。当驱动程序收到由上面三个A P I 函数发出的访问指令后,从接C 1 卡上 读人数据或响应硬件中断后从接口卡上读出数据。读出的数据存人用户指定的数据存储空间中。在N T系统配置有硬件的资.s y s 的驱动程序后,应用程序调用 C r e a t e F i l e 打开此设备驱动文件,得到一个访问驱动程序的句柄。然后可以调用D e v 且 c e l o C o n l r o l,R e a d F i l e 和Wr i t e F
19、 i l e 向N T系统的1/O管理器发请求数据包,实现与设备 驱动程序进行数据交换4.1.2 设备驱动程序对应用程序的消息传递 本 文 开 发 的 驱 动 程 序 以 事 件 触 发 方 式 来 启 动 应 用 程 序 由 于 驱 动 程 序 完 成 工 作 后 需 要 通 知 应 用 程 序,而驱动程序不能像应用程序一样通过消息驱动完成通知任务,因此驱动程序需要采用独特的“事件触发”机制完成对应用程序的通知。该功能模块实现的 基本思想是:在N T系统中,创建一个核心态和用户态都能使用的事件命名空间,这样,核心态与用户态可以使用同一个“事件对象”。事件方法的实现过程如下 1)驱动程序创建事
20、件主要结构 (1)创建核心态事件,即 R t l l n i t U n i c o d e S t r in g(&e v e n t N a m e,L B a s e-N a m e d O b j e c t s E v e n t N a m e );E x t e n s io n,E v e n t=I o C r e a t e N o t if ic a t io n E v e n t(&e v e n t N a m e,&e x t e n s io n H a n d l e),编程技巧:事件名称为 L B e a e N a m e d O b j e c t s
21、x x x”形式。这 时核心 事件处于 用户可 访问的 事 件命名空间。(2)当 核心事件产生时,设f事件为有信号状态,即 K e S e t E v e n t(e x t e n s i o n-E v e n t,0,F AL S E);(3)设里事件为无信号状态,即 Ke C l e a r E v e n t(e x t e n s i o n-E v e n t);(4)最后释放事件句柄,即 Z w C l o s e(e x t e n s i o n-E v e n t);2)应用程序创趁用户态事件,等待核心本件到来 (I)创建用户态事件,即 h E v e n t=O p e
22、 n E v s n t(S Y N C H R O NIZ E,F A L S E,E v e n t N a m e );/编程要 求:与 用 户创建同 名的 事 件对 象;(2)等待事件有信号状态,即 Wa i t F o r S i n g l e O b j e c t(h E v e n t,I N F I N I T E);(3)释放事件句柄,即 C I o s e Ha n d l e(h E v e n t);4.2 内存地址转换模块 由于在W i n d o w s N T系 统中应用程序使用虚拟地址,而驱动程序访问硬件只能使用具体的物理地址,因此驱动程序把采集的数据存人应
23、用程序指定的用户内 存空间必须经过转换后方可使用。该模块正是起到一个“地址翻译”的作用。(”对于从应用程序传来的盛拟地址,通过以内核函数H a l T r a n s l a t e B u s A d d r e s s 把应用程序下的虚拟地址转变为N T系统所认可的物理地址,然后提供给驱动程序读写硬件模块使用 (2)当 驱动程序把数据读人一段物理内存中时,用Z w M s p v i e w o f s e c t i o n 把系统所认可的物理地址映射到用户层中所认可的盛拟地址。在用户程序中采用赌值语句即可对虚拟地址进行读写.1 4 R2 0 0 1 嵌入式系统及单片机国际学术交流会论文
24、集4.3 硬件读写模块 驱动程序收到应用程序的指令后,由硬件读写模块完成具体操作I/0日直接利用系统所认可的物理地址,用R E A D _ I O R T _ X X X和W R I T E _ P O R T-X X X进行读写。对存储器则用 M n,Ma p l o S p a c e 把系统所认可的物理地址映射到非分页的系 统空间中,即可以用R E A D _ R E G IS T F.R _ X X X和WR I 丁 E _ R E G I S T E R _ X X X对存储器进行读写操作.4.4 中断处理模块 根据数据采集系统的特点,它需要在接口卡上的数据缓存满时,响应接f l 卡
25、发出的中断去读取数据。中断响应程序的应用是整个系统硬件保证实时性的关键环节。驱动程序为了获得接口卡的中断信号,必须通过硬件抽象层函数(H A 卫函数)把中断号映射成中断矢量值。在发生中断时,中断管理器通过中断矢量值找到相应中断服务例程,执行相应的中断处理在Win d o w s N 丁 系统中,系 统的有些优先级是无法更改的,如系统时钟、键盘及鼠 标的优先级,但它们的优先级很高。因此在中断服务例程中 必须采用中断屏蔽技术,关闭优先级比它自身还高的中断源,如键盘和鼠 标,这样就可防止在数据传 输过程中被优先级高的中断源打断而影响它的实时传输。4.4.1 硬件初始化 依据流程采集程序,在开始需要对
26、数据采集卡的相关寄存器进行设里,包括对模数转换芯片的可编程控制寄存器和定时器8 2 5 4 等 进行设里。设置 时的主要程序如下 HI NS T AN CE h I n s t a n c e;t y p e d e l I ro o l(D 1 1 F u n)(i n t a,);D I I F u n p F u n;i n t I o Ad r;i n t loco.;h i n s t a n c e=:L o a d L i b r a r y(八 T e s t D 1 1.s y s );刀定义动态链接库的载人句柄/定义一个函数类型/定义一个需调用的函数变量/数据采集卡上的地址
27、/需传输给寄存器的值/载人访问驱动程序的D L Lp F u n=(D I I F u n+):G e t P r o c A d d r e s s(h I n s t a n c e.O u t p o r t D a t a );4.4.2p F u n)(I o A d r,I o C o m);数据采集定时/对动态链接库中函数的调用 为了 保证多任务的 顺利进行,对于 数据的采集并非是让应用程序的主线程去等候每次A D转换完成后立即读人数据进行处理.本采集系统的软件设计采用驱动程序负责把每次A D转换完成数据读人用户数据存储区在数据童达到一定值后,应用程序采用定时查询方式,或采用驱动
28、程序事件触发应用程序方式,对数据进行处理。使用W i n d o w s 定时器的方法有两种:S e t T im e r 和t im e S e t E v e n t。两者名义上定时的最小精度都是 1.s e在实际应用中,t im e S e t E v e n t比 S e t T i m e r的精度要高很多。但就使用方便性而言,S e t T i m e r高于t im e S e t E v e n t.同时,对于应用于发电机和电网电流的 采样,只有在一个基波周期内即2 0 m s 内采集数据后对数据的处理才有意义,因此采用S e t T im e r 定时在精度和数据采集系 统的
29、性能要求上都能够满足要求 使用S e t T im e r 定时器的方法是 利用C 1 a s s Wiz a r d 在一个V C+项目 的C S a m p l e V i e w类(C V i e w的派生类)中为消息WM C R E A T E 和WM es T I M E R 消息提供消息处理函数O n C r e a t e 和O n T im e r 成员函 数。然后在O n C r e a t e 成员函数中,写人安装W i n d o w s 定时器的代码,并在()n T im“成员函数中编写需要定时执行的如下代码:i n t C S a m p l e V i e w,;O
30、 n C r e a t e(L P C R E A T E S T R U C P I p C r e a t e S t r u c t)i(C v i e w:;O o C r e a w(I P C r e a t e S t r u.O=一1)S e t T im e r(1,2 0.N U L L);/安装一个1 1)值为 r e t u r n 0:,-o id C S a mp l e Vi e w;:O n r i me r(UI N T n l D E v e n t)r e t u r n-I;1,间隔时间为 2 0 m s 的定时器/定时事件到来时处理第二篇嵌入式系统的
31、应用与开发香 99s wi t c h(n I D E v e n t)c a s e 1F i l t e r();豁v e 玩 t a();/定时器1 的定时时间一到即执行此处代码/进行数字信号处理刀对有用数据进行存储 以上O n C r e a t e 中,通过调用 C Wn d 的 S e t T i m e r 函数安装了两个定时器。S e t T i m e r 函数共有 3 个参数:第 l 个参数是分配给定时器的功值仁 第2 个参数是定时器的间隔时间(以m s 为单位八第三个参数是定时器产生一条WM es T I M E R事件时,应该运行的函数的地址。若该参数为N U L L,
32、则表示在产生WM _ T I M E R时,将执行O n T im e r 函数中的相应代码。5 结束语 本文采用了目 前最新的 模数转换器件,完成了 技术难度较大的多通道同步数据采集系 统的设计,实现了 单机多通道同步数据采集.引人G P S(全球定位系 统)信号,实现了 多站点和多机的同步数据采集。完成了 低成本、功能强的签于I S A总线的数据接口 卡设计.完成了 基于Win d o w s N T 4.0 操作平台的 设备驭动程序。驭动程序的开发充分休现了自 行研倒控倒系统软件与硬件间可调试性好维护方便的特点。参 考 文 献1 J e f f r r e y R i c h t e r
33、.Win d o w s N T高级编程技术.北京:清华大学出版社,1 9 9 62 H e i n z.P e t e r.D e s i g n i n g w i t h t h e T H S 1 2 0 6 H i g h-S p e e d D a t a C o n v e r t e r.A m e r i c a:T e x a s I n s t r u m e n t,S L A A 0 9 4-A p r i l,2 0 0 03 P e t e r G V i s c a ml a.Wi n d o w s N T D e v i c e D r iv e r D e
34、 v e l o p m e n t.A m e r i c a:Ma c m i l l a n C o m p u t e r P u b l i s h i n g,2 0 0 0,74 We l t e r O n e y.P rog r a m mi n g Wi n d o w s D r i v e r Mo d e l.A m e r i c a:Mi c r o s o f t P r e s s,1 9 9 9,1 05 Mi c r o s o f t C o r p o r a t i o n.M i c ro s o f t Wi n d o w s N T 4.0
35、D e v i c e D r i v e r K i t.A m e r i c a:Mi c r o s o f t C o r p o r a t io n,1 9 9 8,76 N u m e g a C o r p o r a t i o n.U s i n g D r i v e r Wo r k s.A m e r i c a:N u m e g a C o r p o r a t i o n,1 9 9 9,4H i g h S p e e d S y n c h r o n o u s D a t a A c q u i s i t i o nS c h e me i n P
36、 o w e r S y s t e m L i u H e p i n g S h i Y a w e i J i a n g Y u H i g h V o l t a g e I n s u l a t i o n T e c h n o l o g y a n d N e w T e c h n o l o g y o f E l e c t r i c a l E n g i n e e r i n g P r i m a r y L a b o r a t o r y o f E d u c a t i o n Mi n i s t r y,C h o n g g i n g,4
37、0 0 0 4 4,P.R.C h i n a A b s t r a c t A s t h e m e a s u r e,c o n t r o l a n d a n a l y s is d e m a n d s t h e s ig n a ls s u c h a s t h r e e p h a s e v o lt a g e a n d c u r r e n to f p o w e r s y s t e m s h o u l d b e a c q u i r e d w i t h m u l t i c h a n n e l s y n c h r o n
38、 o u s a c q u i s i t i o n t e c h n i q u e a n d t h e d a t a i n m a n ys t a t io n s(t h e d i s t a n c e b e t w e e n s t a t io n s m a y b e 1 0 k m)a n d m u l t i c h a n n e l o f s in g l e c o m p u t e r(m a y b e m o r e t h a n1 0 0 c h a n n e l s)r e a l iz e s t h e s y nc h
39、r o n o u s a c q u is it io n.T h i s p a p e r p r e s e n t s a m u lt i c h a n n e l s y n c h r o n o u s d a t a a c q u i-s i t io n s c h e m e b a s e d o n I S A B u s u s in g T I s T H S 1 2 0 6,w h i c h c a n m e e t t h e p o w e r s y s t e m r e q u i r e m e n t.T h isd e v i c e c a n b e s t a r t e d b y G P S s i g n a l,t h e t i m e r o n t h e b o a r d o r s o f t w a r e.K e y W a d s T H S I 2 0 6,I S A-b u s,s y n c h r o n o u s a c q u i s i t io n