电气工程

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

2
为什么MCU寄存器中与逻辑相关的位字段通常位于不同的位置?
如果这个问题已经被回答,请原谅我,但是无论是在此页面还是在更广泛的Internet上我都找不到答案。 我是一位经验丰富的开发人员,在底层编程方面拥有丰富的知识,但是对于嵌入式开发而言却相对较新。我一直在自学使用ST-NUCLEO144板进行嵌入式系统开发,该板具有STM32F746ZG MCU。在我看来似乎不是显而易见的一个问题是,为什么寄存器中与逻辑相关的位字段可能位于不同的位置。 一个例子是USART_CR1STM32746ZG上的寄存器。的M0和M1位字段一起控制USART TX / RX的字长,的组合的2比特值0b00指定8位,0b01指定9个比特,等等,这是所有相当简单的,不同之处在于M0在第12位和M1在比特28 ...为什么呢? 是否出于遗留设计的原因,例如将新功能插入到先前保留的空间中?是出于与芯片设计相关的原因而我没有考虑,还是出于更大的目的而没有看到? 显然,使用位屏蔽可以克服这个问题,但是我很好奇。


4
FPGA-DIY编程
我已经为微控制器编程了几年了,上完数字设计课程后,我才发现FPGA。在对不同的FPGA,开发板等进行了一些研究之后,我仍然不愿购买任何产品,因为我不知道如何制作自己的最终“产品”版本。我已经将PIC,SAM,AVR等放在定制PCB上没有问题,所以我并不担心-我的主要担心是在没有制造商板的情况下对FPGA进行编程。 我的具体问题:如果我将Quartus,Vivado,iCEcube等生成的位图文件写入地址0开始的SPI闪存芯片(例如,通过FT2232H),并将FPGA连接至FPGA的SPI引脚(正确设置了MODE配置)? 对于部分假设,我深表歉意。我相当确定这是莱迪思的Diamond程序员所做的一切,但是我想知道这种方法是否适用于不同制造商的FPGA,或者说Quartus在编写时是否在存储器中添加了额外的“窗口修饰”或标头。 让我知道我是否可以做些什么来改善/阐明这个问题,或者我是否在FPGA编程过程中遗漏了重点。谢谢!
9 fpga  spi  programming 

10
7805 5 V稳压器会消耗9 V电池吗?
做些DIY作为爱好,我正在制作一个小型的湿度温度无线电传感器。 一个ATmega328从读取DHT11传感器,然后通过将数据发送到树莓裨STX882无线电发射机。它由9 V电池供电,该电池使用7805 5 V稳压器,电容为10 µF和100 µF。 ATmega上的C代码读取湿度和温度,然后每30分钟发送一次: const unsigned long DELAY = 30*60*1000UL; // 30 minutes void loop() { delay(DELAY); send_data(); // Maybe a little overcomplicated, but I think it is not the point } 这就像一种魅力,但电池寿命却出乎意料地短。它是全新的,我做了一些零星的测试,延迟很短,没有异常热量从任何地方散发出来。 当我感到满意时,我放了30分钟的延迟,不理会它(这可能有点危险吗?),但是不到24小时后,电池就耗尽了5.4 V电压。虽然延迟了30分钟,但其使用寿命却受到了尊重。 有什么可以解释这么短的电池寿命?可能是5 V稳压器吗?如何建立持久的电路? PS:我仍在尝试整理一些图表,但这对于像我这样的菜鸟来说需要一定的时间... 我使用了6lp3146通用品牌碱性9 V电池,该电池在100 mA电流下显然提供了300-500 mAh的电量,这远远超过了我的电路使用的电量。 这是我可以从数据表中收集的所有信息: +-----------------+-------------+----------+-----------+---------+ | | …

