电气工程

电子和电气工程专业人士,学生和爱好者的问答

2
为什么USB设备的速度低于480 MBit / s
动机 信号速率为480 MBit / s时,USB 2.0设备应能够以高达60 MB / s的速度传输数据。但是,今天的设备在阅读[ Wiki:USB ]时似乎被限制为30-42 MB / s 。那是30%的开销。 十多年来,USB 2.0已经成为外部设备的事实上的标准。早期以来,USB接口最重要的应用之一就是便携式存储。不幸的是,USB 2.0迅速成为了这些带宽要求较高的应用程序的速度限制瓶颈,例如,当今的HDD能够以90 MB / s的顺序读取速度。考虑到长期的市场占有率以及对更高带宽的持续需求,我们应该期望USB 2.0 eco系统经过多年的优化,其读取性能已接近理论极限。 在我们的案例中,理论上的最大带宽是多少?每个协议包括USB都有开销,根据官方USB 2.0标准,它为53.248 MB / s [ 2,表5-10]。从理论上讲,这意味着今天的USB 2.0设备可以快25%。 分析 为了深入探究此问题的根源,以下分析将演示在从存储设备读取顺序数据时总线上正在发生的情况。该协议是逐层分解的,我们特别对以下问题感兴趣:为什么53.248 MB / s是批量上游设备的最大理论数量。最后,我们将讨论分析的局限性,这可能会给我们带来一些额外开销的提示。 笔记 在整个问题中,仅使用十进制前缀。 USB 2.0主机能够处理多个设备(通过集线器),每个设备可以处理多个端点。端点可以在不同的传输模式下运行。我们将分析限制在直接连接到主机并且能够在高速模式下通过上游批量端点连续发送完整数据包的单个设备上。 构图 USB高速通信以固定帧结构同步。每个帧长125 us,并以帧起始数据包(SOF)开始,并受帧结束序列(EOF)限制。每个数据包均以SYNC开头,并以和数据包结尾(EOF)结尾。为了清楚起见,这些序列已添加到图中。EOP的大小是可变的,并且取决于分组数据,对于SOF,它始终为5个字节。 在新标签页中打开图片可查看大图。 交易次数 USB是主驱动协议,每个事务都由主机启动。SOF和EOF之间的时隙可用于USB事务。但是,SOF和EOF的时间安排非常严格,并且主机仅启动可以在空闲时隙内完全完成的事务。 我们感兴趣的事务是成功的批量IN事务。事务从令牌包IN开始,然后主机等待数据包DATA0 / DATA1,并通过握手包ACK确认传输。所有这些数据包的EOP都是1到8位,具体取决于数据包数据,在此我们假定了最坏的情况。 在这三个数据包之间,我们必须考虑等待时间。它们位于主机的IN数据包的最后一位与设备的DATA0数据包的首位之间,以及DATA0数据包的最后一位与ACK数据包的第一位之间。我们不必考虑任何进一步的延迟,因为主机可以在发送ACK之后立即开始发送下一个IN。电缆传输时间定义为最大18 …

9
为什么要使用电容器?
为什么需要将电压存储在电容器中一段时间​​?我一直认为电路在通电时会工作,而在断电时会停止。 为什么整个电路不能抽空电容器?如果要用于存储,为什么不只使用触发器呢?
41 capacitor 

4
JTAG与SWD调试
浏览完本文后,我想知道SWD调试比JTAG调试有什么好处? 我知道SWD使用较少的电线/引脚,占用较小的空间等。但是,如何在硬件编程器/调试器设备的性能,功能和成本方面发挥作用呢?像Eclipse这样的IDE仍然可以断点/暂停代码并逐步执行代码吗? 可以像我相信可以在JTAG中那样使用SWD接口对ARM芯片进行编程吗?
41 jtag  debugging  swd 

10
为什么在Arduino中使用AVR?
为什么Arduino使用AVR?我知道它们是官方处理器,但是除了成本之外,没有理由将代码无法移植到ARM或飞思卡尔架构上,对吗?只要有板载内存,我就可以很容易地迁移到这些部分中。 我在行业中看到很多ARM(似乎每个供应商都在将ARM投入他们的设计中),并且想知道为什么Arduino开发人员世界中没有更多的ARM。
41 arm  avr  freescale  arduino 

