PCB布线要点

VGA高速PCB布局布线设计规范 H-SYNC和V-SYNC代表水平和垂直同步。其余的都是不言自明的。H-SYNC和V-SYNC是数字(TTL)电平信号,低电平有效,彩色信号是模拟信号,0V(黑色)到0.7V(全彩色)。 阅读详情

根据 50 欧姆阻抗线宽进行布线,尽量从焊盘中心出线,线成直线,尽量走在表层。在需要拐弯的地方做成45 度角或圆弧走线,推荐在电容或电阻两边进行拐弯。如果遇到器件走线匹配要求的,请严 格按照datasheet上面的参考值长度走线。比如,一个放大管与电容 之间的走线长度(或电感之间的走线长度)要求等等。

1、通用做法

在进行PCB 设计时,为了使高频电路板的设计更合理,抗干扰性能更好,应从以下几方面考虑:

(1)合理选择层数 在 PCB 设计中对高频电路板布线时,利用中间内层平面作为电源和 地线层,可以起到屏蔽的作用,有效降低寄生电感、缩短信号线长度、 降低信号间的交叉干扰。

(2)走线方式 走线必须按照 45°角拐弯或圆弧拐弯,这样可以减小高频信 号的发射和相互之间的耦合。

(3)走线长度 走线长度越短越好,两根线并行距离越短越好。

(4)过孔数量 过孔数量越少越好。

(5)层间布线方向 层间布线方向应该取垂直方向,就是顶层为水平方向,底层为 垂直方向,这样可以减小信号间的干扰。

(6)敷铜 增加接地的敷铜可以减小信号间的干扰。

(7)包地 对重要的信号线进行包地处理,可以显著提高该信号的抗干扰 能力,当然还可以对干扰源进行包地处理,使其不能干扰其他 信号。

(8)信号线 信号走线不能环路,需要按照菊花链方式布线。

2、布线优先次序

关键信号线优先:摸拟小信号、高速信号、时钟信号和同步信号等关键信号优先布线

密度优先原则:从单板上连接关系最复杂的器件着手布线。从单板上连线 最密集的区域开始布线

注意点:

a、尽量为时钟信号、高频信号、敏感信号等关键信号提供专门的布线层,并保证其最小的回路面积。必要时应采取手工优先布线、屏蔽和加大安全间距等方法。保证信号质量。

b、电源层和地层之间的EMC环境较差,应避免布置对干扰敏感的信号。

c、有阻抗控制要求的网络应尽量按线长线宽要求布线。

3、时钟的布线

时钟线是对EMC 影响最大的因素之一。在时钟线上应少打过孔,尽量避免和其它信号线并行走线,且应远离一般信号线,避免对信号线的干扰。同时应避开板上的电源部分,以防止电源和时钟互相干扰。

如果板上有专门的时钟发生芯片,其下方不可走线,应在其下方铺铜,必要时还可以对其专门割地。对于很多芯片都有参考的晶体振荡器,这些晶振下方也不应走线,要铺铜隔离。

4、直角走线

直角走线一般是PCB布线中要求尽量避免的情况,也几乎成为衡量布线好坏的标准之一,那么直角走线究竟会对信号传输产生多大的影响呢?从原理上说,直角走线会使传输线的线宽发生变化,造成阻抗的不连续。其实不光是直角走线,顿角,锐角走线都可能会造成阻抗变化的情况。

直角走线的对信号的影响就是主要体现在三个方面:

一是拐角可以等效为传输线上的容性负载,减缓上升时间;

二是阻抗不连续会造成信号的反射;

三是直角尖端产生的EMI。

5、锐角

(1)对于高频电流来说,当导线的拐弯处呈现直角甚至锐角时,在靠近弯角的部位,磁通密度及电场强度都比较高,会辐射较强的电磁波,而且此处的电感量会比较大,感抗便也比钝角或圆角要大一些。

(2)对于数字电路的总线布线来说,布线拐弯呈现钝角或圆角,布线所占的面积比较小。在相同的线间距条件下,总的线间距所占的宽度要比直角拐弯的少0.3倍。

6、差分走线

参看:差分布线和阻抗匹配

差分信号(Differential Signal)在高速电路设计中的应用越来越广泛,电路中最关键的信号往往都要采用差分结构设计.定义:通俗地说,就是驱动端发送两个等值、反相的信号,接收端通过比较这两个电压的差值来判断逻辑状态“0”还是“1”。而承载差分信号的那一对走线就称为差分走线。

