제 4 장디지털신호의발생 자연현상을조사하는물리측정에서측정하고자하는신호가부호화된디지털신호인경우는없습니다만물리량이계단식으로변하는경우는자주있습니다. 자성체의자화 (magnetization) 가자기장의변화에계단식으로반응하는 Barkhausen 잡음이한예입니다. 또, 주파수를측정 (count) 하는경우굳이아날로그로변하는신호일필요가없어사각파나펄스를발생시킬때가있습니다. 모든디지털회로에서사용하는시계신호 (clock signal) 가대표적인예입니다. 뿐만아니라, 정보를멀리전달하기위한목적으로잡음에덜민감한디지털신호로바꾸어전송하는경우도있습니다. 이처럼연속적인크기가중요하지않고어떤임계값을넘었는지, 넘지않았는지가중요한디지털신호가물리측정에서자주사용되므로, 그같은신호를발생시키는방법과발생된신호의특성은어떤지를알고, 디지털신호를발생시키는전자회로를이해하도록합니다. 일반적으로특정한전압의 ON/OFF 상태사이로변화가일어나는신호를디지털신호라고합니다. 실제의디지털신호파형을나타내는데는아래그림에서처럼낮은레벨 (1), 높은레벨 (2), 상승부기울기 (rising edge slope 3) 및하강부기울기 (falling edge slope 4) 를정의할필요가있습니다. 디지털논리 (logic) 신호의준위는논리회로에사용되는소재에따라서차이가납니다. 디지털신호를발생하는장치를디지털신호발생기라고합니다. 디지털신호발생기는발생하는신호의형태에따라서시계신호발생기 (clock signal generator) 펄스발생기 (pulse generator) 아날로그-디지털변환기 (analog to digital converter, ADC) 로구분할수있습니다. - 121 -
1) 시계신호발생기 (clock generator) 모든디지털측정기나회로에는시간의단위가되는시계신호 (clock signal) 가필요합니다. 시계신호로는보통 ON/OFF 상태가대칭 (50:50) 으로복무율 (duty cycle) 50% 인사각파형 일정전압, 일정주파수의신호를사용합니다. 시계신호의복무율은 ON(HIGH) 상태의시간 t(= t high) 와주기 T(= t high + t low) 의비 t/ T 로정합니다. 시계신호를발생하는회로를시계신호발생기라고하며아날로그신호발생기와마찬가지로 RC, LC 와수정결정을이용한선형발진기나완화발진기를사용할수있습니다. 여기서는우리주변에서흔히볼수있는기기에사용되는시계신호발생기를살펴봅니다. (1) 전자시계의시계신호발생기 요즘사용되는시계는거의대부분이수정결정발진회로를사용한수정시계 (quartz clock) 입니다. 수정시계의시계신호주파수는가청주파수이상이어서귀에들리지는않되 2 를조금만거듭해도시계에필요한 1Hz 가되도록 2 15 = 32768Hz 로택하고있습니다. 이주파수에서껴울림이일어나는수정결정은작은크기의소리굽쇠 (tuning fork) 형태로자른 cantilever 를사용합니다. 1 수정발진자 (quartz crystal oscillator) 시계용수정발진자는보통지름 3mm, 길이 8mm 의원통형캔안에들어있고두개의선이 나와있으며, 캔을열어보면 cantilever 에전극이입혀져있는것을볼수있습니다. - 122 -
( 수정소리굽쇠형 cantilever 발진자의 SEM 사진 ) 수정결정은 Z-cut( 즉, 굽쇠면의수직방향이결정의 c- 축 ) 으로굽쇠의길이방향이 Y- 축에 나란하며, 전극은두굽쇠의인접한두면에서로반대로입혀져있어서전압을가하면휨 (flexure) 이일어납니다. 자체진동기본진동수는굽쇠의두팔을한끝이고정된정사각형 단면의보 (beam) 로간주하여서로간섭이없다고가정하면 으로, 여기서 는보의두께 ( 단면의길이 ), 은굽쇠팔의길이, 는수정결정의영률 (Young's modulus), 는밀도입니다.,,, 을사용하면기본진동수는 임을알수있습니다. 시늉내기를 통해서찾은수정 cantilever 의낮은주파수진동모드와주파수는다음그림과같습니다. - 123 -
기본진동수다음으로낮은진동수는 181kHz 의기본비틀림 (torsion) 모드와 191kHz 의 3 차고조파휨모드인데모두기본진동수 으로부터멀리떨어져있어문제를일으키지 않습니다. Ex. 1 위 cantilever 의진동수들을유도해본다. 2 Pierce 수정결정발진기회로 시계신호발생기로는수정결정을축전기두개와함께 p- 여과기로되먹임회로에사용하는 Pierce 발진기회로를사용합니다. 뒤집기 (inverter) CMOS IC 인 4049 를 ON/OFF 변화점에서증폭율이큰뒤집는증폭기로동작시키기위해저항 R1 10MW 을되먹임저항으로사용합니다. 수정결정은축전기 C1 과함께대역통과 (band pass) 여과기를형성하여, 수정결정의공진주파수 (32.768kHz) 에서 Q 가큰인덕터역할을함으로서위상차 180 o 가생기고증폭이일어납니다. 뒤집기 IC 에의한 180 o 위상차와함께입력된신호가같은위상으로증폭되어입력으로되돌려지는형태가되어수정발진자의공진주파수로발진을하게됩니다. R2 330kW 저항은뒤집기 IC 를수정결정여과기회로와차단시키는역할을합니다. 수정발진자에는정확한주파수의발진을위해필요한회로의부하전기용량이있습니다. 이를맞추기위해가변축전기 C1 을사용합니다. 이회로를통해서 0 와 +5V 사이에서전환되는 32.768kHz 의시계신호를얻을수있습니다. Ex. 2 전자시계의수정발진기회로를살펴보고출력파형과 주파수를확인한다. - 124 -
이번에는뒤집기 IC 대신에트랜지스터스위칭회로를사용한 Pierce 발진기회로입니다. 이때도수정결정은두축전기 C1 과함께 p-대역여과기를구성하여공진주파수의신호를선택적으로 180 o 위상차를주면서증폭하여입력으로되먹임을시켜발진을일으킵니다. 출력신호는 1.5V ~ 5V 사이로변하는경사 (ramp) 파형이됩니다. Ex. 3 위전자시계의수정발진기회로를꾸며출력파형과 주파수를확인한다. 3 정확도 수정발진기를사용하는시계들사이에도서로시간이잘안맞고, 특히시간이경과하면서오차가누적되는것을경험합니다. 그이유와해결방법을생각해봅니다. 수정결정을사용한시계신호발생기의시계신호의정확도를해치는요인으로는발진주파수의부정확성과변동을들수있습니다. 1. 발진주파수의부정확성 Pierce 발진기회로에서와같이발진주파수는수정결정발진자의고유진동주파수 ( 직렬껴울림주파수, 병렬껴울림주파수 ) 와함께회로의특성 ( 축전기의전기용량, IC 의입 / 출력전기용량및회로의부유전기용량 ) 에도의존합니다. 따라서회로를꾸밀때매우정확하게발진주파수를맞춰줄필요가있습니다. 만약발진주파수가 0.01%(±3.3Hz) 틀리면시계는하루에 8.6초가틀리게됩니다. 수정진동자의역학적 Q 값이크긴 (10 4 ~ 10 5 ) 하지만무한대는아닙니다. 회로에연결시키면전기적인 Q 값은더떨어집니다. 만약수정진동자회로의 Q 값을 10 4 이라고하면발진주파수는 10-4 의내재적 (intrinsic) 인부정확도를갖습니다. 물론이것은요동치는부정확성이어서다행히오차가누적되지는않습니다. 그때그때의단위시간 (1/32768 초 ) 이 10-4 정도까지의상대요동이있다는말입니다. - 125 -
2. 발진주파수의변동시계신호발생기를만들때정확하게발진주파수를맞춘경우에도시간이지나면서발진주파수가맞춰놓은주파수로부터벗어나는경우가종종생깁니다. 주된원인은계절이바뀌면서수정결정의온도가달라져서인데, 특히결정을지정된방향으로자르지못한경우주파수변화가심합니다. 수정발진자의온도가변하면열팽창에의해길이등크기도달라지고, 영률이나밀도가달라지기때문에같은결정이라도공진주파수가변하게되어발진주파수에변화가생깁니다. 정확히자른발진자의경우 5 o C ~ 35 o C 의온도범위에서발진주파수는 ±6ppm 이내의변화를합니다. 즉, 온도에따른시간오차는 1달에 ±15초이내입니다. 회로의온도변화에따른축전기나 IC 등의전기용량의변화를감안하면이수치는더커질수있습니다. 전원 ( 전지 ) 전압의변동도발진주파수변화의원인이될수있습니다. 예를들어 Pierce 발진회로를보면출력시계신호의 ON/OFF 변환점을되먹임저항 ( 바이어스저항 ) R1 으로정해주는데, 전원전압이바뀌면바이어스전압이바뀌어서변환점의위치가조금달라질수가있습니다. 발진주파수가변하면시계가읽는시간에도오차가생기게됩니다. 3. 해결방법이러한문제들의해결방법으로는정확하게자른수정진동자를써서정확하게맞춘주파수로발진시키고, 수정진동자와발진회로의온도와전원전압의변동이생기지않도록하는것입니다. 그러나그러기에는비용이많이필요하여, 오차가생기지않도록하는방법보다는생긴오차를교정하는방법을택합니다. 수정진동자의진동수를특정한주파수에맞출때도과거에는전극을입히는두께를조정하여 (mass loading 효과 ) 진동수의미세조정을했지만, 지금은그보다비용이싼억제보상 (inhibition compensation) 방법을사용합니다. 즉, 일부러조금높은주파수의진동수를갖는수정진동자를만든다음, 일정시간동안에주파수차이에해당하는만큼의주기를건너뛰도록시계회로를구성합니다. 수정진동자와회로의온도변화를보상하는데도같은방법을사용합니다. 온도를측정하여해당하는주파수변화만큼을보상하도록건너뛰는주기를조절합니다. 이런방법으로온도가보상된수정시계는 1년에 ±5 ~ ±25 초의오차를갖습니다. Ex. 4 가지고있는전자시계의부정확도를알아내고시계 신호의주파수를측정하여비교한다. - 126 -
(2) PC 용시계신호발생기 컴퓨터 mother board 에도시계신호발생기가있어서중앙처리장치 (central processing unit, CPU), 전면 bus(front-side bus, FSB), 그래픽처리장치 (graphics processing unit, GPU), 무작위취득기억장치 (random access memory, RAM) 등에시계신호를공급합니다. 이시계신호발생기는사용자나기본입출력장치 (basic input/output system, BIOS) 에의해 시계신호주파수를바꿀수있도록 programmable clock generator 인점이특징입니다. (ICS 952018AF clock generator IC 와 14.318MHz 수정발진자 ) - 127 -
1 Winbond W83196S-14 100MHz Clock W83196S-14 는고속 reduced instruction set computing(risc) 또는 complex instruction set computing(cisc) 마이크로프로세서에필요한모든시계신호를제공하는시계신호합성기입니다. 특성은 2개의 CPU 시계신호와 7개의 peripheral controller interface(pci) 동기시계신호를발생시키며, 12 set 의다른 CPU 주파수들을선택할수있습니다. 3.3V 전압에서작동하며, 14.318MHz 수정발진자를사용하고, 24MHz(super I/O 용 ) 와 48MHz(USB 용 ) 의고정된주파수 reference 신호를출력합니다. 내부구성은아래그림과같습니다. 28-pin small outline package(sop) 형태이고, 각 pin 의구성과역할은다음과같습니다. - 128 -
- 129 -
- 130 -
(3) Laptop 컴퓨터용시계신호발생기 Laptop 컴퓨터에서도시계신호발생기를사용합니다. 또, 전지를기본전원으로사용하는 laptop 의특성상전력소모를줄이고, 필요치않은열의발생을최소화하기위해 CPU 시계신호의주파수를수시로바꾸는 dynamic frequency scaling( 또는 CPU throttling) 기술을적극적으로사용합니다. 다음은 laptop 컴퓨터의구성을보여주는한가지예입니다. - 131 -
1 시계신호발생기 ICS9LPRS387 Laptop 컴퓨터용시계신호발생기의한예로 Acer laptop 등에서사용하는 ICS9LPRS387 ( 또는 SLG8SP556V) 의주변회로일부를소개합니다. Pierce 발진기회로로쓰이는수정발진자 Y2(14.31818MHz) 와 C353(27pF), C354(27pF) 가보이고, 시계주파수선택신호입력에따라서다음과같이주파수가바뀝니다. - 132 -
2) 펄스발생기 (pulse generator) 펄스란낮은레벨 ( 보통 0V) 에서빠르게높은레벨 ( 보통 ~ 5V) 로바뀐다음일정시간뒤에 다시낮은레벨로빠르게돌아오는형태의파형을가리킵니다. 전압 V p 0 t p 시간 높은레벨과낮은레벨의차이 V p 를펄스의높이 (height) 라고하고, 높은레벨이유지되는시간 t p 를펄스의폭 (width) 이라고부릅니다. 이같은펄스는 1회발생하는것으로끝날수도있고, 일정한시간간격으로거듭해서생길수도있는데후자의경우반복되는시간을펄스의주기 (period) 라고합니다. 거듭이되는펄스는사각파의특수한형태라고할수도있습니다. 실제펄스에서는레벨사이에전이 (transition) 가일어나는데 0 이아닌시간이걸리는데이시간을상승시간 (rise time) 과하강시간 (fall time) 이라고하며, 보통은전이가 0.1 V p 에서 0.9 V p 로 ( 또는 0.9 V p 에서 0.1 V p 로 ) 변하는데걸리는시간으로정합니다. 또, 펄스의형태가사각형이아닌다른형태 ( 예 : 가우스형태 ) 를취할수도있습니다. 펄스를발생하는장치나회로를펄스발생기라고합니다. 간단하게는 RC 완화발진기회로를이용한펄스발생기로부터, 여러채널의복잡한펄스를프로그램해서출력할수가있는펄스프로그래머, 타이밍시뮬레이터까지다양한방법이쓰이고있습니다. (1) 펄스발생기회로 간단한펄스발생기회로몇가지를소개합니다. 1 트랜지스터를사용한슈밑트리거 (Schmitt trigger) 회로슈밑트리거란비교기에서 ON OFF 문턱과 OFF ON 문턱이다른이력특성 (hysteresis) 을갖는스위칭회로입니다. 이렇게함으로서이력특성이없는비교기에비해서잡음에의한영향을덜받고따라서시계신호의경우더안정된주파수의펄스를발생할수있습니다. - 133 -
트랜지스터슈밑트리거회로는에미터저항 R E 를공유하는두 NPN 트랜지스터 T1 과 T2 로이루어집니다. 입력전압 V in < 0.7V 이어서 T1 이 OFF 되었을때전압분배기회로 R c1, R 1, R 2 에의해서정해진베이스전압으로 T2 가 ON 되면출력전압 V out 은 LOW 가되고, 에미터저항 R E 양단에전압강하 V RE 가생겨 T1 의 OFF 상태를유지합니다. 저항 R 2 는충분히커서 T2 가 ON 상태를유지하도록합니다. 이제입력전압이증가하여 V in > V RE + 0.7V 가되면 T1 이 ON 상태가되고 R c1 에의한전압강하가증가하여, T2 가 OFF 상태로바뀌며출력전압 V out 은 HIGH 로전환됩니다. 입력전압이다시낮아지면 V in < V RE + 0.7V에서 T1 은 OFF 되고, T2 가 ON 되면서출력전압이 LOW 로바뀝니다. 이때 R c1 > R c2 로택하면, T1 이 ON 되었을때와 T2 가 ON 되었을때의 V RE 값이달라져서, V in 이증가할때의문턱전압과감소할때의문턱전압에이력이생기게됩니다. 슈밑트리거는쌍안정다진동기 (bistable multivibrator) 이어서되먹임입력회로에 RC 충전 / 방전회로를넣어주면완화발진기로도사용이가능합니다. 아래회로에서는 Q1 과 Q2 가같은에미터저항을공유하고있어서, 하나가 ON 되면다른쪽은 OFF 되는진동기역할을하고, Q3 는 Q2 에의해서조정되어사각파형을출력시키는역할을합니다. Rf 와 C 에의해서결정되는충전, 방전시간 T1, T2 및 T3 에의해사각파형의폭이정해지며, R6 와다이오드의직렬연결을 Rf 양단에연결시키면 ( 그림의경우 ) 방전시간을짧게할수있어서펄스형태의신호를출력시킬수있습니다. Ex. 5 위회로의소자들을택하고, 꾸며서특성을확인한다. - 134 -
2 OP amp 를사용한펄스발생기회로 다음은일반용도로자주사용되는 op amp 인 741 IC 를사용한완화발진기로사각파를발생시킵니다. 사각파형의주기는축전기 C1 의전기용량과저항 R4, R5, R6 및 R7 의저항값들로정할수있고, 폭은저항 R1, R2 와 R3 에의해서정해집니다. IC 의 pin 3 ( 안뒤집는입력 ) 로부터접지나전원전압사이에같은저항값을갖는경우에출력파형이대칭 ( 복무율 = 50%) 이됩니다. IC 전원으로는 +5V ~ +15V 범위에서택할수있습니다. Ex. 6 위회로의사각파형의시간들이어떻게결정되는지유도해보고 회로를꾸며저항값의변화에따라달라지는파형을확인한다. 3 NAND 게이트를사용한펄스발생기회로 논리회로 IC 중에는슈밑트리거입력회로를같고있는것들이있습니다. 4093 IC 는 quad 2-input NAND Schmitt trigger 입니다. IC 전원은 +3V ~ +15V 사이에서택할수있고, 4개의게이트는서로독립적으로작동합니다. IC 의 pin 번호와 NAND 게이트의입출력표 (truth table) 는다음과같습니다. 여기서 0 은 LOW, 1 은 HIGH 를가리킵니다. 참고로 NAND 게이트는 AND 게이트의반대로출력을한다고보면됩니다. - 135 -
보통의 CMOS 논리게이트들은한가지의문턱전압을갖습니다. 즉, 입력전압이 1/2 V DD ( 전원전압 ) 이하이면 0, 1/2 V DD 를넘으면 1 로간주합니다. 슈밑트리거입력에서는두문턱전압이차이가납니다. Ex. 7 아래회로와같이 4093 IC 의한쪽게이트의두입력을함께묶어서 입력전압을변화시키면서슈밑트리거입력의문턱특성을살펴본다. NAND 게이트의두입력을함께묶었을때의입출력표는 이어서슈밑트리거입력을갖는 NAND 게이트의경우에입력전압에따른출력전압의변화는다음의측정예에서와같이입력전압을증가시키면서측정할때와감소시키면서측정할때서로다른값을갖는이력특성이나타납니다. - 136 -
슈밑트리거기능을갖는 NAND 게이트를사용하면 (NOT, NOR 등다른뒤집는게이트도마찬가지로적용됨 ) 간단하게불안정다진동기 (astable multivibrator) 를만들수있습니다. 다음은 4093 슈밑트리거 NAND 게이트 IC 의한쪽게이트를사용한불안정다진동기회로입니다. 이회로에전원을넣으면 1mF 축전기가충전되어있지않으므로게이트의입력전압이 0V 이고, 따라서게이트출력은 HIGH(~ +9V) 가됩니다. 이출력전압은트랜지스터를 ON 시켜 LED 에빛을내고, 1MW 저항을통해축전기에충전을시작합니다. 충전이진행되어게이트입력전압이높은쪽문턱전압 (~ +6V) 을넘어서면서게이트출력은 LOW(~ 0V) 로바뀌면서트랜지스터도 OFF 되어 LED 빛이꺼지고, 축전기는 1MW 저항을통해방전을시작합니다. 방전이진행되어서게이트입력전압이낮은쪽문턱전압 (~ +3V) 에다다르면 - 137 -
게이트출력이다시 HIGH 로바뀌고축전기는충전이되는과정을반복하게됩니다. 실제게이트에서의문턱전압은전원전압이나사용하는게이트에따라서달라집니다. 두문턱전압 V T- 와 V T+ 를각각출력전압 V o 의 1/3 과 2/3 이라고하면, 충전과방전에 걸리는시간은각각 로서, 따라서출력되는전압파형의주파수는 입니다. - 138 -
Ex. 8 위슈밑트리거 NAND 게이트불안정다진동기회로의 발진주파수를유도하고회로를만들어서확인해본다. 위회로에서와같이 NAND 게이트의두입력을한데묶는것은스위칭이일어날때입력 전류를많이흐르게하는단점이있습니다. 아래와같이한입력을전원전압에연결하고, 나머지입력만축전기에연결시키는방법을쓸수있습니다. 그러나이회로에서 LED 를게이트출력전압으로직접구동시키는것은출력전류가많이흘러서게이트에무리를주게됩니다. 먼저회로에서와같이트랜지스터를써서 LED 를구동하고게이트출력전압으로는트랜지스터를 ON/OFF 시키는것이좋습니다. 위회로들에서의출력과같이복무율이 50% 인사각파를변형시켜펄스로만들기위해서간단히는아래와같이 RC 회로와슈밑트리거를씁니다. Ex. 9 위슈밑트리거 NAND 게이트펄스성형기의특성을확인한다. - 139 -
4 555 Timer IC 를사용한펄스발생기 555 timer IC 의용도중불안정다진동기 (astable multivibrator) 또는자유구동다진동기 (free-running multivibrator) 로의응용을위해축전기 C 1 과저항 R 1, R 2 를추가합니다. 축전기 C 2(10nF) 는 decoupling 축전기입니다. 출력되는신호 ( ) 의주파수는 이고, 높은전압으로있는시간 (HIGH 상태의폭 ) 과낮은전압으로있는시간 (LOW 상태의 폭 ) 은각각 입니다. 복무율 (duty cycle) 은 - 140 -
입니다. 저항 R 1 은 1kW 이상으로택해야 555 IC 를손상시키지않기때문에위회로의복무율은 > 50% 가됩니다. 복무율이더적은펄스를얻기위해서는 NAND 게이트같은뒤집는게이트를써서출력신호의파형을뒤집어줍니다. RC 완화발진기형태의펄스발생기에서는전원을켰을때처음으로발생하는펄스의 HIGH 상태의폭은다음펄스들의폭보다 ~1.6배깁니다. 그이유는처음에만축전기가완전히방전된상태로부터충전이이루어지고, 다음부터는부분적으로방전된상태로부터충전이시작되기때문입니다. 다음은이문제를해결하는회로를추가시킨것입니다. 위회로의전원스위치를켠직후에는축전기 C2 가완전히방전된상태로 MOSFET Q2 의게이트전압이낮아 Q2 가 ON 되고 Q1 도 ON 됩니다. 따라서축전기에는 Q1 과 R3 를통해서빠르게충전이이루어집니다. 축전기에충전된전압이 1/3 Vs 로증가하면서 Q2 가 OFF 되고 Q1 도 OFF 되어축전기는 1/3 Vs 와 2/3 Vs 사이에서정상적으로충전과방전이일어납니다. 이후축전기의전압이 1/3 Vs 이하로는떨어지지않기때문에 Q1 과 Q2 는계속 OFF 된상태로남아있게됩니다. 저항 R5 와 R7 은축전기전압이 1/3 Vs 에가까워질때 Q2 가 OFF 되도록 R5/R7 비를택하되가급적큰저항값으로취합니다. - 141 -
(2) 펄스프로그래머 펄스핵자기공명 (pulsed nuclear magnetic resonance, pulsed NMR) 실험과같이여러개펄스를각기다른시간에다양한시간폭으로발생시켜야하는경우가있습니다. 이같은용도에사용하기위해서펄스열 (pulse sequence) 을마음대로발생할수있는장치가펄스프로그래머입니다. 펄스프로그래머로는시계신호를발생시켜신호를카운트해서시간을정하는방법이쓰이는데, 근자에는이를컴퓨터 (pc) 나마이크로프로세서또는 field programmable gate array(fpga) 를써서직접합성하는방법도사용합니다. 먼저개개의 IC 를사용한펄스프로그래머의한예를살펴봅니다. 아래회로는시계신호발생회로, 펄스폭 (pulse width) 과반복시간 (pulse interval) 을정하는 decade counter 로구성되어있습니다. 시계신호는 10MHz 수정발진자를사용한 7400 NAND 게이트 IC 의 TTL 발진회로로발생시키며, 10진또는 2진카운터 (decade and binary counter) 인 7490 IC 에의해 1MHz 의 TTL 신호가펄스반복시간조절회로에공급됩니다. 펄스폭조절회로에는 10MHz 또는 1MHz 의 TTL 신호를 single-pole-single-throw(spst) 스위치로선택하여공급하는데, 이는시간분해능을 0.1ms 또는 1ms 로바꿀수있게하기위함입니다. - 142 -
Ex. 10 7400 NAND 게이트들에의해시계신호를 10MHz 와 1MHz 사이로전환 ( 스위치 ) 할수있음을확인해본다. 7490 IC 는 4 개의 negative edge triggered JK flip-flop 과게이트들로이루어진카운터 IC 로서 dual-in-line(dip) 포장의핀접속과내부의논리회로구성은다음과같습니다. 이 IC 를 10 카운터 (divide-by-ten counter) 로사용하기위해서는 Q D 출력 (11번 pin) 을입력 A(14번 pin) 에연결시키고, 카운트를하려는신호는입력 B(1번 pin) 에입력시킵니다. (-) edge triggered JK flip-flop 은아래표와같이 J, K 입력의상태에따라입력신호가 1(HIGH) 0(LOW) 로전이할때 set(q 출력 HIGH), reset(q 출력 LOW), hold(q 출력유지 ) 또는 toggle(q 출력뒤집힘 ) 되는특성을갖습니다. - 143 -
Ex. 11 7490 IC 를 10 카운터로사용할때출력 Q A(12번 pin) 에주파수가 1/10 로줄어든사각파형의신호가출력되는것을아래표를따라서확인해보고함수발생기의사각파를입력시켜서조사해본다. 한편, 2 진 (binary) 또는 10 진 (decade) 카운터로사용하기위해서는 7490 IC 의 Q A 출력 (12 번 pin) 을입력 B(1 번 pin) 에연결시키고, 카운트를하려는신호는입력 A(14 번 pin) 에 입력시킵니다. 이때카운트를위한 reset 입력과각 flip-flop 의출력은다음과같습니다. - 144 -
펄스폭의조절은 7490 10 진카운터 (decade counter) 와연결된 3 개의 positive true BCD thumb wheel dial 스위치에의해전면판넬에서 1~999ms 또는 0.1~99.9ms 의범위에서 각각 1ms 와 0.1ms 간격으로조정되며, 두개의 hex buffer IC 7407 이사용되었습니다. Ex. 12 7490 IC 세개를 10 진카운터로사용한펄스폭조절회로가 1~1000 카운터의역할을하는것을확인해본다. 펄스의출력은 7400 IC 게이트들을사용한 RS flip-flop 에의해이루어집니다. SET(S) 와 RESET(R) 의입력신호들사이의시간간격이펄스폭이되고, single-pole-doublethrow(spdt) 스위치에의해전면판넬에서 (+) 또는 (-) TTL 펄스를선택하여출력할수있습니다. 이 flip-flop 의 SET(S) 신호는스위치, NAND 게이트, 74121 단안정다진동기 (monostable multivibrator) IC 를통해서외부 (EXT Trigger) 또는내부 (Pulse Interval 조정회로 ) 에서트리거를할수있도록선택할수가있습니다. 같은단안정다진동기 IC 의다른출력 (Q) 신호를외부장치의동기화를위한트리거신호 (Triger Out) 로출력합니다. 펄스반복시간의조절은 MIC 5009 10 n 카운터 IC 와 3개의 7490 10 카운터 (decade counter) IC 에의해서이루어지는데, BCD thumbwheel dial 스위치에의해전면판넬에서 3자리의유효숫자와지수 n 을정해줍니다. 펄스반복시간의조절범위는 1ms 에서부터 999 10 3 s 까지입니다. 다음사진은펄스폭이 0.2ms 인출력펄스의모양을관찰한오실로스코프화면으로수평축 ( 시간축 ) 은 50ns/cm, 수직축 ( 전압축 ) 은 1V/cm 이고, 이로부터구한출력펄스의상승시간 (rise time) 은약 90ns, 하강시간 (fall time) 은 20ns, 출력펄스와트리거출력신호와의지연시간 (delay time) 은 < 20ns 입니다. - 145 -
또, 실제제작된펄스프로그래머의전면판넬과내부구조는아래사진과같습니다. (20cm 24cm 8cm) 케이스를사용하여제작된펄스프로그래머의전면판넬과내부 1. 전원스위치 2. 펄스폭분해능스위치 3. EXT/INT 트리거스위치 4. 펄스반복시간조절 thumbwheel 스위치 5. 펄스반복시간 ( 지수 n) 조절 thumbwheel 스위치 6. 펄스폭조절 thumbwheel 스위치 7. 출력펄스극성스위치 8. 펄스출력 BNC 9. 트리거출력 BNC 10. EXT 트리거입력단자 A. 전원부 B. 펄스발생부 - 146 -
이펄스프로그래머를확장하여두번째펄스와세번째펄스를발생시키기위해서는아래그림과같이먼저회로의점선부분들을추가합니다. 첫번째출력펄스를이용하여두번째펄스, 또두번째펄스를이용하여세번째펄스의폭과시간간격을순차적으로제어해주는방법으로점선부분은각각첫번째펄스발생회로의부분 A, B 와 C 에해당합니다. - 147 -
위회로는편리하게펄스폭과반복주기를조절할수있는반면에여러펄스를동시에제어하기에는어려운점이있습니다. 이를위해서는컴퓨터나마이크로프로세서를써서제어하는방법을사용합니다. 예를들면아래그림과같이 16개의펄스열을독립적으로 HIGH/ LOW 상태로 100ns 시간간격 ( 이경우는 10MHz 시계신호를사용 ) 으로조절합니다. 이같은펄스프로그래머기능을구현하기위해다양한회로들이사용됩니다. 예를들어다음은 pc 를써서위의펄스열들을프로그래밍하는장치의구조도와실체사진입니다. PC 에의해프로그래밍된데이터 (16 bit PERIODS & STATES) 는프린터인터페이스 (printer interface, PIF) 를통해펄스프로그래머의 S-RAM 에기록되고, DOWN COUNTER 와 LATCH 에의해펄스열을합성하여, 16개의 BNC 출력단자로출력하는구조입니다. - 148 -
요즈음은아예펄스프로그래머를디지털주파수합성기 (direct digital synthesizer, DDS), 디지털수신기, PC 인터페이스등과함께한 field-programmable gate-array(fpga) 칩에 구현하는방법도출현했습니다. 그림에서 PPG 가펄스프로그래머회로로서 FPGA(EP2C70F672C8, Altera) 에들어있고, PPG 인터페이스를써서 pc 로부터 VHDL 코드로작성됩니다. 100MHz 시계신호와 40-bit 타이머-카운터를사용하여 10ns 의시간간격으로 2 40 10 ns > 10 4 s 까지의시간조정이가능하고, 32-bit loop 카운터하나와 16-bit loop 카운터두개를함께사용하여 2 64 번까지의 iteration 도가능합니다. 펄스출력은 64개여서 Sampling Trigger(ST), - 149 -
Receiver Gate(RG), Phase-Tuning Word(PTW), Amplitude-Tunning Word(ATW) 등의조정에사용됩니다. FPGA를사용하면상당히 compact 한크기에더큰기능을수용할수있습니다. (3) 문자발생기 (word generator)/ 타이밍시뮬레이터 (timing simulator) 임의파형과복잡한시계신호형태를출력할수있는디지털문자발생기 / 타이밍시뮬레이터모듈이나장치가있습니다. 디지털문자발생기는고정된출력시계신호주기로문자열 (ON/OFF sequence) 을나란히 (parallel) 출력하는기능이고, 타이밍시뮬레이터는임의의디지털신호를전이 (transition) 사이의시간차만지정하면 100ns(= ) 의분해능으로출력하는기능입니다. ( 문자발생기출력의한예 ) - 150 -
( 타이밍시뮬레이터출력의한예 ) 다음은 16 찬넬 10MHz 디지털문자발생기 / 타이밍시뮬레이터모듈인 C&H Technology MA202 의사진과내부기능을나타내는그림입니다. - 151 -
3) 아날로그 - 디지털변환기 (analog to digital converter, ADC) 물리측정에서디지털신호는대부분아날로그신호를디지털화하여얻어집니다. 디지털화하는이유는신호를컴퓨터로받아들여서연산, 푸리에변환등처리작업을하고기록하는경우가많은데이때디지털화된데이터들을사용하기때문입니다. 이를위해서사용하는회로나기기가아날로그-디지털변환기 (ADC) 입니다. 다양한 ADC 방법들이존재합니다만, 기본적으로는시간에대한연속함수인아날로그신호를시간과크기 ( 주로전압 ) 모두일정간격으로양자화 (quantization) 시키는것입니다. ( 정현파신호의아날로그 - 디지털변환 ) 측정시간에대한양자화를추출 (sampling) 이라고하는데, 추출율 (sampling rate) 이매우 빠르면크기만양자화시킨것이되고, 크기양자화단위인계단 (step) 이매우작으면측정 시간만양자화시키는것이됩니다. - 152 -
( 추출율이클때의 AD 변환 ) ( 계단이작을때의 AD 변환 ) 따라서 AD 변환을하면어쩔수없이양자화에따른오차가생깁니다. 이양자화오차 (quantization error) 는추출율을빠르게하고계단을아주작게하면줄일수있습니다. 디지털화한신호의크기는 2진수 (binary) 형태로변환하므로계단의개수는 ADC 의 bit 수 n 에대하여 2 n 이됩니다. 따라서계단의크기는 ADC 가다룰수있는아날로그신호의범위 (full scale range) 의 1/2 n 이기때문에 ADC 의 ( 전압 ) 분해능은 bit 수로나타냅니다. 다음그림은 3bit ADC 의입력신호 ( 검은선 ) 와디지털화시킨 ADC Code 사이의차이를보인것입니다. 3bit ADC 이기때문에최소 bit(least significant bit, LSB) 는범위 E FSR 의 1/8 = 0.125 입니다. 여기서 V RefLo 는디지털로변환되는최소전압이고, E FSR = V RefHi - V RefLo 인데, V RefHi 는최대전압입니다. 위의경우 V RefLo = -0.5 LSB, V RefHi = +7.5 LSB입니다. 따라서양자화오차는신호의크기 ( 전압 ) 에따라서달라집니다. 계단높이 (LSB) 를 D 라고하면입력전압에대한오차는다음과같이주기적으로변화합니다. - 153 -
아날로그신호의크기가 LSB(D) 보다매우커서양자화오차가신호에무관하고, 고르게 분포된경우양자화오차의평균은 0 이고, 표준편차 (rms 값 ) 는 으로 3 bit ADC 의경우에는최대스케일범위의 3.6% 에달하지만, 8bit ADC 에서는 0.11%, 12bit ADC 에서는 < 10-2 % 로무시할만한크기로줄어듭니다. Ex. 13 위 rms 양자화오차를유도한다. 일반적인전압신호의 (2bit) 양자화에대해서보면다음그림과같습니다. 신호대양자화잡음비 (signal-to-quantization-noise ratio, SQNR) 는 입니다. - 154 -
아날로그-디지털변환방법에는 Parallel or Flash ADC Counter or Tracking ADC Successive Approximation ADC Dual Slop Integrating ADC Voltage to Frequency ADC Software Implementation Shaft Encoder 등이있습니다. 여기서는가장빠른변환속력을갖는 Parallel(Flash) ADC, 가장보편적인 Successive Approximation ADC, 가장간단한 Integrating ADC 를살펴봅니다. (1) 직접변환 (direct conversion) 방식, Parallel or Flash ADC n bit 변환을위해 2 n -1 개의비교기 (comparator) 를써서입력신호전압을 bit 별로동시에비교하여논리회로로디지털변환된코드를생성하는방법으로변환속도가매우빨라서 GHz 추출율도가능한방법입니다. 그러나 ADC 의분해능이증가하면서필요한비교기의수와회로의복잡함이급격히증가하여회로의전력소모와비용이증가하기때문에 8 bit 비교기의수 = 255) 또는그이하의분해능의비디오, 레이더, 디지털오실로스코프용으로주로사용됩니다. 각각의비교기에가해지는표준전압은,,,,..., 이어서 n bit 2 진수의각숫자의문턱전압에해당합니다. 이를 2 진수로표시하는논리회로 - 155 -
(encoder) 를거치면입력전압에대한디지털출력이이루어집니다. 한예로 3 bit flash ADC 회로를소개합니다. 대신에내림 ) 설정되었음에유의합니다. 각각의 2 진수의문턱전압이다르게 ( 반올림 위에서사용한게이트는 XOR 게이트로서두입력이같지않을때만 TRUE(HIGH 출력 ) 가 됩니다. (XOR 게이트의입출력표 ) Ex. 14 위의 3 bit flash ADC 의 8-to-3 line 다이오드 encoder 의작동을확인한다. 또, NAND 게이트를사용한 2 bit flash ADC 의예입니다. 비교기의개수를하나더사용 했고, 비교기가 HIGH 상태에묶이는것을방지하는 bubble error correction 회로가추가 되어있습니다. - 156 -
Ex. 15 위 2 bit flash ADC 의 NAND 게이트 encoder 의작동을확인한다. 물론 flash ADC IC 들이있어서편리하게이용할수있습니다. 한예로 ADC 207 은 CMOS VLSI 로 20MHz 추출율 (sampling rate) 에 12ns 추출시간 (sampling time) 을갖고 7 bit flash AD 변환을합니다. 129 개의저항사다리 (resistor ladder) 와 128 개의비교기를내장하고있습니다. - 157 -
다른 ADC IC 들도있어서필요에맞는것으로선택하여사용하면됩니다. (2) Successive Approximation ADC 이형식의 ADC 는비교기하나를써서입력신호전압의범위를점차좁혀가며비교하는방법으로디지털신호로변환시킵니다. 점진적근사기록기 (successive approximation register, SAR) 와디지털-아날로그변환기 (digital-to-analog converter, DAC) 를내장하고있고중, 고속 ADC 로가장흔히쓰이는방식입니다. 예를들어 0~16V 범위를갖는 4 bit ADC 에서 5.5V 의신호가입력되면 SAR 은범위의중간값인 8V 에해당하는디지털코드를출력하고, DAC 에의해아날로그전압 8V 로바뀌어비교기의안뒤집는입력단자로입력시킵니다. 추출 / 유지 (sample & hold, S/H) 된입력신호와비교하여비교기출력인 (+) 전압이 SAR 에가해지면 SAR, DAC 는다음번낮은범위 (0~8V) 의중간값인 4V 를출력합니다. 이제비교기출력이 (-) 전압으로되기때문에 SAR 은다음번높은범위 (4~8V) 의중간인 6V 를출력하고, 다음은 5.5 V 등의순서로실제입력전압을찾아가고, 그과정에서 SAR 에기록되는해당하는디지털코드를출력시키는방법입니다. n-bit AD 변환을위해서는 n 번의비교가필요합니다. - 158 -
(4 bit successive approximation ADC SAR 의작동예 ) 이형식의 ADC 는비교기를하나만사용하기때문에고분해능 (large bit), 고정확도의 AD 변환이가능하고전력소모가작으며크기도작은것이장점입니다. 그러나상대적으로추출율 (sampling rate) 이낮고, 내장된디지털-아날로그변환기 (DAC) 회로가함께정확해야할필요가있습니다. 처음사용된 Successive Approximation ADC 중에는낱개의비교기 IC, 게이트 IC 및 DAC 를조합하여만든 12-bit, 10ms 추출시간 (sampling time) 의 ADC-12U 가있습니다. 여기서는 successive approximation algorithm 을구현시키기위해 14개의 7400 계열의게이트들이사용되었으나곧, successive approximation register(sar) 논리 IC 로대체가되었습니다. (Analog Devices ADC-12U 12-bit, 10ms SAR ADC) 이어서크기가많이줄어들고시계신호발생기, 표준전압, 입력완충증폭기 (input buffer - 159 -
amp) 들을내장한 hybrid 형태와 monolithic IC 형태의 SAR ADC 들이출현하였습니다. (Analog Device AD572 12-bit, 25ms hybrid ADC) (Analog Device AD574 12-bit, 35ms monolithic IC ADC) - 160 -
근자에는 CMOS 제조과정을통해여러찬넬의다중변환이가능하고자동교정등디지털기능이포함된다양한 SAR ADC IC 들이나와있습니다. 이들을사용하여 18-bit, 2mega-sampling per second(msps) 정도의 AD 변환이가능합니다. (3) Dual Slop Integrating ADC 입력신호 ( 전압 ) 를적분기로일정시간동안적분한뒤반대부호의일정한전압을적분기에가하여상쇄시키는데필요한시간을시계신호의주기로계수하여디지털화하는방법으로, 추출율이높으면서도회로가간단하여디지털전압계등에많이사용되는 ADC 방법입니다. 적분시간을길게하면분해능이증가하나추출율이낮아지고, 반대로짧게하면추출율은증가하지만분해능이낮아집니다. 시간 동안일정한전압 을가한적분기의출력전압은 - 161 -
, 으로부터 입니다. 이제스위치를옮겨서시간 동안 전압을가하면 으로부터, 입니다. 이될때까지의시간을 로택하면, 입력전압은 가됩니다. 이때시간 는시계신호의주기의개수로카운트되므로, 이 ADC 의분해능은 full scale 신호가입력될때 ( ) 2 n 하면 개의주기가필요하여시계신호의주파수를 라고 이어서, full scale 입력신호의변환에필요한시간은 - 162 -
이됩니다. 예를들어 10MHz 시계신호로 16-bit 변환을할때걸리는시간은 13ms 로추출율이 76SPS 밖에되지않지만, 10-bit 변환으로분해능을줄이면변환시간이 0.2ms 로추출율은 4.9kSPS 가됩니다. 이같이변환시간과분해능사이의주고받는상관관계는이방식의 ADC 가갖는속성입니다. 측정속도가느려도좋으나고분해능을필요로하는용도에적합하여 LCD 나 LED 표시장치의드라이버, 디지털멀티미터등휴대용기기에서많이사용됩니다. 다음은널리사용되는 3-1/2 digit integrating ADC IC 인 7106(LCD 용 ) 과 7107(LED 용 ) 의여러가지 pin 배치형태입니다. - 163 -
다음은 7106 ADC 의내부구조도입니다. 시계신호는세가지방법으로발생시킬수있습니다. 첫째는외부신호원 (EXT OSC) 을 pin 40 에입력시키는것이고, 둘째는수정결정편 (Crystal) 을 pin 39 와 pin 40 의사이에연결하는것이고, 다른한가지는 RC 네트웍을 pin 38, 39, 40 에연결시키는것입니다. 외부에서표준전압을공급하기위해서는다음의제너다이오드정전압회로를사용합니다. - 164 -
다음은 7106 ADC 를사용한디지털전압계의한예입니다. 3-1/2 digit 200mV full scale 로초당 3 회의측정 (update) 을합니다. Ex. 16 전자학및계측론실험에사용하는디지털멀티미터의 ADC 타입을확인하고, ADC 회로를찾아본다. 이외에도여러가지성능의 integrating ADC IC 들이존재하여선택해사용하면됩니다. - 165 -
4) 디지털신호발생시주의사항 측정에필요한 ( 디지털 ) 신호를발생하는회로를제작하거나펄스프로그래머와아날로그 - 디지털변환기를사용할때몇가지주의할점을정리합니다. 1. 시계신호나펄스의주파수, 높이뿐아니라복무율 (duty cycle) 과상승시간 (rise time), 하강시간 (fall time) 도중요하며안정되어야함시계신호나펄스와같이사각모양파형의경우매우큰주파수성분도포함하고있기때문에낮은주파수만통과시키는여과기능이있는회로를거치면파형이날카롭지못하게됩니다. 또, 유도성 (inductive) 의회로에서는파형의모서리에진동성분이포함되기도합니다. 이들요인에의해상승시간, 하강시간및복무율에도영향이미치게됩니다. 시계신호나펄스의경우파형이날카롭게변하지못하면시간지정 (timing) 에문제를일으킬수있습니다. 시계신호발생기의경우에도아날로그신호발생기의경우와마찬가지로수정발진회로가안정된주파수특성을갖고있어서거의예외없이사용됩니다. 수정발진자를사용한발진회로의경우수정편의 cut 방향과크기및모양, 전극이입혀진방식에따라서다른진동모드들이활성화됨에유의해야합니다. 회로의구성이나소자값에따라서도발진주파수가변할수있음에주의합니다. 2. 아날로그-디지털변환에서생길수있는여러오차 (quantization error, offset, non-linearity, aperture error 등 ) 에대해주의해야함아날로그신호를디지털화할때내재적으로생기는양자화오차외에도디지털화된출력신호가입력신호로부터벗어나는 offset, non-linearity 등이오차의원인이됨을이해해야합니다. Aperture 오차란시계신호의주파수요동 (jitter) 에의해서 sample 을하는시간이변함에따른오차와 sample을하는동안실제신호가변함에반하여디지털신호는일정한크기를유지 (sample and hold) 시키는데따른차이를말합니다. Aperture 오차는직류신호에서는없고, 주파수가낮은경우에는작지만, 주파수가크고신호크기가큰입력의경우에무시할수없게됩니다. 3. 디지털 sampling 시발생할수있는 aliasing 을이해하고, dithering 과 oversampling 방법에대해알고있어야함 ADC 나디지털오실로스코프에서와같이디지털추출 (sampling) 을하는경우주기적으로빠르게변하는신호를느린주기로 sampling 을하면실제신호와는전혀다른아주느린주기의신호로출력되는데, 이를 aliasing 이라고합니다. Alias 된신호의주파수는입력신호의주파수와 sampling 주파수의차이입니다. 입력신호에 sampling 주파수의 1/2 보다높은주파수성분이있으면 ADC 로입력하기전에여과 (anti-aliasing filter) 해야합니다. 또, 입력신호가약해서 1 LSB 이내일때 ADC 로입력하기전에일부러작은크기의막잡음 (random noise, white noise) 을섞어서디지털로전환한후평균을취하면신호를더잘검출할수있는데이를 dithering 이라고하며약한신호를 AD 전환할때염두에두고있어야합니다. 신호를빠르게추출한뒤여과하는 oversampling 의장점도유념합니다. - 166 -