资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.基于FPGA的多路数据采集器的设计李庭武 李本印(陇东学院 电气工程学院,甘肃 庆阳 745000)摘要:数据采集是从一个或多个信号获取对象的过程,它是计算机与外部物理世界连接的桥梁,尤其在恶劣的数据采集环境中得到广泛应用。本课题主要研究利用FPGA把采集到的八路模拟信号电压分别转换成数字信号,在数码管上实时显示电压值,并且与计算机运行的软件示波器连接,实现电压数据的发送和接收功能。关键词:FPGA;模数转换;数码显示管;键盘;设计Design of multi-channel data terminal Based on FPGA Li Tingwu Li Benyin (Electrical Engineering College, Longdong University, Qingyang 745000, Gansu, China)Abstract: Data acquisition is a process that access to the object from the one or more signal, it is the bridge between the computer and the external physical world, and especially widely applied in data acquisition in harsh environment . This essay mainly studies on the usage of FPGA to collect the eight analog signals that are converted to digital voltage signal, digital tube display real-time voltage value. Connecting with the computer running software oscilloscope so that to realize the voltage data sending and receiving function.Keywords: FPGA; analog-to-digital converting chip; digital display tube; keyboard; design0 引言20世纪以来,数字信号处理技术已逐渐渗透到通信、家电、军事等各个应用领域。数据采集系统由数据输入通道,数据存储与管理,数据处理,数据输出及显示五个部分组成。本设计以FPGA为控制核心,通过模数转换器(ADC0809)对07通道的数值进行循环检测,实现多路数据采集的目的。若需要对数据进行处理时,通过切换键将控制单元的功能转换到数据处理功能,将采集到的电参量信号进行转换、放大、滤波、调零等处理,使之成为适合A/D或者显示记录仪器所需要的电压信号并应用数码管将其显示出来或上传至计算机。由于整个系统的控制采用FPGA实现,因此可以依据现场的具体情况,对此系统进行修改、调试,故其具有组织方式灵活的特点。适合用在要求采集通道多、精度高,但速率不高的数据采集中,是一种比较理想的实时数据采集系统。1系统设计现场信号产生器八路数据采集器主控器地址显示数码显示图1.1系统原理框图地址数据时钟系统设计框图如图1.1所示,数据采集器的第一路输入自制15V直流电压,第27路分别输入来自直流电源的5V、4V、3V、2V、1V、0V直流电压(各电压可由分压器产生,不要求精度),第8路备用。各路模拟信号分别转换为8位二进制数字信号。用串行码送入传输线路。主控器串行传输线路对各路数据进行采集和显示。采集方式包括循环采集(即1路、2路、8路、1路)和选择采集(任意一路)。显示部分能同时显示地址和相应的数据。利用电路补偿提高电阻变化与输出电流电压变化的线性关系。基于FPGA的I/O端口多、频率高,低功耗等优点,适用于有严格时序要求的多路数据采集系统,本设计采用FPGA构建多路数据采集系统核心控制电路,主要完成A/D转换及数据的采集、传输。FPGA采用虚拟的ADC接口与ADC0809进行通信。FPGA与ADC0809之间的通信可以采用中断方式,当数据转换好以后,BUSY引脚由高电平变为低电平从而产生中断信号。同样也可采用查询方式,不断查询ADC0809的通信寄存器的BUSY位是否为0,如果为0,则将数据缓冲器中的数据保存到数组中。本系统采用中断方式,FPGA与ADC0809之间的通信采用四线连接方式。ADC0809主要包括5个信号:CS,BUSY,DIN, D0UT,SCIK。其中,CS接地,使ADC0809总处于选通状态。由于选择中断方式,所以BUSY与串行数据转并行数据模块的复位信号reset连接。DCIK的输入是分频模块提供的lkHz的频率。DOUT与串行数据转并行数据模块的输入El连接。AINl/AIN2:通道和模式寄存器;st6:将20H写进模式寄存器中,选择自校准再恢复模式;st7:将0CH写进通信寄存器中,选择了AIN1/AIN2通道和下一次操作读通信寄存器的0/DRDY位;st8:读通信寄存器的0/DRDY位;st9:将5CH写进通信寄存器,选择AIN1/AIN2通道和下一次读数据寄存器中的数据;stl0:读数据寄存器中的值ADC0809工作状态控制。用键盘进行控制采集通道的选择,4-F键为功能键,4-E键为复位键,F键为确认键,13键为通道选择键。当按下“1” 键选通ADC0809的1通路将实时采集到电压值通过模数转换并送到FPGA进行处理处理,显示出此时的数据和地址值。当按下“2” 键选通ADC0809的2通路将实时采集到电压值通过模数转换并送到FPGA进行处理处理,显示出此时的数据和地址值。当按下“3” 键选通ADC0809的3通路将实时采集到的电压值通过模数转换并送到FPGA进行处理,显示出此时的数据和地址值。在显示出各通路采集到的电压值和地址值的同时还实现了与PC机的串行通信。ADC0809与FPGA是总线连接方式,端口地址为0x7fff。在通路选定后,转换开始时变低,只有在EOC变为高电平是转换才结束,继而从端口读出相应的值。图2.1 正弦信号发生器多路数据采集系统采用ADC0809模数转换器作为数据采集单元和FPGA来对它们进行控制,不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高采集数据的灵敏度及指标。多路数据采集系统就是通过键盘控制选择通路,将采集到的电压模拟两转换成数字量实时的送到FPGA里处理从而显示出采集电压和地址值。2硬件设计2.1 正弦信号发生器自制的正弦信号波发生器如图3.1所示。它由方波发生器、三角波发生器和低通滤波器组成,输出正弦波,,电位器调节输出正弦波的频率,使频率200Hz2KHz范围内变化,再经过频率电压变换后输出相应15V直流电压(200Hz对应1V,2KHz对应5V)。2.2 加法器图2.2 加法器使用加法器的目的是使200Hz对应1V,2KHz对应5V,如图3.2所示。2.3 模数转换器ADC的功能是将输入模拟量转换位与其成比例的数字量,它是智能化测量控制仪表的一种重要组成器件。ADC0809 八位逐次逼近式A/D转换器是一种COMS器件,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近 寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。 8路模拟开 关地址锁存与译码器比较器控制电路SAR树状开关三态输出锁存器256电阻阶梯图2.3 ADC0809内部结构八路转换开关能直接连通八个单模拟信号中的任何一个。其内部结构如图3.3所示。ADC芯片的启动转换信号有电平和脉冲两种型式。设计时应特别注意,对要求用电平启动转换的芯片,如果在转换过程中撤去电平信号,芯片将停止转换而得到错误的结果。ADC转换完成后,将发出结束信号,以示主机可以从转换器读取数据。结束信号也用来向CPU发出申请。CPU响应中断后,在中断服务子程序中读取数据。也可用延时等待和查询转换是否结束的方法来读取数据。2.4电源模块图2.4 稳压电源原理图设计使用的电源是自制的5V直流稳压电源,原理图如图3.4所示。根据以上设计中FPGA工作电压的要求,需要稳压电源输出+5V直流电。因三端稳压器具有结构简单、外围元器件少、性能优良、调试方便等显著优点,本设计中采用三端稳压块LM7805,电源经1000uF电解并并联0.1uF电容依次滤掉各种频率干扰后输出,输出电压直流性能好,实测其纹波电压很小。集成稳压块LM7805 输出电压+5V,输出电流1.5A,安装时要加散射器片。电源变压器选40W、5V输出变压器。图2.5 FPGA的配置电路图EPCS4VCC2VCC1ASD1nCSDCLKDATAVCC3GNDASDOTD1TMSTDOTCKVCCnSTATUSTDOTMSTCKnCEOASDO(I/O)nCSO(I/O)DCLKDATA0nCECONF_DONEEP2CSP144CINMSEL0MSEL1TD1nCONFIGGND910111213876543211410K10K10K10K10K10K10KGNDGNDGNDVCCVCCGNDTCKTDOTMSTD1nCEnCS2.5 FPGA接口电路FPGA是基于SRAM型结构的,其本身并不能固化程序。因此,FPGA需要一片Flash结构的配置芯片来储存逻辑配置信息,用于对FPGA进行上电配置。其中MSEL1:0:用于选择配置模式。FPGA有多种配置模式,比如主动、被动、快速、正常、串行、并行等,可以由此管脚进行选择。DATA0:FPGA的串行数据输入,连接至配置器件的串行数据输出管脚。DCLK:FPGA的串行时钟输出,为配置器件提供串行时钟。nCSO(I/O):FPGA片选信号输出,连接至配置器件的nCS管脚。ASDO(I/O):FPGA串行数据输出,连接至配置器件的ASDI管脚。nCEO:下载链器件使能输出,在一条下载链中,当第一个器件配置完成后,此信号将使能下一个器件开始进行配置,下载链的最后一个器件的nCEO应悬空。nCE:下载链器件使能输入,连接至上一个器件的nCEO,下载链的第一个器件的nCE接地。nCONFIG:用户模式配置起始信号。nSTATUS:配置状态信号。CONFIG_DONE:配置结束信号。FPGA的配置电路图如3.5所示3 软件设计 开始07口循环判断采样方式选择端口读取0809数据处理数据输出数据手动自动图3.1 系统软件流程图系统中软件采用VHDL语言编程。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称为设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),即涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号