Crosslink-NX器件应用连载(9): USB3.0相机

作者:Hello,Panda

大家晚上好,很久没有分享设计案例了,实在是太忙了,精力十分有限,今天分享一个CrosslinkNX系列器件用作USB3.0相机的案例。其实就是分享一下使用CrosslinkNX器件设计USB3.0相机主要有两种方案:

(1)传统方案:使用LCFCL通用器件(LIFCL-40或LIFCL-17)+USB桥接芯片(如5Gbps USB桥芯片Cyusb3014,10Gbps USB桥芯片CYUSB4013等);

(2)新方案:使用LIFCL-33U实现小封装低功耗USB3.2 5Gbps USB通信。

方案一:使用LIFCL通用器件+USB桥接芯片

LIFCL-40 FPGA有两组2.5Gbps 4-Lane MIPI硬核,也可接入多Lane的LVDS、SubLVDS、SLVS接口的Sensor,经过简单的流水线处理,比如彩色相机的ISP,黑白相机的非均匀性校正、降噪等处理后经USB桥接芯片送到PC机显示和保存和进一步二次开发。因此,就存在两种情况:

(1)接入Sensor的数据量比输出USB3.0有效数据带宽大很多,这种情况就需要添加DDR缓存(必须是LIFCL-40 BGA256及以上封装才支持DDR3-1066 16bit)来进行丢帧处理来适配带宽,这种情况只能使用LIFCL-40 FPGA芯片。

(2)带宽小于USB3.0有效数据带宽,这种情况只需要使用内部的Large RAM缓存数行来缓冲PC端读取USB3.0接口不稳定带来的些许数据阻塞即可,这种情况可以使用LIFCL-40或LIFCL-17,且LIFCL-17因有更大的内部Large RAM而更佳。这两种情况的,实现这两种情况的结构见下图1所示。

图1 使用LIFCL通用器件+USB桥接芯片方案图

该案例实现Lattice官方有评估板,USB桥接芯片使用CYUSB3014 8-bit总线模式,外挂RAM缓存芯片采用2片8bit HyperRAM芯片,板载配备的CMOS图像sensor为IMX224。

方案二:LIFCL-33U器件

这是Lattice新推出的器件,具有33K的逻辑资源和USB3.2/5Gbps物理层,实际上就是把原来MIPI硬核的资源用到USB上来了,阉割掉了MIPI硬核。因此,接入MIPI接口的Sensor时只能用到最高1.25Gbps的Lane速率,接入LVDS、SubLVDS、SLVS接口的Sensor时最高1.2Gbps,均要求在硬件信号完整性设计得极为理想的情况。该器件84 WLCSP(3.1×7.4mm)和104fcCSP(5.5×8.5mm)两种封装,第一种封装可用IO仅44个,可用作差分对输入的只有13对,104引脚封装的52个IO,稍富余一些。

根据Lattice提供的USB23 IPCore的资源利用情况,Registers使用了5064,LUTs使用了7392,EBRs使用了26个(共64个),因此还有一定的资源剩余来做一些Pipeline的计算,但也仅此而已。根据资源的情况来看,使用LIFCL-33U器件一般限制到了1080P的图像或其他的数据采集业务(如LVDS接口的ADC数据采集)。但是,它们有及其优秀的功耗和面积,特别适合在有低功耗和小体积硬性要求的设备上使用。

下图2是USB23 IP的应用框图,它例化实现了一个USB3.0物理层、Endpoint逻辑和一个RISC-V的CPU软核。

图2 LIFCL-33U实现USB3.0框图

熊猫君也自制硬件对此方案进行了尝试,下图3是熊猫君LIFCL-33U USB Camera的硬件原理图。

图3 LIFCL-33U的硬件原理图

好了,夜深了。各位技术大神们早点安歇。下次分享再见,希望能给大家的研发工作带来帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/685018.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数值实验的设计与目的,以及算法几种性能指标的含义与区别

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年…

Qt 窗口居中显示

Qt 窗口居中显示 引言一、窗体的setGeometry函数二、计算屏幕中心然后move三、借助QRect计算四、补充知识点 引言 窗口居中可以提供良好的视觉效果、突出重点内容、提升用户导航和操作的便利性,有助于改善用户体验。 Qt一般情况下,其Mainwindow或弹出的…

python调用excel的demo

在本地安装Pycharm之后,新建工程,在main.py中键入如下代码,即可实现Python调用excel: import pandas as pd sheet pd.read_excel(test.xlsx) data sheet.loc[0].values print("读取指定行的数据:\n{0}".format(data)) 第一次编…

传统的老程序员转向人工智能需要准备好这三件事情,你知道吗?

前言 人类文明的进步有时候快的吓人,在我们父辈上街买菜还是以一毛为计量买菜的时代,其实过去了也没有多长时间。现在买菜接近10块为准了,正常在集市上喊着怎么卖?摊主喊着三斤,包含的意思是10块钱三斤。相隔这么多年…

MyEclipse中properties文件中文乱码(Unicode字符)解决办法

程序代码园发文地址:MyEclipse中properties文件中文乱码(Unicode字符)解决办法-程序代码园小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,MyEclipse中properties文件中文乱码(Unicode字符)解决办法htt…

TMC5160步进电机驱动芯片

TMC5160步进电机驱动芯片 特点和优势静止态自动降电流stealthChop2 & spreadCycle 驱动stealthChop2 & spreadCycle 驱动1.7 stallGuard2 – 机械负载传感1.8 coolStep –负载自适应电流控制1.9 dcStep –负载相关速度控制1.10 编码器接口 TMC5160工作模式模式 1&#…

