在之前接触的设计中如果涉及要实现ADC采样的话,往往会从精度和速率来考虑对性能的影响,一般来说精度是固定的或有一个最大精度设置,但是采样速率的话,过快会造成采样不准确,往往会对整个设计的性能造成限制,所以一直期望有这样一个系统:可以实现高速ADC采样并将数据远端存储也可以本地存储,最关键的是采样速率要快,存储的速度要快,同时在设计开发是灵活度要高。而VadaTech最新推出的VT988恰好就是这样一个系统原型。
VadaTech高速16通道数据采集系统VT988
VadaTech最新推出的高速数据采集系统支持16通道8bit的ADC模数转换,其采样数率高达3G每秒,最关键的是这个系统采用了之前没有见过的独特架构来实现。在这个系统中,巧妙地将一款Xilinx 的Kintex-7 FPGA和 一块 Nvidia的Jetson TX2 SOM系统结合在一起,下面是这个系统的方框图(刚好是上图展开的内部结构图):
VadaTech 高速16通道数据采集系统方框图
从上面的方块图中可以明显地看到,系统中的Kintex-7 485T FPGA通过一个接口连接到高速ADC转换接口。这个系统十分适合用于实现灵活高速的I/O任务,同时可以实现数据的实时滤波处理和DDC低频转换,不过从方框图中可以看出 一个问题,那就是我们采集的样本数据都存储到什么地方去了呢?在板卡上,FPGA芯片会同时连接到板卡上的两个100GbE的SFP+ 接口处(或者经由一个板上的GbE选择器选择连接到四个GbE端口),从而实现样本里data的搬移存储,但是,尽管如此,如果ADC模块全部全速运行的话,这些端口还是没法满足快速将如此多的ETH数据迁移运输,所以说,对于data的存储还是需要有本地存储单元来支持,尤其是如果你的处理程序需要用到一些板卡上的数据时,本地存储就比ETH获取数据方便很多。
对于本地存储的问题,其实Nvidia Jetson SOM板上系统本身就集成了8GB的 LPDDR4 SDRAM存储单元在模块上,系统中的Kintex-7 FPGA芯片可以通过TX2上的PCIe Gen 2X4的接口来访存这个存储单元,这确实是一个有点意思的系统架构。
VadaTech VT988 是一个1U,19英尺长的模块,它的16路ADC通道可以通过自身的SMC连接器外接到外部,下面是这个系统的接口侧面图:
上面这个架构确实在小编之前接触的板卡系统中没有见过,其实这个系统总体来讲是利用了FPGA的端口可配置性,在实现多通道ADC转换的同时,可以连接到ETH接口,对采样data进行远端存储,但是同时也可以利用TX2的loaca 存储单元,实现data的本地存储,这样对于需要本地data的program就没有了data路径的限制,对于不需要local data的program可以将data存储在外部,是一种比较有意思的设计,这也从另一个角度说明了基于FPGA的设计对于设计的灵活性支持真的十分重要。