datasheet

基于FPGA的多路数字量采集模块设计

2008-06-30来源: 中国电子网 关键字:FPGA  采集模块  FIFO  数字量  上位机  INIT  数字信号采集  Spant

  1 引言

  测控系统常常需要处理所采集到的各种数字量信号。通常测控系统采用通用MCU完成系统任务。但当系统中采集信号量较多时,仅依靠MCU则难以完成系统任务。针对这一问题,提出一种基于FPGA技术的多路数字量采集模块。利用FPGA的I/O端口数多且可编程设置的特点,配以VHDL编写的FPGA内部逻辑,实现采集多路数字量信号。

  2 模块设计方案

  2.1 功能要求

  该数字量采集模块主要功能是采集输入的36路数字及脉冲信号,并将编帧后的信号数据上传给上位机,上位机经解包处理后显示信号相应的状态进行判断。

  根据设计要求,所测量的36路数字信号中,有15路正脉冲信号。它们均由一个同步脉冲信号触发,因此需要测量这些正脉冲的宽度和相对于同步信号脉冲的延时。

  要求采集步长不能大于10 ns,即采集频率高于100 MHz。而其他数字信号需要显示高低电平状态,其中一路信号是固定频率信号,需测量其频率值。上位机要求显示所采集信号的状态。

  2.2 模块原理框图

  FPGA内部逻辑功能强大,外围电路设计基于简单、可靠的原则。该模块由FIFO、USB2.0单片机、光电隔离器等部分组成。36路数字信号经光电隔离器进入FPGA主控单元,以供采集;FPGA处理采集到的信号,转换成数据进行编帧,然后写入FIFO。USB单片机提取FIFO中的数据,通过USB电缆传送给上位机,上位机将传送来的数据解帧,然后显示所有信号状态。模块通过电源接口向各个部分供电。其原理框图如图1所示。

  

  3 模块电路设计

  3.1 FPGA配置电路

  FPGA是采用XILINX公司的Spantan-II系列XC2S100E,该系列器件的内核采用2.5 V供电,工作频率高达200 MHz;I/O端口供电电压为3.3 V,可承受5 V的输入高电平。Spartan-II系列的FPGA具有丰富的I/O端口资源。其I/O端口输出缓冲器接收高达24 mA源出电流和48 mA灌入电流。

  由于FPGA基于RAM工艺技术,掉电后不能保存信息,因此需要一个外置存储器来保存信息。采用一次可编程的PROM(高有效或低有效)XCF01SV020,其复位引脚的极性可编程设置,供电电压为3.3 V。XCF01SVO20的DONE、INIT、CCLK信号来自于FPGA XC2S100E。系统上电后,首先FPGA初始化,INIT、DONE置低。INIT置低后复位PROM,此时由于PROM的CE为低,因此选取PROM,从而可将数据流从DATA引脚输入到FPGA的DIN引脚。配置完成后,FPGA将DONE接高,PROM处于低功耗的待机模式,并将DATA引脚置为高阻态。图2为FPGA配置电路图。

  

  3.2 光电隔离电路

  采用高速光电耦合器HCPL-2631,其开关频率高达10 MHz,而输人数字信号频率为120 kHz,完全满足要求。由于光电耦合器件以光为媒介传输信息,可使输入输出隔离,由于光电耦合器的输入回路为发光二极管,其输入阻抗很小,而干扰源的内阻较大,根据分压原理可知,馈送到光电耦合器输入端的噪声干扰电压变得很小,从而能有效抑制尖峰脉冲及各种噪声干扰,具有较强的抗干扰性能;另外由于光电隔离器的两端采用不同的接地方式,因此数字信号地和模块地被完全隔离。图3为光电隔离电路图。

  

  3.3 FIFO电路

  FIFO电路采用IDT公司的IDT72V17190器件,该器件采用3.3 V电压供电,16位64 KB容量的FIFO,工作时钟高达100 MHz。如图4所示,FIFO的数据输入D0~D15及PAF、WCLK、WEN均与FPGA相连。数据输出Q0~Q15及REN、RCLK、OE、EF、MRS、HF、FF均与USB2.0单片机相连。读FIFO状态时,USB2.0单片机给出FIFO复位信号MRS和使能信号OE,然后判断FIFO的状态信号EF(空)和HF(半满)。当FIFO半满且非空,即EF为高,HF为低时,给出FIFO读使能信号REN和读时钟RCLK,从FIFO中读出数据;写FIFO时,FPGA判断FIFO的PAF(几乎满)信号,如果该信号无效,则给出写使能WEN和写时钟WCLK,将数据写入FIFO。

  

  4 FPGA内部逻辑设计

  FPGA内部逻辑主要分为数字信号采集、数据缓存和数据读取、FIFO控制。根据要求,信号采集又分为频率信号采集、20路数字信号采集和15路脉冲信号采集。系统同时采集三组信号,再送入外部FIFO中缓存。由于脉冲信号的数据量较大,时序不匹配,因此在信号采集完后数据还应缓存,然后再经数据编帧送至外部FIFO。内部缓存利用VHDL编写模块,但是更简易的方法是利用FPGA内部的双口RAM。因此,FPGA选用Xilinx公司的XCF2S-100E,其内部集成5 KB容量的RAM,足够内部缓存使用。数据经信号采集后送人缓存,然后由读取模块读出再送入外部FIFO,整个模块采用120 MHz的时钟,可以满足要求大于100 MHz的时钟频率。采集20路数字信号的方法是当信号变化时,就将当前所有数字信号的电平状态都送入缓存,而对于频率信号和脉冲信号的采集则采用如下方法。

  4.1 频率信号采集

  由于频率信号只需体现出其频率大小即可,因此采集频率信号时只记录该信号两沿间的时间。即就是设定一个16位的计数器T,计数器的值随主时钟累加,当判断到该信号有变化时,就将计数器的值T1送人缓存,然后将该计数器清零。计数器的值继续累加,直到该信号下一次变化,再将计数器的值T2送入缓存,计数器再清零,以此类推,来记录该信号两沿间的时间。

  4.2 脉冲信号采集

  采集脉冲信号需记录该信号的脉宽以及相对于同步信号的延迟。记录方法是:使用一个单独的进程,定义一个24位的计数器TB,当同步信号的上升沿到来时开始计数,当同步信号的下一个上升沿到来时,该计数器清零。另一个进程判断15路脉冲信号中有一路信号变化时,将当前计数器TB的值送人缓存,并将当前所有脉冲信号的电平状态都送入缓存。

  4.3 数据的编帧和解帧

  在数据采集部分中,当同步信号的上升沿到来时,将3个帧标志分别写入3个缓存,频率信号数据的帧标志为EB90;20路数字信号的帧标志为2个EB91;15路脉冲信号数据的帧标志为3个EB92。读取数据模块中,当同步信号的下降沿到来时,开始读取缓存的数据送至外部FIFO,并判断当读取一个EB90后,开始读取缓存的数据,并送入外部FIFO;当读到两个EB91后,读取缓存的数据,并送入外部FIFO;当读到3个EB92后表明一帧数据读取完毕,等待下一个同步信号的下降沿后再开始读取下一帧数据。由于外部FIFO是16位,所以数据中不满16位的都用0将数据补充完整,完整的数据帧结构如图5所示。

  

  上位机收到一帧数据后进行解帧处理,对于频率信号数据,将这些T值相加并求平均得出T’,再乘以2,由于系统时钟是120 MHz,所以2T’/120为频率信号周期(μs级),然后求倒数即可得出该信号的频率值。

  20路数字量信号数据直接显示其电平状态。脉冲信号数据则先判断哪一路(多路)脉冲信号发生变化,再判断该信号(几路信号)的电平状态。若为高电平,则对应的时间应为TBa;若为低电平,则对应的时间应为TBb。TBa即为该脉冲信号相对于同步信号的延迟,而TBb-TBa的值即为该脉冲信号的正脉冲脉宽。

  5 结束语

  针对测控系统监测信号数量较多的问题,提出了一种基于FPGA的多路数字量采集与处理模块,设计了相应的电路和FPGA逻辑。在综合调试成功的基础上,该多路数字量采集模块已成功应用于某测试系统。

