摄像头PCB设计,因为客观原因等.容易引起干扰这是个涉及面大的问题。我们抛开其它因素,仅仅就PCB设计环节来说,分享以下几点心得,供参考交流:

1.合理布置电源滤波/退耦电容:一般在原理图中仅画出若干电源滤波/退耦电容,但未指出它们各自应接于何处。其实这些电容是为开关器件(门电路)或其它需要滤波/退耦的部件而设置的,布置这些电容就应尽量靠近这些元部件,离得太远就没有作用了。有趣的是,当电源滤波/退耦电容布置的合理时,接地点的问题就显得不那么明显。

2.线条有讲究:有条件做宽的线决不做细;高压及高频线应园滑,不得有尖锐的倒角,拐弯也不得采用直角。地线应尽量宽,最好使用大面积敷铜,这对接地点问题有相当大的改善。

3.要有合理的走向:如输入/输出,交流/直流,强/弱信号,高频/低频,高压/低压等…,它们的走向应该是呈线形的(或分离),不得相互交融。其目的是防止相互干扰。最好的走向是按直线,但一般不易实现,最不利的走向是环形,所幸的是可以设隔离带来改善。对于是直流,小信号,低电压PCB设计的要求可以低些。所以“合理”是相对的。

4.选择好接地点:小小的接地点不知有多少工程技术人员对它做过多少论述,足见其重要性。一般情况下要求共点地,如:前向放大器的多条地线应汇合后再与干线地相连等等…。现实中,因受各种限制很难完全办到,但应尽力遵循。这个问题在实际中是相当灵活的。每个人都有自己的一套解决方案。如能针对具体的电路板来解释就容易理解。

5.有些问题虽然发生在后期制作中,但却是PCB设计中带来的,它们是:过线孔太多,沉铜工艺稍有不慎就会埋下隐患。所以,设计中应尽量减少过线孔。同向并行的线条密度太大,焊接时很容易连成一片。所以,线密度应视焊接工艺的水平来确定。焊点的距离太小,不利于人工焊接,只能以降低工效来解决焊接质量。否则将留下隐患。所以,焊点的最小距离的确定应综合考虑焊接人员的素质和工效。

6.焊盘或过线孔尺寸太小,或焊盘尺寸与钻孔尺寸配合不当。前者对人工钻孔不利,后者对数控钻孔不利。容易将焊盘钻成“c”形,重则钻掉焊盘。导线太细,而大面积的未布线区又没有设置敷铜,容易造成腐蚀不均匀。即当未布线区腐蚀完后,细导线很有可能腐蚀过头,或似断非断,或完全断。所以,设置敷铜的作用不仅仅是增大地线面积和抗干扰。以上诸多因素都会对电路板的质量和将来产品的可靠性大打折扣。

PCB设计应注意

误区一:这板子的PCB设计要求不高,就用细一点的线,自动布吧。

点评:自动布线必然要占用更大的PCB面积,同时产生比手动布线多好多倍的过孔,在批量很大的产品中,PCB厂家降价所考虑的因素除了商务因素外,就是线宽和过孔数量,它们分别影响到PCB的成品率和钻头的消耗数量,节约了供应商的成本,也就给降价找到了理由。

误区二:这些总线信号都用电阻拉一下,感觉放心些。

点评:信号需要上下拉的原因很多,但也不是个个都要拉。上下拉电阻拉一个单纯的输入信号,电流也就几十微安以下,但拉一个被驱动了的信号,其电流将达毫安级,现在的系统常常是地址数据各32位,可能还有244/245隔离后的总线及其它信号,都上拉的话,几瓦的功耗就耗在这些电阻上了。

误区三:CPU和FPGA的这些不用的I/O口怎么处理呢?先让它空着吧,以后再说。

点评:不用的I/O口如果悬空的话,受外界的一点点干扰就可能成为反复振荡的输入信号了,而MOS器件的功耗基本取决于门电路的翻转次数。如果把它上拉的话,每个引脚也会有微安级的电流,所以最好的办法是设成输出(当然外面不能接其它有驱动的信号);

误区四:这款FPGA还剩这么多门用不完,可尽情发挥吧

点评:FGPA的功耗与被使用的触发器数量及其翻转次数成正比,所以同一型号的FPGA在不同电路不同时刻的功耗可能相差100倍。尽量减少高速翻转的触发器数量是降低FPGA功耗的根本方法。

误区五:这些小芯片的功耗都很低,不用考虑

点评:对于内部不太复杂的芯片功耗是很难确定的,它主要由引脚上的电流确定,一个ABT16244,没有负载的话耗电大概不到1毫安,但它的指标是每个脚可驱动60毫安的负载(如匹配几十欧姆的电阻),即满负荷的功耗最大可达60*16=960mA,当然只是电源电流这么大,热量都落到负载身上了。

误区六:存储器有这么多控制信号,我这块板子只需要用OE和WE信号就可以了,片选就接地吧,这样读操作时数据出来得快多了。

点评:大部分存储器的功耗在片选有效时(不论OE和WE如何)将比片选无效时大100倍以上,所以应尽可能使用CS来控制芯片,并且在满足其它要求的情况下尽可能缩短片选脉冲的宽度。

误区七:这些信号怎么都有过冲啊?只要匹配得好,就可消除了

点评:除了少数特定信号外(如100BASE-T、CML),都是有过冲的,只要不是很大,并不一定都需要匹配,即使匹配也并非要匹配得最好。象TTL的输出阻抗不到50欧姆,有的甚至20欧姆,如果也用这么大的匹配电阻的话,那电流就非常大了,功耗是无法接受的,另外信号幅度也将小得不能用,再说一般信号在输出高电平和输出低电平时的输出阻抗并不相同,也没办法做到完全匹配。所以对TTL、LVDS、422等信号的匹配只要做到过冲可以接受即可。