差分信号和普通的单端信号走线相比,最明显的优势体现在以下三个方面:

a.抗干扰能力强,因为两根差分走线之间的耦合很好,当外界存在噪声干扰时,几乎是同时被耦合到两条线上,而接收端关心的只是两信号的差值,所以外界的共模噪声可以被完全抵消。

b.能有效抑制EMI,同样的道理,由于两根信号的极性相反,他们对外辐射的电磁场可以相互抵消,耦合地越紧密,泄放到外界的电磁能量越少。

c.时序定位精确,由于差分信号的开关变化是位于两个信号的交点,而不像普通单端信号依靠高低两个阈值电压判断,因而受工艺,温度的影响小,能降低时序上的误差,同时也更适合于低幅度信号的电路。目前流行的LVDS(low voltage differential signaling)就是指这种小振幅差分信号技术。

对于PCB工程师来说,最关注的还是如何确保在实际走线中能完全发挥差分走线的这些优势。也许只要是接触过Layout的人都会了解差分走线的一般要求,那就是“等长、等距”。

等长是为了保证两个差分信号时刻保持相反极性,减少共模分量;等距则主要是为了保证两者差分阻抗一致,减少反射。“尽量靠近原则”有时候也是差分走线的要求之一。

7、蛇形线

蛇形线是Layout中经常使用的一类走线方式。其主要目的就是为了调节延时,满足系统时序设计要求。设计者首先要有这样的认识:蛇形线会破坏信号质量,改变传输延时,布线时要尽量避免使用。但实际设计中,为了保证信号有足够的保持时间,或者减小同组信号之间的时间偏移,往往不得不故意进行绕线。

注意点:

成对出现的差分信号线,一般平行走线,尽量少打过孔,必须打孔时,应两线一同打孔,以做到阻抗匹配。

相同属性的一组总线,应尽量并排走线,做到尽量等长。从贴片焊盘引出的过孔尽量离焊盘远些。

9、电源、地线的处理

既使在整个PCB板中的布线完成得都很好,但由于电源、 地线的考虑不周到而引起的干扰,会使产品的性能下降,有时甚至影响到产品的成功率。所以对电、地线的布线要认真对待,把电、地线所产生的噪音干扰降到最低限度,以保证产品的质量。

对每个从事电子产品设计的工程人员来说都明白地线与电源线之间噪音所产生的原因, 现只对降低式抑制噪音作以表述:

(1)众所周知的是在电源、地线之间加上去耦电容。

(2)尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最细宽度可达0.05~0.07mm,电源线为1.2~2.5 mm

对数字电路的PCB可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地不能这样使用)

(3)用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。或是做成多层板,电源,地线各占用一层。

对于导通孔密集的区域,要注意避免孔在电源和地层的挖空区域相互连接,形成对平面层的分割,从而破坏平面层的完整性,并进而导致信号线在地层的回路面积增大。

地线回路规则:

环路最小规则,即信号线与其回路构成的环面积要尽可能小,环面积越小,对外的辐射越少,接收外界的干扰也越小。

器件去耦规则:

A. 在印制版上增加必要的去耦电容,滤除电源上的干扰信号,使电源信号稳定。在多层板中,对去耦电容的位置一般要求不太高,但对双层板,去耦电容的布局及电源的布线方式将直接影响到整个系统的稳定性,有时甚至关系到设计的成败。

B. 在双层板设计中,一般应该使电流先经过滤波电容滤波再供器件使用。

C. 在高速电路设计中,能否正确地使用去耦电容,关系到整个板的稳定性。

10、数字电路与模拟电路的共地处理

现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。

数字电路的频率高,模拟电路的敏感度强,对信号线来说,高频的信号线尽可能远离敏感的模拟电路器件,对地线来说,整人PCB对外界只有一个结点,所以必须在PCB内部进行处理数、模共地的问题,而在板内部数字地和模拟地实际上是分开的它们之间互不相连,只是在PCB与外界连接的接口处(如插头等)。数字地与模拟地有一点短接,请注意,只有一个连接点。也有在PCB上不共地的,这由系统设计来决定。

11、信号线布在电(地)层上

