房价在涨,客户需求在涨,体重在涨,房租在涨,火气在涨,唯一不涨的大概只有薪资了???

现在客户好套路啊~我们卖的A+B,他非要让我在B上开一个兼容C的口子,然后他用C+B。问题是C不是我们的产品啊~让我们的A卖给谁去~让我义(you)正(guai)言(you)辞(song)的拒绝了~

好了,进入主题,今天我们继续讲硬件设计思路。

信号是贯穿整个硬件系统的重要元素。它就像线,把一块一块布缝合在一起,让它们产生互连;它又像染料,要按照图案染色才能出现精美的花纹,若是不小心两个染料混在一起,图案上就会出现杂色,甚至顺着纹理影响到整个花纹。

因此,我们在设计硬件的时候,为了避免信号之间的干扰,在设计之前就要考虑到每一种信号的特点,按照其特点来做合适的处理,避免信号的干扰与被干扰。

线路分两种,电源线和信号线,信号线又可以分数字信号和模拟信号。我们这里提到的信号系统,包括电源和信号。我们知道板子画好之后,是要做PI/SI仿真,看一下信号系统的完整性。系统不复杂的就会做一下CPU到MCP的PI/SI仿真,再严格一点,还会对一些高速信号线做仿真,比如USB3.0/MIPI/PCIE等,甚至还会给高速的SDIO信号做仿真。接下来分别来说各种信号的特点与设计时候的注意事项。

1、电源线

电源线是提供能量的线路,在板子上走的粗又短为宜。对于一些涉及范围大的电源,还可以用铺一个区域的铜来处理,让电源更加均匀,比如DDR的电源,或者CPU核电源。

由于电源的线比较粗,且能量大,因此它不易被干扰。相反,若是开关电源,它会对其他信号产生辐射干扰,尤其是开关电源源端的电感干扰极大。因此,易受干扰的信号要远离电源线走线。

2、模拟信号线

模拟信号是最容易收到干扰的信号。

所有射频相关的信号线,全部都是易干扰信号,尤其是从transceiver出来到进入PA放大之前的信号,又小又脆弱,经受不起任何风吹雨打,一定要爱护有加。信号线路周围该挖空挖空,该做阻抗做阻抗,能不打孔最好就一个孔都不要打,按照最短距离出线,不要走直角,不要走在强干扰源旁边等等

总之,射频信号直接关系着产品性能,信号串进去干扰是后期回板调试不能解决的问题,一定要改版才能解决,因此,射频信号走线一定要注意再注意。

3G/4G PCB Layout走线图

音频信号、传感器采集到的采样信号也都是模拟信号,在他们还没经过ADC之前,都是易干扰的模拟信号,要上下左右都包地处理。并且走线尽量短。

3、数字信号线

数字信号分为高速信号和低速信号。通常来讲,低速数字信号几乎不会收到干扰,因此走向相对自由。通用GPIO线、I2C、SIM卡信号线都属于低速的数字信号,通常不需要特别给于关注。

但高速信号线却不同,也是一类容易受到干扰的信号。DDR的数据线、地址线,MIPI信号线、USB信号线,GMII信号线,PCIE线等都属于高速信号线,容易受到外接的干扰,因为高速信号线,在传输过程中信号翻转频率很高。

USB 3.0模块PCB Layout走线图

1> 要走阻抗线,做阻抗匹配

信号从发射端传到另外接收端(或者从接收端传导发射端)的时候,因为发射端、接收端都有内阻,信号线路上也有阻抗,这时就会产生信号反射,发射出去的信号达到接收端后,部分能量会反射回源端,这样就会对源端发射的信号产生衰减(即能量损耗),降低发射功率,严重时候会导致信号传输功率不够,3GPP不达标。

传输线做阻抗匹配,就是为了防止信号反射而导致的发射信号能量衰减。因此对于高速信号,一定要走阻抗线,做好阻抗匹配,至于值做多大,要具体看布线和时序的要求。

2> 如果是总线或者差分线,按组包地,并且要走等

  • 长包地是为了减少其他信号对其产生串扰,尽量上下左右全部包地;
  • 走差分线可以很好的屏蔽共模干扰,(DDR的数据线和地址线不需要走差分);
  • 走等长则是为了在发射端和接收端信号频率同步,从而更好的控制时序,不会引起信号时序错乱。

3> 在一部分信号线的源端,需要并去耦电容,来减小线路耦合,同时可以有效防止地弹

我们知道了信号的特点,并且针对信号做的处理措施,就可以在布局的时候多考虑走线的顺畅度。尽量将容易收到干扰的模块紧挨相关模块,这样易受干扰的线就会尽量的短。