2
1位或2位输入和1位输出的所有可能逻辑门的名称是什么?
这似乎是一个愚蠢的问题,但事实是,当我尝试搜索相关信息时,没有一个搜索结果能给我令人满意的答案。 具有1位输入和1位输出的逻辑门 由于输入具有B=1B=1B=1位,因此真值表具有行。因为对于真值表中的每一行,输出都有选择(或),所以总共有不同的真值表。C=2B=21=2C=2B=21=2C=2^B=2^1=22220001112C=22B=221=42C=22B=221=42^C=2^{2^B}=2^{2^1}=4 这是真值表的表格(每个真值表都写成一行): (0)0011(1)0101NameConstant ZeroIdentityNOT Gate / Negate / InvertorConstant OneFormula0XX¯¯¯¯1(0)(1)NameFormula00Constant Zero001IdentityX10NOT Gate / Negate / InvertorX¯11Constant One1 \begin{array}{|c|c|c|c|} \hline (0) & (1) & \text{Name} & \text{Formula} \\ \hline 0 & 0 & \text{Constant Zero} & 0 \\ \hline 0 & 1 & \text{Identity} & X \\ \hline 1 …

2
油漆会影响外壳的EMI能力吗?
这可能是一个非常愚蠢的问题,但是当涉及到RF时,您永远不会知道。 接地金属外壳顶部的油漆(不导电)是否会影响其吸收/阻挡RF干扰的能力?在机械固定装置上,外壳未上漆并且接地良好。 我很纳闷,因为我记得射频电流在导体表面传播。他们会在油漆下面“旅行”吗? 谢谢。
9 emc  enclosure 

2
如何读取该电容器的值?
我在电压转换器中遇到了这个电容器,该电压转换器将9V转换为5V。该电容器在M7805CT的输出端(即5V与公共端之间)与另一个470μF电解电容器并联。我找不到该电容器的确定值。不同的网站提供此编码电容器的不同值。这是google搜索返回的屏幕截图。 请帮助解码该电容器的值。
9 capacitor 

6
是否需要分开直流电源线和数据线?
我之前与同事进行了讨论。直流电源不是交流电源,因此直流电源线产生的磁场是恒定的(是吗?)。现在,我知道规则是将电源线和数据线分开,但是我假设是交流电源。稳压直流电源是否遵循相同的规则? 我们在稳定的直流电源电缆(12V和GND)旁边使用CAN总线双绞线。我知道CAN不受噪声影响,但是如果您使用其他数据电缆(例如UART,又称为UART,或以太网),那么DC电源电缆会产生影响吗?如果是这样,为什么?
9 power  dc  noise  cables  data 

2
SMPS上的二极管和电阻并联的目的是什么?
当从液晶电视的几个开关模式电源中读取原理图时,我注意到将PWM脉冲传递到MOSFET栅极的引脚具有并联的二极管和电阻。 有些图没有它。但是他们有很多。我想这对IC控制器的驱动器有一定的保护作用。 虽然我不确定。在第一个图中,二极管和电阻并联,在第二个图中不并联。

1
您如何解释/画出塞德拉微电子公司的简化电路?
我理所当然地不理解本书中的简化图纸是如何解释的。来自基本的电路分析类,其中明确显示了所有内容,即使解释这本书中最简单的电路,我也遇到很多麻烦,甚至无法开始解决它们。 箭头在哪里?在第1章中简要说明了该表示法,它说箭头连接在一起,但这没有任何意义,因为在这个问题上我被赋予了不同的价值。
9 basic 

2
为什么在此Z80原理图中如此设置RESET引脚?
我发现以下示意图: 在阅读了很多数据表后,我大体上都了解其中。 但是,我最不了解的是RESET引脚的情况。首先,我了解到RESET引脚为低电平有效。在这种情况下,为什么将其拉高至+ 5V?我当然不希望CPU重置。我认为这部分的答案与启动时的重置有关。 我的主要问题是,为什么从RESET到(似乎是)地之间有一个电容器。 那是地面吗?如果是这样,为什么在它前面有一个电容器?如果不是,它是什么,它做什么?
9 z80 