在多层印制板布线时,由于在信号线层没有布完的线剩下已经不多,再多加层数就会造成浪费也会给生产增加一定的工作量,成本也相应增加了,为解决这个矛盾,可以考虑在电(地)层上进行布线。首先应考虑用电源层,其次才是地层。因为最好是保留地层的完整性。

12、大面积导体中连接腿的处理

在大面积的接地(电)中,常用元器件的腿与其连接,对连接腿的处理需要进行综合的考虑,就电气性能而言,元件腿的焊盘与铜面满接为好,但对元件的焊接装配就存在一些不良隐患如:①焊接需要大功率加热器。②容易造成虚焊点。所以兼顾电气性能与工艺需要,做成十字花焊盘,称之为热隔离(heat shield)俗称热焊盘(Thermal),这样,可使在焊接时因截面过分散热而产生虚焊点的可能性大大减少。多层板的接电(地)层腿的处理相同。

13、布线中网络系统的作用

在许多CAD系统中,布线是依据网络系统决定的。网格过密,通路虽然有所增加,但步进太小,图场的数据量过大,这必然对设备的存贮空间有更高的要求,同时也对象计算机类电子产品的运算速度有极大的影响。而有些通路是无效的,如被元件腿的焊盘占用的或被安装孔、定们孔所占用的等。网格过疏,通路太少对布通率的影响极大。所以要有一个疏密合理的网格系统来支持布线的进行。

标准元器件两腿之间的距离为0.1英寸(2.54mm),所以网格系统的基础一般就定为0.1英寸(2.54 mm)或小于0.1英寸的整倍数,如:0.05英寸、0.025英寸、0.02英寸等。

14、设计规则检查(DRC)

布线设计完成后,需认真检查布线设计是否符合设计者所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查有如下几个方面:

(1)线与线,线与元件焊盘,线与贯通孔,元件焊盘与贯通孔,贯通孔与贯通孔之间的距离是否合理,是否满足生产要求。

(2)电源线和地线的宽度是否合适,电源与地线之间是否紧耦合(低的波阻抗)?在PCB中是否还有能让地线加宽的地方。

(3)对于关键的信号线是否采取了最佳措施,如长度最短,加保护线,输入线及输出线被明显地分开。

(4)模拟电路和数字电路部分,是否有各自独立的地线。

(5)后加在PCB中的图形(如图标、注标)是否会造成信号短路。

(6)对一些不理想的线形进行修改。

(7)在PCB上是否加有工艺线?阻焊是否符合生产工艺的要求,阻焊尺寸是否合适,字符标志是否压在器件焊盘上,以免影响电装质量。

(8)多层板中的电源地层的外框边缘是否缩小,如电源地层的铜箔露出板外容易造成短路。

15、检查3W、3H原则

为了减少线间串扰,应保证线间距足够大,当线中心间距不少于3倍线宽时,则可保持70%的电场不互相干扰,称为3W规则。如要达到98%的电场不互相干扰,可使用10W的间距。

(1)时钟、复位、100M以上信号以及一些关键的总线信号等与其他信号线布线必须满足3W原则,同层和相邻层无较长平行走线,且链路上过孔尽量少。

(2)高速信号的过孔数量问题,有些器件指导书上一般对高速信号的过孔数量要求比较严格,咨询互连的原则的是除了必须的管脚fanout过孔外,严禁在内层打多余的过孔,他们布过8G的PCIE 3.0的走线,也打过4个过孔,没有问题。

(3)同层时钟及高速信号中心距需严格满足3H(H为走线层到回流平面间距);相邻层的信号严禁重叠,建议也满足3H的原则,关于上述的串扰问题,有工具可以检查的。

主要是为了防止不同工作频率的模块之间的互相干扰,同时尽量缩短高频部分的布线长度。

对混合电路,也有将模拟与数字电路分别布置在印制板的两面,分别使用不同的层布线,中间用地层隔离的方式。

本文摘自网络,版权归原作者所有,如有侵权,请联系本人删除。

PCB模块化设计11——VGA高速PCB布局布线设计规范 阅读详情

相关推荐

浪涌防护下的PCB布线要点

PCB浪涌防护设计是确保系统稳定性的关键因素,尤其在工业控制和电力电子领域。文章从四方面提出改进方案:1)根据浪涌电流峰值而非工作电流设计导线尺寸;2)结合浪涌特性优化安全间距;3)将防护器件靠近端口布局;4)优化大电流回流路径设计。强调PCB设计需从电气安全角度出发,通过精确计算和科学布局主动防范浪涌冲击,避免保护盲区,提升系统在复杂电磁环境下的可靠性。

