当前位置: 首页 > news >正文

嵌入式分享合集75

一、快速找到PCB中的GND

  在维修电路板时,有时候需要测量板子上某一点的电位,来判断到底是哪里出了问题,而参考点的选取一般都是选择电源的负极,也就是GND地线。如下图是几种GND的符号。

   如何快速寻找出板子中的地线,就成了必须要掌握的知识了。下面我总结了几种方法供大家参考一下。

1 通过电解电容来查找GND

    上图中是一个电磁炉主板,我们要找地线,首先要找到板子最大的那个电解电容。

    一般情况下比较大的电解电容都是作为电源滤波的一种元件,它的负极就是GND了。

上图中你看到的最大的电解电容就是一个电源滤波电容,它是从整流桥整流输出约300伏的脉动直流电,再经过此电容滤波才能输出比较平滑的直流电。它的负极就是直流电源的负极,也就是我们要找的GND地线。

2 通过查看大片铜箔来确认GND

    上图中是一个两层板,图中标有红圈的那几个点就是地线,可以看出它和大片的铜箔相连。这是由于地线有屏蔽作用,可以有效减小地线环路带来的干扰,所以线路板中的地线铜箔一般都是成片出现的。

3 通过查看连接插件上的标识来确认GND

 

    如上图,一般在板子的接插件处都有各种信号的标识,我们可以通过查看这个标识来确认地线,比如上图红线圈内的GND就是地线了。

4 通过集成芯片来查找

    在线路板中通常有着各种各样的集成电路,这些集成电路如果要正常工作都需要有供电电源,可以通过查看芯片的引脚来确认GND。

    如上图,这是一个8脚的LM358比较器,通过查找它的资料可以看出它每个脚的功能 ,只要知道第四脚为GND就可以在板子上找到地线了。

最后在说说GND的本质

电路中的地线GND,它的本质是什么?
在PCB Layout布线过程中,工程师都会面临不同的GND处理。
    这是为什么呢?在电路原理设计阶段,为了降低电路之间的互相干扰,工程师一般会引入不同的GND地线,作为不同功能电路的0V参考点,形成不同的电流回路。
GND地线的分类
1 模拟地线AGND
    模拟地线AGND,主要是用在模拟电路部分,如模拟传感器的ADC采集电路,运算放大比例电路等等。
    在这些模拟电路中,由于信号是模拟信号,是微弱信号,很容易受到其他电路的大电流影响。如果不加以区分,大电流会在模拟电路中产生大的压降,会使得模拟信号失真,严重可能会造成模拟电路功能失效。
2 数字地线DGND
    数字地线DGND,显然是相对模拟地线AGND而言,主要是用于数字电路部分,比如按键检测电路,USB通信电路,单片机电路等等。
    之所以设立数字地线DGND,是因为数字电路具有一个共同的特点,都属于离散型的开光量信号,只有数字“0”和数字“1”区分,如下图所示。

在由数字“0”电压跳变成数字“1”电压的过程中,或者由数字“1”电压跳变成数字“0”电压的过程中,电压产生了一个变化,根据麦克斯韦电磁理论,变化的电流周围会产生磁场,也就形成了对其他电路的EMC辐射。
    没办法,为了降低电路的EMC辐射影响,必须使用一个单独的数字地线DGND,让其他电路得到有效的隔离。
3 功率地线PGND
    模拟地线AGND也好,数字地线DGND也罢,它们都是小功率电路。在大功率电路中,如电机驱动电路,电磁阀驱动电路等等,也是存在一个单独的参考地线,这个参考地线叫做功率地线PGND。
    大功率电路,顾名思义,是电流比较大的电路。很显然大的电流,容易造成不同功能电路之间的地偏移现象,如下图所示。

 

  一旦电路中存在地偏移,那么原来的5V电压就可能不是5V了,而是变成了4V。因为5V电压是参考GND地线0V而言,如果地偏移使得GND地线由0V抬升到了1V,那么之前的5V(5V-0V=5V)电压就变成了现在的4V(5V-1V=4V)了。