2
STM32了解GPIO设置
在STM32标准外设库中,我们需要配置GPIO。 但是我不确定有3种功能如何配置它们; GPIO_InitStructure.GPIO_Speed GPIO_InitStructure.GPIO_OType GPIO_InitStructure.GPIO_PuPd 在GPIO_Speed中,有4种设置可供选择 GPIO_Speed_2MHz /*!< Low speed */ GPIO_Speed_25MHz /*!< Medium speed */ GPIO_Speed_50MHz /*!< Fast speed */ GPIO_Speed_100MHz 我怎么知道我要选择哪种速度?使用高速或低速是否有优点或缺点?(例如:功耗?) 在GPIO_OType中,有2种设置可供选择 GPIO_OType_PP // Push pull GPIO_OType_OD // Open drain 如何知道从中选择?什么是开漏和推拉? 在GPIO_PuPd中,有3种设置可供选择 GPIO_PuPd_NOPULL // No pull GPIO_PuPd_UP // Pull up GPIO_PuPd_DOWN // Pull down 我认为此设置与推拉的初始设置有关。

10
什么是随机数发生器的最小和最简单的种子?
一个小型微控制器(8位Atmel)控制许多灯光,以便以许多精美的随机灯光序列呈现灯光秀。 合适的伪RNG可以很好地完成其工作,但是我正在寻找一个好的种子。种子是必须的,因为如果有人同时打开多个这样的设备,那么如果它们都产生相同的效果序列,直到它们由于各自时钟源的微小差异而缓慢地分开,效果就不好了。 在必须通过按下按钮或按下开关来启动设备的情况下,可以使用一种非常好的方法来植入伪RNG,这是我经常使用的方法。µc上电后,就可以启动一个非常快速的计时器,并且第一次按下该按钮时,该计时器的值就会触发RNG。 问题是,在这种情况下,没有按钮。设备通电后,程序必须立即启动。 PCB上的位置非常有限(最多只能容纳几个最小的SMD零件),因此我正在寻找最小和最简单的解决方案。因此,我将排除真正的RNG硬件,无线电接收器等奇特的解决方案。 我所拥有的只是CPU中的16位计时器,还有一个未使用的可访问ADC的端口引脚。 我当前的解决方案是仅使用一个电阻(尽可能不准确)为ADC引脚提供大约一半的电源电压,并为RNG注入第一个AD转换值。但是,当今大多数10%的电阻器的误差都远低于1%(当我告诉他们我们想要他们能找到的质量最差的SMD电阻器时,可以想象供应商的面孔很有趣),因此,从同一种子开始的多个单元。 更好的选择是进行多次转换,并从这些测量的最低有效位中建立一个值。但是,我之前使用过这种µc类型的ADC,我知道它非常准确。以最快的速度运行ADC可能会有所帮助。 有谁有更好的建议?种子不需要完全均匀地分布,但是分布越均匀越好。一个16位种子且分布完全均匀的梦想太好了,以至于无法实现,但是我认为在5位或6位上进行中等分配可能就足够了。

8
为什么断开的二极管之间没有电位差?
我知道这个问题听起来很愚蠢,好像当端子连接在一起时会产生电流差,这意味着能量来自某个地方。 我之所以这样问,是因为从我对耗尽区和二极管内建电位的理解来看,如果您在整个二极管上连接一个电压表,就会显示出内建电位的值。 下图对此进行了解释: 首先,电子从n型流向p型,因为n型中的浓度更高,空穴反之亦然。这称为扩散电流。穿过pn边界的第一个电子和空穴是最接近它的电子和空穴。这些载体在彼此相遇时重组,因此不再是载体。这意味着在pn边界附近没有载流子耗尽区域。因为电子离开了n型材料,空穴离开了p型材料,所以在pn边界的n和p侧分别有正电荷和负电荷。这会产生与扩散电流相反的电场,因此不再有电子或空穴越过边界并结合。简而言之,只有边界附近的电子和空穴结合,因为这样做之后,会形成一个电场,阻止更多的载流子交叉。由于该电场而产生的电流称为漂移电流,当处于平衡状态时,它将等于扩散电流。因为在边界处有一个电场(从正电荷指向负电荷),所以存在一个关联的电压。这称为内置电位。 如果从左到右在沿二极管的每个点上采样电场,则质子和电子的数量相等,则将从p区域的0开始。当您接近耗尽区时,您会看到一个小的电场指向p区,这是由受体杂质引起的,该杂质现在具有多余的电子(由于重组),因此现在具有净负电荷。当您靠近边界时,该电场的强度会增加,而当您远离边界时,电场将消失。 如图(d)所示,该电场意味着存在电压。p侧为任意电势,n侧为高于此电势,因为它们之间存在电场。这意味着整个耗尽区都有电位差。这被称为内置电位。 但是,为什么当我在整个二极管上连接电压表时,却看不到内置的电势呢?

