Questions tagged «digital-logic»

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


7
如果将非门的输出注入回OWN输入,将会发生什么?
非门,如果获得0(关闭)输入,则给出1(打开)输出。如果获得1(打开)输入,则返回0(关闭)输出。 现在,如果我可以将输出返回到非门的输入,那么会发生什么?如果门的输入为1,则输出为0,然后,如果门的输入为0,则输出为1。 这种情况听起来像是一种“自我矛盾”(自欺欺人)的物理模型 (例如当发烧袭击的孩子贝特朗·罗素正等待被他的兄弟愚弄,准备采取一切可能的trick俩时,贝特朗·罗素的兄弟完全不做傻瓜,使伯特兰成为愚人节;如果伯特兰的兄弟使用任何愚人pri俩,伯特兰将不会被愚弄,如果伯特兰的兄弟不使用愚人节,这意味着伯特兰已经他的兄弟愚弄了四月)。 现在,在称为“非门 ”的实际硬件的情况下会发生什么? 我相信各种可能性; 门将始终保持为0(off)-输出。 门将始终保持为1(on)-output。 门将是“ PULSATING”;一旦输出1;在下一瞬间,在接收到1(开)信号后,它将发出零(关)信号,并且该循环将继续进行。这种振荡的频率将取决于电路组件的物理特性。 电路将受到损坏(由于某些异常电流,过热等),并很快永久停止工作。 在这些假设内会发生什么吗? PS。我在上学的时候就在考虑这个问题,但是至今我还不知道如何在电路中组装非门,从何处购买等。我还无法通过实验进行测试。

6
在入门计算机体系结构中,使用FPGA优于TTL有何优势?
我在人文学院教授一门也是唯一的计算机体系结构课程。计算机科学专业和辅修课程是必修课。我们没有计算机工程,电气工程和其他硬件课程,等等。我的主要目标是让学生从头到尾地了解计算机的工作方式,我相信他们可以通过硬件实验室和其他方面学习得最好。不只是通过教科书(计算机组织与设计轩尼诗和帕特森的作品)。我的第二个目标是激发他们对计算机体系结构的兴趣并增加他们对计算机科学的兴趣。尽管要激励他们学习更多的计算机体系结构,但直接为工业做准备并不是一个目标。这些学生通常没有任何建造任何东西或参加大学水平的实验室课程的经验。通常,每学期有10-15名学生参加该课程。 自1998年以来,我一直以与1980年代末在麻省理工学院教授计算机体系结构和数字电子学的方式相似的方式教授该课程:在有源面包板上使用DIP TTL芯片。在第一次硬件实验室作业中,学生将构建一个完整的加法器。他们大约在学期的一半,开始用8位指令集构建一台简单的计算机。为了减少布线,我为他们提供了带有某些电子设备的PCB(两个D触发器,两个连接在一起以充当8位ALU的4位LS 181 ALU和一个三态缓冲器)。在这些实验的第一个实验中,他们得出两种指令格式的(非常简单的)控制信号并构建电路,在开关上输入指令并从灯中读取结果。在第二个实验中,他们添加了一个程序计数器(2个LS163)和一个EPROM(我最初的问题是关于,在切换到如何教授入门架构之前)。在最后的实验中,他们添加了条件分支指令。尽管学生花费大量时间进行布线和调试,但我认为这是进行大量学习的地方,并且学生真正拥有成就感。 但是,该论坛上的人们一直在告诉我,我应该切换到以前从未使用过的FPGA。我是软件工程师,而不是计算机工程师,现在已经放学了一段时间,但是我有能力学习。我将无法获得很多钱(也许几千美元)来替换我们现有的数字培训师。我们确实有一个逻辑分析仪。 考虑到我的目标和限制,您是否会建议EEs继续使用当前的基于FPGA的方法?如果是后者,您能给我一些指导自己学习的资料的指针吗? 根据要求,这是课程提纲和实验作业的链接。 另外:是的,它也是一门数字逻辑课程。当我上大学时,要求学生分别学习计算机体系结构和数字逻辑中的每一个学期,然后将它们合并为一个学期。当然,那是关于过去的陈述,而不是关于未来的陈述。

