微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

FPGA数据采集系统设计实例之思路分享

2016-02-03 09:16 来源:电源网综合 编辑:柚子

FPGA技术目前多被应用于电源测试以及数据采集等应用范围内,其本身具有可编程、布线资源丰富等特征,能够充分满足数据采集系统的设计需要。在今明两天的分享过程中,我们将就一种FPGA数据采集系统的设计实例进行分析,在今天的文章中,我们将会就这一设计实例中的设计思路和系统单元的设计原理进行分享。

FPGA数据采集系统设计思路

本文所设计的这一利用FPGA技术而设计的数据采集系统,其核心环节是采用了模数转换器AD0809,通过这一核心元件对8路通道的数值进行循环检测。当检测到有任何一路得值大于预设值时就进行报警,并显示出所超出规定值的通道数。如无任何通道的输出值超出于设值时,就进行通道0至通道7的循环检测。当需要对数据进行处理时。通过切换键将控制单元的功能转换到数据处理功能。在这一基于FPGA技术所设计的数据采集系统中,其数据处理功能主要实现对采样信号的放大到2倍、缩小到1/2和保持采样信号不变这3种基本功能。

在本方案中,我们所使用的核心技术是FPGA可编程VHDL语言与Max+plusll软件。在应用过程中,VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。根据上文中所介绍的设计思路和设计目的,我们给出了设计框图,其具体情形如下图图1所示。

数据采集系统设计的总体框图
图1 数据采集系统设计的总体框图

整个基于FPGA技术所设计的数据采集系统,主要分为三个部分,分别是数据输入单元、数据处理单元、数据输出单元。下面我们将分别阐述各个单元的设计原理及相关内容。


数据输入单元

在本方案中,我们所设计的这一基于FPGA的数据采集系统,其数据输入单元是通过模数转换器ADC0809的常规应用来实现的,其具体电路如下图图2所示。在图2所显示的电路系统中,ADC0809的CLOCK信号是由外部介入的。此信号的数值没有固定的要求,只要足够高就可以了,通常信号频率为640kHz。将ADC0809的信号输出给CPLD作为它的输入。

数据输入单元
图2 数据输入单元

在数据输入单元的电路系统设计过程中,我们所选择的ADC0809是CMOS的8位A/D转换器,逐次比较式MD转换芯片。片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。ADC0809的分辨率为8位,起模拟量输入电压的范围是0至+5V,有28个引脚。下图中,图3在图3已经注明了这一模数转换器的各引脚号,其中:INO,INI,……,1N7接8路模拟量输入。ADDA、ADDB、ADDC接地线。

ADC0809的管脚及主要控制信号时序图
图3 ADC0809的管脚及主要控制信号时序图


数据处理单元

在这一基于FPGA的数据采集系统中,我们所设计的数据处理单元是整个系统的核心部分,它的主要任务是要在正常运行的状态下对ADC0809的8路通道进行循环报警,以及对8路通道有选择性的进行数据的放大、缩小、不变输出处理。

为了达到上述的设计要求,首先我们需要定义一个CONTROL模块,它的输入端包括基本的输入信号、时钟信号。由于数据处理单元有两种工作模式,因此我们还要定义一个工作模式选择键kl。选择工作模式是由按键kl完成。当k1为0时,器件工作于循环检测报警模式。当kl为1时,器件工作于数据采集及处理模式。此时有三种处理模式:放大2倍、缩小为1/2、不作处理原样输出。所以要定义一个功能选择键fun[1..0]。当器件数据采集及处理模式时,fun为oo时。器件工作于放大2倍的方式,fun为01时,器件工作于缩小1/2的方式,fun为10和11时则所采集进来的数据不加处理就输出。

在数据选择和采集的过程中,如果需要选择ADC0809的8路中的任何一路,那么这一工作就是由控制键k3来完成的。k3是已一个三维矢量,由它来完成通道的选择,例如“111”表示第7路。为了要实现设计要求的显示功能,这里我们需要定义一个7段译码显示模块。为了消除通道的竞争问题,本方案中特别定义了CH21二选一模块。数据处理单元总体框如下图图4所示。其中,d[7..0]接ADC0809的数据端,q[7..0]接DAC0832的数据端,sel[2..0]接ADC0809的通道选择,seg[6..0]接数码管。

数据处理单元总体框图
图4 数据处理单元总体框图

数据输出单元

在完成了上述两个单元的设计后,接下来就需要完成最后一个环节,即这一FPGA数据采集系统的数据输出单元设计。这一输出单元电路系统在设计中所使用的芯片是DAC0832。它的结构框图如下图图5所示。它有20个引脚,其中ID7一ID0是8位数据输入端,ILE是输入数据允许锬存信号,CS与WRl是第一级缓冲器选通信号,这3个信号决定了LE1的电平:LE1为高电平时,锁存器的输出随输入变化,LEl的负跳变使数据锁存进锁存器。LE1为低电平时,锁存器的输出不在随输入端数据变化。XFER与WR2是第二级缓冲器选通信号。它们决定了LE2的电平,LE2在不同电平时对锁存器的控制作用与LEl一致。

在图5所显示的数据输出单元系统设计图中,VHER是基准电源输入端;IOUT1和IOUT2分别是电流输出端l和电流输出端2。RFB是反馈信号输入端,AGND与DGND是模拟地与数字地,二者分开是一项常用的抗干扰措施。

数据输出单元
图5 数据输出单元

在这一数据输出单元的设计过程中,我们所选择的DAC0832芯片具有一个优势,那就是其本身具备的二级缓冲器都是8位锁存器,它具有二级锁存控制功能。当多片同用时可实现多参数的同时输出。此时每片DAC0832承担一种参数的D/A转换。各片第一级缓冲器的打开是有先后的,但各片的XFER与WR2信号如分别互连在一起,则多片DAC0832开始D/A转换和有模拟量输出的时间将基本一致。

以上就是本文针对一种基于FPGA技术而设计的数据采集系统,所进行的设计思路分享,明天我们将会继续就这一方案中的模块设计情况做详细介绍,欢迎大家继续关注。

标签: FPGA ADC0809 VHDL

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006