基于FPGA的高速多路同步数据采集系统

2013-08-20 01:00
科技视界 2013年27期
关键词:存储单元串口时钟

王 剑

(长江大学 计算机科学学院,湖北 荆州434023)

数据采集在测控领域里有广泛的应用,它已成为计算机测控系统的一个重要的环节。传统的数据采集系统设计中,通常采用单片机或DSP 作为主控制器来控制ADC、 存储器及其他相关的外围电路来工作[1]。 但是这些传统的设计中都存在着一些不足,单片机的时钟频率较低且通过软件编程来实现数据采集,难以实现高速、高性能、多通道数据采集系统的要求;DSP 虽然速度快, 但是它更擅长处理复杂的数学运算,对于数采系统要求的简单高速的读写操作来说,是一种资源的浪费。 而FPGA(现场可编程门阵列)在高速数据采集上具有更大的优点,FPGA 体积小、功耗低、时钟频率高、内部延时小、全部控制逻辑由硬件完成,另外编程配置灵活、开发周期短、利用硬件描述语言来编程,可实现程序的并行执行、这将会大大提高系统的性能[2]。

在设计电路时,可以有异步电路和同步电路两种实现方法。

异步电路 使用组合逻辑电路实现,没有统一的时钟信号,容易产生毛刺和竞争冒险;

同步电路 使用组合逻辑电路和触发器实现电路功能,主要信号和输出信号都是由时钟驱动触发器产生,能够避免毛刺,信号稳定。

因此本系统选择同步技术的FPGA 作为高速多路同步数据采集系统的控制核心。

1 系统工作原理

采集系统上电后,由静态存储器EPC1 将固化在其中的数字逻辑电路映射到FPGA 器件EP2C5T144C8 中, 从而使FPGA 器件EP2C5T144C8 成为真正意义上的控制核心。 然后FPGA 控制模拟选择开关进行通道选择,并控制8 位高速模数转换器TLC549 进行模拟电压的采集,将采集到的实时数据存储到外置RAM 中,然后将实时数据读取出来,通过串口传送给上位机,数据也能通过数码管实时显示。 图1 是系统总体硬件结构框图。

图1 系统总体结构

2 系统主要器件的选型

2.1 FPGA 芯片的选型及依据

由于本系统采集通道数较多,实时性和同步性要求较高,要求提供的时钟频率高, 内部延时小, 因此系统选择FPGA 芯片EP2C5T144C8作为主控制芯片, 该芯片具有40 万系统门、8064 个逻辑单元内嵌18K位块RAM, 包含4 个时钟管理模块和8 个全局时钟网络, 配置芯片(EPCS1),有源晶振,下载调试接口,电源芯片:3.3V、1.2V AS、JTAG 调试接口50 MHz 最大支持264 个用户I/O。 这些丰富的片上资源在加上其灵活的编程方式使得该芯片成为最适合的选择[3]。

2.2 AD 芯片的选型及依据

本数据采集系统主要工作在实际测控领域的现场层次,而工作现场具有环境复杂,传感器的种类,特性亦复杂,多路采集的数据具有频率跨度、幅度阈值较大、精度要求不同的多种复杂特点。因此本系统从功耗、成本、精度等多方面考虑选择TLC549 芯片作为模数转换控制芯片。该芯片是以开关电容逐次逼近原理工作的8 位串行模数转换芯片,具有多个增强型串口,4MHz 片内时钟,最高转换速率为40000 次/s,转换时间最长为17μs,功耗仅为6 毫瓦。

图2 AD 控制流程

3 FPGA EP2C5T144C8 的逻辑设计

根据以上的设计思想,整个FPGA 逻辑模块划分为:时钟单元、采样控制单元、串行传输模块、通道选择单元、存储单元、结果实时显示单元。 下面具体给出各模块的设计过程。

时钟单元。时钟单元是提供时序工作节拍和同步信号序列的发生器。本设计采用了50MHz 的频率输出,以保证测控中同步脉冲的实时性。同时,选择基于时钟触发沿设计,可以保证时钟信号具有很好的延时及抖动控制,根据该芯片自身的特性可以选择自身时钟资源即可完成设计要求。

采样控制单元。 该单元控制TLC549 芯片的数据采样、保持、模数转换任务。 同步采样脉冲到来时刻,根据片选信号CS 的控制,芯片进行数据采样、保持、模数转换。

串行传输单元。该单元利用芯片提供的高速增强型串口与上位工控机进行数据传输。

通道选择单元。 该单元是多路数据采集的通道仲裁者。 并将寻址信号传送至存储单元处。

存储单元。该单元完成数据的暂存,管理等功能,采用“乒乓原理”进行大批量数据的写入,读出及管理功能,系统采用的双口RAM 是在1 个SRAM 存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对其进行随机性访问的存储器,即共享式多端口存储器。双口RAM 最大的特点是存储数据共享。1 个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU 或控制器同时异步地访问存储单元。 因为数据共享。 则必须具有访问仲裁控制。 内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配:信令交换逻辑(例如中断信号)等。 双口RAM 可用于提高RAM 的吞吐率,适用于实时数据缓存。

图3 是采样模块与串口传输模块的设计原理图。

图3 采样模块和串口传输模块

图4 EP2C5T144C8 管脚分配图

4 软件实现

本设计采用自顶向下的设计方法, 采用VHDL 来分别设计顶层模块和各底层模块,该语言支持自顶向下和基于库的设计方法,并且电路仿真和验证机制以保证设计的正确性。下面以采样控制模块为例来说明其控制算法。

本文完成高速、多通道的数据采集系统的FPGA 设计。 利用EDA工具和语言对FPGA 行设计,并在EDA 软件中进行系统仿真和验证。由FPGA 在线编程的特点可以依据现场的具体情况,对FPGA 的内部配置进行修改,进一步增加了系统应用的灵活性,因此该系统是一种比较理想的实时高速数据采集方案。 从实际成品测试效果来看,基于EP2C5T144C8 的高速多路数据采集系统的具有多路同时采集处理、运算速度高、功耗低延时小等优点,十分适合工业测控领域数据采集的要求。

[1]徐海军,叶卫东.FPGA 在高性能数据采集系统中的应用[J].计测技术,2005,1(25):40-43.

[2]张伟,等.基于FPGA 的高速数据采集系统的设计[J].电力情报,2002,4(3):45-49.

[3]基于FPGA 的高速多路数据采集系统的设计[J].计算机工程,2007,4(7):247-248.

[4]王剑.可变频幅相一体化测量系统研究[J].工业控制计算机,2011,11(5):78-81.

[5]王剑.多点采样的幅度和相位自适应测量方法研究[J].长江大学学报:自然科学版,2008,15(4):78-81.

[6]王剑.基于ZigBee 技术的远程水质监测系统关键技术的研究与实现[J].节水灌溉,2011,6:75-77.

猜你喜欢
存储单元串口时钟
一种28 nm工艺下抗单粒子翻转SRAM的12T存储单元设计
别样的“时钟”
浅谈AB PLC串口跟RFID传感器的通讯应用
古代的时钟
一种成本更低的全新静态DRAM存储单元
MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
时钟会开“花”
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
基于并行控制的FPGA多串口拓展实现