基于ARM7与FPGA的多路时序控制系统-FPGA模块设计-中期报告.doc_第1页
基于ARM7与FPGA的多路时序控制系统-FPGA模块设计-中期报告.doc_第2页
基于ARM7与FPGA的多路时序控制系统-FPGA模块设计-中期报告.doc_第3页
基于ARM7与FPGA的多路时序控制系统-FPGA模块设计-中期报告.doc_第4页
基于ARM7与FPGA的多路时序控制系统-FPGA模块设计-中期报告.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

西安工业大学北方信息工程学院毕业设计(论文)中期报告题目:基于ARM7与FPGA的多路时序控制系统-FPGA模块设计院(系) 电子信息系 专 业 通信工程 班 级 B090310 姓 名 马佳妮 学 号 B09031040 导 师 王鹏 2013年 03 月 25 日一.设计(论文)进展状况1主要研究内容及方案本课题主要研究多路时序控制系统,其中多路时序控制系统的核心是延时仪,它是多通道、多时间范围的同步控制设备,系统以外触发信号为基准进行延时,依次输出电平信号或开关信号进行控制,主要用于多台测试设备的启动控制。上位机用来设置系统参数,通讯控制模块在的控制下,将网口信号转换成串口信号,把从上位机收到的数据送入FPGA。FPGA被触发以后,完成同步时序控制。我主要负责FPGA的外围设计,以及FPGA与ARM7的接口设计与程序设计。基本要求如下:(1) 熟悉整个控制系统的系统原理;(2) 熟悉Quartus II 5.1集成开发环境的使用;(3) 利用Protel 99完成系统FPGA模块的硬件设计; (4) 利用硬件描述语言VerilogHDL语言完成FPGA模块的软件设计; (5) 完成FPGA模块的调试及与整个多路时序控制系统的联调。2设计进展情况根据前期的任务安排,在这段时间内主要学习了使用Protel 99软件对FPGA的外围电路设计,对FPGA芯片EP1C12Q240C8的工作原理及硬件原理有了进一步的认识和掌握。到目前为止系统的整体结构设计已经完成,部分模块介绍如下。(1) FPGA部分在制作FPGA芯片系统整体原理图时,FPGA采用Altera公司的Cyclone系统的EP1C12Q240C8款芯片进行设计。由于FPGA芯片共有240个引脚,较多的引脚可能在原理图制作过程产生一定的不便,所以将FPGA芯片分成了四个部分,分为I/O引脚模块,部分特殊引脚模块,电源与接地引脚模块,时钟引脚模块。 图1 为FPGAI/O引脚模块。I/O,ASDO:串行数据输出,连接到配置器件的ASDI管脚。I/O,nCSO:片选信号输出,连接到配置器件的nCS管脚。图1 FPGA I/O引脚模块图2 为FPGA特殊引脚模块。DATA0:串行数据输入,连接到配置器件的串行数据输出管脚。DCLK:串行时钟输出,为配置器件提供串行时钟。nCE:下载链器件始能输入,连接到上一个器件的nCEO,下载链的最后一个器件nCE接地。nCONFIG:用户模式配置起始信号。nCEO:下载链期间始能输出,在一条下载链中,当第一个器件配置完成后,此信号将始能下一个器件开始进行配置。下载链上最后一个器件的nCEO悬空。nSTATUS:配置状态信号。CONE_DONE:专用的配置状态脚。MSEL1:0:用于选择配置模式,00表示AS模式,10表示PS模式,01表示FAST AS模式。TCK:测试时钟信号。TDI:传输驱动程序接口。TDO:测试数据输出。TMS:传输测试器。图2 FPGA特殊引脚模块图3为FPGA电源与接地引脚模块。VCCINT:内核电压,130nm为1.5V,90nm为1.2V。VCCIO:端口电压,一般为3.3V,还可以支持多种电压,5V、1.8V、1.5V。VCCA_PLL :PLL模拟电压,截止通过滤波器接到VCCINT上。GNDA_PLL PLL:模拟地。图3 FPGA电源与接地引脚模块图4 FPGA时钟引脚模块及外部时钟(2) FPGA与ARM7接口部分由于FPGA与ARM7的接口电压均为3.3V电压标准,所以两个芯片接口部分的设计不需要电平转换电路。而通信方式采用了比较容易实现的串行通信,只需将RXD与TXD两根线连接起来。 (3) 电源部分FPGA系统内核电压为1.5V,接口电压为3.3V电压标准。本设计采用了三端集成电压转换器LM117-3.3V和LM117-1.5V,将5V电压转换为3.3V和1.5V供FPGA使用。而电源模块中添加的电容,则是使电路达到良好的滤波效果。1管脚可以直接接地的,但是在次电路设计中1管脚接了两个电阻,其功能是使电压兼容可调。在电路中加入了一个磁珠,加入磁珠的目的除了可以滤波之外,也可以在电源接入电路之前先不焊磁珠,然后对电源的转换电压进行检验,以免直接接入芯片的电压不适合导致FPGA芯片的损坏,如图5与图6所示。图5 将5V电压转换成3.3V的FPGA接口电压图6 将3.3V电压转换成1.5V的FPGA内核电压(4) 复位部分本设计中采用的复位电路是比较常见的阻容复位,电路中加入按键,即为按键复位,如图7所示。图7 开关复位模块(5) 时钟部分本设计所使用的FPGA外部时钟电路,采用了比较常见的的晶振电路,晶振一般使用四脚晶振,电路在输出端加入了一个33电阻,其33电阻的功能是更好的达到阻抗匹配,如图8所示。图8 外部时钟模块(6) 下载配置部分配置电路采用专用配置芯片EPCS4,他内部有4M的FLASH工艺的空间存储整个FPGA的配置信息。其配置方式采用AS(Active Serial mode)配置模式,如图9所示。图9 AS配置模块JTAG主要用于芯片内部测试,标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入、数据输出线。相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效,如图10所示。图10 JTAG下载与调试模块(7) 滤波部分,如图11和图12所示。图11 滤波模块图12 均为滤波模块(8) 触发部分触发接口电路主控单元接收到外触发信号即“零”点信号后,立即触发各定时控制模块启动延时,并监测各测试设备控制模块的运行和控制状态。外触发信号类型包括触发按钮和外部触发信号,触发信号的上升沿和下降沿均可以触发延时。在FPGA程序中采用状态机来实现该触发信号的逻辑判断,如图13所示。图13 为外触发电路(9) 驱动电路部分 驱动电路采用分离的达林顿管与光电隔离芯片6N137构成。该电路带信号输出状态检测功能光电隔离芯6N137它有一个使能端,即管脚7,只有管脚接高电平,光电隔离器6N137才能正常工作,否则光电隔离器输出将始终维持在高电平状态。他的具体工作原理是:输入信号通过脚2、脚3输入后,点亮输入端的发光二极管,经片内光通道传到输出端光敏二极管,光敏二极管受光后导通,再经电流一电压转换后送到与门的一个输入端,与门另一个输入端为使能端,接电源电压,此时与门输出为高电平,与门输出信号送到输出三极管的基极,三极管导通输出反相信号,即输入信号是低电平时输出端输出高电平。6N137的输出端是集电极开路输出端,要加一个上拉电阻,光电隔离器才能正常工作,驱动电路如图14所示。图14 驱动电路(10) 整合部分由于在设计FPGA外围电路最小系统原理图时内容较多,分成了三个SCH文件来设计.最后从图纸生成符号并完成连线,如图15所示。图15 为从图纸生成符号的连线图3软件部分硬件采用Altera公司的Cyclone系列FPGA芯片EP1C12Q240C8,编译环境为Quartus II 5.1集成开发环境。软件程序包括主控单元程序、延时控制单元程序、通信协议设计三大部分。主控单元采用语言来设计,延时控制单元采用硬件描述语言Verilog HDL来设计。主控单元程序包括功能程序、液晶显示子程序、键盘操作子程序、数据存储子程序、RS通信子程序等设计;延时控制单元主要包括各通道延时控制输出子程序、通道测试子程序;通信协议设计包括主控单元与PC机间的通信协议以及主控单元与延时控制单元间的通信协议。开机后首先自检,如果需要配置参数,就将配置好的参数写入数据存储器中,如果不需要配置新的参数,ARM 将从数据存储器中读出参数,软件主流程如图16所示。图16 软件主流程图二、存在问题及解决措施 在设计过程中我也遇到了很多问题,但经过查阅相关资料,向同学请教,或在老师的指点下解决了所出现在问题。1.保护电路的稳定运行。答:电路中多处设计上拉及下拉电阻。2.硬件电路的设计中,Protel 99软件元件库里没有需要的FPGA处理器等元器件。答:根据自己的实际需要,创建库文件,画出所需的元器件,添加进去供自己使用。3. protel 99的原理图不能复制粘贴到word文件上,该如何解决?答:在Protel 99上,打开tools,接着打开preference,把Add template to clip前的对号点掉。4.原理图的通用器件库叫什么名称?答:原理图的常用器件文件库是Miscellaneoous Devices.ddb。5.在学习protel99时,画完原理图,生成网络表后,发现网络表中的元件没有自动装入元件封装,因此没法自动PCB布线?答: 元件的封装是由自己确定的,可以使用系统默认的元件库,也可以使用自己建立的元件库,通常情况下采用后者,一般常用的库文件是:“Advpcb.ddb”,“Headers.ddb”,“General IC.ddb”,再加上自己的库,基本就可以应付所有问题了。6.用protel 做PCB 布局的时侯有什么规则可遵守的吗?在用protel做PCB布局的时候不知道该从何下手?无论怎么布局飞线总是交叉的象网一样并且不能用单面板布线? 答: 没有人规定说数字电路就不能用单面板来做,正好相反,这种做法可以降低成本和制造难度。但前提是飞线的数目不能过多,如果不是机器自动插件,最好使用一块100*120mm的电路板上的飞线数目最好不要超过10个。数字电路相对模拟电路,其实他的PCB还要好做。三.后期工作安排接下来的工

温馨提示

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

评论

0/150

提交评论