FPGA的USB虚拟示波器设计方案.docx

上传人:b****5 文档编号:27921168 上传时间:2023-07-06 格式:DOCX 页数:18 大小:30.19KB
下载 相关 举报
FPGA的USB虚拟示波器设计方案.docx_第1页
第1页 / 共18页
FPGA的USB虚拟示波器设计方案.docx_第2页
第2页 / 共18页
FPGA的USB虚拟示波器设计方案.docx_第3页
第3页 / 共18页
FPGA的USB虚拟示波器设计方案.docx_第4页
第4页 / 共18页
FPGA的USB虚拟示波器设计方案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

FPGA的USB虚拟示波器设计方案.docx

《FPGA的USB虚拟示波器设计方案.docx》由会员分享,可在线阅读,更多相关《FPGA的USB虚拟示波器设计方案.docx(18页珍藏版)》请在冰豆网上搜索。

FPGA的USB虚拟示波器设计方案.docx

FPGA的USB虚拟示波器设计方案

封面

作者:

PanHongliang

仅供个人学习

毕业论文(设计)

学院:

电子信息工程学院

专业:

通信工程年级:

2006级

题目:

基于FPGA的USB虚拟示波器设计

学生姓名:

学号:

指导教师姓名:

职称:

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

年月日

目录

摘要1

Abstract1

1引言2

1.1虚拟仪器的发展现状与前景2

1.2USB总线技术发展现状与前景2

1.3FPGA的发展现状与前景3

2系统总体设计5

2.1信号调理和A/D采样模块5

2.1.1阻抗匹配和程控放大电路6

2.1.2A/D转换器6

2.2FPGA控制模块7

2.2.1时基控制器8

2.2.2比例控制器9

2.2.3USB控制器10

2.3USB通信模块11

2.4上位机显示操作模块14

3总结16

致谢17

参考文献17

基于FPGA的USB虚拟示波器设计

摘要:

传统的示波器虽然功能齐全,但是体积大、重量重、成本高等一系列问题使其应用受到了限制。

有鉴于此,本文设计了基于FPGA的USB虚拟示波器。

它以FPGA芯片为核心,辅以必要的外围电路(包括信号调理、A/D转换),利用VerilogHDL语言编程实现了对USB芯片CY7C68013A的控制,垂直灵敏度和水平灵敏度的挡位设置等操作。

通过USB将数据上传到VC6.0编写的上位机软件,实现了简单的示波器操作和显示功能。

关键词:

虚拟示波器;FPGA;USB2.0

FPGAandtheUSB-basedvirtualoscilloscope

Abstract:

Thetraditionaloscilloscopeisfull-featured,andbulky,heavy,highcostmakeapplicationslimited.Inviewofthis,thepaperdesignedFPGA-basedUSBvirtualoscilloscope.FPGAchipisthecoreinthesystem,whichwassupplementedwiththenecessaryperipherals,suchassignalconditioning,A/Dconverter.VerilogHDLlanguagewasusedforUSBcontroloftheverticalsensitivityandhorizontalsensitivitysetting.ThedatawastransferredtothePCoverUSB。

thesystemsoftwarewasdevelopedonVC6.0platformandrealizesasimpleoperationandwaveformdisplay.

Keywords:

VirtualOscilloscope。

FPGA。

USB2.0

1引言

1.1虚拟仪器的发展现状与前景

虚拟仪器的概念是1986年由美国国家仪器公司(以下简NI公司)首先提出的。

所谓虚拟仪器就是利用现有的计算机,加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器所没有的特殊功能的高档低价的新型仪器。

它可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等。

还可集成于自动控制、工业控制系统,可自由构建成专有仪器系统。

虚拟仪器系统可以广泛地应用在通讯、自动化、半导体、航空、电子、电力、生化制药、和工业生产等各种领域。

无论哪种虚拟仪器系统,都是将仪器硬件搭载到笔记本电脑、台式PC或工作站等各种计算机平台(甚至,可一以是掌上电脑)加上应用软件而构成的。

虚拟仪器通过软件将计算机硬件资源与仪器硬件有机的融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现对数据的显示、存储以及分析处理。

与传统仪器相比,虚拟仪器的特点在于:

