具有USB高速接口的FPGA多协议数据采集系统外文翻译资料

 2022-10-17 18:49:01

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


具有USB高速接口的FPGA多协议数据采集系统

摘要—我们之前已经提出了一种应用FPGA芯片作为主要处理单元的具有USB高速接口的数据采集系统。由于FPGA拥有若干可以独立运行的芯片模块,它可以被用于多通道的数据采集系统来将四种不同的协议类型连接起来,包括并行协议、SPI协议、I2C协议以及单线协议。这个系统被一个由visual C 语言编写的软件所控制,它允许使用者能够连接到PC来调用数据回复和监视功能。我们发现,该系统可以应用高速数据转换来获取数据。

关键词—数据采集,高速USB,FPGA

第一章 引言

这种数据采集系统被广泛应用于很多的自动测试和测量设备中。它们可以从任何外围输入设备中收集所需要的数据,比如仪表,传感器等。通过控制软件[1],测得的数据可以被储存在PC之中。它们的值可以被数字化显示,而它们之间的关系可以由曲线化的显现在屏幕上。

本片文章提出了一种通过采用FPGA连接到PC端的数据采集系统,该系统拥有从具有四种不同ADC协议的多渠道传感器接受数据信号的能力。

第二章 整体系统

整体系统被显示在图1中,它显示了其与四个不同的ADC(模拟到数字)传感器的通过四种不同协议的连接,这四种协议包括并行、SPI、I2C和单线协议。该FPGA收集了来自所有ADC传感器的数据,它们分别被处理在各自的协议中。在那之后,它通过USB输出端口产生了一串数据流,从而将这个ADC数据传送到PC端。

我们已经编写了一个特定的应用程序来控制PC,这种方案拥有一种与FPGA进行交流的功能,所以PC端可以为数据传输做出准备。

图1 整体系统构造图

首先,PC端将会检查FPGA来确定其系统的数据可用性;在那之后它将会给FPGA发送一系列的介绍来通过USB接口获取数据。获取的数据将会被解释为独立的数据字节来应用于各自的频道;最后,数据将会被显示给用户并且同时被储存在主数据库。

第三章 处理单元

Altera公司生产的处理单元芯片EP1K10TC144-3就是基于这种设计。它拥有2880个逻辑处理部件或5000门,40960个内部RAM位和102个输入/输出端口来连接到外部硬件。它支持三个电源供电模式,包括5V,3.3V和2.5V。它的最高工作频率是180MHz,该设计采用VHDL作为编程语言来编写代码文件。

这个芯片作为所有传感器采集的中心单元,它的职责是连接ADC输入端和USB接口,换句话说,就是发送或接受来自PC端的数据。图2显示出了FPGA的内部模块,这些模块可以被以下内容来描述:

A.并行协议

该协议是适用于大多数ADC的传统的协议类型,它具有高速的吞吐量,这个设计为外围设备使用ADC0820。图3给出了FPGA是如何从ADC中获取数据的方法。在转换构成中主要分为两个步骤:

FPGA发送开始新号来驱动ADC然后等待确认信号的到来。

在完成数据转换以后,ADC将会发送确认信号给FPGA。然后,FPGA将读取来自总线的信号。在那以后,FPGA再次发送启动信号给激活状态的ADC从而在下一个周期获取数据。

很显然,这种获取数据的方式非常简单快捷。因此,这种协议应该被应用于高速系统之中

图2 在EP1K10TC144-3中相关的模块

图3在SPI协议中的模拟通信

B. 串行外设接口(SPI)协议

该协议是由摩托罗拉公司开发的,用以实现简单的通信,减少I/O接口数量。这个设计利用MCP3201来构造与FPGA之间的连接。图4显示了FPGA从这个ADC获取数据的仿真图。这个数据的获取方式类似于那些先前的协议。FPGA将控制信号发送给被激活的ADC,然后ADC将确认信号发回。在数据传送结束后,ADC将发送一个信号来通知FPGA读取其输出的信号。而这种协议与原始的协议之间的区别就是FPGA读取数据中的码流信息是从MSB到LSB,而不是串行码型。

图4在SPI协议中的模拟通信

C.内部集成电路(I2C)协议

内部集成电路协议被设计用来减少I/O端口。它仅仅需要两条信号线,一条为SCL,另一条为SDA。我们使用PCF8591作为ADC通过内部集成电路协议作为这种设计,这种数据获取过程以以下这些步骤充分完成:

