![基于fpga的实时数据采集与远程传输的设计_第1页](http://file4.renrendoc.com/view11/M02/2D/11/wKhkGWWB13GAMCJzAAMx6vuToNE951.jpg)
![基于fpga的实时数据采集与远程传输的设计_第2页](http://file4.renrendoc.com/view11/M02/2D/11/wKhkGWWB13GAMCJzAAMx6vuToNE9512.jpg)
![基于fpga的实时数据采集与远程传输的设计_第3页](http://file4.renrendoc.com/view11/M02/2D/11/wKhkGWWB13GAMCJzAAMx6vuToNE9513.jpg)
![基于fpga的实时数据采集与远程传输的设计_第4页](http://file4.renrendoc.com/view11/M02/2D/11/wKhkGWWB13GAMCJzAAMx6vuToNE9514.jpg)
![基于fpga的实时数据采集与远程传输的设计_第5页](http://file4.renrendoc.com/view11/M02/2D/11/wKhkGWWB13GAMCJzAAMx6vuToNE9515.jpg)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于fpga的实时数据采集与远程传输的设计
高速数据的收集和处理是工业控制和测量系统的重要组成部分。近年来,随着f技术的结合,它成为了一个发展趋势。与采用分离元件搭建电路的传统模式相比,基于FPGA技术的新型数据采集系统在处理速度、成本、可靠性、开发周期和扩展能力等方面具有明显的优势。在对实时性要求较为严格的数据采集系统中,运用FPGA技术的关键之一在于如何合理地控制与协调数据流在各个处理模块之间的传输,来实现所要求的数据吞吐能力。文采用了对数据流先分割再合并的“以面积换取速度”的设计思路,实现了最高160MB/s的处理能力;文通过寻找各个模块数据处理时间的最优分配点来提高系统整体的数据吞吐量。本文则注重灵活利用多种简单、有效的数据同步接口技术,在多时钟系统中成功实现了数据采集、实时处理和传输控制的流水线作业。1信号转换板fpga系统采用CPU+FPGA的整体结构,如图1所示。CPU选用的ATMEL公司基于ARM7核的AT91M55800工业级处理器,主要负责系统管理和解析上位机的指令来配置信号转换板和FPGA的采样和信号处理模式。FPGA为ALTERA公司Cyclone系列中的EP1C12F324C8,主要负责数据的采集与处理。每次数据采集过程中,FPGA对外部采样同步信号进行分频和整形,送到各块信号转换板触发其进行A/D采样和按CAN地址顺次输出16Mb/s的串行数据流。FPGA接收数据和其他外部信号量,进行串并转换、数学处理、前向纠错(FEC)编码后,再控制CY7C9689芯片进行4B/5B编码和并串转化后,通过光纤传送到远端的接收方。每块信号转换板有128个通道,每个通道在一次采样中提供20bit的数据。这样,虽然数据流的速度16Mb/s并不是很高,当使用10块信号转换板时每次采集的数据量也只有25600bit,但如果按系统要求依次对数据进行各项处理则需要大概1600μs,当系统要求以最小采样周期780μs(1s扫描1280个采样点)进行连续采集时,如何保证数据的实时性和准确性就成为系统设计的难点和关键。2杏仁的物理接口2.1fpga与信号转换板的连接FPGA与信号转换板之间的采样信号和数据信号均采用了低电压差分信号(LVDS)的物理接口。LVDS是一种电流源驱动、低电压摆幅的差分信号技术,与RS422/485,ECL/PECL等方式相比较,它具有极低的功耗和噪声、高达655Mb/s的传输速率、低廉的成本和终端适配简单的优势,正得到越来越广泛的运用。FPGA与信号转换板的接口中,采样信号的连接是一点到多点的方式,因此采用了MultiDrop拓扑结构的BUSLVDS,数据采集板上选用了的MAXIM公司的BLVDS驱动器MAX9129,信号转换板上的接收器则采用NS公司的DS90LV032A,背板上的终端匹配电阻为40Ω。数据信号的连接为菊花链形式,属于点对点的LVDS连接,因而分别采用DS90LV031A和DS90LV032A作为驱动器和接收器。LVDS线路在PCB设计时注意了器件紧邻接口、差分信号线基本等长等要求,并采用了外带磁环的双绞线作为传输媒质,取得了很好的效果。2.2refcsk同步模式设计数据采集系统与远端接收方之间的距离约25m,传输速度要求为110Mb/s左右,每次传输数据量为1536个字节。考虑到系统对数据的精度和完整性的严格要求,两者之间采用了HOTLink的连接方式,传输媒质为光纤。HOTLink是Cypress公司的高速长距离点对点串行通信产品系列,传输速率可达到1500Mb/s。HOTlink产品在发送端将数据进行编码和并串转换,接收端进行解码和串并转换。发送端在无有效数据时自动发送空数据,接收端能自动恢复时钟,传输的理论误码率为零。本系统选用了Cypress公司的CY7C9689作为HOTLink发送器,采用REFCLK控制的同步模式,使能内部FIFO和8bit4B/5B编码。为了简化FPGA的控制,按照操作模式将有关选择信号固定,这样FPGA只需控制RESET,TXCMD,TXDATA和TXSC/D等4组信号。由于转化后的串行数据流的速率是输入并行数据的10倍,因此FPGA控制并行数据输入的速率为11MHz。此外,由于系统时钟频率较高,PCB设计时需要仔细考虑各种电磁干扰的影响。3数据处理流程FPGA中数据采集和处理的控制结构见图2。表1按照数据处理的顺序给出了相关主要模块的功能、主频及其一次数据处理的时间,其中时间参数的误差在±1μs之内。从表1中可以看出,顺次完成一次数据处理的整个流程需要约1600μs,要满足以最小采样周期780μs连续采集时数据的实时性和准确性,同时避免大量的数据缓存,必须采用流水线作业的方式。流水线设计的关键在于整个设计时序的合理安排和前后级接口间数据流速的匹配,这对于多处模块接口存在时钟异步的本系统而言,显得尤为重要。3.1双口ram并行读取采用双口RAM作为DPRAM-LEFT-CTR与DPRAM-RIGHT-CTRL的接口。由于需要对采集的数据进行重新排序,必须在一帧数据全部存储后,才能开始读取和传递,这一过程共需要1282μs。为提高这部分的数据吞吐率,采用双口RAM作为存取接口,并通过“乒乓操作”来实现双口RAM的并行读写:将双口RAM分为上下两个数据缓冲区,当DPRAM-LEFT-CTRL向某一个缓冲区写数据时,DPRAM-RIGHT-CTRL则从另一个缓冲区取上一个采样周期内DPRAM-LEFT-CTRL存储的数据,从而实现数据的存储和读取的并行操作。每经过一次采样,两个模块都切换一次缓冲区,既避免了数据的覆盖,而且从数据流的两端来看,输入和输出的数据流都是连续不断的,完成了数据的无缝缓冲与处理。这样,采样周期可以缩短一倍,达到640μs,每个缓存区的存储深度也只需要一帧的数据量,为737×16bit。3.2基于数据有效性的同步控制采用数据有效随路指示信号作为DPRAM-RIGHT-CTRL与16TO8-CTRL的接口。两者的主频分别为16,44MHz,由于后者的处理速度快于前者,在实现流水线作业时,不必进行数据缓冲,采用了“数据有效随路指示信号”来进行速率匹配,实现数据接口的同步。DPRAM-RIGHT-CTRL在向16TO8-CTRL传输数据的同时,随路产生FER和DXSN信号:FER的高电平表明数据有效,而DXSN的上升沿触发16TO8-CTRL接收数据。这样,就方便地实现了不同时钟域之间可靠的数据接口,同时实现了数据格式转换的流水线操作。3.3启动一次fec编码采用同步16TO8-CTRL与FEC-CTRL的接口。16TO8-CTRL把转换完毕的8bit数据依次写入FIFO中,当FIFO中的数据量达到一帧FEC规定的184个字节时,FEC-CTRL就开始读FIFO,启动一次FEC编码。由于一帧FEC编码只需4.5μs,FIFO的缓存深度取1K×8bit。3.4quartus4.0下的仿真信号采用两个异步下IFO作为FEC-CTRL与TAXI-CTRL的接口。两者的关系类似第3.1节的描述,接收方要求连续接收一次数据采集的所有数据,因此FEC编码后的数据必须进行缓存。由于此时FEC编码按照前级的数据传输速率间断地进行,完成所有数据的编码需要657μs,加上TAXI-CTRL要求的144μs,超过了最小采样周期。由于不需要进行地址重映射,因此采用两个异步FIFO来完成“乒乓操作”,同时实现了不同时钟域(44,22MHz)的数据接口。通过上述几种简单、有效的接口方法,系统用少量的资源实现了高效稳定的流水线结构(见图3),其数据处理周期可达640μs,远小于系统的最高要求。图4给出了系统在采样周期为780μs时,在Quartus4.0下整个数据处理流水线的仿真波形。DPRAM-LEFT-CTRL和DPRAM-RIGHT-CTRL两个模块的数据处理速度以及它们对同一帧数据无法同时操作的系统约束是制约整个数据采集系统速度提高的瓶颈所在。4rs编/解码性能为了实现与接收方之间高精度的数据传输,对数据进行了前向纠错(FEC)编码,即在信息序列之后按照一定的编码规则增加了若干防护噪声干扰的冗余序列。在接收端,利用冗余比特重构丢失或产生误码的信息比特。Reed-Solomon(RS)码是一种常用的FEC编码方式,对纠正随机错误和多重突发错误都很有效,还可以通过间插大幅度提高对突发错误的纠错能力。RS的编/解码有多种实现方式,如FPGA,ASIC和DSP等,但设计过程都比较复杂。为此,ALTERA公司基于IP复用技术,推出了RSIP核,使用户在几小时内就可以设计出符合自身要求的RS编/解码器,其具有以下特点:高效的纠错/检错性能;RS编码格式的完全参数化;连续和变化的编码格式;离散、流动和连续的解码方式,还提供了IPToolBench工具来完成参数化和测试向量的生成。在数据发送时本系统使用了连续模式的RSEncoder。把1472个信息字节分成8个帧,每帧采用RS(196,184)的格式,起始阶数为120,场多项式为P(x)=x8+x7+x2+x+1,阶数间隔为1,上述参数可在ToolBench中直接输入。需要指出的是,在有效字符相同或相近的条件下,RS编码的纠错能力和传输的效率之间相互抑制,在具体项目的应用中需要实际情况进行取舍。另外,还需要综合考虑IPCore所消耗的资源和允许的最大数据吞吐量。表2对比了本文采用的RS(196,184)、遵循DVB标准的RS(204,188)和遵循CCSDS标准的RS(255,223)的RSEncoder在无Erasure的连续模式下的各项性能指标,相关参数的计算方法如下:(1)传输效率=K/N,其中K为有效字节数,N为总字节数;(2)无法纠错概率PUE=1−∑i=0tN!i!(N−i)!(PSE)i(1−PSE)(N−i)(1)ΡUE=1-∑i=0tΝ!i!(Ν-i)!(ΡSE)i(1-ΡSE)(Ν-i)(1)式中PSE为数据传输过程中每个字符的随机错误概率,假设为10-3;(3)错误纠错的概率PDE≤PUEt!(2)ΡDE≤ΡUEt!(2)(4)数据吞吐量=N×FmaxN+I(3)=Ν×FmaxΝ+Ι(3)式中I为两帧FEC数据之间的字符数,假设为16。表3则比较了三种Encoder在FPGA中实现时的资源占用情况和运行速度。FPGA代码的编译器为LeonardoSpectrum-Altera,时序分析器为PrimeTime。5ad657控制A/D转换的作用主要是获取光传感器当前的电压和电流值,来监测其工作状态,避免数据失效。A/D芯片采用的ADI公司的8通道、16位串行接口芯片AD677,采样速率可达100kSPS。如果AD677的控制通过ARM的I/O口操作,由于ARM读写周期和处理速度的限制,一次A/D转换需要100μs,无法满足两次A/D转换必须少于50μs的系统要求。因此采用FPGA来控制A/D采样。FPGA按照ARM的指令选择通道,自动产生AD667的控制时序,然后把转换结果直接加入发送的数据包中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度中小企业信用贷款合同范本及证明书格式
- 2025年度跨境电子商务平台合作项目合同
- 2025年度虚拟现实设备行纪合同范本(升级版)
- 2025年度学生托管中心教育培训合同
- 2025年度航空货运代理合同范本(含运输保险)
- 2025年度兼职教授科研合作项目合同书
- 2025年度生态肥料供应与推广服务合同
- 2025年度危险品货物承包运输合同范本(危险品运输专署)
- 2025年度二手房买卖合同装修验收标准范本
- 2025年度豪华酒店装饰装修一体化工程合同
- 二零二五年度电梯安装工程监理合同4篇
- 2025年中国储备棉管理有限公司招聘笔试参考题库含答案解析
- 2025年华能新能源股份有限公司招聘笔试参考题库含答案解析
- 《中国心力衰竭诊断和治疗指南(2024)》解读完整版
- 初中教学常规培训
- 《建筑平面图的绘制》课件
- 医院审计科科长述职报告
- 《档案管理课件》课件
- 2024年度中国共产主义共青团团课课件版
- 2025年中考物理终极押题猜想(新疆卷)(全解全析)
- 1《读懂彼此的心》(说课稿)2023-2024学年统编版道德与法治五年级下册
评论
0/150
提交评论