FPGAUSB数据通信.docx

上传人:b****7 文档编号:10539341 上传时间:2023-02-21 格式:DOCX 页数:34 大小:644.48KB
下载 相关 举报
FPGAUSB数据通信.docx_第1页
第1页 / 共34页
FPGAUSB数据通信.docx_第2页
第2页 / 共34页
FPGAUSB数据通信.docx_第3页
第3页 / 共34页
FPGAUSB数据通信.docx_第4页
第4页 / 共34页
FPGAUSB数据通信.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

FPGAUSB数据通信.docx

《FPGAUSB数据通信.docx》由会员分享,可在线阅读,更多相关《FPGAUSB数据通信.docx(34页珍藏版)》请在冰豆网上搜索。

FPGAUSB数据通信.docx

FPGAUSB数据通信

摘要2

Abstract3

第一章绪论4

第二章芯片的选择及其内部结构7

2.1FPGA芯片的选择及内部结构7

第三章FPGA核心板的硬件设计12

3.2复位电路的设计13

3.3配置电路的设计14

3.4USB接口电路的设计15

3.5FPGA接口设计15

3.6PCB高频电路布线18

3.6.1PCB布线问题的解决18

3.6.2电磁兼容性问题的解决19

第四章USB2.0原理介绍21

4.1USB的总线拓扑结构21

4.2USB数据流的模式21

4.3USB的编码方式22

4.4端点23

4.5字段的格式23

4.7传输类型24

第五章系统的软件开发25

5.1FPGA的开发流程25

5.2硬件描述语言的介绍27

5.3FPGA程序设计28

5.4USB固件程序设计30

5.5USB驱动程序31

结论33

致谢34

参考文献35

摘要

随着科学技术水平的不断提高,数字集成电路被广泛应用。

通用串行总线USB(UniversalSerialBus)是计算机与外围设备互连的标准接口之一,是一种点对点通信接口,可同时支持多个外围设备。

USB2.0规范的通信速率非常高,其峰值可达480Mbit/s,使得它已经成为目前最流行的外设接口标准。

FPGA芯片是今后电子产品发展的趋势,带有USB接口的FPGA系统将有很好的市场需求和发展前景。

论文主要从研究FPGA的结构、Xilinx公司Spartan3F系列中的XC3S400引脚功能、了解FPGA开发流程、熟悉USB2.0的通信协议以及驱动的一些基本知识入手,目的是完成带有USB接口的FPGA的PCB板的制作和FPGA内部程序的编写以及USB固件的开发。

结合了Cypress公司的上位机,开发了基于USB接121的FPGA和PC机通信系统,能够进行数据传输。

论文研究了Xilinx的3S400芯片的内部结构和各个引脚的功能,设计了关于Xilinx的3S400最小系统电路图,在Xilinx的FPGA的开发环境,编写了FPGA的代码。

由于FPGA内嵌的USB2.0的内核价格昂贵,需要向生产FPGA的芯片厂商购买,因此论文选择了外接USB芯片,虽然增加了PCB板的面积,但其开发成本较低,且技术成熟,大多数USB通信研究者进行广泛研究。

论文在详细介绍了USB2.0的通信协议,Cypress公司生产的CY7C68013芯片的结构,以及其固件的开发基础上,开发了基于FPGA的USB与PC机的通信系统,该通信系统可以和上位机进行点对点的数据传输,为大批量的数据通信产品的开发提供了研究和生产的基础。

关键词:

FPGA;USB;数据通信

Abstract

Duringthescienceandtechnologiesdevelopmentintoday’Sworld,digitalintegratedcircuitsarewidelyused.UniversalSerialBusisoneofthestandardinterfaceforcomputerandperipheralcomponent.Itisakindofpointtopointcommunicationinterface,anditcansupportmoreperipheralcomponents.ThetransmissionrateofUSB2.0specificationisveryhigh,itspeakvalueis480Mbit/s,SOUSB2.0Specificationhasbecomethemostpopularperipheralinterfacestandard.FPGAchipisthedevelopmentaltrendforfutureelectronicproducts,andFPGAsystemwithUSBinterfacewillhaveagoodmarketdemandandagoodprospect.