8
值得学习如何使用7400系列“软心豆粒糖”逻辑IC,或者它们已经完全过时了吗?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我学习电子产品的路线图包括7400系列逻辑芯片。我按照《电子艺术》实验手册中的实验开始从事电子学,其中包括使用这些芯片的实验。在完成这些特定的实验之前,我最终构建了几个定制的Microchip PIC和Atmel微控制器板。现在,我盯着FPGA并兴奋地尝试其中的一种。我应该抛弃7400系列,还是对它们的理解被认为是理解更现代的可编程逻辑芯片的基础?7400系列中的某些产品是否仍用于新的(好的)设计中以简化工作?是否还有特别有用的7400系列芯片可以一直使用?我想只需7400系列实验室就可以了,但是,我只是想了解一下它们有多陈旧,因为我在采购零件时非常困难。我找不到一些,最终花了比我认为可以接受的更多的钱。 解: 感谢所有的答案!每个答案都是有帮助的。我坚信7400仍然可以在设计中找到应用,并且今天仍然有用,但是通常不适用于可编程逻辑更适合的大型逻辑设计。另外,我深信在开始使用可编程逻辑器件之前,学习使用分立逻辑IC是一个很好的准备步骤。

6
NAND Gates为什么便宜?
在我的数字电子实验室和讲座中,我们被告知要尝试从NAND门制造东西,因为它们是最便宜的门。为什么是这样?为什么OR / AND门最便宜?

6
串行协议定界/同步技术
由于异步串行通信甚至在当今的电子设备中也很普遍,我相信我们许多人会不时遇到这样的问题。考虑与串行线(RS-232或类似产品)连接并且需要连续交换信息的电子设备D和计算机。即每个发送一个命令帧,并每个发送一个状态报告/遥测帧答复(报告可以作为对请求的响应发送,也可以独立发送-在这里并不重要)。通信帧可以包含任何任意二进制数据。假设通信帧是固定长度的分组。PCPCX msDY ms 问题: 由于协议是连续的,因此接收方可能会失去同步,或者只是在进行中的发送帧中间“加入”,因此它只是不知道帧起始位置(SOF)在哪里。根据数据相对于SOF的位置,数据具有不同的含义,接收到的数据可能会永久损坏。 所需的解决方案 可靠的定界/同步方案可在恢复时间短的情况下检测SOF(即重新同步所需的时间不超过1帧)。 我了解(并使用了一些)的现有技术: 1)标头/校验和 -SOF作为预定义的字节值。帧末的校验和。 优点:简单。 缺点:不可靠。恢复时间未知。 2)字节填充: 优点:可靠,快速恢复,可与任何硬件一起使用 缺点:不适用于固定大小的基于帧的通信 3)第9位标记 -在每个字节之前附加一个位,而SOF标记为1和数据字节标记为0: 优点:可靠,快速恢复 缺点:需要硬件支持。大多数PC硬件和软件未直接支持。 4)第8位标记 -上面的一种模拟,同时使用第8位而不是第9位,每个数据字仅保留7位。 优点:可靠,快速的恢复,可与任何硬件一起使用。 缺点:需要从/到常规8位表示到/从7位表示的编码/解码方案。有点浪费。 5)基于超时 -假定SOF为某个已定义的空闲时间之后的第一个字节。 优点:无数据开销,简单。 缺点:不太可靠。在较差的计时系统(如Windows PC)上无法很好地工作。潜在的吞吐量开销。 问题: 还有哪些其他可能的技术/解决方案可以解决该问题?您能否指出上面列出的缺点,可以轻松解决这些缺点,从而消除它们?您(或您将)如何设计系统协议?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

3
什么是帕蒂码?
在今天的数字逻辑讲座中,我的教授介绍了一种称为Patty Code的符号代码。我从白板上复制了此表: | 符号 二进制| 奇怪的帕蒂 甚至帕蒂| | -------- + -------- + ----------- + ------------ | | 一个| 00 | 100 | 000 | | b | 01 | 001 | 101 | | c | 10 | 010 | 110 | | d | 11 | 111 | 011 …

3
上电时SRAM不是空白,这正常吗?
我终于完成了Z80内存板的工作,但令我失望的是,它无法正常工作(将地址线连接到某些LED上的简单NOP测试),因为计数器迅速呈螺旋形失控,而不是按需增加。但是,我不是一个愿意放弃的人,经过大约三十分钟的连续性测试,发现没有短路和所有正确的连接之后,我终于想到要检查SRAM芯片是否在所有0都接通的情况下通电。我很清楚,SRAM(除非是非易失性的,除非我的特定芯片不​​是非易失性的)会在断电时丢失其所有内容,但是我一直认为,当它重新获得时将充满0(即“空”)。功率。每次复位电源时,我正在使用的SRAM似乎随机填充有1和0。它永远不会记住任何数据,但它不会空载。这并不是真正的问题,因为我可以简单地在ROM中编写一个小程序,以在加电时将全0加载到RAM中,尽管我仍然想知道这是否是SRAM的工作方式。谢谢! 编辑:我忘了提到使用ROM将0加载到SRAM之后,系统工作正常,所以这确实是问题。

