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

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

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

摘要:首先介绍了软硬件协同设计方法的发展过程和状态监测装置开发的背景资料,然后利用该方法设计了一款新型的高性能状态监测装置,并分别从硬件和软件2个角度对设计方法进行了深入说明。该装置已成功集成于水电机组在线监测系统中,实际应用证实了它具有性能高、稳定性好、扩展性强等优点,同时该设计方法对于电力场合其它类似应用亦有较大的借鉴意义。
关键词:软硬件协同;SoPC;状态监测;Linux,;FPGA;PLC

0 引言
软硬件协同设计(Hardware/Software Co-deaign)是在20世纪90年代兴起的跨领域交叉学科。随着超大规模集成电路制造工艺的进步,单个芯片所能提供的晶体管数量已经超过了大多数电子系统的需求,专用集成电路(Application Specific Integrated Circuit,ASIC)设计逐渐进入了片上系统(System on Chip,SoC)设计的时代。
片上可编程系统(System on a Programmable Chip,SoPC)是Altera公司提出来的一种灵活、高效的SoC解决方案。它是一种特殊的嵌入式系统;首先,它是系统芯片SoC,即单个芯片能完成系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁剪、可升级、可扩充,并具备软硬件在系统可编程的功能。
由此可见,软硬件协同设计是电子系统复杂化后的一种设计新趋势,其中SoPC是这一趋势的典型代表。SoPC技术为嵌入式系统设计提供了一种更为方便、灵活和可靠的软硬件协同实现方式。本文利用基于SoPC的软硬件协同设计方法实现了水电机组在线监测系统中的状态监测装置,是软硬件协同设计技术在电力场合的嵌入式装置开发中的创新式的尝试。

1 基于SoPC的软硬件协同设计
1.1 设计思想
基于SoPC的软硬件协同设计的核心是系统功能集成,设计思想较传统方法有了根本改变,即从以功能设计为基础的传统流程转变到以功能组装为基础的全新流程。软硬件协同设计在实际应用中表现为软硬件协同设计平台的开发,首先对不同的任务目标找到最恰当的设计方案,然后进行软硬件划分,产生硬件描述、软件描述和软硬件边界描述3个部分。软硬件划分是软硬件协同设计的关键步骤,其基本任务是在满足某些约束的条件下,将系统功能行为“最优地”分配到一定的软硬件系统结构上进行设计规划。
1.2 设计流程
软硬件协同设计就是同时设计系统中的软件和硬件部分,来满足系统的性能指标。面向SoPC的软硬件协同设计流程从目标系统构思开始。对一个给定的目标系统,经过构思,完成其系统整体描述,然后交给软硬件协同设计的开发集成环境,由计算机自动完成剩余的全部工作。一般而言,还要经过模块的行为描述、对模块的有效性检查、软硬件划分、硬件综合、软件编译、软硬件集成,软硬件协同仿真与验证等各个阶段。软硬件协同设计流程如图1所示。



2 装置硬件设计
数据采集分析是状态监测装置的实现基础和核心功能,它设计的优劣直接影响着状态监测装置的参数指标的好坏,而本文中采用的基于SoPC嵌入式软硬件协同设计很好地实现了该部分的功能,本章着重介绍该部分功能的硬件设计思路。采用可编程逻辑器件(FPGA)设计数据采集系统,具有集成度高、工作频率快、编程配置灵活、抗干扰能力强等一系列优点。此外,还可以在FPGA芯片内进行采集控制、缓冲、信号处理、传输控制、通信。本装置中正是按照上述的软硬件协同设计思路合理分割功能,较高性能地实现了在线的多路状态监测。
2. 1 采集控制IP设计
采集控制IP主要以下几部分:采集控制逻辑,各种寄存器,数据缓存RAM块,时间戳计数器,PLB_EMC接口伺服逻辑。工作时钟为10 MHz。经后期软件验证,该模块的采样频率最高可达12 kHz,同时可最多对84路模拟量进行采样。
2.2 信号分析IP设计
为节约CPU资源,减轻软件开发负担,本系统中信号分析采用FPGA硬件逻辑完成,信号分析IP直接从原始信号数据计算得到直流,基波以及各次谐波的幅值和相位等特征量,具有运算时间固定,速度快,不易出错,不占用CPU软件资源等优点。设计框图如图2所示。主要包括数据流控制逻辑,FFT运算IP,幅频相频计算模块,均值和峰峰值计算模块,分析结果存储缓冲RAM,PLB_EMC接口伺服逻辑。


其中FFT运算和幅值相位计算采用了Xilinx的IP,为节省FPGA逻辑资源,4 096点FFT采用基-2(Radix-2)算法简化版,突发输入输出模式,在速度达到的情况下尽可能的缩减面积。
在完成了信号分析IP的逻辑后,进行了仿真工作,仿真数据由Matlab模拟计算得到,通过TestBench送给分析模块进行仿真,仿真环境为Mentor Graphics公司的ModelSim 6.3g。下面是一些具体的仿真结果以及和Matlab仿真的对比。
在Matlab中产生一个正弦信号,并做4 096点FFT,计算结果如图2所示。
图3是FFT工作的时序图,可以看到在选择了基-2(Radix-2)算法简化版,突发输入输出模式后,4 096点FFT的计算时间为533.24 μs,较软件算法快很多,从而使系统能胜任大数据量(84路16位数据)高分辨率(4 096点)信号分析。

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

网站地图

Top