FPGA发送一个信号来激活总线,并且去识别设备的地址。

FPGA定义了写入模式,然后发送请求到指定的想要获取信息的ADC。

FPGA定义了读出模式,用来识别那些它向读出的频道。

FPGA从I2C读取总线数据。

在这以后,这个数据已经在一个周期内完成了读取工作,图5显示出了通过该协议读出数据的例子。我们可以看出在一个读取周期该协议所占用的时间超过了原始的协议。在另一方面,它有在数据通信中只使用两根数据线的优点。

图5 在I2C协议上的模拟通信

D.单线协议

该协议在数据传输中仅采用了一条信号线,除非所有的数据都没有被移除,否则总线不会被激活。我们使用温度传感器DS1820作为单线数据采集协议的输入。

这个协议在一个时隙内是数据分离,它根据用户的分配和主机和设备之间的通信状态来确定其时长,一般处于60-960微秒之间。在这种协议中存在四中状态:

复位:用于启动上述通信;

向设备写入信号“1”;

向设备写入信号“0”;

从设备中读取数据。

该协议的第一步便是重启FPGA(主设备)。它向主线发送一个重启信号,然后等到传感器的感应信号。在接受到感应信号后,FPGA将会发送地址命令来获取设备的信息并且启动数据传送模式。

FPGA等待传感器来处理请求。然后它发送复位信号并且在此确认设备的地址。因此,它发送读取请求来从传感器的存储器中从LSB到MSB逐个的读取数据。最后,它发送复位信号到总线并等待其确认信号。为了获取下一个数据,FPGA会重复执行相同的步骤。图7显示了模拟复位程序的操作仿真,并将数据“11001100”写入。

图6 在控制单元和USB控制器上的模拟通信

图7 在单线协议上的通信

E. 控制单元和USB控制器

如果在FIFO中存在任何数据,控制器将确定这些数据来自那条通道。因此,它会发送一个字节到USB端口。这第一个数据将通知PC机上的程序这个数据来自于那一个频道;然后,它会再次发送一个信号给USB控制器用于将FIFO中的数据一字节一字节的发送到USB端口,直到全部发送完为止。这意味着,数据的发送过程结束在单独的信道中。如果有另一个FIFO通道的数据正等待被发送,FPGA将重复相同的步骤。图6显示出了控制器和USB控制单元之间的仿真。

F PC接口

在这个设计中所使用的PC接口是高速USB接口,其可以传送高达480Mbps的数据信息。该传送操作由帧实现,每帧时长为125微秒。每一帧由若干的交换组成,这些交换信息由多个包组成。这些数据包包括:数据交换的类型,USB设备地址,传送信息所需要的端点数量,CRC数据包以及一个同步报文。

FTDI公司生产的芯片FT2232H已经被用于设备中来实现这个协议,它是一个用于拥有4000字节的FIFOTX和RX缓冲器的同步FIFO数据处理双向USB接口,它在芯片的层面上处理整个USB协议。生产厂家提供芯片驱动D2XX.DLL,其允许访问该芯片所有的内容特征。该芯片在FPGA和USB端口之间提供了一个8位双向数据总线,5个控制信号和一个时钟信号。图8阐述了FT2232H/FPGA的端口电路。

图8 FT2232H/FPGA的接口电路

硬件层:在一个“读出工作线程”中连续发出读请求,然后返回一个或多个数据,然后将该数据放入一个堆栈中,并保证这个堆栈的数据采集层可以读出该数据。

数据采集层:当数据需要某些编译时,每个传感器将会采用线程的方式收集这些数据并将他们储存在PC机中。当这个线程运行时,它会将该数据从硬件层上分享的队列中移动到其自己的处理器中,并更新与当前图像层共享的数据。

这个应用程序负责读取每个协议中的数据并且将它们通过采用不光是数值展示,还有图表展示提交给用户使用。因为单线协议被用于温度传感器,它将把温度数据作为离散数据进行展示。

G 结论

通过我们的仿真,我们总结出各个协议优点与缺点并展示在表格1中

图9 在应用程序中的实力程序展示

表格1各个协议的性能比较

从图表可以看出,并行协议是处理速度最快的,然而它使用了最多的传输线;另一方面,I2C或单线传输协议只需要一条或两条连接线,然而分别的,它们的传输速率比并行模式慢得多。我们将会对这些结果进行充分的考虑,以应用到我们的实验中。