【Pytorch】深入Pytorch模型的训练、log、可视化

文章目录 模型训练的模板综合案例-Pytorch 官网demo优化记录日志解析日志增加tensorboard数据记录保存训练曲线模型参数可视化增加wandb数据记录模型训练的模板 综合案例-Pytorch 官网demo pytorch 官网tutorial-quickstart https://blog.csdn.net/weixin_39107270/article/de…

Day30 登录界面设计

​ 本章节,实现了登录界面窗口设计 一.准备登录界面图片素材(透明背景图片) 把准备好的图片放在 Images 文件夹下面,格式分别是 .png和 .icoico 图片,右键属性,生成操作选 内容 png 图片,右键属性,生成操作选 资源 选中 login.png图片鼠标右键,选择属性。生成的操作选…

[学习笔记]知乎文章-PyTorch的Transformer

参考资料: PyTorch的Transformer register_buffer的作用是:登记成员变量,它会自动成为模型中的参数,随着模型移动(gpu/cpu)而移动,但是不会随着梯度进行更新。 参考资料:【Torch API…

Vue3-Vite-ts 前端生成拓扑图vis,复制即用

完整代码&#xff0c;复制即可用&#xff0c;样式自调 试过 jointjs dagre-d3 vis&#xff0c;好用一点&#xff0c;可添加同层的双向箭头 方法1&#xff1a;Vis.js npm install vis-network <template><div id"mynetwork" class"myChart" :st…

C++11:列表初始化 初始化列表initializer_list

前言 2003年C标准委员会曾经提交了一份技术勘误表&#xff08;简称TC1&#xff09;&#xff0c;使得C03这个名字取代了C98成为了C11前最新的C标准名称。不过由于C03主要是对C98标准中的漏洞进行修复&#xff0c;语言的核心部分则没有改动&#xff0c;因此人们习惯性的把两个标准…

HiveQL性能调优-概览

一、铺垫 1、HiveQL 在执行时会转化为各种计算引擎的能够运行的算子&#xff0c;这里以mr引擎为切入点&#xff0c;要想让HiveQL 的效率更高&#xff0c;就要理解HiveQL 是如何转化为MapReduce任务的 2、hive是基于hadoop的&#xff0c;分布式引擎采用mr、spark、tze&#x…

游戏《酒店业领袖》

为快餐连锁店麦当劳&#xff0c;我们创建了一款名为“好客领袖”的游戏。麦当劳的员工可以在网站上注册&#xff0c;并测试自己是否扮演酒店领导的角色&#xff0c;在餐厅可能出现的各种情况下快速做出决定。奖品等待着那些在比赛中表现最好的人。 对于该项目&#xff0c;我们&…

反转链表的三种方法--面试必考(图例超详细解析,小白一看就会!!!)

目录 一、前言 二、题目描述 三、解题方法 ⭐ 头插法 --- 创建新的链表 ⭐ 迭代法 --- 三指针 ⭐ 递归法 四、总结与提炼 五、共勉 一、前言 反转链表这道题&#xff0c;可以说是--链表专题--&#xff0c;最经典的一道题&#xff0c;也是在面试中频率最高的一道题目&…

在编程Python的时候发生ModuleNotFoundError: No module named distutils报错怎么办

1.先查看Python版本 首先我们先去打开终端就是先widr再输入cmd 然后进去在输入Python -V要注意大小写 我的版本是3.9.7版本但是我使用的PyCharm 是 2021.1.1 x64版本没有办法主动去识别因为这个版太低了你的Python版本很高所以无法识别 2.解决方法 只需要把你的Python现版…

矩阵链相乘(动态规划法)

问题分析 矩阵链相乘问题是一个经典的动态规划问题。给定一系列矩阵&#xff0c;目标是找到一种最优的乘法顺序&#xff0c;使得所有矩阵相乘所需的标量乘法次数最少。矩阵链相乘问题的关键在于利用动态规划来避免重复计算子问题。 算法设计 定义子问题&#xff1a;设 &…

作业6.6

练习1:用预处理指令#define声明一个常数&#xff0c;用于表明1年有多少秒?(不需要考虑润年) #define SECONDS_PER_YEAR (365 * 24 * 60 * 60) 练习2:如何判断一个数是unsigned格式 如果一个数是unsigned类型的&#xff0c;那么它总是大于等于0。因此&#xff0c;可以通过判断一…

Kruskal算法求最小生成树

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert.h> #define MAX 100 #define NO INT_MAX//NO表示没有边&#xff0c;相当于INFtypedef struct Graph {int arcnum;int vexnum;char vextex[MAX][20];int martrix[MAX][MA…

使用node将页面转为pdf?(puppeteer实现)

本文章适合win系统下实验&#xff08;linux&#xff0c;mac可能会出现些莫名其妙的bug我也不会解决&#xff09; 具体过程 首先了解什么时无头浏览器启动无头浏览器打开指定的url页面设置导出pdf格式开始转化完整基础代码 首先了解什么时无头浏览器 没有界面的浏览器下载pupp…

SLC Flash SD芯片:高性能存储的优选

SLC Flash SD芯片是一种采用单阶存储单元&#xff08;SingleLevel Cell&#xff0c;SLC&#xff09;技术的Secure Digital&#xff08;SD&#xff09;存储卡。SLC技术以其快速的传输速度、低功耗和较长的存储单元寿命而闻名。 MK米客方德 SLC Flash的优势 1. 快速的传输速度&a…