基于NIOSⅡ技术的系统设计与实现(LED流水灯显示).doc_第1页
基于NIOSⅡ技术的系统设计与实现(LED流水灯显示).doc_第2页
基于NIOSⅡ技术的系统设计与实现(LED流水灯显示).doc_第3页
基于NIOSⅡ技术的系统设计与实现(LED流水灯显示).doc_第4页
基于NIOSⅡ技术的系统设计与实现(LED流水灯显示).doc_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

基于nios技术的系统设计与实现- 流水灯led显示基于nios技术的系统设计与实现- 流水灯led显示内容提要:随着电子技术的不断发展,电子产品向体积越来越小、设计时间越来越短、集成度越来越精密、产品周期越来越短、成本越来越低、功能越来越强大等方向发展。使用nios处理器的用户可以根据他们的需要调嵌入式系统的特性、性能以及成本,快速使得产品推向市场,扩展产品的生命周期,并且避免处理器的更新换代。本论文结合eda技术、c语言、nios技术、计算机技术等多种技术实现基于nios的系统设计。并用led流水灯显示来检验我设计的nios技术的系统功能。同时也为其他相关项目的设计提供了参考。关键词:eda技术 sopc技术 nios处理器 嵌入式技术 led显示nios technology-based systems design and implementation of- led light water showabstract:with the continuous development of electronic technology, electronic products to the size is getting smaller and smaller, shorter and shorter design time, more and more sophisticated integration, product life cycle is becoming shorter and shorter, more and more low-cost, more and more powerful features, such as direction. the use of nios processor users based on their need to transfer the characteristics of embedded systems, performance and cost of making products to market quickly, expand the products life cycle and to avoid the replacement of the processor.this thesis eda combination of technology, c language, nios technology, computer technology and other technology-based nios system design. and the led light water show designed to test my nios technology system. at the same time as other related projects designed to provide a referencekey words: eda technology sopc technology nios processor technology embedded led display目 录一、前言二、总体方案(一) 方案比较(二) 方案论证与选择 三、所用技术和器件的介绍(一)基本器件的介绍1、eda的介绍2、cpld和fpga的介绍3、quartus的介绍(二)特殊器件介绍1、sopc builder开发工具介绍2、nios的使用说明3、cyclone ep1c12q240c8开发板的介绍四、系统设计(一)、硬件设计1.新建工程2.用sopc builder 定制nios处理器及其外设3.在quartus 工程中添加上述nios系统4.添加其他元件模块5.定义管脚6.编译工程7.下载编辑代码到fpga(二)、软件设计1.设计该工程软件2.编译设置3.编译五、系统调试1.调试2.编译并下载到实验板上面六、系统功能、指标参数七、总结与体会八、辞谢附录 参考文献 基于nios技术的系统设计与实现一、前言(绪论)随着微电子技术的发展,促使集成电路向高速、高集成度、低工耗的系统集成方向发展,sopc(system on a programmable chip、片上可编程系统)是现代电子技术和电子系统设计的汇聚点和发展方向。它将传统的eda技术、计算机系统、嵌入式系统、数字信号处理技术、数字通讯系统以及自动控制系统等融为一体,在结构上凝为一片sopc综合了sopc和pld、fpga各自的优点,集成了硬核和软核cpu、dsp、存储器、外围i/o可编程模块,用户可以利用sopc平台自行设计高速、高性能的dsp处理器或特定功能的cpu处理器,从而是电子系统设计进入一个全新的模式目前随着集成电路工艺技术的不断发展和集成度的大幅度提高,嵌入式系统由板级向芯片级过渡,即片上系统-soc(system on chip)。soc通常是指在单一芯片上实现的数字计算系统,其核心技术是重用技术和嵌入式技术。当前嵌入式系统迅速发展起来,基于nios ii的嵌入式系统以其自己的优点被广泛应用。本文基于nios ii的嵌入式系统设计,利用sopc技术在fpga芯片上,实现系统设计,完成led流水灯设计。首先介绍了eda知识、quartus的简单介绍,fpga器件,然后介绍了sopc技术、sopc builder、nios ii ide,通过这些知识的详细介绍,了解了整个设计的方法和流程,最后阐述了自己的设计,由于前面的知识介绍已经很详细,在阐述自己的设计中就少了一些细节的东西。在本设计过程中,采用sopc嵌入式设计方法,分嵌入式硬件和软件两部分进行设计。整个设计的两个部分分别在sopc builder和nios ii ide中进行,在sopc builder添加组件构建系统,系统生成后在quartus ii中进行例化和引脚分配,最后进行编译,成功后下载到de2开发板。在nios ii ide中编写程序,实现功能控制,编译并运行。 嵌入式软硬件成功编译可以看出,本文所设计的nios ii处理器能实现led流水灯的设计,所设计的led流水灯能按照指定的设置,循环像流水一样显示。与传统设计方法相比,本文是基于nios ii的嵌入式系统设计,设计灵活,是电子设计的新方向。二、总体方案设计。(一) 方案比较。1、基于单片机实现。、电路构成。流水灯方式彩灯控制电路由以下三个部分组成:主电路、触发电路和触发电路电源电路。主电路包括vs1vs4四只电子开关以及h1h4四只彩灯等。触发电路包括用电源路ms54c61,电阻器r1r6,电容器c2、c3以及选择开关sb1、sb2等。触发电路用电源电路包括整流二极管vd1vd4,降压电阻器r1,降压二极管vd5和滤波电容器c1等。如图1所示。ms51c61的主要技术参数如下;直流电路电压:vdd=1.55.0v,典型型为3v;静态电流:10ua;最大电流:300ua;震荡频率:4khz.图1 流水灯方式彩灯控制电路、电路工作原理。交流电压经vd1vd4组成的桥式整流电路bug整流输出直流电压,再经r1降压、vd5稳压和c1滤波后,供给ms51c16集成电路使用。集成电路ms51c61是单片大规模cmos芯片,其内电路和外接电阻器r2、电容器c3组成振荡器,在逻辑电路的控制下,有4路(8、9、10、11脚)输出控制,可产生8种流水灯方式,具有手动/自动控制功能。、自动工作方式电路得电后,如果按下sb2使3脚对地短路,则电路由手动工作方式转为自动工作方式。所有彩灯点亮约15s,检查灯泡的好坏,然后进入方式的状态,并自动执行种流水方式。每种方式进行12min后,即进入下一种方式。、手动工作方式。通过按键sb1进行人工设定,每按动一次开关,改变一种循环闪亮方式。8种显示效果是*向前、向后流水,流水速度可变;*一直亮;*前、向后流水,时间为80ms*前、向后流水,时间为160ms;*向前流水,时间为80ms;*向前流水,时间为160ms*向前流水,时间为300ms*向前流水,时间为600ms2、基于nios处理器实现、电路结构。如图2所示。图2 电路结构、实现步骤。、在quartus ii 中新建一个工程(硬件)。、在sopc builder 中根据自己的需要加入cpu、ram、pio、pll等ip核。、利用sopc builder 产生quartus ii 能够识别的文件。、在中新建的工程中加入)中生成的文件。、加入输入、输出以及双向端口,并根据需要对其命名。、对中命名的输入、输出核双向端口根据选定的fpga 进行引脚分配。、编译工程。、下载编辑代码到fpga。、利用nios ii ide 新建另一个工程(软件)。、根据中的资源,编写项目需要的代码。*、 编译、下载并调试,查看运行结果,直到正确。*、 如果需要,将*中生成的代码下载到代码flash 中(二) 方案论证与选择三、单元模块设计(一)各单元模块功能介绍及电路设计1、eda的介绍。现代电子设计技术的核心是eda(electronic design automation)技术。eda技术就是依赖功能强大的计算机,在eda工具软件平台上,对以硬件描述语言hdl(hardware description language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。eda技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和eda软件来完成对系统硬件功能的实现。eda技术在硬件实现方面融合了大规模集成电路制造技术、ic板图设计技术、asic测试和封装技术、fpga/cpld编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)、计算机辅助工程(cae)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论=数字信号处理技术、数字系统建模、和优化技术及长线技术理论等。因此,eda技术为现代电子理论和设计的表达与实现提供了可能性。在现代技术的所有领域中,得以飞速发展的科学技术多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有学科发展最前列的原因之一。不难理解,eda技术已不是某一学科的分支,或某种新的技能技术,它应该是一门综合性学科。它融合多学科于一体,又渗透于各学科之中,打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能和二为一,它代表了电子设计和应用技术的发展方向。正因为eda技术丰富的内容以及与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的,经过进三十年电子技术的发展历程,eda技术到了21世纪后,得到了更大的发展,突出表现在以下几个方面:(1)使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能。(2)在仿真和设计两方面支持标准硬件描述语言的功能强大的eda软件不断推出。(3)电子技术全方位进入eda领域,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化;软件无线电技术的崛起,模拟电路系统硬件描述语言的表达和设计的标准化,系统可编程模拟器件的出现,数字信号处理和图像处理的全硬件实现方案的普遍接受,软硬件技术的进一步融合等。(4)eda使得电子技术领域各学科的界限更加模糊,更加互为包容:模拟与数字、软件与硬件、系统与器件、asic与fpga、行为与结构等。(5)更大规模的fpga和cpld器件的不断推出。(6)基于eda工具、用语asic设计的标准单元已涵盖大规模电子系统及复杂ip核模块(ip即intellectual property,即知识产权的简称)。(7)软硬件ip核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认。(8)soc高效低成本设计技术的成熟。(9)系统级、行为验征级硬件描述语言(如system c)的出现,使复杂电子的设计和验证趋于简单。在eda技术中一般采用的设计方法为“自顶向下”设计方法,其步骤是采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行行为描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下完成功能确认。然后利用eda工具的逻辑综合功能,把功能描述转换为某一具体目标芯片的网表文件,经编程器下载到可编程目标芯片中(如fpga/cpld芯片),使该芯片能够实现设计要求的功能。这样,一块芯片就是一个数字电路系统。使电路系统体积大大减小,可靠性得到提高。在集成电路的每个层次上,大致都有描述、模拟验证、综合三种类型的工作,所以这三个领域也成为eda工具开发所主要针对的领域。 硬件描述语言(hdl)硬件描述语言(hardware description language 或 hdl)是设计者和eda工具的界面,设计者通过硬件描述语言描述自己的描述对象。eda工具所支持和采纳的硬件描述语言有图形的,也有文本化的;有经过国际组织标准化的通用的硬件描述语言,如vhdl,也有eda工具开发商为工具制定的专用的硬件描述语言,如altera公司的ahdl等。 模拟验证所谓模拟验证,是指对实际数字系统加以抽象,提取其模型,然后将外部激励信号施加于此模型,通过观察模型在外部激励信号作用下的反应,判断该数字系统是否实现了预期的功能。因为一个设计表示的方法有多种层次,所以对一个设计进行验证的模拟过程也有不同的层次。模拟过程一般涉及寄存器传输级模拟、逻辑级(门级)模拟、电路级模拟3个层次.(3)综合综合(synthesis),就其字面含义应该是:把抽象的实体结合成单个或统一的实体。因此,综合就是把某些东西结合到一起,把设计抽象层次中的一种表达转化成另一种表达过程。在电子设计领域中综合可以表示为:将用行为和功能层次表达的电子系统转化为低层次的便于具体实现的模块组合装配的过程。具体设计流程如图1-1-1所示。图3-1-1自顶向下的设计流程2、cpld和fpga的介绍。(1)、cpld的介绍。cpld(complex programmable logic device)是complex pld的简称,一种较pld为复杂的逻辑元件。cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。20世纪70年代,最早的可编程逻辑器件-pld诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成(相当于房子盖好后人工设计局部室内结构),因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补pld只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件-cpld。目前应用已深入网络、仪器仪表、汽车电子、数控机床、航天测控设备等方面。 它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用cpld器件。cpld器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。 cpld是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。这里以抢答器为例讲一下它的设计(装修)过程,即芯片的设计流程。cpld的工作大部分是在电脑上完成的。打开集成开发软件(altera公司 max+plux ii)画原理图、写硬件描述语言(vhdl,verilog)编译给出逻辑电路的输入激励信号,进行仿真,查看逻辑输出结果是否正确进行管脚输入、输出锁定(7128的64个输入、输出管脚可根据需要设定)生成代码通过下载电缆将代码传送并存储在cpld芯片中。7128这块芯片各管脚已引出,将数码管、抢答开关、指示灯、蜂鸣器通过导线分别接到芯片板上,通电测试,当抢答开关按下,对应位的指示灯应当亮,答对以后,裁判给加分后,看此时数码显示加分结果是否正确,如发现有问题,可重新修改原理图或硬件描述语言,完善设计。设计好后,如批量生产,可直接复制其他cpld芯片,即写入代码即可。如果要对芯片进行其它设计,比如进行交通灯设计,要重新画原理图、或写硬件描述语言,重复以上工作过程,完成设计。这种修改设计相当于将房屋进行了重新装修,这种装修对cpld来说可进行上万次。(2)、fpga的介绍。fpga是英文field programmable gate array的缩写,即现场可编程门阵列,它是在pal、gal、pld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 fpga采用了逻辑单元阵列lca(logic cell array)这样一个新概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。fpga的基本特点主要有: 采用fpga设计asic电路,用户不需要投片生产,就能得到合用的芯片。 fpga可做其它全定制或半定制asic电路的中试样片。 fpga内部有丰富的触发器和io引脚。 fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。 fpga采用高速chmos工艺,功耗低,可以与cmos、ttl电平兼容。可以说,fpga芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前fpga的品种很多,有xilinx的xc系列、ti公司的tpc系列、altera公司的fiex系列等。 fpga是由存放在片内ram中的程序来设置其工作状态的,因此,工作时需要对片内的ram进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,fpga芯片将eprom中数据读入片内编程ram中,配置完成后,fpga进入工作状态。掉电后,fpga恢复成白片,内部逻辑关系消失,因此,fpga能够反复使用。fpga的编程无须专用的fpga编程器,只须用通用的eprom、prom编程器即可。当需要修改fpga功能时,只需换一片eprom即可。这样,同一片fpga,不同的编程数据,可以产生不同的电路功能。因此,fpga的使用非常灵活。fpga有多种配置模式:并行主模式为一片fpga加一片eprom的方式;主从模式可以支持一片prom编程多片fpga;串行模式可以采用串行prom编程fpga;外设模式可以将fpga作为微处理器的外设,由微处理器对其编程。3、quartus的介绍。altera公司的quartus软件就是eda设计的最优秀的软件之一,使用它不仅可以灵活地设计电子系统,而且还可以对设计方案进行模拟仿真,及早发现错误和缺陷。本次设计我用的是quartusii5.0。*使用quartus 设计流程图:如图1-5-1和1-5-2所示。图3-5-1使用quartus 的基本设计流程图3-5-2使用quartus 的简化设计流程*quartus软件的介绍:quartus设计软件是altera公司推出的cpld/fpga开发工具,是适合单芯片可编程系统 (sopc) 的最全面的设计环境。quartus 提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:(1)、可利用原理图、结构框图、verilog hdl、ahdl和vhdl完成电路描述,并将其保存为设计实体文件;(2)、芯片(电路)平面布局连线编辑;(3)、logic lock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;(4)、功能强大的逻辑综合工具;(5)、完备的电路功能仿真与时序逻辑仿真工具;(6)、定时/时序分析与关键路径延时分析;(7)、可使用signal tapii逻辑分析工具进行嵌入式的逻辑分析;(8)、支持软件源文件的添加和创建,并将它们链接起来生成编程文件;(9)、使用组合编译方式可一次完成整体设计流程;(10)、自动定位编译错误;(11)、高效的期间编程与验证工具;(12)、可读入标准的edif网表文件、vhdl网表文件和verilog网表文件;(13)、能生成第三方eda软件使用的vhdl网表文件和verilog网表文件。*quartus 图形用户界面的基本设计流程:(1)、使用new project wizard (file 菜单)建立新工程并指定目标器件或器件系列。(2)、使用text editor(文本编辑器)建立verilog hdl、vhdl或altera硬件描述语言 (ahdl)设计。 您可以使用 block editor(原理图编辑器)建立流程图或原理图。流程图中可以包含代表其它设计文件的符号。还可以使用mega wizard plug-in manager 生成宏功能模块和ip内核的自定义变量,在设计中将它们实例化。(3)、(可选)使用assignment editor、pin planner、settings对话框(assignments 菜单)、floorplan editor、design partitions窗口、 logic lock功能指定初始设计的约束条件。(4)、(可选)进行early tining estimate,在完成fitter之前生成时序结果的早期估算。(5)、(可选)使用 sopc builder或dsp builder 建立系统级设计。(6)、(可选)使用 software builder 为 excalibur 器件处理器或 nios 嵌入式处理器建立软件和编程文件。(7)、(可选)使用analysis & synthesis对设计进行综合。(8)、 (可选)如果设计含有分区,而没有进行完整编译,则需要采用partition merge合并分区。(9)、通过使用simulator和generate functional simulation netlist ,命令在设计中执行仿真功能。(10)、使用fitter对设计执行布局布线。在对源代码进行少量更改之后,还可以使用增量布局布线。(11)、使用powerplay power analyzer 进行功耗估算和分析。(12)、使用timing analyzer对设计进行时序分析。(13)、使用simulator仿真器对设计进行时序仿真。(14)、(可选)使用物理综合、timing closure平面布局图、logic lock功能、settings对话框和 assignment editor改进时序,达到时序逼近。(15)、使用assembler为设计建立编程文件。(16)、使用编程文件、programmer和altera硬件编程器对器件进行编程;或将编程文件转换为其它文件格式以供嵌入式处理器等其它系统使用。(17)、(可选)使用 signal tap ii logic analyzer、signalprobe 功能或 chip editor 对设计进行调试。(18)、 (可选)使用 chip editor、resource property editor 和 change manager 进行工程更改管理*如何建立工程。new project wizard (file 菜单)将工程信息存储在quartus工程配置文件(.quartus)中,如图 3-5-3所示。它包含有关quartus工程的所有信息,包括设计文件、波形文件、signal tap文件、内存初始化文件以及构成工程的编译器、仿真器和软件构件设置。可以使用new project wizard (file 菜单)。使用new project wizard 如图 3-5-4所示。可以为工程指定工作目录、分配工程名称以及指定最高层设计实体的名称。还可以指定要在工程中使用的设计文件、其他源文件、用户库和eda工具,以及目标器件系列和器件(也可以让quartus软件自动选择器件)。建立工程后,可以使用settings对话框(assignments菜单)的add/remove页在工程中添加和删除设计和其他文件。图 3-5-3 quartus工程文件图 3-5-4 建立工程(1.新建工程向导 2.选择工程路径、名、顶层模块名 3.添加设计文件 4.选择目标器件(fpga型号) 5.选择eda综合、仿真、时序分析工具 6.总结)*如何建立设计。可以使用quartus软件在quartus block editor中建立设计,或使用quartus text editor通过ahdl、veriloghdl或vhdl设计语言建立设计。quartus软件还支持采用eda设计输入和综合工具生成的edif输入文件(.edf)或vqm文件(.vqm)建立的设计。还可以在eda设计输入工具中建立veriloghdl或vhdl设计,以及生成的edif输入文件和vqm文件,或在quartus工程中直接使用veriloghdl或vhdl设计文件。可以使用以下设计文件类型在quartus软件或eda设计输入工具中建立设计。支持的设计类型如图3-5-4所示。图3-5-4 quartus工程所支持的文件格式(二)特殊器件介绍1、sopc builder开发工具介绍。sopc即system on a programmable chip是指用可编程逻辑器件把整个系统放到一块硅片上。一方面它是片上系统即由单个芯片完成整个系统的主要逻辑功能;另一方面,它是可编程系统,具有灵活的设计方式,可裁减、扩充、升级,并具备软硬件在系统可编程的功能。这项技术将eda、计算机设计、嵌入式系统、工业自动控制系统、dsp及数字通讯系统融为一体。一个最小系统应该包括中央处理单元(cpu)、随机存储器(ram)和flash rom(存储代码、数据等),稍微复杂点的系统至少应该包括uart、dma、timer、中断管理模块以及gpio 等。(1)、sopc builder简介。sopc builder是altera公司推出的一种可加快在pld内实现嵌入式处理器相关设计的工具,其功能与pc应用程序中的引导模板(wizard)类似,旨在提高设计者可确定需要的处理器和参数,并根据此创建一个处理器的完整存储器映射,设计者还可以选择所需要的ip外围电路,如存储控制器,i/o控制器和定时器等模块。sopc builder库中已有的组建包括:*处理器:包括片内处理器和片外处理器接口*ip及外设:包括通用的微控制器外设、通讯外设,多种接口(存储器接口、桥接口、assp、asic),dsp ip和硬件加速外设。(2)、sopc builder用户界面。打开quartus的一个项目,选择quartus工具栏(tool菜单)中的sopc builder 选项,就启动了sopc builder。sopc builder 的用户界面包括系统元件(system contents)页。系统设置(more cpu setting)页和系统生成页。*、系统元件页。用户在系统元件页中定义所需的系统。在它的模块池中包括了用户可获得的所有元件列表。在模块表中列出的是用户已添加到系统的模块。当用户用sopc builder 生成系统时,它就生成了一个系统模块,这个模块包括了用户所有元件和接口以及自动生成的总线(互联)逻辑。模块表中列出的是用户添加到用户所设计的系统中的模块,包括桥、总线接口、cpu、存储器接口、外围设备等。此外,用户可以用模块表来描述以下一些项目:连接的主从特性系统的地址映射系统中断请求分配控制共享从元件的优先权系统元件还包括以下一些附加选项: 器件系列(device family):由用户从器件列表中选择用户的目标器件。这项设置非常重要,因为sopc builder是利用所选器件的结构优势来生成系统逻辑的。 系统的时钟频率:外围设备利用系统时钟来产生时钟分频或波特率等。sopc builder 的 builder-in testbench 发生器还利用这项设置来生成用户所要求的频率。*系统的设置项。当用户向所设计的系统中添加元件时,比如一个nios嵌入式处理器,在sopc builder 中就会出现一个系统设置(more cpu setting)的附加页。这个附加页可以让用户用来设置一些附加的参数或者与系统中其他元件的相连关系。比如,用户可以定义cpu和存储器元件之间的相关联关系指明哪一个用来做程序存储器,哪一个用来做数据存储器的对于用到的系统设置页的元件,sopc builder 会对用户添加到系统中的这个元件的每种情况都生成一个系统设置页。另外,处理器元件可能会有相关的软件组成,并且会在这一页中显示出来 altera在开发工具包中提供了多种软件组成,比如tcp/ip库。*系统生成页系统生成页是用来生成系统的。它包含一些选项,用户可以通过设置来控制生成的过程,比如,可以指定生成仿真工程。如图1-6-1所示:系统生成页点击generated按钮来生成所设计的系统。sopc builder 会生成一些项目:sdk(sofeware development kid)软件开发工具包,只有nios系统中产生,nios不会生成此文件系统中的每一个元件的hdl文件指定生成模块的hdl文件仿真工程文件日志(.log)文件图 3-6-1系统生成页2、nios的使用说明。(1)、nios介绍。nios是一个用户可配置的通用risc嵌入式处理器。altera推出的nios系列嵌入式处理器扩展了目前世界上最流行的软核嵌入式处理器的性能,把nios嵌入到altera的所有fpga中,例如stratix、stratix、cyclone、cyclone、apex、acex和 hardcopy系列器件中,用户可获得超过200dmips的性能,用户可以从三种处理器以及超过60个ip核中选择所需要的,nios系统为用户提供了最基本的多功能性,设计师可以以次来创建一个最适合他们需要的嵌入式系统。 nios处理器的优点和特性:使用nios处理器的用户可以根据他们的需要来调整嵌入式系统的特性、性呢感以及成本,快速使得产品推向市场,扩展产品的生命周期,可以避免处理器的更新换代。*提高系统性能。 一系列的处理器核可供选择,其中包括了超过200dmips性能的核; 实现任何数量的处理器或将不同的处理器核组合在一起; 增加了已有的处理器,在fpga中添加一个或更多的nios软核处理器。*更低的系统成本。 通过将处理器、外设、存储器和i/o接口集成到一个单一的fpga中。从而降低了系统成本、复杂性和功耗。通过将nios处理器嵌入到低成本的fpga只需花费10-20元人民币。*应对产品的生命周期。 提供易用的设计工具从而加速将产品推向市场。 提供永久的、免费的许可从而使基于nios处理器的产品避免了处理器的更新换代而带来的损失。*功能强大、易用的开发工具。 通过使用nios集成开发环境(ide),从而加速了软件的开发。 利用altera的强大的sopc builder系统开发工具和quartus设计软件可以在几分钟内设计一个系统。*使用完全功能的开发包。 使用易用的nios开发包开始一个设计。 可以选择具有低成本特性的cyclone fpga开发套件,或高性能的stratix fpga开发套件。(2)、nios设计流程。nios是用nioside集成开发环境来完成整个软件工程的编辑、编译、调试和下载。图1-7-1 表示了典型nios系统的硬件组成。图3-7-1 nios系统的硬件组成开发工作流程: 初期开发工作:需要软硬件结合处理,对系统进行需求分析。比如:cpu是否需要一个硬件加速乘法器,设计中所需要的外围器件及数量,是否需要dma通道释放cpu在进行拷贝时所占用的资源; 硬件开发:用sopc builder 定义nios处理器系统,用quartus软件定义器件、分配管脚并编译; 软件开发:c/c+程序开发,开发鼎峙硬件的驱动程序,定义硬件平台为目标进行编译连接; 下载到开发板上进行验证; 成功完成nios系统设计。*硬件开发流程用sopc builder 来选择合适的cpu、存储器以及外围器件,比如 片内存储器、pio、uart和片外存储器接口。用quartus软件选取具体的器件,并对sopc builder 生成hdl设计文件进行布局布线;再根据开发板分配i/o管脚。编译完后生成适合目标器件的网表。可以使用下载电缆将配置文件下载到开发板上。当校验硬件或时钟完毕时软件开发工作就可以开始了*软件开发流程系统软件设计具体工作如下:在用sopc builder 系统集成软件进行硬件设计同时,就可以开始编写c/c+软件,比如算法或控制程序。用户可以使用现成的软件库和开放的操作系统内核加快开发过程;在nioside中建立新的软件工程时,ide会根据sopc builder 对系统的硬件配置自动定制hal(硬件抽象层)系统库,这个系统库可以为程序和底层硬件的通讯提供接口驱动程序;使用nioside编译调试软件;硬件已下载到板上的基础下将软件下载到开发板上并在硬件上运行。3、开发板芯片cyclone ep1c12q240c8的介绍.开发实验板采用pci-e x1接口,为方便用户进行自主开发,提供了80个可用的fpga io输入输出,用户可以自行设计应用接插板,如外部a/d数据采集,图象数据处理等系统应用,而不需要对pci-e接口有过多的了解. pci-e接口芯片采用了plx公司的plx8111bb66bc,完全支持pci-e 1.0a协议,外部接口最高支持66m的工作频率,32位总线的宽度,支持最大266m字节/秒的突发峰值传送速度.核心fpga芯片采用altera公司的新型cyclone fpga系列,ep1c12q240c8,容量分别为12000个逻辑宏单元,等效于标准30万逻辑门电路,速度为-8,编译后系统速度可以达到100mhz,可以支持altera 公司的sopc内核nios2系统的开发,nios2开发环境编译后的可执行文件可以通过pci接口下载到开发板上的flash中去,如图所示。性能参数: fpga的外部总线接口支持8、16、32,64位数据总线,可以直接和cpu、sdram、fifo、sram、外部接口芯片等设备直接相连.以下是fpga开发板内部ip核接口:pci总线2.3标准,32位总线,完全vhdl源代码设计提供;支持pci 66m总线工作频率标准;支持pci总线配置读、配置写;支持pci总线io读、io写;支持pci总线bus master 读、bus master 写;支持内部dma中断和外部总线输入中断产生;支持一个pci io空间,大小为256字节;支持一个pci内存空间,大小为4m字节;支持pci突发访问方式,突发长度为8至128个双字长度;用户可自己定义设备id和制造商id;1个fpga内部16c450串口,完全vhdl内核提供;1组4mx32位sdram,容量最高支持到64mx32位的sdram接口,完全vhdl内核sdram接口源代码提供;1组16位flash(29lv800bb),1m字节,可以扩充至32位,最高16m字节flash,完全vhdl源代码设计提供;4通道开关量输出,集电极开路输出,500ma驱动电流,可扩展至64路开关量输出;4通道开关量输入,可扩展至64路输入;4个led状态指示灯输出,提供调试和测试使用,完全vhdl内核源代码提供;外扩标准32位数据总线,提供dma数据传送能力;通过2.54mm 100针接插件,提供80个gpio输入输出,用户可以自行设计各种a/d板等插在开发平台上,外部总线接口的工作频率可以达到66mhz;图 fpga开发板四、系统设计。(一).硬件设置。1.新建工程。.在【开始】菜单中,打开quartus ii 5.0。界面如图所示。图quartus ii 5.0软件界面.建立工程文件。新建一个工程目录“sopc_led”,在次目录下建立一个名为“sopc_led”的quartus工程。如图所示。图 5-1-2 建立工程文件.新建顶层图文件。如图 5-1-3 所示。图 5-1-3 建立顶层图文件2.用sopc builder 定制nios处理器及其外设。打开tool sopc builder 要求指定系统名称,本论文中输入nios_cpu如图 5-2-1所示。如图 5-2-1 打开sopc 并命名按ok进入定制界面。选择target,本论文选择unspecified board ;选择时钟频率,clock(mhz);本论文选50.0;选择目标器件系列,target device family:本论文选择cyclone。如图 5-2-2 所示。在sopc定制界面的左边,我们可以看到有许多功能模块,这些功能模块用户可以按照需要添加到所设计的系统中。图 5-2-2 sopc定制界面.添加cpu模块。我们需要一个cpu。双击nios processor altera corporation 弹出altea nios对话框,我们选择一个中等的cpu核,即nios/s,如图5-2-3所示。图 5-2-3 选择cpu核点击cachestightly coupled memories,把instruction cache改为1kbytes 如图 所示。图 选择caches点击jtag debug module,选择level 2。如图所示。图5-2-4 level 2点击finish完成nios cpu 的配制工作。项目中会添加一个nios处理器,名字为cpu_0,为了简便起见,没有将它改名。改名的方法是:右键rename,输入名字后回车。如图 5-2-5 所示。图5-2-5 完成cpu配制.添加jtag uart模块。双击jtag uart,(在avalon modules -

温馨提示

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

评论

0/150

提交评论