基于mcu和fpga的低频数字相位测量仪设计 毕业设计论文_第1页
基于mcu和fpga的低频数字相位测量仪设计 毕业设计论文_第2页
基于mcu和fpga的低频数字相位测量仪设计 毕业设计论文_第3页
基于mcu和fpga的低频数字相位测量仪设计 毕业设计论文_第4页
基于mcu和fpga的低频数字相位测量仪设计 毕业设计论文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

摘要本设计采用单片机与FPGA相结合的电路为方案,很好地发挥了FPGA运算速度快、资源丰富、编程为一便的特点,并利用了单片机较强的运算、控制功能,使得整个系统模块化、硬件电路简单、使用操方便。文章主要介绍方案的论证和系统硬件的设计,给出了详细的系统硬件电路图。LM339对正弦信号进行整形和放大,FPGA对此两路信号进行采集,测量和计算。FPGA内部的二选一数据线选择器根据MCU发出的握手信号,选择输出频率或相位差二进制数据。单片机完成对FPGA的控制后,使FPGA按照单片机的要求通过19根I/0线分时发送被测信号的周期数据、相位差对应的时间差数据。单片机通过分析和计算,把得出结果送串行口RXD和TXD显示。实践表明,该相位测量仪具有较好的性能。可以对20HZ20KHZ频率范围的信号进行频率、相位等参数的精确测量,测相绝对误差不大于2;采用数码管显示被测信号的频率、相位差,硬件结构简单。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高的优点。关键词单片机;集成电路;现场可编程门阵列ABSTRACTTHECOMBINATIONOFMCUANDFPGAISADOPTEDINTHEDESIGNTHESYSTEMEXERTSFPGASCHARACTERISTICSOFHIGHOPERATINGSPEED,RICHRESOURCEANDCONVENIENTPROGRAMMINGTHEPOWERFULOPERATIONANDCONTROLFUNCTIONSOFMCUAREADOPTED,THUSTHESYSTEMISMODULARIZED,THEHARDWAREISSIMPLEANDTHEOPERATIONISEASYLM339SHAPINGOFSINUSOIDALSIGNALSANDAMPLIFICATION,FPGAHASTWOSIGNALACQUISITION,MEASUREMENTANDCALCULATIONFPGACHOICEWITHINADATALINESELECTORISSUEDINACCORDANCEWITHHANDSHAKESIGNALMCU,SELECTTHEOUTPUTFREQUENCYORPHASEBINARYDATACOMPLETESINGLECHIPCONTROLOFTHEFPGAAFTERTHEFPGATOENABLESINGLECHIPMICROCOMPUTERINACCORDANCEWITHTHEREQUIREMENTSOFTHEADOPTIONOF19I/0LINETIMETOSENDMEASUREDSIGNALDATAOFTHECYCLE,THEPHASEDIFFERENCEDATACORRESPONDINGTOTHETIMEDIFFERENCETHROUGHTHEANALYSISANDCALCULATIONOFSINGLECHIP,ANDTHERESULTSSENTTOTHESERIALPORTRXDANDTXDSHOWTHEDEMONSTRATIONOFTHEDESIGNSTRATEGY,DESIGNOFHARDWAREAREMAINLYINTRODUCEDINTHEPAPERTHEDETAILEDHARDWARECIRCUITSAREGIVENKEYWORDSMCUICFPGA目录绪论11低频数字相位测量仪原理32总体方案设计521总体方案选择及参数计算522输入电路的设计623FPGA电路的设计724MCU电路的设计83单元电路设计及器件选择931AT89C51单片机931189C51的主要特性9312AT89C51管脚说明9313以单片机为核心的电路工作过程1132FPGA现场可编程门阵列14321FPGA工作原理14322FPGA配置模式14323FPGA工作过程1533显示模块17331八段共阴单字LED数码显示器1733274LS164八位移位寄存器18333单片机串行输出的工作过程2034整形电路21341LM33921342斯密特触发器22343整形电路工作原理2335整机电路254PCB设计29结论31致谢32参考文献33附录34附录35绪论相位测量仪的发展历程及其现状随着科学技术的突飞猛进的发展,电子技术广泛的应用于工业、农业、交通运输、航空航天、国防建设等国民经济的诸多领域中,而电子测量技术又是电子技术中进行信息检测的重要手段,在现代科学技术中占有举足轻重的作用和地位。低频数字式相位测试仪在工业领域中是经常用到的一般测量工具,比如在电力系统中电网并网合闸时,要求两电网的电信号相同,这就要求精确的测量两工频信号之间的相位差。还有测量两列同频信号的相位差在研究网络、系统的频率特性中具有重要意义。相位测量仪的概述频率是信号的重要参数之一,如何获得这一准确数据已经在信息领域显得越来越重要了。相位测量在信号提取、检测、处理等方面有着重要的应用。FPGA的优势主要有速度快,应用灵活等。速度快的优势来源于FPGA的硬逻辑方式。由于FPGA的逻辑功能全部用硬件电路实现,故所有的延迟只来源于门电路,而一般门电路的延迟都在NS级别。FPGA较MCU,应用更加灵活。一个型号的MCU,外围设备种类是固定的个数也是固定的。假如在一个系统中用4了个SPI,那么一个带有两路SPI口的MCU是无法完成的。不光如此,很多时候我们只是利用了MCU中某些甚至是某个外围设备,多余的就相当于浪费了,而这种浪费实质上是浪费了我们自己的金钱。FPGA则可以较好的解决这个问题。我们可以选取一块合适的FPGA,在上面实现4个SPI口。当我们无法找到合适的MCU来实现设计时,FPGA便是一种选择。但FPGA也有自己的缺陷。与MCU相比,FPGA实现的功能较为简单。你无法想象用硬件电路可以实现一个WINDOWS操作系统。FPGA的这个缺陷决定了它在绝大多数系统种只能充当配角。比如,为系统的主控MCU扩展某种接口等等。本设计采用单片机与FPGA相结合的方案,充分地发挥了FPGA运算速度快、资源丰富、编程为一便的特点,并利用了单片机较强的运算、控制功能,使得整个系统模块化、硬件电路简单。相位测量仪的功能正弦信号的频率测量两个同频正弦信号相位差的测量本文研究的主要内容本设计采用AT89C51单片机和FPGA为核心,利用单片机进行数据处理并显示结果,软件采用VHDL和汇编语言实现,构成低频信号频率相位测量仪。本文的内容主要围绕相位测量仪的硬件设计,介绍了整个系统方案的确定,各个模块之间的连接和核心芯片的选取。论文总体上分为四章,基本安排如下第一章绪论,综述了相位测量仪的发展,相位测量仪概述和相位测量仪的功能。第二章详细的介绍相位测量仪的基本原理。第三章是对总体方案的设计和论证。第四章研究了相位测量仪的硬件模块介绍主要器件的选取及其一些特性。第五章分析用PROTEL绘制整机电录的原理图和PCB图,及其工作流程。第六章结论,对全文进行总结,包括讲述了一些一般的相位测量仪的特点,并提出了基于AT89C51和FPGA的低频数字相位测量仪的独特特点。1低频数字相位测量仪原理A输入B输入相位测量数字显示图11系统原理框图从功能角度来看,数字式相位测量仪需要完成正弦信号的频率测量,以及两个同频正弦信号相位差的测量。测量仪有2路输人被测信号,他们是2个同频率的正弦信号,被测信号的频率范围为20HZ20KHZ,幅度为15V,且两者幅度不一定相等。不妨令被测信号周期为T,相位差为,相位差对应的时间差是T,则有比例关系式。(1T3601)并由此可推导。(1360T2)式12说明,相位差与时间差T有着一一对应关系,可以通过测量时间差T及信号周期T,计算得到相位差。相位差的测量木质是时间差及信号周期T的测量。时间的测量有多种方法,而设计任务关于测量仪的技术指标会影响设计方案的选择。MCU应用系统一般能较好的实现各种不同的测量及控制功能,但有时达不到设计要求的指标。而因FPGA具有工作速度快,编程方便等特点,往往能满足一些设计要求比较高的技术指标,因此我们采用了MCU与FPGA相结合的方案。用MCU实现系统功能,用FPGA完成系统指标。待测信号1和2经整形电路处理后,变为矩形波,不妨令其为AIN和BIN,可以认为AIN和BIN是两个同频率的有相位差的矩形波。FPGA通过对整形后的两路信号的处理,获得以二进制数形式表示的信号频率以及相位差对应的时间差。对频率的测量采用侧周期的方法,即在信号周期T时间内,对时标信号进行计数。设施表信号频率为F0,时标信号周期为T0,对信号AIN二分频后的信号高电平宽度就是信号周期T,以此高电平作为闸门的控制信号,控制计数器再T时间内对F0进行计数,则有N1/F0T,被测信号的频率为。(110NFF3)式中,N1是计数器的计数值,当F0一定时,它的大小表示信号频率的大小。相位差对应的时间差T的测量对相位差的测量跟频率测量的方法类似,不过闸门控制信号为AINBIN的电平高度,则有。(1TFN04)FPGA完成数据采集之后,即将带测信号的频率F、两路输入信号的相位差所对应的时间差T分别转换为二进制数据,供MCU读取使用。MCU从FPGA获取数据,并经CPU计算、转换等有关处理后,得到信号和频率的相位差并送LED数码管显示。设计要求1)频率范围20HZ20KHZ。2)相位测量仪的输入阻抗大于或等于100K。3)允许两路输入正弦信号的峰值可分别在15V之间变化。4)相位测量绝对误差小于或等于2O。5)具有频率测量及数字显示功能。6)相位差数字显示,相位读数为03599,分辨率为01。根基设计任务的要求本人将在下一章详尽介绍总体方案的设计及参数计算。2总体方案设计21总体方案选择及参数计算本设计的硬件部分主要由AT89C51单片机、现场可编程门阵列FPGA、显示模块、整形电路四个部分组成。AT89C51是常用单片机,它是系统的心脏单位,系统的每一个流程都要由它来控制;显示模块是系统的监视单位,是人机对话的输出口,当前系统在运行什么功能,是通过它才能让人知道的;系统硬件框图如下图21所示图21系统硬件框图经分析计算得知,以单片机为核心的测量仪,当单片机的外接晶振为12MHZ时,计数器/定时器的计数误差为正负一个机器周期,即士1S,由此而产生由此而产生的相位绝对误差为72,若外接晶振为24MHZ时,相位差绝对误差为36所以,仅以单片机为核心的设计方案当被测信号频率较高时很难满足设计要求。如图22所示,系统主要由现场可编程门陈列FPGAFIELDPROGRAMMABLEGATEARRAY和MCU组成。让FPGA实现数据的采集,即将被测信号的频率F、相位差所对应的时间差T分别转换为二进制数据,并传送给MCU。MCU从FPGA获取数据,并经CPU计算、转换等有关处理后,得到被测信号的频率和相位差并送LED数码管显示。因为设计任务要求,相位差测量绝对误差2,而用FPCA设计的计数器在测量T时有一个字的误差,对被测信号频率F20KHZ而言,下式成立。(2ST503621)则有。(2ST2780待测信号1待测信号2AT89C51FPGA显示模块整形电路整形电路2)这就是说,FPCA在采集相位差对应的时间差时,至少要能分辩出0278S的时间间隔,为了兼顾MCU计算和时标信号获得的方便,我们采用周期01S,即频率F。10MHZ的时钟脉冲作为时标信号。当选定F。10MHZ后,就可以确定FPCA采用的二进制数据的位数。对于被测信号频率F20HZ而言,计数器的计数值N,对应取最大值,因为F20HZ时,周期T50MS,在50MS内对。计数,计数值为。(2501SMN3)然而。(25248,2619184)所以有。(2191825025)MCU从FPCA要获得两种数据,这两种数据都是19BIT无符号二进制数,一种是被测信号周期T对应的二进制数据单位是01S另一种是两个被测信号的相位差对应的时间差单位也是01S。这样,MCU与FPCA之间需要有握手信号,设置两个握手信号DSEL,FEN。实际上DSEL和FEN是MCU发给FPCA的控制信号,以便通过19根I/0线分时传送两个19BIT数据。由此采用了MCU与FPCA相结合的方案。22输入电路的设计输人电路就是被测信号的整形电路,其任务是把任意波形一般是正弦波变换成矩形波。一般采用过零电压比较器或斯密特触发器。如果直接采用过零电压比较器作为输人信号的整形电路,那么,过零电压比较器在电位零点附近极有可能振荡。因为当输人电压在零点电位附近时,电压比较器位于线性放大区,整形后得到的信号在跳变沿附近会有许多抖动,正是因为这种抖动会使得系统无法进行正常测量。我们知道,斯密特触发器可以很好地消除抖动。然而,斯密特触发器的输出信号与输人信号之间存在相位差。如果两路被测输人正弦信号的幅度基本相等,且两个斯密特触发器的门限电压又很接近的话,斯密特触发器引人的相位误差不会对系统的测量精度造成很大影响。但是,如果两路输人信号的幅度相差比较大,则由于斯密特触发器构成的整形电路引人的相位差的测量误差可能会比较大。10MHZ19位加1计数器ENAFPGACLK四分频率DATAB时间差CLRENCP1二分频率待测信号2待测信号140MHZ5V施密特触发器过零电压比较器过零电压比较器4312图22输入电路及FPGA内部框图为了解决上面的问题,我们采取了这样的技术措施一方面,两路被测信号由过零电压比较器处理后得到的矩形波信号被送人异或门鉴相器另一方面,将其中一路被测信号经过斯密特触发器整形得到的矩形波信号送人FPGA,由FPGA内部的二分频器及或非门产生计数器使能信号ENA和清零信号CLR,这样就保证了这两个信号是稳定可靠的。使能信号ENA和清零信号CLR是两个很重要的信号,它们直接影响到系统的测量精度,务必要做到这两个信号在其跳变沿附近没有毛刺。作为输人信号的整形电路,我们既用了过零电压比较器,又采用了斯密特触发器。23FPGA电路的设计我们选择ALTERA公司的FPGA,芯片型号为EPF10K20TC1444。采用湖南长沙三知公司生产的FPGA适配板来实现FPGA电路的设计,该FPGA适配板包含FPGA芯片EPF10K20TC1444、下载电路、配置存储器、内核电源模块等。当FPGA配置存储器中下载配置文件后,该FPGA适配板只要接入5V电源就可以正常工作于用户应用系统中嵌入用户系统中。本部分设计充分利用FPGA可编程资源多、速度快、口线多、实时采样性好的特点,对整形后的输入信号完成数据采集。FPGA的时钟信号CLK采用40MHZ的4引脚石英晶体多谐振荡器信号源,由FPGA对40MHZ信号进行四分频,得到10MHZ的信号,将此10MHZ信号作为数据采样用的时标信号,采样周期为01S。FPGA配置存储器选用EPC1441。EPC1441是OTP(ONETIMEPROGRAM型串行PROM,采用PDIP8封装,有440800X1位,33V/5V供电。需要注意的是,通用编程器对EPC1441编程时,要在EPC1441的脚、脚之间接一个300PF的电容器。24MCU电路的设计这部分电路由单片机、晶振电路、按键电路、显示模块等组成。单片机的P0、P2以及P10、P11、P12端口接收FPGA传送来的对应于被测信号周期、相位差的19BIT二进制数据,并在单片机内部完成对这19BIT二进制数据的处理及相关运算。P17接入一个轻触按键,结合软件编程实现频率与相位差显示切换功能。单片杉机完成对FPGA的控制,使FPGA按照单片机的要求通过19根I/0线分时发送被测信号的周期数据、相位差对应的时间差数据。MCU与FPGA的握手信号为FEN,DSEL,分别接在P13和P15引脚。单片机通过串口UART将待显示信息频率和相位差送给LED显示模块完成显示。本设计中,我们选用的单片机是美国ATMEL公司生产的AT89C51,显示模块由8个共阴极8段LED数码管和8片串入/并出的移位寄存器74LS164芯片组成,采用LED数码管静态显示的方式。就本设计的系统各硬件模块,本人在次将在下章一一作详细阐述。3单元电路设计及器件选择31AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFALSHPROGRAMMABLEANDERASABLEREADONLYMEMORY)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。31189C51的主要特性与MCS51兼容4K字节可编程闪烁存储器寿命1000写/擦循环全静态工作0HZ24HZ三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道片内振荡器和时钟电路312AT89C51管脚说明89C51有40个引脚,采用双列直插式封装,封装图如图31所示EAVP31XTL92RS7D6WIN045OGCU图31AT89C51管脚图VCC(40脚)供电电压。GND(20脚)接地。P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故P3口也可作为AT89C51的一些特殊功能口,如下表(表31)所示接口备选功能接口备选功能P30RXD(串行输入口)P31TXD(串行输出口)P32/INT0(外部中断0)P33/INT1(外部中断1)P34T0(记时器0外部输入)P35T1(记时器1外部输入)P36/WR(外部数据存储器写选通)P37/RD(外部数据存储器读选通)表31RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。XTAL1反向振荡放大器的输入及内部时钟工作电路的输XTAL2来自反向振荡器的输出此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。AT89C51对编程操作还提供如下几种特性1/DATAPOLLING(数据查询)AT89C51通过/DATAPOLLING来表示一个写周期的结束。如果在一个正在进行的写周期中企图读出最后写入的那个字节,将会在P07口出现所写数据的反码,一旦写周期完成,正确的数据才会出现在P0口,下一个写周期才可以开始。/DATAPOLLING可能出现在某个写周期结束以后的任何时间。2/BUSY/READY(忙/就绪)字节的编程的过程也可以从/BUSY/READY输出的信号观察到。编程期间,在ALE由低跳变到高以后,P34被拉低,这表明正处于“忙”状态(即正在写),当P34口线再次回复为高电平时,表面该字节已经写入就绪了,就可以开始下一个写周期了。这为变成器提供了一个可查询的状态的信号。3PROGRAMVERIFY(程序校验)在加密为LB1和LB2尚未都被编程的情况下,程序代码可以按地址从数据口(P0)读出。加密位不可以在程序校验方式中直接读出,只可以从它们仍然允许的那些特性间接地知道。313以单片机为核心的电路工作过程MCU的主要任务有三个方面一是从FPGA获得19BIT的二进制数据,并控制FPGA工作,二是对所获得的数据进行处理,三是将经处理过的数据送给LED数码管显示。另外,由于送LED数码管显示的数据有相位差和频率两种,因此应设置一个按键开关,以便实现显示内容的切换。EA/VP31XTL928RS7D6WIN045OGCUINBKBAFMHZ图32MCU控制FPGA原理图(1)MCU控制FPGA这部分电路由单片机、晶振电路、按键电路、显示模块等组成。在设计中我们充分利用单片机具有较强的运算能力和控制能力这一特点,使用单片机的P0、P2以及P10、P11、P12端口接收FPGA传送来的对应于被测信号周期、相位差的19BIT二进制数据,并在单片机内部完成对这19BIT二进制数据的处理及相关运算。P17接入一个轻触按键,结合软件编程实现频率与相位差显示切换功能。单片机完成对FPGA的控制,使FPGA按照单片机的要求通过19根I/0线分时发送被测信号的周期数据、相位差对应的时间差数据。MCU与FPGA的握手信号为FEN,DSEL,分别接在P13和P15引脚。CLKACLKBFPGA板FENCLKDSEL89C5140MHZ石英晶体震荡器19BITA信号B信号图33MCU控制FPGA框图(2)MCU控制显示模块单片机通过串口UART将待显示信息频率和相位差送给LED显示模块完成显示。本设计中,我们选用的单片机是美国ATMEL公司生产的AT89C51,显示模块由8个共阴极8段LED数码管和8片串入/并出的移位寄存器74LS164芯片组成,采用LED数码管静态显示的方式。图34MCU控制显示模块MCU电路的功能是负责读取FPGA采集到的数据,并根据这些数据计算待测正弦波信号的频率及两路同频率正弦波信号之间的相位差,同时通过功能键切换,显示出待测信号的频率和相位差。单片机从FPGA读取信息后,需要将信号送到输出端显示出来。在系统的显示模块中,74LS164的连接方式是74LS164的输出Q0Q7分别接LED数码管的DP、G、F、E、D、C、B、A,并且Q7连接下一个74LS164的A、B端,时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。32FPGA现场可编程门阵列321FPGA工作原理FPGA采用了逻辑单元阵列LCA(LOGICCELLARRAY)这样一个新概念,内部包括可配置逻辑模块CLB(CONFIGURABLELOGICBLOCK)、输出输入模块IOB(INPUTOUTPUTBLOCK)和内部连线(INTERCONNECT)三个部分。FPGA的基本特点主要有1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和IO引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。322FPGA配置模式FPGA有多种配置模式并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。如何实现快速的时序收敛、降低功耗和成本、优化时钟管理并降低FPGA与PCB并行设计的复杂性等问题,一直是采用FPGA的系统设计工程师需要考虑的关键问题。如今,随着FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向发展,系统设计工程师在从这些优异性能获益的同时,不得不面对由于FPGA前所未有的性能和能力水平而带来的新的设计挑战。例如,领先FPGA厂商XILINX最近推出的VIRTEX5系列采用65NM工艺,可提供高达33万个逻辑单元、1,200个I/O和大量硬IP块。超大容量和密度使复杂的布线变得更加不可预测,由此带来更严重的时序收敛问题。此外,针对不同应用而集成的更多数量的逻辑功能、DSP、嵌入式处理和接口模块,也让时钟管理和电压分配问题变得更加困难。幸运地是,FPGA厂商、EDA工具供应商正在通力合作解决65NMFPGA独特的设计挑战。不久以前,SYNPLICITY与XILINX宣布成立超大容量时序收敛联合工作小组,旨在最大程度帮助地系统设计工程师以更快、更高效的方式应用65NMFPGA器件。设计软件供应商MAGMA推出的综合工具BLASTFPGA能帮助建立优化的布局,加快时序的收敛。最近FPGA的配置方式已经多元化。323FPGA工作过程CLKAB40MHZENDQP19ITFDS2R图35FPGA内部框图(一)FPGA对整形后的两路待测信号(CLKAA、CLKBB)的数据采集(1)对输入的40MHZ始终脉冲CLK进行4分频,得到系统所需要的10MHZ时标信号CLKF。(2)19BIT加1计数器DA,完成对CLKF的计数,以便分别得到与相位差对应的时间差数据DATAB和待测信号的周期数据DATAS。由前面的分析可知,DATAB和DATAA都是19BIT的二进制数据,时间单位为01US。(3)为了实现第(2)点的功能,应该要产生计数器清零信号;计数器使能信号;其他控制信号的逻辑电路。(4)根据系统设计方案知,FPGA与MCU之间的数据传送采用19根I/O口线(19BIT),而DATAA及DATAB均是19BIT的二进制数据,因此,设计一个二选一的数据选择器,以便有选择的将DATAA或者DATAB送到FPGA的输出端口DATA。显然,该二选一的数据选择器的选择信号应该是来自FPGA与MUC之间的握手信号(FEN和DSEL),这就表明FPGA的工作受控于MCU。为了实现这一功能,设计了3个19BIT的数据寄存器分别存放DATAA、DATAB、DATA。(5)利用D触发器的特点实现CLKA也CLKB的信号超前/滞后检测。设置PRE为输出断口信号,当PRE1时表示CLKA超前CLKB;当PRE0时表示CLKA滞后CLKB。(2)FPGA的工作时序DA。TCLRKBENOXR图36FPGA工作时序从时序图可以看出FPGA在待测输入信号的两个相邻周期内获取数据一次,在待测信号的的第一个周期内完成数据采集,而在后接的下一个待测输入信号周期内完成数据传送及清零功能。在设计时,采用同步信号(脉冲上升沿)实现同步清零和同步数据传送,这样可以增强系统的抗干扰能力,提高系统的可靠性。33显示模块在单片机系统中,通常使用八段单字节数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。我、用了8个LED数码管。显示的方式分为静态显示和动态显示,静态显示系统中,每位显示器都有自己的锁存器,译码器和驱动器,用以锁存各自待显数据,其每一次显示输出后可以保持不变,仅在待显数据需要改变时,才更新其数字显示器的锁存器中的内容,这种显示优点是占用机时少,显示稳定可靠。缺点是,显示位数多时,占用的I/O口较多。动态显示利用微处理器定时对各个显示器进行扫描,显示电路分时工作每次只有一个器件显示,由于人视觉的暂留现象,显示器件同时显示。优点是使用硬件少占用I/O口少,缺点是占用机时长,只要不执行程序立即停止显示。331八段共阴单字LED数码显示器在单片机系统中,通常使用八段单字节数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。八段单字节共阴数码显示器引脚图如(图37)所示图37显示电路八段单字节共阴数码显示器由八个发光二极管组成。基中七个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。数码显示器有两种不同的形式一种是七个发光二极管的阳极都连在一起的,称之为共阳极数码显示器;另一种是七个发光二极管的阴极都连在一起的,称之为共阴极单字节数码显示器。本设计中使用的是八段共阴极单字节数码显示器。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。八个笔划段对应于一个字节(八位)的D7D0于是使用八位二进制码就可以表示欲显示字符的字形代码。对于共阴极数码显示器,当公共阴极接地(为零电平),而阳极各段为高电平时,显示器显示字符,即对于共阴极数码显示器,“日”字符的字形码是11111111。这里必须注意的是很多产品为方便接线,常不按规则的方法去对应字段与位的关系,这时字形编码就必须根据接线来自行设计了,在单片机应用系统中,显示器显示常用静态显示和动态显示两种方式本设计使用的是静态显示方式。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的74LS164接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中的资源开销小。在电路中,74LS164通过120电阻与LED八段单字节共阴极数码管相接达到限流作用,以免电流过大损坏数码管。33274LS164八位移位寄存器本设计中利用89C51的串口输出笔画数据,使用串并转换电路74LS164作为LED显示器的静态显示接口。74LS164管脚如下图(图38)所示图3874LS164管脚图管脚工作情况如表32所示H高电平L低电平上跳变无关表3274LS164管脚功能显示模块工作原理每一个时钟信号的上升沿加到74LS164的A、B端时,移位寄存器移一位,八个时钟脉冲过后,八位二进制数全部移入移位寄存器74LS164中。CLEAK(第9引脚)为复位端,当复位端为零电平时,移位寄存器各位复位,移位寄存器被禁用。只有当复位端为高电平时,时钟脉冲才起作用。因此,复位端应接高电平,以保证移位寄存器74LS164的正常工作。74LS164的Q0Q7(第3、4、5、6、10、11、12、13引脚)并行输出端分别接八段数码显示器的AH对应的引脚上。显示模块笔型码编码表如表33所示数据位QAQBQCQDQEQFQGQH笔段位ABCDEFGDP字形码1000011010DH2110110110DBH3111100110F3H40110011167H5101101110B7H6101111110BFH7111000010E1H8111111110FFH9111101110F7H0111111010FDH表33显示模块笔型码编码例如要使的LED数码管显示数值1,则先从编码表中找到数值1的编码0DH(00001101)串行送给74LS164寄存器,转换成并行数据后并行送如LED数码管,显示出数值1。333单片机串行输出的工作过程在74LS164获得时钟脉冲的瞬间(再讲清楚点,是在脉冲的沿),如果数据输入端A、B(第1,2引脚)是高电平,则就会有一个1进入到74LS164的内部,如果数据输入端是低电平,则就会有一个0进入其内部。在给出了八个脉冲后,最先进入的第一个数据到达了最高位,再来一个脉冲,第一个脉冲就会从最高位移出,就象车站排队买票,栏杆就那么长,要从后面进去一个人,前面必须要从前面走出去一个人才行。8片74LS164首尾相串,而时钟端则接在一起,这样,当输入八位脉冲时,从单片机TXD端输出的数据就进入到了第一片74LS164中了,而当第二个八位脉冲到来后,这个数据就进入了第二片,而新的数据则进入了第一片74LS164,这样,当第八个八位脉冲完成后,首次送出的数据被送到了第八个74LS164中,其他数据依次出现在第一、二、三、四、五、六、七片74LS164中。在第一个脉冲到来时,除了第一片74LS164中接收数据外,其他各片也在接收数据,因为它们的时钟端都是被接在一起的,可是数据还没有送到其他各片呢,它们在接收什么数据呢其实所谓数据不过是一种说法而已,实际就是电平的高低,当第一个脉冲到来时,第一片74LS164固然是从单片机接收数据了,而其它各片也接到前一片的Q7上,而它是一根电线,在数字电路中它只可能有两种状态低电平或高电平,也就是“1”和“0”。所以它的下一片74LS164也相当于是在接收数据。只是接收的全部是1或0而已。34整形电路341LM339LM339集成块内部装有四个独立的电压比较器,该电压比较器的特点是1)失调电压小,典型值为2MV;2)电源电压范围宽,单电源为236V,双电源电压为1V18V;3)对比较信号源的内阻限制较宽;4)共模范围很大,为0(UCC15V)VO;5)差动输入电压范围较大,大到可以等于电源电压;6)输出端电位可灵活方便地选用。图39LM339封装LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一个输出端。两个输入端一个称为同相输入端,用“”表示,另一个称为反相输入端,用“”表示。用作比较两个电压时,任意一个输入端加一个固定电压做参考电压(也称为门限电平,它可选择LM339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“”端电压高于“”端时,输出管截止,相当于输出端开路。当“”端电压高于“”端时,输出管饱和,相当于输出端接低电位。两个输入端电压差别大于10MV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻(称为上拉电阻,选315K)。选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。342斯密特触发器施密特触发器也有两个稳定状态,但与一般触发器不同的是,施密特触发器采用电位触发方式,其状态由输入信号电位维持;对于负向递减和正向递增两种不同变化方向的输入信号,施密特触发器有不同的阀值电压。门电路有一个阈值电压,当输入电压从低电平上升到阈值电压或从高电平下降到阈值电压时电路的状态将发生变化。施密特触发器是一种特殊的门电路,与普通的门电路不同,施密特触发器有两个阈值电压,分别称为正向阈值电压和负向阈值电压。在输入信号从低电平上升到高电平的过程中使电路状态发生变化的输入电压称为正向阈值电压,在输入信号从高电平下降到低电平的过程中使电路状态发生变化的输入电压称为负向阈值电压。正向阈值电压与负向阈值电压之差称为回差电压。图310施密特触发器输入输出波形它是一种阈值开关电路,具有突变输入输出特性的门电路。这种电路被设计成阻止输入电压出现微小变化(低于某一阈值)而引起的输出电压的改变。利用施密特触发器状态转换过程中的正反馈作用,可以把边沿变化缓慢的周期性信号变换为边沿很陡的矩形脉冲信号。输入的信号只要幅度大于VT,即可在施密特触发器的输出端得到同等频率的矩形脉冲信号。当输入电压由低向高增加,到达V时,输出电压发生突变,而输入电压VI由高变低,到达V,输出电压发生突变,因而出现输出电压变化滞后的现象,可以看出对于要求一定延迟启动的电路,它是特别适用的从传感器得到的矩形脉冲经传输后往往发生波形畸变。当传输线上的电容较大时,波形的上升沿将明显变坏;当传输线较长,而且接受端的阻抗与传输线的阻抗不匹配时,在波形的上升沿和下降沿将产生振荡现象;当其他脉冲信号通过导线间的分布电容或公共电源线叠加到矩形脉冲信号时,信号上将出现附加的噪声。无论出现上述的那一种情况,都可以通过用施密特反相触发器整形而得到比较理想的矩形脉冲波形。只要施密特触发器的VT和VT设置得合适,均能受到满意的整形效果。施密特触发器的应用1波形变换可将三角波、正弦波等变成矩形波。2脉冲波的整形数字系统中,矩形脉冲在传输中经常发生波形畸变,出现上升沿和下降沿不理想的情况,可用施密特触发器整形后,获得较理想的矩形脉冲。3脉冲鉴幅幅度不同、不规则的脉冲信号时加到施密特触发器的输入端时,能选择幅度大于欲设值的脉冲信号进行输出。343整形电路工作原理由LM339构成的施密特触发器图311整形电路分析计算。(3VKURUKN024561209872MIN11)。(3VKRKN392561209872MAX12)。(3VKURUKN0471561065423)VCC接5V电压,GND接地。LM339内有四片电压比较起,选用A、B两片。R1、R3均为10K作为限流电阻。R8通过滑变调节比较基准电压UN1,从而使UN1UN2。当输入正弦信号大于UN1时,AINUOM;当输入正弦信号小于UN1是,AINUOM。当输入正弦信号大于UN2时,BINUOM;当输入正弦信号小于UN2是,BINUOM。于是,两路具有相位差正弦信号通过两片基准电压相同的LM339,形成两路具有相位差的矩形波信号。此两路正弦波信号通过LM339组成的施密特触发器的放大和整形,送入FPGA,供其分析、比较和计算。35整机电路首先,两路具有相位差正弦信号经过两片LM339接成的施密特触发器,被整形和放大为两路具有相位差的矩形波信号。然后由FPGA对此两路信号进行采集,测量和计算。FPGA内部的四分频器对输入的40MHZ始终脉冲CLK进行4分频,得到系统所需要的10MHZ时标信号CLKF。两路矩形波信号通过异或门形成时差信号。19BIT加1计数器DA,完成对CLKF的计数,形成19位的频率和相位差二进制数据。频率信号和相位差二进制数据分别存储在寄存器1、2,供二选一数据选择器选择。二选一数据线选择器根据MCU发出的握手信号,选择输出频率或相位差二进制数据。单片机完成对FPGA的控制后,使FPGA按照单片机的要求通过19根I/0线分时发送被测信号的周期数据、相位差对应的时间差数据。MCU与FPGA的握手信号为FEN,DSEL,分别接在P13和P15引脚。P17接入一个轻触按键,结合软件编程实现频率与相位差显示切换功能。单片机通过分析和计算,把得出结果送串行口RXD和TXD显示。最后,移位寄存器74LS164时钟CLK连接单片机的TXD端,第一片芯片的AB端连接单片机的RXD端,74LS164芯片的主控复位端接高电平VCC。74LS164的输出Q0Q7分别接LED数码管的DP、G、F、E、D、C、B、A,并且Q7连接下一个74LS164的A、B端。由8个8段数码显示管完成对测量结果的显示。整机电路如图312所示EA/VP31XTL928RS7D6WIN045OGCUMBKQFHJFGEDCBAZIN。图312整机电路4PCB设计虽然当今ORCAD和POWERPCB已经开始走俏,但不管哪种软件,只要用起来方便,能很好的设计自己所需的产品,用哪种都一样的。在此次设计中,采用的是DXP软件画图,在电子产品的研发过程中,它是不可缺少的工具,它应该也是硬件设计中关键性的一步,接下来介绍DXP需注意的设计流程、常见错误及设计规则。PCB的设计流程分为原理图绘制、网络表的生成、PCB元件导入、元器件布局、规则设置、布线、设计输出七个步骤。根据所选好的项目画好原理图,与合作者或者行家讨论原理图的正确性,是否符合设计者的要求,对此进行一定的修改。在保存好原理图之前,将所有元件的封装都做好,没有的要按实际尺寸去画好元件封装。这时候只要点击菜单栏中的DESIGNCREATENETLIST就可以生成网络表。一般来说,只要电路图没有太大的问题,设计图的DRC检查也不会出太大的问题。新建一个PCB文件,在原理图编辑状态下,只要点击UPDATEPCB就可以生成PCB文件。网表输入以后,所有的元器件都会放在工作区的零点,重叠在一起,下一步的工作就是把这些元器件分开,按照一些规则摆放整齐,即元器件布局。DXP提供了两种方法,手工布局和自动布局。在这里并不主张用自动布局,特

温馨提示

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

评论

0/150

提交评论