(1)打破了传统仪器的“万能”功能概念,将信号的分析、显示、存储、打印和其它管理集中交由计算机来处理。

由于充分利用计算机技术,完善了数据的传输、交换等性能,使得组建系统变得更加灵活、简单。

(2)强调“软件就是仪器”的新概念,软件在仪器中充当了以往由硬件甚至整机实现的角色。

由于减少了许多随时间可能漂移、需要定期校准的分立式模拟硬件,加上标准化总线的使用,使系统的测量精度、测量速度和可重复性都大大提高。

(3)仪器由用户自己定义,系统的功能、规模等均可通过软件修改、增减,可方便地同外设、网络及其它应用设备连接。

虚拟仪器通过提供给用户组建自己仪器的可重用源代码库,处理模块间通讯、定时、触发等功能,强调在通用计算机平台的基础上,通过软件和软面板,把由厂家定义的传统仪器转变为由用户定义的,由计算机软件和几种模块组成的专用仪器。

虚拟仪器的出现,彻底打破了传统仪器由厂家定义、用户无法改变的模式,给了用户一个充分发挥自己能力和想象力的空间。

(4)鉴于虚拟仪器的开放性和功能软件的模块化,用户可以将仪器的设计、使用和管理统一到虚拟仪器标准,使资源的可重复利用率提高,系统组建时间缩短,功能易于扩展,管理规范,使用简便,软、硬件生产、维护和开发的费用降低。

虚拟仪器既可以作为单台数字式测试仪器使用,又可以构成较为复杂的测试系统,甚至通过高速计算机网络构成分布式测试系统,进行远程监控及故障诊断。

此外,用基于软件体系结构的虚拟仪器系统代替基于硬件体系结构的传统仪器,还可以大大节省仪器购买、维护费用[1]。

1.2USB总线技术发展现状与前景

当今的计算机外部设备,都在追求高速度和高通用性。

为了满足用户的需求,以Intel为主,并由Compaq,Hewlett,Paekard,Intel,Lueent,Microsoft,NEC和philips这7家厂商共同制定了串行接口USB总线协议,于1994年11月制定了第一个草案,1996年2月公布USB规范版本1.0。

2000年4月发布USB2.0标准规范。

USB总线协议支持最多5个Hub级联,可把多达127个外设同时连接到你的系统上,所有的外设通过协议来共享USB总线的带宽。

目前,USB端口己成为了微机主板的标准端口,使用中的USB协议有1.0,1.1和2.0三个版本,通信速率分别为1.5Mbps,12Mbps,480Mbps,USB协议向下兼容。

此外在USB2.0协议中提出了USBOTG(onthego)的概念,为USB的嵌入式控制提供了广阔的前景。

USBOTG技术解决了以往USB设备不能脱离PC机而运行的矛盾,使得嵌入式设备能与USB设备直接进行点对点通讯。

USB总线主要的优点是速度快、功耗低、支持即插即用(Plug&Plya)和使用维护方便。

USB2.0将设备之间的数据传输速度增加到了480Mbps,是USB1.1标准的40倍。

USB2.0可以使用原来USB定义中同样规格的线缆,接头的规格也完全相同。

而且新的符合USB2.0规格的设备不会和USB1.X设备在共同使用的时候发生任何冲突。

新的VIA芯片组和则TEL,AMD,515,ALI都已经在新产品中加入了对USB2.0的支持。

软件方面,Windows98全面提供了对USB1.x的支持,而WindowsXP全面提供了对USB2.0的支持。

在LNIUX,MACOS,BEOS,WindowsCE等操作系统中,对USB2.0都有了相关的软件支持或者系统程序包。

随着USB总线技术在计算机外设中的广泛应用,以USBOTG为背景的嵌入式USB应用也被提到议事日程上来了。

USBOTG技术解决了USB总线技术在嵌入式环境中应用时点对点通讯的问题。

现在Cypress,Philips,NEC等公司都推出了很成熟的USBOTG芯片组,USBOTG技术将很快普遍应用起来[2]。

1.3FPGA的发展现状与前景

PLD是可编程逻辑器件(ProgramableLogicDevice)的简称,FPGA是现场可编程门阵列(FieldProgramableGateArray)的简称,两者的功能基本相同,只是实现原理略有不同,所以我们有时可以忽略这两者的区别,统称为可编程逻辑器件或PLD/FPGA。

