




已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xxx学院毕业设计论文题 目: 基于单片机和FPGA的位同步信号提取 专业班级: xx 学生姓名: x 学 号: xx完成日期: 2x年6月 指导教师: xx 实验师 评阅教师: 20xx 年 6 月 xxx学院应用技术学院毕业设计(论文)诚 信 承 诺 书本人慎重承诺和声明:所撰写的基于单片机和FPGA的位同步信号提取是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均已注解说明来源,本人愿意为由此引起的后果承担责任。设计(论文)的研究成果归属学校所有。 学生(签名) 年 月 日 xxx学院应用技术学院毕业设计(论文)任务书 设计(论文)题目: 基于单片机和FPGA的位同步信号提取 姓名x 专业 x 班级 x 学号 16 指导老师 x 职称 实验师 教研室主任 x 一、基本任务及要求: 本课题是设计一具有通用性的输入信号的位同步提取系统,系统可以实现10HZ1MHZ的信号同步。使用单片机进行实时控制现场可编程逻辑门阵列FPGA完成位同步信号提取,通过理论和实验研究,完成硬件电路和软件设计并试制样机,要求完成: 1、单片机实时控制FPGA,完成实时频率跟踪测量和自动锁相; 2、在FPGA 内部,设计完成以下部分: A、全数字锁相环DPLL,主要包含:数控振荡器、鉴相器、可控模分频器 B、LED动态扫描电路、FPGA和单片机的数字接口,以完成两者之间的数字传递3、 设计辅助电路:键盘、LED; 二、进度安排及完成时间: (1)第二周至第四周:查阅资料、撰写文献综述和开题报告; (2)第五周至第六周:毕业实习; (3)第六周至第七周:项目设计的总体框架:各个模块以及各个模块之间的关系确定,各个模块的方案选择与各个模块的所用主要器件的确定; (4)第八周至第十三周:各个模块的主要器件熟悉及相关知识的熟悉;各个模块的具体任务实现:硬件电路、软件编程; (5)第十四周至第十五周:系统的总体仿真与调试 (6)第十六周至第十七周:撰写设计说明书 ; (7)第十八周:毕业设计答辩; 目 录摘 要IAbstractII引 言1第1章 绪 论21.1 位同步技术当前的发展21.2 EDA简介31.3 8051型单片机41.4 FPGA器件简介41.4.1 FPGA器件的发展41.4.2 FPGA器件的结构51.4.3 Altera器件及EPM706471.5 FPGA开发过程简介81.6 C语言91.7 VerilogHDL91.8 MAX+PLUS II 概述10第2章 系统组成结构112.1 单片机模块112.2 键盘模块112.3 测频、输出显示模块122.4 数字锁相环(DPLL)模块13第3章 各模块的具体设计及实现143.1 单片机模块的设计与实现143.2 键盘模块的设计与实现153.2.1 设计中问题和解决方法153.2.2 键盘设计的软件设计163.3 测频、输出显示模块的设计与实现173.3.1 测频部分173.3.1.1 测频电路的设计实现173.3.1.2 测频模块的软件设计173.3.2 显示部分183.3.2.1 7448芯片介绍183.4 锁相环模块的设计与实现213.4.1 鉴相器的选择213.4.2 可编程K可逆计数器的设计223.4.3 I/D线路的设计243.4.4 可编程N分频器的设计25第4章 位同步信号提取系统整体测试284.1 锁相环的仿真与测试284.2 单片机软件的测试294.3 系统的整体测试31参考文献33致 谢34附录A 单片机软件设计程序35附录B FPGA芯片内部模块的Verilog HDL设计58基于单片机和FPGA的位同步信号提取摘 要:本文所设计的位同步系统是使用单片机进行实时控制现场可编程门阵列(FPGA)进行同步的,在此设计中,本文主要做了以下内容:1、单片机实时控制FPGA完成实时频率跟踪测量和自动锁相。2、在FPGA内部,设计有以下两部分:a、 全数字锁相环(DPLL),主要包括数控振荡器、鉴相器、可控模N分频器。b、 LED动态扫描电路、FPGA和单片机的数据接口,以完成两者之间的数据传递。 3、设计辅助电路:键盘、LED显示、信号源等。 4、整体测试表明:系统可以实现10Hz到1MHz的信号同步,键盘及显示电路工作正常。 关键字:单片机、电子设计自动化(EDA)、Verilog HDL、数字锁相环According To The MCU And FPGA The Bit Synchronous Signal WithdrawABSTRACT:This text for designing the synchronous system is an usage MCU to control the Fileld Programmable Gate Array(FPGA) reallyThis design primarily completes missions as below1、 The MCU complete solid hour measure frequency follow with auto lock the phase2、 In the FPGA inner part ,the design have below two parts:a The Digital Phase Locked Loop(DPLL),primarly include Digital Controled Oscillatory,Pahse Detector,N Dividerb The LED Dynamicly scan and display circuit,Interface circuit between MCU and FPGA3、 Design assistant electric circuit:The keyboard,LED shows,signal source etc4、The whole test enunciation:the system can realize 10Hz to 1MHz signal is synchronous,keyboard electric circuit and manifestation electric circuit work is normalKEYWORDS:MCU EDA Verilog HDL DPLL引 言在科学飞速发展的今天,世界已进入了数字化、信息化的时代。其中,通信技术的发展最为迅速。从第一代模拟移动通信,到今年即将运营的3G移动通信,仅仅数年的时间。与此同时,(微)电子技术也在以很快的速度进步着,利用FPGA作原型设计及前期样品生产的作法将会逐渐流行起来。通过使用FPGA/CPLD,可得到降低成本和上市时间快等的好处。数据通信的应用需求量很大,我国路由器产品采用FPGA/CPLD起了很大作用。伴随着微电子工业的发展,今天的FPGA已经可以做系统级芯片了。技术的融合,使得各种科学技术不再独立,而是联合应用在一起,发挥更大的功效。本课题的目的是设计出一个具有通用性的输入信号的位同步提取系统,系统可以实现10Hz1MHz的信号同步,使用单片机进行实时控制现场可编程逻辑门阵列FPGA完成对同步信号的提取。该系统以FPGA器件作为控制的核心,配合单片机使整个系统显得尤为精简,能达到所要求的技术指标,具有灵活的现场更改性,还有高速、精确、可靠、抗干扰性强等优点。最重要的一点便是它能实现对不同的位同步信号进行提取,能够满足本课题的要求。第1章 绪 论 同步是通信系统中一个重要的实际问题。在通信系统中,同步具有相当重要的地位。通信系统能否有效地、可靠地工作,很大程度上依赖于有无良好的同步系统。当采用同步解调或相干检测时,接收端需要提供一个与发射端调制载波同步同频同相的相干载波。获得这个相干载波的过程称为载波提取,或称为载波同步。数字通信中,除了有载波同步的问题之外,还有位同步的问题。由于本次设计主要是在现场可编程门阵列(Field Programmable Gate Array)技术为基础来完成的,所以还在概念上介绍了FPGA的发展、芯片结构、8051型单片机、以及简单介绍了FPGA的开发过程,EDA的使用和开发语言C语言和Verilog HDL。1.1 位同步技术当前的发展数字通信中一个很重要的问题就是位同步问题,因为消息是一串连续的信号码元序列,解调时必须知道每个码元的起止时刻。因此,接收端必须产生一个时钟用作定时脉冲序列,它和接收的每一个码元的起止时刻一一对齐。我们把在接收端产生于接收码元的重复频率和相位一致的定时脉冲序列的过程称为码元同步或位同步,而称这个定时脉冲序列为码元同步脉冲或位同步脉冲。数字通信中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”。因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。当通信是在两点之间进行时,完成了载波同步、位同步和帧同步之后,接收端不仅获得了相干载波,而且通信双方的时标关系也解决了,这时,接收端就能以较低的错误概率恢复除数字信息。然而,随着数字通信的发展,特别是计算机通信及计算网络的发展,通信系统也由点对点的通信发展到多点间的通信,显然,为了保证通信网内各用户之间可靠的进行数据交换,还必须实现网同步,即在通信网内由一个统一的时间节拍标准。同步系统的性能的降低,会直接导致通信系统性能的降低,甚至使通信系统不能工作。可以说,在同步通信系统中,“同步”是消息传输的前提,正是因为如此,为了保证消息的可靠传输,要求同步系统应有更高的可靠性。1.2 EDA简介电子设计自动化(EDA)技术研究的对象是电子设计的全过程,有系统级、电路级和物理级各个层次的设计:涉及的电子系统从低频、高频到微波,从线性到非线性,从模拟到数字。从通用集成电路到专用集成电路构造的电子系统,因此EDA技术研究的范畴相当广泛。 在电子设计技术领域,可编程逻辑器件的应用,已有了很好的普及,这些器件为数字系统的设计带来极大的灵活性。由于该器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。传统的数字电路设计模式,如利用卡诺图等逻辑化简手段以及难懂的布尔方程表达方式和相应的TTL或4000系列夸集成规模芯片的堆砌技术正在迅速地退出历史舞台。电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术。它与电子技术、微电子技术的发展密切相关。它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计Computer Aided Design)、CAM(计算机辅助制造Computer Aided Manufacture)、CAT(计算机辅助测试Computer Aided Test)和CAE(计算机辅助工程Computer Aided Education)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上。根据硬件描述语言HDL完成的设计文件。自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGACPLD器件,就可以得到最后的设计结果。尽管,目标系统是硬件但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也已比较高。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说。由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。EDA的实现是与CPLDFPGA技术的迅速发展息息相关的。CPLDFPGA是80年代中后期出现的,其特点是具有用户可编程的特性。利用CPLDFPGA,电子系统设计工程师可以在实验室中设计出专用IC,实现系统的集成,从而大大缩短了产品开发、上市的时间,降低了开发成本。此外,CPLDFPGA还具有静态可重复编程或在线动态重构的特性,使硬件的动能可以像软件一样通过编程来修改,不仅使设计修改和产品升级变得十分方便,而且极大地提高了电子系统的灵活性和通用能力。1.3 8051型单片机8051片内有4KROM,无须外接存储器和373,更能体现“单片”的简练。8051单片机的片内结构如图1.1所示。如果按功能划分,它由8个部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,其基本结构依然是采用CPU加上外围芯片的传统结构模式。但对各功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。图1.1 8051单片机的片内结构1.4 FPGA器件简介1.4.1 FPGA器件的发展FPGA器件(Field Programmable Gate Array)-用户现场可编程门阵列集成电路是20世纪80年代中期出现的一种新概念,是倍受现代数字系统设计工程师欢迎的最新一代系统设计积木块。由于半导体技术的飞跃发展,数字系统应用经历了分立元件、小规模集成电路(SSI)、中规模集成电路(MSI)和大规模集成电路(LSI)及超大规模集成电路(VLSI)的发展过程,数字系统应用的基本特征也由中小规模集成度的标准通用集成电路向用户定制的专用集成电路(ASIC)过渡。20世纪80年代出现了可编程逻辑器件(PLD),在一定程度上,为数字系统设计工程师进行快捷、灵活的设计提供了可能性,PLD器件的应用使一系列功能强、速度高、灵活性大的积木式系统设计得以成功。但是,随着现代数字系统设计的发展,PLD器件无论在集成容量、功耗、速度还是逻辑设计的灵活性上,均不能满足现代数字系统的大容量、高速度、现场灵活可编程设计的要求。这类器件集成度还是达不到非常高,内部资源和I/O管脚也不够多,在进行大型系统设计时,使用此类器件就显得不够理想了。FPGA器件的产生将半定制的门阵列电路的优点和可编程逻辑器件的用户可编程特性结合在一起,使其不仅包含大量的门电路,具有高速度,使设计的电子产品达到小型化、集成化和高可靠性,而且器件具有用户可编程特性,大大缩短了设计周期,减少了设计费用,降低了设计风险。进人90年代后,随着半导体技术的发展,构造许多电子系统仅仅需要现场可编程门阵列。FPGA是最新一代的可编程逻辑器件,它为系统设计人员提供了一条研制开发大型系统的有效捷径,FPGA正在被看作是电路器件和电路设计上的一场革命。 FPGA单片中的等效逻辑门一般有几千甚至多达2万,I/O引脚多达200以上,密度极大。用几十片PAL、GAL或几百片标准数字集成电路搭成的系统用一片FPGA就可以实现。FPGA的结构灵活,它的逻辑单元、互连资源和I/O单元都可以由用户编程,现任何逻辑功能,满足各种设计要求。FPGA的开发工具十分先进。在用FPGA进行系统设计时,用户所做的工作仅仅是用计算机绘制出系统的电路原理图,其余的工作都可以由开发系统来自动完成。多数FPGA都既能重复编程,又可以重复使用,还可在开发系统中直接进行仿真。所以,使用FPGA没有前期投资风险,也没有工艺实现中的损耗。FPGA的特点是速度快,功耗低,通用性好,适应性强,它不仅可以代替传统的数字集成电路,而且还可以代替一般的PLD器件和半定制的ASIC,特别适用于复杂系统的设计。使用FPGA可以非常大的减小硬件规模,降低设计成本,缩短设计周期,提高系统的可靠性、灵活性和保密性。FPGA已经成功地应用于计算机硬件、工业控制、遥感遥测、雷达声纳、数据处理、智能仪表、广播电视和医疗电子等多种领域中。在现代通信中,FPGA已经成功地用作程控交换、数字复接、压缩扩张、编码译码和调制解调等。1.4.2 FPGA器件的结构FPGA现场可编程门阵列器件通常由布线资源围绕的可编程单元(或宏单元)构成阵列,又可由可编程I/O单元围绕阵列构成整个芯片,如图1.2所示。排成阵列的逻辑单元由布线主道中的可编程连线连接起来实现一定的逻辑功能。一个FPGA可能包含有静态存储单元,它们允许内部的模式在器件被制造以后再被加载或修改。图1.2 FPGA基本结构FPGA是由掩膜可编程门阵列和可编程逻辑器件演变而来的,将它们的特性结合在一起,使得FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。目前FPGA的逻辑功能块在规模和实现逻辑功能的能力上存在很大差别。有的逻辑功能块规模十分小,仅含有只能实现倒相器的两个晶体管;而有的逻辑功能块规模比较大,可以实现任何五变量输入逻辑函数的查找表结构。据此可把FPGA分为两大类,即细粒度(fine-grain)和粗粒度(coarse-grain)。细粒度逻辑块是与半定制门阵列的基本单元相同,它由可编程互连来连接少数晶体管组成,规模都较小,主要优点是可用的功能块可以完全被利用;缺点是采用它通常需要大量的连线和可编程开关,使相对速度变慢。由于近年来工艺不断改进,芯片集成度不断提高,加上引入硬件描述语言(HDL)的设计方法,不少厂家开发出了具有更细粒度结构的FPGA。例如,XILINX公司采用Micro Via技术的一次编程反熔丝结构的XC8100系列就是逻辑功能块规模较小,细粒度结构的FPGA。而粗粒度FPGA功能块规模较大并且功能较强。从构成它的可编程逻辑和可编程互连资源来看,主要有两类逻辑块的构造。其一是查找表类型;其二是多路开关类型,由此形成两种FPGA的结构。第一种是具有可编程内连线的通道型门阵列。它采用分段互连线,利用不同长度的多种金属线经传输管将各种逻辑单元连接起来。布线延时是累加的、可变的,并且与通道有关。第二种是具有类似PLD可编程块阵列的固定内连布线,采用连续互连线,利用相同长度的金属线实现逻辑单元之间的互连,布线延时是固定的,并且可预测。1.4.3 Altera器件及EPM7064 高密度PLDs在当今的半导体工业中可谓是飞速发展。公司在提供解决方案的领域一直处于领先地位。Altera器件具有良好性能、极高的密度和非常大的灵活性,除了具有一般PLDs的特点之外,还具有这些优点:先进的处理技术、性能高、逻辑集成密度高、性价比高、开发周期短和在线可编程等。Altera公司生产的器件主要有Classic系列、MAX系列、Cyclone系列、Stratix系列、APEX系列、ACEX系列以及FLEX 10K系列。 MAX系列器件采用高性能的EPROM工艺实现了多阵列矩阵体系结构。内部主要有以下组成部分: 逻辑阵列块(logic array blocks) 宏单元(macrocells) 扩展乘积项(expanded product terms) 可编程互联阵列(programmable interconnect array) 控制块(I/O control blocks) MAX 7000芯片包含有4个专用的输入管脚,可以用来作为普通的输入管脚或者是作为每一个宏单元和I/O管脚的高速、全局控制信号(时钟、清零和2个输出使能)。如图1.3所示为EPM7064器件的结构。4个专用管脚分别为:INPUT/GCLKl,INPUT/GCLRn,INPUT/OEln和INPUT/OE2n。每一个逻辑阵列块包含有16个宏单元,宏单元之间通过可编程互联阵列传递信号,专用输入管脚和逻辑阵列块以及可编程互联阵列相连接。图1.3 EPM7064器件的结构1.5 FPGA开发过程简介1、设计过程设计前期:将用户要求转换为用于设计的技术规范;设计过程:软/硬件划分、电路设计与软件开发、系统仿真、可靠性分析、制造和生产、系统测试。设计后期:为系统软件和硬件的测试生产测试程序和测试矢量。2、设计方法:层次设计方法:系统级、寄存器传输级、门级、电路级和器件级。Bottom-up Design Method。Up-down Design Method-高级综合方法。 3、FPGA开发流程如图1.4所示:设计输入设计编译设计验证编程及硬件测试布尔方程输入真值表输入硬件描述语言输入图形输入波形输入状态输入设计器件匹配设计划分设计规范检查时序分析多芯片模拟时序模拟功能模拟图1.4 FPGA开发流程1.6 C语言C语言是当今世界最流行的语言之一,它集计算机语言的优点于一身,成为具有较强生命力的程序设计语言。C语言有如下特点: 1是处于汇编语言和高级语言之间的一种语言。C语言较靠近硬件与系统,与汇编语言较为接近。C语言既有面向硬件和系统,像汇编语言那样可以直接访问硬件的功能。又有高级语言面向用户、容易记忆、方便阅读和书写的优点。 2是一种可以进行结构化程序设计的程序语言,即可以用顺序、选择和循环三种基本结构实现程序的逻辑结构。C语言具有诸如if-else、switch-case、for、do-while、while等结构化语句,十分便于采用自顶向下、逐步细化的结构化程序设计技术。因此,用C语言编制的程序,具有易于理解、便于维护的优点。 3使用方便、灵活,可以使程序简洁、紧凑。C语言只有32个标准的关键字、45个标准的运算符以及9种控制语句。 4运算符十分丰富,除一般语言使用的加、减、乘、除、取余、取反等算术运算及与、或、非逻辑运算功能外,还可以实现以二进制位(bit)为单位的位与、或、非、异或以及移位等位运算和单项运算等复合运算功能。除了具有基本的数据类型外还具有多种构造数据类型,因此,C语言具有较强的数据处理能力。 5允许直接访问物理地址,能实现二进制位操作。能实现汇编语言的很多功能,可以直接对硬件进行操作,这为编写系统软件提供了便利。1.7 VerilogHDLVerilog HDL的特点是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握。它是由GDA(Gateway DesignAutomation)公司的PlulMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了VerilogHDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-1995。1.8 MAX+PLUS II 概述MAX+PLUSII是Altera提供的FPGA/CPLD开发集成环境, MAX+PLUSII提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。在 MAX + PLUS II软件提供的设计环境中可以完成设计输入、设计编译、设计仿真和器件编程四个设计阶段。在设计输入阶段,用户可以采用图形输入、文本输入和波形输入三种方式输入设计文件,但波形输入方式只能在工程设计的底层使用。在设计编译阶段,MAX + PLUS II编译器依据设计输入文件自动生成用于器件编程、波形仿真及延时分析等所需的数据文件。在设计仿真阶段,MAX + PLUS II仿真器和时延分析器利用编译器产生的数据文件自动完成逻辑功能仿真和时延特性仿真。并且可以在设计文件中加载不同的激励,观察中间结果以及输出波形。必要时,可以返回设计输入阶段,修改设计输入,达到设计要求。在器件编程阶段,MAX + PLUS II编程器将编译器生成的编程文件下载到Altera器件实现对器件编程。此后,可以将实际信号送入该器件进行时序验证。因为CPLDFPGA芯片能够可重复编程,所以如果动态时序验证的结果不能满足用户的需要时,用户可以返回到设计阶段重新设计,然后重复上面的步骤,最终达到设计要求。图1.5中所示的是标准的EDA开发流程。图1.5 MAX+PLUSII设计流程第2章 系统组成结构 位同步信号的提取系统,是对输入信号进行测量,进而对其跟踪、捕捉,最后将其显示的数字系统。系统的组成如图所示:图2.1 系统组成框图2.1 单片机模块 在此模块中,单片机主要起到扫描键盘、控制测频模块输出显示及控制锁相环的功能。其中,扫描键盘的功能是:单片机通过扫描键盘,确定按键,然后根据不同的按键指令执行相应的功能,从而实现了人工对系统的控制。控制测频模块输出显示的功能是: 单片机根据按键的指示,如果在自动等待状态,“确认”后,单片机控制测频部分,进行对输入信号的频率测量,然后将测量结果以十进制显示出来;若已知信号频率,便可根据显示结果来判断系统的同步性。2.2键盘模块 键盘是本系统中人工控制的重要模块。无论是编码键盘还是非编码键盘,都必须具备去抖动、防串键、按键识别和产生键码的功能。功能具体描述如下:去抖动:利用软件延时,待抖动消失后按键。防串键:利用轮回技术,按顺序依次产生相应的键码。按键识别:由程序对键盘进行扫描,通过检测列输出状态确定闭合键。输入口输出口各设置一个。产生键码:当时别到有键按下,通过行扫描码和烈返回码得到此码。不同键码实现不同功能。本次设计所使用的是44键盘,如图2.2所示:图2.2 44键盘各键功能如表2.1所示:表2.1 44键盘按键功能表属 性键 名功 能功 能 描 述控制键MOD功能选择任何状态下使用FSEL选择输入信号频率187.5KHz 350KHz 46875Hz CP4RST复位重新开始CLR清除输入错误,可以清除ENT确认在自动状态下,开始同步;在人工状态下,输入数据后,确认开始数字键09:输入数字在人工输入等待状态下,用于输入待同步信号的频率,其它状态下不可使用本次设计为节约成本,选择非编码键盘。2.3 测频、输出显示模块为了设计一个具有通用性的位同步系统,就应当在锁相之前,知道输入信号的频率,这个功能应由系统自动完成。因此,需加入测频模块。在数字锁相环中,N分频器的分频决定了其中心频率,它是通过输入信号的频率经过计算得到的,对锁相环的稳定有很重要的作用。因此,此模块应具备下述功能: 第一,单片机发出清零脉冲,关闭输入与门,使输入信号与单片机T1脚断开。 第二,单片机发出启动脉冲,开启输入与门,使输入信号与T1脚接通。 第三,单片机定时结束,封锁输入与门。 为了显示出输入信号的频率,就得加入显示模块。在此,我采用动态显示,因为动态显示比静态显示有成本低等优点。动态显示的特点是,所有数码管占用同一个通道,每一时刻只亮一个管,在不同的时刻,依次选中数码管,从而实现动态扫描的目的。由于人眼有视觉误差的特点,扫描速度到达一定程度是,人眼就会出现数码管全亮的错觉。2.4 数字锁相环(DPLL)模块随着数字电路技术的发展,尤其是大规模集成电路及微处理机的广泛应用,使得通信与控制方面一些复杂的、灵敏的信号处理方法能在数字域付诸实施。锁相环相干数字通信系统中的关键部件,为了与数字系统兼容,吸收数字电路固有的可靠性高、体积小、价格低等优点,人们在发展模拟锁相环的同时,亦致力于发展数字锁相环。数字锁相环除具有数字电路的优点外,还解决了若干模拟环遇到的难题,如直流零点漂移、部件饱和、必须进行初始校准等,此外还具有离散样值的实时处理能力。这些都表明,数字锁相环的发展势必然的。锁相环是一个相位反馈控制系统,在数字锁相环中,由于误差控制信号是离散的数字信号而不是模拟电压,因而受控的输出相位的改变是离散的而不是连续的;此外,环路组成部件也全用数字电路实现,故而这种锁相环就称之为全数字锁相环(简称DPLL)。当然,还有一类锁相环,部分环路部件为数字电路,但是环路控制仍是模拟形式,这类锁相环只能是部分数字环。全数字锁相环组成如图2.3所示。它由数字鉴相器、数字滤波器与数字压控振荡器三个数字电路部件组成。(其中,数控振荡器由脉冲加减电路和N分频器构成)数字鉴相器DPD环路滤波器DLF数控振荡器 DCO图2.3 数字锁相环的组成第3章 各模块的具体设计及实现 在本章详细介绍了位同步系统中各个模块的实现方案及设计过程。并本着完整、可靠、有效和节约的方针,对系统进行构建。3.1 单片机模块的设计与实现 由于单片机要完成测频以及对其他模块的控制,因此,单片机设计的质量直接影响到整个系统的性能。通过了解系统需求,选择了8051型单片机。在编程方面,由于C语言较汇编语言有便于理解、记忆等优点,所以选用了C语言对单片机进行编程。单片机的软件分为五个状态:人工输入等待状态、自动等待状态、自动测量状态、捕捉状态和同步状态。系统状态定义表如表3.1所示:表3.1 系统状态定义表状态标志位状态含义STATE_AUTO目前状态为自动状态STATE_WAIT目前状态为等待状态,为自动状态和人工状态共用STATE_AUTO_MEN目前状态为测量状态,为自动状态专用STATE_MAN目前状态为人工状态STATE_MAN_INPUT目前状态为输入状态,为人工状态和等待状态专用STATE_MAN_SYN目前为人工同步状态STATE_MAN_WAIT目前为人工等待状态STATE_CAP目前为捕捉状态,为自动状态和人工状态共用STATE_SYN目前为同步状态,为自动状态和人工状态共用单片机模块主要使用了定时/计数器(T0和T1)及定时中断。其中T0用作定时器,采用工作方式一,定时为50ms;T1用作计数器,用来测量输入信号的频率。在不执行中断程序时,主程序检测键盘是否按下。如有键按下,根据不同的按键,改变当前的状态利用中断判断当前状态,执行相应的操作,就可以检测键盘和控制其它模块的工作了。在T0的基础上,T0中断程序内部使用一个减计数器,记录中断次数。通过判断计数器是否为零,决定服务程序的执行。在同步状态下,单片机定时测量输入信号的频率,及时进行跟踪、捕捉和同步,实现控制锁相环的目的。3.2 键盘模块的设计与实现 键盘的设计通常有两种方法:键盘扫描法和键盘中断法。在本设计中,采用了另外一种设计方法,就是利用FPGA强大的逻辑单元,自己设计和调用所需的芯片。因为MUX+PLUS II给FPGA设计带来了很大的灵活性,并有着较强的混合设计方式。为实现不同的功能,它提供了大量的元器件和宏功能符号供设计人员使用。 为了实时扫描键盘,必须为键盘制定一个和单片机可双向传输的接口:把P0口作为抵制和数据的复用口,P1用于测频控制,P3口用于中断和计数,P2口作为键盘的扫描口。连接情况如表3.2所示:表3.2 键盘与单片机连接表键盘引脚单片机引脚单片机脚号键盘引脚单片机引脚单片机脚号X1P2.425Y1P2.021X2P2.526Y2P2.122X3P2.627Y3P2.223X4P2.728Y4P2.3243.2.1 设计中问题和解决方法 在键盘的设计中,存在一些需要解决的问题。在本节,将会给出这些问题的解决方法。1、查询是否有键按下,首先单片机向行扫描P2.0P2.3输出全为“0”扫描码FOH,然后从列检查口P2.4P2.7输出列扫描线好,只要有一列信号不为“1”,则表示有键按下。2、查询按下键所在的位置。单片机将得到的信号去反,P2.4P2.7中,为1的就是键所在的列;要确定键所在的行,就需要进行逐行扫描。单片机首先使P2.0为“0”,P2.1P2.7为“1”,即向P2口发送扫描码FEH,接着输入列检查信号,若全为“1”,表示不在第一行,接着使P2.1接地,其余为“1”,在读入列信号这样逐行发“0”扫描码,直到找到按下键所在的行,将该扫描码去反保留。3、对得到的列号和行号进行译码,得到键值。4、当用手按下一个键时,往往会出现所按键在闭合位置和断开位置之间跳动几下后才稳定到闭合状态的情况,这就是键的抖动。在释放一个键的时候,也会出现类似情况。这样会引起对键的多次读入。解决方法是当单片机发现有键按下后,就立即停止逐行扫描,经过延时(约10ms)后在进行。5、闭合键的多次读入解决办法。可能在实际操作中,为了防止“一次按键,多次扫描”的问题的发生,应作如下处理:a、应设计存取区lastkey,以保存上一次的扫描键值。b、扫描是否有键按下。如没有,lastkey置零,表示此时键已松开或无键按下。c、逐行扫描,得到键特征值。d、将特征值与lastkey相比,若相等表示键松开,则重新扫描;否则,将特征值保存在lastkey中,作为下一次的比较对象。e、根据得到的特征值,判断按键执行相应的程序。f、继续扫描键盘有无键按下。3.2.2 键盘设计的软件设计 通过对键盘模块进行具体描述后,下一步就应当用软件编程来实现单片机键盘扫描的功能,扫描的程序如下(若无键按下,则返回值为(0): uchar kbscan(void) uchar scode,record; P2=0xF0; if (P2&0xF0)!=0xF0) dlms(); if (P2&0xF0)!=0xF0) scode=0xFE; while(scode&0x10)!=0 P2=scode; if (P2&0xF0)!=0xF0) record=(P2&0xf0)0xof; ruturn(scode)+(record); else scode=(scode1)0x10; return(0); 3.3 测频、输出显示模块的设计与实现 在本节中,我们将测频和输出显示模块的设计与实现分开讨论。3.3.1 测频部分 测频部分的设计和实现主要分为电路设计与软件编程设计。3.3.1.1 测频电路的设计实现 根据单片机的原理,定时器/计数器在每个机器周期的S5P2期间采样Tx脚输入信号,若一个机器周期的采样值为1,下一个机器周期的采样值为0,则计数器加1。由于识别一个高电平到低点平的跳变需要两个机器周期,所以外部计数脉冲的频率应小于fosc/24,且高电平与低电平的延续时间均不得小于一个机器周期。设计使用的单片机,fosc=12MHz,所以测量频率finfosc/24=500KHz。因此还要加入一个附加电路,起到一个二分频的作用,这样测量频率就可达到1MHz。测频电路和分频电路如图3.1所示:图3.1 测频电路和分频电路3.3.1.2 测频模块的软件设计根据测频电路的设计功能,对其进行软件那编程。首先,P16_ctrr发一个清零负脉冲,使U1、U2两个D触发器复位,其输出封锁与门G1和G2。接着由P17_ctrr发一个启动正脉冲,其有效上升沿使U1=1,门G1被开放。而后,被侧脉冲上升通过G2送T1计数;同时启动计时开始,直到定时结束,从P6_ctrr发一个负脉冲,清零U2,封锁G2,停止T/C1计数,完成一次频率采样过程。测量T/C1定时时间为500ms,T/C0定时为100ms,程序5次中断后的时间就是5100ms=500ms,中断次数的计数值在precnt中。T/C0定时的计数初值:03CB0H。计数1采用16位计数。设T/C0为高优先级,允许计数中断过程定时中断,即定时时间到就终止计数。3.3.2 显示部分为了让使用者可以直观的看到被跟踪信号的频率,所以在测频后,加入了显示模块。由于显示电路的数据由单片机提供,并且采用了动态扫描方式进行显示,所以我们必须为单片机提供输出锁存器。并且在显示电路的FPGA实现中,这里通过使用Verilog语言和图形相结合的方法来设计实现现实模块。在显示电路中,我使用了MAX+PLUS II软件中的7448芯片,还根据实际需要设计扫描和数据锁存口。3.3.2.1 7448芯片介绍7448芯片是一块专用于7段数码管的驱动芯片,因为其输入为8421BCD码,输出为段显示码,所以被广泛地应用在显示电路中。芯片模型如图3.2所示:图3.2 7448芯片模型部分引脚功能如下:灭灯输入BIN:BIN是特殊控制端,当BI=0时,无论其他输入端是什么电平,所有各段输出均为0。试灯输入LTN:当LT=0时,无论其他输入端是什么状态,所有各段输出均为1,显示为“8”。该端口主要用于测试数码管的好坏。动态灭零输入RBIN:当LT=1,RBIN=0且输入码DCBA=0000时,各段输出均为低电平,与BCD码对应的字形熄零。由7448芯片组成的动态扫描显示原理图如图3.3所示。3.3.2.2 动态扫描电路的软件设计根据动态扫描电路的功能与原理图(图3.3),下面对扫描显示的外部电路进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025自考专业(法律)全真模拟模拟题及参考答案详解
- 2025年公务员考试时事政治常考点(网校专用)附答案详解
- 防腐树脂生产线项目商业计划书
- 2025石油石化职业技能鉴定考试能力提升B卷题库及参考答案详解【基础题】
- 2025年注册公用设备工程师考前冲刺练习题及完整答案详解(夺冠)
- 水库改建工程招商引资报告
- 2025年农村信用社招聘考试常考点试卷【综合卷】附答案详解
- 2025环卫垃圾处理工过关检测试卷及答案详解【名师系列】
- 2025年高校教师资格证之《高等教育法规》题库高频难、易错点模拟试题含答案详解(综合卷)
- 资料员之资料员基础知识考试彩蛋押题【模拟题】附答案详解
- 员工培训体系优化研究
- 冯友兰-人生的境界课件
- 传热学全套PPT完整教学课件
- 部编版六年级道德与法治上册第5课《国家机构有哪些》优秀课件
- 高中心理健康教育北师大版高二全册第6课《温故知新》省级名师优质课教案比赛获奖教案示范课教案公开课教案
- 瑞美检验医生工作站操作手册
- 欧美电影文化(上海工程技术大学)【智慧树知到】网课章节答案
- 双人心肺复苏
- 全过程工程咨询服务大纲
- T-GDPA 3-2021 奥利司他胶囊质量标准
- GB/T 42061-2022医疗器械质量管理体系用于法规的要求
评论
0/150
提交评论