3
使用MOSFET切换直流:p通道或n通道;低侧负载还是高侧负载?
我想是时候我了解MOSFET晶体管的工作原理了... 假设 我想通过MOSFET晶体管切换电阻负载上的电压。 -500V至+ 500V之间的任何控制信号都可以轻松生成。 图片中的晶体管模型并不重要,它们也可以是任何其他合适的模型。 问题#1 哪些驾驶技术可行?我的意思是,这四个电路中的哪个电路可以正确应用控制信号? 问题#2 加载和卸载电阻器的控制信号(CS1,CS2,CS3,CS4)的电压电平范围是多少?(我知道必须分别计算开和关状态的确切边界。但是,我要求提供近似值以了解其工作原理。请提供诸如“ 在电路(2)中,当CS2低于397V时晶体管导通的语句)。并在高于397V时关闭。 ”。

7
为什么不能用1.5 V电池点亮LED?
我使用的LED需要比提供的电压更高的电压才能点亮,因此,它根本不点亮。 我希望至少有昏暗的灯光,但不会产生光。 为什么这种行为“如果没有所需的电压电平就没有光”?LED内部发生了什么?

2
太阳能电池板的故障模式是什么?
我知道太阳能电池板不会永远持续下去。保修期通常为几十年,您可以期望面板的使用寿命可能是保修期的两倍。 但是,当面板出现故障时究竟会发生什么呢?它会像计算机硬盘一样突然失效吗?还是它的输出会像电池容量一样下降?失败的太阳能电池板背后的物理原理是什么?失效是否与热有关? 知名品牌生产的太阳能电池比廉价的中国电池寿命更长吗? 如果有足够高的价格,是否有可能制造出可以永久永久使用的太阳能电池板?如果事实证明低利率环境将继续下去,这样的小组可能会有用。 当然,太阳能电池的类型很多,因此答案可能仅限于最常见的类型,即多晶硅和单晶硅电池。

3
GPS卫星如何刷新时钟
GPS卫星如何保持其机上时钟的准确性?我假设他们需要从基站获取更新。但是,如何确保更新后所有卫星都同步,即没有任何相移。 您的基站在地球上,并假定您要更新的所有卫星都在视线内。您发送一个更新命令。但是,每颗卫星距基站的距离都不同。从接收命令到更新内部时钟也将有一个延迟。有些卫星可能具有更新的硬件,速度更快。 如果分别更新卫星,则需要确保发送命令的时间安排非常准确。这似乎很难解决。在实践中是否有更好的方法? 我想我感兴趣的是说您在A位置有一个时钟。如何将它与B位置(远离A的位置)的时钟同步?您有消息飞行时间延迟,B中的处理延迟等。