4 电源地线GND
    模拟地线AGND,和数字地线DGND以及功率地线PGND,都被归类为直流地线GND。这些不同种类的地线,最后都要汇集在一起,作为整个电路的0V参考地线,这个地线叫做电源地线GND。
    电源,是所有电路的能量来源。所有电路工作需要的电压电流,均是来自电源。因此电源的地线GND,是所有电路的0V电压参考点。
    这就是为什么其他类型的地线,无论是模拟地线AGND,数字地线DGND还是功率地线PGND,最后都需要与电源地线GND汇集在一起。
5 交流地线CGND
    交流地线CGND,一般是存在于含有交流电源的电路项目中,如AC-DC交流转直流电源电路。
    AC-DC电源电路,分为两个部分。电路中的前级是AC交流部分,电路中的后级是DC直流部分,这就被迫形成了两个地线,一个是交流地线,另一个是直流地线。
    交流地线作为交流电路部分的0V参考点,直流地线作为直流电路部分的0V参考点。通常为了在电路中统一一个地线GND,工程师会将交流地线通过一个耦合电容或者电感与直流地线连接在一起。
6 大地地线EGND
    人体的安全电压是在36V以下,超过36V的电压如果施加在人体身上,会导致人体受到损伤,这是工程师在开发设计电路项目方案的一个安全常识。
    为了增强电路的安全系数,工程师一般在高压大电流的项目中使用大地的地线EGND,例如在家用电器电风扇、电冰箱、电视机等电路中。具有大地地线EGND保护功能的插座,如下图所示。

家用电器的插座,为什么是3个接线端子?220V交流电只需要火线和零线,两根就可以,那为什么插座是3个接线端子呢?
    插座的3个接线端子,其中的两个端子是用于220V的火线和零线,另外一个端子就是起保护作用的大地地线EGND。
    芯片哥需要重点指出的是大地地线EGND,它仅仅是连接到我们的地球,起到高压保护作用,没有参与项目电路功能,与电路功能无关。
    所以大地地线EGND,与其他类型的地线GND是存在明显电路含义区别的。
细究GND的原理
    工程师可能会问,一个地线GND怎么会有这么多区分,简单的电路问题怎么弄得这么复杂?
    为什么需要引入这么多细分的GND地线功能呢?
    工程师一般针对这类GND地线设计问题,都简单的统一命名为GND,在原理图设计过程中没有加以区分,导致在PCB布线的时候很难有效识别不同电路功能的GND地线,直接简单地将所有GND地线连接在一起。
    虽然这样操作简便,但这将导致一系列问题:
1 信号串扰
    假如将不同功能的地线GND直接连接在一起,大功率电路通过地线GND,会影响小功率电路的0V参考点GND,这样就产生了不同电路信号之间的串扰。相关推荐:认识地弹(地噪声)。
2 信号精度
    模拟电路,它的考核核心指标就是信号的精度。失去精度,模拟电路也就失去了原本的功能意义。
    交流电源的地线CGND由于是正弦波,是周期性的上下波动变化,它的电压也是上下波动,不是像直流地线GND一样始终维持在一个0V上不变。
    将不同电路的地线GND连接在一起,周期性变化的交流地线CGND会带动模拟电路的地线AGND变化,这样就影响了模拟信号的电压精度值了。
3 EMC实验
    信号越弱,对外的电磁辐射EMC也就越弱;信号越强,对外的电磁辐射EMC也就越强。
    假如将不同电路的地线GND连接在一起,信号强电路的地线GND,直接干扰了信号弱电路的地线GND。其后果是原本信号弱的电磁辐射EMC,也成为了对外电磁辐射强的信号源,增加了电路处理EMC实验的难度。     whaosoft aiot http://143ai.com
