微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SoPC的状态监测装置的嵌入式软硬件协同设计

基于SoPC的状态监测装置的嵌入式软硬件协同设计

时间:01-15 来源:互联网 点击:


图2和图3是对模拟数据进行Matlab仿真和ModelSim仿真二者结果的比较,可以看到原始计算结果有一定的误差,归一化后完全一致,产生误差的主要原因是在Matlab中的FFT是浮点数计算,而在FPGA中的FFT选择的是定点数计算。仿真结果表明此模块可以完成信号分析的功能,且分析结果达到较高精度。

3 装置软件设计
装置的软件结构如图4所示,主要由以下几个部分组成:嵌入式Linux操作系统、设备驱动程序(SJ90Dry.o)、数据采集控制与处理程序(SJ90IOAcc)、系统组态配置与监视分析程序(SJ90Logo)、通信接口程序(SJ90Comm)、CAN网驱动和I2C驱动。


其中:
(1)嵌入式Linux操作系统:主要负责进程管理、进程间通信、内存管理、实现文件系统、提供I/O接口及对其他资源进行管理;
(2)设备驱动程序(SJ90Dry.o):运行于系统内核空间,将缓存的存贮空间映射为字符设备,响应设备中断,建立采集数据交换缓冲存贮,提供用户程序与操作系统的接口,完成用户空间和内核空间的数据交换;
(3)数据采集控翻与处理程序(SJ90IOAcc):主要负责建立共享内存,管理系统配置信息,实时数据,提供连续、自主的在线数据采集控制、信号处理、报警检测、历史数据存贮和故障录波存贮等功能,通过设备读写和NetLink通信接口与内核态设备驱动程序进行数据交换;
(4)系统组态配置与监视分析程序(SJ90Logo):基于MiniGUI图形环境,提供可视化的系统参数配置(含机组、传感器、通道、测点信息配置等)功能,提供多种实时数据监视图表、历史趋势分析图表和时频振摆分析图表;
(5)数据通信接口程序(SJ90Comm):实现本系统与其他系统的数据交换,系统提供串口和网络2种方式传送数据,支持的协议分别为MODB US_RTU和MODBUS_TCP;
(6)CAN网驱动和I2C驱动:运行于系统内核空间,提供用户程序与操作系统的接口,完成用户空间和内核空间的数据交换;CAN网驱动获取开关量以及慢变量信号;I2C驱动完成硬件点灯以及报警等功能。

4 结语
基于SoPC的软硬件协同设计在图像处理、无线通信、军事武器等场合已经有了较多应用,本文则将该设计方法应用于状态监测装置中,并通过该设计方法最大限度地提升和优化了该采集系统的性能。笔者认为该设计方法同样适合于电力行业中其他一些实时性强、运算量大、功能复杂的多路采集分析装置中,以该设计思路替代以往的CPU+DSP,CPU+FPGA等多处理器芯片的设计方法,可实现系统级优化设计。

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

网站地图

Top