基于NIOSII的电流表电压表设计.doc_第1页
基于NIOSII的电流表电压表设计.doc_第2页
基于NIOSII的电流表电压表设计.doc_第3页
基于NIOSII的电流表电压表设计.doc_第4页
基于NIOSII的电流表电压表设计.doc_第5页
免费预览已结束,剩余27页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SOPC技术论文论文题目:基于NIOSII的电流电压表设计 目录摘要IAbstractII引言11 系统设计原理22 Quartus II、Nios II等设计工具的使用及功能简介22.1 Quartus II 简介222 Nios II软核处理器简介32.3 SOPC Builder 开发工具63 硬件系统设计93.1 硬件系统的配置93.1.1 概述93.1.2 Nios_II处理器,SPI串口的配置过程103.2 AD7822193.2.1 AD7822的介绍193.2.2 AD7822接口的设计203.3 调理电路的设计203.3.1 电压信号衰减电路203.3.2 电流转换电压电路213.4 数据显示223.4.1 LED数码管介绍223.4.2 显示电路224软件系统设计234.1 概述234.2 A/D采样模块234.2.1数据采集控制逻辑234.2.2 AD7822接口代码244.2.3 数据处理单元244.2.4 仿真结果244.3 数码管驱动模块254.4 系统软件流程图25结论27参考文献28摘要传统的数字电压、电流表设计通常以大规模ASIC为核心器件,并辅以少量中规模集成电路及显示器件构成。ASIC完成从模拟量的输入到数字量的输出,是数字电压、电流表的心脏。这种电压、电流表的设计简单、精确度高,但是这种设计方法由于采用了ASIC器件使得它欠缺灵活性,其系统功能固定,难以更新扩展。而用微处理器控制通用AD转换器件的数字电压、电流表设计的灵活性将有明显的提高,系统功能的扩展也会变得简单。本设计采用Nios II处理器等FPGA芯片设计实现数字电压、电流表。整个设计采用C语言程序和Verilog语言,由AD7822AD转换芯片、SPI串行接口、Nios II处理器和数码管组成。在Quartus II软件下配置Nios II处理器、SPI串行接口并进行软件编程实现正确的工作时序后,将编译结果下载到FPGA芯片上完成整个设计。关键字:Nios II,数字电压、电流表,FPGA,Verilog,Quartus IIAbstractThe traditional digital voltage/ammeter in large-scale ASIC design usually for the core device, supplemented by small scale integrated circuit and display of components. Finish the ASIC from analog to digital input, output voltage, the ammeter is digital heart. This voltage, the design is simple, high precision, but this kind of design method with the ASIC device makes it, its lack of flexibility to update, system function. But with microprocessor control general A/D conversion device of digital voltage/ammeter design flexibility will significantly improve, system function expansion will also become simple.This design uses the Nios II processor chip design as the FPGA digital voltage, ammeter. The whole design using C language program and Verilog language, by AD7822A/D, SPI serial interface, Nios II processor and digital pipe. In Quartus II software configuration Nios II processor, under the serial interface and software SPI programming work timing right after the download to compile the FPGA design of complete the chip.Key words: Nios II, digital voltage/ammeter, FPGA, Verilog, Quartus III引言数字电压表在1952年由美国NLS公司首次创造,它刚开始是4位,50多年来,数字电压表有了不断的进步和提高。数字电压表是从电位差计的自动化过程中研制成功的。开始是4位数码显示,然后是5位、6位显示,而现在发展到7位、8位数码显示;从最初的一两种类型发展到原理不同的几十种类型;从最早的采用继电器、电子管发展到全晶体管、集成电路、微处理器化;从一台仪器只能测1-2种参数到能测几十种参数的多用型;显示器件也从辉光数码管发展到等离子体管、发光二极管、液晶显示器等。数字电压表的体积和功耗越来越小,重量不断变轻,价格也逐步下降,可靠性越来越高,量程范围也逐步扩大。本题目所设计的电压、电流表是利用模拟/数字交换器(A/D)原理,以十进制数字形式显示被测电压值、电流值的仪表。其以Nios II处理器为核心,用A/D转换芯片采样电压、电流值,加以相应的软件程序控制整个系统的运行,与传统的ASIC电压表相比,灵活性和可扩展性得到了明显的提高,功能和实用性也得到了很大的改善。本设计预期实现测量电压变化范围:025V,电流变化范围:01500mA。其灵活,方便的设计将给实验、教学等带来更大的便利。29基于Nios_II的电流/电压表设计1 系统设计原理本设计利用AD7822作为电压、电流采样端口,带有nios II处理器的FPGA作为系统的核心器件,用LED数码管进行数码的显示。其系统原理图如图1所示。Avalon总线LED数码管被采样电压电流值 调理电路SPI串口AD7822 NiosII 处理器图1 系统原理图调理电路由电压、电流衰减电路和电流-电压转换电路组成。Nios II处理器采用的是Altera公司的cyclone芯片控制整个设计的运行,包括AD7822A/D转换的启动、地址锁存、输入通道选择、数据读取等。同时,把读取的8位二进制数据转换成便于输出的3位十进制BCD码送给数码管,以显示当前测量电压、电流值。2 Quartus II、Nios II等设计工具的使用及功能简介2.1 Quartus II 简介Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。22 Nios II软核处理器简介2.2.1 简介Altera 正式推出了Nios II系列32位RSIC嵌入式处理器。Nios II系列软核处理器是Altera的第二代FPGA嵌入式处理器,其性能超过200DMIPS,在Altera FPGA中实现仅需35美分。Altera的Stratix 、Stratix GX、 Stratix II和 Cyclone系列FPGA全面支持Nios II处理器,以后推出的FPGA器件也将支持Nios II。自Altera于2000年推出第一代16位Nios处理器以来,已经交付了13000多套Nios开发套件,Nios成为最流行的软核处理器。刚推出的Nios II系列采用全新的架构,比第一代Nios具有更高水平的效率和性能。和第一代相比,Nios II核平均占用不到50%的FPGA资源,而计算性能增长了1倍。Nios II系列包括3种产品,分别是:Nios II/f(快速)最高的系统性能,中等FPGA使用量;Nios II/s(标准)高性能,低FPGA使用量;Nios II/e(经济)低性能,最低的FPGA使用量。这3种产品具有32位处理器的基本结构单元32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源;使用同样的指令集架构(ISA),100%二进制代码兼容,设计者可以根据系统需求的变化更改CPU,选择满足性能和成本的最佳方案,而不会影响已有的软件投入。特别是,Nios II系列支持使用专用指令。专用指令是用户增加的硬件模块,它增加了算术逻辑单元(ALU)。用户能为系统中使用的每个Nios II处理器创建多达256个专用指令,这使得设计者能够细致地调整系统硬件以满足性能目标。专用指令逻辑和本身Nios II指令相同,能够从多达两个源寄存器取值,可选择将结果写回目标寄存器。同时,Nios II系列支持60多个外设选项,开发者能够选择合适的外设,获得最合适的处理器、外设和接口组合,而不必支付根本不使用的硅片功能。Nios II系列能够满足任何应用32位嵌入式微处理器的需要,客户可以将第一代Nios处理器设计移植到某种Nios II处理器上,Altera将长期支持现有FPGA系列上的第一代Nios处理器。另外,Altera提供了一键式移植选项,可以升级至Nios II系列。Nios II处理器也能够在HardCopy器件中实现,Altera还为基于Nios II处理器的系统提供ASIC的移植方式。Nios II处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。设计者能够用Altera Quartus II开发软件中的SOPC Builder系统开发工具很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios II处理器核的数量。使用Nios II软件开发工具能够为Nios II系统构建软件,即一键式自动生成适用于系统硬件的专用C/C+运行环境。Nios II集成开发环境(IDE)提供了许多软件模板,简化了项目设置。此外,Nios II开发套件包括两个第三方实时操作系统(RTOS)MicroC/OS-II(Micrium),Nucleus Plus(ATI/Mentor)以及供网络应用使用的TCP/IP协议栈。在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于Nios II处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器。2.2.2 Nios II 软核处理器特性嵌入式处理器Nios II系列为Altera FPGA和可编程片上系统(SOPC)的集成应用专门做了优化。种类特性种类特性CPU结构32位指令集片内调试基于边界扫描测试(JTAG)的调试逻辑,支持硬件断点、数据触发以及片内外调试跟踪32位数据宽度32个通用寄存器定制指令最多可达256个用户定义的CPU指令32个外部中断源软件开发工具Nios II的集成开发环境(IDE)2GB寻址空间基于GNU 的编译器硬件辅助的调试模块表2-2-2 Nios II 软核处理器特性Nios II处理器核 Nios II处理器系列由三个不同的内核组成,可以灵活地控制成本和性能,从而拥有广泛的应用空间。 JTAG调试模块: JTAG调试模块提供了通过远端PC主机实现Nios II处理器的在芯片控制、调试和通讯功能,这是Nios II处理器的一个极具竞争力的特性。 用户指令: 开发人员可以在Nios II CPU 核内增加硬件,用以执行复杂运算任务,为时序要求紧张的软件提供加速算法。 外围设备及接口: Nios II开发套件包括一套标准外围设备库,在Altera的FPGA中可以免费使用。 Avalon交换式总线 Avalon交换式总线在处理器、外围设备和接口电路之间实现网络连接,并提供高带宽数据路径、多路和实时处理能力。Avalon交换式总线可以通过调用SOPC Builder设计软件自动生成。2.2.3 NiosII 设计流程NiosII 是用NiosII IDE 集成开发环境来完成整个软件工程的编辑、编译、调试和下载。图2-2-3表示了典型NIosII 系统的硬件组成图2-2-3 NIosII系统硬件组成开发工作流程:1 初期工作:需要软硬件结合处理,对系统进行需求分析。比如:CPU 是否需要一个硬件加速乘法器,设计中所需要的外围器件及数量,是否需要DMA 通道释放CPU 在进行数据拷贝时所占用的资源。2 硬件开发:用SOPC Builder 定义NiosII 处理器系统,用Quartus 软件定义器件、分配管脚并编译。3 软件开发:C/C+程序开发,开发定制硬件的驱动程序,定制硬件平台为目标进行编译连接。4 下载到开发板上进行验证5 成功完成NiosII 系统设计a 硬件开发流程用 SOPC Builder 来选择合适的CPU、存储器及外围器件,比如片内存储器、PIO、UART 和片外存储器接口。是用 QuartusII 软件选取具体的器件,并对SOPC Builder 生成HDL 设计文件进行布局布线;再根据开发板分配I/O 管脚。编译完后生适合目标器件的网表。可以使用下载电缆将配置文件下载到开发板上。当校验硬件或时钟完毕时软件开发工作就可以开始了b 软件开发流程系统软件设计具体工作如下:1 在用SOPC Builder 系统集成软件进行硬件设计同时,局开始编写C/C+软件,比如算法或控制程序。用户可以使用现成的的软件库和开放的操作系统内核加快开发进程2 在NiosII IDE 中建立新的软件工程时,IDE 会根据SOPC Builder 对系统的硬件配置自动定制HAL(硬件抽象层)系统库。这个系统库可以为程序和底层硬件的通信提供接口驱动程序3 使用NiosII IDE 编译调试软件4 硬件以下到板上的基础上将软件下载到开发板上并在硬件上运行。2.3 SOPC Builder 开发工具SOPC 即system on a programmable chip 是指用可编程逻辑技术把整个系统放到一块硅片上。一方面它是片上系统即由单个芯片完成整个系统的主要逻辑功能;另一方面,它是可编程系统,具有灵活的设计方式,可裁减、扩充、升级,并具备软硬件在系统可编程的功能。这项技术将EDA、计算机设计、嵌入式系通、工业自动控制系统、DSP及数字通信系统等技术融为一体。2.3.1 SOPC Builder 简介SOPC Builder 是Altera 公司推出的一种可加快在PLD 内实现嵌入式处理器相关设计的工具,其功能与PC 应用程序中的引导模板(wizard)类似,旨在提高设计者的效率。设计者可确定需要的处理器和参数,并据此创建一个处理器的完整存储器映射设计者还可以选择所需的IP 外围电路,如存储控制器、I/O 控制器和定时器等模块。SOPC Builder 库中已有的组件包括:处理器:包括片内处理器和片外处理器接口。IP 及外设:包括通用的微控制器外设、通信外设,多种接口(存储器接口、桥接口、ASSP、ASIC),DSP IP 和硬件加速外设。2.3.2 SOPC Builder 用户界面打开QuaratusII 的一个项目,选择QuaratusII 工具栏(Tool 菜单)中的SOPC Builder选项,就启动了SOPC Builder。SOPC Builder 的用户界面包括系统元件(System contents)页,系统设置(More cpu Setting)页和系统生成页。 a 系统元件页用户在系统元件页中定义所需的系统。在他的模块池中包括了用户可获得的所有元件列表。在模块表中列出的是用户已添加到系统中的模块。当用户用SOPC Builder 生成系统时,他就生成了一个系统模块,这个模块包含了用户所定义的所有元件和接口以及自动生成的总线(互联)逻辑。模块表中列出的是用户添加到用户所设计的系统中的模块,包括桥、总线接口、CPU、存储器接口、外围设备等。此外,用户可以用模块表来描述以下一些项目:连接的主从特性系统的地址映射系统中断请求分配控制共享从元件的优先权系统元件页还包括以下一些附加选项:(1)器件系列(Device family):由用户从其件列表中选择用户的目标器件。这项设置非常重要,因为SOPC Builder 是利用所选器件的结构优势来产生系统逻辑的。(2)系统的时钟频率:外围设备利用系统时钟来产生时钟分频或波特率等。SOPC Builder的build-in testbench 发生器还利用这项设置来产生用户所要求的频率。b 系统的设置项当用户向所设计的系统中添加元件时,比如一个 NIOS 嵌入式处理器,在SOPCBuilder 中就会出现一个系统设置(more cpu setting)的附加页。这个附加页可以让用户用来设置一些附加的参数或者与系统中其它元件的相连关系。比如,用户可以定义cpu和存储器元件之间的相连关系指名哪一个用来做程序存储器,那一个用来做数据存储器的。对于用到的系统设置页的元件,SOPC Builder 会对用户添加到系统中的这个元件的每种情况都生成一个系统设置页。另外,处理器元件可能会有相关的的软件组成,并且会在这一页中显示出来Altera在开发工具包中提供了多种软件组成,比如tcp/ip 库。c 系统生成页系统生成也是用来生成系统的。它包含一些选项,用户可以通过设置来控制生成的过程,比如,可以指定生成仿真工程。如图2-3-2所示点击 generate 按钮来生成所设计的系统。SOPC Builder 会生成一些项目:SDK(Software Development kid)软件开发工具包,只在nios 系统中产生,niosII不会生成此文件系统中每一个元件的 HDL 文件定成系统模块的 HDL 文件仿真工程文件日志(.log)文件图2-3-2 系统生成页3 硬件系统设计3.1 硬件系统的配置3.1.1 概述SPI(串行外设接口)接口总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。(1)SDO 主设备数据输出,从设备数据输入(2)SDI 主设备数据输入,从设备数据输出(3)SCLK 时钟信号,由主设备产生(4)CS 从设备使能信号,由主设备控制其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。Nios系统的所有外设都是通过Avalon总线与Nios CPU相接的,Avalon总线是一种协议较为简单的片内总线,Nios通过Avalon总线与外界进行数据交换。Avalon总线的特点有: 所有外设的接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。这样就简化了Avalon总 线的时序行为,而且便于集成高速外设。Avalon总线以及整个系统的性能可以采用标准的同步时序分析技术来评估。 所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。在Avalon总线中,由数据选择器(而不是三态缓冲器)决定哪个信号驱动哪个外设。因此外设即使在未被选中时也不需要将输出置为高阻态。 为了方便外设的设计,地址、数据和控制信号使用分离的、专用的端口。外设不需要识别地址总线周期和数据总线周期,也不需要在未被选中时使输出无效。分离的地址、数据和控制通道还简化了与片上用户自定义逻辑的连接 。选用本款Altera 器件来进行设计的原因CycloneII是Altera公司推出的第二代产品,速度较快,逻辑资源丰富,是性价比很高的FPGA器件之一。DE1开发板所采用的EP2C20器件,片上资源丰富,包括两个CPU软核,以及大量的IP核,如flash控制器、SDRAM及其控制器,PLL等这正符合了我们系统的需求。ALTERA DE1开发板,资源非常丰富,包括VGA、音频、UART和丰富的GPIO,符合本系统的需求。开发软件采用QuartusII7.2和NiosII IDE7.2简单易用,SOPC Builder是集成在QuartusII内部的SOPC系统级开发工具,利用它可方便的构建一个SOPC系统。所带的EDA工具具有丰富的调试资源,如综合器,仿真器和时序器。3.1.2 Nios_II处理器,SPI串口的配置过程在Quartus II集成开发环境中建立新的工程和顶层模块后启动SOPC Builder创建Nios II系统。如图3-1-2-1所示,为SOPC Builder的图形界面。图3-1-2-1 SOPC Builder的图形界面根据设计要求,将时钟设置为48MHz,并从元件列表中选择需要的器件来创建Nios II系统。CPU的配置方法如下:双击NiosII Processor Altera Corporation 弹出Altera NiosII 对话框,选择一个经济型的CPU 核,即NiosII/e,如图3-1-2-2所示。图3-1-2-2 Nios II核选择点击JTAG Debug Module 标签页,选择第一级调试支持Level1,如图3-1-2-3所示。图3-1-2-3 JTAG Debug Module点击Finish 完成NiosII CPU 的配置工作。项目中会增加一个niosII 处理器,名字为cpu_0,为了简便起见,没有将它改名。改名的方法是:右键-ReName,输入名字后回车。如图3-1-2-4所示。图3-1-2-4 NiosII CPU配置完成然后将SDRAM、SPI串口、jtag_uart和sysid等都配置完毕,把程序和数据区都指定为SDRAM,把标准输入输出设备指定为jtag_uart,这样可以通过jtag_uart来调试程序,将SPI设置为Master模式。配置的结果如图3-1-2-5所示。图3-1-2-5 配置结果图然后,选择System -Auto-Assign Base Addresses,让系统自动分配基地址,如图3-1-2-6。图3-1-2-6 自动分配基地址然后,选择Sysetm-Auto-Assign IRQs,让系统自动分配中断,如图3-1-2-7。图3-1-2-7 自动分配中断在SOPC Builder中配置完成后,点击,将会自动生成Nios II系统。系统生成成功如图3-1-2-8所示。图3-1-2-8 系统生成成功生成Nios II系统以后,要集成Nios II系统到Quartus II工程。在已经建立的BS.bdf窗口的任意处双击,弹出添加符号(Symbol)对话框,将刚刚生成的Nios II系统的符号以及所需要的输入输出引脚符号添加到窗口中,最后形成完整的顶层模块图。如图3-1-2-9所示。图3-1-2-9 顶层模块图顶层模块图生成后,要进行FPGA引脚的分配。参阅文件mnl_nios2_board_cyclone_1c20对各引脚分配结果如图3-1-2-10所示。图3-1-2-10 引脚分配所有FPGA引脚分配成功后,即开始编译硬件系统,选择ProcessingStart Compilation进行全程编译,也可以选择工具栏上的按钮启动编译。编译结束后,对话框显示消息“Full compilation was successful”,单击OK进入Compilation Report窗口,该窗口包括编译报告、综合报告、适配报告、时序分析报告等,如图3-1-2-11所示。图3-1-2-11 报告窗口接下来,要设计本次设计的软件。在Alter SOPC Builder 中,点击Run Nios II IDE,启动Nios II IDE,,在Nios II IDE 中,选择File - New- Project,开启New Project 对话框,选择 C/C+ Application,如图3-1-2-12所示。图3-1-2-12 创建新工程然后选择Next,进入下一步,在模板中选择Hello LED,如图3-1-2-13所示。图3-1-2-13 选择模板点击“SOPC Builder System”右边的“Browse”按钮打开目录对话框,从该工程目录下找到“BS.ptf”,因为NiosII IDE 必须从这个文件获取该系统的相关信息。打开该文件后,按Finish,即建立一个名为Hello_LED_0 的模板,如图3-1-2-14所示。图3-1-2-14 建立模板打开项目中的文件:hello_led.c,根据本设计的需要,换成自己编写的A/D采样程序代码。代码编写完成后,要进行编译,首先进行编译前的一些设置。 右键点击hello_led_0 工程名称, 在弹出的菜单中选择“Properties”,点击后打开工程属性(Properties for hello_led_0)对话框,在“Configuration Settings”点击“General”页面,选择“”在“Optimization Level”中选择“Optimize size (-Os)”,点击OK 退出对hello_led_0 工程属性的设置。然后, 再设置hello_led_0_syslibBS 工程。右键点击hello_led_0_syslibBS工程名称,在弹出的菜单中选择“Properties”,点击后打开工程属性( Properties for hello_led_0_syslib ) 对话框, 在“Configuration Settings”点击“General”页面,在“Optimization Level”中选择“Optimize size(-Os)”, 然后,点击该对话框的“System Library”打开System library 属性页面,在“Max file descriptors:”栏改为4,清除“Clean exit (flush buffers)”和“Link with profiling library”,选上“Reduced device drivers”和“Small C library”。点击OK 完成设置。以上设置主要目的是为了优化程序,并减少程序占用内存空间。接下来进行编译,右键点击“hello_led_0”,在弹出的菜单中选择“Build Project”。如图3-1-2-15所示。图3-1-2-15 编译编译完成后,进行调试。将ByteBlasterII 下载线接到FPGA试验平台的JTAG 口,接上5V 电源。选择菜单Run Debug As NiosII Hardware,如图3-1-2-16所示。图3-1-2-16 调试NiosII IDE 会打开调试界面(Debug Perspective),并在程序中设置断点,运行停止在断点处,点击继续执行(Resume)按钮,程序就会继续运行,此时可以看到试验板上数码管显示采样的数据。点击按钮,程序暂停运行,点击按钮退出运行,如图3-1-2-17所示。图3-1-2-17 调试界面最后我们还要回到 Quartus里面对整个系统进行编译,选择Processing 菜单下面的 Star Compilation。编译成功以后我们就可以选择Tools 菜单里面的Programmer,下载整个配置到FPGA 中去。然后在niosII 环境中点击runas 将C 程序下载到试验板中。3.2 AD78223.2.1 AD7822的介绍AD转换器AD7822是8位模数转换器,最大吞吐量为2MSPS,内置一个2.5V片内基准电压源,一个采样保持放大器,一个420ns的8位半快速型ADC和一个高速并行接口,可采用3V和5V单电源供电。AD7822的管脚图如图3-1-1-1所示。图3-1-1-1 AD7822管脚图其工作时序如图3-1-1-2所示。图3-1-1-2 AD7822工作时序3.2.2 AD7822接口的设计AD7822与FPGA板子的逻辑关系如图3-2-2所示。FPGAAD7822 PD DB0-DB7 EO CONVST CS RD图3-2-2 逻辑关系图3.3 调理电路的设计3.3.1 电压信号衰减电路因为A/D采样芯片AD7822的供电电压为3V/5V,而一般的市电交流电压为220V左右,所以为了使AD7822能够正常的工作,在其对电压采样前,要对电压信号进行衰减。电压信号衰减电路如图3-3-1所示。本设计中用阻抗进行1:100衰减,为防止衰减后信号电压过小又通过运算放大电路以及多路开关CD4052进行信号放大,其中的51 V稳压管起过压保护作用。图3-3-1 电压衰减电路3.3.2 电流转换电压电路 电流表的设计中因为采集到的电流是很低的电流,需要放大为电压信号方便采集,所以采取用运放的I/U电路。如图3-3-2所示为电流-电压转换电路。图3-3-2 电流转换电压电路在理想运放条件下,输入电阻Ri=0,因而iF=iS,故输出电压Rs比Ri大得愈多,转换精度愈高。3.4 数据显示3.4.1 LED数码管介绍本设计最终的数据显示采用八段LED数码管,如图3-4-1所示。图3-4-1 LED数码管按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。3.4.2 显示电路显示电路采用了简单的软件译码移位输出的方法,数码管选用共阴极型。在配置NIOS II时可将输出引脚接到LED数码管的引脚上,即可实现数据的显示。其内部电路结构图如图3-4-2所示。图3-4-2 显示电路4软件系统设计4.1 概述 本设计的软件系统主要由A/D采样模块和数码管驱动组成。4.2 A/D采样模块通过对系统需求进行分析,此模块的功能设计可分为数据采集控制逻辑、数据接口、数据处理逻辑三部分,其整体功能框架如图4-2所示。图4-2 A/D采样模块功能框架功能描述: 数据采集控制逻辑:产生A/D 转换需要的控制信号。 数据接口:提供一个外部A/D 采集的数据流向AVALON 总线的数据通道,主要是完成速度匹配,接口时序转换。 数据处理单元:此部分主要是提供一些附加功能,如:检测外部信号或内部其它单元的工作状态,进行简单信息处理。4.2.1数据采集控制逻辑A/D转换由AD7822完成,需要Nios II处理器对其进行控制,由AD7822的时序(见图3.1.1.2)可以知道,转换过程由启动信号CONVST(低有效)启动,当片选信号CS和读信号RD均为低时,进行A/D转换,转换完成后,输出EOC(低有效)信号,此时可以读取数据DB0-DB7,之后可以进入下一个转换周期。该控制模块用C语言实现。4.2.2 AD7822接口代码在这一部分,主要存在的问题是:相对于AVALON 总线信号来说,A/D 采样的速率非常低,而且,AVALON 总线的接口信号和ADC0804 数据输出的接口信号时序不一致。因此,要实现满足要求的数据通道,要做到两点,数据缓冲,实现速率匹配。信号隔离,实现接口时序的转换。AD7822芯片与FPGA的逻辑关系如图3.2.2所示,各端口定义如下:input 7:0 data;input reset,clk,eoc;input convst;output cs,rd; reg cs,rd;p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论