可编程逻辑器件(PLD)在性能、密度和功能方面获得巨大进步的同时,成本却显著下降。这一发展意味着当成本和性能都是关键的设计考虑因素时,设计者不再仅仅局限于使用ASSP、低成本ASIC和传统的嵌入式处理器。方便使用的PLD产品提供了能够加快产品上市时间、延长产品使用寿命的可重编程、可定制逻辑解决方案。
Altera低成本产品概述
Altera目前在原来极有竞争力的几款新产品的基础上,又推出了各款产品的第二代产品,它们可分为CPLD系列产品(MAX II)和FPGA系列产品(Cyclone
II、Stratix II、Stratix GX)。MAX II CPLD产品:成本最低、密度最高的CPLD(高达2,210个LE和272个I/O);具有非易失性和瞬时接通能力;低功耗(待机时间低至2mA)。Cyclone
II FPGA产品:低成本FPGA;性能最佳;密度最高;具有高性能DSP和低成本嵌入式处理能力。
Nios II嵌入式处理器概述:它是一款可编程于FPGA的软处理器;支持32位RISC架构(3个CPU内核),可支持性能优化或尺寸(成本)优化,具有性能/成本的极佳平衡;可永久使用/免版权税许可;提供系统生成(SOPC Builder);支持IDE环境。
另外,Altera正在以优惠价格提供多款开发套件帮助大家加速实现设计,具体请登陆网站www.altera.com/lowcost查询。
Altera产品的应用
消费类
(1)、可定制硬件设备
用户在选用标准硬件时往往还希望有足够的弹性去做定制化,以获得市场优势。例如一个影像解码器,在新的市场环境中用户希望它能增加新的功能,如硬盘、编码器、还有连通性(如USB、IP、QAM等),使其变成一个媒体中心。
Altera提供了具有标准架构并同时支持不同产品的解决方案。方案由一个ASSP加一个Altera FPGA组成通用平台,其优点是可减化生产和库存管理,减少系统的出错。在定制化的过程中,软件小组可以不用考虑硬件的变化,先行编写开发软件、驱动器程序;而硬件工程师希望增加一些新功能,因而添加了新的CPLD和FPGA,可实现特性的增强、故障的修复、共享型的PVR和丰富的视觉经验;最后生成的时候用户希望用ASIC的解决方案来降低价格,这时可增加新的系统或是子系统,如媒体的服务器或3D显示器等。整个定制化过程都基于一个标准的通用平台,所以对硬件不需要做任何的修改。
(2)、带有CAM(条件接收模块)的机顶盒
条件接收模块是有限电视厂商用来管理用户订购的服务,模块由两个部分组成,一个STB、一个是CAM,STB和CAM之间是通过USB2.0或是PCMCIA接口来连接。
条件接收模块组成架构:Cyclone II部分主要功能是条件接收硬件逻辑、存储器控制、以及USB的PCMCA接口。其中Nios
II微处理器主要是处理控制功能;与Cyclone II连接的是一颗MAX II EPM240 CPLD,它主要是做一些逻辑和安全的防护以及FPGA的配置,同时它也监视服务器端的视频信号汇流。
工业和汽车
(1)、军事或工业用高分辨率、小体积夜视视频相机
该设备原来由5个内部连接的PCB和17个IC组成,有5块PCB板,整合后改用一块集成Nios II处理器的Cyclone II板即实现了原先的功能,整机体积减少了50%,价格降了20%,耗电量只有原来的1/5。如图1所示。
(2)、新一代汽车的视频管理系统
它主要是由中间的视频处理器来完成各种处理,中间的视频处理器是一个中央处理器,它可处理从不同端来的视频信号。其中后摄像机、后座显示器等都属于安全功能,DVD、TV则是乘客娱乐系统。该系统实现了汽车应用所需的低价位,尤其是其中的Cyclone和Cyclone
II 提供了高性能及低价位的完美结合。
测试和医疗
(1)、麻醉系统
麻醉气体的监控、麻醉控制板或是一些接口等等都运用Cyclone FPGA实现。
整个麻醉系统的实现:它由主CPU/显示器用户接口、控制和代理传送、气体监控、电子混频器及通风I/F组成。其中显示器是一单板电脑,有CPU和北桥;控制和代理传送、以及气体监控、电子混频器及通风I/F,都是由配有FPGA和具有PCI定制化逻辑的模板搭建的。其中FPGA中有一个Nios
II CPU,它对整个系统进行控制;而Avalon则用于周边的汇流整合,如等待状态功能或是汇流重组等。系统通过在一个通用平台上进行不同的定制,来实现不同的应用,从而节省了成本。
(2)、手持式测试仪器
该仪器设计架构是一个通用的架构,主要组成是一个SOPC(可编程芯片系统),里面包括软CPU、定制化逻辑及标准接口,这样的设计可符合市场上大部分的手持式测试仪器,且不会过时。
Plexus个案研究
Plexus公司产品要求
Plexus是一家主要进行产品开发和制造服务的公司。其所生产的工业数据捕获单元是在苛刻环境条件下(下雨、下雪或沙尘暴)使用的单元,用来记录以各种速率移动的移动目标的关键测量数据。参数存储在数据捕获单元中,并传送至PC和服务器,供用户监控。
其产品要求:通过RS232实现与17个数据捕获模块的接口。捕获模块位于子卡上,系统需要能处理数据缓冲、实现数据同时传送,外部需有RS232端口、RS485端口及以太网端口,必须探测目标的出现和速度、外部和内部温度监控及风扇和加热器控制。
产品方案
a、原始方案
采用一个微处理器和多个分立的低端微控制器,连接在多点串行链路上。微处理器用来控制和监控整个系统,包括控制所有子卡;而下面子卡的部分由低端微控制器来控制整个模块传输资料到微处理器;微处理器与子卡之间通过RS485进行连接。这样设计的缺点是多个微处理器需要开发软件和编码跟踪,而且需要更多的硬件,因而不容易进行测试和生产。这样的设计在处理同步资料缓冲和传送时很困难,如图1所示。
图1 原始方案(略)
b、改进后的方案
使用Cyclone Nios II处理器,所有设计都整合到FPGA中,之前的子卡不需任何微控制器。另外因为每个子卡都有独立的沟通管道,因而FPGA跟任何子卡都可独立沟通,在同时沟通时也没有任何困难。同时其他的控制和监控功能也都被包括在内,如图2所示。
图2 改进后的方案(略)
为什么选择Nios II处理器系统
Nios II具有以下性能优势,因而获得了采用。
a、Nios II系统的SOPC Builder具备了该系统所需的绝大多数外设。
b、使用Nios II处理器可缩短现有的外设开发时间,即降低了NRE成本,实现产品更快面市。
c、在SoPC Builder设计定义的总线体系结构中,对接口和外设所需的任何“胶合逻辑”,Avalon都能完成处理。SoPC
Builder定制外设非常容易,只要选择合适的HDL档案,定义Avalon的信号界面和时序便可完成(通过一个.ptf的文本文件来定义,方便修改)。
SoPC Builder还可生成HDL源代码,使设计人员能够增强或修改外设;SoPC Builder可提供软件驱动;能自动生成System.h文件,简化了硬件/软件协同设计和重新设计,就算硬件在SoPC
Builder改变位置,软件
也不需重新定义硬件位置;可实现硬件/软件协同仿真。
d、Nios II可提供开发平台。
e、Altera为Nios II提供了很有帮助的C样本代码。
f、整个设计是在一个Cyclone EP1C12 FPGA中实现的,它是一个整体系统的低成本方案,具有可伸缩性。
g、Altera为Nios II提供良好的支持与培训。
h、最后Nios II处理器方案还具有良好的灵活性和可配置性,它可实现迅速、方便的改动,具备短时间内修改外设和系统配置的能力。
小结
设计在SoPC中的Nios II处理器提供了低成本、灵活可配置的解决方案,此方案不仅节省了开发时间,还可根据设计添加和修改的要求,迅速进行改动。另外通过在一个Cyclone
FPGA中使用Nios II处理器,降低了整体元件成本和元件数量。
问答选编
问:在用Quartus编译时,为什么Th会有负值出现?
答:时序报告是与参考时钟关联的,当然可以有负值,如果要转换为正值只需与参考时钟周期相加即可。
问:FPGA能处理浮点吗?
答:可以。
问:Cyconle 内部的硬件乘法器怎么调用?如果是 自己设计的乘法器,是否能使用这些硬件乘法 器?如果能,怎么调用?
答:可以使用Quartus II中的MAGAWIZARD调用乘法 器,它会提示是否用硬件乘法器或者LE来实现。 如果是自己设计的,可以用SYNPLIFY综合实现。
建议使用Quartus调用。
问:MAX-II的两个电压(核电压和IO电压)上电顺序 有要求吗?
答:和其他CPLD不同的是,MAX-II没有上电顺序要 求,一起上电也没问题。
问:如果想要把MAX3000的JTAG引脚用作GPIO,应 该怎么做?
答:用编程器来PROGRAM你的器件,这样JTAG引 脚就可以作为普通IO。
问:Altera提供的ASI参考设计中,采用的是C6或C7 级别的Cyclone,C8系列是否可以用?
答:可以。
问:可不可以在SoPC Builder中添加自己设计的CPU 核或第三方的CPU?
答:不行,SoPC仅支持Nios。
问:Nios II集成开发环境用C语言开发运行效率怎 样?操作系统需要单独购买吗?
答:运行效率很高。操作系统支持如MC/OS2,UCLINUX 等,买了开发板,操作系统就自带。
问:Quartus II 4.2不支持MAX II后续器件的编程如 EPM240,不能生成POF文件,是否后续有补丁使 用?
哪能下载?
答:可以使用QUARTUS2 5.0 版本,也可到下面的网 址下载补丁:WWW.ALTERA.COM/DOWNLOAD 。
问:用CycloneII 能时实现USB引擎吗?
答:可以。
问:Cyclone系列芯片的I/O都有哪些电压类型?与 外面器件接口时是否需要电压转换?
答:Cyclone系列的I/O支持除了5V以外所有常见的 I/O电压,比如LVTTL,LVCOMS,HSTL等。与外面 器件接口时,一般小于5V时不需要电压转换。
问:如何在FPGA里加入一个PCI总线接口电路?如 果把这个FPGA做在一块PCI接口的电路板上, 并插到工控机的PCI插槽中?运行WINDOWS
CE 操作系统,如何编写驱动程序?有没有范例?
答:(1)一般在FPGA中有支持PCI的电气标准。
(2)可以根据你的PCI要求使用IP core或自己写 代码实现PCI总线接口电路。
(3)我们提供IP core时,相应或通过第三方提供 OS驱动开发工具。
(4)具体详细开发信息可以咨询我们当地的FAE 或访问Altera的网站http://www.altera.com.cn/pro
ducts/ip/iup/pci/m-alt-pci_mt32.html 得到更多信息。
问:NiosII 有MMU模块吗?
答:没有 。
问:我用Altera的CPLD做MCU的扩展口,经常出现 CPLD的GPIO烧坏,是不是不能直接驱动5V的
器件?
答:如果你使用的是MAX3000,你需要将每个IO的
PCI clamp二极管打开来兼容5V,同时VCCIO接 3.3V。
问:开发板上没用到的管脚该如何设置?
答:请设置为输入三态。
问:在一些液晶驱动板上,常遇到图像通道转换AD 块易被干扰,导致无图像输入处理的情况,如能用 CPLD或FPGA编程处理,能否有效避免干扰问题?
答:(1)你可以尝试使用maxii的施密特触发器。(2) 可以在FPGA里面设计数字滤波模块,屏蔽掉特 定周期的干扰信号。
问:如何直接使用(即:不用MATLAB)FIR和FFT等IP 核直接与NIOSII形成CPU+DSP结构?
答:需要设计相关IP核与NIOSII的AVALON总线连 接的相关接口。
问:(1)MicroC/OS-II操作系统是不是在IDE的system library中选择后就会自动安装?
(2)参考手册上介绍Timer时提到的system clock 是不是指NIOS II上操作系统时间片?
答:(1)是在设置后自动支持。(2)是的。
问:SDRM和Flash可否总线共用?
答:不可以。SDRAM需要专用的刷新电路。二者的 时序是不同的。
问:1K30的核电压与IO电压一起接到3.3V有没有问 题?另外我想用VHDL写的程序占用RAM资源应 如何做?
答:最好分开接。另外最好使用MEGAWIZARD来调 用RAM块。
问:请问MAX II器件,可否用USB总线来读写UFM?
答:不能用USB总线来读写UFM。如果需要,必须自 己实现Jtag到USB的接口转换。
问:我用MAX3000,遇到INPUT/OE/GCLK管脚时不知 如何处理,是否可当做一般I/O口用?此时只能 用作INPUT?
答:一般用来做全局时钟输入。可以当成一般的I/O。 时钟引脚只能用作输入。
|