【数据通信系统激励源中的数字逻辑设计12000字(论文)】_第1页
【数据通信系统激励源中的数字逻辑设计12000字(论文)】_第2页
【数据通信系统激励源中的数字逻辑设计12000字(论文)】_第3页
【数据通信系统激励源中的数字逻辑设计12000字(论文)】_第4页
【数据通信系统激励源中的数字逻辑设计12000字(论文)】_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

PAGE16PAGE17数据通信系统激励源中的数字逻辑设计摘要:激励源中的数字逻辑设计是对数据通信系统的侦察与干扰中的一部分,主要通过可编程逻辑器件FPGA完成整个系统所需的时序要求,论证了以SRAM技术为基础的FPGA的配置方法,并以Altera公司FLEX10K系列器件为例,提出了一种利用单片机对可编程逻辑器件进行被动并行异步配置(PassiveParallelAsynchronous,PPA)方案。该方案能在系统复位或上电时自动对器件编程,有效的解决了基于SRAM的FPGA器件掉电易失性的问题。通过FPGA利用线性反馈移位寄存器(LFSR)产生伪随机序列,由伪随机序列产生干扰源,用DSP调制干扰源并通过多通道缓冲串口(McBSP)发送到外部设备,由HPI口加载DSP程序。关键词:单片机;被动并行;伪随机序列目录TOC\o"1-3"\h\z0概述 11总体方案论证 22硬件电路设计 42.1FPGA配置电路设计 42.2单片机单元电路设计 142.3电源电路设计 152.4TMS320C54XDSP的串口(McBSP)和HPI口简介 163软件设计 173.1软件简介 173.2程序说明 204结束语 22参考文献 230概述伴随着集成电路以及微电子技术的大规模发展,通信技术的每个环节都有数字化的身影。有了数字通信,通信的质量、内容、速率方面都得到了不小的改善。经济的发展也离不开数字通信,它不仅为通信的质的变化带来了商机,也用更快、更安全的通信方式为企业注入了新的活力。这些年来,人们又再次关注到短波通信,技术在不断的改进,短波通信的很多方面都得到了提高,比如可靠性、稳定性、通信的质量以及传输的速率。很多数据表明,短波通信系统经过现代的科学改造后能够为使用者提供可靠的交流手段。除此之外,在短波信号的传播特性的影响下,这种信号在某些场合发挥着很有意义很重要的作用,因为它有很强的生存能力。特别是在军事通信领域,中远程军事指挥的有效通信手段之一就是短波通信。在现代战争中,通信对抗的使用变得更广泛了,在许多领域都是这样。例如遥控与遥测对抗、侦察与反侦察、导航对抗等军事作战系统。通信发挥着特别的独一的作用在未来的战局中。如果通过干扰敌方雷达的方式来清楚武器的话,战场上的通信系统可能会受到损坏和干扰,那么武器的成组操作将不正常。人类通过智慧培养的信息化军队像是“超人”,他的身体每个“器官”都由不同的设备构成,他的头是指挥控制中心。他的腿是飞机坦克等作战的平台,他的手臂是各种火炮导弹,警报和视频侦察卫星、雷达、夜视设备和声纳是他的眼睛,信息系统是他的耳朵。而他的神经是通讯系统,神经系统一旦失灵的话,他身体的各个器官都可能不听使唤,轻则受一些皮外伤,严重的话可能会导致瘫痪。如今的时代掀起了一场“电子战”,其中通信对抗作为一只无形的手,操控着战争的趋势。本文采用FPGA作为数字激励源的逻辑设计,数字激励源是这些对抗设备的重要组成部分,具有重要意义。有些人曾经想过设计可编程逻辑器件,但当时由于集成电路技术的限制,他们未能实现自己的愿望。20世纪下半叶,集成电路技术迅速发展,可编程逻辑器件得以实现。本次毕业设计采用可编程逻辑器件FPGA设计激励源中的数字逻辑,能够满足任务要求。根据课题的要求,本课题主要完成了激励源的数字逻辑设计,并利用现场可编程门阵列(FPGA)实现了系统的各种时序要求。FPGA可以代替其他PLD或各种中小型数字逻辑芯片广泛应用于数字系统设计,但FPGA是一种基于SRAMLUT结构的易丢失器件,通电后必须放置一次。因此,在使用FPGA时必须首先解决FPGA的布局问题。整个系统采用8051单片机在PPA模式下配置FPGA,并在单片机外扩展32KEPROM以保存FPGA的配置文件。它特别适用于生成带有线性反馈寄存器的伪随机序列。由于伪随机序列由0和1组成,并且具有可重复性,因此该序列不是真正的随机序列,但在大多数应用中可能被视为随机序列。DSP的多通道缓冲串行(McBSP)和通过DSP主机接口(HPI)加载DSP程序的某些工作模式需要外部协助一段时间才能正常工作。在了解了DSP的McBSP和HPI的工作原理、接口电路和工作顺序后,使用FPGA可以很容易地满足设计所需的时序。1总体方案论证方案一:利用传统的“搭积木式”的方法传统的数字逻辑设计是以积木的方式设计的。换言之,某些外围电路被添加到一些固定的功能部件上以形成模块,将它们进一步加工变成多种功能电路。各样的标准芯片构成系统了的“模块”,比如74/54系列(TTL)、4000/4500系列(CMOS)等。芯片的各种功能也是有限的固定的。使用者必须要对小规模的芯片有很高程度的熟悉度,能够理解它们如何使用,然后按照自己的需求挑选适合的组件从那些标准器件中,并且按照推荐的电路配置系统。在设计上没有什么灵活性,如果设计系统芯片的种类和数量很充足的话,可以考虑这个方法。方案二:利用可编程逻辑器件(PLD)可编程逻辑器件(PLD)的应用在数字系统设计中很广泛,也是它的主要硬件基础。随着社会需求的变化,PLD的发展前景很光明,它的包容性很强,通过这一项技术,74电路也好,要求更高的CPU也好,他们所要达到的数字逻辑功能都可以完成。它是作为通用集成电路得以出现的。PLD很灵活,它不是从来都不能变化的,使用者需要什么功能,它就可以进行相应的改变。也就是说我们可以进行编程来确定它的逻辑功能。因为这样,很多时候只需要一片PLD就能完成数字系统的设计,也不需要特地去设计专门的集成电路芯片。它是一种以芯片为基础的设计方法,我们可以按照要求来定义器件的内部逻辑以及引出端,在芯片设计上放入绝大多数电路板设计,然后通过芯片设计去完成数字系统设计的逻辑功能。经由内部功能块的灵活组合和输出端的定义,数字系统的设计因为PLD,变得方便了许多,这样电路设计和电路板设计的工作量和难度可以降低许多,除此之外,还可以缩小不少的成本,并且能够有效地改善设计的灵活性,提升工作效率。以芯片为基础的设计方法能够降低芯片数量,使系统体积变下,减小损耗,系统也能够变得更加可靠,自身性能也得到不小提升。FPGA和CPLD两者比较复杂,是规模比较大的可编程逻辑器件。相比于其它器件,CPLD的要求更高一点,不再是仅仅用一般用的软件包和编程器来进行设计,还要把很多手段结合在一起,优化程度更高。COLD能够很好的保存数据,能够防止掉电后丢失的问题。FPGA也有它特别的地方,它设计的灵活程度更高,综合来说它的能力也要更好一点,它不是一次性的,能够一次又一次地使用,而且编程不考虑地点,上市的周期很短。这种设计是FPGA和CPLD在结构上的区别,有着不一般的特点[4]。FPGA的逻辑单元比CPLD在功能上更简单,可以关联逻辑单元的级别以创建更大的功能。触发器不同,对他们的选择也不同,结构丰富发话选择FPGA,触发器较少的话可以选择CPLD。也可以说是复杂的组合逻辑更适合使用CPLD。复杂的时序逻辑设计更适合使用FPGA。制造方法以及所用的技术不同,这使得FPGA芯片中的LUT和触发器的数量非常多,甚至可能达到上万个,相比较CPLD一般只有512个逻辑单元,只有它的几十分之一,这样就使得FPGA在逻辑单元这一块,就能省下不少成本。在CPLD器件中,大的功能可以通过逻辑阵列来实现,逻辑阵列在主逻辑上具有高度的系统性。与FPGA相比,FPGA寄存器资源少,整体运行速度快,序列参数准确,有助于逻辑分析。适合流水线结构设计的小的基本逻辑单元中,FPGA器件中就有一个,用长数据通道通过逻辑单元能够完成。FPGA的逻辑单元阵列能够将设计功能分的更细,尽可能多的利用单元中的全部功能。资源是有了,但进行逻辑优化和时序分析也更难了。综上所述,FPGA可以更好地满足系统所需要的各种时序要求,因此本设计采用方案二。2硬件电路设计2.1FPGA配置电路设计2.1.1FPGA时钟电路FPGA时钟电路使用有源振荡器产生时钟,但不使用晶体产生时钟。晶体本身不能产生时钟信号,只有与时钟振荡器连接才能获得时钟波形。FPGA中没有时钟振荡器。晶体振荡器可以为FPGA提供时钟。晶体振荡器的输出频率更加精确和稳定。时钟电路如图2-1所示。图2-1时钟电路图2.1.2FPGA的结构FPGA是比较大型的一种可编程逻辑器件,是不同于复杂可编程逻辑器的一种可编程逻辑器件。Altera的FPGA器件中有着典型的结构与工作原理的是FLex10K系列器件。介绍FPGA的结构,我们就以这个器件为例子。FLex10K的内部结构主要由嵌入式阵列块(EAB)、逻辑阵列块(Lab)、列互连、行互连、本地互连和I/O元件(IOE)组成。图2-2显示了FLex10K的配置。如图所示,一组逻辑元素构成了一个实验室,它按行和列排列,每行包含EAB。Lab和EAB连接到快速通道,IOE(I/O元件)位于快速通道连接的行和列的两侧。图2-2FLEX10K的结构图许多种嵌入式阵列块(EAB)组成了嵌入式阵列。数字信号处理、微控制器、数据传输等各种内存和复杂的逻辑功能都能够通过嵌入式阵列得以实现。逻辑阵列通常被用于计数器、加法器、状态机以及多选择器等常规逻辑功能的完成。许多种不同的逻辑阵列块(LAB)组成逻辑阵列。8个LE和一些本地互连构成了一个LAB。其中每个LE都有四输入查询表(LUT)、可编程触发器、入口链和级联链。如果要组成中等规模的逻辑块需要8个LE,这里面含有8位计数器、地址解码器和状态机。快速通道连接能够提供零件内部信号的相互连接以及零件引出端的相互连接,快速连接通道中能够贯穿零件行、列的是FastTrack。它是一种专用进位链,能够完成快速加法器、计数器和比较器。它也是一种专用级连接,能够完成高速、多输入逻辑函数;全局时钟信号和全局擦除信号必须分别控制在最多6个和最多4个才可以完成内部三态总线的三态模拟。某些I/O单元(IOE)控制I/O提取。在快速通道的行和列的最后是IOE,两个I/O缓冲区和一个输入寄存器组成了每个IOE,还有一个输出寄存器的触发器。每个引出端都有独立的三态输出,可以编程实现输出电压的振幅控制,并具有漏极电路设置选项。零件有六个专用输入引出端,这是为了确保控制信号的高速度以及低偏移。专用的配线支路被这些信号使用,因此能够有更短的延迟以及更小的偏移相比较快速通道来说。如果要驱动全局信号需要用到专用输入中的四个输入引出端。当系统通电时,存储在串行PROM中或者系统控制器提供的的配置数据组成了FLEX10K部件的配置。EPC1、EPC2、EPC16以及EPC1441等配置PROM部件由Altera供给,配置数据也能在系统ROM和BitBlaster中串行下载电缆。还有一些已配置的部件,也有办法可以进行配置,比如说重新复位器件或者加载新的数据,并在系统运行时实时更改配置(重建时间不到320毫秒)。2.1.3FPGA配置方式FPGA是一种可编程逻辑器件。以SRAM搜索表(LUT)结构为基础的FPGA器件把设置数据存进SRAM里面。因为SRAM过程过于容易断电,因此每次系统通电时都必须重置数据,即ICR(交叉可重构)。系统可以正常工作的前提是,当数据设置正确的时候。SRAM的加载配置数据通常采用下载线缆的配置方式,简单易行。通过直接下载电缆将设置数据从计算机下载到芯片上,系统功能易于修改,因此在实际系统开发规划阶段得到了广泛应用。然而,设计的应用程序必须在每次断电时通过计算机下载设置,因此非常不方便。由这样可得,又一次通电时系统如果可以自动加载编程文件,以设置可编程逻辑器件,则可以手动下载电缆,从而减少配置器件的过程。这种方法的前提是,必须将内存存储组件的编程文件加入至应用系统里面,这样才能够有利于自动装载。主要有两种方法可以完成。以Altera公司的FLex10K系列组件为例。一种是主动配置模式,这种是使用可编程逻辑组件控制完整的配置进程,需要系统把配置数据装载进SRAM里面时才能进行。FLex10K系列中常用的能动设置为as(活动串行)模式。Altera公司有许多专用内存来保存这些编程文件。让芯片保持导通后,flex模块会把控住全部的设置过程,然后把编程文件串行发送至Data0用于下一步设置。设置完成后,组件将自动初始化并进入用户状态。将flex控制器设置为外部存储器相对容易,但在整个编程过程中设置数据并不方便,因此无需将flex控制器设置为专用存储器,相对来说成本比较高。还有一种是手动配置。通用程序存储器里面可以安置这些编程文件,比如说EPROM、EEPROM或闪存。数据传输模式可以是串行或并行。配置数据以串行模式(即PS模式)在flex中传输到Data0管道。在PPA或PPS模式下,配置从flexpart的Data0到data7锚点的数据。一般我们使用的外围控制器用的智能主机可以分为微控制器和CPU。这两者的区别在于,微控制器在用时,它需要的是MCS51单片机,这个使用的不是并行数据通道,而是用一个串行数据通道。此方法的优点在于,它能够通过使用廉价的通用程序内存而不是Altera的专用内存来实现。当需要大零件外形时,这有利于大大降低成本。此法比其他方法另一个优秀的地方在于,它可以实现单个系统和多个方案的设置。由于是使用外部智能控制器来实现这个数据配置的过程,因此多个功能的配置文件可以根据需要存储在通用存储器中的单个系统中,并且可以根据外部控制器的具体情况自动选择芯片上设置的功能。这个优点是没有其他设置方法。此设计选择被动并行配置方案,借助于单片机8051对FLEX10K系列的EPF10K10进行在线并行配置。2.1.4FPGA配置原理Altera公司发布的FLex10K系列FPGA是一种以SRAMLUT结构为基础的易丢失器件。它没有系统编程(ISP)的概念,用ICR取代了,即内部电路可重构性,也就是说是在线可重配置方式。因为它的结构的独特和不同,上电后一定要放置一次。电路重构指的是在设备配置完成前不允许重新配置,这样就可以使电路的逻辑结构和功能得以变化。在进行设计用到FPGA时,可以借助FPGA的ICR特性,把PC机的下载电缆连接起来,可以将设计文件快速下载到FPGA,然后进行硬件验证[8]。图2-3FLEX10KPPA方式配置时序图由图可以得到PPA模式的工作过程如下:启动配置在nCONFIG引脚上发出1个低脉冲,等待nSTATUS给出反应,回应1个低脉冲以及CONF_DONE降低。在nCONFIG跳高后的5μs内nSTATUS也跳高,这就意味着FPGA能够配置了。配置过程当设置FPGA时,FPGA设备的数据终端上放置的是单片机的8位设置数据,给nWS一个负脉冲。与nWS的兴起同步的是,FPGA设备将锁定并存储这些字节的设置数据。此外,FPGA组件low驱动rdynbsy处理这些字节信息。nCS或CS可以暂停设置过程。当RDYnBSY较低时,FLex10K设备使用内部振荡器(频率通常为10MHz)来序列化每个字节的设置数据。当FLex10K组件准备好接收下一个设置数据时,改进RDYnBSY,单片机检测高电平信号以决定是否发送下一个字节的数据。此过程将继续,直到完成所有数据设置。在设定过程中,需要对系统进行实时监控。一旦发生错误,nSTATUS将降低。系统需要识别这些信号并重新启动设置过程[12]。结束配置若是芯片内写入的配置数据都是正确的,器件会释放CONF_DONE,与此同时从外部拉出。假如MCU检测到该信号,意味着设置成功。否则,请重置它。2.1.5单片机配置FPGA在FPGAD的实际应用中,关键的是设计的安全性,要解决这个问题的话,可以通过单片机配置FPGA。此设计选择了8051单片机,首先,单片机将存储在EPROM中的配置数据读出在系统上电后;接着将配置数据以被动并行异步方式(PPA)配置到FPGA中去,器件掉电再上电后自动配置FPGA的功能就可以实现了。电路示意图如图2-4所示。需要将MSEL1和MSEL0锁定为高电平在使用PPA配置方式时。为了避免DCLK出现不确定信号的话,一定要将其经过1kΩ电阻上拉到VCC。图2-4单片机配置FPGA的原理框图nCS和CS仅有唯一的选择信号能用当使用PPA设置时。因为这样,若是其中一个被选为选择信号,那么另一个一定要直接放至有效位置。若是CS被选择为控制设置的选择信号,那么NCS一定要接地。若是nCS被选择为选择信号控制设置,那么CS一定要获得更高的电平。后者用于本设计中。nRS是一个读选择路径输入信号。通过在较低的输入端引导FLex10K,RDYnBSY信号被放置在data7镊子中。当你不使用nRS时,你必须打开它。nCE是FLex10K设备的能量输入。nCE是能量较低时的能量设定过程。当设置为单芯片时,nCE必须始终为低。这种设计是一种单一配置,需要直接接到地面。2.1.6FPGA测试技术21世纪以来,集成电路技术的快速发展带动了一系列相关技术的开展研究,比如说半导体存储器、微处理器等,FPGA就是这里面的一个。由于CPLD、FPGA和ASIC的规模在扩大,也在变得更加复杂,难度一点点在增加,现在重要性在慢慢提升的是FPGA应用中的测试。因为技术太复杂了,所以测试也分为很多部分。从软件的角度来看,需要验证逻辑设计的正确性。这不仅是功能阶段,还需要考虑特定FPGA的各种内部或I/O延迟特性。在硬件方面,PCB级引脚的连接需要最先被测试。在这之后,FPGA的I/O功能也需要单独测试。[2]。2.1.6.1内部逻辑测试应用设计可靠性的重要保障之一就是FPGA内部逻辑设计。因为设计太复杂,测试内部逻辑是也会出现逐渐增加的问题。我们面临这种情况时,完成设计之后,一般需要添加一些可用于测试的逻辑,即在设计完成时测试主逻辑。可测试性设计其中的一种是ASIC设计中的扫描寄存器。其原理是用测试扫描寄存器代替ASIC中十分重要的逻辑部分的一般寄存器。在测试中,在动态测试、分析和设计中,可以通过向寄存器或甚至寄存器的状态发送激励信号来改变寄存器的状态。一些FPGA制造商在可编程逻辑器件中插入特定的逻辑功能,并为嵌入式逻辑分析仪提供EDA工具软件,使得测试工程师更易于发现内部逻辑问题。代表之一是Altera的SignalTap技术。2.1.6.2JTAG边界扫描测试微电子技术在不断发展,与此同时,微封装技术以及印制板制造技术也在慢慢的进步,印制电路板变得越来越复杂,体积变的越来越小,层数也一直在持续增加。在这样的发展趋势下,如果依旧沿用传统的“针床”夹具测试法和外探针测试法这二者去很彻底地测试被焊接在印刷电路板上的器件,结果是不尽如人意的。即便真的能够完成,改进传统方法要付出的代价也是很大的。20世纪80年代的时候,联合测试行动小组对IEEE1149.1-1990边界扫描测试技术制定了属于它的规范。这一规范给出了有效测试IC芯片的能力在有着密集引线间距的电路板上。从实际上看,大部分制造FPGA的企业的设备符合IEEE规范,而且还可以提供一些板扫描测试能力关于输入引脚、输出引脚和特殊配置引脚。边界扫描测试标准IEEE1149.1BST的结构:当设备处于JTAGBST模式进行工作的时候,用于JTAG引脚的包含着四个I/O引脚和一个可选引脚TRST。其中I/O中四个引脚为TDI、TDO、TMS以及TCK。这些引脚的功能被总结在表2-1。此设计选择的是JTAG边界扫描测试,便于整个系统的调试。其具体的图形如图2-5所示图2-5JTAG边界扫描测试图2.1.7FPGA产生伪随机序列干扰系统的干扰源由FPGA产生的伪随机序列获取。本设计方案的数字逻辑设计是整个干扰系统的一部分。伪随机序列由FPGA生成,所需序列由VHDL语言生成。下面简要介绍伪随机序列生成的原理和方法[7]。目前广泛使用的伪随机序列是由数字逻辑电路产生的周期序列。这个序列实际上是周期性的,因此它被叫做伪随机序列。一般来说,反馈寄存器可以产生伪随机序列。反馈寄存器也可以分为两种,一个是线性反馈寄存器,另一个是非线性反馈寄存器。这两者也有一定的联系,线性反馈寄存器产生的二进制数字序列中周期最长的我们把它叫做最大长度线性反馈寄存器,也一般被叫做m序列。相比较来说他成熟,实现也更加简单,在实际里的应用也更多一点。这里,伪随机序列是使用线性反馈寄存器生成的[13]。2.1.7.1线性反馈移位寄存器(LFSR)图2-6是m级线性反馈移位寄存器(LFSR)的电路结构。有连接的时候其中系数因子,无连接的时候;异或运算可以用来表示。很明显的是,LFSR的输出序列是有周期性的,这就是它的特点。如果m个寄存器上出现了之前经过的状态,那么之后的状态将一再循环。m级的LFSR最多只有2个状态,因此不可避免的是会重复,假如把零设置为m个寄存器的初始状态,则LFSR将会持续保持全部是零的状态。所以,在初始状态非全零的前图2-6线性反馈移位寄存器的电路结构图提下,LFSR的周期r2-1。如果反馈方式选取恰当的话,m级LFSR所产生的序列周期可以达到最大值2-1,最长序列(或者m序列)也就是这时LFSR所产生的伪随机序列。LFSR的周期,只与其反馈方式有关,不依赖它的初始状态。可以定义LFSR的特征多项式,根据其反馈方式的不同:p(x)=可以证明,由特征多项式p(x)所对应的m级LFSR输出最长序列的充要条件是:a)p(x)=是不可比的;b)不存在<,使得()能被p(x)整除。2.1.7.2LFSR的FPGA实现及其片内资源优化对于XORLFSR,应该永远不可能会出现全部是全零字的情况。如果循环是从非零字开始的,则循环长度总是2-1。一般来说,如果FPGA被唤醒的状态是在全零字,就可以更加顺利地使用“镜像”或翻转的LFSR电路。假设全零字是正确的模式,并且可以生成精准的转置序列,代替XOR门的话就需要用一个“非XOR”或XNOR门。这样的LFSR可以很容易用VHDL中的PROCESS声明来设计,如下所示:………… process(clk) begin ifclk'eventandclk='1'then ff(0)<=not(ff(62)xorff(0)); foriin62downto1loop ff(i)<=ff(i-1); endloop; endif;endprocess;…………产生伪随机序列的VHDL程序的仿真波形如图2-7所示:其中的输入时钟为clk,pn为输出的伪随机序列,从图3-7pn输出的波形分析,满足系统设计的要求。经过图2-7伪随机序列仿真波形图QuartusII4.2综合出来的基于RTL级的数字逻辑电路如图2-8所示,该图与VHDL描述的数字逻辑电路完成一致,可以产生系统所要求的伪随机序列。图2-8基于RTL级的数字逻辑电路图2.2单片机单元电路设计8051单片机具有以下特点:最大工作频率为12Mhz;32个数字I/O磁道;内部数据存储器,128字节,4K*8位内部掩码只读存储器;两个16位定时器/计数器;五个中断源(两个外部中断),提供两个优先级;一个可编程、全双工端口。下面简要介绍本设计中使用的每个单元电路。2.2.1单片机时钟电路设计在本设计中,8051单片机可采用振动频率为11.0592Mhz的石英晶体振荡器。使用该晶体频率的原因是,在嵌入式串行端口上很容易生成标准频率(例如9600个频率),如果换成10Mhz或者12Mhz频率的振荡器很难生成此类标准频率。对振动电容值没有严格要求,但对晶体输出频率的稳定性和大小以及振荡电路的振动速度有一定的影响。C1和C2可以从20pF到100pF,通常约为30pf。本次设计采用22pf的电容[11]。时钟电路如图2-9所示。图2-9使用片内振荡电路的时钟电路图2.2.2单片机复位电路设计当可靠的电源供电给系统时,一旦通上电,电源将快速达到额定输出电压。只要一关闭电源,电源将迅速降至0V,连接时电压不会下降。这个时候,以容量和电阻为基础的低成本重置硬件是可靠的。这样的复位电路被叫做电阻复位。如图2-10左图所示。如果电源不可靠且系统涉及安全,则这种简单的电容电抗解决方案不合适。添加重置按钮有助于手动重置硬件如图2-10所示。本设计采用带复位按钮的复位电路,将复位引脚拉至VCC5。按钮同时释放容量。松开按钮后,可以执行正确的重置步骤。根据可靠性和安全性的要求,容性电抗时间常数应为100ms左右。图2-10单片机复位电路图2.2.3单片机外部扩展电路设计此设计为8051单片机的外部程序选择的存储器是紫外线擦除电可编程只读存储器EPROM,27256EPROM中的紫外线电可编程只读储存器是32K×8位的,单一+5V供电,工作电流是100mA,维持电流是40mA,最大的读出时间是250ns,28线双列直插式封装,地址线是其中的A0-A14;数据输出线是其中的D0-D7,是片选线,还有数据据输出选通线,VPP是编程电源[6]。具体为2-11所示。图2-11单片机外部扩展电路图2.3电源电路设计该电路系统所需的电源电压为+5V。详细的电路原理图如图2-12所示。下面我们来解释它是如何工作的。通常情况下,电力变压器、整流器、滤波器和稳压电路共同组成了直流稳压电源。交流电网的电压一般是220V,电力变压器将其转变成需要的电压值,然后把交流电压转变成脉动直流电压,这一过程是通过整流电路完成的。如果想要得到平滑的直流电压,一定要使用滤波电路去滤波才可以,因为脉动直流电压的波纹比较大。然而,电网电压(通常约为±10%)、负载和温度的波动的变化会引起该电压的改变。因此,稳压电路必须连接在整流器和滤波电路之后。稳压电路有什么作用呢?它能够保持输出直流电压的稳压在电网电压波动、负载和温度变化的情况下。在电源电路中,每个元件的值选择经典值。图2-12电源电路图2.4TMS320C54XDSP的串口(McBSP)和HPI口简介2.4.1DSP的串口(McBSP)简介数据通道和控制通道组成了McBSP即多通道缓冲端口。要连接外部设备的话需要通过7条管线。数据由数据发送引脚DX传输,数据接收引脚DR再来接收。串行接口的控制信息通过向CLKX发送时钟、给CLXR发送接收时钟以及给FSX发送帧同步来获得。CLKS它是外部时钟源。若是要访问McBSP的话,CPU和DMA控制器通过内部和外部总线就可以做到,首先读取数据的话可以从数据接收寄存器DRR1和DRR2,其次再将数据写入数据传输寄存器DXR1和DXR2。从DR进入DSP的数据,它会存储在接收移动寄存器RSR1和RSR2中。字接受完成之后,先复制结果到接收缓冲寄存器RBR1和RBR2,然后再复制到DRR1,DRR2中。CPU或DMA控制器可以去访问。知道了读操作,可以类比得出写操作。从结构上来说,相对而言,接受和发送部分是可以分离,比较独立的,双工通信是能够完成的。通过读写寄存器控制的操作模式或显示串行状态信息的寄存器可以去实现McBSP的控制设置。访问指定寄存器时,第一步是在子地址控制器SPSA和SPSA驱动程序中写入相应控制寄存器的子地址,同时将其与数据控制寄存器SPSD连接。将实际物理存储位置与相应的子地址寄存器连接。将数据写入SPSD时,数据被传输到前端地址寄存器指定的内置数据存储器,并连接到从SPSD读取数字时形成的内置数据存储器[5]。2.4.2DSP的HPI口简介TMS320C54x系列研究开发为TMS320VC5402时,其HPI得到了增强,被称为HPI-8。HPI-8在某些方面不同于TMS320C54x系列之前的标准芯片HPI。见表2-2。表2-2HPI-8和标准HPI的主要差别表HPI-8的使用是通过将值分配给HPIA、HPIC和HPID这几个寄存器来完成的。HPIA是地址寄存器,HPIC是控制寄存器,HPID是数据寄存器。简而言之,主机通过外部引脚HCNTl0和HCNTl1选择不同的寄存器,然后在这个寄存器上会收到发送的8位数据。在使用中,HPIC是一个16位寄存器,HPI-8是一个8位数据宽度,所以主机在向HPIC写入数据时需要发送两个相同的8位数据。选择地址寄存器HPIA后,把数据直接写进去就可以,有一个问题是,MSB和LSB的顺序不能弄错。此外,HPIA还具有在写入前和写入前自动添加1的功能。这样,只需设置一次HPIA,就可以连续写入和读取数据块。数据寄存器HPLD应严格称为数据缓冲寄存器。因为片内RAM会存有最后的数据。仅就实际来说,一开始数据先从主机发送到HPID,之后按照HPIA指定的地址将HPID中的数据重写到片上RAM的地址。此过程是透明公开的,对于使用者而言。[5]。3软件设计3.1软件简介3.1.1QuartusII软件的简介QuartusII软件是Altera继MAX+plusII之后提供的FPGA/CPLD开发集成环境。Altera公司有一个QuartusII设计软件版本为4.2,此版本的设计软件包含了许多新的不一样的功能,可将设计性能提高15%,并将编译时间减少50%。基于QuartusII的设计流程如图3-1所示设计输入如果要想用多种设计输入方法的话,QuartusII也可以完成。QuartusII自身拥有编辑器,它可以完成原理图式图形设计输入,文本编辑输入和内存编辑输入。输入的灵活性可以通过其他方式来变得更优和更加完善,例如混合设计格式。例如,LPM和宏功能模块可用于加速设计输入。设计项目的编译QuartusII编译器有不少的功能,比如说能够设计错误检查以及逻辑集成,之后再建立一些输出文件,在模拟、时序分析以及零件编程方面去使用。不能避免的是设计级文件之前存在不少的基本设计错误信息,编译器的作用就是先去提取他们,之后非常有效率地去处理这些信息。编译器能够应用于不少技术,这就需要设计者去指导发挥了。比如说,想要使设计速度得到提高以及提升资源利用率的话,可以使用定时驱动的编译器。在编译期间和之后,使用者都能够看查看结果,只需点开报告编译结果窗口就可以。通过Quartus编程器或其他工业标准编程器,这些编译器生成的编译文件就可以对Altera器件进行编程和配置。延时分析和仿真延时分析QuartusII支持对单个时钟或多个时钟的分析:单个时钟的延时分析包括Fmax,Tsu,Th,Too,Tm及整个系统的Ftmax。QuartusII支持用户对多个时钟的延时分析,可以分析由不同时钟控制的寄存器之间的延时,可以运用Slack进行分析。图3-1QuartusII流程图仿真QuartusII支持多种仿真方法如:波形方式输入;第三方的仿真工具。D.器件编程Altera公司的APEX,FLEX6000,Mercury及以ARM/MIPS为基础的Excalibur系列器件能够通过QuartusII来配置,它还有的功能是可以检查空器件的状况在配置之前,并且可以进行校验和测试。该编程器和编程硬件很容易地在较短的时间之内就完成一个工作芯片的编程或配置。配置模式有被动串行配置和JTAG等模式[10]。3.1.2硬件描述语言HDLVHSIC是美国国防部在20世纪中后期资助的VHSIC项目里发明的一种标准硬件技术语言。当语言最初被开发时,它的目标只是将电路变成一个文本标准,以便人们能够理解文本中描述的设计。VHDL是一种很厉害很优秀的语言类型,它的表达能力十分多样。它能够描述电路网络的多种复杂程度,比如说系统级、电路板级、芯片级以及门级,最关键的是,它可以将电路网络在同一的抽象层次上描述出来。这也十分符合未来数字电路设计的主流方式,就是像这样能够支持系统级、寄存器级以及门级不同进程的设计。VHDL既然能够成为一种标准,那就意味着它拥有许多比其它硬件语言更好的地方,甚至是其它硬件语言所没有的。第一,在设计方式上我们有很多的选择空间,它在语言这方面的功能很强大;第二,它的硬件描述能力也是很优秀;第三,VHDL语言的设计描述不受器件的控制和影响。1996年,IEEE1076.3成为VHDL标准[3]。VHDL的设计步骤:设计要求的定义;用VHDL进行设计描述;原代码模拟;设计综合、设计优化以及设计的布局布线;布局、布线后的设计模块模拟;设计实现的工作。3.2程序说明3.2.1基于8051对FLEX10K系列的PPA配置方案由PPA方式配置时序可知整个程序的设计思想:读入配置文件长度后开始启动配置,也就是说在nCONFIG引脚上发出1个低脉冲,并延时15μs后读入nSTATUS的状态,如果在nCONFIG跳高后5μs内nSTATUS也跳高,这就意味着FPGA能够配置了。FPGA读取1字节配置数据,当RDYnBSY为高时,说明FPGA能够配置了,然后这个高电平信号将被单片机检测

温馨提示

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

评论

0/150

提交评论