4 电路可靠性
    电路系统之间,信号连接的部分越少,电路独立运行的能力越强;信号连接的部分越多,电路独立运行的能力就越弱。
    试想,如果两个电路系统A和电路系统B,没有任何的交集,电路系统A的功能好坏显然是不能影响电路系统B的正常工作,同样电路系统B的功能好坏也是不能影响电路系统A的正常工作。
    这就好比一对陌生男女,在没有成为恋人之前,女生的情绪变化是不会影响这个男生的心情的,因为他们没有任何交集。
    假如在电路系统中,将不同功能的电路地线连接在一起,就相当于增加了电路之间干扰的一个联系纽带,也即降低了电路运行的可靠性。

 

二、说说PLC程序

哈哈PLC的内容终于来了第二弹

一套完整的PLC程序,并不仅仅是使系统能够运行起来这么简单,它也需要完整的注释、精良的架构、良好的可扩展性、完备的报警保护系统、运行前的模拟系统。

1、简单性

使PLC程序尽可能简单。简单的含义就是尽可能地使用标准化的程序框架,尽可能使用简单的指令。

要想程序简单,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。

2、可读性

要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便于调试,而且,还要便于别人读懂你的程序,便于使用者维护。必要时,也可使程序推广。

要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,以致于用面向对象的方法进行设计。要多用一些标准的设计。

如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便阅读。

再就是I/O分配要有规律性,便于记忆与理解。必要时,还要做一些注释工作。内部器件的使用也要讲规律性,不要随便地拿来就用。

可读性在程序设计开始时就要注意。这不易完全做到。因为在程序调试的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程序,变得有些乱。所以在设计时就对调试增减留有一定的余地,然后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。

程序的注释,起码应该有以下几个方面:

A、系统注释:整套程序的版权公司和此套程序用途;

B、程序块注释:此程序块的主要用途和作者;

C、段注释:此段代码的用途;

D、变量注释:重要性无需多言,包含I/O注释、中间变量注释。

而至于保密性的考虑,我觉得应该在程序的加密算法或者块的加密上考虑,而不应该用减少注释这种小聪明来实现。

3、正确性

PLC的程序一定要正确,并要经过实际工作验证,证明其能够正确工作。这是对PLC程序的最根本的要求,若这一点做不到,其它的再好也没有用。

要使程序正确,一定要准确地使用指令,正确地使用内部器件。准确de地使用指令与准确理解指令相联系,为此对指令含义和使用条件一定要弄清楚。必要时,可编些小程序对一些不清楚的指令作些测试。

同一指令,由于PLC的出厂批次不同或是PLC的系列型号的不同,一些指令细节有可能不一样,应仔细查阅编程手册。

内部器件正确使用也是重要的。如有的PLC有掉电保护,有的PLC没有。一定要做到该掉电保护的一定要用掉电保护的器件,反之则不能用。

总之,要准确地使用指令,正确使用内部器件,使所编的程序能正确动作,这是对PLC程序最根本的要求。

举个简单的例子,西门子的上升沿和下降沿需要使用带存储功能的变量作为中间变量,比如M点或者DB点,如果使用FC的temp变量就会出问题的。

4、可靠性

程序不仅要正确,还要可靠。可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。

有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮)后,程序就不能正常工作了。这种程序,就不大可靠,或说不稳定,就是不好的程序。

好的PLC程序对非正常工作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。好的PLC程序对非法操作能予以拒绝,且不留下“痕迹”。只接受合法操作。

联锁是拒绝非法操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。

5、易改性

要使程序易改,也就是要便于修改。PLC的特点之一就是方便,可灵活地适用于各种情况。其办法就是靠修改或重新设计程序。

重新设计程序用于改变PLC工艺的用途要求的情况,不仅程序重编,而且I/O也要重新分配。多数情况下不需要重编程序,做一些修改就可以了。这就要求程序具有易性,便于修改。

易改也就是弹性,要求只要做很少的改动,即可达到改变参数或修改动作的目的。

6、扩展性