ThepaperdescribesFPGAstructure,XC3S400pinsfunctions,FPGAdevelopmentprocess,andUSB2.0communicationprotocolaswellassomebasicknowledges,theaimistodesignFPGA’SPCBwithUSBinterface,FPGAprogrammingandUSBfirmware.PaperintroducescommunicationsystembetweenFPGAandPC,combiningCypresscompany’Shostcomputer,andthesystemcantransferdatas.Paperescribes3S400hip’Sinternalstructureandfunctions,designes

MinimumsystemcircuitaboutXilinx3S400,andprogramsintheXilinx’SFPGA

Developmentalenvironment.TheembeddedUSB2.0IPinFPGAisveryexpensive,andtheIPisneededtobuyfromtheFPGA,makers,SOpaperchoosesanexternalUSBchip.AlthoughthechipincreasesPCBarea,itsdevelopmentalcostislowand

Technologyismature,SOmostUSBresearchersuseitextensive.PaperdescribesthedetailUSBcommunicationprotocal,thestructureoftheCY7C68013,anditsfirmware,developsthecommunicationsystembasedonFPGA.ThecommunicationsystemcantransferdataswithPC,andprovidebasementforlargedatascommunication.

KeyWords:

FPGA;USB;DataCommunication

第一章绪论

可编程逻辑器件起源于20世纪70年代,是在专用集成电路的基础上发展起来的一种新型逻辑器件,是数字系统的主要应用平台,其主要的特点是完全由用户通过软件设计进行配置和编程,从而完成一定的功能,并且,具有反复擦写的作用。

如今,可编程器件的经历了4个发展阶段,在第一阶段中,可编程器件只有简单的可编程只读存储器PROM,紫外线可擦除只读存储器EPROM和电可擦除只读存储器EEPROM三种,由于结构的限制,它们只能完成简单的数字逻辑功能。

第二阶段出现了结构上稍微复杂的可编程阵列逻辑PAL和通用阵列逻辑GAL器件,正式被称为PLD,能够完成各种逻辑运算功能,PLD能以乘积和形式完成大量的逻辑组合。

第三阶段是由Xilinx和Altera分别推出了与标准门类似的FPGA以及类似于PAL结构的扩张性CPLD,提高了逻辑运算的速度,具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。

这一阶段,FPGA和CPLD器件在制造工艺和产品性能方面都获得了长足的发展。

20世纪90年代

末到目前为第4阶段,出现了可编程的片上系统和片上系统技术,各FPGA厂商都推出了相应的SoCFPGA产品,系统门数超过了百万门,内嵌了硬核高速乘法器、吉比特差分串行接口、时钟频率高达数百兆的PowerPC微处理器等n1。

随着可编程逻辑器件的发展壮大,研究新一代的PLD成为当前的主要任务,在这里,论文选择了FPGA作为主要的研究对象。

USB是一种应用在计算机领域的接口技术,和目前流行的其它主流通信设备相比,不仅速度比较快,而且支持的设备也比其它的接口支持的设备要多的多,表1.1对比了常用的计算机接口性能,从中可以看出,和其他接口相比,USB接口具备的特点。

USB接口主要目的是为了取代现有计算机的各种外围接口,具有即插即用、热插拔、低成本、接口体积小等诸多优点。

它的出现大大简化了PC机和外设的连接过程,可以说,USB的出现使计算机外设连接技术发生了重大的变革。

随着USB2.0的通信协议取代了1.0协议之后,USB接口技术有了跨越式的发展,USB的传输速率有很大幅度的提高,其峰值能够达到480Mb/s乜1,这使得USB接口技术成为数据传输及数据采集的重要接口之一,于是,研究USB的通信成为重点工作。

论文主要包括四方面的内容,在第二章中首先介绍了FPGA芯片和USB接口芯片的选择及各自的内部结构,关于芯片的选择是该课题中比较重要的一部分,因为USB接口芯片的选择决定了USB的传输速率,为了得到较高的传输速度,甚至是高速传输,在这里论文选择了Cypress公司的EZ.USBFX2系列中的CY7C68013芯片作为接口芯片,该芯片是世界上第一款带有USB2.0协议的接口芯片,能够以高速480Mb/s的速度进行传输,而FPGA芯片选择的是Xilinx公司生产Spartan3F系列中的XC3S400该芯片是性价比较高的一款芯片,因为外部引脚高达208个,所以在用于USB传输的同时,还可以进行其他功能的开发。

