您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术基于FPGA的新型谐波分析仪设计 正文
基于FPGA的新型谐波分析仪设计

基于FPGA的新型谐波分析仪设计

点击数:7523 次   录入时间:03-04 12:04:03   整理:http://www.55dianzi.com   DSP/FPGA技术

显示单元为一块普通点阵LCD显示屏,可以显示各种谐波分析的数据和简单波形。该LCD显示屏由处理器直接控制。

网络接口单元是由1块MAX485芯片和1块RealTek8019以太网接口芯片构成。MAX485芯片提供了标准的RS485接口,其通信协议为标准IEC4000-5-104规约,该规约为IEC规定的标准电力系统通信规约。通过处理器的系统软件实现,可以直接传送分析结果数据给上层使用同样规约的第三方综合自动化站或监控系统。RealTek8019是一块全双工以太网接口芯片,该芯片实现了RFC 1600规范中要求的物理层,提供了标准的以太网接口,其通信协议为标准的TCP/IP协议,通过处理器的软件实现。

控制单元核心为使用FPGA实现的处理器Nios。Nios是Altera公司提供的基于Harvard结构的RISC通用处理器IP Core,目前最新版本为3.0,有16位和32位两个版本。两个版本均使用16位的RISC指令集,差别主要于系统总线带宽。在系统开发中使用Nios,可以根据需要自行配置处理器数目可多达512个。开发者可在FPGA容量允许范围内,自由配置处理器的Cache大小、指令集ROM大小、片内RAM和ROM大小、I/O引脚数目和类型、中断引脚数目、定时器数目、通用串口数目、扩展地址和数据引脚等处理器的性能指标,而且可以在处理器ALU中直接加入自行定义的数字逻辑,并添加自行定义的处理器指令。可见,使用Nios具有极大灵活性和很高的处理效率。使用Altera公司推出的SOPC Builder开发工具,开发者可以快速开发出满足设计需要的处理器。该开发工具支持C、C++语言,并提供了常用的功能类库。开发者可以直接使用C、C++语言进行系统软件开发,然后在线调试自行设计的Nios处理器和软件。当软件达到设计要求时,可通过该工具将执行代码转换成Flash文件格式或HEX文件下载到启动Flash或FPGA器件中,使所设计的系统可独立运行。本系统使用的Nios为32位版本,约使用了2093个逻辑单元,具有64KB ROM和4KB RAM,工作在50MHz频率。设计带有3个中断引脚、1个通用定时器/计数器和1个通用串行口,与FFT运算单元整合在同一FPGA芯片中。所有FPGA设计均使用Verilog HDL硬件描述语言进行设计。

在高速数字系统中,使用直接整合在FPGA芯片中的处理器具有优越的性能。在高速数字系统中,由于信号频率的增加导致PCB连线呈现传输线特性,从而影响到信号的完整性。线路间的串扰、芯片间的连接拓扑、芯片的引脚分布和封装形式、PCB的几何特性及介电特性、过孔及电压参考平面等均会严重影响高速信号的完整性。将电路中的高速数字信号部分整合在同一FPGA芯片中,则能有效解决以上的大部分影响因素,且可充分利用FPGA内部丰富的连线资源来增加系统的数字总线资源。FPGA可实现绝大部分数字电路设计,而将所需的功能直接整合在FPGA的设计中,因此可大大减小处理器外围扩展电路数目,降低外围电路和布局走线复杂度,减少影响高速信号完整性的因素,提高系统的抗干扰能力。FPGA具有丰富的部I/O引脚,可以充分满足电路设计时的外部扩展连接需求。

图4

    基本接口电路如图4所示。

由于处理器承担着多重任务,因此在系统软件中入了实时操作系统RTOS作为操作系统环境。使用RTOS的优势是非常明显的,它可屏蔽底层设备,提供多进程的并发操作,合理调配优先极不同的任务,有效管理内存空间,使开发者可以集中精力关注于功能的实际算法,并且为软件的调试、移植和有效复用提供良好的条件。本系统使用RTOS为源代码开放的μC/OSII。ΜC/OSII是由Jean J.Labrosse编写的源代码公开的RTOS,目前被移植到多种平台上广泛使用,是一个经过实践考验的优秀RTOS。ΜC/OSII可以同时管理64个进程,每个进程必须有不同优先级。其中优先级0、1、2、3、OS_LOWEST+PRIO-3,OS_LOWEST_PRIO-2,OS_LOWEST_PRIO-1和OS_LOWEST_PRIO为系统保留,所以最大可使用54个进程。ΜC/OSII是一个抢占式的RTOS,即系统能中止低优先级进程的执行,使高优先级的进程获得执行权,这样能有效保障进程调度的实时性。由于μC/OSII的内存管理功能过弱,因此本系统软件中只使用了其进程调度、互斥同步机制及通信机制部分,自行编写了内存管理部分以适应系统网络通信时对内存管理的需求。在系统中创建了6个进程,包括中断响应进程、Ethernet管理进程、串口管理进程、采样控制进程、FFT管理进程及显示进程,其优先级依次下降。中断响应进程负责处理中断的响应和中断的响应进程调用;Ethernet管理进程负责处理TCP/IP通信事件;串行口管理进程负责处理RS485串口通信事件;采样控制进程负责管理采样控制;FFT管理进程负责FPGA的FFT处理单元和处理器之间的事务处理;显示进程负责控制LCD的显示。

具体的软件工作流程为:中断响应进程由于优先级最高,所以可以及时对所有中断进行响应处理。在具体中断发生时,中断响应进程首先判断为何种中断,然后调用相应的处理进程,同时中断响应进程放弃CPU主动休眠,从而让处于低优先级的处理进程可以获得CPU时间运行。在处理完中断后,处理进程主动休眠,在更低优先级的处理进程可以处理完被打断的工作。当所有处理进程均无处理工作时,主动唤醒中断响应进程。处于休眠态的中断响应进程可实时被中断信号所唤醒,从而保证所有中断均能得到实时响应。该系统软件使用RTOS后,程序结构清楚,开发人员可以把精力集中于控制算法上,而不必过多考虑底层的问题,从而有效缩短开发时间,程序的可靠性大大提高。

3 总结

按照本系统所制造的产品已经通过实际测试,其基波幅值误差小于0.2%,谐波幅值误差小于5%,相位误差小于0.2%,其精度满足GB/T 17626.7规定的A级测量仪器精度要求。该产品成本低廉,结构紧凑,抗干扰性强。实际应用中,用户可按实际需求在变电站二次侧任意设置谐波监测点,并可通过局域网或RS485接口方便地接入变电站管理系统中,从而有效实现对线路谐波的监测。



上一页  [1] [2] 


本文关键字:分析仪  谐波  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术