My first Project

codedrawer·2021년 3월 13일
0

Embedded

목록 보기
2/5

입사 후 내 첫 작품

Pager Encoder

입사 후 내가 맡은 첫 프로젝트 Pager Encoder (무선호출기 일명 삐삐에 신호를 보내는 장치) 를 만드는 거 였다. 무선호출기가 신호를 받으려면 당연히 신호를 보내는 장치가 있어야 한다. 신호를 보내는 장치를 Encoder라고 불렀다. 우리가 일반적으로 무선호출기를 호출 하려면 호출기 번호에 전화를 걸고 이후 번호를 남기면 남긴 번호가 호출기 LCD 창에 표시된다. 그런데, 실험실에서 실험을 위해 매 번 이렇게 기지국에 전화를 할 수 없으니 호출할 수 있는 장치가 필요하다.

그 때 실험실에서 사용하던 장비가 있었는데 호출번호로 1분 또는 3분 간격으로 기지국에 전화를 걸고 메시지는 하나씩 증가하는 장비였다. 이 장비는 DTMF 신호를 발생해서 기지국으로 신호를 전송하는 장비로 그 때 가격이 대략 $10,000 였으니 꽤나 비싼 장비였다. 비싸기도 했지만 실험실에서 사용하는 다양한 목적에 부합하지 않아 새로운 장비의 필요성을 느끼고 있었다.

그래서 나에게 이런 임무가 주어졌는데 사실 뭔지도 모르고 시작한 것이고 선배들이 해야 하는 거라서 당연히 해야 되는 줄 알았고 누구도 어떤 스펙이 필요한지도 정하지 못했다.
이 일을 하게 된 이유도 신입사원 입사 후 직무 배치 받을 때 HW SW 선택의 길에서 둘 다 모르는데 그나마 학교 다닐 때 C 언어 공부하고 MICOM 공부 했던게 SW가 더 재미 있을 거 같아서 SW 직무를 선택하고 시작한 프로젝트이다.

Encoder라는 것을 만들어야 하는데 Encoder라는 뜻이 데이터를 프로토콜에 맞추어 만드는 장치이다. 진짜 백지 상태에서 이것을 만들기 위해 필요한 사항을 정리 해 보니 두 가지로 정리 되었다.

  • 프로토콜에 맞춰 이진 바이너리 데이터를 만드는 일
  • 이진 바이너리를 전송하는 일

이진 바이너리 생성

일단 이진 바이너리 데이터를 생성해야 하는데 그러려면 MCU MICOM을 사용해야 하는데 아직 MCU를 다룰 줄 몰랐기에 PC를 사용하기로 했다. 그 때 내가 받은 PC는 인텔 486에 17인치 CRT 모니터 였다. 아마 모니터는 SyncMaster 이전 버전으로 기억한다.
무선호출 프로토콜 이름은 POCSAG 이라는 프로토콜 이었고 당연히 해당 프로토콜 내용은 선배를 통해 공부해서 그럭저럭 원하는 형태로 바이너리를 생성 했다.

이진 바이너리 전송

만들어진 이진 바이너리 데이터를 전송해야 하는데 PC 내부에 있는 데이터를 어떻게 PC 외부로 내보낼까를 고민해야 했다. 일단 PC 출력 포트가 무엇인지 공부를 다시 시작했다. 그 당시 PC 포트는 패러렐 시리얼 포트 이렇게 두 개 밖에 없었다. 시리얼 포트는 원하는 내용에 맞는 형태가 아니기에 패러렐 포트를 사용 하기로 결정

위 그림처럼 PC 뒷면의 프린터 포트이다.

이진 바이너리 출력

프린터 포트를 이용하기로 결정은 했는데 이진 바이너리 데이터를 어떻게 보낼 것인가? 지금이야 구글링을 하면 많은 정보를 얻을 수 있지만 그 시절에는 원하는 정보 얻기가 쉽지 않은 시절이다. 정보를 얻기 위해 그 당시 마이크로소프트(일명 마소) 라는 잡지를 뒤질 수 밖에 없었다. 그래서 정보를 얻은게 프린터 포트의 Register Address 를 이용하는 것 이었다. 그 당시 PC OS는 MS-DOS 6.0으로 작성한 코드 상에서 System Call Interrupt를 발생 시키고 해당 Data port 핀에 이진 바이너를 전송하는 방법을 사용 하기로.
지금 구글검색 해 보니 DOS INT 21h를 이용했다.
링크텍스트

위 그림의 핀 중 D0 출력 핀과 입력 방향의 핀을 사용 하는 것으로. 입력핀은 정해진 클럭 스피드를 맞추기 위해 위부의 Clock Generator 기준 클럭을 읽는 핀으로 High에서 Low 또는 Low에서 High로 입력 레벨이 변할 때 한 Bit씩 출력 하는 것으로

이진 바이너리 변조

이렇게 출력된 바이너리 데이터는 Signal Generator라는 장비의 입력 포트에 연결하면 무선호출기에 사용되는 FSK 변조 신호로 전달된다. Signal Generator 장비의 출력을 높이면 전송 거리가 늘어 나므로 실험실에서 사용하는 다양한 형태의 실험을 할 수 있게 되었다.

아마 이 첫 프로젝트를 완성하는 시간은 대략 10개월 정도의 시간이 소요 되었다.

이후 이것을 응용하여 다른 형태로 이용 하였는데 에어 상에서 전송되는 신호를 수신 (FSK 복조 장치를 거쳐서) 되는 데이터를 하드 디스크에 저장하여 다시 재전송하는 형태. 이 응용은 각 나라별 무선호출 데이터 형태를 분석 하는데 이용하였고 이렇게 저장된 데이터를 이용하여 출장을 가지 않고도 실험실에서 재 사용할 수 있었다.

profile
Embedded SW

0개의 댓글