임베디드 레시피

Egloos | Log-in





Analog신호와 Digital 신호, 그리고 Ground.

Analog와 Digital이란 말을 들으면, 으레 내가 마치 파블로프의 개가 먹이를 주면 침을 흘리는 원리 처럼 과거와 현재라는 말이 떠올라 버립니다 - 가끔 파블로프가 생각이 안나서 파브르의 개라 던가, 파스탈로찌 개라고 말해버리는 어이없는 상황이 있기도 하지만 - 푸하.-
 
또는 어떨 때는 말과 자동차로도 메타포 하기도 합니다. 뭐 어쩌면 구식과 최신식의 차이일지도 모르지만, 저는 어딘가 모르게 Analog라는 말이 약간 Classic하기도 해서 좋아합니다. 시계도 Analog시계를 차고 있고요, Cell phone도 아날로그 시계로 바탕화면을 채워 놓았답니다.
 
사실 먼저 비밀을 고백해 놓고 시작하는 꼴이라면, 말과 자동차는 Analog, Digital 신호를 얘기하는데 별로 적합하지 않은 예입니다. 왜냐하면 Digital 신호는 Analog 신호의 일종이니까요. - 말 ∈ 자동차던가요?,  Digital 신호 ∈ Analog 신호 이건 확실합니다만 - 그러니까 다시 말해 Digital신호는 Analog신호의 일종이며, 대부분 DC성분으로 이루어진
있다 없다의 Boolean Logic 값이에요.
 
사실 Analog 신호는 보통 AC와 DC (교류와 직류) 성분으로 이루어져 있어요. 교류, 즉 AC는 주파수를 가지기만 하면 AC라고 불러요. 일반적인 얘기를 꺼내자면, 극성이 바뀌는 신호를 교류신호, 극성이 바뀌지 않고, steady한 상태의
신호를 DC라고 부르는데, 신호와 주파수 영역에서 보았듯이, 모든 신호는 여러개의 주파수 성분으로 이루어져 있습니다.
요동치는 모양의 주파수도 역시나 여러개의 주파수 성분을 더해서 만들어 낼 수 있다고 볼수 있습니다요 -

 
 
광의로 보았을 때 중요한 것은 DC는 주파수가 0이고, 나머지 주파수 성분을 가진 것들은 모두 AC라고 봐도 무방하다고 봐야 합니다. 일단은 약간이라도 주파수를 가지는 성분은 AC라고 정의 하고요. (아주 특별한 case로 우리가 전기로 쓰기 위해서 만들어낸 Sin 또는 Cos 신호를 AC라고 부르는게 일반 상식이지만, Engineer로서, 너무나 특별한 case이외에 조금 더 광활한 의미의 신호 의미를 부여하는 것이 Hardware적인 측면에 다가가기에 유리하다는 생각이 드네요)
 
Digital 신호는 High Low 두개의 Logic value만을 가질 수 있으며, 그 크기 (Level)은 정하기 나름 입니다. 결국 신호가 있느냐, 없느냐의 문제인데 그 신호가 있느냐 없느냐는 원래는 DC성분만을 가지고 따집니다. 예를 들어 1V High, 0V Low라고 약속한다면, 1V, 0V 두가지 DC level만 가지고 Digital 신호 시스템을 만들고, 2V High, -2V Low 라고 약속한다면 그 역시 두가지 DC level만 있는 것을, Digital 신호 시스템이라고 부를 수 있습니다.  
 
조금 더 일반적으로 얘기한다면, Digital 신호는 한계값 또는 임계값 (Threshold)라는 특정 값 이상이면, High, 그 값 이하이면 Low로 판단 한다고 봐야 합니다. 예를 들어, 1.5V가 Threshold라면, 1.5V가 넘는 값들은 Logic 1 (High), 넘지 않는 값들은 Logic (Low)로 분류될 수 있다면 이는 바로 Digital 신호 인 것입니다.
 
한가지 더 언급하고 싶은 것이 있는데, 그건 바로 High impedance상태 입니다. Hardware 쟁이들은 High impedance라고 부르고, Software 쟁이들은 floating이라고 부르는 것이 편할 것입니다. 왜냐하면 High impedance는 어떤 Digital chip pin이 내부에서 ∞ 저항이 달린 것과 마찬가지로 된 상태니까, 다른 Digital chip과 연결이 되어 있다면 그 chip에서는 이 pin이 보이지 않는 것과 마찬가지 상태가 되어 버리지요. 만일 이런 High impedance pin과 여러개의 pin이 공통 버스로 연결되어 있다면, High impedance 상태의 pin은 다른 chip들에 의해서 유기 되어진 버스상의
값들의 변화 (transition)에 관여하지 않게 됩니다. 이런 경우라면 High impedance상태의 pin에서 본다면 무슨 값이 될지 모르는 거니까 floating되어 있다고 볼 수 있습니다. 
 
 
  