许多程序可能在进现场之前都已经编好,但是到了现场,可能还需要添加另外的程序,为了避免打乱整套系统的结构,需要在每个功能区预留一定的空间作为备用。

硬件上留出足够的余量,软件在编写的时候把手动,自动,半自动考虑好,位置留出来。

7、完备报警系统

PLC系统往往用于工业环境中,每一次的事故都会造成或大或小的损失,为了做到事故预处理或者在事故中将损失降到最小,必须重视PLC的报警和保护,在此将其摘出来作为系统的一个重要组成部分。

8、程序模拟

为了保证现场的调试进度或者给客户展示,往往在进现场之前,要对自己的程序进行全自动的模拟。为此需要在程序中加入模拟程序部分,模拟程序部分在正常现场运行之后断开。为了使程序具备模拟功能,需要做以下工作:

(1)将实际的PLC的I/O点转换为PLC的中间变量或者数据块变量;

(2)根据工艺要求编写各个设备的模拟程序;

在设计PLC程序的过程中,能够满足以上几个方面的要求的就能称得上是一个好程序了。

PLC程序的设计规范

1、选择合适的PLC型号及I/O点数,有特殊功能需求时选择特殊功能模块。

2、熟悉所选择的PLC编程指令及编译软件。

3、进行软元件规划,包括内部继电器、保持继电器、数据寄存器、定时器、计数器等。

4、进行程序规划,一般以故障提取、故障处理、手动处理、自动处理、输出处理这样的顺序进行编程。比较大型的工程或设备按功能单元分段、分块进行处理,如一条自动化生产线中有提升机、移行、顶起旋转装置等,则应按上述单元分段分块编程。

 

5、在分段分块编写的程序前应加上简短的段注释,说明此段程序的功能,如有必要可以注明相应的工艺流程。分块或分段的程序在总体程序的位置顺序应基本上按工艺流程顺序排列,便于程序的可读性。

6、在程序设计之前,应对设备进行抽象,对如停止、急停、过载、超限、超时、安全光幕、碰停、门开关等共用因子进行提取,放在启动回路或启动主控、连锁回路,作为整个程序结构的大前提,在此基础下,再将程序分为自动、手动两大功能区。

7、将程序结构手动功能区共用因子,如手动、危及设备人身安全等因数因子进行提取,放在手动主控、连锁回路,对手动控制进行保护、屏蔽、报警。

8、将程序结构自动功能区共用因子,如自动、超限、超时等因数因子进行提取,放在自动主控、连锁回路,对自动控制下设备进行保护、屏蔽、报警。一个总的原则就是,在确保安全的前提下,严格限制设备的进,宽松限制设备的出。

9、程序设计时应设计程序总复位功能,便于使用者在设备出现故障情况下,可以方便尽快恢复设备正常工作。总复位应充分考虑在复位过程中设备和人员的安全。

10、自动模式切换到手动模式时,程序应清除自动模式下的输出和中间状态。特别是在自动模式使用SET指令时,必须在手动模式用RESET指令予以清除。

11、严禁在编制程序中使用双输出,即同一条输出语句或同一个输出线圈在程序中出现2次及以上。在不同模式条件下的对同一输出点的输出使用中间继电器进行中转,最后集中到一起并列到输出点。

12、使用触摸屏时,对触摸屏和PLC公用的控制区和状态区,不得做其他功能方面的编程使用。

13、对PLC的特殊模块,在使用之前,应先查明其控制区和状态区是否占用工作字,若占用,不得将这些工作字做其他方面的编程。

14、PLC的输入、输出、中间继电器、定时器、计数器、数据寄存器等都要加中文注释。输入、输出还要有元器件名称位号。对应的输入点,一般情况下默认为外围开关连接的是NO触点,对于需要接NC触点的须在注释中标明。所有注释应当清晰明了,不易产生误解,尽量少使用泛指。

15、工程调试完成后,系统必须保留最终软件程序,保存的文件名应包含项目编号/作者/日期信息/版本号等。