3
什么在我的PCB上辐射?
我最近在我的PCB上进行了适当的EMC测试。它没有通过测试,并且似乎在300MHz-1GHz范围内辐射,每50MHz出现一个峰值,而在25MHz出现很小的峰值。 观察近场,您可以清楚地看到周围有许多25MHz谐波: 该板包含一个25MHz的晶体,该晶体必须是信号源,但是问题是,板上的辐射是什么?天线可能是什么?我能想到的候选人是: 接地层充当中心馈送的贴片天线。该板为23mm x 47mm,这使其波长约为1.6GHz的四分之一! 电源中的电感器。该评估板包含TPS84250和EN5312 集成电感器开关电源IC。也许25MHz信号正在回到这些IC中的电感器,并将它们用作天线。 电缆。尽管在测试过程中在电缆上添加铁氧体似乎没有什么区别,但这使我相信这是PCB本身的问题。 还有别的吗 我想不到还有什么大到足以在如此低的频率下辐射的。 被测设备由一对堆叠在一起的PCB组成。最下面的一个包含25MHz晶体和使用它的芯片。最上面的一个包含电源组件。 有关加分的问题:怎么可能在近场中出现大量25MHz谐波,而在远场中却只能检测到100MHz和50MHz谐波?
40 pcb  emc  radiation  far-field 

9
焊接时如何将SMD零件固定在适当的位置?
每当我有需要用SMD零件填充的PCB时,我都要仔细检查这一点,随着引脚间距变得越来越紧,并且随着年龄的增长,我的手变得越来越不稳定,这已经成为一个问题。 到目前为止,我已经修改了一些带有橡皮筋的弯曲镊子,以提高握持力,以帮助将组件固定到位,直到可以焊接1或2个引脚。它有效,但可能很麻烦。夹紧力必须非常轻,似乎只要用尖锐的铁尖轻轻敲一下,仍然可以移动它。我还尝试了各种胶水,将一小滴胶水放置在组件放置的中心。 有时候这行得通,但是我尝试过的所有胶水要么浪费我的时间等待它变干,要么在抓取更多胶水时太快变干(剥皮)。更糟糕的是,即使是一小滴胶水也经常会散布在垫板上,然后我不得不浪费更多的时间来清理东西。 如果我有德鲁特,所有SMD面值都将带有可剥离的自粘底纸。但是无论如何,建议还是值得欢迎的。这将是一个漫长的时间,许多测试市场都将使我正在做的任何事情都配备专业拾放机。

4
四层PCB可能实现最佳叠层?
我正在设计4层PCB,我知道标准堆叠是 讯号 地线 VCC 单语 (根据信号层的不同,可以切换GND和VCC) 问题是,我并不是真的想通过通孔连接所有接地引脚,它们太多了!也许是因为我不习惯使用4层PCB,反正我读了Henry W. Ott的一篇有关不同堆叠的技巧 地线 讯号 讯号 地线 (在信号平面上的电源走线较宽的情况下) 据他介绍,这是采用四层PCB的最佳叠层技术,原因如下: 1.信号层与接地层相邻。 2.信号层紧密耦合(靠近)其相邻平面。 3.接地层可作为内部信号层的屏蔽层。(我认为这需要缝合??) 4.多个接地平面可降低电路板的接地(参考平面)阻抗,并减少共模辐射。(不是很了解这一点) 一个问题是串扰,但是我在第三层中确实没有任何信号,所以我不认为这种串扰会成为这种叠加的一个问题,我是否假设正确? 注意:最高频率为48MHz,板上也有一个wifi模块。

12
车间软件-电子元器件库存管理
我正在寻找可靠的软件来帮助我管理车间中的电子元件,工具,钻头,电线。 目前,我大概有1000多个不同的组件。我的大脑再也无法应付了。 我的收藏”: 首选的免费或低成本软件 不太复杂 位置功能(“位置在哪里”,例如“货架1->方框1”) 库存/购物历史记录-我在哪里以及何时购买零件以及我支付了多少 树结构类别 一些将零件分配给项目的功能(例如:我想指出某个地方,即时通讯在“ Acurrate voltometer v2”和“ Raspberry Pi Solar Logger”项目中使用MCP3424,我也想查看“ Acurrate voltometer v2”项目的完整零件清单) 客户端-服务器架构会很好 (可选的愿望)功能,可以让我准备购物清单(有时我忘了订购某些东西,我不想只订购一部分运费,所以我打算下次购买) 编辑/赏金评论 到目前为止,答案中没有任何真正有趣的东西出现。基于Excel或PHP的解决方案的生产力不足(点击过多)。zParts太简单了,我自己可以在2个小时内写出这样的内容:)
40 software 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.