微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > PPC 405EP在电力监测系统中的应用

PPC 405EP在电力监测系统中的应用

时间:07-27 来源:互联网 点击:

同样用ADuM1301隔离。系统中CPLD除了完成逻辑译码,还充当PPC 405EP的外部看门狗,在CPLD内部计数器溢出之前CPLD计数器清零。由于所需资源很少,CPLD采用Altara公司的EPM240即可满足要求。

3.2.3 串行时钟和E2PROM电路

I2C总线接口的时钟器件和存储器件分别选用PCF8563和AT24C02,它们挂接在PPC 405EP处理器的I2C总线上,如图3所示。PCF8563是Philips公司生产的工业级实时时钟,具有功耗低、精度高特点,使嵌入式系统的硬件主模板具有较长的稳定时钟信号。AT24C02是一个2 KB的串行E2PROM,用于存

放系统软件在运行过程中所需的重要参数。如采样频率、故障报警等级等。

3.2.4 电源

电源是整个系统中的重要部分,系统的大多数不稳定因素或故障都是由于电源设计而造成的。本设计采用LT1765和MIC39150-1.8分别产生3.3 V和1.8 V电源。LT1765是Linear公司的3 A开关电源,其典型电路如图4所示。输入电压为3 V~25 V。输出电压则根据R1和R2(一般固定阻值为10 kΩ)的阻值而定,计算公式如下:

另外,PPC 405EP对上电及掉电的顺序的要求:上电时要求先V核后VI/O,而掉电则要求按先VI/O后V核的顺序,如果不满足此顺序,PPC 405EP的最小系统不能正常上电复位。这里采用12 V直流电压同时输入LT1765和MIC39150-1.8.满足上面要求顺序。

4 软件实现

4.1 内核驱动程序

Linux将每个设备看作一个文件,即可以像对待文件那样使用read、write等系统实现读写功能。首先在。PPC 405EP平台的PPC Linux内核加入CAN、SII0680A等外设驱动。以CAN驱动为例,简要说明Linux下驱动的数据处理流程。

由于CAN一帧的数据长度最大为8个字节,以模拟采集板为例,当8个测点同时发生故障时,其通过CAN传送给PPC 405EP的数据帧必然远超过一帧数据,这时需要在驱动中进行解包、组帧等处理。因此,CAN驱动中的数据处理流程就显得相当重要。

其接收过程:当CAN控制器接收数据时,产生接收中断,启动接收中断处理程序上半部分将CAN控制器接收缓冲器中的内容复制到接收队列而不作任何处理,解包和组帧将在中断处理的下半部分完成,并将处理的帧放入帧队列,最后用户使用系统调用从接收帧队列中读取完整的一帧;发送过程:用户进程通过系统调用向驱动程序传送一帧任意长度的数据,驱动程序中发送数据的程序按照协议将该帧分段打包,放入发送队列,并向CAN控制器请求发送。

4.2 应用程序

系统的应用软件由运行在前台的系统管理程序和运行于后台的网络监听、数据分析程序两部分组成。这两部分程序相互独立,它们之间的交互是通过信号量和共享内存的方式实现。

系统管理程序基于Qt开发。Qt是一个跨平台的C++图形用户界面库,支持Linux平台。系统管理程序主要完成报警文件浏览、文件拷贝、采集参数管理、磁盘(CF卡)更换、报警参数管理等人机相互功能。因为Qt是基于C++的,而Linux是基于C,因此在Qt访问Linux下用户的函数时,需在Qt中用关键字extern“C”声明。

后台程序为主要在嵌入式PPC Linux下开发。本系统的任务划分为:CAN通信、网络监听及报文分析。线程之间的数据共享采用互斥锁保护,以免陷入死锁状态。为了增强装置通用性,关于测点设备的相关信息,根据现场实际需要事先写入XML文件中,当系统启动时先读取该文件内容初始化监听、分析程序的配置。其工作流程图如图5所示。

5 结束语

PPC405EP处理器具有低功耗、低成本、高性能特点,本设计充分采用PPC 405EP的各种内置外围组件接口,简化设计,降低成本。此监测装置已运用于变电站的设备监测中,且运行效果良好。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top