关键字:FPGA  采集模块  FIFO  数字量  上位机  INIT  数字信号采集  Spant

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0630/article_1032.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于TMS320C6701的星敏感器电路系统的设计
下一篇:用SoC的DMA方式记录井下钻具的振动

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

发挥你的无限创造力,首款RISC-V SoC FPGA架构问市

近期在加利福尼亚RISC-V峰会上的演示活动展示了将PolarFire SoC的硬件CPU子系统和可编程逻辑相结合实现的尺寸、功耗和性能优势  在5G、机器学习和物联网(IoT)联合推动的新计算时代,嵌入式开发人员需要Linux操作系统的丰富功能,这些功能必须在更低功率、发热量有严格要求的设计环境中满足确定性系统要求,同时满足关键的安全性和可靠性要求。传统的片上系统(SoC)现场可编程门阵列(FPGA)将可重新配置的硬件和Linux处理能力集成到单个芯片上,可以为开发人员提供理想的自定义设备,但这种方法功耗过高,并且安全性和可靠性都无法保证,否则就必须使用缺乏灵活性且昂贵的处理架构。为了解决这些问题
发表于 2018-12-05
发挥你的无限创造力,首款RISC-V SoC FPGA架构问市

摩尔定律放缓,eFPGA技术迎来了最好的发展时机

