论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
分布式数据库
›
基于AMD AU15P FPGA的SLVS-EC桥PCIe计划方案分享 ...
基于AMD AU15P FPGA的SLVS-EC桥PCIe计划方案分享
铁佛
金牌会员
|
2025-3-10 06:34:07
|
显示全部楼层
|
阅读模式
楼主
主题
983
|
帖子
983
|
积分
2949
作者:Hello,Panda
各位FPGAer周末舒畅,今天熊猫君分享一个基于AMD AU15P FPGA的SLVS-EC桥PCIe计划方案。
一、方案配景
先说方案的应用配景:众所周知,较为上层的如基于AI的呆板视觉应用,大多基于高端的专用SoC、AI专用盘算卡等,好比说英伟达(NVIDIA)的一系列高端器件;国内的海思(Hisilicon)、瑞星微(RockChip)等。在工业和科研应用范畴,一些超高速或超大面阵的图像传感器因输出图像必要极大带宽的缘故,常常采用SLVS-EC接口输出,为办理专用芯片无法直接支持SLVS-EC输入的问题,这个SLVS-EC桥接到PCIe的计划方案便应运而生。
二、FPGA选型
桥接型的方案,除了必要实现基本功能外,还要求功耗低、面积小且成本不要太高。那么咱们先看这些SLVS-EC输出的图像传感器,大多都是基于SLVS-EC Spec 2.0规范,8-Lanes输出,Lane速率4.752Gbps。那么对桥接FPGA的基本要求是:
(1)8对高速Serdes实现8-Lanes 4.752Gbps SLVS-EC数据吸收;
(2)至少PCIe Gen3 x4输出采集到的数据;
(3)PCIe采用Stream模式对主控的控制要求太高(重要是熊猫君在这种几乎满带宽环境下没怎么调好过,以是不敢推荐Stream模式),因此采用Memory Map模式,因此必要至少32位宽的DDR缓存。
那么,可以或许同时满足12对高速Serdes,可接DDR缓存,封装小且功耗低的器件,截止本文发布,好像只有AU15P用起来刚刚好。其资源如下图所示:12对Serdes,PCIe用去4对,另有8对可用来接入SLVS-EC,170K的逻辑、144个RAM36K,实现PCIE、SVLS-EC和DDR控制器能用上65%~75%,也是刚刚好。器件选用SBVB484(19mm×19mm)封装,全功能运行功耗3W左右,均比较符合。
当然,如果是图像传感器是4-LANEs SVLS-EC输出,也可以支持两颗Sensor同时接入。
三、软件计划
本文以接入两颗4-Lanes SLVS-EC图像传感器为例,描述软件计划架构。
如图所示:
(1)SoC设置和控制Sensor时序,FPGA吸收SLVS-EC接口数据并可经PCIE接口输出,相当于是数据透传;
(2)SoC通过PCIe接口(XDMA)控制FPGA各模块和读取FPGA各模块的状态,FPGA相当于是SoC的一个外设;
(3)XDMA设置为AXI Memory Mapped模式,SoC在收到XDMA给出的数据停止后读取图像数据。
1、SLVS-EC吸收模块
SLVS-EC吸收模块的计划框图如下:
SLVS-EC的物理层支持1-Lane/2-Lanes/4-Lanes/8-Lanes 的 SLVS-EC 数据通道输入。SLVS-EC 核心组件由 RX 协议剖析状态机、packet Parser 和字节到像素的转换等模块构成,实现如Packet Header、Packet Footer等链路层功能和链路层协议管理等功能。支持的数据格式有 RAW8、RAW10、RAW12、RAW14、RAW16。
2、XDMA设置
通过AMD官方IP XMDMA实现PCIe传输。Vivado下关键设置如下图:
如上图所示,因为接入的是2组SLVS-EC相机,因此用户停止请求设置为2个,每个相机的数据对应一个独立的停止。同理,DMA H2C/C2H也设置为独立的2个。M_AXI_LITE接口用于设置FPGA和读取状态。
3、主控读取
对PCIe主控而言,Linux系统下面直接编译AMD提供的官方驱动即可,不过必要注意的是,不同版本的Linux内核头文件可能有些许差异,根据编译信息处理即可,下图是在Ubuntu 2022.4上利用QT取PCIe图表现效果。
今天的分享到此结束了,盼望对大家有所启发。大家有更好的计划想法,有问题,有需求均可与熊猫君接洽一起学习、讨论、进步。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
铁佛
金牌会员
这个人很懒什么都没写!
楼主热帖
R语言使用dplyr包的arrange函数对dataf ...
Visual Studio 2022 安装低版本的 .Net ...
手把手教你入门Python中的Web开发框架 ...
身为一个测试工程师只会点点点?我劝您 ...
Apifox:节省研发团队的每一分钟 ...
通过cookie和localstorage实现数据持久 ...
.net6下使用DotnetZip解压文件,中文出 ...
.Net Core 5.x Api开发笔记 -- Swagger ...
实现华为多屏协同--非华为电脑下载12.0 ...
反射(一)-常用方法及加载资源文件 ...
标签云
运维
CIO
存储
服务器
浏览过的版块
DevOps与敏捷开发
Postrge-SQL技术社区
IOS
图数据库
快速回复
返回顶部
返回列表