Marin说PCB之如何在主板上补偿链路中的走线的等长误差?
一场雨把我困在这里,你冷漠地看我没有穿雨衣淋成落汤鸡。今天刚刚出门时候看天气预报没有雨,于是我就没有带雨衣骑电动车去公司了,谁知道回来的路上被淋成狗了。天气预报就像是女人的脾气那样,不能完全相信的。

好了,我们言归正传了,这期文章是给大家分享一下我之前设计的一个单板上如何在主板上补偿MIPI走线的等长误差值,各位帖子们打起精神来了,下面就是本期的内容解析了。
小编我之前做的一个单板是主板,扣板是一个相机模组给我司的印度分部的阿三同事做了。主板上的SOC手册上MIPI线长的要求是建议小于10英寸,这个10英寸的数值其实是指示整个MIPI走线是包含了相机的部分加上主板上的MIPI走线的长度的。

由于相机那边的单板设计的是软硬结合板子,如下图所示:

由于单板的设计交期比较紧张,而且阿三他们那边在设计的时候说单板上是没有空间单独给MIPI线绕等长了。我们从芯片手册的要求可以得知:
- The length difference between the true signal and the complementary signal of the differential pair are within ±1 ps ,The delay difference of DATA from CLK are within +/-10 ps 。
这个上面的+/-10PS,我们可以按照以往的设计经验就是:1PS=6MIL去计算的,若要使详细的知道其中原因可以看下面的解释:

若是我们把介电常数按照4来算,其公式就是:
V=12/√4=6in/ns,换算一下单位后就是6MIL/PS。
上面这个不是我们本期内容的重点啊,我们本期主要讲解的是如何在我们主板上面把对接板子上面的走线的等长误差补上,我i这边给大家分享一下我之前的设计经验。
1,首先拿到对插器件上的MIPI走线的长度,数据如下图所示:

从上面的表格中我们可以得知这组BUS线中国RX_D1这对走线是最长的了,不过好在所有MIPI项的N和P的等长都已经做好了。
2,把我们的单板上的MIPI走线的长度也提去出来到表格中,最好也是先把所有MIPI走线上的N和P的等长都已提前做好。(总的链路上差分线上N和P的误差是+-1PS的,分支上做严格一些,尽量主板上按照+-0.5PS,软硬结合板子(相机模组)上的也是+-0.5PS,当然你要是能够做的更加严格就更好了)。


3,把相机模组上的MIPI走线的长度和主板上的连接器和主芯片上的MIPI走线的长度都换算成走线的延时。

其中相机模组上的MIPI走线的长度我是按照6MIL/PS来计算的,主要原因是MIPI走线主要都是用微带线布线的,介电常数我就按照Er值为4来算了。

但是我们主板上的MIPI走线主要是在ART08层,层叠信息如下所示:

由于ART08层走线的参考平面是GND07和GND09这两个层,通过板厂那边提供的层叠,我们找到了其对应的ER值,我们去找到这两个参考面的平均ER值就好,然后把这个ER平均值带入上面的公式中:v=12/√ER平均,最后得出的值为5.5MIL/PS来计算的。

最后我们可以得出一个总的MIPI线的延时和走线长度的表格:

通过这个表格我们可以得知目前整理系统链路上MIPI线走线最长的就是J3_CAM_CSI_RXD1这组MIPI线了。通常的MIPI—BUS我们都是把MIPI-CLK作为基准线,通过把最长线先去缩短再去绕这组BUS的等长的,我们可以先把表格中的MIPI-CLK(J3_CAM_CSI_RXC)这组线和MIPI-DATA1(J3_CAM_CSI_RXD1)总的走线差值算出来,其他的数据线以是以此类推,表格数据如下所示:

那我们主板上的MIPI线绕线完成的长度应该是多少呢,其实就是之前的绕完差分对N和P的的误差后的MIPI线长度加上上图中需要绕线的长度,总的就是我们主板上实际绕线完成后的长度了。