硬核科技 1306

VGA高速PCB布局布线设计指南

VGA高速PCB布局布线设计指南 说到VGA接口,相信很多朋友都不会陌生,因为这种接口是电脑显示器上最主要的接口,从块头巨大的CRT显示器时代开始,VGA接口就被使用,并且一直沿用至今,另外VGA接口还被称为D-Sub接口。 早前大多数的计算机和外部显示设备的连接还是通过模拟VGA接口进行的,计算机内部以数字方式生成的显示图像信息,被显...

师弟弹琵琶的博客 9700

图解说明PCB布线规则设计中的差分对布线要点

深入解析PCB布线规则设计中的差分对处理技巧,重点讲解走线匹配、间距控制与信号完整性优化,帮助工程师提升高速电路设计的稳定性与可靠性。

weixin_31688273的博客 922

VGA PCB布局布线要点

VGA(视频图形阵列): 一种标准的显示接口,只有VGA是模拟接口,其它的显示接口(HDMI等)都是数字接口。 补充:所有的模拟信号不用控制阻抗,加粗处理就可(因为模拟信号频率很低,阻抗影响不大) VGA接口布局布线要求: 元器件依照线路所示顺序进行摆放,采用一字形或L形布局; R、G、B信号(模拟信号)远离其它信号,尤其是高速信号; R、G、B信号之间的安全距离一般设为20mil,都需要加粗,并包地处理; R、G、B信号如果需要换层处理,需要在过孔的旁边增加回流过孔。 ...

qq_45675261的博客 3001

(PCB系列七)PCB差分信号布线及其要点

差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在这两根线上的传输的信号就是差分信号。信号接收端比较这两个电压的差值来判断发送端发送的是逻辑0还是逻辑1。在电路板上,差分走线必须是等长、等宽、紧密靠近、且在同一层面的两根线。一般类型有:DDR、USB、以太网、PCIE、SATA、RS485、RS422、HDMI、LVDS常用对有:+/- PM/PN TXN/TXP。

zxm8513优快云博客 4万+

PCB拐弯的特性,不一定是圆弧走线最好

这个时候远端模态转换突然达到了-8dB,这已经很大了。但是有的时候因为走线方向原因,只有一个拐角,这个时候可以做如下图的处理,在内侧绕蛇形线,快速将适配的补偿回来。选择常用的4层板,材料参数:阻焊DK=3.3,LT=0.02,PP板Dk=3.3,LT=0.02,core内芯DK=4.7,LT=0.02叠层设置如下。差分线拐弯时内侧和外侧的走线长度不一样,信号的延迟也不一样,这是信号中部分差模成分转化为共模成分的主要原因,然而拐弯处造成的阻抗不连续性也不能忽略,2.5D的电磁场求解器没有办法计算这部分效应。

qq_43416206的博客 2651

一些PCB的布局布线要点

一些PCB的布局布线要点

weixin_58602623的博客 3159

PCB EMC防护布线的工程实践要点

PCB布线是电子设计中影响EMC性能的关键环节。本文从工程实战角度提出系统化EMC布线策略:首先对信号分类(干扰源/敏感信号等)并制定差异化走线方案;其次通过空间隔离、接地优化避免串扰;第三强调电源/地系统设计要点;第四关注跨区信号的回流路径;第五详解晶振、差分等重点器件布线技巧;最后指出必须通过高频干扰测试等验证手段。良好的布线需要兼顾电磁场理论、电路结构与系统隔离,是使设计从"合格"迈向"卓越"的核心能力。

硬核科技 278

PCB布线规则、要点记录

在日常PCB设计中,在25℃时,对于铜厚为10z(盎司)的导线,10mil线宽能够承载0.65A电流,40mil线宽能够承载2.3A电流。3.同一层内走线大于90°:同一层走线禁止90°或者走锐角,从原理上讲,锐角直角走线会造成走线阻抗不连续,对于信号的传输有影响,推荐走线135°。5.PCB布线要尽量远离安装孔与电路板边缘:在PCB钻孔加工中,很容易会切掉一部分导线,为了电路板功能,应尽量远离这些位置。(3)关键信号线优先:电源、模拟小信号、高速信号、时钟信号和同步信号等关键信号优先布线。

qwetui的博客 1673

全面掌握PCB布局与布线设计要点