因此,可以得出结论。我们的数据采集系统是最有效的数据采集系统之一。其包含所有可能设计协议的输入通道,我们的系统可以通过使基于任何协议的ADC输入设备与PC端独立连通。此外,因为在FPGA上拥有很多的I/O端口,在未来我们可以加入更多的通道。最后,我们可以利用该FPGA的最大I/O端口数量102个来完成传输。

ISP1581:USB 2.0 高速接口器件

1 概述

ISP1581 是一种价格低、功能强的通用串行总线(USB)接口器件,它完全符合USB 2.0 规范,并为基于微控制器或微处理器的系统提供了高速USB 通信能力。ISP1581 与系统的微控制器/微处理器的通信是通过一个高速的通用并行接口来实现的。ISP1581 支持USB 2.0 系统运作的自动检测。USB 1.1 的返回工作模式允许器件在全速条件下正常工作。

ISP1581 是一个通用的USB 接口器件,它符合现有的大多数器件的分类规格,比如:成像类、海量存储器件、通信器件、打印设备以及人机接口设备。内部通用DMA 模块使得数据流很方便的集成。另外,多种结构的DMA 模块实现了海量存储的应用。

这种实现USB 接口的标准组件使得使用者可以在各种不同类型的微控制器中选择出一种最合适的微控制器。通过使用已有的结构和减少固件上的投资缩短了开发时间、减少了开发风险和费用。从而用最快捷的方法实现了最经济的USB 外设的解决方案。

ISP1581 可理想地用于许多外设,例如:打印机、扫描仪、MO、CD、DVD 和Zip/Jaz 驱动器、数码相机、USB 和以太网的链接、电缆和DSL 调制解调器等等。另外,ISP1581 所具有的低挂起功耗还可以满足ACPITM,OnNOWTM和USB 电源管理的要求。

此外,ISP1581 内部还集成了许多特性,包括SoftConnectTM、、低频晶体振荡器和集成的终止寄存器。所有这些特性都为系统大大节约了成本,同时使强大的USB 功能很容易地用于PC 机外设。

2 特性

·直接与ATA/ATAPI 外设相连

·完全符合通用串行总线(USB)Rev 2.0 规范

·符合大多数器件的分类规格

·高性能的USB 接口器件,集成了串行接口引擎(SIE)、PIE、FIFO 存储器、数据收发器和3.3v 的电压调整器

·支持USB 2.0 的自检工作模式和USB 1.1 的返回工作模式

·高速的DMA 接口

·完全自治的多结构DMA 操作

·7 个IN 端点,7 个OUT 端点和1 个固定的控制IN/OUT 端点

·集成8K 字节的多结构FIFO 存储器

·端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输

·同大部分的微控制器/微处理器有单独的总线接口(15 M 字节/秒或15 M 字/秒)

·集成了PLL 的12MHZ 的晶体振荡器,有着良好的EMI 特性

·集成了5v 到3v 的内置电压调整器

·可通过软件控制与USB 总线的连接(SoftConnectTM)

·符合ACPITM,OnNOWTM 和USB 电源管理的要求

·可通过内部上电复位和低电压复位电路复位,也可通过软件复位

·工作在扩展USB 总线电压范围(4.0~5.5)内,I/O 端口最大可承受5V 的电压

·操作温度:-40℃~+85℃

·LQFP64 的封装形式

3 应用

·个人数字助理(PDA)

·海量存储器件,如Zip,Jaz,MO, CD, DVD 驱动器

·数字化视频相机

·数码相机

·3G 移动电话

·MP3 播放器

·通信设备,例如:路由器,调制解调器

·打印机

·扫描仪

4 功能描述

ISP1581 是一个高速USB 器件控制器。它实现了USB 2.0/1.1 物理层和数据协议层的任务,并且实现了连同端点EP0 设置(用于访问设置缓冲器)在内的16 个USB 端点的共同协作。USB chapter 9 的有关USB协议的处理是由外部固件来完成的。

ISP1581 有一个快速通用接口,利用它可以实现与大部分类型的微控制器/处理器的通信。这个微控制器的接口由管脚BUS_CONF,MODE1 和MODE0 共同设置,适用于大部分类型的接口。ISP1581 内部含有两种总线结构配置,上电时由BUS_CONF 输入管脚进行选择:

? 通用处理器工作模式(BUS_CONF=1):

-AD[7:0]:8 位地址总线(选择目标寄存

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[150905],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。