16、关于程序加密:对于加密程序的密码必须有专门的文件予以保存,并注明相应的用户名+密码+权限,分发给至少两个人以上了解密码,防止密码丢失带来无法打开程序的情况。

PLC程序的编程建议

1、PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有“手动”、“自动”等控制模式(一般都是多个只能一个时)。在程序里面可以用“MOV”指令。如:当选择“手动”就将常数1 MOV到一个寄存器VB10里面,当选择“自动”就将2 MOV到同一寄存器VB10。只要判断寄存器的数据是多少,就知道系统是哪种控制方式。这样的思路好处是容易理解,不需要互锁之类的麻烦程序。

2、程序有模拟量控制时,如果读取的模拟量基本上没误差,可以采取时间滤波的方式,延时一段时间。如果读取的数据误差很大,就需要采取其它的滤波方式,如算平均值等。可以查阅相关的资料。

3、在程序调试过程中(特别是设备改造时,你的程序是加入到原来设备的程序中时),当程序语句中出现条件满足,而输出线圈不接通时,可以检查你的这段程序是否是在这样的语句之间,如JUMPgo to等语句。还有一种可能就是在中断程序之后,条件满足而没输出不接通,一般都是这段的程序不被扫描。

4、在顺序控制程序时,即一个动作完成后,进入到下一个动作,等类似的顺序控制,采用+10+10控制模式,本人觉得很方便。其思路是:预置一个寄存器,在初始化时值为0,当系统启动后,对它+10,此时寄存器为10,寄存器等于10时可以做第一个动作;第一个动作完成后,再对寄存器+10,此时寄存器等于20,可以做第二个动作,第二个动作完成后又+10,此时寄存器等于30,这样只要判断寄存器里面数据为多少,就知道要完成那个动作。当需要跳跃动作时,可以不再+10,可以加+20+30....,看实际的需要而定。

为什么加10而不是加1,因为加10之后,如果插入一段,只要在这10个空余的地方随便选择一个位置就可以了。

5、在设计程序的时候,当出现工艺上的故障(非控制系统控制),最好将故障现象保持,并有灯光声音报警。直到操作工复位,以便让其知道系统出现了故障。不然停机了,别人还认为你的程序出问题了,一般在设计一个新系统时是要注意到这些。

6、对于经常调用的子程序,可以做成子模块,频繁调用。

7、由于生产机械在工作循环中的各工步运动在执行时需要一定的时间,且这些时间都有一定的限度,因此可以以这些时间为参考,在要检测的工步动作开始的同时,起动一个定时器,定时器的时间设定值比正常情况下该动作要持续的时间长20%~30%,而定时器的输出信号可以用于报警或自动停机装置。当生产机械某工步动作的时间超过规定时间,达到对应的定时器预置时间,还未转入下一工步动作时定时器发出故障信号,该信号停止正常工作循环程序,起动报警或停机程序,这就是我们常说的超节拍保护。

8、一些安全用检测开关(如急停按钮、安全光幕、极限开关等)实用常闭(NC)输入。

9、为安全、节能考虑,尽量将输出设计成需要动作时才动作,一旦到位就停止输出,而不要设计成平时一直输出,需要停止时才让输出断开。

10、执行元件的动作原则应当是宁可不动,也不要乱动!

11、单台设备控制:单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

