标签芯片 | 读写器 | 天线 | 中间件 | 智能卡 | 生物识别 | 条码 | 制造设备 | 物流 | 零售 | 防伪 | 交通 | 停车 | 资产管理 | 动物 | 身份识别 | 军事 | 航空 | 门禁 | 一卡通
供求商机 资讯中心 产品中心 企业资料 人才招聘
 
 首页 >> 技术中心>> 正文
多路高速信号并行采样及实时存储解决方案
来源:电子设计应用   2007-7-30 14:22:50
关键词: 信号采集  测量  实时  存储  解决方案  


提要本文提出了一种基于FPGA的并行采样及实时存储的信号采集方案,主要用于解决高端测量系统中存在的多通道、高速率、大数据量问题。本方案同时具有易于扩展的优点,并可以灵活地嵌入数据处理模块。

前言

在高端测量系统当中,通常需要同时采集许多路模拟信号,且这些信号的带宽、采样精度、有效时间等都各不相同。此时,如果采用基于MCU的方案,则由于必须同时面对多个不同的ADC而耗费掉MCU的大量资源。再者,当存在高速信号时,数据量将急剧增大,几乎无法实现。

高端测量系统的主要难题是,繁多的控制对象和庞大的数据量,究其根本就是实时性问题。解决这个问题的方法通常是选用高性能的MCU甚至DSP,或采用DMA技术。如基于混合信号MCU的DTC(Direct Transfer Control)解决方案。本文改变了基于MCU的分时控制和延时存储这一思路。提出一种采用FPGA的解决方案,通过FPGA+ADC实现多路并行采样,通过FPGA+SRAM实现高速实时存储,从而在根本上解决了上述问题,同时衍生出便于调整、易于扩展的优点。

总体方案

本方案的总体设计思路是:尽可能地减少MCU的负担,让采样和存储全部自主完成。为行文方便,我们称这个基于FPGA的采样和存储模块为信号采集控制器(Signal Collecting Controller),缩写为SCC,把信号采样和存储合称为信号采集。下文将以一个实际例子说明SCC的设计方案。该例子的原型应用于粒子测量系统中,共有5个信号通道,其中3个通道的采样率为1MSPS,数据宽度为12位;一个通道为10MSPS,数据宽度为12位;一个通道采样率为20MSPS,数据宽度为10位。总体方案如图1所示。需要说明的是,本文旨在阐述一种思路和方案,并非提供可照搬的详细设计。故对原型进行了抽象和删改,也未给出器件的具体型号。

图1中虚线框内是FPGA实现部分,即SCC,虚线框外是与SCC连接的片外元器件。ADC0~4为5个ADC,分别对应5个信号通道,下文简写为ADCx;ZBT-SRAM为零总线延时SRAM。AD_CTRL0~4分别为5个ADC的控制器,简写为AD_CTRLx;SRAM_CTRL为ZBT-SRAM的控制器;MCU_IF为SRAM与MCU接口的转换器。clk、dq为控制ADC的接口,dq是转换数据,可以是串行的,也可以是并行的,根据实际的ADC型号而定;mclk、w/r、addr、dio是SCC与ZBT-SRAM的接口;bus是SCC与MCU连接的控制、地址和数据总线。wr0~4分别为AD_CTRL0~4输出的数据有效信号,简写为wrx;d0~4为AD_CTRL0~4输出的并行数据,简写为dx;set、index、din、dout用以完成MCU对SRAM_CTRL模块的参数设置和查询,称为控制口;irq、den、data用以读取SRAM中的数据,称为数据口。

下面简略地描述一下SCC的工作过程,更具体的内容在SRAM_CTRL模块中介绍。AD_CTRLx从ADCx中获得数据,锁存在dx上,同时输出wrx信号。SRAM_CTRL扫描AD_CTRLx,当发现wrx有效时,读入数据dx。各路dx在SRAM_CTRL内部被按照ZBT-SRAM的数据宽度进行调整,SRAM_CTRL根据各路数据的地址空间分配产生寻址信号addr,同时输出控制信号w_r,输出相应数据dio,在mclk的驱动下,数据被写到SRAM中。MCU可从MCU_IF读取SRAM中的数据,首先通过控制口设置欲读取的数据通道号,然后发送开始读命令(注:需事先制定控制协议),SRAM_CTRL即把对应通道的数据陆续送到数据口,并输出数据有效信号den,MCU_IF根据den把data存进FIFO中。其中irq为中断申请信号,用以通知MCU存储器空或满,可根据实际情况选用,本例未使用。

