왜 액티브 로우가 존재합니까?


14

내 경력에서 나는 종종 활동이 적은 신호를 경험했다. 모든 제어 신호가 적극적으로 사용되는 인터페이스도 보았습니다.

나에게 이것은 매우 직관적이지 않고 혼란 스럽다. 왜 적극적으로 사용하지 않아도 되는가? 그것은 역사적 일까 아니면 그것을 설명하는 실제 게이트 수 / 전력 문제가 있습니까?




리셋 베팅 액티브 로우는 어떤 의미에서 회로보다는 문서와 더 관련이있다. 만약 RUN 입력 또는 이와 유사한 것으로 불리
우면

답변:


10

역사적 디지털 설계에서 능동 저 신호는 사용시 설계에서 게이트 수를 줄여 회로 비용을 줄일 수있을 때마다 사용됩니다. 모든 논리가 본질적으로 반전 (NAND) 게이트로 구축 되었기 때문에 IC 설계에서 이산 논리보다 IC 설계가 더 일반적이라고 생각할 수 있지만 그 분야에서는 개인적으로 경험이 없습니다.

이러한 수준의 최적화는 오늘날 거의 필요하지 않거나 최소한 합성 도구를 통해 자동으로 수행되므로 설계자에게 투명합니다. 아시다시피 액티브 로우 신호가 여전히 흔하게 나타나는 경우는 거의 없습니다.

리셋 및 인터럽트와 같은 기능을위한 액티브 로우 신호의 장점 중 하나는 오픈 콜렉터 출력 을 사용하여 액티브 로우 신호에 대한 "유선 OR"로직을 생성하는 것이 매우 쉽다는 것 입니다.

즉, 리셋 또는 인터럽트를 유발할 수 있어야하는 여러 개의 서로 다른 회로가있는 경우 각 회로는 ~ RESET 또는 ~ INT 와이어에 연결된 오픈 컬렉터 출력을 가질 수 있습니다. 그런 다음, 이들 중 하나가 신호를 결합하기위한 추가 로직 없이도 라인을 낮게 끌어 당겨 적절한 응답을 유발할 수 있습니다.


3

TTL과 같은 로직 제품군에서 개방 터미널은 로직 제로 입력을 감지하기 위해 전류 싱크 로직에 의존하기 때문에 High로 해석됩니다.

핀 액티브 로우를 설계 하면 의도적 인 로직 상태가 적용된 경우에만 작동 합니다. 모호한 부동 입력 조건을 피하기 위해.

또한 질문 에서 특별한 RESET 사례가 답변되었습니다 .


1
오해의 소지가 있습니다. 그렇습니다. TTL 입력은 높게 뜹니다. 그러나 잡음이있을 때 그것에 의존 할 수있는 수준까지는 아니 었습니다. TTL 입력을 부동 상태로 두는 것은 항상 나쁜 습관이었습니다. 또한 이것은 오래 전에 이루어졌습니다. 요즘 논리는 어떤 식 으로든 떠 다니지 않으며 구동되어야합니다. 오늘날 대부분의 논리 인 CMOS는 매우 높은 임피던스 임피던스를 가지며 대칭입니다.
Olin Lathrop

1
합의 @OlinLathrop
D34dman

2

액티브 로우의 주요 장점은 안전성 입니다.

신호 손실이 치명적인 상황에서 C & I 세계 에서 널리 사용됩니다 . 한 예로 보일러의 수위가 낮고 다른 하나는 비상 정지일 것이고 다른 하나는 연료 압력이 낮을 것입니다. 이러한 이벤트 중 하나가 발생하면 머신을 중지해야합니다.

시스템이 액티브 하이를 사용하고 계측기 고장 또는 신호 케이블이 손상된 경우 컨트롤러는 문제가 있음을 절대 알 수 없습니다. 시스템에서 액티브 로우를 사용하고 계측기 고장 또는 신호 케이블이 손상된 경우 시스템은 계측기 활성화와 같은 방식으로 응답합니다.


1
글쎄, "I 'm off"에 대해서는 active-low가 아니라 "all-OK"신호에 대해 이들 중 어느 것이나 active-high라고 주장 할 수 있습니다.
nmz787

1

액티브 로우 신호는 일부 로직 제품군, 특히 기존 TTL에서 노이즈에 더 견딜 수 있습니다.

높은 TTL 신호는 최소 2.8V 출력이어야하고 2.0V 입력만큼 낮아야합니다. 전압 강하 및 잡음에 대해 0.8V 마진이 남습니다. 그리고 추가 마진을 위해 5V 전원에 풀업 저항을 추가 할 수 있습니다.

낮은 TTL 신호는 0.4V를 넘지 않아야하며 0.8V까지 높아야합니다. 전압 강하 및 노이즈에 대해 0.4V의 마진 만 남습니다.