好了既然我们已经知道了我们主板上的MIPI需要绕线完成后的总的长度是多少了,那我们的主板上MIPI线等长规则改如何设置呢?


从上面的表格中我们可以得知J3_CAM_CSI_RXD1这组MIPI线是最长的,我们就可以拿这个线作为基准,来算出我们J3IPM上MIPI绕线设置误差的长度了。
最后我们把主板上绕线完成的走线长度整理到表格中,通过表格可以看出来目前的MIPI走线的设计是满足手册上的要求的。

我之前有一个想法就是能不能给把之前主板上的MIPI线需要绕线的长度通过PIN_DELAY表格导入进来再去绕线呢?,这个道理其实和上面的做法是差不多的,主要的区别就是一个把误差值在规则中直接加上了,另外一个是把误差是体现在pin_delay中了。
以上就是本期的所有内容了,我们下期节目不见不散了,最后看完记得帮忙点赞收藏加关注哦,谢谢。

相关文章:
Marin说PCB之如何在主板上补偿链路中的走线的等长误差?
一场雨把我困在这里,你冷漠地看我没有穿雨衣淋成落汤鸡。今天刚刚出门时候看天气预报没有雨,于是我就没有带雨衣骑电动车去公司了,谁知道回来的路上被淋成狗了。天气预报就像是女人的脾气那样,不能完全相信的。 好了,我…...
企业在现代市场中的战略:通过数据可视化提升财务决策
新时代,财务规划团队不仅仅是企业内部的一个部门,更是帮助企业做出明智决策和设定战略目标的中坚力量。在当今瞬息万变的商业环境中,财务专业人士需要具备应对挑战并引导企业走向成功的角色职能。企业领导者时常面临着数据压力,需…...
printf(“不喝酒就没得朋友可是只要偶一喝酒就喝倒一代朋友人生真的很矛盾“);
/*无线通讯语言模块测试PAST 2019 12 28 L298 CODE1871**/ #include <REG52.H> #include <intrins.H> #include "stdio.h" #define uint unsigned int #defi…...
JAVA小案例-分别计算100以内奇数和偶数的和
JAVA小案例-分别计算100以内奇数和偶数的和 没啥可说的,就是for循环加if分支,也可以用while写。 代码如下: public class Jiouhe {/*** 分别计算100以内奇数和偶数的和* param args*/public static void main(String[] args){int sum10;in…...
头歌初识redis答案
头歌初识Redis的答案可以从多个方面进行归纳和总结。以下是根据参考文章提供的信息,按照清晰、分点表示和归纳的方式给出的答案: 一、Redis基础知识 Redis有16个数据库,默认使用第0个数据库,可以用select命令进行切换。 Redis是…...
Linux.小技巧快捷键
1. ctrl c 强制停止 终止某些程序的运行 也可以取消某行命令 2. ctrl d 退出或登出 进入python环境中,使用ctrl d 退出 3.history 查看历史使用了哪些命令 4. ! 历史最近使用的命令的开头 5.使用ctrl r 搜索历史使用的命令 按下 ctrl r 会进入 reverse -…...
传统的老程序员转向人工智能需要准备好这三件事情,你知道吗?
前言 人类文明的进步有时候快的吓人,在我们父辈上街买菜还是以一毛为计量买菜的时代,其实过去了也没有多长时间。现在买菜接近10块为准了,正常在集市上喊着怎么卖?摊主喊着三斤,包含的意思是10块钱三斤。相隔这么多年…...
ICPC2024 邀请赛西安站(7/8/13)
心得 [ICPC2024 Xian I] ICPC2024 邀请赛西安站重现赛 - 比赛详情 - 洛谷 7表示赛时ac了7个,8表示含补题总共ac数,13表示题目总数 题目 M. Chained Lights 打表,发现只有k1是YES //#include <bits/stdc.h> #include<iostream&…...
STM32f103实现按键长按 短按 双击
今天来分享一个使用EXIT外部中断加TIM计时器实现按键长短按以及双击操作,不过笔者在双击上有点瑕疵,就是当你按下双击第一下停顿几秒按第二下依然会识别为双击操作,笔者猜测只要板子不停电即便到第二天按下第二下依旧会识别双击操作ÿ…...
【WP】猿人学13_入门级cookie
https://match.yuanrenxue.cn/match/13 抓包分析 抓包分析发现加密参数是cookie中有一个yuanrenxue_cookie 当cookie过期的时候,就会重新给match/13发包,这个包返回一段js代码,应该是生成cookie的 <script>document.cookie(y)(u)(a…...
分享一款提取抖音小店商家电话的软件使用教程
抖音作为一款国内非常流行的短视频分享平台,吸引了大量用户和商家。许多商家在抖音上开设了小店,但是抖音并没有提供直接获取商家电话的功能。本文将分享一款提取抖音小店商家电话的软件,并附带使用教程和代码。 教程 步骤一:安…...
反转链表的三种方法--面试必考(图例超详细解析,小白一看就会!!!)
目录 一、前言 二、题目描述 三、解题方法 ⭐ 头插法 --- 创建新的链表 ⭐ 迭代法 --- 三指针 ⭐ 递归法 四、总结与提炼 五、共勉 一、前言 反转链表这道题,可以说是--链表专题--,最经典的一道题,也是在面试中频率最高的一道题目&…...
Springboot注意点
1.Usermapper里加param注解 2.RequestParam 和 RequestBody的区别: RequestParam 和 RequestBody的区别: RequestParam 和 RequestBody 是Spring框架中用于处理HTTP请求的两个不同的注 get请求一般用url传参数,所以参数名和参数的值就在ur…...
数组和指针的联系(C语言)
数组和指针是两种不同的数据类型,数组是一种构造类型,用于存储一组相同类型的变量;而指针是一种特殊类型,专门用来存放数据的地址。数组名除了sizeof(数组名)和&数组名表示整个数组外,其他情况下都表示的是首元素的…...
安全区域边界
文章目录 安全区域边界边界防护跨边界流量通过受控接口通信非法内联非法外联限制无线网络 访问控制启用基于白名单的访问控制策略优化访问控制表根据五元组控制根据会话状态控制根据应用协议和内容控制 入侵防范外部发起的攻击内部发起的攻击对新型攻击防范及时检测攻击行为 恶…...
力扣每日一题 6/6
2938.区分黑球与白球[中等] 题目: 桌子上有 n 个球,每个球的颜色不是黑色,就是白色。 给你一个长度为 n 、下标从 0 开始的二进制字符串 s,其中 1 和 0 分别代表黑色和白色的球。 在每一步中,你可以选择两个相邻的…...
游戏心理学Day05
第三章 游戏即学习 《超级马里奥》是游戏史上的经典之作,我们都记得第一次踩到敌人,第一次顶碎砖块时的快乐,也记得为了通过某个关卡而付出的努力和艰辛。当我们掌握了规律和技巧之后,这些难题就不再是难题,因为我们习…...
【C、C++编译工具】CLion工具介绍与安装
一、问题 最近突发奇想想学学最开始接触的语言C,之前大学的时候用的更多的工具还是VC,工作后慢慢接触了CLion,跟pycharm其实差不多,都是集成开发环境(IDE) 解释:什么是 IDE? 根据计…...
LabVIEW中进行步进电机的位置控制
在LabVIEW中进行步进电机的位置控制,通常涉及以下几个关键步骤:设置硬件、配置通信、编写控制算法和实施反馈控制。以下是一个详细的介绍。 硬件设置 步进电机:选择合适的步进电机,根据负载和应用需求选择适当的步数和转矩。 驱…...
目标检测-AnyLabeling标注格式转换成YOLO格式
Anylabel可以极大的增加数据的标注效率,但是其标注格式如何能转换成YOLO标注格式,具体内容如下所示。 关于AnyLabeling的其它详细介绍如下链接所示 https://blog.csdn.net/u011775793/article/details/134918861 Github链接 https://github.com/vietanhd…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