如此,整个信号采集的过程已经彻底脱离了MCU的控制,可以完全自主地进行,即MCU对于信号采集是不可见的。反过来,还要求信号采集对MCU读数据不产生任何干预,让MCU就像读取一块独占的存储器一样,即信号采集对于MCU是透明的。这些都需通过SRAM控制器来实现。

SRAM控制器

SRAM_CTRL模块是SCC设计的核心,它需解决的关键问题是:如何糅合不同速率的5路数据,并确保在不与MCU读操作产生冲突的情况下写入SRAM。

首先简要介绍一下ZBT-SRAM。它具有同步接口,数据、地址和控制信号严格按照时钟同步操作。ZBT是零总线延时的含义,它与一般的总线接口不同,写操作的数据要在地址和控制信号的下一个时钟周期给出,这样,当读写操作交替产生时,就不会出现无效的时钟周期,从而提高了读写速度。对于FPGA设计来说,这种接口的优点不仅在于速度的提高,而且大大简化了传统异步I/O接口的逻辑复杂度,尤其在本文需要复杂读写操作的SRAM扩展设计中,更是提供了很大的方便。

在设计读写SRAM时序之前,应对各通道数据在SRAM中的存储格式进行定义。读写数据必须按同一格式进行,才能确保MCU正确解释获得的数据。格式定义需要注意两个问题。①数据拼接。因为ADC的数据宽度一般与SRAM的数据宽度不等,如本例12位的通道,每行有6位空间浪费。一个可行的办法是,在单个通道内把先后采样到的数据拼接起来,如可以用2行18位的SRAM空间存储3个12位的ADC数据,MCU读取后再进行分拆。这种做法稍微增加了SRAM_CTRL的设计难度,同时也需牺牲MCU的解码时间,应根据实际资源进行权衡取舍。本例为简明起见,约定每行只存一个ADC数据,低位对齐,高位补零。②数据分区。同时存储不相关的多路数据,设计时应根据实际通道数和每个通道的数据量,将SRAM分区,SRAM_CTRL内部应定义一些寄存器,用以记录各分区的首尾地址。为拓展适用范围,应允许上位机设置这些地址寄存器。本例为简明起见,约定把SRAM分为5个相等空间的数据区。

本文糅合多路数据的方法主要是基于时分复用的思路。本例中,考虑最坏的情况,总共有6个设备可能并发访问SRAM,其中5个是AD_CTRLx的写操作,速率分别为:CH0~CH2为1MHz,CH3为10MHz,CH4为20MHz;还有一个设备是MCU的读操作,最高为40MHz。把这6个设备的速率相加为73MHz,可选择SRAM的时钟为80MHz。基于时分复用的思路,让SRAM_CTRL在80MHz的频率下采用轮询的方式访问6个设备的读写标记。拟把一个循环分为24个时隙,CH0~CH2各占用1个时隙,CH3占用3个时隙,CH4占用6个时隙,MCU读操作(简称RD)占用12个时隙。如此便能保证各个设备都以最高速率进行访问。具体时隙划分如图2所示。

应注意每个设备的时隙必须均匀分布,以保证各设备得到匀速的查询,不至于漏掉数据。因此,时隙总数一定是设备数目的整数倍。

时隙划分图是SRAM_CTRL状态机设计的根据和基础。我们按照一个时隙对应一个状态的原则进行状态分配,前面增加初始化状态,最后增加结束状态,以完成准备和收尾工作。状态机示意图如图3所示,其中, ready是预备工作状态,quit是收尾工作状态,状态rd_0~b对应12个RD时隙,状态ch4_0~5对应6个CH4时隙,状态ch3_0~2对应3个CH3时隙,状态ch2、ch1、ch0分别对应1个CH2、CH1、CH0时隙。状态机主要由一个读写循环构成,在复位后,处于空闲状态idle。循环的进入或退出由MCU控制,需在24个读写状态中任意挑选一个进入循环状态,一个退出循环状态。也可定义任何一个读写状态都允许退出循环,这样可避免由于延时而产生误操作。本例定义由rd_0状态进入循环,从ch0状态退出循环。