而FPGA的配置芯片则选择了XC3S400对应的串行配置芯片XCF02S,该芯片的PROM达到2M,可以进行大容量的程序存储。

在第三章中主要根据第一章中选择的芯片介绍了一个完整的FPGA关于USB通信系统的设计,整个设计包括了电源的设计,复位电路的设计,配置芯片的接口设计,USB接口芯片的设计

和FPGA接口的设计,该设计能够通过外接数码管和存储芯片来完成数据的传输,数码管显示的数据来验证通信数据是否正确。

在第四章中,为了能够了解USB通信的具体情况,论文介绍了USB通信的一些标准和相关协议,这部分的内容为后面介绍CY7C68013的通信原理及寄存器的设置做了前期说明,为USB固件程序的初始化和特殊功能寄存器的赋值介绍了理论依据。

最后一章介绍了关于FPGA的硬件编程语言,这里,使用的是VerilogHDL语言作为编程语言,所以对其进行了简单的介绍,之后说明了FPGA的开发流程,接下来在论文中介绍了FPGA引脚的配置及内部程序的编写,以及CY7C68013中的固件程序的编写,论文中给出了初始化程序。

本章中图1.1介绍了整个通信过程的结构框图。

图1.1通信系统的结构图

第二章芯片的选择及其内部结构

本章详细介绍了关于FPGA芯片和USB接口芯片的选择以及它们的每部结构和功能介绍,为设计硬件电路和编写程序提供了依据。

2.1FPGA芯片的选择及内部结构

FPGA的英文全称为Field--ProgrammableGateArray,翻译成中文是现场可编程门阵列。

XilinxSpartan3系列是FPGA中成本较低的芯片,可以实现最低的器件成本和最低的系统总成本。

该系列芯片在之前芯片的基础上增加了更多的逻辑门数量,内嵌RAM的容量得到提升,拥有更多的I/O口数量,并且,通过改善时钟管理功能使能芯片的整体性能有了进一步的提高。

该课题采用Spartan3系列中较为基础的XC3S400PQ208芯片,系统门数为400K,等效逻辑单元8064,分布式RAM容量56Kb,块RAM容量288Kb,专用乘法器5个,数字时钟管理单元4个,最大的用户IO数141个。

该系列芯片提供了一个可替代传统定制ASIC,设计的功能强大、成本经济的灵活的替代解决方案。

具有如下主要特色:

首先,具有高密度和高存储量:

3S400的器件密度范围为400K,结合嵌入式块RAM和分布式RAM单元,从而可支持高效率的设计实施并可提供最佳的性能。

其次,可提供多达141个IO的交错排列引脚技术:

3S400器件针对在更小的芯片基础上提供最多的IO数量而优化,采用了双环交错排列IO引脚技术,提供最低的逻辑门成本和最多的IO数。

FPGA的内部结构主要由7个部分组成,分别是可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理模块、嵌入式块RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块Ⅲ。

(1)可编程输入输出单元(IOB)

可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求,提供输入缓冲、输出驱动、接口电平转换、阻抗匹配以及延迟控制等功能。

其一般结构如图2.1所示。

通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。

目前,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbit/s的数据传输速率。

外部输入信号可以通过lOB模块的存储单元输入到FPGA的内部,也可以直接输入到FPGA内部。

为了便于管理和适应多种电气标准,FPGA的IOB被划分为若干个组(Bank),每组都能够独立的支持不同的I/O标准,每个Bank的接口准由其接口电压V啪决定,一个Bank只能有一种VI湖,但不同的Bank的Vooo可以不同。

只有相同电气标准的端口才能连接到一起,V伽电压相同是接口标准的基本条件。

(2)可配置逻辑块(CLB)

CLB是FPGA内的基本逻辑单元。

CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。

开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。