PLD是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。

PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74系列门电路,都可以用PLD来实现。

PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。

通过软件仿真,我们可以事先验证设计的正确性。

在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。

使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。

开发PLD需要了解两个部分,PLD/FPGA开发软件和PLD/FPGA本身。

PLD/FPGA开发软件已经发展的相当完善,用户甚至可以不用详细了解PLD的内部结构,也可以用自己熟悉的方法:

如原理图输入或HDL语言来完成相当优秀的PLD设计。

PLD/FPGA的开发软件包括Altera公司的QuartusII、Xilinx公司的ISEWebPack、Lattice公司的ispleverBase。

对于PLD产品,一般分为:

基于乘积项(Product-Term)技术,EEPROM(或Flash)工艺的中小规模PLD,以及基于查找表(Look-Uptable)技术,SRAM工艺的大规模PLD/FPGA。

EEPROM工艺的PLD密度小,多用于5,000门以下的小规模设计,适合做复杂的组合逻辑,如译码。

SRAM工艺的PLD(FPGA),密度高,触发器多,多用于10,000门以上的大规模设计,适合做复杂的时序逻辑,如数字信号处理和各种算法。

电子设计自动化(EDA)的实现是与CPLD/FPGA技术的迅速发展息息相关的。

CPLD/FPGA是80年代中后期出现的,其特点是具有用户可编程的特性。

利用PLD/FPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。

此外,CPLD/FPGA还具有静态可重复编程或在线动态重构特性,使硬件的功能可象软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。

自1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的发展历史。

在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:

现场可编程逻辑器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之即,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。

纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:

FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。

目前,FPGA的主要发展动向是:

随着大规模现场可编程逻辑器件的发展,系统设计进入"片上可编程系统"(SOPC)的新纪元;芯片朝着高密度、低压、低功耗方向挺进;国际各大公司都在积极扩充其IP库,以优化的资源更好的满足用户的需求,扩大市场;特别是引人注目的所谓FPGA动态可重构技术的开拓,将推动数字系统设计观念的巨大转变。

以FPGA为代表的数字系统现场集成技术发展的一些新动向,归纳起来有以下几点:

一、深亚微M技术的发展正在推动了片上系统(SOPC)的发展。

二、芯片朝着高密度、低压、低功耗的方向挺进,力求在大规模应用中取代ASIC。

三、IP库的发展及其作用。

四、FPGA动态可重构技术意义深远,将带来系统设计方法的转变[3]。

2系统总体设计

本节将把“基于FPGA的USB虚拟示波器”分成四个功能模块:

1、信号调理和A/D采样模块;2、FPGA控制模块;3、USB通信模块;4、上位机显示模块。

“基于FPGA的USB虚拟示波器”系统框图如图1:

图1系统框图

信号经过信号调理模块,放大或缩小到需要的电压范围,转换为需要的信号模式,在A/D采样模块转换为数字信号。

FPGA控制模块按照接收到的命令给出比例控制信号和时基控制信号控制模拟前端,并且作为USB通信模块的主机,控制数据的上传。

USB通信模块一方面下传上位机的设置命令,一方面上传采集到的数据信号。

上位机显示操作模块负责提供友好的界面,显示数据波形,修改控制参数。

2.1信号调理和A/D采样模块

信号调理和A/D采样模块框图如图2:

图2信号调理和A/D采样模块框图

为了扩大输入信号的范围,使输入信号满足A/D转换器和显示的需求,信号调理模块采用先衰减10倍后程控放大的方法。

程控放大的增益采用PWM信号经过低通滤波产生的有效电压控制。

A/D转换速率由时基信号控制[4]。

2.1.1阻抗匹配和程控放大电路

阻抗匹配和程控放大电路的电路图如图3

图3阻抗匹配和程控放大电路

本模块采用两级程控放大器AD603,实现了增益在指定范围类可调。

此外,实现上由于AD603的输入电阻的典型值只有100Ω,所以特别加了一级电压跟随器作为阻抗匹配电路。

在增益控制端口上加上范围在0V~2V的电压,就可以控制增益。

