版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 引言本设计采用单片机和FPGA相结合的电路实现方案。考虑到FPGA具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点,而单片机具有很好的人机接口和运算控制功能,所以采用FPGA和单片机相结合,构成整个系统的测控主体。自1985年Xilinx公司推出第一片现场可编程逻辑阵列(FPGA)至今,FPGA已经成为当今电子设计应用市场上首选的可编程逻辑器件之一。从航空航天到数字信号处理,再到汽车家电等消费领域,无处不见FPGA的身影。而且,随着微电子等工艺的进步,FPGA器件本身的性能逐年在提高,使得FPGA器件与其他同类器件相比更有竞争力。在这个各类电子设计器件百花齐放的时代,广阔消费者
2、需要对这些电子设计器件有个更深入地了解,从而为自己的科研学习或工业生产挑选到既能满足各项性能指标要求,又经济实惠的适宜的电子设计器件。因此,进行FPGA器件的应用研究并进行各类电子设计产品的性能优势比照分析是一项很有价值和实际意义的工作。 随着EDA技术的高速开展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件FPGA的出现,给设计人员带来了诸多方便。利用它进行产品开发,不仅本钱低、周期短、可靠性高,而且可以随时在系统中修改其逻辑功能。FPGA器件的本钱越来越低,Actel公司发布第三代的基于Flash的可编程逻辑方案。这些新的FPGA芯片最低价将到达1.5美元,代表了全球最低
3、本钱的FPGA,并且相对于基于SRAM的FPGA来说具有保密的优势。基于Flash的FPGA可以提供加密、低功耗、上电工作、可重复编程的方案。目前生产FPGA的公司主要有Xilinx、Altera、Actel、Lattice、QuickLogic等,生产的FPGA品种和型号繁多。尽管这些FPGA的具体结构和性能指标各有特色,但它们都有 一个共同之处,即由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块,从而实现不同的设计。典型的FPGA通常包含三类根本资源:可编程逻辑功能块、可编程输入/输出块和可编程互连资源。可编程逻辑功能块是实现用户功能的根本单元,多个逻辑功能块通常规那么地排成一
4、个阵列结构,分布于整个芯片;可编程输入/输出块完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;可编程内部互连资源包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。不同厂家或不同型号的FPGA,在可编程逻辑块的内部结构、规模、内部互连的结构等方面经常存在较大的差异。除了上述构成FPGA根本结构的三种资源以外,随着工艺的进步和应用系统需求的开展,一般在FPGA中还可能包含以下可选资源:存储器资源块RAM、分布式RAM;数字时钟管理单元分频/倍频、数
5、字延迟、时钟锁定;算数运算单元高速硬件乘法器、乘加器;多电平标准兼容的I/O接口;高速串行I/O接口;特殊功能模块以太网MAC等硬IP核;微处理器PowerPC405等硬处理器IP核。下面介绍两种FPGA的一般结构。第一种包括5个可配置局部:1可配置逻辑块,用于实现大局部逻辑功能;2在可配置逻辑块的四周分布着可编程的输入输出块Input/Output Blocks,提供封装引脚与内部逻辑之间的连接接口;3丰富的多层互连结构的可编程连线;4片上的随机存取块状RAM;5全数字式延迟锁相环DLL时钟控制块,与每个全局时钟输入缓冲器相连,该闭环系统确保时钟边沿到达内部触发器与其到达输入引脚同步,有效地
6、消除时钟分配的延迟。另一种FPGA器件主要包括:1逻辑阵列,由多个逻辑阵列块Logic Array Blocks排列而成,用于实现大局部逻辑功能;2在芯片四周分布着可编程的输入输出单元Input/Output Elements,提供封装引脚与内部逻辑之间的连接接口;3丰富的多层互连结构的可编程连线;4片上的随机存取块状RAM;5锁相环PLL,用于时钟的锁定与同步、能够实现时钟的倍频和分频;6高速的硬件乘法器,有助于实现高性能的DSP功能。目前绝大局部FPGA都采用查找表技术,最根本逻辑单元都是由LUT和触发器组成的。查找表简称为LUT,本质上就是一个RAM。目前FPGA中多使用4输入的LUT,
7、所以每一个LUT可以看成一个有4位地址线的16x1的RAM。当用户通过原理图或VHDL语言描述了一个逻辑电路以后,FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出该地址对应的内容,然后输出即可。由于LUT主要适合SRAM工艺生产,所以目前大局部FPGA都是基于SRAM工艺的。而SRAM工艺的芯片在掉电后信息就会丧失,因此需要外加一片专用的配置芯片。在上电的时候,由这个专用配置芯片把数据加载到FPGA中,FPGA就可以正常工作。少数FPGA产品采用反熔丝或Flash工艺,掉电后配置信息不会丧失,因此这种F
8、PGA芯片不需要外加的专用配置芯片。 单片机集成度高、功耗低、速度快、价格廉价、实用灵活、开发周期短。自从20世纪80年代单片机首次推出以来,一经上市便显示出强大的生命力,以其独特的优点迅速占领市场并获得了广泛使用,并且很快在全世界得到广泛的推广与应用。一直到现在,单片机技术正日臻完善,国内外的单片机热更是经久不衰,对于电子信息产业的开展更具有“倍增器的作用。因此新型单片机已成为21世纪极具开展潜力和影响力的一项电子科技产品。目前,单片机正朝着兼容性、单片系统化、多功能和低功耗的方向开展。单片机与单片系统、智能传感器、网络通信等高新技术的融合必将成为21世纪新的经济增长点。随着微电子技术和计算
9、机技术的迅速开展,单片机升级换代的速度在不断加快,涉及新型单片机原理、接口技术、外围电路设计及应用技术的知识也在不断更新。该设计中系统实现的增益程控放大功能和增益程控衰减功能主要是通过单片机、单片机外围电路、接口技术以及一些单片机原理来完成的,单片机成了整个电路中的“中心枢纽,在功能键的控制下,单片机来完成对各个模块的控制。在整个过程中,单片机完成信号的接受、处理、传出,在人为的操作下,控制着整个电路的工作状态。随着电子技术的高速开展,现在的电子系统逐渐实现了智能化、人性化、最优化,并且富有了系统性、社会性。除了能够满足系统功能和性能指标要求外,还具有很多优点:如电路简单、电磁兼容性好、可靠性
10、高、系统集成度高、调试简单方便、操作简便、性能价格比高。从系统的角度看,电子系统是能按特定的控制信号,执行所设想的功能,由一组元器件通常电子器件连成的一个整体。从单级放大器到最复杂的计算机等很多设备都可以称为一个电子系统。可以从很多元器件集成为一个功能单元,再用假设干个功能单元去描述一个系统。一般来说,电子系统分为模拟型、数字型及两者兼而有之的混合型三种,无论哪一种电子系统,他们都是能够完成某种任务的电子设备。通常把规模较小、功能单一的电子系统称为单元电路,实际应用中的电子系统由假设干单元电路组成。一般的电子系统由输入、输出、信息处理三大局部组成,用来实现对信息的采集处理、变换与传输功能。对于
11、模拟电子系统,输入电路主要起到系统与信号源的阻抗匹配,信号的输入与输出连接方式的转换,信号的综合等作用,输出电路主要解决与负载或被控对象的匹配和输出足够大的功率去驱动负载的问题。而对于数字电子系统,输入与输出电路主要解决与现场信号和控制对象的接口问题,输入电路往往由一些转换器或锁存器组成,而输出电路也由一些对应的转换器和驱动器组成。 在工业和民用场合,为了对各种低频信号进行测量分析,常常引入相位测量仪。同频信号间相位差的测量在电力系统、工业自动化、智能控制及通信、电子、地球物理勘探等许多领域都有着广泛的应用。尤其在工业领域中,相位不仅是衡量平安的重要依据,还可以为节约能源提供参考。因此,研究和
12、设计低频数字相位测量仪将会为国民经济的开展起到推动和促进作用。2 概述2.1 FLEX10KK简介 FLEX10K是工业界第一个嵌入式的可编程逻辑器件,采用可重构的CMOS SRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多可编程器件的优点来完成普通门阵列的宏功能。FLEX10K的集成度已到达25万门。它能让设计人员轻松地开发出集存储器、数字信号处理器及特殊逻辑包括32位多总线系统等强大功能于一身的芯片,已经推出了FLEX10K、FLEX10KA、FLEX10KV、FLEX10KE等分支系列。其中EPF10K20是FLEX10K系列器件之一。 FLEX10K系列器
13、件主要由嵌入式阵列块、逻辑阵列块、快速通道FAST TRACK互连和I/O单元四局部组成。由于FPGA器件的基于SRAM结构,数据具有挥发性,所以每次上电使用时必须重新下载数据。对FPGA数据下载可通过下载电缆、专用配置芯片或微处理器等方式完成。在本设计中,采用配置芯片EPC1441来完成。EPC1441配置芯片属于EPROM结构,而不具有可擦写性。 HYPERLINK l _Toc24790 2.2 VHDL硬件描述语言 VHDL语言的开展状况1VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language
14、,诞生于1982年。1987年底,VHDL被IEEEThe Institute of Electrical and Electronics Engineers)和美国国防部却认为标准硬件描述语言。自IEEE公布了VHDL的标准版本IEEE-1076)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL 接口。此后VHDL在电子设计领域得到了广泛的接收,并逐步取代了原有的非标准硬件描述语言。1933年,IEEE对VHDL进行论文修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL
15、和Verilog语言作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,以成为事实上的通用硬件描述语言。有专家认为,在新世纪中,VHDL语言将承当起几乎全部的数字系统设计任务。 VHDL的特点VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或设计实体可以是一个元件、一个电路模块或一个系统分成外部或称可视局部,即端口和内部或称不可视局部,即设计实体的内部功能和算法完成局部。在对一个设计实体定义了外部界面后,一旦内部开发完成后
16、,其他的设计可以直接调用这个实体。这种将设计实体分成内外局部的概念是VHDL系统设计的根本点。应用VHDL进行工程设计的优点是多方面的,具体如下:与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最正确的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。VHDL最初是作为一种仿真标准格式出现的,因此VHDL既是一种硬件电路描述和设计
17、语言,也是一种标准的网表格式,还是一种仿真语言,其丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能用于查验设计系统的功能可行性,随时可对设计进行仿真模拟。即在远离门级的高层次上进行模拟,是设计者对整个工程设计的结构和功能的可行性作出决策。VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能,符合市场所需求的,大规模系统高效、高速的完成必须由多人甚至多个开发组共同并行工作才能实现的特点。VHDL中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有利的支持。对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,
18、并自动低把VHDL描述设计转变成门级网表。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发本钱。应用EDA工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更高效、更高速的电路系统。反过来,设计者还可以容易地从综合和优化后的电路获得设计信息,返回去更新修改VHDL设计描述,使之更为完善。VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。正因为VHDL的硬件描述与具体的工艺技术和硬件结构无关,VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各系列的CPLD、FPGA及各种门阵
19、列实现目标。由于VHDL具有类属描述语句和子程序调用等功能,对于已完成的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能轻易地改变设计的规模和结构。13 关于自顶向下的系统设计方法使用VHDL设计系统方法是自顶向下的系统设计方法,在设计过程中,首先是从整体上对系统设计作详细的规划,然后完成电路系统功能行为方面的设计,其设计流程如图。VHDL仿真器VHDL文本编辑时序与功能仿真器FPGA/CPLD适配器FPGA/CPLD器件和电路系统FPGA/CPLD编程下载器VHDL文本编辑图2-1 VHDL设计流程图 3 系统设计方案与论证 从功能角度来看,数字相位测量仪以后简称测量仪需要完成
20、正弦信号的频率测量,以及两个同频正弦信号相位差的测量。测量仪有2路输入被测信号,他们是2个同频率的正弦信号,被测信号的频率范围为20Hz20kHz,幅度分别为Upp=(15)V,且两者幅度不一定相等。不妨令被测信号周期为T,相位差为,相位差为对应的时间差是T,那么有比例关系式 T:360=T: (1)由此式可以推导出 =TT*360 2式2说明,相位差与T有着一一对应的关系,可以通过测量时间差T及信号周期T,计算得到相位差。相位差的测量本质是时间差T及信号周期T的测量。时间的测量有多种方法,而设计任务关于测量仪的技术指标会影响设计方案的选择。3.1 以MCU为核心的实现方案经分析计算得知,以单
21、片机为核心的测量仪,当单片机的外接晶振为12MHz时,计数器/定时器的计数误差为正负一个机器周期,即1us,由此而产生的相位差绝对误差为7.2,假设外接晶振为24MHz时,相位差绝对误差为=3.6.所以,以单片机为核心的设计方案当被测频率较高时很难满足设计要求。3.2 以MCU与FPGA相结合的实现方案如图3-1所示,系统主要由现场可编程门阵列FPGAfield programmable gate array和MCU组成。让FPGA实现数据采集,即将被测信号的频率f、相位差所对应的时间差T分别转换为二进制数据,并传送给MCU。MCU从FPGA获取数据,并经CPU计算、转换等有关处理后,得到被测
22、信号的频率和相位差并送LED数码管显示。整形电路整形电路FPGAMCU显示器图3-1 以MCU和FPGA相结合的实现方案框图因为设计任务要求,相位差测量绝对误差2,而用FPGA设计的计数器在测量T时有一个字的误差,对被测信号频率f=20kHz而言,下式成立: 2:T=360:50us那么有 T=0.278us这就是说,FPGA在采集相位差对应的时间差T时,至少要能分辨出0.278us的时间间隔,为了兼顾MCU计算和时标信号获得的方便,我们采用周期T=0.1us,即频率f0=10MHz的时钟脉冲作为时标信号。中选定f0=10MHz后,就可以确定FPGA采用的二进制数据位数。对于被测信号频率f=2
23、0Hz而言,计数器的计数值N1对应取最大值,因为f=20Hz时,周期T=50ms,在50ms内对T0计数,计数值为: N1=50ms/0.1us=500000然而 218=262144;219=524288,所以有 218500000219那么FPGA的二进制数据位数确定为19bit。 MCU从FPGA要获得两种数据,这两种数据都是19bit无符号二进制数,一种是被测信号周期T对应的二进制数据单位是0.1us;另一种是两个被测信号的相位差对应的时间差T单位也是0.1us。这样,MCU与FPGA之间需要有握手信号,设置两个握手信号RSEL、EN.实际上,RSEL和EN是MCU发给FPGA的控制信
24、号,以便通过19根I/O线分时传送两个19bit数据。由此采用了MCU与FPGA相结合的方案。4 系统硬件电路设计4.1 信号整形电路的设计8最简单的信号整形电路就是一个单门限电压比拟器(如图4-1所示),当输入信号每通过一次零时触发器的输出就要产生一次突然的变化。当输入正弦波时,每过一次零,比拟器的输出端将产生一次电压跳变,它的正负向幅度均受到供电电源的限制,因此输出电压波形是具有正负极性的方波,这样就完成了电压波形的整形工作。 图4-1 采用单门限触发器的整形电路 为了防止过零点屡次触发的现象,我们使用施密特触发器组成的整形电路。施密特触发器在单门限电压比拟器的根底上引入了正反应网络。由于
25、正反应的作用,它的门限电压随着输出电压Uo的变化而改变,因此提高了抗干扰能力。电路图如图4-2所示。图4-2 整形电路 4.2 FPGA数据采集电路的设计9 FPGA数据采集电路的功能就是实现将待测正弦信号的周期、相位差转变为19位的数字量。FPGA数据采集的硬件电路我们可采用FPGA下载板来实现,该下载板包含FPGA芯片、下载电路和配置存储器,其电路结构可参见对应的FPGA下载板说明书。本电路主要是进行FPGA的硬件描述语言(VHDL)程序设计。 根据系统的总体设计方案,FPGA数据采集电路的输入信号有:CLK系统工作用时钟信号输入端;CLKAA,CLKBB两路被测信号输入端;EN单片机发出
26、的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;RSEL单片机发出的传送数据类型信号,当RSEL=0时,FPGA向单片机传送被测信号频率数据,当RSEL=1时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号有:DATA18.0FPGA到单片机的数据输出口,由输出控制信号EN和RSEL控制。 本数字式相位测量仪的要求是测试并显示输入信号频率范围在20 Hz20 kHz,测试并显示信号a、b的相位差,相位差的变化范围为0359.9,相位差的显示分辨力为0.1,要求测量相位的绝对误差2。由此可知: 本设计要求相位测量精度绝对误差2,因此,在所测信号一个周期中,只
27、有计数数值超过180次时才能到达要求。对于被测信号频率为20kHz时,其周期为50s,在50s内计数值为180次,由此可计算出时间基准信号的频率为20kHz180=3.6MHz,所以采用大于3.6MHz晶振作为时钟基准信号源,就完全可以满足精度要求。图4-3 FPGA数据采集电路结构根据系统的总体设计方案,FPGA数据采集电路的输入信号有:CLK系统工作用时钟信号输入端;CLKAA,CLKBB两路被测信号输入端;EN单片机发出的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;RSEL单片机发出的传送数据类型信号,当RSEL=0时,FPGA向单片机传送被测信号频率数据,当RSEL=1
28、时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号有:DATA18.0FPGA到单片机的数据输出口,由输出控制信号EN和RSEL控制。 图4-4 FPGA数据采集模块数据采集电路图如下列图4-5所示: 图4-5 数据采集电路4.3 单片机数据运算控制电路的设计10单片机数据运算控制电路的功能就是负责读取FPGA采集到的数据,并根据这些数据计算待测正弦信号的频率及两路同频正弦信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。单片机数据运算控制电路的硬件可由单片机、晶振电路、按键及显示接口电路等组成。在设计中考虑到,单片机具有较强的运算能力和控制能力的特点
29、,因此使用单片机的P0口,P2口及P1.0、P1.1、P1.2、P1.3接收FPGA送来的对应于正弦信号的周期、相位差的19位数据信号,并在单片机内部完成对这19bit二进制数据的处理及相关运算。P1口的P1.7、P1.6接入两个轻触按键,完成功能选择与设置。P1.3、P1.5分别接EN、RSEL。该电路的工作原理是,单片机通过向FPGA发送数据传送指令,使FPGA按照单片机的要求发送数据,同时通过使用单片机的串口,将待显示的数据信息送给数据显示电路显示。其原理图如图4-6所示。图4-6 单片机数据运算控制电路4.4 数据显示电路设计5数字显示电路通常由译码器、驱动器和显示器等局部组成。数码显
30、示器是用来显示数字、文字或符号的器件,数码管的显示方式一般有三种:第一种是字形重叠式,它是将不同的电极重叠起来,要显示某字符,只需使相应的电极发亮即可,如辉光放电管、边光显示管等。第二种是分段式,数码管是由一些按一定规律排列的颗发光的点阵所组成,利用光点的不同组便可以显示不同的数码。目前应用最为广泛的是七段数字显示器,按发光物质的不同数字显示器可分为以下几类:1半导体显示器;2荧光数字显示器;3液体数字显示器;4气体放电显示器。LED显示器的可靠性也非常好,单就可靠性,LED的半衰期(即光输出量减少到最初值一半的时间)大概是1万到10万小时。相反,小型指示型白炽灯的半衰期(此处的半衰期指的是有
31、一半数量的灯失效的时间)典型值是10万到数千小时不等,具体时间取决于灯的额定工作电流。单片机驱动LED显示有很多方法,按显示方式可以分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无须理睬数码显示管。静态显示的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独具有琐存功能的I/O口,该接口用于笔画段字型代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示
32、。动态扫描方法是用其接口电路把所有显示器的8个笔画字段ag和dp同名端连在一起,而每一个显示器的公共极COM各自独立接受I/O线控制。CPU向字段输出端口输出字型码时,所有显示器接受相同的字型码,但究竟使那一位那么由I/O线决定。动态扫描用分时的方法轮流控制每个显示器的COM端,使每个显示器轮流电亮。在轮流点亮过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。整个系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此数据显示电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入
33、8位并出的74LS164芯片组成。这种显示方式不仅可以得到较为简单的硬件电路,而且可以得到稳定的数据输出;这种连接方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程中,也表达出较高的可靠性。数据显示电路如图4-7所示。 图4-7 显示电路当com端接+Vcc时其二极管正常工作,其输入端输入低电平二极管被点亮,其输入端输入高电平二极管不被点亮。七段数码管可分为共阴极和共阳极的数码管,对于共阴极的数码管只有当其输入端输入高电平时二极管才会发光;而共阳极的数码管只有当输入端输入低电平时二极管才会发光。共阴极内部每个发光二极管的阴极被接在一起,成为该各
34、段的公共选通线;发光二极管的阳极那么成为段选线。如果要显示某个数字只需相应选中对应的段选线。对于共阳极数码管,那么正好相反,内部发光二极管的阳极接在一起,阴极成为段选线。这两种数码管的驱动方式是不同的。当需要点亮共阳极数码管的一段时,公共段需接高电平、该段的段选线接低电平,从而该段被点亮。当需要点亮共阴极数码管的一段时,公共段需接低电平,该段的段选线接高电平,该段被点亮。74LS164是一种8位高速串入/并出的移位存放器,随着时钟信号的上下变化,串行数据通过一个2输入与门同步的送入,使用独立于时钟的主控复位端让存放器的输出端变为低电平,并且采用肖特基钳位电路以到达高速运行的目的。并且还具有以下
35、的特点:典型的35MHz移位频率;异步主控复位;门控串行输入;同步数据传输;采用钳位二极管限制高速的终端;静电放电值大于3500V。在本系统中,74LS164的连接方式为:74LS164的输出Q0Q7分别接LED数码管的dp、g、f、e、d、c、b、a,并且Q7连接下一个74LS164的A、B端,时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。在这种状态下,数码管的编码如表4-1所示。 表4-1 数码管的编码显示数码 断 码显示数码断 码 0 88H 8 08H 1 0EBH 9 09H 2 4CH A 0AH 3 49H
36、B 38H 4 2BH C 9CH 5 19H D 68H 6 18H E 1CH 7 0CBH F 1EH一般来说在一个字节中按照a、b、c、d、e、f、g的顺序放置字型码,比方在一个共阴极数码管上要显示“7,那么a、b、c段需被点亮。如果对于共阴极的那么a、b、c对应于高电平;如果对于共阳极的那么a、b、c对应于低电平。 4.5 直流稳压电源设计8根据本设计设计要求,所用的电源为220V、50HZ的交流电,整个系统必须在接通市电以后就可以使用,这样使用更加方便简单。此设计中需要稳定的直流电源供电,芯片所需要的供电电压5V。单相交流电经过电源变压器、整流电路、滤波电路和稳定电路转换成稳定的直
37、流电压。整流电路将交流电压变为脉动的直流电压,滤波电路可减小脉动使直流电压平滑,稳压电路的作用是在电网电压波动或负载电流变化时保持输出电压根本不变。4.5.1 直流稳压源结构:电源变压器、整流、滤波电路和稳压电路。1电源变压器电源变压器的作用是将来自电网的220V交流电压u1变换为整流电路所需要的交流电压u2。电源变压器的效率为: 19其中:是变压器副边的功率,是变压器原边的功率。一般小型变压器的效率如表4-2所示:表4-2变压器的效率 副边功率P210VA1030VA3080VA80200VA 效率0.60.70.80.85 因此,当算出了副边功率后,就可以根据上表算出原边功率。2整流和滤波
38、电路在稳压电源中一般用四个二极管组成桥式整流电路,整流电路的作用是将交流电压u2变换成脉动的直流电压u3,这里一般采用桥式整流电路来实现,即可用四个二极管来组成,也可用整流桥堆来完成。滤波电路一般由电容组成,其作用是把脉动直流电压u3中的大局部纹波加以滤除,以得到较平滑的直流电压UI,减小脉动,提高整流的效果。UI与交流电压u2的有效值U2的关系为: 9在整流电路中,每只二极管所承受的最大反向电压为: 流过每只二极管的平均电流为: 其中:R为整流滤波电路的负载电阻,它为电容C提供放电通路,放电时间常数RC应满足: 16其中:T=20ms是50Hz交流电压的周期。 3稳压电路13由于输入电压u1
39、发生波动、负载和温度发生变化时,滤波电路输出的直流电压UI会随着变化。因此,为了维持输出电压UI稳定不变,还需加一级稳压电路。稳压电路的作用是当外界因素电网电压、负载、环境温度发生变化时,能使输出直流电压不受影响,而维持稳定的输出。稳压电路一般采用集成稳压器和一些外围元件所组成。采用集成稳压器设计的稳压电源具有性能稳定、结构简单等优点。集成稳压器的类型很多,在小功率稳压电源中,普遍使用的是三端稳压器。按输出电压类型可分为固定式和可调式,此外又可分为正电压输出或负电压输出两种类型。固定电压输出稳压器常见的有CW78LM78系列三端固定式正电压输出集成稳压器;CW79LM79系列三端固定式负电压输
40、出集成稳压器。三端是指稳压电路只有输入、输出和接地三个端子。型号中最后两位数字表示输出电压的稳定值,有5V、6V、9V、15V、18V和24V。稳压器使用时,要求输入电压UI与输出电压Uo的电压差UIUo2V。稳压器的静态电流Io =8mA。当Uo =518V时,UI的最大值UImax=35V;当Uo=1824V时,UI的最大值UImax =40V。 可调式三端集成稳压器可调式三端集成稳压器是指输出电压可以连续调节的稳压器,有输出正电压的CW317系列LM317三端稳压器;有输出负电压的CW337系列LM337三端稳压器。在可调式三端集成稳压器中,稳压器的三个端是指输入端、输出端和调节端。稳压
41、器输出电压的可调范围为Uo=1.237V,最大输出电流Iomax =1.5A。输入电压与输出电压差的允许范围为:UIUo =340V。4.5.2 电源输入局部 系统电源需要用5V直流电源供电,其电路如图4-8所示,把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相交流电经 过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较
42、大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输出电压平滑。稳压电路的功能是使输出直流电压根本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。本电路使用集成稳压芯片7805解决了电源稳压问题。图4-8 电源输入电路原理图5 系统软件设计 5.1 系统程序结构FPGA数据采集主程序模块主要包括以下几局部子程序:1信号分频模块子程序;2控制信号产生模块子程序;3时间检测模块子程序;4数据锁存模块子程序;5输出选择模块子程序。 FPGA数据采集模块系统程序结构如图5-1所示。数据采集主程序 输出选择模块子程序数据锁存模块子程序时间检测模块子程序控制信号产生
43、模块子程序信号分频模块子程序图5-1 系统程序结构单片机数据运算控制电路的软件设计思路是,单片机不断地从FPGA读取信号的周期和a、b信号相位差所对应的时间差,读取数据后进行有关计算,并通过转换后,送出给显示模块,实现频率和相位差的显示。单片机主程序流程图如图5-2所示。 图5-2 主程序流程图单片机在获取FPGA的数据时,开始的是一般的读取指令MOV指令,分别从单片机的P0口、P2口、P1口的低3位读入数据,组合为一个19位的二进制数据,通过控制口线P1.3、P1.5控制FPGA释放数据。经过屡次测试,采用这种方式获得了比拟好的效果。单片机读取FPGA数据的程序流程图如图5-3所示。图5-3
44、读FPGA数据程序流程图单片机从FPGA读取信息后,对信息进行计算,算出信号a的频率。其程序流程图如图5-4所示。图5-4 计算a的频率程序流程图由于a、b信号是两路频率相同、相位不同的正弦波信号,因此经过整形电路后形成频率相同,时间上不重合的两路信号,这样,FPGA可以计数出两路信号的时间差从而可以计算出a、b信号的相位差。其程序流程图如图5-5所示。图5-5 计算a、b相位差的程序流程图最后单片机需要将信号送到输出端显示出来,即单片机通过显示子程序将信息送到显示电路显示出来,程序流程图如图5-6所示。 图5-6显示程序流程图5.2 各模块程序如下:5.2.1信号分频模块如图5-7 图5-7
45、 信号分频模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FPQ ISPORT(CLK:IN STD_LOGIC;CLKFC:OUT STD_LOGIC);END ENTITY FPQ; ARCHITECTURE ART OF FPQ IS SIGNAL CLKF:STD_LOGIC;BEGINFPQ:BLOCK ISBEGIN PROCESS(CLK) IS VARIABLE TEMP:INTEGER RANGE 0 TO 4; VARIABLE CL:STD_LOGI
46、C; BEGIN IF RISING_EDGE(CLK) THEN IF TEMP=3 THEN TEMP:=0;CL:=1; ELSE TEMP:=TEMP+1;CL:=0; END IF; END IF; CLKF=CL; CLKFC=CLKF; END PROCESS; END BLOCK FPQ;END ARCHITECTURE ART; 5.2.2时间检测模块如图5-8 图5-8 时间检测模块LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SJJC ISPORT(CL
47、KFC:IN STD_LOGIC; ENAC:IN STD_LOGIC; CLRAC:IN STD_LOGIC; DAC:OUT STD_LOGIC_VECTOR(18 DOWNTO 0); END ENTITY SJJC; ARCHITECTURE ART OF SJJC IS SIGNAL CLKF:STD_LOGIC; SIGNAL DA:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL CLRA:STD_LOGIC; SIGNAL ENA:STD_LOGIC;BEGINSJJC:BLOCK IS BEGIN PROCESS(ENA,CLRA,CLKF) IS
48、BEGIN IF CLRA=1 THEN DA=0000000000000000000; ELSIF RISING_EDGE(CLKF) THEN IF ENA=1 THEN DA=DA+1; END IF; END IF;DAC=DA;-仿真观测输出用 END PROCESS; END BLOCK SJJC;END ARCHITECTURE ART;5.2.3 控制信号产生模块如图5-9 图5-9 控制信号产生模块 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY KZXY I
49、S PORT( CLKAA:IN STD_LOGIC;CLKBB:IN STD_LOGIC; EN,RSEL:IN STD_LOGIC; CLKAC,CLKBC:OUT STD_LOGIC; -仿真观测输出点,调试好后应去掉,以下同 CLAC,CLBC:OUT STD_LOGIC;-仿真观测输出用 CLRAC:OUT STD_LOGIC;-仿真观测输出用 ENAC:OUT STD_LOGIC;-仿真观测输出用 LOADAC:OUT STD_LOGIC;-仿真观测输出用 END ENTITY KZXY; ARCHITECTURE ART OF KZXY IS SIGNAL CLB:STD_LOG
50、IC; SIGNAL CLRA:STD_LOGIC; SIGNAL ENA:STD_LOGIC; SIGNAL LOADA:STD_LOGIC;BEGINKZXH:BLOCK IS SIGNAL CLKA,CLKB:STD_LOGIC; SIGNAL CLA:STD_LOGIC; BEGIN CLKA=NOT CLKAA; CLKB=NOT CLKBB; CLKAC=CLKA;-仿真观测输出用 CLKBC=CLKB;-仿真观测输出用 PROCESS(CLKA) IS BEGIN IF RISING_EDGE(CLKA) THEN CLA=NOT CLA; END IF; ENA=CLA;LOA
51、DA=NOT CLA; CLAC=CLA;-仿真观测输出用 ENAC=ENA;-仿真观测输出用 LOADAC=LOADA;-仿真观测输出用 END PROCESS; PROCESS(CLKB) IS BEGIN IF RISING_EDGE(CLKB) THEN CLB=NOT CLB; END IF; CLBC=CLB;END PROCESS; PROCESS(CLKA,CLA) IS BEGIN IF CLKA=0 AND CLA=0 THEN CLRA=1; ELSE CLRA=0; END IF; CLRAC=CLRA;-仿真观测输出用 END PROCESS; END BLOCK K
52、ZXH;5.2.4数据锁存模块如图5-10 图5-10 数据锁存模块LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SJSC ISPORT(DATAAC:OUT STD_LOGIC_VECTOR(18 DOWNTO 0); -仿真观测输出用 DATABC:OUT STD_LOGIC_VECTOR(18 DOWNTO 0); -仿真观测输出用 DAC:IN STD_LOGIC_VECTOR(18 DOWNTO 0);LOADAC:IN STD_LOGIC; CLBC:IN STD
53、_LOGIC ); END ENTITY SJSC; ARCHITECTURE ART OF SJSC IS SIGNAL DA:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL DATAA:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL DATAB:STD_LOGIC_VECTOR(18 DOWNTO 0); SIGNAL CLB:STD_LOGIC; SIGNAL LOADA:STD_LOGIC;BEGINSJSC:BLOCK IS BEGIN PROCESS(CLB) IS -时间差数据进程 BEGIN IF CLBEVENT AND
54、 CLB=0 THEN DATAB=DA; END IF;DATABC=DATAB;-仿真观测输出用 END PROCESS; PROCESS(LOADA) IS -提取周期数据进程 BEGIN IF RISING_EDGE(LOADA) THEN DATAA=DA; END IF; DATAACDATADATANULL; END CASE; END IF; END PROCESS; END BLOCK SCXZ;END ARCHITECTURE ART;6 系统仿真、测试6.1 仿真生成模块图6-1 FPGA程序仿真生成模块6.2 仿真结果图6-2 FPGA数据采集时序仿真图如图6-2, F
55、PGA数据采集时序仿真图所示,FPGA数据采集电路的输入信号有:1CLK系统工作用时钟信号输入端;2CLKAA,CLKBB两路被测信号输入端;3EN单片机发出的传送数据使能信号,在EN的上升沿,FPGA向单片机传送数据;4RSEL单片机发出的传送数据类型信号,当RSEL=0时,FPGA向单片机传送被测信号频率数据,当RSEL=1时,FPGA向单片机传送被测信号相位差数据。FPGA数据采集电路的输出信号是DATA18.0FPGA到单片机的数据输出口,由输出控制信号EN和RSEL控制。7 总结 (1) 在系统的总体设计方面,考虑到FPGA具有集成度高,I/O资源丰富,稳定可靠,可现场在线编程等优点
56、,而单片机具有很好的人机接口和运算控制功能,本系统利用FPGA和单片机相结合,构成整个系统的测控主体,其中FPGA主要负责数据采集,而单片机那么负责读取FPGA采集到的数据进行有关计算处理,以及键盘和显示的控制。 (2) 由于FPGA对脉冲信号比拟敏感,而被测信号是周期相同,相位不同的两路正弦波信号,为了准确的测出两路正弦波信号的相位差及其频率,我们对输入波形在送入FPGA进行处理前先设置了一个具有正反应功能的、由施密特触发器组成的整形电路进行整形,使正弦波变成方波信号,提高了系统的抗干扰能力。(3) FPGA数据采集电路测量正弦波信号频率的原理是:在正弦波信号整形后得到方波信号的一个周期内对
57、周期为Tc秒的数据采样信号进行计数,其计数结果乘以1/Tc,就是被测正弦波信号的频率,单位为Hz。 (4) 在本系统的设计中,FPGA在10 MHz数据采集信号作用下对待测信号周期计数,并对两个同频正弦信号的相位差所对应的时间差进行计数,分别得到19位数字量,19位数字量的物理单位是0.1 s。 (5) 单片机数据运算控制电路的软件设计思路是,单片机不断地从FPGA读取信号的周期和a、b信号相位差所对应的时间差,读取数据后进行有关计算,并通过转换后,送出给显示模块实现频率和相位差的显示。(6) 整个系统硬件电路中,单片机MCU与FPGA进行数据交换占用了P0口、P1口和P3口,因此我们数据显示
58、电路的设计采用静态显示的方式,显示电路由8个共阳极七段数码管和8片1位串入8位并出的74LS164芯片组成。这种显示方式不仅可以得到较为简单的硬件电路,而且可以得到稳定的数据输出,这种连接方式不仅占用单片机端口少,而且充分利用了单片机的资源,容易掌握其编码规律,简化了软件编程,在实验过程中,也表达出较高的可靠性。参考文献1 潘松.VHDL使用教程M .成都:电子科技大学出版社.2000.2 徐志军、许光芒.大规模可编程逻辑器件及其应用M.成都:电子科学出版社.2001. 3 蒋焕文、孙续.电子学测量M.中国计量出版社.1988.4 潘永雄.新编单片机原理与应用M.西安电子科技出版社 .2002
59、.5 何立民.单片机应用技术选编6.北京:北京航空航天大学出版社,1998。6 唐竞新.数字电子电路 . 清华大学出版社,2003.09 7 赵新民,智能仪器原理及设计.哈尔滨:哈尔滨工业大学出版社,1989.8 康华光,电子技术根底 模拟局部第四版.北京:高等教育出版社,2003.9 吴超英. 基于CPLD/FPGA技术的数字系统设计J安徽工业大学学报, 2003,(01)(5-6)10 刘夫江.基于单片机和CPLD的等精度数字频率计设计J. 山东大学,2007:(4-9)11 张永艳. 基于复杂可编程逻辑器件及用VHDL语言编程的数字频率计的设计J. 内蒙古大学, 2004:(10-15)
60、12 张永安. 基于CPLD的多功能等精度数字频率计的设计J. 内蒙古大学, 2004:(21-27) 13 马建国. 电子系统设计M. 北京,高等教育出版社, 2005. 14 杨刚, 周群. 电子系统设计与实践M. 北京,电子工业出版社, 2006. 15 谢自美. 电子线路设计实验测试M. 武汉,华中理工出版社, 2005.16 周志敏主编. 电源实用技术系列书M. 北京,机械工业出版社, 2006.17 徐爱钧. 8051单片机实践教程M. 北京,电子工业出版社, 2005. 18 王修才, 刘祖望. 单片机接口技术M. 上海,复旦大学出版社, 2000. 19 黄智伟. 全国大学生电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住宅区遮阳棚施工协议
- 城市出租车租赁合同
- 客户关系绩效评价
- 医疗器械发票管理规定
- 垃圾分类处理设施建设标准
- 厨艺教室租赁协议范本烹饪教育
- 大型舞台塔吊租赁合同
- 艺术工作室场地租赁合同
- 商业综合体合同能源管理
- 实验室技术人员聘用合同模板
- 酒吧合作协议书
- 教师职业道德-成都大学中国大学mooc课后章节答案期末考试题库2023年
- 大数据与数学研究课件
- 八年级上册数学期中试卷讲评课件
- GB/T 25283-2023矿产资源综合勘查评价规范
- 药剂科运用PDCA循环减少门诊药房药品调剂差错PDCA成果汇报
- 临床检验质量指标:危急值和周转时间
- 2022年新生儿科护理常规
- 5万吨年漂白竹浆纸项目项目可行性申请报告
- 《五育并举 丰盈孩子的心灵》 论文
- 工程勘察服务成本要素信息(2022版)
评论
0/150
提交评论