对于同一个存储空间,同时进行读写必然会产生两种冲突,除了上文解决的时序冲突,还有地址冲突,即读写不能发生在同一个地址,另外还有写满和读空的问题。本文通过在SRAM_CTRL内构造一个循环队列来解决这个问题。在每个数据区内定义两个地址指针,一个指向当前写地址,一个指向当前读地址,再定义一个满标记和一个空标记。读写一个数据后指针自动加1;当写指针加1等于读指针时,输出满标记,余下的写操作将不受影响;同理,当读指针加1等于写指针时,输出空标记,余下的读操作将不受影响。其中细节均按照循环队列的规范设计就可以了,限于篇幅,不再赘述。

设计实例及建议

本方案已经在一种测量粒子的产品上实现并投入使用。实际情况如上文所述,共5个通道,采样率分别是1MHz/1MHz/1MHz/10MHz/20MHz ,采样精度有12位和10位,均扩展为16位存储和读取,MCU的总线速率是40MHz。这种情况如果用MCU来控制采样,是根本无法实现的,不过即使是把采样任务分离出去,如果存储任务没有剥离,仍然存在问题。原先的方案是使用一个FIFO来缓冲数据,当FIFO半满时申请中断。结果MCU被频繁地中断,而且读取数据后还需区分是属于哪一通道,然后再分别存到相应的内存块中,从而没有时间顾及人机接口,使得操作界面非常迟钝,严重影响使用。实际上,人机接口的特点是处理时间很短,但要求响应迅速。改进为本方案后,MCU的负担大大减轻,其主要时间用以处理人机接口、液晶显示和网络通信等工作,根据闲忙情况突发式地批量读取数据,对于数据量少的通道,可等到采样结束后再行读取。从而很好地解决了原来的问题。

下面给出在具体设计时积累的一些经验和建议,以供参考。

1.当前FPGA设计通常是采用同步时序逻辑,故易于扩展同步接口。建议选择有同步接口的ADC,RAM应选择ZBT-SRAM。目前,ZBT-SRAM的最大容量已达到72Mb,基本能胜任超大数据量的应用。选型时注意ZBT是属于IDT公司的商标,在Cypress被称为NoBL,ISSI称其为NO WAIT,其实际含义是一样的,相应的芯片封装和接口也都完全兼容。

2.对于读写操作不需要同步进行的系统,建议去掉读时隙,另外单独设计一个读循环,这样可大幅降低状态机的速度,从而降低功耗,也减少辐射。

3.通常对ADC得到的数据需要进行一些处理,可根据需要方便地在AD_CTRLx和SRAM_CTRL之间插入数据处理模块(DSP),以减少MCU的计算负担。

4.MCU_IF模块是为MCU与ZBT-SRAM的粘合逻辑,应根据具体MCU的总线结构和时序要求进行设计。更具模块化的设计方法是,把MCU_IF改为连接一种标准总线的控制器,如LPC、SPI等,这样更增加了独立性和灵活性,成为一个通用的信号采集模块。

结语

采用FPGA实现的信号采集控制器具有适应能力强、便于调整和易于扩展的优点,其缺点是成本较高、设计工作量和难度较大。本文提出的方案适用于高端的复杂测量系统,是从根本上解决实时性问题的一种方法。不过,对于简单的测量系统,采用基于单片机的方案可能是更好的选择。

参考文献
1. Mark Buccini;Using direct data transfer to maximize data acquisition throughput;TI Analog Application Journal;3Q, 2002
2. Cypress Semiconductor Corporation;CY7C1357C 9-Mbit Flow-Through SRAM with NoBL Architecture;Data Sheet;May, 2005

作者:郑俭锋


      
推荐 】【 打印 】【 发表评论 】【 加入收藏

 相关文章
