现代FPGA功能强大,它通过芯片的可编程引脚与外围电路相连。比如AD/DA,数字IO以及以太网,USB,CAN,视频I/O等接口电路。人们将这些接口称为夹层模块。为了实现FPGA系统的模块化设计,就需要实现这种接口的标准化。目前比较流行的包括下面三种
Pmod接口标准是由Xilinx的第三方合作伙伴迪芝伦制定的接口扩展规范。它主要针对低频,少引脚外围模块。接口定义了6脚和12脚接口。6脚版本定义了4个数字IO和一个电源,一个地线。12引脚版本定义了8个IO信号脚,一对电源脚和一对地线。
pmod定义了下面几种类型
I2CTYPE1TYPE2TYPE2ATYPE3UARTTYPE4UARTTYPE4A(扩展的UART)TYPE5TYPE6
FPGA夹层卡(FM标准由包括FPGA厂商和最终用户在内的公司联盟开发,是美国ANSI标准。FMC主要是高速,多引脚模块定义的接口。
从引脚的数量分,FMC分为
低引脚数(LP连接器具有160个引脚高引脚数(HP连接器具有400个引脚
FMC标准定义了单宽度(69毫米x75毫米)和双宽度(139毫米x75毫米)两种尺寸。单宽度模块支持到载卡的单个连接器。双宽度模块主要面向需要更高带宽、更大前面板空间或较大PCB面积的应用,支持多达两个连接器。FMC标准提供两种尺寸,能够更加灵活地根据空间、I/O要求或者这两者的要求对板进行精心优化。
FMC连接器是美国Samtec公司设计的高密度高速连接器,以用作标准到载卡上的FPGA的接口:一种是具有160个引脚的低引脚数(LP连接器,另一种则是具有400个引脚的高引脚数(HP连接器。这两种连接器均支持高达2Gb/s的单端和差分信号传输速率,且到FPGA串行连接器的信号传输速率高达10Gb/s。
HPC和LPC连接器都使用相同的机械式连接器,唯一的差别在于实际上移植哪些信号,因此采用LPC连接器的卡也能插入HPC处,而且只要适当设计,HPC卡在插入LPC处时还能提供诸多派生功能。此外,除了68个用户定义的单端信号或者34个用户定义的差分对外,LPC连接器还提供了1个串行收发器、时钟、JTAG接口和1个作为基础智能平台管理接口(IPM命令可选支持的I2C接口。而HPC连接器则提供了160个用户定义的单端信号(或者80个用户定义的差分对)、10个串行收发器对以及更多时钟。
带有FMC的开发板
FMC插卡
AD-FMCDAQ2-EBZ是用于高速DACAD9144和ADCAD9680的FMC板。它可以连接到Xilinx®KCU105FPGA基板,为具有宽带模拟数据采集功能的高性能数字信号处理应用的快速原型设计提供一个综合平台。
两个LPC接口的控制卡
国内也有一些厂商开发了FMC接口卡和带有FMC接口的PCI插卡,开发板。
对于许多应用而言,FMCLPC的160根引脚还是太多了,而且接插件的成本也十分昂贵。为此OpalKelly公司提出了SYZYGY的标准,它是PMOD和FMC之间的折中标准,SYZYGY是一个开源的标准,使用40针接插件。
详细规范可以在下面找到
下是带有两个SYZYGY插座的Zynq板。
三种类型
标准收发模块收发模块
特点
标准模块的特点
0-pin0.8mmSamtecconnector5V,3VfixedvoltagesProgrammableVIOsupplyMCUforperipheralpersonalityandVIOsetting8differentialpairs(or16single-endedsignals)12additionalsingle-endedsignals
收发模块的特点
0-pin0.5mmSamtecconnector5V,3VfixedvoltagesProgrammableVIOsupplyMCUforperipheralpersonalityandVIOsetting18additionalsingle-endedsignalsDedicatedclockinputs/outputsTXR-2portshave4transceiverpairsandreferenceclockforhigh-performanceI/OTXR-4portshave8transceiverpairsandreferenceclockforhigh-performanceI/O
接插件
尺寸
标准模块45mmx70mm收发模块:50mmx70mm
值得一提的是,每块板上都带有一个I2C接口的8pin单片机存储了关于模块的所有信息。
普及程度
从网络上看,SYZYGY自2017年公布以来,其它公司提供的相关产品似乎并不多。
各种接口的对比一览表:
应用场合
从上看,SYZYGY适合像处理,AD/DA,光纤接口等场合应用。
更简单的方式
也可以使用更灵活和简单的方式,比如NI的cRIO模块采用了DB15的接头。引脚定义为:
灵活应用
FPGA的外围接口与单片机有很大的区别。FPGA的接口只是IO引脚,实现的接口类型基本上是可编程的。而单片机的接口往往是预先定义好的。比如SPI,I2C,CAN,UART等等。相比之下,FPGA的IO接口要简单和灵活的多。
基于FPGA的设备越来越多。实现模块化设计是减少重复开发额重要手段。要根据实际的需要,选择合适的模块接口。
对基于Zynq的小型边缘控制设备而言,采用SYZYGY接口可能更加合适,接插件可以选择不同的方式,比如欧式插座。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点