2FPGA的软件设计
FPGA在XILINX的软件开发系统下,用VHDL语言设计,主要实现以下功能:
(1) 总线控制的实现
本控制统要控制大量的分离信号、大量的参数及系统的工作参数、电压值,完成故障信息的采集、综合和上报。要求用简单、易控的串行同步通信总线控制方式(为RS—485总线接口)。总线控制的原理框图如图5所示。
总线按位串行,双向同步方式传输信号;只由5条信号线组成:2条差分时钟线CLK+和CLK-,2条差分数据线DATA+和DATA-,一条地线GND。发送时,数据的缓存、转换及数据在时钟作用下按位串行传输;接收时,数据的同步、缓存、转换及接收中断的产生,都用VHDL语言在FPGA中实现。
(2)通信接口的实现
本控制系统对内、对外通信接口较多:与上方系统控制命令接口、与上方系统数据接口、设备内数据接口等。这些接口采用异步串行通信方式(SCI)通信。 FPGA内异步串口设计的原理如图6所示。
这里充分利用FPGA的硬件可编程性,把要扩展多个异步串口,用VHDL语言在FPGA里实现,使系统硬件平台简单,而且能灵活设置波特率和通信方式。
(3) 状态采集的实现
有些信号是需要控制系统实时处理的,通过FPGA的采集、整形,在信号的上升和下降沿产生一定宽度的脉冲,作为DSP的中断信号。DSP在中断程序中实时读取信号的状态,控制设备工作在新的状态。
四、结束语
目前,DSP速度越来越快,成本越来越低,FPGA 的容量越来越大,封装越来越小,使得DSP+FPGA 组成的系统成为解决系统设计的重要选择方案之一。本文介绍了一种基于DSP+FPGA的控制系统设计方案,由该设计方案实现的控制系统完全达到了技术指标要求,系统工作稳定可靠。而它提供的硬件平台对于系统的升级和功能扩展非常有利,对于控制系统来讲具有较好的通用性。