误区八:降低功耗都是硬件人员的事,与软件没关系。

点评:硬件只是搭个舞台,唱戏的却是软件,总线上几乎每一个芯片的访问、每一个信号的翻转差不多都由软件控制的,如果软件能减少外存的访问次数(多使用寄存器变量、多使用内部CACHE等)、及时响应中断(中断往往是低电平有效并带有上拉电阻)及其它争对具体单板的特定措施都将对降低功耗作出很大的贡献’

关于摄像头PCB图设计经验谈的更多相关文章

  1. Hi3559AV100外接UVC/MJPEG相机实时采图设计(一):Linux USB摄像头驱动分析

    下面将给出Hi3559AV100外接UVC/MJPEG相机实时采图设计的整体流程,主要实现是通过V4L2接口将UVC/MJPEG相机采集的数据送入至MPP平台,经过VDEC.VPSS.VO最后通过HD ...

  2. 2.4G高频PCB天线设计

    2.4G高频PCB天线设计 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.   参考链接: http://bbs.rfeda.cn/read-htm-t ...

  3. cadence allegro pcb模块设计复用

    cadence allegro pcb模块设计复用 转载▼ 标签: 复用 模块 原理图 元件 文件 杂谈 分类: PCB技术 在你遇到如上图所示的dsp阵列PCB时,如果你的layout软件支持模块复 ...

  4. Hi3559AV100外接UVC/MJPEG相机实时采图设计(三):V4L2接口通过MPP平台输出

    可以首先参考前面两篇文章: Hi3559AV100外接UVC/MJPEG相机实时采图设计(一):Linux USB摄像头驱动分析: https://www.cnblogs.com/iFrank/p/1 ...

  5. Hi3559AV100外接UVC/MJPEG相机实时采图设计(二):V4L2接口的实现(以YUV422为例)

    下面将给出Hi3559AV100外接UVC/MJPEG相机实时采图设计的整体流程,主要实现是通过V4L2接口将UVC/MJPEG相机采集的数据送入至MPP平台,经过VDEC.VPSS.VO最后通过HD ...

  6. Hi3559AV100外接UVC/MJPEG相机实时采图设计(四):VDEC_Send_Stream线程分析

    下面随笔将对Hi3559AV100外接UVC/MJPEG相机实现实时采图设计的关键点-VDEC_Send_Stream线程进行分析,一两个星期前我写了有三篇系列随笔,已经实现了项目功能,大家可以参考下 ...

  7. 【转】App架构设计经验谈:接口的设计

    App架构设计经验谈:接口的设计 App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉. 安全机制的设计 现在,大部分App的接口都采用REST ...

  8. 团队项目之UML图设计---WeEdit

    团队信息: 学号: 姓名: 本次博客链接: 041602209 黄毓明(临时队长)  https://www.cnblogs.com/mingsonic/p/9820702.html 06160023 ...

  9. 团队项目之UML图设计

    团队 学号 姓名 本次作业博客链接 031602428 苏路明(组长) https://www.cnblogs.com/Sulumer/p/9822854.html 031602401 陈瀚霖 htt ...

随机推荐

  1. 021.15 IO流 其他流

    IO包中的其他类操作基本数据类型:DataInputStream与DataOutputStream操作字节数组:ByteArrayInputStream与ByteArrayOutputStream操作 ...

  2. JQuery $.axaj的基本格式

    总是忘了,保存以备后用. $.ajax({ url: '', //请求的url地址 dataType: "json", //返回的格式为json async: true, //请求 ...

  3. 学习python第四天——Oracle查询

    3.子查询(难): 当进行查询的时候,发现需要的数据信息不明确,需要先通过另一个查询得到, 此查询称为子查询: 执行顺序:先执行子查询得到结果以后返回给主查询 组成部分: 1).主查询部分 2).子查 ...

  4. 自定义ClassLoader

    自定义classloader MapleClassLoader package com.maple; import java.io.*; public class MapleClassLoader e ...

  5. macaca常见错误排查

    1.Error: cannot resolve path (or pattern) 'macaca-test' 这是因为执行run命令的时候未进入用例目录 C:\Users\Tony\node_mod ...

  6. Vue2.5开发去哪儿网App 从零基础入门到实战项目

    第1章 课程介绍本章主要介绍课程的知识大纲,学习前提,讲授方式及预期收获. 1-1 课程简介 试看第2章 Vue 起步本章将快速讲解部分 Vue 基础语法,通过 TodoList 功能的编写,在熟悉基 ...

  7. [转]C结构体之位域(位段)

    有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一种数据结构 ...

  8. Kafka设计解析(九)为何去掉replica.lag.max.messages参数

    转载自 huxihx,原文链接 Kafka副本管理—— 为何去掉replica.lag.max.messages参数 在Kafka设计解析(二)Kafka High Availability (上)文 ...

  9. 1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——基础(Basics)

    基础 正如著名作者Neal Stephenson所说的那样,'(开发, 译者加)开始是命令行',尽管通过用户图形界面使用计算机及其简单,但是在许多场景中,最有效.最灵活地与计算机交互的方式是使用命令行 ...

  10. BZOJ4033 [HAOI2015]树上染色

    本来是考虑, $ f[x][i][0/1] $ 表示 $ x $ 子树中有$i$个黑点,且 $ x $ 是白点/黑点.但是这里的答案是要统计不同的子树的贡献的.所以就gg了. 看了题解. 应该是要设$ ...