在现代电子工程领域,印刷电路板(PCB)的设计是一个至关重要且复杂的过程,它影响着电子产品的性能、可靠性和最终成本。本章节将概述PCB布局和布线设计的基础知识,为初学者和有经验的工程师提供一个清晰的起点。

weixin_34535286的博客 991

STM32F103C8T6与OV7670摄像头在TFT屏上的实时数字识别系统实现

本文详细介绍了基于STM32F103C8T6单片机和OV7670摄像头实现实时数字识别系统的全过程。系统通过图像采集、预处理、二值化和模板匹配算法,在TFT屏上实时显示识别结果,并针对资源受限的单片机环境提供了内存与性能优化策略,适用于智能家居、工业仪表读数等低成本嵌入式视觉应用场景。

open4的博客 278

布线前,布局这步极为关键!分享一些PCB设计布线注意要点

①如上图,客户提供一套板,希望拼板交货;如同时加工制作,电镀过程中,因残铜率相差很大,相同电流密度下,左下角的线路获得的电流会非常大,而导致铜镀的非常厚,可能导致后期蚀刻无法实现。建议设计时,考虑到上下间距比较大,可以考虑把上方的斜角删掉,补充到下方的三角位置,扩大下方焊盘的有效面积;从设计角度,三角形焊盘相对反常规,后端软件识别时,会误认为是个矩形,不会认为焊盘小,因此不会报错;从这个线路板来看,可从两个维度做优化,第一,在规避所有线路后,设计时在空旷位置正常铺铜皮,这样就能解决电镀均匀性的问题。...

kkhic的博客 684

SocraticLM: Exploring Socratic Personalized Teaching with Large Language Models

大型语言模型(LLM)被认为是推进智能教育的一项关键技术,因为它们展示了深入理解教学场景和为学生提供个性化指导的潜力。然而,当前个性化教学中基于LLM的应用主要遵循“问答”范式,学生被动地获得答案和解释。在本文中,我们提出了苏格拉底式教学模式(SocraticLM ),它实现了一种苏格拉底式的“发人深省”的教学范式,实现了真正的课堂教师的角色,让学生积极参与到真正掌握解决问题所需的思考过程中。

weixin_43961909的博客 2884

电源PCB布局、布线、调试要点及注意事项

转自:https://blog.youkuaiyun.com/sinat_42513925/article/details/108557059 电源PCB布局、布线、调试要点及注意事项

u014183377的专栏 9545

了解随机振动疲劳分析中 Ansys nCode DesignLife 的平均应力校正

通过选择静态环境,我们可以将其结果视为疲劳计算的平均应力,如图 3 所示,因此从静态偏移载荷工况中提取的平均应力用于转移预测雨流计数中所有循环的平均值。您可以通过观看下面的教学视频获得宝贵的见解,该视频将指导您完成利用 Ansys nCode DesignLife 分析平均应力对随机振动载荷下结构的影响的过程。它基于 R 比率或平均应力水平。另一方面,平均应力校正可以帮助消除平均应力的负面影响,提高结果的保真度。Ansys nCode 提供先进的平均应力校正技术,使工程师能够考虑平均应力对疲劳寿命的影响。

jkh920184196的博客 1519

Ubuntu 22.04 安装 IsaacLab 2.1.0

本文介绍了IsaacLab的完整安装流程:1)创建Python3.10虚拟环境;2)安装PyTorch2.5.1(CUDA11.8);3)升级pip并安装IsaacSim4.5.0;4)克隆IsaacLab仓库;5)运行安装脚本(需接受EULA)。若遇cmake缺失错误,需执行sudo apt安装。安装完成后可通过Ant-v0训练任务验证,成功运行后将显示IsaacSim窗口和训练完成提示。注意:IsaacSim不同版本可共存于不同环境。

weixin_47880303的博客 2224

DDR在PCB布局布线时的注意事项及设计要点

控制器与DDR颗粒应尽量靠近,缩短时钟(CLK)、地址/控制线(CA)、数据线(DQ/DQS)的走线长度,减少信号延迟差异。:为DDR电源(VDD/VDDQ)和地(VSS/VSSQ)提供完整的相邻平面,避免跨分割导致的阻抗突变。:高频电容(0.1μF)靠近电源引脚,低频电容(10μF)靠近电源入口,遵循“先大后小”原则。示波器测量信号上升时间(Tr)、过冲(Overshoot)和时序余量(Setup/Hold)。:时钟线(CLK)两侧加地线并打屏蔽过孔(间距 ≤ λ/10,λ为信号波长)。

