这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 基于EP1K10TC100-3FPGA和微控制器实现数据采集系统的应用方案

共1条 1/1 1 跳转至

基于EP1K10TC100-3FPGA和微控制器实现数据采集系统的应用方案

工程师
2021-01-11 23:55:16     打赏

作者:皮代军,张海勇,叶显阳,秦水介

1引言

在科学技术研究和工业生产的各行业中,常常需要对各种数据进行采集,如液位、温度、压力、频率等信息的采集。随着数字技术的发展,一些高性能的FPGA(FieldProgrammableGateArray)和高速的A/D应用于数据采集系统中,大大提高了系统的测量精度、数据采集处理速度、数据传输速度等。本文设计了一种应用EP1K10TC100FPGA和单片机的数据采集系统。该系统具有数据采集速度高、功耗低、数据传输方便等优点。

2设计设计

基于FPGA的数据采集系统的总体功能模块如下图1所示。系统有由FPGA、串行被动配置模块、USB通信模块、电源模块、显示模块、模数转换模块、数模转换模块等几个模块组成。

主控芯片采用ACEX1K系列的EP1K10TC100-3。ACEX系列是当今AlteraCPLD中应用前景最好的器件系列之一[1,2],该系列的FPGA由逻辑阵列块LAB(Logicarrayblock)、嵌入式阵列块EAB(embeddedarrayblock)、快速互联以及IO单元构成,每个逻辑阵列块包含8个逻辑单元LE(logicelement)和一个局部互联。每个逻辑单元则由一个4输入查找表(LUT)、一个可编程触发器、快速进位链、级连链组成,多个LAB和多个EAB则可通过快速通道互相连接[3]。EAB是ACEX系列器件在结构设计上的一个重要部件,他是输入端口和输出端口都带有触发器的一种灵活的RAM块,其主要功能是实现一些规模不太大的FIFO、ROM、RAM和双端口RAM等。

3系统硬件设计与实现

3.1数据采集模块

系统数据采集采用DAC0832。ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片,最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0“5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过控制数据输入端,可以轻易的实现通道功能的选择。

3.2串行被动配置模块

因为基于SRAM工艺FPGA存在掉电易失性特点,所以配置模块的主要是在每次上电后对FPGA进行重新配置[4]。编程文件可以放在通用程序存储器中,在FLEX器件上电后,由芯片外部控制器自动地从通用存储器中读出编程文件并送到FLEX器件进行配置,数据传送方式可以为串行,也可以为并行。被动串行(PS)配置模式的配置接口连接到芯片的5个引脚,分别为:nSTATUS、nCONFIG、CONF_DONE、DCLK、DATA0。ICR电路原理如图2所示。

ICR控制电路的工作过程为:经MAXPLUSII编译生产的配置文件(.sof)通过格式转换成为(.rbf)。然后,通过PC机的串行通信口,经AT89C2051单片机控制存储在AT24C256中。单片机再根据系统的要求,通过P1.2、P1.3、P1.4、P3.0和P3.1等5个I/O口,将其存储在AT24C256中的配置数据下载到电路中的FPGA器件中去。

3.3USB通信模块

USB接口芯片采用ISP1581。该芯片全面符合USB2.0规范,具有高速的并行通用接口,可在高速模式下工作,理论最高传输速度达到480Mbps[5]。除了控制端点外,ISP1581还有7个输入(IN)端点和7个输出(OUT)端点。每个端点可以灵活配置数据传输方式以及数据缓存区(FIFO)的大小,端点FIFO最大容量可以达到2KB。ISP1581芯片在配置枚举时需要单片机固件的支持,一旦正确完成了配置和驱动加载,单片机对于ISP1581芯片就如同普通存储器一样可以进行读写操作,以发送或接收数据。

3.4显示模块

LED采用四位共阳极数码管显示。共阳极四位一体数码管采用动态扫描工作方式,在数码管中每一位的字段位a、b、c、d、e、f、g和dp分别连接在一起,其工作原理与共阴极数码管工作原理一致,只不过共阳极输入数码管的发光电平(有效电平)是0,和共阴极数码管相反。在数码管显示电路中运用了一个驱动芯片74LS47,运用这个驱动主要解决如下几个问题:(1)电平正负转换,(2)译码,可以节约I/O口的占用。74LS47接受四位BCD码输入,并通过7个与/或门译码后输出,用于驱动数码管,其输出的低电平驱动共阳极数码管,低电平输出电流在24mA以上。

3.5电源模块

该设计中内核电压和I/O口电压都采用2.5V.因为该芯片对电源要求很严格,所以通过稳压块来实现电源转换。在该电路中通过一片1117-2.5稳压块由5V转化而来。电路连接便捷简单,输出电流可以达到1A,基本上能满足该系统的需求。

4被动串行配置程序设计

PS配置方式的时序图如图3所示。

配置前必须先设置该芯片EP1K10TC100-3上的下载模式选择引脚MSEL1、MSEL0。设置方式:当MSEL1=0,MSEL0=0时系统为PS或AS模式当MSEL1=1,MSEL0=0时系统为PPS模式,当MSEL1=1,MSEL0=1时系统为PPA模式。在这里设置成使MSEL1=0、MSEL0=0在PS配置过程中:当nCONFIG产生下降沿脉冲时启动配置过程,在DCLK上升沿,将数据移入目标芯片中。

在配置过程中,系统需要实时监测,一旦出错,nSTATUS将被拉低,系统识别到这个信号后,立即重新启动配置过程。配置数据全部正确地移入目标芯片内部后,CONF_DONE信号跳变为高,此后,DCLK必须提供几个周期的时钟(具体周期数与DCLK的频率有关),确保目标芯片被正确初始化,进入用户工作模式。配置流程图如图4所示:

图4被动串行配置流程图

5总结:

本文创新点:系统采用ACEX1K系列的EP1K10TC100-3FPGA作为控制和处理的核心,简化了系统的硬件设计,具有功耗低、速度快等优点;采用基于微控制器的FPGA器件的ICR控制系统,具有线路结构简单、开发容易、体积小、成本低的优点;采用USB与上位机通信,代替传统的串口数据传输,提高了数据传输速率和可扩展性,而且USB可以总线供电,在数据采集系统中耗电量小。




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]