끔 아는 분들이 작업실에 놀러오셔서 하시는 이야기가 전자회로를 공부하려면 어떻게 해야 하는가에 대한 대화를 할 때가 많습니다. 저도 전자회로에 대해서 공부를 하기 전에는 도대체 전자회로를 설계하려면 얼마나 많은 공부를 해야 할까 궁금했었지만, 사실 전자회로는 프라모델 조립이나, 레고블럭 만드는 것과 별반 차이가 없고, 난이도도 그보다 심하게 어렵지 않습니다.

 

론, 정확하고 고차원의 설계를 하려면, 어떤일이든 항상 그렇듯이 점점 어려워지겠지만, 간단한 전자시계나 취미수준의 전자회로는 독학으로도 얼마든지 가능합니다. 취미수준의 전자회로는 대부분 5V를 사용하는 회로가 일반적이고, 이런 디지털 로직들은 회로 연결이 약간 어려운 레고블럭 만들기와 유사합니다.

 

자회로를 공부하는데 있어서 가장 먼저 시도를 하는 것은 거의 LED(Light Emitting Diode) 관련한 부분입니다. 회로가 어떻게 동작을 하는지 알려면 눈에 보이는 결과가 있어야 하고, 그 중에서 가장 다루기 쉬운 부품이 바로 LED이기 때문이죠. 실제로 개조하는데 있어서 전자적인 지식이 없어도 LED 개조는 누구나 다 하더군요.

 

 

에 보이는 디스플레이가 바로 세븐 세그먼트 디스플레이, 또는 FND(Flexible Numeric Display)라고 불리우는 표시장치입니다. 편의상 앞으로 FND라고 하겠습니다. 숫자 하나당 7개 또는 8개의 LED가 들어 있어서 해당 세그먼트에 불이 들어오는 형태로 숫자 또는 문자를 표시하는 장치입니다. 4자리의 FND의 경우 총 32개의 LED를 다루게 되는 것입니다. 예전에 증권사 시황 게시판에서 많이 쓰였습니다. ^^

 

 

것은 또다른 형태의 FND로써, VFD(Vacuum Fluorescent Display)입니다. FND와 구동방식은 같지만, 원리는 다릅니다. LED로 동작되는 것이 아니라, 진공관 내부에 필라멘트를 통해서 불을 밝히는 방식으로 백열전구의 원리에 더 가깝습니다 ^^;; 이런 형식은 예전 레트로 계산기등에서 종종 볼 수 있습니다.

 

 

의 사진이 흔히 보이는 VFD입니다. 요새는 사용빈도가 줄었지만, 80년대와 90년대 가전제품에는 상당히 많이 사용되었습니다. 이전의 사진과 마찬가지로 진공상태의 유리판 내부에 필라멘트에 전류를 공급해서 형광체가 발광하도록 만드는 디스플레이입니다. 꽤 고가 부품에 속하며, 현재도 국내에서는 삼성, 일본에서는 후타바 등이 생산하고 있습니다.

 

통 녹색이나 청색계열이 많이 사용되지만, 형광체에 따라 색상이 발현되기 때문에 색상제한이 덜합니다. 제조단가가 LED에 비싸서 최근에는 점점 수요가 줄어들고 있지만, 고급 가전제품이나, 오디오 등에서는 아직도 많이 사용됩니다.

 

 

앗... 이것은? 유명한 닉시(Nixie) 시계입니다. 닉시튜브라고 하는 진공관의 한 형태로, 앞에서 설명한 VFD와 원리는 비슷합니다. 1930년대에 개발되어 1954년에 상업화가 되기 시작했습니다. 옛날의 기록동영상 등에서 종종 등장합니다. 50~60년대 컴퓨터나 우주선 발사 장면이라던가, 아~주 오래된 계측기나 라디오 등에서도 종종 보입니다.

 

재는 생산중단이 되어, 재고로 남아있는 러시아산 제품만이 조금씩 팔리고 있고, 닉시튜브를 사용한 시계같은 것들이 수십만원씩에 판매되고 있습니다. 문자표시가 가능한 제품도 있습니다.

 

 

것은 FND에서 조금 발전한 도트매트릭스 디스플레이입니다. 역시 제어방법은 비슷합니다. 단색제품도 많지만, 최근에는 2색, 3색 제품도 많이 등장하고 있으며, 이러한 제품들을 여러개 붙인 것들이 길거리의 전광판으로 만들어지고 있습니다.

 

에서 설명드린 닉시튜브나 VFD, 도트매트릭스 디스플레이등은 나중에 따로 또 각각 포스팅을 할 예정입니다. 해당부분에 관심이 있으신 분들은 그때 꼭 보시면 될것 같구요. 이런 것들은 모두 FND를 사용하는 방법을 이해해야지 사용이 가능하므로, FND의 동작 설명을 꼭 숙지하시기 바랍니다.

 