SDJ_success的博客 2415

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

解决win11无法安装.net framework 3.5(包括.net2.0和3.0)错误代码:0x80070005

zeng699304的博客 2万+

PCB布局布线的注意要点

在画PCB(Printed Circuit Board,印刷电路板)布局布线时,需要注意多个方面以确保电路板的性能、可靠性和可维护性。

qq_42885951的博客 1786

把慢点掰开看:在 SAP HANA 中启用 SQL 优化耗时跟踪 SqlOptTime 的实战指南

摘要:SAP HANA 性能排查中,常出现SQL查询时快时慢的现象,表面看似执行问题,实则是编译阶段耗时过长。通过SQL优化跟踪工具SqlOptStep和SqlOptTime,可精准区分编译与执行时间。SqlOptStep展示优化树变化过程,而SqlOptTime则记录各阶段耗时,帮助定位问题根源。启用SqlOptTime需配置traceprofile,建议限定特定用户以减少系统负载。实际案例显示,报表响应慢常由计算视图编译(CeQo)导致,而非执行阶段问题。解决方案包括调整计算视图展开方式或优化基础视图结

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1009

yocto系列讲解[实战篇]54 - 添加Qt5和生成带Qt5的SDK

为了满足读者盆友想看yocto如何添加qt5的需求,今天就开始尝试添加meta-qt5

fulinux的博客 3871

PCB 布线要点

其中数据线的等长设计要严格一些,具体情况根据不同电路来定,一般差分线之间的要求是5mils。在布线时要特别注意模拟部分必须与数字部分进行分割,模拟部分只能有自己的GND和VCC,因此当原理图含有数字部分和模拟部分时,在布线初期就要优先考虑模拟器件的摆放位置。,电容的作用一是可以起到隔直作用,防止直流信号互相干扰,从而达到更好的高速信号传输效果。其次电容也可以起到储能的作用,对于高速电路中的瞬变电流可以提供一些缓冲和平滑作用,从而保证电路的正常工作。一定要仔细检查,以免有的芯片不同的型号,管脚不一样。

m0_55099334的博客 343

开源模型应用落地-qwen模型小试-入门篇(二)

在windows环境下,使用transformer设置模型参数/System Prompt/历史对话

以微薄之力,予他人些许温暖. 3237

LCM显示模组的PCB布局布线要点

  LCM显示模组再我们很多现实设备上都需要用到,那我们在PCB设计的时候如何对他进行设计呢,有时候很多设计人员忽略它的重要性,造成设计的设备现实出现各类问题,那么我们如何去优化呢,那现在我们一起来学习下吧1 定义LCM(LCD Module)即LCD显示模组、液晶模块,是指将液晶显示器件,连...

chenjiaying0226的博客 2774

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

高速pcb布线注意要点

大家都知道理做PCB板就是把设计好的原理图变成一块实实在在的PCB电路板,请别小看这一过程,有很多原理上行得通的东西在工程中却难以实现,或是别人能实现的东西另一些人却实现不了,因此说做一块PCB板不难,但要做好一块PCB板却不是一件容易的事情。  微电子领域的两大难点在于高频信号和微弱信号的处理,在这方面PCB制作水平就显得尤其重要,同样的原理设计,同样的元器件,不同的人制作出来的PCB就具有

zmq5411的专栏 4136

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

高速画板9-PCB设计布线要点分析

摘要:高速PCB布线对补光灯项目的信号完整性、电源稳定性和EMC性能至关重要。设计需遵循"布局优先"原则,合理分区隔离干扰源与敏感电路。电源布线要短粗直,大电流路径线宽需匹配电流要求。高速信号需专项处理,如差分信号要平行等距等长,晶振布线要最小化环路面积。项目专属要点包括LED阵列星形供电、DC-DC模块最小化功率回路等。同时需考虑生产工艺要求,确保可制造性。通过分类布线、EMC贯穿设计和可制造性兜底,可有效解决亮度波动、通信丢包等问题。

weixin_75048312的博客 1099

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: STM32如何优雅的使用MDK工具解除芯片读保护?
下一篇: 案例分享|磁珠用于电源输入端口的缺陷
过河的蜗牛
博客等级 码龄11年 526粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值