毕业设计-基于单片机和fpga的低频数字相位设计_第1页
毕业设计-基于单片机和fpga的低频数字相位设计_第2页
毕业设计-基于单片机和fpga的低频数字相位设计_第3页
毕业设计-基于单片机和fpga的低频数字相位设计_第4页
毕业设计-基于单片机和fpga的低频数字相位设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1引言设计采用单片机和FPGA相结合的电路实现方案。考虑到FPGA具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,所以采用FPGA和单片机相结合,构成整个系统的测控主体。自1985年XILINX公司推出第一片现场可编程逻辑阵列FPGA至今,FPGA已经成为当今电子设计应用市场上首选的可编程逻辑器件之一。从航空航天到数字信号处理,再到汽车家电等消费领域,无处不见FPGA的身影。而且,随着微电子等工艺的进步,FPGA器件本身的性能逐年在提高,使得FPGA器件与其他同类器件相比更有竞争力。在这个各类电子设计器件百花齐放的时代,广大消费者需要对这些电子设计器件有个更深入地了解,从而为自己的科研学习或工业生产挑选到既能满足各项性能指标要求,又经济实惠的合适的电子设计器件。因此,进行FPGA器件的应用研究并进行各类电子设计产品的性能优势对比分析是一项很有价值和实际意义的工作。随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件FPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅成本低、周期短、可靠性高,而且可以随时在系统中修改其逻辑功能。FPGA器件的成本越来越低,ACTEL公司发布第三代的基于FLASH的可编程逻辑方案。这些新的FPGA芯片最低价将达到15美元,代表了全球最低成本的FPGA,并且相对于基于SRAM的FPGA来说具有保密的优势。基于FLASH的FPGA可以提供加密、低功耗、上电工作、可重复编程的方案。目前生产FPGA的公司主要有XILINX、ALTERA、ACTEL、LATTICE、QUICKLOGIC等,生产的FPGA品种和型号繁多。尽管这些FPGA的具体结构和性能指标各有特色,但它们都有一个共同之处,即由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。典型的FPGA通常包含三类基本资源可编程逻辑功能块、可编程输入/输出块和可编程互连资源。可编程逻辑功能块是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;可编程内部互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。不同厂家或不同型号的FPGA,在可编程逻辑块的内部结构、规模、内部互连的结构等方面经常存在较大的差异。除了上述构成FPGA基本结构的三种资源以外,随着工艺的进步和应用系统需求的发展,一般在FPGA中还可能包含以下可选资源存储器资源(块RAM、分布式RAM);数字时钟管理单元(分频/倍频、数字延迟、时钟锁定);算数运算单元(高速硬件乘法器、乘加器);多电平标准兼容的I/O接口;高速串行I/O接口;特殊功能模块(以太网MAC等硬IP核);微处理器(POWERPC405等硬处理器IP核)。下面介绍两种FPGA的一般结构。第一种包括5个可配置部分(1)可配置逻辑块,用于实现大部分逻辑功能;(2)在可配置逻辑块的四周分布着可编程的输入输出块(INPUT/OUTPUTBLOCKS),提供封装引脚与内部逻辑之间的连接接口;(3)丰富的多层互连结构的可编程连线;(4)片上的随机存取块状RAM;(5)全数字式延迟锁相环(DLL)时钟控制块,与每个全局时钟输入缓冲器相连,该闭环系统确保时钟边沿到达内部触发器与其到达输入引脚同步,有效地消除时钟分配的延迟。另一种FPGA器件主要包括(1)逻辑阵列,由多个逻辑阵列块(LOGICARRAYBLOCKS)排列而成,用于实现大部分逻辑功能;(2)在芯片四周分布着可编程的输入输出单元(INPUT/OUTPUTELEMENTS),提供封装引脚与内部逻辑之间的连接接口;(3)丰富的多层互连结构的可编程连线;(4)片上的随机存取块状RAM;(5)锁相环(PLL),用于时钟的锁定与同步、能够实现时钟的倍频和分频;(6)高速的硬件乘法器,有助于实现高性能的DSP功能。目前绝大部分FPGA都采用查找表技术,最基本逻辑单元都是由LUT和触发器组成的。查找表简称为LUT,本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16X1的RAM。当用户通过原理图或VHDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出该地址对应的内容,然后输出即可。由于LUT主要适合SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的。而SRAM工艺的芯片在掉电后信息就会丢失,因此需要外加一片专用的配置芯片。在上电的时候,由这个专用配置芯片把数据加载到FPGA中,FPGA就可以正常工作。少数FPGA产品采用反熔丝或FLASH工艺,掉电后配置信息不会丢失,因此这种FPGA芯片不需要外加的专用配置芯片。单片机集成度高、功耗低、速度快、价格便宜、实用灵活、开发周期短。自从20世纪80年代单片机首次推出以来,一经上市便显示出强大的生命力,以其独特的优点迅速占领市场并获得了广泛使用,并且很快在全世界得到广泛的推广与应用。一直到现在,单片机技术正日臻完善,国内外的单片机热更是经久不衰,对于电子信息产业的发展更具有“倍增器”的作用。因此新型单片机已成为21世纪极具发展潜力和影响力的一项电子科技产品。目前,单片机正朝着兼容性、单片系统化、多功能和低功耗的方向发展。单片机与单片系统、智能传感器、网络通信等高新技术的融合必将成为21世纪新的经济增长点。随着微电子技术和计算机技术的迅速发展,单片机升级换代的速度在不断加快,涉及新型单片机原理、接口技术、外围电路设计及应用技术的知识也在不断更新。该设计中系统实现的增益程控放大功能和增益程控衰减功能主要是通过单片机、单片机外围电路、接口技术以及一些单片机原理来完成的,单片机成了整个电路中的“中心枢纽”,在功能键的控制下,单片机来完成对各个模块的控制。在整个过程中,单片机完成信号的接受、处理、传出,在人为的操作下,控制着整个电路的工作状态。随着电子技术的高速发展,现在的电子系统逐渐实现了智能化、人性化、最优化,并且富有了系统性、社会性。除了能够满足系统功能和性能指标要求外,还具有很多优点如电路简单、电磁兼容性好、可靠性高、系统集成度高、调试简单方便、操作简便、性能价格比高。从系统的角度看,电子系统是能按特定的控制信号,执行所设想的功能,由一组元器件(通常电子器件)连成的一个整体。从单级放大器到最复杂的计算机等很多设备都可以称为一个电子系统。可以从很多元器件集成为一个功能单元,再用若干个功能单元去描述一个系统。一般来说,电子系统分为模拟型、数字型及两者兼而有之的混合型三种,无论哪一种电子系统,他们都是能够完成某种任务的电子设备。通常把规模较小、功能单一的电子系统称为单元电路,实际应用中的电子系统由若干单元电路组成。一般的电子系统由输入、输出、信息处理三大部分组成,用来实现对信息的采集处理、变换与传输功能。对于模拟电子系统,输入电路主要起到系统与信号源的阻抗匹配,信号的输入与输出连接方式的转换,信号的综合等作用,输出电路主要解决与负载或被控对象的匹配和输出足够大的功率去驱动负载的问题。而对于数字电子系统,输入与输出电路主要解决与现场信号和控制对象的接口问题,输入电路往往由一些转换器或锁存器组成,而输出电路也由一些对应的转换器和驱动器组成。在工业和民用场合,为了对各种低频信号进行测量分析,常常引入相位测量仪。同频信号间相位差的测量在电力系统、工业自动化、智能控制及通信、电子、地球物理勘探等许多领域都有着广泛的应用。尤其在工业领域中,相位不仅是衡量安全的重要依据,还可以为节约能源提供参考。因此,研究和设计低频数字相位测量仪将会为国民经济的发展起到推动和促进作用。2概述21FLEX10KK简介FLEX10K是工业界第一个嵌入式的可编程逻辑器件,采用可重构的CMOSSRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多可编程器件的优点来完成普通门阵列的宏功能。FLEX10K的集成度已达到25万门。它能让设计人员轻松地开发出集存储器、数字信号处理器及特殊逻辑(包括32位多总线系统)等强大功能于一身的芯片,已经推出了FLEX10K、FLEX10KA、FLEX10KV、FLEX10KE等分支系列。其中EPF10K20是FLEX10K系列器件之一。FLEX10K系列器件主要由嵌入式阵列块、逻辑阵列块、快速通道(FASTTRACK)互连和I/O单元四部分组成。由于FPGA器件的基于SRAM结构,数据具有挥发性,所以每次上电使用时必须重新下载数据。对FPGA数据下载可通过下载电缆、专用配置芯片或微处理器等方式完成。在本设计中,采用配置芯片EPC1441来完成。EPC1441配置芯片属于EPROM结构,而不具有可擦写性。22VHDL硬件描述语言221VHDL语言的发展状况1VHDL的英文全名是VERYHIGHSPEEDINTEGRATEDCIRCUITHARDWAREDESCRIPTIONLANGUAGE,诞生于1982年。1987年底,VHDL被IEEE(THEINSTITUTEOFELECTRICALANDELECTRONICSENGINEERS和美国国防部却认为标准硬件描述语言。自IEEE公布了VHDL的标准版本(IEEE1076之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接收,并逐步取代了原有的非标准硬件描述语言。1933年,IEEE对VHDL进行论文修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的10761993版本。现在,VHDL和VERILOG语言作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,以成为事实上的通用硬件描述语言。有专家认为,在新世纪中,VHDL语言将承担起几乎全部的数字系统设计任务。222VHDL的特点VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或设计实体(可以是一个元件、一个电路模块或一个系统)分成外部(或称可视部分,即端口)和内部(或称不可视部分),即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦内部开发完成后,其他的设计可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的,具体如下与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。VHDL最初是作为一种仿真标准格式出现的,因此VHDL既是一种硬件电路描述和设计语言,也是一种标准的网表格式,还是一种仿真语言,其丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能用于查验设计系统的功能可行性,随时可对设计进行仿真模拟。即在远离门级的高层次上进行模拟,是设计者对整个工程设计的结构和功能的可行性作出决策。VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能,符合市场所需求的,大规模系统高效、高速的完成必须由多人甚至多个开发组共同并行工作才能实现的特点。VHDL中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有利的支持。对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动低把VHDL描述设计转变成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。应用EDA工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更高效、更高速的电路系统。反过来,设计者还可以容易地从综合和优化后的电路获得设计信息,返回去更新修改VHDL设计描述,使之更为完善。VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。正因为VHDL的硬件描述与具体的工艺技术和硬件结构无关,VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各系列的CPLD、FPGA及各种门阵列实现目标。由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。13223关于自顶向下的系统设计方法使用VHDL设计系统方法是自顶向下的系统设计方法,在设计过程中,首先是从整体上对系统设计作详细的规划,然后完成电路系统功能行为方面的设计,其设计流程如图。VHDL仿真器VHDL文本编辑时序与功能仿真器FPGA/CPLD适配器FPGA/CPLD器件和电路系统FPGA/CPLD编程下载器VHDL文本编辑图21VHDL设计流程图3系统设计方案与论证从功能角度来看,数字相位测量仪(以后简称测量仪)需要完成正弦信号的频率测量,以及两个同频正弦信号相位差的测量。测量仪有2路输入被测信号,他们是2个同频率的正弦信号,被测信号的频率范围为20HZ20KHZ,幅度分别为UPP15V,且两者幅度不一定相等。不妨令被测信号周期为T,相位差为,相位差为对应的时间差是T,则有比例关系式T360T1由此式可以推导出(TT)360(2)式(2)说明,相位差与T有着一一对应的关系,可以通过测量时间差T及信号周期T,计算得到相位差。相位差的测量本质是时间差T及信号周期T的测量。时间的测量有多种方法,而设计任务关于测量仪的技术指标会影响设计方案的选择。31以MCU为核心的实现方案经分析计算得知,以单片机为核心的测量仪,当单片机的外接晶振为12MHZ时,计数器/定时器的计数误差为正负一个机器周期,即1US,由此而产生的相位差绝对误差为72,若外接晶振为24MHZ时,相位差绝对误差为36所以,以单片机为核心的设计方案当被测频率较高时很难满足设计要求。32以MCU与FPGA相结合的实现方案如图31所示,系统主要由现场可编程门阵列FPGA(FIELDPROGRAMMABLEGATEARRAY)和MCU组成。让FPGA实现数据采集,即将被测信号的频率F、相位差所对应的时间差T分别转换为二进制数据,并传送给MCU。MCU从FPGA获取数据,并经CPU计算、转换等有关处理后,得到被测信号的频率和相位差并送LED数码管显示。整形电路整形电路FPGAMCU显示器图31以MCU和FPGA相结合的实现方案框图因为设计任务要求,相位差测量绝对误差2,而用FPGA设计的计数器在测量T时有一个字的误差,对被测信号频率F20KHZ而言,下式成立2T36050US则有T0278US这就是说,FPGA在采集相位差对应的时间差T时,至少要能分辨出0278US的时间间隔,为了兼顾MCU计算和时标信号获得的方便,我们采用周期T01US,即频率F010MHZ的时钟脉冲作为时标信号。当选定F010MHZ后,就可以确定FPGA采用的二进制数据位数。对于被测信号频率F20HZ而言,计数器的计数值N1对应取最大值,因为F20HZ时,周期T50MS,在50MS内对T0计数,计数值为N150MS/01US500000然而218262144;219524288,所以有218500000219则FPGA的二进制数据位数确定为19BIT。MCU从FPGA要获得两种数据,这两种数据都是19BIT无符号二进制数,一种是被测信号周期T对应的二进制数据(单位是01US)另一种是两个被测信号的相位差对应的时间差T(单位也是01US)。这样,MCU与FPGA之间需要有握手信号,设置两个握手信号RSEL、EN实际上,RSEL和EN是MCU发给FPGA的控制信号,以便通过19根I/O线分时传送两个19BIT数据。由此采用了MCU与FPGA相结合的方案。4系统硬件电路设计41信号整形电路的设计8最简单的信号整形电路就是一个单门限电压比较器如图41所示,当输入信号每通过一次零时触发器的输出就要产生一次突然的变化。当输入正弦波时,每过一次零,比较器的输出端将产生一次电压跳变,它的正负向幅度均受到供电电源的限制,因此输出电压波形是具有正负极性的方波,这样就完成了电压波形的整形工作。图41采用单门限触发器的整形电路为了避免过零点多次触发的现象,我们使用施密特触发器组成的整形电路。施密特触发器在单门限电压比较器的基础上引入了正反馈网络。由于正反馈的作用,它的门限电压随着输出电压UO的变化而改变,因此提高了抗干扰能力。电路图如图42所示。761U2ALM39R7VCAINSBINSBIN123JCOGD0K541GD3C2UR6V10KINL39图42整形电路42FPGA数据采集电路的设计9FPGA数据采集电路的功能就是实现将待测正弦信号的周期、相位差转变为19位的数字量。FPGA数据采集的硬件电路我们可采用FPGA下载板来实现,该下载板包含FPGA芯片、下载电路和配置存储器,其电路结构可参见对应的FPGA下载板说明书。本电路主要是进行FPGA的硬件描述语言VHDL程序设计。根据系统的总体设计方案,FPGA数据采集电路的输入信号有CLK系统工作用时钟信号输入端;CLKAA,CLKBB两路被测信号输入端;EN单片机发出的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;RSEL单片机发出的传送数据类型信号,当RSEL0时,FPGA向单片机传送被测信号频率数据,当RSEL1时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号有DATA180FPGA到单片机的数据输出口,由输出控制信号EN和RSEL控制。本数字式相位测量仪的要求是测试并显示输入信号频率范围在20HZ20KHZ,测试并显示信号A、B的相位差,相位差的变化范围为03599,相位差的显示分辨力为01,要求测量相位的绝对误差2。由此可知本设计要求相位测量精度绝对误差2,因此,在所测信号一个周期中,只有计数数值超过180次时才能达到要求。对于被测信号频率为20KHZ时,其周期为50S,在50S内计数值为180次,由此可计算出时间基准信号的频率为20KHZ18036MHZ,所以采用大于36MHZ晶振作为时钟基准信号源,就完全可以满足精度要求。图43FPGA数据采集电路结构根据系统的总体设计方案,FPGA数据采集电路的输入信号有CLK系统工作用时钟信号输入端;CLKAA,CLKBB两路被测信号输入端;EN单片机发出的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;RSEL单片机发出的传送数据类型信号,当RSEL0时,FPGA向单片机传送被测信号频率数据,当RSEL1时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号有DATA180FPGA到单片机的数据输出口,由输出控制信号EN和RSEL控制。图44FPGA数据采集模块数据采集电路图如下图45所示图45数据采集电路43单片机数据运算控制电路的设计10单片机数据运算控制电路的功能就是负责读取FPGA采集到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。单片机数据运算控制电路的硬件可由单片机、晶振电路、按键及显示接口电路等组成。在设计中考虑到,单片机具有较强的运算能力和控制能力的特点,因此使用单片机的P0口,P2口及P10、P11、P12、P13接收FPGA送来的对应于正弦信号的周期、相位差的19位数据信号,并在单片机内部完成对这19BIT二进制数据的处理及相关运算。P1口的P17、P16接入两个轻触按键,完成功能选择与设置。P13、P15分别接EN、RSEL。该电路的工作原理是,单片机通过向FPGA发送数据传送指令,使FPGA按照单片机的要求发送数据,同时通过使用单片机的串口,将待显示的数据信息送给数据显示电路显示。其原理图如图46所示。图46单片机数据运算控制电路44数据显示电路设计5数字显示电路通常由译码器、驱动器和显示器等部分组成。数码显示器是用来显示数字、文字或符号的器件,数码管的显示方式一般有三种第一种是字形重叠式,它是将不同的电极重叠起来,要显示某字符,只需使相应的电极发亮即可,如辉光放电管、边光显示管等。第二种是分段式,数码管是由一些按一定规律排列的颗发光的点阵所组成,利用光点的不同组便可以显示不同的数码。目前应用最为广泛的是七段数字显示器,按发光物质的不同数字显示器可分为以下几类(1)半导体显示器;(2)荧光数字显示器;(3)液体数字显示器;(4)气体放电显示器。LED显示器的可靠性也非常好,单就可靠性,LED的半衰期即光输出量减少到最初值一半的时间大概是1万到10万小时。相反,小型指示型白炽灯的半衰期此处的半衰期指的是有一半数量的灯失效的时间典型值是10万到数千小时不等,具体时间取决于灯的额定工作电流。单片机驱动LED显示有很多方法,按显示方式可以分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无须理睬数码显示管。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独具有琐存功能的I/O口,该接口用于笔画段字型代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔画字段(AG和DP)同名端连在一起,而每一个显示器的公共极COM各自独立接受I/O线控制。CPU向字段输出端口输出字型码时,所有显示器接受相同的字型码,但究竟使那一位则由I/O线决定。动态扫描用分时的方法轮流控制每个显示器的COM端,使每个显示器轮流电亮。在轮流点亮过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。整个系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入8位并出的74LS164芯片组成。这种显示方式不仅可以得到较为简单的硬件电路,而且可以得到稳定的数据输出;这种连接方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程中,也体现出较高的可靠性。数据显示电路如图47所示。图47显示电路当COM端接VCC时其二极管正常工作,其输入端输入低电平二极管被点亮,其输入端输入高电平二极管不被点亮。七段数码管可分为共阴极和共阳极的数码管,对于共阴极的数码管只有当其输入端输入高电平时二极管才会发光;而共阳极的数码管只有当输入端输入低电平时二极管才会发光。共阴极内部每个发光二极管的阴极被接在一起,成为该各段的公共选通线;发光二极管的阳极则成为段选线。如果要显示某个数字只需相应选中对应的段选线。对于共阳极数码管,则正好相反,内部发光二极管的阳极接在一起,阴极成为段选线。这两种数码管的驱动方式是不同的。当需要点亮共阳极数码管的一段时,公共段需接高电平、该段的段选线接低电平,从而该段被点亮。当需要点亮共阴极数码管的一段时,公共段需接低电平,该段的段选线接高电平,该段被点亮。74LS164是一种8位高速串入/并出的移位寄存器,随着时钟信号的高低变化,串行数据通过一个2输入与门同步的送入,使用独立于时钟的主控复位端让寄存器的输出端变为低电平,并且采用肖特基钳位电路以达到高速运行的目的。并且还具有以下的特点典型的35MHZ移位频率;异步主控复位;门控串行输入;同步数据传输;采ABCDEFGPOM12345678FU1DPYR1KQ01234567ABCLKMR1DPGFECBA12RXDT7SABCDEFGPOM12345678FU12DPYR2KQ01234567ABCLKMR1DPGFECBA127SABCDEFGPOM12345678FU13DPYR3KQ01234567ABCLKMR1DPGFECBA127SABCDEFGPOM12345678FU17DPYR7KQ01234567ABCLKMR1DPGFECBA127SABCDEFGPOM12345678FU18DYPR8KQ01234567ABCLKMR1DPGFECBA127SUUU3UU85VC8989898995VC用钳位二极管限制高速的终端;静电放电值大于3500V。在本系统中,74LS164的连接方式为74LS164的输出Q0Q7分别接LED数码管的DP、G、F、E、D、C、B、A,并且Q7连接下一个74LS164的A、B端,时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。在这种状态下,数码管的编码如表41所示。表41数码管的编码显示数码断码显示数码断码088H808H10EBH909H24CHA0AH349HB38H42BHC9CH519HD68H618HE1CH70CBHF1EH一般来说在一个字节中按照A、B、C、D、E、F、G的顺序放置字型码,比如在一个共阴极数码管上要显示“7”,则A、B、C段需被点亮。如果对于共阴极的则A、B、C对应于高电平;如果对于共阳极的则A、B、C对应于低电平。45直流稳压电源设计8根据本设计设计要求,所用的电源为220V、50HZ的交流电,整个系统必须在接通市电以后就可以使用,这样使用更加方便简单。此设计中需要稳定的直流电源供电,芯片所需要的供电电压5V。单相交流电经过电源变压器、整流电路、滤波电路和稳定电路转换成稳定的直流电压。整流电路将交流电压变为脉动的直流电压,滤波电路可减小脉动使直流电压平滑,稳压电路的作用是在电网电压波动或负载电流变化时保持输出电压基本不变。451直流稳压源结构电源变压器、整流、滤波电路和稳压电路。1)电源变压器电源变压器的作用是将来自电网的220V交流电压U1变换为整流电路所需要的交流电压U2。电源变压器的效率为1912P其中是变压器副边的功率,是变压器原边的功率。一般小型变压器的效率如2P1表42所示表42变压器的效率副边功率P2DATADATANULLENDCASEENDIFENDPROCESSENDBLOCKSCXZENDARCHITECTUREART6系统仿真、测试61仿真生成模块图61FPGA程序仿真生成模块62仿真结果图62FPGA数据采集时序仿真图如图62,FPGA数据采集时序仿真图所示,FPGA数据采集电路的输入信号有1)CLK系统工作用时钟信号输入端;2)CLKAA,CLKBB两路被测信号输入端;3)EN单片机发出的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;4)RSEL单片机发出的传送数据类型信号,当RSEL0时,FPGA向单片机传送被测信号频率数据,当RSEL1时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号是DATA180FPGA到单片机的数据输出口,由输出控制信号EN和RSEL控制。7总结1在系统的总体设计方面,考虑到FPGA具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,本系统利用FPGA和单片机相结合,构成整个系统的测控主体,其中FPGA主要负责数据采集,而单片机则负责读取FPGA采集到的数据进行有关计算处理,以及键盘和显示的控制。2由于FPGA对脉冲信号比较敏感,而被测信号是周期相同,相位不同的两路正弦波信号,为了准确的测出两路正弦波信号的相位差及其频率,我们对输入波形在送入FPGA进行处理前先设置了一个具有正反馈功能的、由施密特触发器组成的整形电路进行整形,使正弦波变成方波信号,提高了系统的抗干扰能力。3FPGA数据采集电路测量正弦波信号频率的原理是在正弦波信号整形后得到方波信号的一个周期内对周期为TC秒的数据采样信号进行计数,其计数结果乘以1/TC,就是被测正弦波信号的频率,单位为HZ。4在本系统的设计中,FPGA在10MHZ数据采集信号作用下对待测信号周期计数,并对两个同频正弦信号的相位差所对应的时间差进行计数,分别得到19位数字量,19位数字量的物理单位是01S。5单片机数据运算控制电路的软件设计思路是,单片机不断地从FPGA读取信号的周期和A、B信号相位差所对应的时间差,读取数据后进行有关计算,并通过转换后,送出给显示模块实现频率和相位差的显示。6整个系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此我们数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入8位并出的74LS164芯片组成。这种显示方式不仅可以得到较为简单的硬件电路,而且可以得到稳定的数据输出,这种连接方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程中,也体现出较高的可靠性。参考文献1潘松VHDL使用教程M成都电子科技大学出版社20002徐志军、许光辉大规模可编程逻辑器件及其应用M成都电子科学出版社20013蒋焕文、孙续电子学测量M中国计量出版社19884潘永雄新编单片机原理与应用M西安电子科技出版社20025何立民单片机应用技术选编(6)北京北京航空航天大学出版社,1998。6唐竞新数字电子电路清华大学出版社,2003097赵新民,智能仪器原理及设计哈尔滨哈尔滨工业大学出版社,19898康华光,电子技术基础模拟部分(第四版)北京高等教育出版社,20039吴超英基于CPLD/FPGA技术的数字系统设计J安徽工业大学学报,2003,015610刘夫江基于单片机和CPLD的等精度数字频率计设计J山东大学,20074911张永艳基于复杂可编程逻辑器件及用VHDL语言编程的数字频率计的设计J内蒙古大学,2004101512张永安基于CPLD的多功能等精度数字频率计的设计J内蒙古大学,2004212713马建国电子系统设计M北京,高等教育出版社,200514杨刚,周群电子系统设计与实践M北京,电子工业出版社,200615谢自美电子线路设计实验测试M武汉,华中理工出版社,200516周志敏主编电源实用技术系列书M北京,机械工业出版社,200617徐爱钧8051单片机实践教程M北京,电子工业出版社,200518王修才,刘祖望单片机接口技术M上海,复旦大学出版社,200019黄智伟全国大学生电子设计竞赛系统设计M北京,北京航空航天大学出版社,200620MTANAKAANDKNAKAYAMA,JPNJAPPLPHYS,PART122,233_1983_21SHIGERUHOSOEETAL,PRECISENG17,258_1995_22NMOLDHAMETAL,PRECISENG15,173_1993_23ATSELIKOVETAL,16,1613_1998_24SMORIETAL,OPTENG_BELLINGHAM_27,823_1983_25NBYIMETAL,MEASSCITECHNOL11,1131_1991_26CMWUETAL,MEASSCITECHNOL7,520_1996_致谢毕业设计即将结束,大学生活也即将结束。在这里,我首先要感谢指导我的林老师,是林老师的耐心指导,从查阅资料、设计方案、元器件的选择等很多方面都给了我详细的指导,才使我的设计能够有顺序、有计划的完成。林老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样,不仅授我以专业知识,而且教我做人,虽历时四载,却给以终生受益无穷之道。他循循善诱的教导和不拘一格的思路给予我无尽的启迪。林老师多次询问我的设计进程,并为我指点迷津,帮助我开拓设计思路、精心点拨、热忱鼓励。在此向林老师真诚的说声谢谢您老师另外,要感谢在大学期间所有传授我知识的老师,是你们的悉心教导使我有了良好的专业知识,这也是论文得以完成的基础。感谢所有给我帮助的老师和同学,谢谢你们附录一单片机程序如下;SZXWYASMDATAHEQU40H周期的时间DATALEQU41HDATA2LEQU42H时间差DATA2HEQU43HDATA3EQU44HDATA33EQU45HAD0EQU30H除法占用乘法占用AD1EQU31HAD2EQU32HAD3EQU33HAD4EQU34HAD5EQU35HAD6EQU36HADAEQU4FHADBEQU5FHADCEQU4DHADEEQU5DHDSELBITP13FENBITP15KEY1BITP17KEY2BITP16ALABITP35DISPBITBIT2FH0ORG00HLJMP100HORG100HMIANMOV2FH,01HMIAN1NOPLCALLDUSHUJU读FPGA数据LCALLZHUNBEIZHOUQI装入频率除法数据CLR2FH3JNB2FH3,DIVDD1LJMPCHCHUDIVDD1LCALLDIVD1计算频率MOV6FH,4FHMOV6EH,4EHMOV6DH,4DHMOV6CH,4CHMOV35H,4FHMOV34H,4EHMOV33H,4DHMOV32H,4DHLCALLBCDST二进制转换为BCD码MOVR0,30HMOVR1,3FHMOVR7,04HMOV30H,0MOV31H,0MOV32H,0MOV33H,0MOV34H,0MOV35H,0MOV36H,0LCALLBCD_2BCDMOV70H,18MOV71H,30HMOV72H,31HMOV73H,32HMOV74H,33HMOV75H,34HMOV76H,35HMIANWCLCALLX3600装入相位计算数据LCALLMULNMMOV4AH,5AH将以X3600为初始地址单元的积送入除法缓冲区MOV4BH,5BHMOV4CH,5CHMOV4DH,5DHMOV4EH,5EHMOV4FH,5FHMOV5FH,DATAL装入被测周期时间MOV5EH,DATAHMOV5DH,DATA3LCALLDIVD1得到相位差值MOV35H,4FHMOV34H,4EHMOV33H,4DHMOV32H,0LCALLBCDST二进制转换为BCD码MOVR0,30HMOVR1,3FHMOVR7,04HMOV30H,0MOV31H,0MOV32H,0MOV33H,0MOV34H,0MOV35H,0MOV36H,0LCALLBCD_2BCDMOV78H,16MOV79H,30HMOV7AH,31HMOV7BH,32HMOV7CH,33HMOV7DH,34HMOV7EH,35HCHCHULCALLDISPKEYCODJBP17,MIAN11LCALLDELAY1JNBP17,CPL2FH0LCALLDELAY2MIAN11LCALLDELAY1LCALLDELAY1LCALLDELAY1LJMPMIAN1PROCDUSHUJUDUSHUJUCLRRSELCLRENMOVA,P0MOVDATAL,AMOVA,P2MOVDATAH,AMOVA,P1ANLA,00000111BMOVDATA3,ASETBRSELSETBENNOPCLRENMOVA,P0MOVDATA2L,AMOVA,P2MOVDATA2H,AMOVA,P1ANLA,00000111BMOVDATA33,ASETBENRETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCZHUNBEIZHOUQIZHUNBEIZHOUQI;2NBYTE/NBYTENBYTE,HEREN3IN31H;4A,4B,4C,4D,4E,4FH/5D,5E,5FH4D,4E,4FHMOV5FH,DATALMOV5EH,DATAHMOV5DH,DATA3MOV4FH,80H低位MOV4EH,96HMOV4DH,98HMOV4CH,00HMOV4BH,0HMOV4AH,0HRETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCMULNMMULNMNOP;NBYTESXMBYTESNMBYTESHEREN3;M3MOV30H,03H;4D,4E,4FH5D,5E,5FH5A5FHMOV31H,03HMULTTMOVA,AD0MOVR3,AD1MOVR2,AADDA,R3INCAMOVAD2,AMOVA,ADBCLRCSUBBA,R3MOVAD6,AMOVR1,ASUBBA,R2MOVAD5,AINCR2MULNMZMOVR1,00HDECR1DJNZR2,MULNMZMULNMBMOVR2,AD0MOVR1,AD6MOVR0,ADACLR00HMULNMLMOVA,ADBJZMULNMDMOVB,R0MULABADDA,R1MOVR1,AJNB00H,MULNM1INCBMULNM1MOVA,BDECR1ADDCA,R1MOVR1,AMOV00H,CDECR0DJNZR2,MULNMLMULNMDMOVR0,AD5CLRAMOVR2,AD2MULNMSXCHA,R0INCR0DJNZR2,MULNMSDJNZR3,MULNMBRETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCX3600;NBYTESXMBYTESNMBYTESHEREN3;M3;4D,4E,4FH5D,5E,5FH5A5FHX3600MOV4DH,DATA33MOV4EH,DATA2HMOV4FH,DATA2LMOV5DH,00HMOV5EH,0EHMOV5FH,10HRETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCBCD_2BCDBCD_2BCDNOPLOOP0CLRAMOVA,R1MOVB,A;SWAPAANLA,0FHMOVR0,AINCR0MOVA,BSWAPAANLA,0FHMOVR0,ADECR1INCR0DJNZR7,LOOP0RETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCDISP显示程序模块DISPPUSHACCPUSHPSWPUSHDPHPUSHDPLMOVA,76HCJNEA,0,NOPBMOV76H,17MOVA,75HCJNEA,0,NOPBMOV75H,17MOVA,74HCJNEA,0,NOPBMOV74H,17MOVA,73HCJNEA,0,NOPBMOV73H,17MOVA,72HCJNEA,0,NOPBMOV72H,17MOVA,71HCJNEA,0,NOPBMOV71H,0MOVA,70HCJNEA,0,NOPBMOV70H,17NOPBMOVA,7EHCJNEA,0,NOPB1MOV7EH,17MOVA,7DHCJNEA,0,NOPB1MOV7DH,17MOVA,7CHCJNEA,0,NOPB1MOV7CH,17MOVA,7BHCJNEA,0,NOPB1MOV7BH,17NOPB1MOVR1,70H起始显示地址为JNB2FH0,DISXWJMPDISPPDISXWMOVR1,78HDISPPMOVR2,7DISP1MOVA,R1MOVDPTR,TABMOVCA,ADPTRJB2FH0,OKOKMOVB,AMOVA,R1CJNEA,7AH,NONOMOVA,BANLA,11110111BJMPOKOKNONOMOVA,BOKOKMOVSBUF,ADL1JNBTI,DL1CLRTIINCR1DJNZR2,DISP1POPDPLPOPDPHPOPPSWPOPACCRETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动TABDB88H,0EBH,04CH,049H,2BHDB19H,18H,0CBH,08H,09HDB0AH,38H,9CH,68H,1CH,1EH,00FH,0FFH,2AHENDPROCDELAY1DELAY1CLRALAMOVR6,64HDELAY11MOVR7,250DJNZR7,DJNZR6,DELAY11SETBALARETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCDELAY2DELAY2MOVR6,64HDELAY21MOVR7,250DJNZR7,DJNZR6,DELAY21RETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCDIVD1DIVD1NOP;2NBYTE/NBYTENBYTE,HEREN3IN31H4A,4B,4C,4D,4E,4FH/5D,5E,5FH4D,4E,4FHMOV30H,06HMOV31H,03H除数的字节数DIVPPMOVA,AD1MOVR2,AR203HRLARLARLAMOVR3,AR318H24DCLR0F0HB00清标志位CLRCC0MOVA,ADASUBBA,R2MOVAD3,AAD34CHMOVR1,ADBDIVMB2BMOVA,R1JNZDIVM2BDECR1DJNZR2,DIVMB2BSETB0F0HRETDIVM2BMOVR2,AD1MOVR1,ADBMOVR0,AD3DIVM2LMOVA,R0SUBBA,R1DECR0DECR1DJNZR2,DIVM2LJNCDIVM20DIVM2DLCALLSHIL1JCDIVM2SDIVM2CMOVR0,AD3MOVR1,ADBMOVR2,AD1DIVM2CLMOVA,R0SUBBA,R1DECR0DECR1DJNZR2,DIVM2CLJCDIVM2EDIVM2SINCADAMOVR2,AD1MOVR0,AD3MOVR1,ADBLCALLSUBMBBDIVM2EDJNZR3,DIVM2DRETDIVM20SETB0F0HRETDB02H,12HSHIL1MOVR2,AD0MOVR0,ADASHIL1BCLRCSHILLMOVA,R0RLCAMOVR0,ADECR0DJNZR2,SHILLRETSUBMBMOVR2,AD0NOSIGNNBYTESMINUSENBYTESMOVR0,ADA4FH5FH4FHMOVR1,ADBSUBMBBCLRCSUBMB1MOVA,R0SUBBA,R1MOVR0,ADECR0DECR1DJNZR2,SUBMB1RETNOPPC值出错处理NOP空操作NOP空操作LJMPMIAN重新复位起动ENDPROCBCDSTBCDSTMOVR7,32CLRCMOV3FH,00HMOV3EH,00HMOV

温馨提示

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

最新文档

评论

0/150

提交评论