上边提到的只是个大概的注意事项,实际过程中还需要多积累,灵活处理,才能让整个硬件设计更加流畅、舒适。

未完待续~~~~~~

以上内容为公众号(硬件女工程师的日常)原创作品,版权归作者所有,本头条号已获作者授权发布。 欢迎关注工程师小何,如果您觉得本文有点小用,可以点击右上角“…”扩散到朋友圈~~~

allegro差分信号走线_浅谈硬件设计中的一些思路和方法(5)—信号系统,又学到了...相关推荐

  1. allegro差分信号走线_高速PCB设计软件allegro16.6演示差分规则的设置

    上一期我们介绍了高速PCB设计软件 allegro16.6差分信号的设定 在高速PCB布线前 需要对差分信号的规则进行设置 因此 本期重点介绍在电气规则和物理规则下 是如何建立差分信号的规则 1.在电 ...

  2. allegro差分信号走线_原创|PCB设计软件allegro16.6演示差分规则的设置

    在弹出 Create Electrical set 对话框. 图1-2电气规则命名 在 Electrical CSet 编辑框输入差分信号规则名称,这时在右边的工作表中可以看到多了一个DIFF_DQS ...

  3. 中鸣循迹机器人_浅谈机器人设计方法

    浅谈机器人设计方法 摘要: 机器人是人类完成智能化中非常重要的工具, 随着时代的发展, 机器 人已经在世界有了一定的发展,甚至很多国家机器人已经运用到实际的生活中 去. 而机器人的设计方法无疑是很多人 ...

  4. mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别

    在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...

  5. python中if和elif的区别_浅谈对python中if、elif、else的误解

    今天下午在练习python时用了"if...if...else..."的分支结构,结果运行出来吓我一跳.原来我想当然的认为"if...if...else..." ...

  6. python中分支语句elif与else的区别_浅谈对python中if、elif、else的误解

    今天下午在练习python时用了"if...if...else..."的分支结构,结果运行出来吓我一跳.原来我想当然的认为"if...if...else..." ...

  7. laytpl语法_浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

    浅谈laytpl 模板空值显示null的解决方法及简单的js表达式 laytpl 模板语法 {{ d.field }} 输出一个普通字段,不转义html 官方的说明 但d.field 为空时会显示nu ...

  8. java扫码枪键盘_浅谈在react中如何实现扫码枪输入

    触发原理 原理就是监听键盘输入,比如扫一个为6970596130126的69条形码,用扫码枪扫一下会在光标位置依次输出: 6 9 7 0 5 9 6 1 3 0 2 6 但这不是完整的,所以需要写一个 ...

  9. java 定时任务怎么关闭_浅谈springboot项目中定时任务如何优雅退出

    在一个springboot项目中需要跑定时任务处理批数据时,突然有个Kill命令或者一个Ctrl+C的命令,此时我们需要当批数据处理完毕后才允许定时任务关闭,也就是当定时任务结束时才允许Kill命令生 ...

最新文章

  1. C#中ArrayList集合
  2. Nginx 图片防盗链
  3. Test of etco
  4. eclipse 创建 maven web 项目教程
  5. URAL 2081 Faulty dial
  6. HIT Software Construction Lab6引发出来对锁的问题的探究
  7. C# 异常类型及对应异常类
  8. Android开发工具之DDMS
  9. 安卓快速排序与冒泡排序
  10. 暴力解决配置HTTPS后无法使用Hermit
  11. WinForm中 SplitContainer的使用
  12. 处理打开网站出现网站的安全证书有问题的方法
  13. Python数据分析与机器学习47-维基百科词条EDA
  14. Firefox浏览器版本66的下载链接
  15. L1正则化、L2正则化的多角度分析和概率角度的解释
  16. json的存在意义(json和String的区别)
  17. IDEA中下方git的提交记录上有黄、绿、紫色标记的意思
  18. [Android Studio]微型技术报告-手机平台应用开发
  19. 四人团-江南行-奉化-雪窦山旅游
  20. osg demo9 draw a quad

热门文章

  1. MySQL带ANY关键字的子查询
  2. tvpvar模型的建模步骤_框架箱涵建筑信息建模
  3. 什么是SQL 注入?
  4. JUC 中的多线程协作工具类:CountDownLatch 和 CyclicBarrier
  5. BigDecimal类setScale方法问题:算数异常,精确度丢失-ArithmeticException: Rounding necessary
  6. java 编译引入库_eclipse编译cpp文件,并且引用其他预编译的库
  7. java如何创造一个整数的类_【技术干货】Java 面试宝典:Java 基础部分(1)
  8. Python3算法基础练习:编程100例(6 ~ 10)
  9. Android退出程序(三)——Android事件总线
  10. Java-Web Servlet开发