基于FPGA和STM32的数据采集系统设计.pdf
《基于FPGA和STM32的数据采集系统设计.pdf》由会员分享,可在线阅读,更多相关《基于FPGA和STM32的数据采集系统设计.pdf(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科毕业设计本科毕业设计1 1 绪论绪论1.11.1 虚拟仪器的背景虚拟仪器的背景第1页 共 42 页现在客户对于测试的需求越来越大。随着创新的步伐越来越快,希望更多具有竞争力的新产品更快投入市场的压力也越来越大。消费者的期望在不断地增高。以电子市场为例,消费者要求不同的功能可以更低的成本在一个更小的空间得到集成。近年来经济的低迷并没有阻止革新的需要,但是却要求使用更少资源。满足这些需要是商业成功的一个因素能够快速、一贯并且最可靠地满足这些需要的公司一定能在竞争中占有决定性的优势。所有这些条件都驱使着对新的验证、检验和生产测试技术的高要求。一个能与创新保持同步的测试平台不是可有可无的,而是必需
2、的。这个平台必须包含具有足够适应能力的快速测试开发工具以在整个产品开发流程中使用。产品快速上市和高效生产产品的需要要求有高吞吐量的测试技术。为了测试消费者所要求的复杂多功能产品需要精确的同步测量能力,而且随着公司不断地创新以提供有竞争力的产品,测试系统必须能够进行快速调整以满足新的测试需求。虚拟仪器是应对这些挑战的一种革新性的解决方案。它将快速软件开发和模块化、灵活的硬件结合在一起从而创建用户定义的测试系统。模拟式仪器是指针式的,它基于电磁原理进行测量;数字式仪器则适应了快速响应和高精度的要求,将对模拟信号的测量转化成为对数字信号的测量来显示测量结果;智能化仪器仪表则运用了微处理器芯片,通过将
3、程序固化在 ROM 中以及将测量结果储存在RAM 中自动完成各种测量功能。它的功能模块全部都是以硬件(或固化的软件)的形式存在,相对虚拟仪器而言,无论是开发还是应用,都缺乏灵活性。第四代虚拟示波器,它是现代计算机技术、通信技术和测量技术相结合的产物,是传统仪器观念的一次巨大变革。虚拟示波器的出现改变了原有的示波器的整体设计思路,用软代替了硬件。将传统仪器由硬件实现的数据分析与显示功能能,改由功能强大的微型计算机来完成信号的处理和波形的显示,利用软件技术在屏幕上设计出方便、逼真的仪器面板,进行各种信号的处理、加工和分析,用各种不同方式(如数据、图形、图表等)表示测量结果,完成各种规模的测量任务。
4、并具有存储、再现、分析、处理波形等特点,而且体积小,耗电少的功能。本科毕业设计本科毕业设计1.21.2 虚拟仪器的发展现状虚拟仪器的发展现状第2页 共 42 页虚拟仪器技术目前在国外发展很快,以美国国家仪器公司(NI 公司)为代表的一批厂商已经在市场上推出了基于虚拟仪器技术而设计的商品化仪器产品。在美国虚拟仪器系统及其图形编程语言,已作为各大学理工科学生的一门必修课程。美国的斯福坦大学的机械工程系要求三、四年级的学生在实验时应用虚拟仪器进行数据采集和实验控制。当今虚拟仪器的系统开发采用的总线包括传统的 RS232 串行总线、GPIB 通用接口总线、VXI 总线,以及已经被 PC 机广泛采用的
5、USB 串行总线和 IEEE1394 总线(即 Fire wire,也叫做火线)。世界各国的公司,特别是美国NI 公司,为使虚拟仪器能够适应上述各种总线的配置,开发了大量的软件以及适应要求的硬件(插件),可以灵活的组建不同复杂程度的虚拟仪器自动检测系统。传统仪器有复杂的工艺问题和知识产权问题,发达国家的传统仪器市场已具有相当规模。而虚拟仪器是一个全新的领域,大力发展虚拟仪器技术可以略过传统仪器的发展阶段,迅速进入虚拟仪器发展阶段,与国外大公司处于同一起跑线,形成跨越式发展。目前,虚拟仪器技术在中国越来越受到人们重视,研究高潮方兴未艾,应用范围越来越广,虚拟仪器技术必然会有突飞猛进的发展。1.3
6、1.3选题目的和意义选题目的和意义1.3.11.3.1 选题目的选题目的(1)培养毕业生综合运用所学专业知识解决实际问题的能力;(2)使毕业生初步掌握开展科学研究的工作步骤和基本方法;(3)培养毕业生正确表达技术路线和研究成果的能力(写作和口头表达);(4)初步培养毕业生探索科学技术前沿问题的兴趣;(5)掌握虚拟示波器开发过程1.3.21.3.2 选题意义选题意义传统示波器是由仪器厂家设定并定义好功能的一个封闭结构,它有特定的输入输出和仪器操作面板,具有波形显示、参数测量等功能。当要实现更多的测量功能时,就要配置更多的仪器,这给用户的使用带来很多的不便,并且传统示波器的测量精度比较低,无法满足
7、高精度的测量要求,而且传统的示波器缺乏相应的计算机接口,配合数据采集及数据处理比较困难。此外传统示波器比较庞大,制造成本比较高,这就增加了测量系本科毕业设计本科毕业设计统的开发成本。第3页 共 42 页虚拟示波器的出现改变了原有的示波器的整体设计思路,用软件代替了硬件。将传统仪器由硬件实现的数据分析与显示功能能,改由功能强大的微型计算机来完成信号的处理和波形的显示,利用软件技术在屏幕上设计出方便、逼真的仪器面板,进行各种信号的处理、加工和分析,用各种不同方式(如数据、图形、图表等)表示测量结果,完成各种规模的测量任务。并具有存储、再现、分析、处理波形等特点,而且体积小,耗电少的功能。虚拟示波器
8、携带方便,应用灵活,可以根据自己的应用重新更新仪器的功能。利用虚拟示波器所做的任何测量,都是归结为对电压的测量。虚拟示波器可以测量各种波形的电压幅度,既可以测量直流电压和正弦电压,又可以测量脉冲或非正弦电压的幅度。更有用的是它可以测量一个脉冲电压波形各部分的电压幅值,如上冲量或顶部下降量等。这是其他任何电压测量仪器都不能比拟的。虚拟示波器可以测量信号的频率。通过采集的信号进行存储后,利用处理器对数据提取并处理,计算出信号的频率以及周期等。1.41.4论述内容论述内容设计一种基于 FPGA 和 STM32 的虚拟数据采集系统,实现现场数据的采集、传输和存储。数据采集和处理过程主要由三部分构成:(
9、1)由前级放大电路进行信号的调理,对数据衰减或放大来满足 AD 转换的要求;(2)AD 转换部分由 80MHz 的 AD 转换芯片进行模拟到数字信号的转换;(3)控制和数据处理部分采用两种方案:由 FPGA 控制,采用 Verilog HDL 语言设计 FIFO 缓冲数据区和 FIFO、AD 转换的时钟分频电路,通过 USB芯片 CH372 将采集数据传输给上位机进行进一步处理,另外还有前级放大倍数的控制和AC/DC 选择也可以由 FPGA 控制,FPGA 接受上位机传来的指令分析判断后输出相应的放大倍数控制电平和 AC/DC 选择电平;在 STM32 中实现数据处理、传输以及放大倍数和 AC
10、/DC 的选择,并在 PC 机中开发上层数据管理软件,实现数据的显示、存储并能给单片机和 FPGA 发送指令。电路设计方法简单、可靠性高,能满足实际应用的要求。本科毕业设计本科毕业设计2 2 系统方案设计系统方案设计2.12.1 虚拟示波器设计要求虚拟示波器设计要求第4页 共 42 页(1)分析虚拟示波器的国内外发展概况与发展趋势,并对现有的几种虚拟示波器的优缺点进行分析,确定本课题所研究系统的技术类型,为课题的进一步研究工作奠定基础;(2)分析当前流行虚拟示波器方案优缺点的基础上,确定系统的总体设计方案,掌握虚拟示波器的原理;(3)在系统总体设计方案的基础上,通过调研,了解目前市场上各种芯片
11、的性能,根据实际市场供需状况综合考虑性能、价格等因素,选择满足实际系统需要的各种芯片,进行系统硬件部分的具体设计,主要包括电源模块、前级处理模块以及主控模块的电路原理图设计;(4)设计虚拟示波器单片机和FPGA 的软件。在系统硬件平台的基础上,进行系统软件部分的设计,应用KEIL开发工具进行单片机STM32的程序设计及优化,应用quartus开发工具进行 FPGA 模块的程序设计;(5)系统测试与分析,对系统测试;2.22.2 实验原理及设计基本思路实验原理及设计基本思路2.2.1 工作原理虚拟示波器的出现改变了原有的示波器的整体设计思路,用软代替了硬件。将传统仪器由硬件实现的数据分析与显示功
12、能能,改由功能强大的微型计算机来完成信号的处理和波形的显示,利用软件技术在屏幕上设计出方便、逼真的仪器面板,进行各种信号的处理、加工和分析,用各种不同方式(如数据、图形、图表等)表示测量结果。一个典型的虚拟示波器原理框图如图 2.1 所示,它的工作过程一般分为存储和显示两个阶段,在存储工作阶段,模拟输入信号先经过适当的放大或衰减,然后经过取样和量化两个过程的数字化处理,将模拟信号转化成数字化信号,最后,数字化信号在逻辑控制电路的控制下一次写入到 FIFO 中,FIFO 缓存器是用 FPGA 芯片采用硬件编程语言编写异步 FIFO 缓存器,工作频率比专用 FIFO 芯片高许多,并且性能稳定。FI
13、FO 采用 8Bit数据宽度。对于高频信号和脉冲信号应用 FIFO 存储工作模式,低频信号用实时工作模式。本科毕业设计本科毕业设计第5页 共 42 页虚拟示波器对模拟量进行实时取样。实时取样是对一个周期内的信号的不同点取样,它与取样示波器的跨周期取样是不同的。N 个取样点得到的数字量分别存储于地址号为 OOH.0NH 的 N 个 FIFO 存储单元中,这样,采样点所存储的地址信息即表示了采样点的时间信息。在显示时依序取出采样离散化数据,再通过数据处理,送上位机进行波形显示。将数字存储技术和微处理器用于取样示波器,可以构成存储取样示波器。示波器的采样频率和满足 AD 转换要求的模拟信号的调理由上
14、位机软件发出指令来控制。探头前级放大和衰减AD转换数 据缓存FPGA、STM32数据处理及控制PC 机处理及显示图 2.1 设计总框图2.2.2 设计基本思路采集的模拟信号从 BNC 接口的探头进入,再通过模拟开关进行 AC/DC 和阻容衰减倍数的选择,选择合适的缩放比后进入跟随放大器使前后级阻抗匹配,以至于模拟信号能无大量丢失的传输到下一级压控运算放大器,进一步对模拟信号缩放调理,其输出信号再加上电平调节电路送来的直流分量使完全的适合 AD 转化电压要求。这部分的设计很重要,它制约着示波器的最大工作带宽,通过广泛的挑选芯片、精心的设计和实验使示波器的带宽达到 15MHz 左右。进入 AD 转
15、换器输出数字信号,选择 8Bit 数据精度,80MHz转换速率的高速 AD 转换器得到较高的测量频率。因为采用高达 80MHz 转换速率的 AD 转换器,然而单片机的处理速度远远不如 AD 转换的速度,所以对 AD 频率进行控制的同时还需要缓存器对采集的数据暂时缓存配合单片机进行数据处理。由于专用分频集成芯片和 FIFO 缓存搭建出来的电路频率不够高,抗干扰能力低,可靠性和灵活性差再加上成本的考虑,电路的性能和最高频率不能达到本科毕业设计本科毕业设计第6页 共 42 页需求,因此采用 FPGA 对时钟进行分频控制 AD 转换的频率和 FIFO 缓存的频率,且 FIFO是通过硬件编程语言在 FP
16、GA 内部烧写的逻辑缓存器。硬件描述语言编写的代码烧写到FPGA 芯片内形成实实在在的逻辑电路,不仅频率高而且抗干扰能力很强。STM32 单片机进行数据处理,软件触发和放大倍数以及 AC/DC 选择将处理好的数据传输给上位机显示出波形。STM32 单片机和 FPGA 的控制指令由上位机软件通过操控得到,控制数据采集。2.32.3 单片机的选型单片机的选型论文的虚拟示波器由于使用 FPGA 设计的大容量 FIFO 并且 FPGA 的工作频率可以做的很高,因此对单片机的性能要求不高,所需的 IO 端口数量也不多,一般的普通单片机就能完成所需的工作。示波器通过哪种接口向上位机传输数据最方便是个值得考
17、虑的问题。由于现在绝大部分上位机都带有 USB 接口,USB 接口的发展已经很成熟,传输速率较高,抗干扰能力强等优点,我选择一款带有 USB 接口的单片机,即 STM32 单片机,具有性能高、成本低、功耗低等优点。STM32 系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex.M3 内核。Cortex.M3 是一个 32 位的核,在传统的单片机领域中,有一些不同于通用 32 位 CPU 应用的要求。谭军举例说,在工控领域,用户要求具有更快的中断速度,Cortex.M3 采用了 Tail.Chaining 中断技术,完全基于硬件进行中断处理,最多可减少 12 个时钟
18、周期数,在实际应用中可减少 70%中断。单片机的另外一个特点是调试工具非常便宜,不象 ARM 的仿真器动辄几千上万。针对这个特点,Cortex.M3 采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex.M3 中还集成了大部分存储器控制器,这样工程师可以直接在 MCU 外连接 Flash,降低了设计难度和应用障碍。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到 72MHz,是同类产品中性能最高的产品;基本型时钟频率为 36MHz,以 16 位产品的价格
19、得到比 16 位产品大幅提升的性能,是 16 位产品用户的最佳选择。两个系列都内置32K 到 128K 的闪存,不同的是SRAM 的最大容量和外设接口的组合。时钟频率 72MHz 时,从闪存执行代码,STM32 功耗 36mA,是 32 位市场上功耗最低的产品,相当于 0.5mA/MHz。此单片机有一个 USB 2.0 全速接口。考虑到所需 IO 端口的数量不多,外设功能也较少的因素,我选用了一款引脚数量本科毕业设计本科毕业设计第7页 共 42 页较少,外设资源足够用的 STM32F103C8T6 单片机。STM32F103C8T6 是中等容量的 STM32产品,它基于 ARM 的 Corte
20、x.M3内核,具有 64K 片上闪存以及一系列丰富的外设接口。支持任意用于调试 ARM 芯片的调试器,例如 Segger 的 JLink,Keil(ARM)的 ULink 等。如图 2.2 所示。图 2.2 STM32F103C8T6最小系统板2.4 FPGA2.4 FPGA 的选型的选型FPGA(FieldProgrammable Gate Array),即现场可编程门阵列,它是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。以硬件描述语言(V
21、erilog 或 VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如 AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的 FPGA 里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。考虑到 AD 转换器需要的最高频率和 FIFO 容量的大小,我选用了 ALTERA 公司的性能不算高、价格合适的一款 FPGA 芯片,即 Cyclone 系列中的 EP1C3144C8N。EP1C3144C8
22、N内核电压 1.5,IO 电压 3.3,最高频率402MHz,TQFP144 封装可编程阵列场。Cyclone系列 FPGA 芯片 0.13层铜 SRAM 全过程,以及密度高达 20060 逻辑单元(字)并且高达288Bit 的 RAM 以及时钟功能(像锁相环锁相环)和专用双数据率(DDR)DDR SDRAM 接口和内存(内存要求快速循环 FCRAM),旋风设备是成本有效的解决方案的应用程序数据本科毕业设计本科毕业设计第8页 共 42 页的路径旋风设备支持不同的 I/O 标准,包括 LVDS 数据速率 640 每秒(Mbps),66 和33MHz,32 位和 64.外围组件互连(PCI),外围
23、接口与支持 ASSP 和 ASIC 器件 Altera公司的低成本也提供新配置设备配置串行到 Cyclone 芯片。如图 2.3 所示。图 2.3 ALTERA 公司的 EP1C3T144C8N 芯片2.52.5 信号采集处理部分的方案确定信号采集处理部分的方案确定AD 转换部分需要 8 位的最高达到 80MHz 的转换速率。AD 转换芯片输出的数字信号高电平不能高于+3.6V,且输出的低电平和高电平符合 FPGA 和单片机的正常工作标准。选用 AD 公司 ADS831 型 A/D 转换器,它是一款单通道、3.3V 供电、80Mbit/s 采样频率的模数转换器芯片。此款 AD 转换器的数字信号
24、输出电平有 5V 和 3V 两种选择,满足设计的要求。对于阻抗变换,选择 ADI 公司的高性能 FET 输入单电压反馈的双路放大器 AD8066芯片,构成跟随器来实现阻抗变换。AD8066 具有 5 V 至 24 V 的宽电源电压范围,可采用单电源供电,带宽为 145 MHz,适合各种应用。此外,这些放大器还具有轨到轨输出,使其功能更加多样化。成本很低,并且这些器件能提供出色的整体性能。此放大器的差分增益和相位误差分别为 0.02%和 0.02,0.1 dB平坦度为 7 MHz。此外,此器件具有180 V/s 高压摆率、出色的失真性能、极高的共模抑制(100 dB)和低输入失调电压。进一步信号
25、调理部分选择了 ADI 公司的 AD603 芯片。AD603 是一款低噪声、电压控制型放大器,主要用于射频(RF)和中频(IF)自动增益控制(AGC)系统。它提供精确的引脚可选增益,90 MHz 带宽时增益范围为.11 dB 至+31 dB,9 MHz 带宽时增益范围为+9 dB至+51 dB。用一个外部电阻便可获得任何中间增益范围。折合到输入的噪声谱密度仅为1.3 nV/Hz,采用推荐的5 V电源时功耗为 125mW。因此,非常适合本系统的设计指标并且容易控制放大倍数。2.62.6 输出显示部分输出显示部分运用上位机进行波形显示。由于完成一个功能类似的大型应用软件,熟练的 LabVIEW本科
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA STM32 数据 采集 系统 设计
限制150内