두 레벨 중 하나를 사용하여 논리 상태를 나타낼 수 있습니다. 그러나 신호가 가장 많은 시간을 보내는 상태에 대해 가장 노이즈 허용 수준을 선택하는 것이 좋습니다.

많은 신호가 거의 모든 시간을 비활성 상태로 보냅니다. 따라서 노이즈가 발생하기 쉬운 저수준을 사용하여 드물게 발생하는 활성 상태를 나타내며 노이즈가 많지 않은 수준을 자주 사용하여 자주 발생하는 비활성 상태를 나타냅니다.


1
TTL 신호의 낮은 상태는 일반적으로 전류를 싱크하여 0으로 끌어 내야하기 때문에 더 많은 전력을 소비합니다. 플로트가 일반적으로 TTL에서 1처럼 보인다는 사실에서 알 수 있듯이 높은 상태로 구동하는 데 거의 전력이 필요하지 않습니다. 또한 TTL은 소스보다 전류가 더 많이 스며 들기 때문에 일반적으로 1보다 0으로가는 속도가 훨씬 빠릅니다. 따라서보다 일반적인 (비활성) 상태를 1로 지정하고 덜 일반적인 (어설 션 된) 상태를 0으로 지정하면 전원 소비를 줄이고 어설 션을 수행 할 때 더 빠르게 전파되는 경향이 있습니다.
Nicole Hamilton

1
이것이 액티브 로우에서 "존재"하는 또 다른 이유입니다. 그러나 그것은 내 대답을 뒷받침하거나 모순하는 것처럼 보이지 않기 때문에 왜 독립 답변 대신 내 답변에 주석으로 게시했는지 궁금합니다.
Ken Jackson

0

논리 신호에는 두 가지 상태가 있습니다. 어떤 것을 켜고 끄는 것으로 생각하거나, 켜고 끄는 데 사용하는 것은 전적으로 귀하에게 달려 있습니다. 높음이나 낮음보다 더 좋은 것은 없습니다.

시스템을 설계 할 때 그것이 직관적이지 않다는 사실은 관련이 없습니다. 당신은 높은 것이 사실이라고 생각할 수도 있지만, 다른 사람에게는 전혀 다른 방법 일 수 있습니다. 훌륭한 엔지니어들은 종교적인 요점에 매달리지 말고 의미있는 일을하려고 노력합니다. 때로는 중요하지 않은 경우, 원하는 것을 선택하십시오. 때로는 중요합니다.

예를 들어, 통신해야하는 회로를 일반적으로 접지라고하는 하나의 공통 네트를 공유하는 것이 편리하고 대부분의 논리 회로는 긍정적 인 공급을 요구하도록 발전했습니다 (생각할 수도 있습니다). 논리 신호는 일반적으로 접지 또는 양의 공급 레벨에 있습니다. 정상적으로 열린 푸시 버튼에서 디지털 입력을 구동해야한다고 가정 해 봅시다. 특히 해당 푸시 버튼이 회로에 물리적으로 맞지 않게 장착 된 경우 푸시 버튼의 한쪽을 접지에 연결하는 것이 편리합니다. 즉, 버튼을 누르면 반대쪽이지면으로 구동됩니다. 이는 기본적으로 음의 논리를 생성합니다. 즉, 낮음은 눌 렸음을 나타내고 높음 (패시브 풀업 있음)을 나타냅니다. 이 라인이 마이크로 컨트롤러에 들어간 경우 종교적인 이유로 인버터를 추가하는 것은 어리석은 일입니다. 마이크로의 펌웨어는 압축을 나타내는 극성을 처리 할 수 ​​있으므로 미신을 만족시키는 것 외에도 인버터는 공간, 전력 및 비용 낭비 일뿐입니다.


4
나는 이것이 실제로 질문에 대답하지 않는다고 생각하는데, 그 특정 극성이 훨씬 더 일반적인 이유는 무엇입니까? 게이트 수준의 이유가 있습니까?
Rocketmagnet

리셋의 경우 전력 글리치 감지에 그다지 유용하지 않을 수 있습니까?
Paul A. Clayton

@Rocket : 그것은 요청 된 것이 아닙니다. 나는 액티브 로우가 반드시 더 일반적이라고 생각하지 않으며 OP는 결코 그것을 주장하지 않았습니다. 그는 사람이 왜 알고 싶어 (하나님의 말씀)이 액티브 로우를 사용합니다. 내 요점은 중요하지 않으며 액티브 로우가 유리한 곳에서 적어도 하나의 예를 제시하려고했습니다. 당신 이 그 질문을 오해 한 사람인 것 같습니다 .
Olin Lathrop

@Paul : 재설정의 특정 문제는 재설정 상태를 전원 끄기 수준으로 만들고 싶다는 것입니다. 이렇게하면 시스템 전원을 켤 때 리셋 라인을 초기 0V 레벨로 고정 할 수 있습니다.
Olin Lathrop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.