3
如果温度不是问题,那么关于不同的陶瓷电介质又能说些什么呢?
假设我们有一个电路,其工作环境温度范围可以很好地调节到25 + -5C。除了成本之外,不同陶瓷电介质类型的用例是什么?换句话说,特定陶瓷电介质的性能将好于其他陶瓷电介质,这将是什么应用?我们可以概括一下吗? 我知道陶瓷电容器的字母代码应该表示电介质的温度依赖性,但是由于所有这些问题都表明了这一点,还有其他可以说的吗? ltc3525-datasheet指出电容器必须为x5r或x7r而非y5v,为什么 为什么制造商强烈不鼓励在AC信号中使用X7R电容器并... Y5V或Z5U电容器有什么用? 陶瓷电容器的微音带宽 多层陶瓷电容器的规格在介电等级内是否有所不同? 我也知道封装尺寸会影响寄生效应,进而影响谐振频率和电容损耗。某些电介质在较小的封装和更高的电压中不可用,并且许多陶瓷表现出压电/麦克风效应(哪个?)。所有这些因素都可以通过一些经验法则来总结吗? 我还注意到,制造商数据表似乎假定了一种特定的电容器应用,例如未指定某些电容器的泄漏,谐振或损耗。 但是,如果环境温度不是一个因素,那么哪种电容器最适合特定工作。应用程序/特定类型的自发热是否存在问题? 到目前为止,我所有的商用电路都不对成本敏感,因此我只为所有陶瓷电容指定X7R,X5R或NP0,正如我在IC数据表中所建议的那样。但是这些建议背后除了温度依赖性之外还有其他东西吗? 我应该更多注意上限的目的吗?例如,仅将X5R / X7R用于电源旁路和调节,而将NPx用于信号路径中的任何内容?可以进行概括,还是需要详细阅读(非常不完整的)制造商数据表的问题? 简而言之。是否有任何通用原理可用于简化设计过程中的零件搜索?

3
为什么在顶层将浇筑物彼此隔离?
我正在阅读TI关于LM3409评估板的应用笔记。在电路板布局(图3)中,最底层是单个GND浇注层。 但是顶层也有一些铜粉倒入地面,例如LED-,C5,D1和C1。 我不明白的是:由于它们都是同一网,为什么它们都不在顶层相互连接?

2
在射频PCB上进行“彻底”的目的是什么?
我经常在RF PCB上找到通孔,如下图所示。将这种通透的东西放在板上的目的是什么?我能想到的一个目的是测试所设计的传输线是否真的超过目标频率50欧姆。我在网上进行了一些研究,有人说此通行证的目的是用于“直通反射线”(TRL)测试。但是我不相信这种说法,因为TRL在技术上需要其他两条线(反射和线)。谁能根据他们的经验向我解释?
9 pcb  rf 