이상한 얘기로 빠졌었지만, 다시 이상적인 Ideal Digital 신호라는 것으로 돌아와 보면 , 이 세상에는 완벽한 Ideal case라는 건 존재하지 않는 법입니다. - 아쉽게도 -. Ideal case만 있다면, 세상은 참으로 간편하고 심플한 것이 되었을 수 도 있었을 텐데, 복잡하게도 Digital 신호는 0 → 1, 1 → 0 으로 변할 때, 그냥 변하는게 아니고, 나 바뀐다~ 하고 완전 요동 난리를 치면서 변하게 되지요. 일명 Bounce라는 걸 하면서 변하게 되는데 이런 Transition에 관련하여, 이런 요동이 얼마나 크냐에 따라 시스템에 영향을 줄것이냐 아니냐를 판가름하기도 합니다. Digital 신호를 표현하는데에
있어서 문제점 이기도 하지요. 이런 의미에서 보면 디지털 신호는 DC성분 뿐 아니라 AC성분 까지도 여전히 포함하고 있습니다. 분명 내가 원하지 않는 주파수 성분의 AC성분들을 포함하고 있으니까, 골치 아프긴 합니다만.  
 
 
 
 
 
디지털 시스템을 위하여 우리는 어쩌면 이 AC성분들과의 싸움을 하고 있는지도 모릅니다. (물론 AC라는것이 Analog System에서는 중요한 성분이고, information을 담고 있는  factor임에는 틀림없지만, Digital system에서는 1,0이라는 information에 방해가 되는 존재일 수도 있죠. ) 이런 현상은 전원 line (Power)에서도 자주 볼 수 있는데, system의 어떤 chip이 동작을 시작하는 시점에서 갑자기 전류를 더 끌어다 쓸 수 있어, Bounce되는 것 처럼 보이기도 합니다. 최초 Bounce 되는 시점에서는 원하는 전압이나 전류보다 더 작은 양이 흐르기도 합니다. 그런 경우에는 회로는 전력문제에 직면할 수도 있어요. 최악의 경우, System이 멈출 수도 있습니다. 게다가 이런 Bouncing이 있으면 Digital신호의 Level 인식 문제가 발생할 수 도 있지요. 0인데 1로, 1인데 0으로 판단을 잘못할 수도 있는 노릇인게죠.
 
한가지 더, 짚고 넘어가자면, GND라고 표시하고 Ground라고 읽는 녀석에 대해서 조금만 궁뎅이를 비집고 들어가자면, 모든 전기, 전자 회로에서 다른 모든 전위에 대하여 기준이 되는 0V를 말하며, 일반적으로는 전지의 - 극을 의미하기도 하지요. GND는 system 내부에서 모든 current가 몰려드는 곳입니다. 중요한 포인트이지요. 왜 GND가 중요하냐! 역시나 Digital System에서 1과 0을 제대로 구분하려면 기준점이 있어야겠죠. 이게 틀어지면 모든 것이 틀어지는 것과 다름없으니 상당히 중요한 포인트에요.
 
GND의 symbol은  마치 땅(earth)에 연결한 것 처럼 표시하며, 이 symbol에 연결 되어 있는 회로상의 모든 point는 0V로 같다는 것을 의미합니다. 
 
Ground는 Earth와 signal ground로 나뉘게 되며, 이때, Earth는 말 그대로 우리가 사는 푸른 지구를 의미합니다. 이 Earth는 실제 전위 0V를 의미하지는 않으나, 저항이 크지 않아, 왠만한 전류는 진공 청소기처럼 빨아들이죠. 그래서 어떤 커다란 전기기기의 GND는 직접 땅에 연결을 하는 것입니다. 결국 진공 청소기 처럼 빨아 들인다는 말 자체가 전류들이 모이는 집합처이고, 그것은 결국 0V 처럼 생각할 수 있다는 말이기도 합니다. 다시 말해 절대 0V라고 정의할 수 있습니다요.
 
지구는 정말 소중한 것이죠.
 
그렇다면, signal ground는 Hardware측면에서 어떤 전자기기의 GND를 의미하게 되는데 이는 system내부의 모든 전위에 대해서 기준이 되는 점을 말하며, 보통은 전지의 -극을 저항이 적은 넓은 모양의 case나 PCB 기판의 뒷면등에 연결하여 전류가 몰려들 수 있는 환경을 만들어 놓은 후, 전위 기준으로 사용합니다. 지구도 소중하지만, PCB 기판도 상당히 중요하네요.
 