4
为什么全异步电路没有普及?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 11个月前关闭。 据我了解,大多数现代消费类CPU都基于同步逻辑。一些高速应用程序(信号处理等)使用异步逻辑来提高其速度。 但是,在当今市场中,消费类产品的速度是主要卖点之一(请参阅AMD与Intel的比较。)难道比采用完全异步逻辑开发更复杂的光刻技术还快吗?还是对于VLSI应用而言,异步逻辑是否过于复杂/不切实际?

2
为什么将大电流设备连接到我的数字电路会导致奇怪的行为?
我有一个 阿杜伊诺 微控制器 其他数字事物 当我连接一个 发动机 泵 加热器 其他大电流的东西 我体验 奇怪的ADC测量 重新启动 崩溃 数字通信中的错误 其他意外行为 我的电源大小合适,可以为所有这些设备供电。我没有示波器,所以我看不到电路中实际发生的事情。可能是什么原因?

10
有没有办法使用半比特?
如大多数人所知,通过使用4位,我们可以从0到15进行计数(十六进制为0123456789ABCDEF)。但是,如果我们最多只能计数9个,那么我们仍将使用4位,并且会浪费从A到F的数字。 但是,维基百科的QR码页面指出,仅使用0到9的数字每个字符使用3个比特,从统计学的角度来看这是正确的。而且三分之一的位不是物理对象,据我所知,从0到9发送一个数字至少要使用4位。 有什么方法可以使用浪费的组合来有效地发送带有小数位的字符? 好,让我举个例子:必须发送两位数字“ 27”。使用普通的编码技术,发送的位将是00100111。然后我们可以想象一个系统,该系统将根据下一位将数字“ 2”替换为数字“ E”或“ F”。在这种情况下,下一位为0,因此将“ 2”替换为“ E”。然后将所得的比特串是1101 0 111.如果数字“28”必须被发送。另一方面,第一个位后的“2”是一个1,所以它是由位“F”替换代替,产生字符串1111 1 000。 在这两种情况下,都实现了1位的经济性,因为一个半字节被用于两个不同的字符。换句话说,每个字符使用三个半位。

1
从Arduino获取大量(〜100)数字输出信号
我希望能够使用Arduino控制约100个独立的LED。问题在于Arduino没有足够的引脚可以为此配置。解决这个问题的方法是什么?是否有芯片可以对来自Arduino的更复杂的信号进行解复用,然后可以控制LED?还是有其他解决方案?

5
我们为什么要为触发器计时?
我正在尝试了解拖鞋和闩锁。我正在读Morris Mano的《数字逻辑》一书。我无法理解的一件事是为什么要给触发器计时? 我了解为什么我们需要“启用”或门控闩锁。但是时钟有什么用?我不明白这一点。为什么我们不能仅启用所需的触发器并给它们输入?当我们更改输入时,输出也会更改。为什么我们必须在时钟上升沿或下降沿时改变输出(在边沿触发触发器的情况下)? 对此任何帮助表示赞赏。

8
带状电缆串扰-事实之后是否有解决方法?
我参与了一个项目,其中客户在带状电缆中定义了引脚,而没有考虑可能的串扰问题。信号是1 MHz数据信号,没有接地线将它们分开。我从未经历过串扰,并且对感应毛刺的大小(0.5至0.65伏)感到惊讶。接收端使用的是74HCxx线路驱动器(CMOS开关电平),这会在数据流上产生纯垃圾。客户正在切换到74HCT驱动器,试图将输入“高”开关电平移至毛刺电平以下,但我对此表示担忧。 除了切换到HCT零件或适当地重新设计电路板以挽救我们已有的东西以外,还能做些什么吗?

2
通过长电缆传输5v信号
我在这里寻求帮助,因为我需要一个可靠的答案。我需要5v digital pulse从与控制板相距一定距离的(接近)传感器获取输入信号(低频),并将其输入到微控制器。 我将逐项列出要点。 最大发射距离:50 m 最大数字脉冲频率:10 Hz 传感器的电压范围:5至30 v(输出与提供的电压相同的电压) 微控制器的最大输入:5 v 对于一个简单的类似应用程序,这就是我之前所做的。传感器的电压为12v。在另一端,脉冲(现在为0-12v)通过7805调节器馈入微控制器。效果很好,但是有人告诉我该方法不好,也不适合可靠的应用程序。我也觉得这很丑陋,但我不希望在硬件,构建单独的电路等方面乱七八糟。有人可以提出更好的解决方案(或与我的:D同意)。 我喜欢很多,如果我没有在所有建立任何电路。如果不可能的话,至少是一个非常简单的!(就硬件复杂性而言很简单。不需要PCB的电路,这里和那里只需两根电线。这就是为什么我喜欢7805解决方案的原因)。但是(不幸的是)必须将可靠性放在首位。

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.