此电压值由FPGA产生的PWM信号经过低通滤波器产生,具体的占空比由实验调试而来。

2.1.2A/D转换器

本模块A/D的采用TI公司的ADS830。

其最高采样率为60MHz,完全可以满足本次设计10MHz采样率的要求,并且为以后采样速率要求的扩展留下了空间。

ADS830的时序图如图4:

图4ADS830时序图

2.2FPGA控制模块

FPGA控制模块结构框图如图5:

图5FPGA控制模块结构框图

此模块总体上分为4个部分:

1、时基控制器,根据USB通信模块传来的命令产生特定频率的时钟信号,此信号一方面控制外部的A/D转换器,调节采样率,另一方面提供给地址发生器,控制AD数据的存储;2、比例控制器,根据USB通信模块传来的命令产生特定占空比的PWM信号,调节信号调理模块程控放大器的增益;3、存储器,由一个双口RAM构成,一方面存入AD数据,另一方面为USB通信模块提供上传的数据;4、USB写控制器,判断RAM和USB的FIFO中数据的空或满的情况,根据一定的时序将RAM中的数据写入USB的FIFO中,实现数据的上传。

2.2.1时基控制器

时基控制器的电路图如图6:

图6时基控制器的电路图

此模块由一个分频器和一个多路选择器组成。

FPGA的外部时钟为50MHz,按照需求将50MHz分频为16个不同的频率,每个频率对应一个特定的采样率。

根据USB通信模块传来的命令,由多路选择器选择使用哪一个采样率,从而实现采样时基的选择(水平灵敏度的调节)[5]。

其中奇数分频器的实现代码如下:

moduleFiveFP(i_clk,o_clk)。

inputi_clk。

outputo_clk。

wirei_clk。

wireo_clk。

parameterN=5。

//设置奇数(除1外)倍分频

parameterM=(N-1)/2。

//M="N/2"

reg[2:

0]cnt_p。

//上升沿计数单位

reg[2:

0]cnt_n。

//下降沿计数单位

regclk_p。

//上升沿时钟

regclk_n。

//下降沿时钟

assigno_clk=clk_n&clk_p。

//按位与(作用:

掩码)

//上升沿计数器:

0~(N-1)

always@(posedgei_clk)

begin

if(cnt_p==4)

cnt_p<=0。

else

cnt_p<=cnt_p+1'b1。

end

//生成上升沿时钟

//0~(N>>1)↑->1。

((N/2)+1)~(N-1)↑->0

always@(posedgei_clk)

begin

if(cnt_p<=2)//0~(N/2)

clk_p<=1。

else

clk_p<=0。

end

//下降沿计数器:

0~(N-1)

always@(negedgei_clk)

begin

if(cnt_n==4)

cnt_n<=0。

else

cnt_n<=cnt_n+1'b1。

end

//生成下降沿时钟

//0~(N>>1)↓->1。

((N/2)+1)~(N-1)↓->0

always@(negedgei_clk)

begin

if(cnt_n<=2)//0~(N/2)

clk_n<=1。

else

clk_n<=0。

end

endmodule

2.2.2比例控制器

此模块也是由一个分频器和一个多路选择器组成,所不同的是产生一个周期固定,占空比不同PWM信号。

此信号经过低通滤波器得到不同有效值的电压,来控制程模拟前端控放大器的增益,实现上位机的垂直灵敏度的调节。

2.2.3USB控制器

此模块控制USB通信模块的数据上传的操作。

USB通信模块采用Cypress公司的CY7C68013A。

CY7C68013A有三种可用的接口模式:

端口、GPIF主控和从属FIFO,本次采用的是从属FIFO模式。

在这里只应用FIFO的异步写操作,此模式下外部主机和USB通信模块的引脚连接如图7:

图7FIFO模式引脚连接图

此处的外部主机为FPGA,数据线选用FD[15:

0]的低8位FD[7:

0],USB控制器中的主要部分就是对USB通信模块的异步写操作。

异步写操作的时序图如图8

图8FIFO模式异步写操作时序图

为了把数据连续的写入USB通信模块的FIFO,要在FPGA里面实现一个状态机,此状态机的状态图如图9

图9FIFO模式异步写操作状态机的状态图