在Xilinx公司的FPGA器件中,CLB由多个(一般为4个仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。

Slice是Xilinx公司定义的逻辑基本单位,它的内部结构如图2.3所示,一个Slice由两个4/6输入查找表、算术逻辑、进位逻辑、存储逻辑和函数发生器组成。

算术逻辑包括一个异或门XORG)和一个专用与门),一个异或门可以使一个Slice实现2位全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;4输入函数发生器用于实现4输入LUT、分布式RAM或16位移位寄存器[3]

(3)布线资源连通

FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。

FPGA芯片内部有着丰富的布线资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。

第一类是全局布线资源,用于芯片内部全局时钟和全局复位或置位的布线;第二类是长线资源,用以完成芯片Bank问的高速信号和第二全局时钟信号的布线;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和布线;第四类是分布式布线资源,用于专有时钟、复位等控制信号线。

在设计FPGA程序的时候,通常不需要直接选择布局布线资源,实现过程中由布局布线器根据输入的逻辑网表的拓扑结构和条件选择可用的布线资源连通所用的底层单元模块。

(4)数字时钟管理模块(DCM)

Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定功能。

通过DCM,FPGA芯片可以完成时钟的高精度,相移和占空比的调整,之所以有这些功能,是因为DCM使用了DLL,DLL是一个完全数字化控制系统,该系统在正常工作温度和电压下,通过反馈来保证高精度的数字信号特征。

相位环路锁定能够提供精确的时钟综合,能够降低抖动,并实现过滤的功能H,。

(5)嵌入式块RAM(BRAM)

大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。

块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。

CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所数据的地址,因而在路由的地址交换器中有广泛的应用。

FPGA内部实现RAM、CAM和FIFO等存储结构都可以基于嵌入式块RAM单元,并根据需求生成相应的粘合逻辑以完成地址和片选等控制逻辑。

在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。

(6)底层内嵌功能单元

内嵌功能模块主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等软处理核,即内嵌处理器(EmbededProcessor)。

正是集成了丰富的内嵌功能单元,才使得FPGA成了系统级的设计工具,具备了软硬件联合设计的能力,逐步向SoC平台过度。

DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。

Xilinx公司生产的芯片上集成了DLL,Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。

PLL和DLL可以通过IP核生成的工具方便的进行管理和分配。

(7)内嵌专用硬核

内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核,等效于ASIC电路。

为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。

Xilinx的主流芯片都集成了硬核的块RAM、硬核乘加器,在高端产品还集成了PowerPC系列CPU,还内嵌了吉比特收发器模块。

基于丰富的硬核模块,加上Xilinx的系统级设计工具EDK和PlatformStudio,可快速达到片上系统的开发目的。

2.2USB芯片的选择及其结构

USB功能设备芯片负责实现功能设备和USB主机间的物理数据传输,它是构成USB功能设备的必需部件。

主要功能是解释USB协议,进行数据传输和编码等,按其所支持的传输速率,可以分为低速设备芯片、全速设备芯片和高速设备芯片。

通常这些USB芯片都含有多个驱动外围电路的I/o口,以实现USB设备的特殊功能乜1。

一般来说,USB功能设备芯片的组成结构如下:

(1)CPU:

负责执行存储在芯片程序存储里的代码,以控制整个USB芯片的活动。

CPU可以是通用的微控制器,如8051单片机;也可以是专用的CPU,如RISC。

(2)程序存储器:

负责保存CPU执行的程序代码。

类型通常为ROM、EPROM、

EEPROM、FlashEPROM、RAM中的一种,存储容量一般在几千字节左右。

(3)数据存储器:

负责保存芯片固件执行时产生的临时数据。

其类型通常为RAM,存储容量一般在1KB以下。

(4)寄存器:

用于存储有特殊功能的、临时性的数据。

按其功能,可以分为状态寄存器、数据寄存器和控制寄存器。

访问速度通常比数据存储器快,但数量较勿.一般为几十个。

(5)USB接口:

负责发送和接收USB总线上的数据,完成位填充、NRZI(反向非归零)编解码等工作,也可以称为SIE(串行接口引擎)。

(6)USB缓冲器:

负责存储在USB总线上发送和接收的USB数据,可分为发送缓冲器和接收缓冲器。

它们可以是数据存储器的一部分,也可以是单独的一块存储器,如FIFO等。

(7)外部I/O:

每种USB功能设备芯片都含有驱动其外围电路的I/O口,如数据总线、地址总线、12C接口、SPI接口等。

