高电平,低电平,高阻态称为三态.
可以具备这三种状态的器件就叫做三态(门,总线,......).
举例来说:
内存里面的一个存储单元,读写控制线处于低电位时,存储单元被打开,可以向里面写入;当处于高电位时,可以读出,但是不读不写,就要用高电阻态,既不是+5v,也不是0v
计算机里面用 1和0表示是,非两种逻辑,但是,有时候,这是不够的,
比如说,他不够富有 但是他也不一定穷啊,她不漂亮,但也不一定丑啊,
处于这两个极端的中间,就用那个既不是+ 也不是―的中间态表示, 叫做高阻态。
高电平,低电平可以由内部电路拉高和拉低。而高阻态时引脚对地电阻无穷,此时读引脚电平时可以读到真实的电平值.
高阻态的重要作用就是I/O(输入/输出)口在输入时读入外部电平用.
-------------------------------------------------------------------------------------------------------
一般门与其它电路的连接,无非是两种状态,1或者0,在比较复杂的系统中,为了能在一条传输线上传送不同部件的信号,研制了相应的逻辑器件称为三态门三态门,除了有这两种状态以外还有一个高阻态,就是高阻抗(电阻很大,相当于开路)。相当于该门和它连接的电路处于断开的状态。(因为实际电路中你不可能去断开它,所以设置这样一个状态使它处于断开状态)。三态门是一种扩展逻辑功能的输出级,也是一种控制开关。主要是用于总线的连接,因为总线只允许同时只有一个使用者。通常在数据总线上接有多个器件,每个器件通过OE/CE之类的信号选通。如器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影响其它器件的工作。
如果你的设备端口要挂在一个总线上, 必须通过三态缓冲器. 因为在一个总线上同时只能有一个端口作输出, 这时其他端口必须在高阻态, 同时可以输入这个输出端口的数据. 所以你还需要有总线控制管理, 访问到哪个端口, 那个端口的三态缓冲器才可以转入输出状态. 这是典型的三态门应用, 如果在线上没有两个以上的输出设备, 当然用不到三态门, 而线或逻辑又另当别论了.
OC门,又称集电极开路(漏极开路)与非门门电路,Open Collector(Open Drain)。为什么引入OC门?
实际使用中,有时需要两个或两个以上与非门的输出端连接在同一条导线上,将这些与非门上的数据(状态电平)用同一条导线输送出去。因此,需要一种新的与非门电路--OC门来实现“线与逻辑”。
OC门主要用于3个方面:
1、
实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。
2、
线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用,而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。用OC门实现线与,应同时在输出端口应加一个上拉电阻。
3、
三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如高电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。
准双向口只能有效的读取0,而对1则是采用读取非零的方式,就是读入的时候要先向io上写1,再读。
真正的双向口正如其名,就是真正的双向io不需要任何预操作可直接读入读出。
三态io的读入没有区别,只是输出带tri-state