状态0:

停止状态。

当写事件发生,转到状态1;

状态1:

设置FIFOADR[1:

0]为高电平(设置的时间保持到IFCLK的上升沿),选定要写入数据的目标FIFO,转到状态2;

状态2:

如果USB通信模块的FIFO的FULL标志无效(当前FIFO没有写满),转到状态3,否则停留在状态2

状态3:

写数据到FD[7:

0],使SLWR有效(设置的时间保持到IFCLK的上升沿),使SLWR无效,转到状态4;

状态4:

如果还有数据要上传,转到状态2,否则转到状态0[6];

2.3USB通信模块

此模块有两方面的作用。

一方面上位机的命令码下传,采用USB协议中的控制传输,在固件程序中响应命令码,执行相应的操作,发命令给FPGA控制模块;另一方面FPGA中的数据上传,采样USB协议中的块传输,在固件程序中将USB通信模块CY7C68013A配置为SlaveFIFO模式,使数据传输脱离内部CPU的干涉,提高数据传输的速度。

CY7C68013A配置成SlaveFIFO模式的固件代码如下[7]:

voidTD_Init(void)//Calledonceatstartup

{

BREAKPT&=~bmBPEN。

//toseeBKPTLEDgooutTGE

Rwuen=TRUE。

//Enableremote-wakeup

//settheCPUclockto48MHz

CPUCS=((CPUCS&~bmCLKSPD0)|bmCLKSPD1)。

IFCONFIG=0xCB。

SYNCDELAY。

REVCTL=0x03。

SYNCDELAY。

EP2CFG=0xE8。

//端点2,IN端点,块传输,1024字节,4重缓冲

SYNCDELAY。

FIFORESET=0x80。

//不应答主机请求

SYNCDELAY。

FIFORESET=0x02。

//复位端点2468

SYNCDELAY。

FIFORESET=0x04。

SYNCDELAY。

FIFORESET=0x06。

SYNCDELAY。

FIFORESET=0x08。

SYNCDELAY。

FIFORESET=0x00。

SYNCDELAY。

EP2FIFOCFG=0x0C。

//autoIN,8位,PKTEND时若空,则发空包

PINFLAGSAB=0x00。

SYNCDELAY。

PINFLAGSCD=0x00。

SYNCDELAY。

PORTACFG=0x00。

SYNCDELAY。

FIFOPINPOLAR=0x00。

SYNCDELAY。

EP2AUTOINLENH=0x04。

//自动IN的长度为1024Bytes

SYNCDELAY。

EP2AUTOINLENL=0x00。

//enabledualautopointerfeature

AUTOPTRSETUP|=0x01。

}

USB通信模块采用Cypress公司的CY7C68013A,其结构图如图10:

图10CY7C68013A的内部结构图

CY7C68013A-56内部集成了1个增强型的8051、1个智能USB串行接口引擎、1个USB数据收发器、3个8位I/O口、8.5kBRAM和4kBFIFO等。

增强性8051内核完全与标准8051兼容,而性能可达到标准8051的4倍以上。

CY7C68013A芯片在数据传输时主要利用了端点,CY7C68013A有7个端点:

EP0IN&OUT、EP1IN、EP1OUT、EP2、EP4、EP6和EP8。

其中EP0、EP1IN和EP1OUT是3个64B的缓存,只能被固件访问,EP0是一个默认的数据输入输出端口缓存;EP1IN和EP1OUT是单独的64B缓存,可以配置这些端点为块传输、中断传输或同步传输;端点2、4、6、8是大容量高带宽的数据传输端点,可以配置为各种带宽以满足实际需要。

值得注意的是,端点4、8能配置为每帧512B,而端点2、6却能配置为每帧512B或1024B,并可配置为2、3、4级,这样EP2或EP6最大能配置为4kB的缓存。

FIFO缓存配置图如图11:

图11FIFO缓存配置图

本设计中选用EP2,并且采用4级缓存,每级1024字节。

CY7C68013A所属的EZ-USB系列芯片提供了一种独持架构,使USB接口和应用环境直接共享FIFO,而内嵌的增强型8051微控制器可不参与数据传输,

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

当前位置:首页 > 人文社科 > 教育学心理学

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

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