Questions tagged «digital-logic»

与处理连续信号的模拟电子设备不同,数字电子设备处理离散信号。数字逻辑用于对电信号进行算术运算,并构成构建CPU的基础。

4
仅用8根线如何连接16个按钮?
这是产品。我理解这个想法:这16个按钮使用4x4矩阵。行4线,列4线,我们有8根电缆。 但: 没有任何多路复用器怎么办? 这样可以准确检测多个按钮的按下情况吗?即使按钮使用同一行或同一列?示例:同时按下位置(2,2)(2,3),(3,2)和(3,3)的按钮。 它是如何工作的?

3
为什么更多的带宽意味着更高的数字传输比特率?
我了解到,以前在此网站上曾问过类似的类似问题,如下所示。但是,我对答案感到困惑。如果我解释了我的理解,可以有人指出我错了吗? 为什么更多的带宽意味着每秒更多的比特率 为什么更高的频率意味着更高的数据速率... 我将从我所知道的开始: 香农定律给出了理论上限 Cnoisy=B∗log2(1+SN)Cnoisy=B∗log2(1+SN)C_{noisy}=B*log_{2}(1+\frac{S}{N}) 如果S = N,则C = B 当N→∞,C→0 当N→0,C→∞ 奈奎斯特公式表示要达到此限制大约需要多少级 CÑ ø 我小号é 升Ë 小号s= 2 * B * l og2中号Cno一世sË升Ëss=2∗乙∗升ØG2中号C_{noiseless}=2*B*log_{2}M (如果您没有使用足够的逻辑级别,您将无法接近香农极限,但是通过使用越来越多的级别,您将不会超过香农极限) 我的问题是我很难理解为什么带宽与比特率完全相关。在我看来,可以沿信道发送的频率上限是重要因素。 这是一个非常简化的示例:完全没有噪声,2个逻辑电平(0V和5V),没有调制以及300 Hz(30 Hz-330 Hz)的带宽。香农极限为∞,奈奎斯特极限为600bps。还要假设该信道是一个完美的滤波器,因此带宽之外的任何东西都会被完全消散。当我将带宽加倍时,我将比特率等加倍。 但是为什么呢?对于具有300 Hz(30 Hz-330 Hz)带宽的两级数字传输,“ 0V”和“ 5V”的数字信号将是一个(大致)方波。此方波将消散低于30 Hz和高于330 Hz的谐波,因此它不是完美的方波。如果它的基频至少为30 Hz(因此“ 0V”和“ 5V”每秒切换30次),则将有大量的谐波和良好的方波。如果其基波频率最大为330 Hz,则该信号将是纯正弦波,因为没有高次谐波使它成为方波。但是,由于没有噪声,接收器仍然可以将零与零区分开。在第一种情况下,比特率将为60 bps,因为“ 0V” 和“ 5V”每秒切换30次。在第二种情况下,比特率最大为660bps(如果接收器的阈值开关电压正好是2.5V),而如果阈值电压不同,则比特率会略低。 但是,这与上限预期的600 bps的答案有所不同。在我的解释中,重要的是通道频率的上限,而不是上限和下限(带宽)之间的差异。有人可以解释一下我误会了什么吗? 同样,当我的逻辑应用于同一示例但使用FSK调制(频移键控)时,也会遇到相同的问题。 …

4
如何减慢MOSFET的开关时间?
我的NMOS切换速度太快,无法适应我的应用程序。我正在向门中发送逻辑电平的方波(PWM)。对我而言,不幸的是,正如预期的那样,输出也是近方波。 如何使Vout更梯形?或以另一种方式说,我可以做的最简单的修改以降低输出的摆率? 注意:(Vin)是施加在NMOS栅极上的电压&(Vout)是在NMOS漏极上看到的电压。