(8)其它部件:

有些USB功能设备芯片中还有诸如定时器、看门狗、UART等特殊功能模块。

在一个USB设备的设计中,选择USB2.0的设备芯片是非常关键的一步。

目前,USB2.0设备芯片中,Cypress公司生产的EZ.USBFX2芯片因为具有很高的性价比,是设备研发中一款通用的USB2.0接口芯片,该芯片也是论文中所选用的芯片。

Cypress的EZ.USBFX2TM是世界上第一款集成了USB2.0接口的微控制器。

通过集成USB2.0收发器、SⅢ(串行接口引擎,SerialInterfaceEngine)、增强的8051微控制器以及可编程成的外部接口于一个单片中。

虽然在小到56脚SSOP封装内仍然使用低成本的8051微控制器,但由于FX2独特的体系结构,使数据传输速率可以达到USB2.0允许的最大带宽,每秒56Mbytes。

因为组合了USB2.0收发器,FX2比USB2.0SIE和使用外部收发器实现更经济、提供了更小封装尺寸的解决方案。

由于有SIE可以在硬件中处理最多的USB1.1和2.0协议,将嵌入式控制器从特殊的应用功能中解脱出来,并且可以减少为确保USB兼容性所花费的开发时间。

GPIF(TheGeneralProgrammable

Interface)、主从端点FIFO(8位或16位数据总线)提供了一种容易而且是无缝地与流行的接口进行连接的方法。

该论文中选择了Cypress公司生产的CY7C68013中的56引脚的芯片,它是EZ.USBFX2系列芯片中的一种,采用增强型8051,比标准8051的速度更快,功能更强,且指令集和标准8051完全兼容,并可使用C51编译器。

FX2内部包含8.5KB的RAM,它们兼做程序存储器和数据存储器,增强型8051的固件代码就存储在该区域内,该芯片同时具有12C总线,以使其能从外部EEPROM中

下载芯片固件。

图2.1为FX256引脚的封装简化框图。

图2.2FX256引脚的封装简化框图

第三章FPGA核心板的硬件设计

带USB接口芯片的FPGA的核心板共有一下几个部分组成,首先需要的就是电源,这里采用计算机USB接口供电,提供5V直流电源,所以需要将5V电压转换成电路中芯片所需要的各个电压值,芯片需要的电压值一共有三个,为3.3V,2.5V和1.2V。

其次是复位电路的设计,在任何的一个电路设计中,复位电路都是不可缺少的,论文采用复位芯片作为复位电路的主要部分,目的是提供稳定的复位脉宽以及减少PC板的面积。

无论是FPGA还是USB芯片,工作的时候都需要外接晶振,这里,FPGA的晶振为40MHz,而USB的晶振为24MHz,最后,论文选择的这款FPGA是采用基于SRAM工艺的查找表结构,SRAM工艺的FPGA芯片不具备非易失的特点,端点后将丢失内部逻辑配置。

为了能够保存程序,Xilinx为每款芯片都配备了一个外置芯片,该外置芯片具有PROM和支持JTAG下载的功能,XC3S400芯片所支持的配置芯片的型号为XCF02S和XCF08P,其中,XCF02S支持串行配置,而XCF08F支持串行配置和并行配置,论文选择串行配置模式,所以选择了XCF02S,该芯片的容量为2MB。

3.1电源的设计

电源不仅要为FPGA和USB芯片供电,还要为复位芯片供电,这些芯片用到的电压一共有三种,其中包括3.3V,2.5V和1.2V,论文采用计算机上的USB接口为硬件电路供电,USB接口提供标准的+5V电压,需要将+5V电压转换成电路中需要的电压,采用了电压转换芯片来完成这一工作,论文中选择了ASlll7作为电压转换芯片,表3.1列出了该芯片的参数。

该芯片符合其它芯片对电压的要求。

电源设计如图3.1所示。

表3.1ASlll7参数

图3.1电源设计原理图

3.2复位电路的设计

图3.2复位电路设计原理图

复位芯片主要考虑的是复位脉宽的长度,从理论上来讲,是越大越好,系统复位电路芯片采用了STC811,这款芯片的复位脉冲宽度达

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1