自摩尔定律被提出到现在,它已经伴随着半导体产业走过了半个多世纪,这个规律揭示了信息技术进步的神速,它让人们相信,IC制程技术是可以呈现直线式的发展,通过先进的工艺能让IC产品持续地降低成本,同时提升产品性能。但在今年,这样的想法或许被打破,业界对摩尔定律的怀疑声连绵不断,先是格芯宣布放弃7nm FinFET项目,随后英特尔延缓7nm工艺的研究进程等等,这些动作凸显了企业对行业新的看法。未来几年,摩尔定律是否会真的消失?它是否会改变如今的产业格局?这个不好说,但是放缓的节奏是不可否认的,摩尔定律的变化,给半导体产业带来了很多的不确定性,这也给eFPGA带来了发展机遇。(图片来源于Achronix公司)eFPGA迎来了发展良机对于业界
发表于 2018-12-01
摩尔定律放缓,eFPGA技术迎来了最好的发展时机

助力机器学习,Achronix推出第四代Speedcore eFPGA IP

Achronix半导体公司近日宣布:即日起推出其第四代嵌入式FPGA产品Speedcore™Gen4 eFPGA IP,以支持客户将FPGA功能集成到他们的SoC之中。现任Achronix Semiconductor公司市场营销副总裁Steve Mensor先生,在北京向与会媒体记者介绍了这一新品。 Steve MensorAchronix半导体公司市场营销副总裁 Speedcore Gen4将性能提高了60%、功耗降低了50%、芯片面积减少65%,同时保留了原有的Speedcore eFPGA IP的功能,即可将可编程硬件加速功能
发表于 2018-11-30
助力机器学习,Achronix推出第四代Speedcore eFPGA IP

Achronix半导体全面对接Speedcore eFPGA技术

该组项目将使研究机构和公司能够使用Achronix高性能Speedcore eFPGA技术快速构建低成本测试芯片            基于现场可编程门阵列(FPGA)的硬件加速器器件和高性能嵌入式FPGA半导体知识产权(eFPGA IP)领导性企业Achronix半导体公司日前宣布:公司推出两个全新的项目,以支持研究机构、联盟和公司能够全面对接Achronix领先Speedcore eFPGA技术。 eFPGA技术正在迅速地成为基于系统级芯片(SoC)的CPU卸载功能中可编程硬件加速单元的必备硅知识产权(IP),已被广泛用于包括人工智能/机器学习(AI
发表于 2018-11-28

高云牵手山大共建FPGA实验室,为新工科助力

集微网消息,11月6日,广东高云半导体科技股份有限公司宣布与山东大学微电子学院签约共建FPGA先进设计与创新应用联合实验室,并同日举行了签约揭牌仪式。        据悉,高云半导体为实验室提供适用于教师科研、学生实验使用的新一代基于自主知识产权FPGA芯片的设计开发板、FPGA设计工具套装及软件,山东大学微电子学院参与到企业产品应用研制,联合进行符合新工科建设目标的工程项目、创新应用系列教材开发,组织联合竞赛和线上线下资源平台建设工作。联合建设FPGA实验室,旨在共同为推动“中国芯”集成电路产业发展和高层次产业人才培养做贡献。        泰山
发表于 2018-11-07
高云牵手山大共建FPGA实验室,为新工科助力

高云半导体与山大共建FPGA先进设计与创新应用联合实验室

国内领先的现场可编程逻辑器件供应商—广东高云半导体科技股份有限公司宣布与山东大学微电子学院签约共建FPGA先进设计与创新应用联合实验室(Union Lab. of FPGA Advanced Design& Innovation Application,GOWIN-SDU),并同日在全国微电子集成电路与产业人才培养高级研修班结课仪式上举行了签约揭牌仪式。校企联合建设FPGA先进设计与创新应用联合实验室,旨在共同为推动“中国芯”集成电路产业发展和高层次产业人才培养做贡献。高云半导体发挥行业领导者作用,为实验室提供适用于教师科研、学生实验使用的新一代基于自主知识产权FPGA芯片的设计开发板、FPGA设计工具套装及软件,山东大学
发表于 2018-11-06
高云半导体与山大共建FPGA先进设计与创新应用联合实验室

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">