发布成功
一、MAX10系列FPGA简介
小二在这里推介Altera Max10系列FPGA的方案,是因为它的确好用,而且还具有以下优点:
(1)低成本:价格最便宜的(2K逻辑)官方报价$2每片;价格最贵的(50K逻辑)的也不过是$20多每片,比同等逻辑量的Cyclone III还要便宜些;没骗你,单片标价都是这么便宜,非常适合消费级产品中应用。
(2)无需外部配置芯片。因为芯片内部集成了Flash,再也不用外挂一个配置芯片了;更为甚者,除了专用的程序存储Flash还有用户可用的Flash空间;
(3)无需复杂电源方案。全系列器件仅需单电源(3.3V)或者双电源(2.5V和1.2V)供电;
(4)选择丰富。
a)可选单电源或双电源器件(单电源性能稍低);
b)封装形式多样,涵盖36~672引脚的各类型封装形式;
c)内部资源选择多样,可选择通用型、带用户Flash型和带ADC型(有用户Flash)等多种;
d)IO和逻辑组合多样,即使是2K逻辑的器件,也有最多160个通用IO,是取代传统CPLD的完美选择;
(5)内置锁相环。这是传统CPLD所没有的,因此可以用比CPLD便宜的价格获得比CPLD更加广泛便捷(可SignalTap在线调试)的应用;
(6)IO性能优秀。可接入(输出)多种差分电平标准,如LVDS、Hispi等,最高频率可达305MHz;可外挂DDR III器件,最高时钟频率可达300M。
(7)分布式RAM资源,内部的M9K RAM碎片可收集使用,可以做到内部RAM资源利用最大化;
(8)内部有18*18乘法器资源;
(9)极低功耗;
总而言之,这个片子可以极大满足低端应用市场,经济实惠,外围电路简单。比CPLD价格更便宜,使起来更加的方便。当然啦,MAX10系列器件的应用还是主要集中在控制类、接口类领域,毕竟能力和定位在那里。
二、实用案例
小二挑选了四个案例对MAX10系列FPGA应用做简单说明。
案例一:工业相机系统
对一部分工业相机而言,前端最多的是实现Sensor采集(或许还有一些简单预处理)和传输,算法应用处理大多在计算机上,一般的方案架构如下:
图1 部分工业相机的架构图
(1)如图1所示,核心是个FPGA(需要做预处理的可能会挂一片SRAM或者DDR),主要担负Sensor的配置与数据采集、与工控机的控制交互和图像数据上传等工作;
(2)Sensor通常分辨率不会太大,也有可能是Mono的,也有可能帧率较高,输出接口则是五花八门,有可能是LVDS、Hispi、BT601/656/1120等等各种;配置总线接口则基本是SPI或IIC;通过FPGA逻辑实现数据接收和配置总线接口;
(3)控制接口与计算机交互控制命令或状态,控制命令有可能是设置相机、同步触发等,物理层可能通过RS-232/422/485或者CAN总线等;通过FPGA IP资源实现控制接口;
(4)这里的数据接口输出相机前端系统的数据到工业相机,物理层常用的有a)USB3.0,通常采用Cypress的转接桥片,FPGA实现一个并行存储总线逻辑;b)以太网,一般会用UDP传输,要求高一些的会走一些握手协议,GigE Vision目前用的比较多,会利用FPGA IP资源来实现(当然GigE Vison IP并不免费,有人选择花钱买第三方的,也有公司选择自主开发); c)CameraLink,这个大家都熟悉,工业相机用了好些年了;
(5)有一些简单预处理的,会选择挂SRAM或DDR来缓存,做一些类似于几何拼接、坏点校正、简单的降噪、增强或者Gamma之类的(有的用到18*18乘法器,看具体算法);
实际上这里选哪家的FPGA并没有什么特殊的优势或者门槛,有用Xilinx或Altera Cyclon的,也有用Lattice的。我这里想说的是,这几年用MAX10的越来越多了。大家或许是基于下面的一些原因考虑的吧:
(1)性价比因素:比Xilinx的便宜得多,就算是MAX10系列的器件和Lattice同规模的相比较价格也在同一个水平上,但是用起来会更方便、IP资源也多、社区生态也更丰富;
(2)单电源3.3V或者双电源(2.5V和1.2V)供电:这样能极大的简化电源方案,如果选用单电源3.3V的,基本上只要一个电轨就够了;
(3)内置Flash:无需再外接程序或数据存储的Flash;
(4)汽车认证:AEC-Q100认证,这对有些应用来说很重要。
综合来讲,用MAX10系列器件能够大幅的减少电路尺寸、节省BOM成本,但是也有一些缺点,主要集中在单电源供电的器件发热稍大、部分器件的交期较长。
案例二:电源控制
在复杂的系统中往往有多个处理器或处理单元、模组,对掉电、上电和电源调节有特殊的要求,主要体现在时序和反馈调节上。在这里使用CPLD太弱、使用其它FPGA太费,楼主看到用得比较多的是单电源供电的10M02(或者10M04,毕竟还是有一些逻辑需求在里面),封装一般用M153的(8mm*8mm)。主要实现的功能如下:
(1)上电和掉电时序控制,这个简单,GPIO输出个高低电平OK;
(2)反馈调节:用片上的SAR ADC采样电压或者电流数据,通过SMBUS对电源管理芯片进行实时调节(也有用DAC调节电源FB基准的);
(3)风扇控制:采样温度、PWM调节风扇转速的;
(4)有的还会和处理器建立一个通信接口,一般是SPI或者IIC。
用起来特别方便,一个3.3V电源,一片MAX10芯片搞定一切,占的地方小,也便宜。
案例三、电机控制
电机控制这一块儿的应用有用作控制步进电机的,也有用在BLDC(FOC)控制上的。
(1)步进电机:比较简单,就是一个根据输入命令信号生成相位脉冲,真的很简单,主要还是用10M02的器件;
(2)用作接口转接的:主要是在BLDC(FOC)控制中采样编码器之类反馈器件的值,编码器接口的协议众多,FPGA采集到后经过滤波处理(有的用到18×18乘法器,具体看算法)通过总线送到主处理器如TI的TMS320F28335/ TMS320F28069之类的专用的电机控制DSP上。对较为复杂的如多机械关节的地方,接入的编码器路数可能还会比较多,这一块儿主要还是用10M02和10M04的器件较多。
案例四、图像接口
一个是体现在其它接口与MIPI D-PHY之间的转接上,监控和显示领域用得比较多,早期主要是用的Lattice的方案(基本上自己没法改动),现在也有一些用MAX10方案的:
(1)监控领域:主要是做sensor的采集到主处理器MIPI接口输入(早几年TI的方案上也有转并口BT1120的),监控行业现在主要是和华为海思主处理器的MIPI D-PHY CSI接口对接;
(2)显示领域:主要是MIPI D-PHY DSI转SDI(用第三方收发器芯片)、HDMI、LVDS用于中大型屏显示的。
这两种应用大多会用10M25和10M40双电源(单电源的LVDS工作速率要低)的器件。
二个是一些特殊的应用,比如说模拟输出的图像在前端又不能用较大面积电路的。如制冷型探测器的焦平面输出AD采样:
(1)传统的办法是分成2级或者3级:a)最前端是信号板,套在探测器的脖子上(业内人士清楚这种方式); b)中间是AD板(这一级也有可能没有,直接放到图像处理板上),主要进行ADC采样,离信号板的距离相对近(因模拟信号不适合远距离传输,即使转成差分的);c)图像板:接收AD板采样的信号(或者是板上本来就有AD采样电路)和红外图像处理。这样子带来的不利影响是模拟信号需要较长距离的线上传输,可能会带来干扰或衰减,影响图像质量(这对红外图像系统很重要);电路多且分散,也会对可靠性带来影响。
(2)采用MAX10的方案,将低功耗ADC和信号板合并,实现模拟信号传输路径最优,转成LVDS数字信号抗干扰能增强。已知现有的主要是用M153封装(8*8mm面积)的那颗料,系统方案如图2所示,实物见封面图片。
图2 制冷型红外热成像前端模拟接口板框图
另外还有一些其他接口的应用,比如说子母时钟系统,对时码输出有秒对齐要求的,会用它来做接口板输出串口、1X9或其他接口的时码。
总之呢,MAX10的器件在性价比、资源和易用性上还是很有优势的。不过,就目前的国际形势来看,中国还是需要有且必须有自己的真正能够达到规模商用水平的FPGA,小二期待那一天尽快到来。
行业分类 : 工业电子
开发平台 :
交付形式 : PCBA,整机,软件
性能参数 : 工业级(-40°C~+60°C);支持定制开发
应用场景 : (1)工业相机系统; (2)接口转换,如MIPI到HDMI桥接、USB接口桥接、多路总线切换器等; (3)I/O控制,如上电时序控制、I/O扩展卡、空节点和继电器控制等; (4)数据转换,ADC和DAC系统; (5)电机控制。