실 이번 포스팅도 한 4~5년전 어느 분의 요청으로 설명을 위해서 작성했던 글을 수정한 것입니다. ^^;; 재탕을 좀 좋아하는 것 같지만, 뭐, 카페나 기타 커뮤니티 활동을 모두 접고 블로그만 신경쓰기로 해서 어쩔수 없이 이쪽으로 모으는 중이니 이해해주시리라 믿습니다. ^^

 

 

7-세그먼트(이하 FND)는 우리가 AVR과 같은 마이크로 컨트롤러(MCU) 회로에서 가장 먼저 배우는 LED 테스트회로의 응용제품입니다. 보통 8개의 LED를 가지고 테스트를 많이 하는데, 이를 적절하게 숫자의 모양으로 배열한 것이 FND인 것입니다. 위의 그림이 FND의 내부 구조입니다. 1자리 FND의 경우 핀이 10개정도로 되어 있습니다. 각각의 핀은 숫자판에보이는 곳과 연결되어 있습니다.

 

com 이라고 적혀 있는 것은 common, 즉 공통 단자로 내부 LED의 배치에 따라서 GND가 될수도 있고, VCC가 될수도 있습니다. 이 부분은 제조사에서 제공하는 데이터쉬트를 참고해야 합니다. 공통단자가 VCC가 된 제품은 커먼애노드 타입이라고 하고, 공통단자가 GND가 된 제품은 커먼캐소드라고 합니다.

 

먼캐소드 제품은 MCU에서 전원을 공급해야 하는 방식이라서 1개짜리는 괜찮겠지만, 갯수가 많아지면, 동시에 켜야 하는 LED 수가 많아져서 MCU에 부담을 주게 됩니다. 그래서 보통 MCU용으로 사용하는 것은 VCC를 별도로 공급하고 나머지 숫자를 MCU에 연결해서 GND로 처리해주는 방식인 커먼애노드 방식을 많이 사용합니다.

 

부분은 IC에 대해서 공부를 하게 되면, Current Sink와 Current Source에 대해서 배우게 되는데, 한마디로 IC가 공급을 할 수 있는 전류량과, 공급을 받을 수 있는 전류량에 차이가 있고, SINK가 SOURCE보다 크기 때문에 대부분의 제어를 SINK로 제어하게 됩니다. 좀 어려우니 나중으로 ^^;;

 

 

통 FND로 사용하는 표시방법입니다. 0부터 9까지, A부터 F까지는 무리없이 표현이 가능합니다.

 

 

의 그림은 FND로 표시할 수 있는 모든 종류입니다. DP, 즉 숫자 오른쪽 아래의 점을 제외하면 총 128가지가 표현이 가능하겠습니다. 이중에서 우리가 숫자나 문자로 인식할 수 있는 것은 한계가 있습니다. 아무튼 이런게 가능하다는 정도만 알아두셔도 됩니다. ^^

 

제 FND를 MCU를 통해서 컨트롤하는 법을 알아보면, 보통 8비트 MCU나 CPU는 데이터 취급단위가 8비트이므로 1포트당 8개의 신호라인을 가지고 있습니다. 따라서 저 위에 FND의 핀배열을 참고해서 MCU 데이타포트(편의상 A포트라고 하겠습니다)와 연결한다고 가정하면,

 

A Port 0 = a

A Port 1 = b

A Port 2 = c

A Port 3 = d

A Port 4 = e

A Port 5 = f

A Port 6 = g

A Port 7 = DP

 

런식으로 배치가 되겠습니다. 포트는 총 8개의 신호이므로 한번에 1Byte의 데이터를 보낼수가 있게 됩니다. 따라서, A 포트에 데이터를 내보내는 값에 따라서 FND를 원하는 형태로 켤수가 있게 됩니다. 앞에서도 구동 방식이 애노드 구동방식과 캐소드 구동방식이 있다고 설명드렸는데, 캐소드 구동방식은 FND의 세그먼트중 켜길 원하는 곳의 데이터가 1, 끄길 원하는 데이터가 0으로 보내면 됩니다. 이를 진리표와 16진수로 환산하면 아래와 같은 도표가 됩니다.

 

 

 

2진수를 16진수로 바꾸는 방법은 위의 도표처럼 데이터를 8 4 2 1 8 4 2 1 로 나누어서 반반씩 계산하면 됩니다. 즉 F 의 이진값을 보면, 1000 1110으로 나타낼 수 있습니다. 앞의 1000은 8421에서 8에만 1이 존재하므로 8 + 0 + 0 + 0 = 8 이되고, 뒤의 1110은 8421에서 8과 4와 2에만 1이 존재하므로 8 + 4 + 2 + 0 = 14 가 되어 이를 16진수로 E가 됩니다.

 

