总线使能集成电路


8

我正在用基本逻辑组件设计一个简单的8位CPU。我对我的ALU和寄存器如何交互有一个很好的想法,但是我觉得可以改进的一件事是当允许一条线连接到主数据总线时如何切换。

我最初的想法是使用和门驱动公交车。ALU中各个线路的输出都可以进入一组四与门芯片,并输出到总线上。一次仅一组AND门会将其所有B输入拉高,以使其进入总线。

我不确定两件事:当我只需要一条控制线进入时,每条线使用八个完整的AND门似乎很浪费。是否有更好的芯片更适合此目的?我敢肯定我也可以用八个晶体管来做,但是我想坚持使用相当普通(便宜)的IC。

这样的解决方案仅允许数据从总线以一种方式流动。这有问题吗?我认为不是,因为我还有其他控制线会阻止寄存器加载总线数据,直到我希望它们加载为止。

像这样的总线门是否使用标准芯片?

Answers:


11

74HC244是用于连接到/从总线断开典型设备。它是一个八进制三态缓冲区(或者说是一个双四元缓冲区)。您需要三态功能才能与总线完全断开连接。这些门会将总线设置为高电平或低电平,但这将不允许其他设备在其上。

但是由于您正在谈论数据总线,因此您可能需要一个双向缓冲区。然后,您可以使用74HC245

74HC245

您有一个DIR引脚来控制方向,一个引脚/OE可以使缓冲器处于三态。

编辑
JustJeff提到了74HC374八进制三态D触发器。(注意:我将讨论74HC574,它在功能上是相同的,但是具有更合理的引脚排列。74HC574确实是一个有趣的部分,并且是SN74xx系列以来的经典产品。虽然74HC245将为您提供三态缓冲器,但74HC574还具有存储功能,以八进制D触发器的形式。非常适合制作寄存器,并且通过与总线的三态连接,您可以轻松地路由数据流。
但是,这有一个缺点。寄存器的输出仅对总线可用,因此所有通信都必须通过总线,以便总线成为瓶颈。因此,我认为最好用74HC273八进制D触发器代替74HC374,然后再用一个单独的74HC244三态缓冲器连接到总线。这样,当其他信号占用总线时,寄存器的输出也可在内部使用。(我不知道是否有功能兼容的部分具有更合理的引脚排列。您也可以使用将74HC574 /OE硬连线到地。)


看起来很棒!我还不确定我的寄存器如何与总线交互,但是我怀疑双向寄存器会在总线上有所帮助。
captncraig 2011年

@CMP-在您描述的情况下-从头开始构建CPU-三态输出是您的朋友。例如,74hc374是一个8位寄存器,可在同一芯片中提供三态输出。您可以将其中几个输出的总线连接在一起,只需“在总线上”声明要输出的OE。
JustJeff 2011年

值得注意的是,许多CPU实际上都具有只能从共享总线接收输入或从共享总线发送输出的寄存器(在许多情况下,是从一个总线输入;而在另一总线上输出)。尽管在某些情况下这种设计可能会成为瓶颈,但我认为这里的目标不是与i7竞争。请注意,如果一个人希望一个寄存器从一条总线接收输入并有选择地输出到两条不同的总线,则一个人可以使用一个74HC273和两个74HC244,但是一个人只能用两个闩锁相同数据的74HC574来完成这项工作。
supercat

5

(1)AND门本质上不适合用作透明总线缓冲区,因为如果它们具有完全活动的输出驱动器,它们将相互作用,并且如果“集电极开路”则逻辑反相。

您可以将集电极开路2输入门用作公共总线的单线驱动器。

如果将“数据”和“ not_enable”馈送到“或”门,则如果not_enable为高,则输出将为高;如果not_enable为低,则输出将跟随数据。

当集电极开路的输出为高电平时,它不会以任何方式加载总线。当它为低电平时,它将为总线加载低电平输出。因此,多个集电极开路O门可以共享总线,并且只有启用的O门(通常一次)可以驱动总线。您需要一个上拉电路将总线拉高,并需要任意数量的门将其拉低。

(2)EDUC-8是一台基于8位TTL的微型计算机,于1974年8月至1975年8月在《澳大利亚电子杂志》上作为多月项目推出。即使您不想复制它,也可以通过观察它的方式来学习很多。已实施。近年来有许多爱好者制作了副本。

一个用户的EDUC-8旅程的非常 详尽的文档 ...相同...包括他的墨粉转移PCB的制造细节(包括多个latrgsih PCB)以及更多内容。

维基百科EDUC-8

链接页面

一些文件

PCB图像

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.