임베디드랜드

    ▶ 회로설명 (circuit description) : 대학(大學)에서 특정한 학문(學問)에 입문(入門)하면... 처음 단계로 개론(槪論) 즉 총론(總論)을 배우는 데서 시작됩니다. 개론의 사전적 의미는 "내용을 대강 간추리어 논설함"으로... 배우고자 하는 과목의 전체과 구성, 시작에서 현재까지의 흐름을 공간(空間)과 시간(時間)이라는 두 가지 관점에서 정리하여 일목요연하게 보여주는 역할을 맡고 있습니다.
    그러므로 우리가 어떤과목의 개론을 배우고 나면, 그 과목에 대한 (전체적인) 감을 잡을 수 있는 것입니다. 개론을 훍고 난 다음 단계는... (전체적인 시각에서) 필요한 각론을 선택하고, 좀 더 상세히 배워나가는 순서로 진행됩니다. 개론을 섭렵하고 나면... 새로운 과목에 대한 흥미가 솟아나거나 혹은 (내가 원하는 것이 아니라는 것을 알게 되므로) 흥미가 반감되는 것이 일반적입니다. 어쨌거나 결과적으로는 마음이 편안해지는 느낌을 받게 됩니다. 이를 역으로 생각해보면... 공부하면서 어쩐지 마음이 불안하다면, 대개의 경우 자신의 현재위치를 다시 확인해 볼 필요가 있다는 의미로 해석됩니다. ^^

    1. 취미로 전자회로를 배우거나, "필요에 의해 잠깐 회로를 이용한다"라는 가벼운 경우에도 개론의 중요성은 그대로 살아 있습니다. 전자회로의 세계처럼 혼란스러운(?) 장소에서 (자의건 타의건 간에) 어떤 일을 하다보면... 해변의 모래사장에서 혼자 탑을 쌓고있던 어린아이가 갑자기 주변을 둘러보는 영화장면처럼 금방 불안해지는 (자신의) 마음을 경험합니다. (영화에서) 갑자기 불쑥 튀어나온 불안은 망설임으로 이어지고... 아이는 가족을 찾아 지금까지 쌓던 탑을 팽개치고 (익숙한 세계로) 달려가 버립니다. 그러나 우리의 마음도 영화속의 아이와 마찬가지일 것입니다.

    2. 우리는 지구라는 커다란 행성속에 살고 있지만, 지구의 대부분 지역은 모르고 살아갑니다. 중요한 것은 내가 지금 살고있는 도시와 마을을 자세히 아는 것입니다. 만일 새로운 지역으로 갈 필요가 생기면... 그 때 가서 주위 사람에게 물어 보거나, 지도를 보면서 필요한 정보를 모으게 됩니다. 이 이야기의 요점은... 우리의 (시간과 호기심등의) 한정된 자원을 필요한 부분에 집중하는 전략으로 세상에서 살고있다는 것입니다. 전자회로의 공부도 마찬가지로... 커다란 전체적 개요만 이해하고 나면, 다음은 선택과 집중이 중요해지는 법입니다. ^^
    3. 인생(人生)에도 공부(工夫)에도 전략(戰略)이 필요합니다. 전자회로에 욕심이 있는 사람은 회로기술을 빨리 습득하여 이용하고 싶을 것입니다. 오늘날의 전자회로는 (단독으로 동작하기 보다) 반드시 컴퓨터나 마이컴와 연관 지어진다고 해도 과언이 아닙니다. 따라서 도도히 흘러가는 (전자회로의 대세라는) 강물의 폭과 방향을 파악하고, 본류(本流)에서 (여행을) 시작하도록 준비할 필요가 있습니다. 강(江)의 중심(中心)에 배를 띄우고, 흐름에서 벗어나지 않으려고 노력한다면... 빠르고 강한 물살은 당신의 후원자가 되어, 여행이 쉽고 용이하도록 도와 줄 것입니다. ^^

    ▶ 회로도 (The circuit diagram) : 전자회로 발전도(發展圖)로 분석한 회로공략(攻略) 포인트 ^^

    ▶ 회로동작 설명 (circuit operation) : 위의 그림에... 전자회로의 중요기술들을 발전 시간순으로 나열하였습니다. (좌측의 "진공관 회로"는 현재 오디오 앰프에만 일부 사용...) 현 시점에서 전자회로의 전체적인 블럭도를 보는 이유는... 우리의 현재위치를 파악하고 분석해서, 다음에 나아갈 방향과 목표을 파악하자는 뜻입니다. ^^
    블럭도에 의하면... 현재 우리의 "초보 전자회로 모음" 강좌는 "논리회로"의 초입에 위치하고 있습니다. 비록 "트랜지스터 회로" 블록에 해당하는 Tr과 FET라는 개별소자를 많이 다루지는 않았지만, "왕 초보 전자회로"와 "재미있고 유용한 555 응용회로"로도 (논의하는 정도로는) 충분하다고 판단됩니다.

    자! 그림의 블럭도에서... 가운데에 위치한 "논리회로" 블럭에 주목해 봅시다. 논리회로란 TTL이나 CMOS 페밀리와 같은 Logic IC를 주축으로 하여 구성된 회로를 말합니다. 논리회로는 마이컴이 보편화 되기 전인 1970년대에 전성기를 누렸습니다. 보통 10 여개에서 수십개의 트랜지스터나 FET가 하나의 칩에 집적된 Logic IC는 100 가지가 넘는 서로다른 종류의 IC가 모여 하나의 페밀리를 구성합니다. 페밀리에 포함된 하나하나의 Logic IC는 마치 다른 모양을 한 벽돌과 같아, 단순히 조립하는 것만으로도 크고 멋있는 건물 즉 복잡하고 다양한 (기능의) 회로를 용이하게 만들 수 있다는 장점이 있습니다.

    그러나 마이컴과 마이크로 콘트롤러가 보편화되면서 Logic IC의 용도는 (소프트웨어 파워에 밀려나서) 마이컴 주변의 인터페이스 회로에 사용되는 정도로까지 축소 되었습니다. 그렇다면 이제 논리회로는 역사의 장막뒤로 사라져 버린 것일까요? 사실은 그렇게 단순하게만 정의할 수 없다는데 문제가 있습니다. 왜냐하면 비록 Logic IC 자체는 마이컴에 밀려 났지만, 마이컴 IC의 전기적 규격은 Logic IC에 그대로 승계되고 있기 때문입니다. 마이컴의 본질이 소프트웨어로 변화될 수 있는 Logic IC 이기 때문에, 마이컴 내부의 하드웨어는 Logic IC로 설계되어 있습니다. 마치 Logic IC가 마이컴 내에 흡수되어 버린 형국입니다.
    Logic IC 설계개념을 보면 "어떻게 디지털 회로는 고속으로 안정하게 동작할 수 있는가?"라는 질문의 답을 얻을 수 있습니다. 이 개념은 너무나 중요하기에... 다음 페이지에서 자세히 설명할 예정입니다. ^^

    전자회로는... Tr, FET와 같이 (전압/전류) 증폭기능이 있는 능동소자와, 능동소자를 보조하는 Diode 및 R, L, C와 같은 수동소자로 나누어집니다. 전자회로에서 능동소자의 역할과 기능이 중요하다는 점은 너무도 명백합니다. 그러나 트랜지스터(Tr)나 FET와 같은 개별(능동)소자는 너무나도 기본적인 기능만 가지고 있으므로... 개별소자만으로 뭔가 의미있는 회로를 만들기에는 힘이 부칩니다. (너무 복잡해집니다)

    비록 전자회로를 처음 배우는 입장에서 보면... 먼저 구입한 여러 부품중에서 필요한 부품을 구분하고, 회로도의 심볼을 읽어내서 부품간의 연결과 결합을 파악할 필요가 있습니다. 그러나 이 초보단계는 금방 지나갑니다. 회로도를 읽어낼 수가 있게되면... 다음에는 의미있는 회로를 만들고 싶어지고, 이 단계에서는 마이컴이나 Logic IC등 여러종류의 IC를 사용해야 목적을 달성할 수 있게 됩니다. ^^

    지금까지 설명한 개요와 자료를 바탕으로... 이제 중요한 질문을 던질 시점이 되었습니다. 앞에서 전자회로를 공부하는 전략에 대해 언급했습니다만, 그림의 블럭도와 같이 방대하고 복잡한 전자회로의 계보를 보면서... 도데체 어디서부터 어떻게 접근해야 좋은지 궁금해지지 않는다면 이상하지 않겠습니까?

    그냥 취미니까 되는데로 공부해봐요? 그러다 아님 말고요...??? → 말도 안됩니다. 반드시 우선순위를 따져서 체계적으로 접근해야 합니다. 물론 정답은 없습니다. 논리와 취향이 있을 뿐이지요...
    만일 정해야 한다면... 이제 당신은 분명히 선택의 기로에 서 있는 것입니다. (전부 한번씩 해 보겠다는 생각에는 절대 찬성할 수 없습니다. 하나 하기도 벅찹니다. 하나를 신중히 골라서 꾸준히 노력해야 합니다)
    전략 1. 기초부터 찬찬히 : 트랜지스터를 기본으로 한 회로부터, 착실히 (위로위로) 배워 나간다...
    전략 2. 마이컴 회로 + 임베디드 소프트웨어에 중점을 둔다.
    전략 3. Logic IC와 Tr을 포함한 Interface 회로에 중점을 둔다. 마이컴은 복잡한 Logic IC 정도로 보고, 통신회로를 추가해서 PC와 연결하는 방법을 모색한다. PC의 막강한 프로그래밍 환경에 투자한다...
    전략 4. (National Instruments사 같은) PC (상용) Interface 카드를 사용한다.
    전략 5. 전자회로는 포기한다... 그 대신 순수 소프트웨어에서 승부를...

    ▶ 선택한 전략의 해설...

    전략 1 해설 → 철저한 것은 좋으나... 너무 발이 늦다. 대학교 방식이다. 권하기 힘듬... -_-
    전략 2 해설 → (직업적인) 전문가 방식이다. 세상은 "서버 + 클라이언트 + 네트워크" 방식을 기반으로 진화하고 있다. (전공이 아니라면...) 스스로 고립되고, 시야가 좁아지는 방식을 채택할 필요는 없지 않을까? 실제로는 많은 사람들이 (자기도 모르게) 채택하는 방법이다. 왜냐하면 대학에서 강의하고 교재도 많기 때문... 원리적으로는 모든 것을 할 수 있다. 그러나 고생에 비해, 막상 (독립적으로) 해 볼 수 있는 일은 너무나 적어 실망하기 일쑤이다. 가장 큰 문제점은 PC 환경에서 멀어지는 것이다. -_-
    전략 3 해설 → 약간 생소하고, 일견 산만해 보이지만, 실은 가장 활용도가 넓은 방법이다. 우선 강력한 PC 환경을 이용하므로, 빠른 시간내에 결과를 얻어내서 분석하고, 다시 개선시키기 용이하다. 둘째 디지털 환경의 핵심인 로직과 인터페이스 회로를 깊이 공부할 수 있어... 활용범위가 넓다. 세째 지대한 노력이 필요한 마이컴을 비교적 쉽게 이해할 수 있다. (마이컴은 로직회로를 기본으로 소프트웨어 동작하기 때문...) 네째 네트워크의 기본인 통신기술을 중시하고 있다. (통신기술이 바로 미래기술의 핵(核)임을 명심해야 한다...) 무엇보다도 (기술 전반에 대한) 전체적인 시야를 확보할 수 있다는 점이 가장 큰 매력이다. ^^
    전략 4 해설 → PC를 중심에 놓는다는 점에서 전략 3 과 같다. (고급과제를 수행하는) 대학과 연구소에서 채택하는 방법이다. 단점은 돈이 많이 든다. 메뉴얼을 소화하는 것도 만만치 않다. 왜냐하면 전자회로와 디지털 하드웨어의 기본이 반드시 필요하기 때문이다. 사실은 대학에서 전자를 전공한 사람들이 취업해서 주로 당면하는 과제이다.
    전략 5 해설 → 소극적이고, 어설픈 것 같지만... 실제로 많은 사람들이 선택한 방법이다. 데이터베이스 프로그래밍, 서버 프로그래밍, 게임 프로그래밍을 생각해보라. 실제로 대학의 전산과 사람들이 많다. ^^

    결론적으로... 필자는 (개인적으로) "전략 3"을 선호합니다. 즉 Logic 회로와 Tr의 기초적 동작 및 유용한 인터페이스 회로를 먼저 착실히 공부해 두는 것입니다. 이런 이유로 "초보 전자회로 모음" 강의도... 두번째 테마로 "기초 로직회로"를 설명하고, 다음으로 "디지털 인터페이스 회로"를 선택하였습니다. 이 단계에서는 Tr의 기초동작과 Logic IC, Tr, 포토 커플러를 포함한 실제 인터페이스 회로를 설명할 예정입니다.

    이러한 준비작업들이 끝나면... 데이터 로거(Data Logger)를 사용한 인터페이스를 실험해 볼 단계에 도달합니다. 데이터 로거는 PC와 (RS232C)통신으로 연결된 마이컴으로... 사용하기 간편하면서도 재미있는 기능을 보여 줄 것입니다. 이 단계까지 오면 회로도 판독에서... PC를 이용한 실험장치 준비까지의 모든 과정이 마무리됩니다. 이제 비로소 실제 흥미있는 과제를 해결하는 응용단계로 들어갈 수 있습니다. 드디어 메인 소프트웨어인 PC 프로그래밍센서(sensor)의 사용법이 중요해지는 단계가 됩니다. ^^

    ▶ 프로그램에 익숙한 분들을 위하여... Logic IC와 마이컴의 관계를 Visual C++, Visual basic과 Turbo C, qbasic에 비유하여 말씀드리겠습니다. 아시다시피 윈도환경의 Visual C++, Visual basic을 공부하다 보면 막상 basic과 c, c++ 언어에 대한 언급은 거의 없다는 것을 깨닫게 됩니다. 이런 형편이므로 초심자가 비쥬얼 책만을 아무리 달달 공부한다 해도... 나중에 남는 것은 별로 없습니다. (자신도 붙지 않구요...) 경험있는 선배라면 먼저 컴퓨터 언어(Language)를 공부하라고 진심으로 조언할 것입니다.
    마이컴이나도 마찬가지입니다. 근본이 되는 Logic과 Tr 동작을 모르고 덤벼들면... 수 많은 마이컴 명령어나 외우다가 끝이 납니다. 인터페이스 회로도 같습니다. 실험실에서 비싼 PC용 인터페이스 보드가 손에 들어와도... 활용하기 망설여지기는 마찬가지입니다. 공부를 해도, 메뉴얼에 따라온 "회로도"도 이해하기 힘든 수준이 이어집니다. 그러니 인터페이스 보드에 센서나 외부장비를 연결하기가 겁나는 것도 당연합니다... 즉 "프로그래밍이라면 어떻게 해 보겠는데, 하드웨어는 아무리 설명을 들어도 통 모르겠어..." 라고 말하게 되고 맙니다. 이유는 간단합니다. 한 단계 아래에 깔려있는 기술이해가 부족하기 때문입니다...
Posted by suvisor