2
如何用我孩子的电子套件构建有趣的XOR电路
今天我回到家时,我的孩子很自豪地告诉我他们是如何通过他的电路电子套件实现“与”,“或”和“非”逻辑的,并问我如何进行“或”运算。 有没有人建议做一个简单的(很有趣的教育性/娱乐性)电路呢? 该套件只有简单的按钮开关(即没有SPDT开关)和通常的各种基本电子组件。它确实具有PNP和NPN晶体管,但我希望使用更简单的东西(到目前为止,它们还没有使用晶体管)。二极管会没事,因为它们更易于理解和熟悉。 我的一个主意是这样的: 但这并不理想,因为它使用两个电池组,并最终通过必须与当前电池电压匹配的分压器驱动灯。还有更好的建议吗? 编辑: 为了明确起见,他们想制作一个有两个按钮的电路,如果按下其中一个(但不是两个)开关,指示灯将点亮。 特别是,不要求电路具有数字输入和数字输出(我们通常认为数字逻辑的方式)。

3
电路在面包板上工作,但在PCB上不工作
我有一个相当简单的电路,可以很好地在面包板上工作,但是将其传输到PCB时遇到了很多麻烦。我看到了非常奇怪的行为,这超出了我目前的经验,因此希望获得一些建议。 该电路实现了一个wifi运动传感器,尽管我遇到的问题在进入RF部分甚至图的uC部分之前就已经发生了: 我圈出了遇到麻烦的部分。 R3是下拉电阻,在检测到运动时b / c AMN42121会将其驱动为高电平,但将其悬空以保持不运动,因此需要下拉电阻。 我使用C1平滑了运动与不运动之间的过渡。C1使输出电平缓慢且平稳地变为LOW,因此在几秒钟的不运动之后达到“不运动”状态。 反相器是否存在b / c attiny的外部中断是由LOW电平触发的,所以我需要对逻辑进行反相。不幸的是,我不得不对一个逆变器使用如此大的DIP封装,但找不到其他东西。 我为此电路制作了一个双面PCB,如下所示: 同样,到目前为止,我只组装了圈出的区域。 焊接完S1,R3和C1之后,我从传感器输出中得到以下信号: 这正是我想要看到的,因此到目前为止一切都很好。 接下来,我焊接到IC2的插座中,然后插入逆变器。这就是奥秘开始的地方。起初一切都很好,但是在弄乱了电路板一段时间后,电路突然停止工作。当我将探头放置在传感器输出上时,而不是上面看到的好信号,我看到了以下两个示例的变化: 范例1: 范例2: 请注意,与第一个示例不同的是,第二个示例中的信号不是由运动生成的-锯齿形状只是自己产生的,而没有我的任何动作。 经过大量测试,我能够确定以下内容: 从插座上拔下逆变器电源可使传感器再次正常工作。 切断逆变器电源,同时保持其插入状态,可使传感器正常工作。 使用其他逆变器无效。 有时,用助焊剂去除剂或丙酮将电路板浸入并用刷子擦洗,有时会使传感器再次工作,但时间很短。一方面,我可以通过用牙刷积极擦洗使信号看起来像这样: 请注意,即使在最后一张图片中,信号也不会一直回到低电平。几乎在我停止刷牙后效果消失了。 到目前为止,这表明存在一些焊接缺陷,但我确实看不到该问题。我已经用强大的放大倍数仔细检查了整个电路板,并测试了所有可以想到的连续性点-一切检查完毕。这是IC插座和传感器上焊接工作的特写: 我现在没主意了,所以任何建议都将不胜感激。谢谢。 编辑: 我刚刚发现了一些有趣的东西。仔细查看示例2(锯齿形信号),可以发现向下倾斜是预期C1放电曲线的一部分。当电压水平接近逆变器的阈值并在那里花费太多时间时,逆变器似乎会变得困惑!它产生的噪声很小,然后执行一些操作将输入踢回HIGH,或者只是无限期地挂在“不确定的”嘈杂状态,直到传感器输出再次以动作b / c变为HIGH(示例#1)。 为了验证这一理论,我用一个小10倍的盖子代替了C1,从而使放电曲线更加陡峭,“瞧!” -逆变器不再混乱,电路正常工作! 当然,这违反了C1的目的,因为它现在没有提供我想要的那么多延迟。我不确定为什么面包板上的逆变器没有这个问题,但是它确实暗示可以很简单地解决这个问题。我读到面包板具有很大的“杂散”电容,所以也许我只需要在某个地方策略性地增加一些电容器?有任何想法吗? 编辑2: 提供顶视图,因为一些评论者要求它:

3
如何使用逻辑门或触发器实现Lights-Out游戏?
首先,对于不熟悉游戏的人来说,这就是游戏的运作方式, 游戏的目标是关闭所有灯光,因此被称为“ Lights Out”,每次按下按钮/灯光都会反转其状态以及其北/南/东/西/西相邻邻居的状态,差不多。 现在,我能想到的是使用SR触发器或JK触发器。这是由于其充当存储元素的能力(初始状态和下一个状态)。但是我似乎无法想到真正实现它们的方法。 另一个想法是每组按钮及其相邻的(NSEW)按钮/灯都将具有自己的真值表,如下所示: 但是,是否有可能使输入变量与输出变量相同?还有其他方法吗?

3
检测方波和正弦波信号之间的相位
我有一个具有数字方波输入(由PLD生成,1.8Vp)和正弦波输出(0.5-3.5 Vp)的电路。两个信号的频率均为100kHz,但是相位不同。 检测这两个信号之间的相位差的好方法是什么?到目前为止,我所看到的鉴相器是用于所有数字信号还是用于所有模拟信号?是否有一个像我一样的混合信号电路? 更新资料 知道1度的相位差足以满足我的应用需求。频率始终彼此相对锁定,并且永不改变。方波驱动模拟电子设备,模拟产生正弦波,其中包含AM调制信号。但是,信号的幅度与载波的幅度相比非常低。由于生产的可变性,模拟物(包括一些手动绕组的电感器)具有很高的相位到单位的可变性,因此我正在尝试为处理输出正弦波的DSP提出一种自动调谐方法。

3
获取数字逻辑中的设置位数
作为练习,我正在尝试以简单的数字逻辑设计一个Conway的“人生游戏”的实现。我可以通过最小化9变量函数来完成整个操作,但是我想那仍然会很大。该算法的核心要素之一是确定您的8个邻居中有多少处于“活动状态”。 给定8个输入,最简单的方法是确定设置多少个?特别是当设置2时,我需要一个高输出,而当设置3时,我需要一个高输出。 我的主要思想现在包括一个PISO移位寄存器,一个计数器和一个3:8解码器,但是我非常需要一个微控制器来驱动所有这些。似乎没有那么复杂的功能。也许256x2 ROM也可以工作,但是我的搜索还没有找到任何类似的内容。 我知道任何具有10 IO的图片都可以轻松完成此操作,但我想以合理可行的最小方式实现它。

5
如何选择频率?
我不是电子专家。我只是一个程序员。我问这个问题只是为了好玩。 我的问题:如何选择数字电路的设计频率? 是在进行实际设计之前“先”选择频率,还是在设计电路之后“最后选择”频率,还是在设计过程中“中间”选择几次频率? 如果事实证明大型电路的不同部分需要不同的最佳频率该怎么办?这不是重新设计电路某些部分的原因吗? 您能描述一下设计过程中选择频率的阶段吗? 事实是,许多“ Core”系列CPU的频率比Pentium-4确实更高的速度要小? 我还听说频率越低功耗越小。但是,难道不是核心CPU的频率更低,但是每秒改变其状态的逻辑门数量却没有更少吗?改变状态的门数量不是频率决定功耗的因素吗?

3
是否有“可以用其构建CPU的芯片”的名称?
有些人喜欢用更简单的IC构建“自制” CPU。 是否有“如果有足够的芯片就可以构建CPU的芯片”的名称?其他芯片是否有名称,“无论您拥有多少芯片,都无法用它来构建CPU”? 一个人可以用足够多的4:1多路复用器芯片来构建CPU(多路复用器是逻辑设计的战术Nuke)。一个人可以用(多一些)2-in NAND门构建一个CPU。或从2或非门开始。或从几个(也许一个)CPLD或FPGA中获取。 然而, 一个人不能仅凭2合XOR门来构建CPU。不能仅凭二极管电阻逻辑来构建CPU 。一个人不能完全依靠D型触发器来构建CPU。 是否有一些术语或短语来区分这两类芯片,而这些术语或短语不如“可以在其中构建CPU的芯片”那么笨拙?


2
PIC12F675 GP4不起作用
我正在为一个项目使用PIC12F675,除一件事情外,其他所有东西都工作正常。GP4不能用作数字IO。我已经看了很多配置和代码,但是找不到任何东西。 配置: #pragma config FOSC = INTRCCLK #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config MCLRE = OFF #pragma config BOREN = ON #pragma config CP = OFF #pragma config CPD = OFF 码: #include <xc.h> #include <math.h> #include "config.h" #define _XTAL_FREQ 4000000 void delay(unsigned int …
9 pic  c  embedded  programming  audio  oscillator  spark  dc-dc-converter  boost  charge-pump  eagle  analog  battery-charging  failure  humidity  hard-drive  power-supply  battery-charging  charger  solar-energy  solar-charge-controller  pcb  eagle  arduino  voltage  power-supply  usb  charger  power-delivery  resistors  led-strip  series  usb  bootloader  transceiver  digital-logic  integrated-circuit  ram  transistors  led  raspberry-pi  driver  altium  usb  transceiver  piezoelectricity  adc  psoc  arduino  analog  pwm  raspberry-pi  converter  transformer  switch-mode-power-supply  power-electronics  dc-dc-converter  phase-shift  analog  comparator  phototransistor  safety  grounding  current  circuit-protection  rcd  batteries  current  battery-operated  power-consumption  power-electronics  bridge-rectifier  full-bridge  ethernet  resistance  mosfet  ltspice  mosfet-driver  ftdi  synchronous  fifo  microcontroller  avr  atmega  atmega328p  verilog  error  modelsim  power-supply  solar-cell  usb-pd  i2c  uart 

4
我需要什么设备来测试USB眼图?
我想测试USB全速以测试高速(480 Mbit / s),我的tek示波器可以处理300 MHz(我可以将其升级到500 MHz),而我正在寻找500 MHz差分探头。据我了解,我还需要一个分线板(我不太确定这是最好的选择),但是我正在看tek的分线板和这里列出的一个。 这样的测试的最低要求是什么? 该设备清单是否足以对全速USB进行眼图测试? 如果我有500 MHz示波器,此设备清单是否足以对全速USB进行眼图测试?

2
7400系列CMOS与4000系列逻辑IC
我了解7400系列和4000系列逻辑IC之间的传统区别,但是由于7400系列有CMOS版本,因此使用4000版本芯片的7400 CMOS是否有优势?请注意,我并不是在谈论TTL与CMOS,因为之前已经进行了详细讨论。如果没有差异(读到的显着差异),那么我假设他们将能够彼此接口?我认为两个CMOS版本的高低电压电平几乎相同,但是如果我错了,请纠正我。

4
如何获得绝对可以在实际硬件上运行的FPGA设计
我刚刚开始学习使用FPGA的数字逻辑设计,并且已经建立了许多项目。大多数情况下(由于我是菜鸟而已),我的设计可以完美模拟(行为模拟),但不能正确合成。 因此,我的问题是“我可以在工作流程中纳入哪些设计步骤,以确保我可以在FPGA上正常工作?” 我希望在两个主要领域提供建议,但这绝对是基于我作为初学者的狭narrow观点,因此欢迎您提出更多建议: 我应该进行所有哪些步骤(查看RTL原理图,合成后仿真等),以学习最佳实践。 在设计逻辑(例如FSM或时序电路)时,应牢记所有注意事项,以避免任何意外的结果。 我正在使用Xilinx Spartan 6 FPGA和Xilinx ISE设计套件进行工作。

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.