KR100310990B1 - 디퍼런셜코드를마이컴에서생성하는방법 - Google Patents

디퍼런셜코드를마이컴에서생성하는방법 Download PDF

Info

Publication number
KR100310990B1
KR100310990B1 KR1019970068616A KR19970068616A KR100310990B1 KR 100310990 B1 KR100310990 B1 KR 100310990B1 KR 1019970068616 A KR1019970068616 A KR 1019970068616A KR 19970068616 A KR19970068616 A KR 19970068616A KR 100310990 B1 KR100310990 B1 KR 100310990B1
Authority
KR
South Korea
Prior art keywords
data
bit
timer
carry flag
flag
Prior art date
Application number
KR1019970068616A
Other languages
English (en)
Other versions
KR19990049644A (ko
Inventor
유연식
Original Assignee
전주범
대우전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019970068616A priority Critical patent/KR100310990B1/ko
Publication of KR19990049644A publication Critical patent/KR19990049644A/ko
Application granted granted Critical
Publication of KR100310990B1 publication Critical patent/KR100310990B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/46Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using electromechanical counter-type accumulators

Abstract

본 발명은 디퍼런셀 코드를 마이컴에서 생성하는 방법에 관한 것으로써, 최초의 스타트(start) 비트가 시작하기 전에 마킹(marking)부분을 하이(high)로 유지해 주기 위한 더미(dummy) 비트를 출력해 주는 제 1단계와, 데이터 회전(data rotate) 횟수를 측정하여 스타트(start) 비트와 데이터(data) 비트 및 스탑(stop) 비트를 구별하는 제 2단계와, 상기 데이터 비트를 측정하여 전송하고자 하는 데이터를 어큐뮤레이터(accumulator)에 저장하는 제 3단계와, 상기 데이터 비트에서 출력되는 비트를 검출하여 1이면 캐리플래그(carry flag)가 1일 때의 타이머 레지스터(timer register) 값을 입력하고, 0이면 캐리플래그가 0일 때의 타이머 레지스터 값을 타이머의 프리셋 버퍼에 입력하는 제 4단계와, 상기 타이머 레지스터 값을 측정하기 위해 타이머를 동작시켜 시간을 계수함과 아울러 시리얼 아웃풋 포트 출력의 보수화를 취하는 명령을 발하는 제 5단계와, 타이머 인터럽트가 발생되면 플래그를 0으로 초기화한후 캐리 플래그를 판단하여 1이면 상기 제 1단계에서 제 5단계를 반복하고, 캐리 플래그가 1이 아니면 타이머 인터럽트 횟수를 계수하기 위한 카운터 버퍼를 하나 증가시킨후 타이머 인터럽트 횟수의 계수값이 2인가를 판단하는 제6단계와, 상기 타이머 인터럽트 횟수의 계수값이 2이면 상기 제1단계로 진행하고 그렇지 않으면 상기 제4단계로 진행하는 제7단계로 이루어짐으로써, 전송되는 데이터 패킷을 입력받아 원하는 코드 데이터를 출력하도록 프로그램되어진 마이컴에서 디퍼런셜 코드를 생성하여 잡음 및 에러를 최소화하고, 데이터를 수신하고 있을 때 수신 전계 강도가 수초에서 수분간의 간격으로 변동하는 페이딩(fading)현상을 줄일 수 있다.

Description

디퍼런셜 코드를 마이컴에서 생성하는 방법
본 발명은 디퍼런셜 코드를 마이컴에서 생성하는 방법에 관한 것으로써, 보다 상세하게는 데이터 패킷(data packet)의 데이터 회전 횟수를 측정하여 스타트(start) 비트와 데이터(data) 비트 및 스탑(stop) 비트를 구별하고, 타이머에 리퀴스터(reqister) 값을 입력하여 0과 1을 출력하도록 프로그램되어진 디퍼런셜 코드를 마이컴에서 생성하는 방법에 관한 것이다.
메시지 신호를 표본화할 때 나이퀴스트율보다 좀더 빠르게 표본화시키면 결과적으로 인접하는 표본 사이의 상관 관계를 높혀주게 된다. 이러한 사실은 표본을 표준 PCM방식으로 부호화한다면 결과적으로 부호화된 신호는 과잉한 정보를 포함하게 된다.
이것은 변화가 거의 없는 공통된 신호부분까지 부호화한 결과로 생긴 과잉부호 할당을 의미하며 정보 전송에 있어서 꼭 필요하지 않은 신호부분이 부호화되어 있음을 나타낸다. 이 과잉한 정보를 부호화하기 전에 제거함으로써 더욱 효과적인 부호화를 얻는다. 즉 인접한 표본 펄스 사이의 차이만을 부호화하므로써 이와 같은 불팔요한 정보를 배제할 수 있음과 동시에 상관이 높은 표본 사이의 차만을 양자화하고 부호화하므로써 효율화를 기대할 수 있다.
이와 같이 특별히 어떤 시간까지 신호 크기의 변화 과정을 안다면 앞으로 변화될 신호 크기를 추론하는 것이 가능해진다. 이러한 과정을 예측이라 하는 데 이와 같은 예측 방법을 이용하여 표본 신호를 변조하는 방식이 차분 부호번조(DPCM:differential PCM)방식이다. 적응 델타 변조나 적응 차분 부호변조도 이 방식에 속한다.
펄스 위상 변조 및 복조는 주로 디지탈 시스템 사이에 단선을 통하여 데이터를 전송하는데 사용되며. 본 발명은 디퍼런셜(differential) 코드에 관한 것이다. 상기 디피런셜 코드는 무선 통신시 사용하는 코드중 하나로써, "0"과 "1"이 서로 다른 주파수로 표현되며, 각 비트당 반드시 한 개 이상의 에지(edge)를 가지므로 수신 데이터의 구분 및 샘플링, 동기화 등이 용이한 장점을 가지는 코드이다.
디퍼런셜코드의 동작을 도 1을 참조하여 설명하면 다음과 같다.
디퍼런셜 코드의 구성도가 도 1에 도시된 바와 같이, 전송 선로로 부터 송신된 데이터 신호가 "000111"이라고 가정하여 설명한다.
0은 동기 클럭과 동일한 주파수(즉, 2배의 baud rate)로 표현되며, 바로 앞단이 0이었으면 파형은 하이에서 로우로 표현되고 앞단이 1이었으면 로우에서 하이로 표현된다.
1은 동기 클럭의 반주파수(동일 baud rate)로 표현되며, 0과 마찬가지로 앞단이 0이었으면 파형은 하이로 표현되고 앞단이 1이었으면 로우로 레벨변화만 하도록 동작한다.
즉, 0일 때는 동일 주파수를 출력하고 1일 때는 반주파수만을 출력하면서 교대로 보수화(complemlent)시키도록 작용한다.
종래의 디퍼런셜 코드발생기는 복잡한 회로구성을 통해 코드를 생성하였기 때문에 미소한 입력 변화에 의해 끊임없이 양자화 스텝의 변화가 생기는 그래뉼러잡음(granular noise)이 발생하여 정확한 데이터를 수신하기가 어려워 잡음이 데이터로 인식되는 에러가 발생하고, 데이터를 수신하고 있을 때 수신 전계 강도가 수초에서 수분간의 간격으로 면동하는 페이딩(fading)현상이 발발하는 문제점이 발생하고 있다.
이에 본 발명은 이같은 문제점을 해결하기 위해 안출된 것으로써, 본 발명의 목적은 복잡한 회로로 구성되어 디퍼런셜 코드를 발생하는 회로 대신에 전송되는 데이터 패킷을 입력받아 원하는 코드 데이터를 마이컴에서 생성하여 출력할 수 있는 방법을 제공하는 데 있다.
본 발명의 또다른 목적은 데이터 패킷을 판독하기 위해 데이터 회전 횟수를 측정하여 회전 횟수가 0회이면 데이터의 시작을 알리는 스타트 비트로 인식하고, 1∼8회이면 전송하고자 하는 데이터 비트로 인식하고, 9회이면 데이터의 종료를 알리는 스탑 비트로 인식하고, 수신데이터의 구분과 샘플링 및 동기화 등을 용이하게 실시할 수 있는 디퍼런셜 코드를 마이컴에서 생성하는 방법을 제공하는 데 있다.
상기의 목적을 달성하기 위한 본 발명은 최초의 스타트(start) 비트가 시작하기 전에 마킹(marking)부분을 하이(high)로 유지해 주기 위한 더미(dummy) 비트를 출력해 주는 제 1단계와, 데이터 회전(data rotate) 횟수를 측정하여 스타트(start) 비트와 데이터(data) 비트 및 스탑(stop) 비트를 구별하는 제 2단계와, 상기 데이터 비트를 측정하여 전송하고자 하는 데이터를 어큐뮤레이터(accumulator)에 저장하는 제 3단계와, 상기 데이터 비트에서 출력되는 비트를 검출하여 1이면 캐리플래그(carry flag)가 1일 때의 타이머 레지스터(timer register) 값을 입력하고, 0이면 캐리플래그가 0일 때의 타이머 레지스터 값을 타이머의 프리셋 버퍼에 입력하는 제 4단계와, 상기 타이머 레지스터 값을 측정하기 위해 타이머를 동작시켜 시간을 계수함과 아울러 시리얼 아웃풋 포트 출력의 보수화를 취하는 명령을 발하는 제 5단계와, 타이머 인터럽트가 발생되면 플래그를 0으로 초기화한후 캐리 플래그를 판단하여 1이면 상기 제 1단계에서 제 5단계를 반복하고, 캐리 플래그가 1이 아니면 타이머 인터럽트 횟수를 계수하기 위한 카운터 버퍼를 하나 증가시킨후 타이머 인터럽트 횟수의 계수값이 2인가를 판단하는 제6단계와, 상기 타이머 인터럽트 횟수의 계수값이 2이면 상기 제1단계로 진행하고 그렇지 않으면 상기 제4단계로 진행하는 제7단계로 이루어진 것을 특징으로 한다.
도 1은 디퍼린셜 코드의 구성도.
도 2는 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법의 데이터 형식을 나타낸 개략도.
도 3은 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법의 동작을 보여주기 위한 흐름도.
도 4는 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법의 구체적인 동작설명을 보여주기 위한 타이밍도.
이하 본 발명의 바람직한 실시예를 첨부도면을 참조로 하여 상세히 설명한다.
도 2는 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법의 데이터 형식을 나타낸 개략도이다.
도 2에 도시된 바와 같이, 전송하는 데이터는 비동기 형식으로서, 하이를 유지시켜 주기 위한 마킹(marking) 비트 N개, 데이터의 시작을 알려주기 위한 스타트(start)비트 1개, 전송하고자 하는 데이터 비트 8개, 데이터의 종료를 알리는 스탑(stop)비트 1개로 구성된다고 가정하면, 전체 데이터 형식은 10비트가 하나의 패킷을 가지게 된다. 이 때, 데이터 비트의 한 영역을 차지하여 오류를 검출하기 위한 패리리(parity) 비트는 무시한다.
또한, 최초의 스타트(start) 비트가 출력되기 전에 임의의 시간동안은 마킹(marking)부분을 하이로 유지시켜 주기 위한 더미(dummy) 비트들이 출력되어야 하므로, 이를 N번 출력한다고 가정한다.
도 3은 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법의 전체적인 동작을 보여주기 위한 흐름도이다.
상기 도 3은 도면의 간략화를 위해 약어를 사용하였으며, 각 블록을 이루는 약어들의 설명은 아래와 같다.
A: 어큐뮤레이터(Accumulator)
CF: 캐리 플래그(Carry Flag)
SBUF: 시리얼 데이터 버퍼(Serial data buffer)
SPORT: 시리얼 아웃풋 포트(Serial output Port)
TM 0: CF=0일 때의 타이머 레지스터(timer register) 값
TM 1: CF=1일 때의 타이머 레지스터 값(TM 1=2× TM 0)
TBUF: 타이머(Timer)의 프리셋 버퍼(preset buffer:이 값이 FF로 되면 오버플로우 인터럽트)
CPL: 보수화(Complement) 명령(0을 1로 보수화하고, 1을 0으로 보수화하라는 명령)
CNT O: 타이머 인터럽트 횟수를 계수하기 위한 카운터 버퍼
CNT 1: 마킹(marking) 부분에서 1을 출력하는 횟수를 계수하는 카운터 버퍼
N: 마킹 부분에서 1을 출력하는 횟수
TM-END: 타이머 인터럽트가 발생하면 0로 세트하는 플래그
CNT-ROT: 데이터의 회전 횟수
EA: 인터럽트 제어 플래그
도 4는 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법의 구체적인 동작설명을 보여주기 위한 타이밍도이다.
상기 10 비트의 데이터 형식을 갖는 패킷을 마이컴에서 디퍼런셜 코드로 변환하는 방법을 도 3을 참조하여 상세하게 설명한다.
먼저, 302단계는 본 발명을 위해 마이컴에서 사용되는 모믄 버퍼를 클리어하여 초기화시키는 단계이고, 304단계는 마킹(marking) 부분을 하이로 유지하기 위해 N개의 횟수가 출력되었는가를 판단하여 설정한 N회가 출력되지 않으면 캐리 플래그(carry flag)을 1로 세트(306단계)하고, 설정한 N회가 출력되면 데이터 출력단계로 진행(308단계)한다.
308단계는 데이터 출력단계로서, 데이터의 회전 횟수를 측정하여 횟수가 0회이면 마킹(marking) 부분이 종료하여 데이터의 시작을 알리는 스타트(start) 비트이므로 310단계에서 캐리 플래그(carry flag)을 0으로 클리어한다.
312단계에서는 데이터의 회전 횟수를 측정하여 횟수가 9회이면 데이터의 종료를 알리는 스탑(stop) 비트이므로 314단계에서 캐리 플래그(carrv flag)를 1로 세트하고, 316단계에서는 다음 데이터를 판독하기 위해 데이터의 회전 횟수(CNT-ROT)를 0으로 초기화한다.
318단계에서는 데이터의 회전 횟수가 9회가 아니면 데이더 비트에 해당하므로 직렬 데이터 버퍼(serial data buffer)에서 송신한 데이터를 어큐뮤레이터(A)에 저장한다.
320단계는 캐리 플래그(carry flag)를 확인하여 출력비트가 1이면 322단계에서 타이머의 프리셋 버퍼(preset buffer:TBUF)에 캐리 플래그가 1일 때의 타이머 레지스터(timer register) 값(TM1)을 입력하고, 캐리 플래그를 확인하여 출력비트가 O이면 324단계에서 타이머의 프리셋 버퍼(preset buffer:TBUF)에 캐리 플래그가 0일 때의 타이머 레지스터 값(TM0)을 입력한다. 타이머의 프리셋 버퍼값이 FF로 되면 오버플로우 인터럽트(overflow interrupt)가 발생한다.
326단계에서는 입력된 타이머 레지스터 값을 측정하기 위해 마이컴에 내장된 타이머를 가동시키고, 328단계는 시리얼 아웃풋 포트(Serial output Port:SPORT)에서 출력되는 데이터중에 0을 1로 보수화하고, 1을 0으로 보수화하라고 명령(즉, 출력포트를 반전시키기 위한 명령)하는 단계이다.
330단계는 타이머에 인터럽트의 발생여부를 판단하는 단계이고, 인터럽터가 발생하지 않으면 인터럽트가 발생할 때까지 대기하고 있다가 인터럽트가 발생하면 332단계로 진행하여 플래그를 0으로 세트하여 초기화시킨다.
334단계는 마이컴이 1을 출력하고 있으면 초기단계로 진행하여 다음 데이터를 판독하고 마이컴이 0을 출력하고 있으면 336단계로 진행하여 타이머 인터럽트 횟수를 계수하기 위한 카운터 버퍼(CNT O)를 하나 증가시킨다.
338단계는 마이컴이 0을 두 번 출력했으면 초기단계로 진행하여 다음 데이터를 판독하고 0을 한 번만 출력했으면 상기 320단계로 진행하여 출력포트의 신호를 한 번 더 반전시켜 0이 출력되도록 동작한다.
이상에서와 같이 본 발명에 따른 디퍼런셜 코드를 마이컴에서 생성하는 방법에 의하면, 복잡한 회로로 구성된 코드발생기를 지양하고 전송되는 데이터 패킷을 입력받아 원하는 코드 데이터를 출력하도록 프로그램되어진 마이컴에서 디퍼런셜 코드를 생성하여 잡음 및 에러를 최소화하고, 데이터를 수신하고 있을 때 수신 전계 강도가 수초에서 수분간의 간격으로 변동하는 페이딩(fading)현상을 줄일 수 있다. 또한, 마이컴을 이용하여 디퍼런셜 코드를 생성하기 때문에 디퍼런셜 코드가 생성되는 시간을 최소화할 수 있고, 보다 정확한 데이터를 출력할 수 있는 효과가 있다.

Claims (3)

  1. (정정) 타이머 레지스터 프리셋 버퍼 시리얼 아웃풋 포트 및 어큐뮤레이터를 구비하는 마이컴에서 데이터 패킷을 입력받아 원하는 코드 데이터를 생성하는 방법에 있어서, 최초의 스타트(start) 비트가 시작하기 전에 마킹(marking)부분을 하이(high)로 유지해 주기 위한 더미(dummy) 비트를 출력해 주는 제 1단계와, 데이터 회전(data rotate) 횟수를 측정하여 스타트(start) 비트와 데이터(data) 비트 및 스탑(stop) 비트를 구별하는 제 2단계와, 상기 데이터 비트를 측정하여 전송하고자 하는 데이터를 어큐뮤레이터(accumulator)에 저장하는 제 3단계와, 상기 데이터 비트에서 출력되는 비트를 검출하여 1이면 캐리플래그(carry flag)가 1일 때의 타이머 레지스터(timer reister) 값을 입력하고 0이면 캐리플래그가 0일 때의 타이머 레지스터 값을 타이머의 프리셋 버퍼에 입력하는 제 4단계와, 상기 타이머 레지스터 값을 측정하기 위해 타이머를 동작시켜 시간을 계수함과 아울러 시리얼 아웃풋 포트 출력의 보수화를 취하는 명령을 발하는 제 5단계와, 타이머 인터럽트가 발생되면 플래그를 0으로 초기화한후 캐리 플래그를 판단하여 1이면 상기 제 1단계에서 제 5단계를 반복하고, 캐리 플래그가 1이 아니면 타이머 인터럽트 횟수를 계수하기 위한 카운터 버퍼를 하나 증가시킨후 타이머 인터럽트 횟수의 계수값이 2인가를 판단하는 제6단계와, 상기 타이머 인터럽트 횟수의 계수값이 2이면 상기 제1단계로 진행하고 그렇지 않으면 상기 제4단계로 진행하는 제7단계로 이루어진 것을 특징으로 하는 디퍼런셜 코드를 마이컴에서 생성하는 방법.
  2. 제1항에 있어서, 상기 제2단계는 상기 데이터의 회전 횟수를 측정하여 회전횟수가 0회는 데이터 시작을 알리는 스타트 비트로 인식하고, 1∼8회는 전송하고자하는 데이터 비트로 인식하고, 9회는 데이터의 종료를 알리는 스탑 비트로 인식하는 제 1과정과, 스타트 비트는 캐리플래그를 클리어시켜 0으로 세트하고, 스탑 비트는 캐리플래그를 1로 세트함과 동시에 다음 데이터를 처리하기 위해 데이터 회전 횟수를 클리어시키는 제 2과정으로 이루어진 것을 특징으로 하는 디퍼런셜 코드를 마이컴에서 생성하는 방법.
  3. (삭제)
KR1019970068616A 1997-12-13 1997-12-13 디퍼런셜코드를마이컴에서생성하는방법 KR100310990B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970068616A KR100310990B1 (ko) 1997-12-13 1997-12-13 디퍼런셜코드를마이컴에서생성하는방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970068616A KR100310990B1 (ko) 1997-12-13 1997-12-13 디퍼런셜코드를마이컴에서생성하는방법

Publications (2)

Publication Number Publication Date
KR19990049644A KR19990049644A (ko) 1999-07-05
KR100310990B1 true KR100310990B1 (ko) 2001-12-17

Family

ID=37530963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970068616A KR100310990B1 (ko) 1997-12-13 1997-12-13 디퍼런셜코드를마이컴에서생성하는방법

Country Status (1)

Country Link
KR (1) KR100310990B1 (ko)

Also Published As

Publication number Publication date
KR19990049644A (ko) 1999-07-05

Similar Documents

Publication Publication Date Title
US6425107B1 (en) Data encoder/decoder for a high speed serial link
US5872791A (en) Method and apparatus for data encoding and communication over noisy media
GB2243269A (en) Decoding binary-coded transmissions
RU96107771A (ru) Многоскоростной последовательный декодер витерби для использования в системе многостанционного доступа с кодовым разделением
US4771440A (en) Data modulation interface
KR100310990B1 (ko) 디퍼런셜코드를마이컴에서생성하는방법
US5844942A (en) Pulse position modulation communications protocol
CN113438052B (zh) 信号解码方法、装置、电子设备以及存储介质
KR100442926B1 (ko) 데이터 인코딩 방법 및 장치와 인코딩 데이터 신호의 디코딩 방법 및 장치
JP2003134098A (ja) シリアル受信装置
KR20000003082A (ko) 디퍼런셜 코드를 마이컴에서 수신하는 방법
KR100526938B1 (ko) 디퍼런셜코드를마이컴에서수신하는방법
KR100435559B1 (ko) 디퍼런셜 코드를 마이컴에서 수신하는 방법
KR100435560B1 (ko) 디퍼런셜 코드를 마이컴에서 수신하는 방법
KR100526937B1 (ko) 디퍼런셜코드발생기
KR100257372B1 (ko) 디퍼런셜 코드를 이용한 신호복원회로
JPH1198200A (ja) 調歩同期式シリアルデータ送受信方法と送信装置,受信装置および送受信装置
KR100428864B1 (ko) 비동기식 무선통신시스템에 있어서 차등 코딩방법
JP2596357B2 (ja) バーストデータ伝送方法及び装置
RU2007866C1 (ru) Декодирующее устройство
RU2002374C1 (ru) Устройство дл передачи и приема двоичной информации
JP2944153B2 (ja) 復調基準位相曖昧度除去方式
KR20000051267A (ko) 피시엠 또는 비트스트림 모드의 자동 전환 기능을 갖는 오디오 디코딩 장치
JPH0416025A (ja) 二相符号化データの復号装置及び方法
SU1231626A1 (ru) Устройство дл моделировани алгоритмов цифрового статистического кодировани -декодировани видеосигналов

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090827

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee