一、导言
传统的数据收集体系,一般选用单片机或DSP作为首要操控模块,操控ADC、存储器和其他外围电路的作业。跟着数据收集对速度功用的要求越来越高,传统收集体系的坏处就越来越显着。单片机的时钟频率较低且需用软件完结数据收集,这使得收集速度和功率下降,此外软件运转时刻在整个采样时刻中也占很大的份额。而FPGA(现场可编程门阵列)有单片机无法比拟的优势。FPGA时钟频率高,内部延时小,悉数操控逻辑由硬件完结,速度快、功率高。在此技能基础上,为了满足数据收集对速度的要求,本文就侧重介绍了一种根据FPGA,选用VHDL硬件描绘言语规划完结的高速数据收集体系。
二、体系的全体硬件规划
本数据体系以FPGA为中心、首要包含数据收集电路、通讯接口电路、电源模块等几部分。其间中心操控逻辑首要担任发生各部分的操控信号,完结对整个体系的逻辑操控和对来自面板的作业形式操控信号的软件消抖,并对所采数据进行编祯处理,电源模块为该体系供电的一起,也为前端传感器供给了+9V的供电电源
体系选用60MHz晶振输入,形式操控信号来自面板上的操控开关,别离发生体系自检、收集开端、及手动复位三个操控信号。体系的原理框图如图1所示:
面板上有三个操控开关,别离为“复位”开关RST, “体系自检”开关S1和“收集开端”开关START。RST信号为外部的手动复位,当拨至高电平常,对体系一切的计数器清零;“体系自检”开关闭合时收集体系内部1路预知信号完结体系自检功用;“收集开端”开关有用时,体系开端对24路模拟信号进行收集,当“体系自检”开关和“收集开端”一起有用时,对体系进行复位。
1. 数据收集部
该部分首要由一片高速AD芯片和一片Altera的FPGA构成。由于本体系规划采样速度最大为50M,根据采样定理,采样频率至少应该在100M以上,所以AD芯片选用的是MAXIM公司的MAX100。该芯片转化精度8位,1.8v电源供电,低功耗,最高作业速度为250MSPS。经过测验能够很好的满足体系测验要求。
一般在低速数据收集体系中常运用MCU作为CPU来操控。但在高速数据收集体系中,往往会遭到MCU的影响,并且跟着速度的进步ADC,RAM,MCU之间的时序同步问题也会显示出来。因而本体系运用了高速、多I/O口的FPGA芯片来操控ADC和RAM等,然后很好的处理了采样速度过高和时序同步的问题。
FPGA(Field Programmable Gate Array)是从PAL,GAL开展而来的阵列型高密度PLO器材,具有高密度,高速度,低功耗等特色。特别合适完结杂乱的组合逻辑。根据体系要求,本体系中运用的FPGA芯片型号为Altera公司的EPF10K10TC144-3。它的可用门数7000个,最大用户I/O数134,计数器的作业频率可达200MHz。在该体系中FPGA完结的功用逻辑首要有:
(1) 完结对来自面板的作业形式操控信号的软件消抖。
(2) 接纳收集形式开关宣布的开端采样信号START,完结对ADC的操控,开端AD转化;
(3) 当FIFO存储器半满时,宣布一个Half Flag信号,告诉USB芯片能够读数,FIFO存储器为空时,宣布一个Empty Flag信号,提示USB芯片中止读数。
FPGA的功用逻辑运用VHDL言语来完结,这是一种硬件描绘言语,首要用于描绘数字体系的结构、行为、功用和接口。运用VHDL言语规划硬件电路时,能够使规划者革除编写逻辑表达式或真值表的作业。这样使硬件电路规划的难度有了大幅度的下降,然后能够进步作业功率,缩短硬件电路的规划周期。运用VHDL言语完结的收集体系FPGA内部原理图如图2所示。
图中共有两个模块,xd模块首要完结对输入信号的消抖,能使体系作业更安稳。Sample模块是本体系的中心部分,它首要担任各部分的逻辑操控及AD采样数据的编祯处理。
2. 通讯接口部分
通用串行总线USB是一种新式的通讯规范,它具有运用灵敏,衔接便利,通讯速度快,能独立供电等特色。现在,越来越多的计算机外围设备开端选用USB的通讯接口。由于本体系收集速度高数据量大,因而,也选用了USB通讯接口。
现在出产USB芯片的厂商许多,首要的产品有CYPRESS公司的EZ-USB,PHIPILIPS公司的PDUSBD12,National Semiconductor公司r的USB9604等。本规划选用的是CYPRESS公司的带8051内核单片机的EZ-USB系列参CY7C68013。该芯片选用改善的8051内核,与规范的8051指令彻底兼容,除此之外内部还集成了存储器、智能USB接口引擎、USB收发模块、串行口等。
在USB下芯片CY7C68013和EPF10K10TC144-3FPGA之间选用了FIFO(First in First out SRAM)芯片作为数据交流的缓冲衔接,这样能够使USB接口芯片和FPGA之间的最大数据交流速度超越USB总线的速度,使之不会成为数据传输的瓶颈,然后使FPGA和主机之间的数据传输速度只受USB协议约束。
由于CY7C68013芯片内嵌8位8051处理器,因而运用两片FIFO芯片完结FPGA和USB接口之间的双向通讯。FIFO芯片选用具有16K×9bits内存的IDT7206,从FPGA传输的数据首要保存在FIFO中,然后再由CY7C68013带走,这样使数据的传输不会呈现阻塞的状况。对与IDT7206只具有双端数据总线和状况信号,没有地址总线,所以FPGA选用I/O译码的办法直接拜访FIFO。FIFO的状况信号有空、半满和满,它们都是低电平有用,经过这三个信号就能够灵敏的操控FIFO的读写。
CYPRESS公司为EZ-USB系列的芯片供给了固件程序和驱动程序模块和例程。固件程序与驱动程序能够独立的被调试,且调试便利,相对于其它USB芯片,能够进步开发速度。
三、 FPGA首要模块的逻辑完结
FPGA体系的硬件规划模块首要有消抖模块、收集模块两部分。收集模块又包含逻辑操控模块、时钟逻辑运算模块、时钟生成模块等。下面首要就消抖和FIFO操控部分进行描绘和完结。
1.消抖模块规划
为了体系各作业状况更安稳,当FPGA接遭到一个作业状况信号时,发动一个计数器,若计数器能计到设置的最大值则以为该作业状况信号有用,不然以为无效。消抖的FPGA详细完结办法如下所示
process(reset,fosc)
VARIABLE count : INTEGER range 0 to 50;
begin
if reset = ‘0’ then
count := 0;
outcheck 《= ‘0’;
elsif fosc‘event and fosc=’1‘ then
if incheck=’0‘ then
if count 《 50 then
count := count + 1;
outcheck 《= ’0‘;
else
count := count;
outcheck 《= ’1‘;
end if;
else
count := 0;
outcheck 《= ’0‘;
end if;
end if;
end process;
仿真成果如图3所示:
由图3能够看出经过此办法能够消除因作业状况信号时颤动而引起的误操作,确保了体系作业的安稳性
2.FIFO操控模块规划
体系首要把收集到的数据缓存到FIFO里边,当存储到达用户设定的余度时,便送出一个恳求信号,告诉USB芯片读取数据。FIFO余度值的巨细由用户自己设定,但此值原则上不能过于挨近FIFO的深度。由于在USB芯片呼应这一恳求信号,进行读数处理的进程中,FPGA仍在进行数据的收集和存储。假如余度值过于挨近FIFO深度,FIFO简略发生溢出的过错。因而本体系中以FIFO芯片IDT7206的半满作为设定的余度,当IDT7206存储数据到达其容量的一半时,FPGA就会送出一个恳求USB读取数据的信号。FIFO操控模块的信号有:异步清零aclr;读写数据q/data;读写使能rden/wren;空/半满标志ef/hf。数据data在写使能有用的状况下按照写时钟往FIFO里边存储,在读使能时,数据按照读时钟的速度从q数据总线上输出。其完结和仿真如图4所示:
由图4能够看出,读使能rden在半满信号下降沿到来后才有用,即数据才开端被USB芯片从FIFO中读出,在空信号下降沿到来后读使能rden信号无效,数据中止读取。而整个进程FPGA都在进行数据的收集。
四、结 论
本文完结高速、多通道的数据收集体系的FPGA规划,该体系具有电路简略、体积小等长处。使用EDA东西和言语对FPGA进行规划、仿真和验证,这便于规划的修正和优化,大大缩短了产品的开发规划周期。由FPGA具有在线编程的特色能够根据现场的详细状况,对FPGA的内部逻辑装备进行修正,进一步增加了体系使用的灵敏性,经测验该规划到达了满足的作用,是一种比较抱负的多通道、高速数据收集计划。
责任编辑:gt