16진수는 10진수와 9까지는 같으며, 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F 가 됩니다. 1 바이트는 16진수로 0~255까지의 숫자이며, 위의 도표처럼 4비트씩 끊어서 생각하면 편합니다. 4비트의 단위를 니블(Nibble)이라고 합니다. 이를 변형하는 방법은 여러가지로 소개되어 있지만, 저처럼 도표로 소개하는게 제일 이해가 빠릅니다.

 

음의 도표는 위와는 완전히 반대인데요. 켜기를 원하는 곳의 값은 0, 끄기를 원하는 곳의 값은 1이 됩니다. 이를 애노드 구동방식이라고 합니다. 이 방법은 FND에 항상 전원을 공급하고, MCU에서 켜기를 원하는 곳에 0값을 주면 MCU의 해당핀이 GND(0)이 되어 전류가 흐르게 되어 켜지는 방식입니다. 1값을 주면 VCC와 동일한 전압이 되므로, 전류가 흐르지 않아서 켜지지 않는 방식이죠.

 

 

에서도 설명을 드렸지만, 이 방법이 MCU에 무리를 주지 않기 때문에 가급적 애노드 구동방식을 선택하는 것이 좋습니다. 0과 1이 서로 반대인지라 헷갈릴 수도 있지만, 실제로 익숙해지면 헷갈리지 않습니다. 어쨌든 대충 이런 방식으로 FND를 제어할 수 있게 됩니다. 말로는 길게 설명되어 복잡해 보이지만, 사실 예제를 가지고 실험해보면, 정말 쉽습니다.

 

, 사실 이런 글을 보실 분들이 얼마나 되겠습니까 ^^ 우리나라는 엔지니어는 공돌이라는 개념때문인지, 전 세계적으로 엔지니어의 대접이 가장 후진국중 하나인 나라입니다만, 이런 부분에 대한 관심이 많이 증대되어 엔지니어들의 위상을 되찾는 날이 왔으면 하는 바람에서 좀 스크롤의 압박은 있지만 포스팅을 올려봤습니다 ^^

 

 

 

Posted by zecca371

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2012.11.29 23:39 신고
    댓글 주소 수정/삭제 댓글
    예전 컴퓨터에 달려있던 동작 주파수 표시기(?) 때문인지, 왠지 그리운 느낌이 드는 부품입니다.

    33MHz의 386을 99MHz로 표시되도록 장난하던 추억이 떠오릅니다.
    • 2012.11.30 10:57 신고
      댓글 주소 수정/삭제
      ^^ 컴퓨터에 표시되는 주파수는 쉽게 바꿀수 있었지요.
      바꿀수 있게 된걸 알고나서는 그게 컴퓨터의 속도랑 무관하다는 것에 실망도 많이 했었습니다 ^^
  2. zero7002
    2013.04.15 14:40 신고
    댓글 주소 수정/삭제 댓글
    7segment truth table 사진 순서가 바뀐 것 같습니다.
  3. pcomboy
    2013.04.27 03:11 신고
    댓글 주소 수정/삭제 댓글
    ㅋㅋ 좋은 정보 감사합니다. 근데 사진 바뀐거 같은데요?
    맨마지막 사진 ㅋ
  4. 2013.11.02 10:47 신고
    댓글 주소 수정/삭제 댓글
    동의합니다!
  5. 흐이
    2013.12.04 01:46 신고
    댓글 주소 수정/삭제 댓글
    숫자8에 c자리1이아니라 0이네요 참고하세요~


BLOG main image
zecca의 ante-workspace
zecca의 넋두리 공간입니다... 주로 어떤 작업, 구상을 웹에 올리기 전 정리하는 공간(ante-workspace)이죠... 넋두리도 있을테고, 컴퓨터에 관련된 여러정보나, 제품에 대한 수리방법, 팁 등 다양한 정보가 올라오니 많이많이 들러주세요. 아참, 퍼가실때는 반드시 출처를 명기해 주시기 바랍니다. 네이버 오픈캐스트의 경우 어차피 링크 형식이니 그냥 퍼가셔도 됩니다 ^^ by zecca371

공지사항

카테고리

분류 전체보기 (194)
게임기/콘솔 (41)
8비트 컴퓨터 (13)
80's 이전 컴퓨터들 (7)
16/32Bit/웍스테이션 (8)
개조/수리/제작 관련 (31)
게임/애니/음악/영화 (38)
전자회로/설계/MCU (13)
취미/관심분야 (17)
넋두리/주절주절 (18)
비공개 자료들 (8)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

글 보관함

달력

«   2018/06   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Total : 771,460
Today : 44 Yesterday : 112