IDT前CEO有话说,RAPIDIO

一块开发板上的多个FPGA间如何通讯?

IDT前CEO有话说,RAPIDIO


对于多个FPGA之间的通信,只要IO连接上了,对于高速的数据流需要同步时钟,对于低速的接口,只需要异步处理即可 。下面介绍几种FPGA之间常用的数据通信方式 。一、GPIO通信两块FPGA之间通过普通IO互连,加上上拉电阻或下拉电阻的方式异步通信,这类通信适合电平信号,使能信号,逻辑控制信号的异步处理,起到通知,控制作用 。
【IDT前CEO有话说,RAPIDIO】二、低速设备通信两块FPGA之间的常用低速设备通信有以下几个1、异步串口通信(UART)异步串口通信,是最常见的通信方式之一,是一种应用广泛的短距离串行传输接口 。常常用于短距离、低速、低成本的通讯中 。基本的UART通信只需要两条信号线(RXD、TXD)就可以完成数据的相互通信,接收与发送是全双工形式 。
TXD是UART发送端,为输出;RXD是UART接收端,为输入 。uart的数据协议简单,如下2、SPI总线通信SPI 总线有3线制(片选CS,时钟SCK,输入输出SDA)、四线制(片选CS,时钟SCK,输入SDIN、输出SDOUT)等,常用于操作NOR FLASH,一些专用芯片的配置总线,是一种高速的,全双工,同步的通信总线,SPI总线有四种工作模式,常见模式0和模式3 。
3、I2C通信I2C总线常见于读写E2PROM,专用芯片的配置总线,DSP的启动方式之一 。I2C总线只有两根线,时钟SCL,数据SDA(inout),从设备提供应答 。I2C的速率有最大400K、100K 。I2C时序如下:三、高速通信1、GTX/P/H通信1)、RapidIORapidio互连架构,旨在与最流行的集成通信处理器、主机处理器和网络数字信号处理器,是一种高性能的分组交换互连技术 。
IT地址高性能嵌入式工业对可靠性、增加带宽的需求,以及更快的总线速度 。Rapidio标准分为三层:逻辑层、传输层和物理层 。逻辑层定义了整个协议和包格式 。运输层提供路线数据包从一个端点移动到另一个端点所需的信息 。物理层 描述设备级接口细节,如包传输机制、流控制、电气特性和低级错误管理 。
对于RapidIO通信,常采用FPGA内部SRIO IP core实现,SRIO系统框图如下:2)、PCIEPCI Express核心的7系列FPGA集成块是一个可靠、高带宽的可扩展的串行互连构建模块,它可配置为端点和根端口应用程序,可用于通信、多媒体、服务器和移动平台,并支持高端等应用程序医学成像、图形密集型视频游戏、DVD质量流媒体视频桌面和万兆以太网接口卡 。
PCIE IP框图如下:3)、10G以太网10G以太网的实现主要采用FPGA内部MAC core和PMA/PCS核实现 。对于高速的网络传输一般使用UDP传输协议,不适合TCP/IP协议(实现有难度) 。UDP的优点就是不需要建立连接 。对于两块FPGA之间传输数据,只用到MAC层传输即可 。4)、aurora 8B/10Baurora 8B/10B IPcore设置如下:图 aurura ip参数设置一致5)、aurora64B/66Baurora64B/66B IPcore 设置如下:2、SelectIO1)、CameraLinkCameraLink接口常用在相机或高速图像传感器,用于传输高速图像、视频等 。
2)、High Speed IO高性能的IO速度能跑到几百M,总线包括高速时钟和高速数据线,利用IDELAYE2、IDELAYCTRL、ODELAYE2原语,通过训练字调节IO输入延时(ps级),对齐数据的相位,便于时钟采样,Serdes实现了高速串并转换 。Serdes 输入输出实现依赖于xilinx的底层原语,serdes输入如下:serdes输出如下:总结,FPGA与FPGA之间通信很简单,能做异步传输,也可以同步传输,可以低速传输,也可以高速传输 。
从事嵌入式底层软件设计工作需要学习哪些?如何做好软件设计?

推荐阅读