1
ATmega的新“ PB”变体在掉电检测器中是否有错误?
多年来,我们已经在许多产品中成功使用了ATmega48 / 88/168/328微控制器。现在,我们已经考虑从A和PA变体切换到新的PB变体(因为在新产品中我们将需要额外的引脚,计时器和UART,因为它变得更便宜,并且因为似乎旧的变体将不再使用),所以我们换了一个ATmega328PB的ATmega328A。断电后,它似乎经常出现混乱。这些问题从未在旧版本中出现过。 定期停电对于我们产品的用例而言是正常的。我们使用一个开关电源(像这样),将其设置为5V,并在ATmega的VCC上使用220µF的电容器,以使SRAM在几分钟内保持断电状态,以存储非任务状态的内部状态。至关重要,但可以通过在重新启动后立即使用来显着提高用户体验(这些状态经常变化足以使EEPROM不适用)。这一直有效。 但是,使用新的ATmega328PB,在电源中断后,芯片复位,而在MCUSR中没有找到复位条件,时钟似乎变得一团糟。 每个保险丝都设置了欠压检测器。我们尝试了所有可用的bodlevel,所有这些错误都发生了。 我们使用外部20 MHz,每个保险丝也正确设置。 我们尝试了3种不同的芯片,所以这不是一次焊接或其他硬件故障。 发生错误后,时钟通常设置为慢2.5倍,表明MCU由8 MHz内部振荡器提供时钟。但是,有时放慢速度约为6倍。这意味着更改时钟分频器不会是软件错误,因为我无法通过软件设置保险丝,并且时钟分频器无法将时钟除以2.5或6。 因此,我的第一个怀疑是新的“时钟故障检测”保险丝。但是,无论打开还是关闭,其行为都保持不变。 为了排除软件的特殊性,我从头开始编写了一个简单的测试程序,该程序除了从计时器中断中以100 Hz的频率切换输出外,不执行其他任何操作,并在每次重启后以LED指示激活了哪些复位条件(如从MCUSR读取)。其余的硬件也被删除,只有单片机和调节器在那里(指示器指示灯带有串联电阻)。 结果 大约有2/3的时间,没有发生任何有趣的事情。停电后,单片机将恢复工作,掉电复位和加电复位指示灯均亮起。 (在图像上,红色是切换的引脚,蓝色是VCC。在此图像上,清晰可见2.7 V的欠压。我对其他欠压设置进行了相同的测试,结果完全相同,所以我将省略那些图片) 大约1/3的时间,上述错误发生,而当电力又回来了,没有掉电复位,上电复位指标都亮了起来!输出是不同的,好像MCU在用奇怪的时钟滴答作响。它并不混乱,但是,它以相同的频率不断滴答作响。 有趣的是,在这种情况下,掉电检测器似乎是完全不活动的,因为在下一次电源中断后(有时恢复了正确的时钟,有时没有恢复正确的时钟),在掉电检测器之后,输出仍保持良好的切换。超出级别。在这种情况下,时钟有时会变快,而其他时候会变慢: 在这些测试中,我使用了16K CK / 14CK + 4.1 ms作为启动延迟(但是65 ms的延迟不能避免这些问题)。 这是放大的图片,您可以清楚地看到VCC在2 ms内在5 V下达到稳定状态: 在上图中,mcu正确启动。 有趣的是,如果没有,电源电压甚至更快地上升到稳定的5 V(似乎MCU的许多部分都没有上电,因此在启动期间消耗的电流更少) 以下是失败的开始的图像: 请注意,在电源电压稳定后超过85毫秒后,软件将开始运行,而不是需要10.5毫秒。用于启动延迟的保险丝仍然相同,为16K CK / 14CK + 4.1 ms。 还需要注意的是,在电源关闭后,VCC稳定在1.1至1.2伏左右(旧的ATmega328A变型下降至0.6-0.7伏左右)。它保持了几分钟。如果我等待足够长的时间(大约半小时或更长时间),则MCU总是可以正确启动!因此,看来问题在于周围有1.1伏特,根据数据表,这不能保证足以进行上电复位。但这足以进行掉电复位! 除这些情况外,掉电检测器工作正常。它在第一张图像上可见(达到bodlevel时输出信号停止,并且由于mcu的部分关闭,电压降变慢)。当我将VCC降低到略低于bodlevel并使其再次爬回时,我进行了测试,在这种情况下,mcu总是正确地重新启动,只有掉电的复位指示灯亮起。 我是否错过了明显的东西,或者ATmega328PB的掉电检测器是否存在严重的错误? 编辑: 有趣的是,以上问题仅在我在调节器之前中断电源时出现。如果我在调节器(或使用实验室电源)之后中断它,则永远不会发生问题。好像上升的电压形状引起了问题。但是,正如您从上一张图像中看到的那样,电压上升相当不错,并且很快就稳定下来。 编辑2 我用16 MHz而不是20 …

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.