微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > PPC405EP在电力监测系统中的应用

PPC405EP在电力监测系统中的应用

时间:08-03 来源:互联网 点击:
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