12、单台设备(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定。

PLC程序的命名通用规则

1、驼峰命令法(CamelCase)

也称骆驼式命名法,就是当变量名或函数名由一个或多个单词连接在一起构成唯一标识符时,作为逻辑断点的单词的首字母都采用大写,例如:“myName”,这样的变量名或函数名看上去就像骆驼峰一样此起彼伏,故得名。驼峰命名法又分为小驼峰法和大驼峰法。

(1)小驼峰法:第一个单词首字母小写,其余单词首字母大写。变量一般使用小驼峰法命名。例如:“myName”。

(2)大驼峰法:又称帕斯卡命名法,即所有单词首字母大写。函数、类,一般使用大驼峰法命名。例如:“MyName”。

2、匈牙利命名法(Hungarian)

开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。基本原则:变量名=属性+类型+对象描述。例如:Int iMyAge; “i”是“int”类型的缩写;char cMyName[10]; “c”是“char”类型的缩写;float fManHeight; “f”是“float”类型的缩写。

3、帕斯卡命名法(PascalCase)

即前面所述大驼峰命名法。每个单词的第一个字母都大写。例如:“MyName”。

4、下划线命名法(UnderScoreCase)

变量名或函数名的每个逻辑断点都有一个下划线来标记。例如:“my_name”。

三、嵌入式硬件设计的注意事项

嵌入式设计是个庞大的工程,今天就说说硬件电路设计方面的几个注意事项,首先,咱们了解下嵌入式的硬件构架。

    我们知道,CPU是整个系统的灵魂,所有的外围配置都与其相关联,这也突出了嵌入式设计的一个特点硬件可剪裁。在做嵌入式硬件设计中,以下几点需要关注。
1、电源的确定

    电源对于嵌入式系统中的作用可以看做是空气对人体的作用,甚至更重要:人呼吸的空气中有氧气、二氧化碳和氮气等但是含量稳定,这就相当于电源系统中各种杂波,我们希望得到纯净和稳定符合要求的电源,但由于各种因素制约,只是我们的梦想。这个要关注两个方面:
a、电压
    嵌入式系统需要各种量级的电源比如常见的5v、3.3v、1.8v等,为尽量减小电源的纹波,在嵌入式系统中使用LDO器件。如果采用DC-DC不仅个头大,其纹波也是一个很头疼的问题。
b、电流
    嵌入式系统的正常运行不但需要稳定足够的电源,还要有足够的电流,因此在选择电源器件的时候需要考虑其负载,一般留有30%的余量。
    如果是多层板,电源部分在layout的时候需电源分割,这时需要注意分割路径,尽量将一定量的电源放置在一起。如果是双面板,则走线宽度需要注意,在板子允许的情况下尽量加宽。合适的退耦电容尽量靠近电源管脚。
2、晶振的确定

    晶振相当于嵌入式系统的心脏,其稳定与否直接关系其运行状态和通讯性能。常见的振有无源晶振,有源晶振,首先要确定其振荡频率,其次要确定晶振类型。
a、无源晶振
    其匹配电容和匹配电阻的选择,这部分一般依据参考手册。在单片机设计中,经常使用插件晶振配合瓷片电容。在ARM中,为了减少空间和便于布线,经常使用四角无源晶振配合贴片电容。
    虽然我们对于固定晶振的匹配电路比较熟悉,但是为了达到万无一失,还是要看参考手册确定电容大小,是否需要匹配电阻等细节。
b、有源晶振
    具有更好的更准确的时钟信号,但是相比之下,比无缘晶振价格高,因此这也是在硬件电路设计中需要关注的成本。在做电路板设计时需要注意晶振走线尽量靠近芯片,关键信号远离时钟走线。
    在条件允许的情况下增加接地保护环。如果是多层板,也要讲关键信号远离晶振的走线。
3、预留测试IO口

    在嵌入式调试阶段,在管脚资源丰富的情况下,我通常预留一个IO口连接led或者喇叭,为下一步软件的编写做铺垫。在嵌入式系统运行过程中适当控制该IO接口,从而判断系统是否正常运行。
4、外扩存储器

    一个嵌入式系统如果有电源、晶振和CPU,那么这就是我们熟悉的最小系统。如果该嵌入式系统需要运行大点的操作系统,那么不但需要CPU具有MMU,CPU还需要外接SDRAM和NANDFLASH。

 如果该cpu具有SDRAM和NANDFLASH控制器,那么在硬件设计上不用过多的考虑地址线的使用。如果没有相关的控制器,那么需要注意地址线的使用。
    这部分在LAYOUT的时候是一个重点,究其原因就是要使相关信号线等长以确保信号的延时相等,时钟和DQS的差分信号线走线。在布线的时候各种布线技巧需要综合使用,例如与cpu对称分布,菊花链布线、T型布线,这都需要依据内存的个数多少来进行选择,一般来说个数越多,布线越复杂,但是知道其关键点,一切迎刃而解。
5、功能接口

    一个嵌入式系统最重要的就是通过各种接口来控制外围模块,达到设计者预设的目的。常用的接口有串口(可用来连接蓝牙,wifi和4G等模块),USB接口、网络接口、JTAG接口、音视频接口、HDMI接口等等。
    由于这些接口与外部模块连接,做好电磁兼容设计是重要的一项工作。除此之外,在LAYOUT的时候注意差分线的使用。
6、屏幕

    这个功能之所以单独列出来,是由于其可有可无。如果一个嵌入式系统只是作为一个连接器连接外围设备模块,通过相关接口连接到电脑主机或者直接挂在网络上,那么屏幕就不需要了。
    但是如果做出来的是一个消费类产品,与用户交互频繁,这就不得不唠叨几句。电容屏幕是嵌入式屏幕的主要部件,在电路设计中需要注意触屏连接线和显示屏连接线的布局。
    在走线的过程中尽量短的靠近主控cpu,同时注意配对信号走差分线,RGB控制信号走等长。各种信号走线间距遵循3W规则,避免相互干扰。在屏幕的设计中,一定要确保功率和防止干扰,以防屏幕闪屏和花屏现象的出现。

相关文章:

  • Mind Control(暴力+枚举)
  • 这是我见过最辱人的事,“HR已读不回”作为一个测试人你会怎么想?
  • 【计算机组成原理】原码 反码 补码 移码的转换
  • springboot将数据库中的数据导入到xml文件中
  • Overlay 网络 — VxLAN 应用场景
  • C/C++ | 预处理详解
  • 深入理解pg wal日志
  • 案例1:人生重开模拟器(Python)——直接带你入门~
  • C++ 11 新玩法
  • JavaEE中的JUC的常见的类
  • 【C++入门到实战,看这篇博客总结足够了】
  • 核酸检测多少人为一组混检合适?
  • JavaWeb学习之BS/CS架构及tomcat容器项目部署
  • Python入门必会技巧:pycharm配置Python解释器【2022最新】
  • Zookeeper集群搭建(Linux环境)
  • JAVA SE 6 GC调优笔记
  • leetcode46 Permutation 排列组合
  • LintCode 31. partitionArray 数组划分
  • Node 版本管理
  • SpiderData 2019年2月23日 DApp数据排行榜
  • storm drpc实例
  • 爱情 北京女病人
  • 测试如何在敏捷团队中工作?
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 基于axios的vue插件,让http请求更简单
  • 扑朔迷离的属性和特性【彻底弄清】
  • 嵌入式文件系统
  • 通过git安装npm私有模块
  • 原生JS动态加载JS、CSS文件及代码脚本
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 树莓派用上kodexplorer也能玩成私有网盘
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (二)正点原子I.MX6ULL u-boot移植
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)模仿学习-完成后台管理页面查询
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .NET CORE 第一节 创建基本的 asp.net core
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • /proc/stat文件详解(翻译)
  • ?
  • ??在JSP中,java和JavaScript如何交互?
  • @Bean有哪些属性
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @staticmethod和@classmethod的作用与区别
  • @软考考生,这份软考高分攻略你须知道
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [Android Pro] AndroidX重构和映射
  • [Android]Tool-Systrace
  • [Android]竖直滑动选择器WheelView的实现
  • [C#]C#学习笔记-CIL和动态程序集
  • [C/C++]数据结构 循环队列
  • [C++]打开新世界的大门之C++入门
  • [Codeforces] combinatorics (R1600) Part.2