Base band의 Computer Architecture들은 Digital로 원래 생겨 먹었으니까, Digital로 써먹습니다, 통신 같은 시스템에서는 원래 Analog 신호를 이용해서 통신을 했었습니다만, 왜 요즘 들어서 CDMA같은 통신 시스템이 각광을 받으면서Digital, Digital 하느냐 하면, 사실 channel이라고 불리우는 송신 쪽과 수신 쪽의 사이에 있는 매개체는왜곡 (distortion), 잡음 (Noise)등을 실어서 송신 신호에 덧붙여서 수신을 쉽지 않게 만듭니다. Analog 신호 자체가 information이라고 한다면 error가 날 것은 뻔할 것이요, 다시 바로 잡기도 힘듭니다. 그러니까 모든 정보를 Digital화 해서 받는 쪽에서Logic 1, Logic 0만 제대로 구분해 내면 깨끗한 디지털 신호로 reproduce할 수 있다는장점이 있습니다. 그러니까, error가 나도 FEC(forward error correction)나, CRC등을 이용해서 복구 하기 용이하니까, 조금 더 reliable하다는 뜻입니다. 사실 voice만 따지면, 진짜 analog 신호를 Digital화 해서 만든거니까, 원래 voice를완벽하게 다시 복구하지는 못하지만, 뭐 그런대로 쓸만 하다는 것이지요. CDMA는 이런 Digital의 장점 뿐 아니라, Digital화를 한 후, channel을 Code로 Multiplexing하여, 여러사람이 동시에 나눠 쓸 수 있다는 장점도 있답니다.
       
 : 전원에서 Bouncing되는 부분은 상당히 회로적으로 불안하다고 봐야 합니다. 이런 의미에서 초간단 회로이론에서 다룰 C (Capacitor)를 한쪽은 Power 선에, 다른 한쪽은 GND에 달아 (다른 말로는 병렬로 달아) Capacitor를 마치 건전지 처럼 사용하여, Power line의 전압, 전류가 순간적으로 낮아질 때 Capacitor가 저장하고 있던 전기 에너지를 다시 방출하여 Power line의 전압을 원래대로 유지하는 용도로 문제를 해결하기도 합니다. 이런 Capacitor를 Decoupling condenser 또는 Bypass condenser라고 부르며, 보통 전원선의 주변에 병렬로 길게 깔아 놓기도 합니다.음.. 쉽지요?
 
 AC와 DC의 정의를 저 나름대로 다시 하고 넘어가야 할 것 같아요. DC는 주파수가 없는 띠--- 신호이지만, Digital 시스템에서 어느 정도의 AC가 섞인 것 까지는 괜찮아요. 그러니까 DC 성분과 주파수가 낮은 쪽의 AC성분, 그러니까 저주파 성분을 DC라고 부르고요, AC는 고주파 성분 그러니까, 왠만큼 높은 주파수 성분을 AC라고 불러야 할 것 같아요.           AC는 Digital System에서 보통 noise 따위로 많이 작용하고, Digital System에 좋지 않은 영향을 많이 끼칩니다. 그래서, filter라는 것도 있는거지요. 저주파 성분과 고주파성분을 분리해 내는게 필터에요. 우리 아기에게는 좋은 물만 먹여야 되니까!
            
 

by 히언 | 2009/05/24 15:36 | 하드웨어꼴라쥬 | 트랙백 | 핑백(2) | 덧글(7)

Linked at 임베디드 시스템 개발자 되기 .. at 2009/06/12 22:58

... 꼴라쥬 ⓑ 신호와 주파수 영역 - Spectrum Analysis ⓒ Analog 신호와 Digital 신호, 그리고 Ground ⓓ 초간단 회로이론 R(저항), L(인덕터), C(캐패시터) ... more

Linked at 더러운 북극토끼님의 이글루입니.. at 2015/10/07 15:34

... 그래서, filter라는 것도 있는거지요. 저주파 성분과 고주파성분을 분리해 내는게 필터에요. 우리 아기에게는 좋은 물만 먹여야 되니까! 출처 : http://recipes.egloos.com/4968642 ... more

Commented by koyoon at 2009/06/23 18:13
그림에 오타 아닌가요??
levele? 아~ 레베루!!!
nise? 아~ 니세!!!
Commented by 히언 at 2009/06/23 21:31
으크크. levele = level, nise = noise 여야 되는데.. 수정할께요 ㄳㄳ
Commented by SMILE at 2009/07/07 12:01
두번째 구독..
Commented by 히언 at 2009/07/07 22:02
흐흐~ 조금만 기다리시면 누워서 읽을 수 있는 버전이 나와요 ~ 쬐금만 기다려주세요~
Commented by 히언 at 2009/08/03 22:43
어디가 바뀌었을까요~?
Commented by 살인미소 at 2009/08/06 19:41
회로를 그리다보면 AGND, DGND 가 있어
이에 따라 사용하는 부분이 다르던데
이 둘의 정확한 사용법과 차이에 대해서 설명, 자료 부탁드려도 될까요?
Commented by 히언 at 2009/08/06 22:04
말 그대로 Analog GND, Digital GND 말하는 거 같은데요. ㅎ
Analog 신호는 Analog 신호들의 GND에, Digital 신호는 Digital GND에 한꺼번에 모아 두고요
(Analog랑 Digital은 서로 성질이 틀려서 같이 맞물려 놓으면 서로의 신호에 영향을 줘요)
전위는 같게 해야 하니까 0옴등으로 살짜쿵 연결하는 수법을 써요.

"초간단 회로이론 R (저항) L (인덕터) C (캐패시터)" 편 읽으시면 그 말 나와요.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.

◀ 이전 페이지          다음 페이지 ▶