· 浅论RFID于输送带上的应用
· 用于测量电缆和天线的便携式分析仪
· 多路高速信号并行采样及实时存储解决方案
· 嵌入式系统的动态电源管理架构
· RFID数据高效管理七原则
· 如何与沃尔玛等巨头进行RFID对接
· 浅谈射频标签(RFID)静电控制解决方案
 最新供求
·求枪支离位报警项目合作
·求购类似马来西亚身份证卡
·求购远距离读写器(固定与手持两种)及配套标
·求医院用13.56特殊标签和读写器
·求车辆管理系统方案和报价
·buy 2.5 Million RFID Tag for library use
·大量采购2.45G有源电子标签和读写器
·求购915MHz电子标签(量大)
·求购PA薄膜
·井下人员定位招标
 相关关键词搜索
·资讯中心信号采集  测量  实时  存储  解决方案  
·技术中心信号采集  测量  实时  存储  解决方案  
 
 
 
业界资讯 纵深报道 技术学院
国际资讯 | 国内资讯 | 国内企业 | 国外企业 | Global News
  重点专题
· 自动识别协会射频工作组 · RFID圈内企业动态
· RFID行业高层访谈 · 智能卡与一卡通
· RFID与食品安全 · Scan China展会专题
· 远望谷IPO之路 · RFID与医疗卫生
· NFC手机与支付 · RFID联盟产业园建设介绍
· RFID与智能交通 · 各国RFID频段标准与政策
  相关产品

  推荐文章
· 1GHz以下全球免许可频段短距离无线系统的设
· 美包伯·琼斯大学使用RFID系统加强校园安全
· 美国社区居民利用RFID技术回收垃圾
· 美国港口运用RFID技术减少空气污染
· 拉美零售巨头使用RFID改善服装库存管理
· 沙特珠宝商利用RFID改善库存管理
· 基于RFID技术的运输车辆及汽车衡称重防作弊
· 加拿大宠物用品公司采用RFID系统快速满足沃
· 美诊所采用无源RFID系统减少标本瓶贴标错误
· 印度银行采用RFID技术提供个性化服务
  相关案例和方案
· 上海先达物流仓储RFID/条码综合解决方案
· 深圳碧沙科技有限公司贵重资产管理方案
· IBM中国银行业RFID VIP识别解决方案
· 基于RFID的移动护理解决方案
· RFID仓储物流行业解决方案
· 人员物品管理系统解决方案
  相关资讯文章
· 上海中卡集团亮相十一届国际智能卡博览会
· 德州仪器联合Omnitrol为印制电路板制造带来
· 易腾迈七市巡展推广智能打印技术
· 从商业网络演化看RFID投资回报
· ID如精灵附身 NTT使人体通信达到实用水平
· 安捷伦科技大学正式成立 推动测试与测量发
快 报 论 坛
· 静脉身份识别--系统集成
· 金属环境中屏蔽抗干扰材料资料,用于NFC/RFI
· 监狱管理腕带电子标签
· 煤矿井下人员定位电子标签
· RFID在防伪领域的应用
· RFID基本工作原理
快 报 问 吧
· 4469和4205
· 是否可以通过中继的方式,提高识别距离
· 标签读取的时候能读远读不了近?
· 请教门禁卡有哪几部分组成?
· private string RFID_CM的意思是什么?
· 解析服务、目录服务及信息发布技术研究
快 报 博 客
· 视频解析--世界顶尖的手掌静脉身份识别技术
· 艳照门事件的背后
· 手掌静脉身份识别
· 卡片分页机☆←自动分页机☆←优质分页机
· 金属输送台☆←打码配套输送台☆←化工输送台
· 说明书分页机☆←商函分页机☆←信函分页机☆←自

关于我们 | 广告服务 | 帮助中心 | 联系我们 | 友情链接 | 版权申明
客服电话:0531-82679069   编辑部电话:0531-82679328   节假日电话:0531-89180705   客服QQ:651127860 QQ群:41109672  47658979  MSN:RFIDinfo@126.com
版权所有©2003-2008  RFID射频快报 鲁ICP备05021498号 增值电信业务经营许可证鲁B2-20050166号