KR100220367B1 - 시리얼 데이터 수신 시스템 및 수신 방법 - Google Patents
시리얼 데이터 수신 시스템 및 수신 방법 Download PDFInfo
- Publication number
- KR100220367B1 KR100220367B1 KR1019970030356A KR19970030356A KR100220367B1 KR 100220367 B1 KR100220367 B1 KR 100220367B1 KR 1019970030356 A KR1019970030356 A KR 1019970030356A KR 19970030356 A KR19970030356 A KR 19970030356A KR 100220367 B1 KR100220367 B1 KR 100220367B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- timer
- serial data
- port
- interrupt
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0054—Detection of the synchronisation error by features other than the received signal transition
- H04L7/007—Detection of the synchronisation error by features other than the received signal transition detection of error based on maximum signal power, e.g. peak value, maximizing autocorrelation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 다른 시스템이나 장치와 시리얼 데이터를 주고 받는 장치에 적용되는 시리얼 데이터 수신 시스템 및 수신 방법에 관한 것으로서, 픽크-투-픽크 12V의 신호를 픽크-투-픽크 5V의 신호로 다운시키는 인터페이스 회로(1)와, 상기 인터페이스 회로(1)로부터 시리얼 데이터를 입력받도록 인터럽트 핀(Int)과 포트(Port)가 구비되며, 샘플링 타임을 결정하는 타이머(5)가 구비되는 CPU(3)로 구성된다.
이것에 의해, 데이터에 노이즈가 유입되면 이를 정확하게 파악할 수 있어 시스템의 오작동을 방지하는 효과가 있다.
Description
본 발명은 다른 시스템이나 장치와 시리얼 데이터를 주고 받는 장치에 적용되는 시리얼 데이터 수신 시스템 및 수신 방법에 관한 것이며, 보다 상세히는 추가의 하드웨어를 도입하지 않고 소프트웨어와 인터럽트, 타이머, 포트만으로 시리얼 데이터를 수신하는 시리얼 데이터 수신 시스템 및 수신 방법에 관한 것이다.
종래 시리얼 데이터의 인터페이스는 포트와 타이머 그리고 포트와 연결된 외부 인터럽트를 사용하여 데이터 펄스의 70% 부분에서 한번 샘플링하여 데이터를 처리하였다.
그러나, 상기와 같은 인터페이스의 경우, 데이터에 노이즈가 유입되면 적절하게 찾아 낼 수 없었으며, 노이즈가 포함된 데이터의 입력에 의해 시스템이 오작 동되는 문제점이 있었다.
따라서, 본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명의 목적은 1펄스의 지속 기간동안 샘플링을 2번 행하여 각 비트 단위로 에러를 체크하고, 데이터 샘플링 동안에 패리티 비트를 처리하여 에러를 즉시 파악하고, 타이머를 시리얼 데이터가 입력되는 동안에만 사용하여 시리얼 데이터가 입력되지 않는 기간동안에 다른 부분에서 타이머를 사용할 수 있어 효율성이 증대되는 시리얼 데이터 수신 시스템 및 수신 방법을 제공하는데 있다.
상기 본 발명의 목적을 달성하기 위한 시리얼 데이터 수신 시스템의 일예로서, 픽크-투-픽크 12V의 신호를 픽크-투-픽크 5V의 신호로 다운시키는 인터페이스 회로와, 상기 인터페이스 회로로부터 시리얼 데이터를 입력받도록 인터럽트 핀(Int)과 포트(Port)가 구비되며, 샘플링 타임을 결정하는 타이머가 구비되는 CPU로 구성된다.
상기 본 발명의 목적을 달성하기 위한 시리얼 데이터 수신 방법의 일예로서, 인터럽트 핀(Int)으로 초기 스타팅 비트가 입력되면, 상기 인터럽트 핀(Int) 인터럽트가 타이머로 신호를 출력하여, 상기 타이머 포트 단자(Port)로 입력되는 시리얼 데이터의 비트의 1/4 시점에서 샘플링하도록 하는 단계와; 상기 1/4 타이머 인터럽트 주기를 1/2로 변경하여 타이머 인터럽트가 데이터 비트를 1/2주기마다 샘플링하는 단계와, 이와같이 샘플링한 데이터를 서로 비교하여 데이터의 레벨을 체크하는 단계와, 상기 샘플링한 데이터간의 레벨이 동일하면 데이터는 이상이 없는 것으로서 입력되고, 두 데이터의 레벨이 다르면 현재 데이터의 입력을 중지하고 다음 데이터의 스타팅 포인트를 기다리는 단계로 구성된다.
이것에 의해, 데이터에 노이즈가 유입되면 이를 정확하게 파악할 수 있어 시스템의 오작동을 방지할 수 있다.
제1도는 본 발명에 따른 시리얼 데이터 수신 시스템을 도시한 블록도.
제2도는 본 발명에 따른 시리얼 데이터를 샘플링하기 위한 타이밍도.
제3도는 본 발명에 따른 시리얼 데이터 수신 방법을 도시한 플로우 챠트.
* 도면의 주요부분에 대한 부호의 설명
1 : 인터페이스 회로 3 : CPU
5 : 타이머
이하, 본 발명의 실시예를 제1도 내지 제3도를 참조하여 상세히 설명하기로 한다.
제1도를 참조하면, 본 발명에 따른 시리얼 데이터 수신 시스템은 픽크-투-픽크 12V의 신호를 픽크-투-픽크 5V의 신호로 다운시키는 인터페이스 회로(1)와, 상기 인터페이스 회로(1)에 접속되도록 인터럽트 핀(Int)과 포트(Port)가 구비되며, 샘플링 타임을 결정하는 타이머(5)가 구비되는 CPU(3)로 구성된다.
시리얼 데이터의 입력은 인터럽트 핀(Int)과 포트로 동시에 입력된다. 시스템 소프트웨어는 이 인터럽트 핀(Int)으로의 입력에 의해서 시리얼 데이터를 입력받게 된다. 이 작업은 CPU내부의 타이머(5)를 시그널 샘플링 간격에 맞게 프로그램밍하는 것이다. 일단 타이머 프로그램밍이 종료되면 타이머 인터럽트에 의해 주기적으로 포트의 레벨을 검사하여 이 레벨을 차례대로 저장하여 시리얼 데이터를 구성하게 된다.
제2도는 시리얼 데이터 시그널을 샘플링하는 타이밍도이다. 데이터의 샘플링은 한 비트에 대해서 2번 수행하게 된다. 시점은 시그널의 25% 시점과 75% 시점에서 하게 된다. 시스템은 이 두 번의 샘플링한 데이터의 레벨이 동일한 경우에만 데이터를 입력하게 되고, 만약 두 데이터 레벨이 다르면 현재 데이터의 입력을 중지하고 다음 데이터의 스타팅 포인트를 기다리게 된다. 이렇게하여 11비트로 이루어진 데이터 바이트의 샘플링은 모두 22회를 수행하면 최종적으로 1바이트의 시리얼 데이터를 입력받게 된다. 타이머(5)는 이 샘플링 타임을 결정하는 기능을 수행하여 초기 스타트 비트가 입력되면 인터럽트 단자 인터럽트에 의해서 1비트의 유지시간의 1/4 기간 후에 타이머 인터럽트가 발생하도록 하고, 그 후에는 타이머 인터럽트가 1비트 유지 시간의 1/2 기간 후에 타이머 인터럽트가 발생하도록하여 한 비트당 2번의 샘플링을 하도록 한다.
상기와 같이 구성되는 시리얼 데이터 수신 시스템의 수신 방법을 제3도를 참조하여 설명하기로 한다.
데이터 시그널의 폴링 에지마다 인트 핀 인터럽트가 콜되는데, CPU(3)는 상기 콜이 최초의 인트 핀 인터럽트 콜인지를 판단한다(104). 최초의 콜로 판단된 경우 CPU(3)는 최초가 아님을 나타내는 플래그를 세팅하고(105), 데이터 시그널의 1/4 시점에 타이머 인터럽트가 걸리도록 타이머를 프로그래밍하며, 타이머(5)는 스타트 비트의 1/4 시점에서 타이머 인터럽트 루틴을 콜하여 데이터를 샘플링한다(106). 또한, 타이머 루틴이 콜되면 1/4 타이머 인트 주기가 1/2 인트 주기로 변경되어 이후로는 타이머 인트가 데이터 비트의 1/2 주기마다 걸리게 된다(107).
CPU(3)는 인터럽트가 걸린 회수를 카운트하는 인터럽트 카운트의 LSB가 0인지를 판단하여(108), 0인 경우 포트의 레벨이 저장된다(109). 만약 LSB가 0이 아닌 경우에는 샘플링이 2번 이루어진 것이므로, 이전의 데이터 레벨과 현재의 데이터 레벨이 서로 동일한지를 비교한다(110). 상기 비교과정(110)에서 데이터 레벨이 다른 경우 이는 데이터에 노이즈가 발생하였거나 샘플링과정에서 에러가 있었음을 의미하므로, CPU(3)는 에러가 발생하였음을 표시하고(111) 타이머(5)를 정지시킨다(112).
한편, 상기 비교과정(110)에서 데이터 레벨이 서로 동일한 경우 CPU(3)는 데이터 바이트를 구성하는 임시 저장장소로 데이터 비트를 옮기고 데이터 비트가 세트인지를 판단한다(113). 데이터 비트가 세트인 경우 데이터 세트 카운터가 증가된후(114) 캐리 비트가 세팅되고(115), 세트가 아닌 경우에는 캐리 비트가 클리어 된다(116).
상기와 같이 캐리 비트가 세팅 또는 클리어 된 후에는 데이터 비트의 전송순서에 따라 캐리 비트를 포함한 로테이트 명령이 수행되고(117), 타이머 인트 루틴이 호출된 시간을 카운트하는 타임 카운트가 증가(118)된 후, CPU(3)는 상기 타임 카운트가 21 이상 인지를 판단한다(119).
상기 판단과정(119)에서 타임 카운트가 21이상이면 데이터의 심플링이 종료된 것이므로, CPU(3)는 1 바이트 데이터 레디 플래그를 세팅하고(120) 패러티 에러를 검사한다(121). 패러티 에러가 발생한 경우 CPU(3)는 데이터 바이트를 포기하고 에러 처리를 한 후 타이머(5)를 정지시키고, 패러티 에러가 발생하지 않은 경우에는 데이터 바이트만을 추출하여 저장한 후(122) 타이머(5)를 정지시킨다(123).
전술한 것처럼 인트 핀 인터럽트 루틴 종료된 후 메인 루틴에서는 데이터 레디 플래그의 세팅여부가 검사된다(124). 데이터 레디 플래그가 세팅된 경우에는 데이터가 처리(125)된 후 프로그램이 계속 진행하며, 세팅되지 않은 경우에는 데이터가 처리되지 않고 프로그램이 계속 진행한다.
상술한 바와 같이 본 발명에 따른 시리얼 데이터 수신 시스템 및 수신 방법은 데이터에 노이즈가 유입되면 이를 정확하게 파악할 수 있어 시스템의 오작동을 방지하는 효과가 있다.
이상에서 설명한 것은 본 발명에 따른 시리얼 데이터 수신 시스템 및 수신 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진자라면 누구든지 다양한 변경 실시가 가능할 것이다.
Claims (4)
- 픽크-투-픽크 12V의 신호를 픽크-투-픽크 5V의 신호로 다운시키는 인터페이스 회로(1)와, 상기 인터페이스 회로(1)로부터 시리얼 데이터를 입력받도록 인터럽트 핀(Int)과 포트(Port)가 구비되며, 샘플링 타임을 결정하는 타이머(5)가 구비되는 CPU(3)로 구성되는 것을 특징으로 하는 시리얼 데이터 수신 시스템.
- 제1항에 있어서, 데이터의 샘플링은 한 비트에 대해서 2번 수행하게 되며 그 시그널의 25% 시점과 75% 시점에서 하게 되며, 이 두 번의 샘플링한 데이터의 레벨이 동일한 경우에만 데이터를 입력하게 되고, 만약 두 데이터 레벨이 다르면 현재 데이터의 입력을 중지하고 다음 데이터의 스타팅 포인트를 기다리게 되는 것을 특징으로 하는 시리얼 데이터 수신 시스템.
- 인터럽트 핀(Int)으로 초기 스타팅 비트가 입력되면, 상기 인터럽트 핀(Int) 인터럽트가 타이머(5)로 신호를 출력하여, 상기 타이머(5)가 포트 단자(Port)로 입력되는 시리얼 데이터의 비트의 1/4 시점에서 샘플링하도록 하는 단계와; 상기 1/4 타이머 인터럽트 주기를 1/2로 변경하여 타이머 인터럽트가 데이터 비트를 1/2주기마다 샘플링하는 단계와, 이와같이 샘플링한 데이터를 서로 비교하여 데이터의 레벨을 체크하는 단계와, 상기 샘플링한 데이터간의 레벨이 동일하면 데이터는 이상이 없는 것으로서 입력되고, 두 데이터의 레벨이 다르면 현재 데이터의 입력을 중지하고 다음 데이터의 스타팅 포인트를 기다리는 단계로 구성되는 것을 특징으로 하는 시리얼 데이터 수신 방법.
- 제3항에 있어서, 상기 샘플링 단계는 타이머(5)의 작동에 의해, 포트 단자(Port)로 입력되는 1비트 스타트의 1/4 기간에 타임 인터럽트하고, 다음 타임 인터럽트 주기를 1비트 유지시간의 1/2 기간 후에 타임 인터럽트가 발생하도록 하여, 1비트당 2번의 샘플링을 실행하는 것을 특징으로 하는 시리얼 데이터 수신 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970030356A KR100220367B1 (ko) | 1997-06-30 | 1997-06-30 | 시리얼 데이터 수신 시스템 및 수신 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970030356A KR100220367B1 (ko) | 1997-06-30 | 1997-06-30 | 시리얼 데이터 수신 시스템 및 수신 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990006134A KR19990006134A (ko) | 1999-01-25 |
KR100220367B1 true KR100220367B1 (ko) | 1999-09-15 |
Family
ID=19513046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970030356A KR100220367B1 (ko) | 1997-06-30 | 1997-06-30 | 시리얼 데이터 수신 시스템 및 수신 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100220367B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100436145B1 (ko) * | 2001-11-28 | 2004-06-14 | 삼성전자주식회사 | 직렬통신장치의 제어방법 |
-
1997
- 1997-06-30 KR KR1019970030356A patent/KR100220367B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990006134A (ko) | 1999-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4405982A (en) | Arrangement for monitoring the function of a programmable electronic switching circuit | |
US7287198B2 (en) | Method for monitoring a microprocessor and circuit arrangement having a microprocessor | |
JPH0346854B2 (ko) | ||
WO2021041768A1 (en) | Daisy chain mode entry sequence | |
KR100220367B1 (ko) | 시리얼 데이터 수신 시스템 및 수신 방법 | |
US5812878A (en) | System for DMA transfer wherein controller waits before execution of next instruction until a counter counts down from a value loaded by said controller | |
US5673389A (en) | Methods and apparatus for resetting a monitored system using a gray code with alternating check bits | |
AU639731B2 (en) | A flywheel circuit | |
KR970003319B1 (ko) | 직렬 인터페이스 장치를 갖는 처리장치 | |
JPS6218939B2 (ko) | ||
JP3575980B2 (ja) | タイマー回路 | |
KR100311366B1 (ko) | 워치독타이머기능을갖는콘트롤러 | |
JPS62145440A (ja) | 暴走検出回路 | |
JPH0219931A (ja) | マイクロプロセッサのテストモード制御方式 | |
EP0778524A1 (en) | Method and device for evaluating a program | |
JPH02166523A (ja) | コンピュータの割込み誤動作防止装置 | |
KR100283947B1 (ko) | 시스템 자동리셋장치 | |
JPH04106637A (ja) | ストール検出回路 | |
RU2039372C1 (ru) | Резервированная вычислительная система | |
JPS6349855A (ja) | Cpuの割込み周期異常検出装置 | |
JPS5935250A (ja) | プログラム制御装置 | |
KR100331875B1 (ko) | 다중 채널 인터럽트 처리 장치 및 그를 이용한 다중 채널 인터럽트 처리 방법 | |
JPH04241636A (ja) | 時間監視回路 | |
JP2516711B2 (ja) | ウォッチドッグタイマ装置 | |
JPH05204715A (ja) | ウォッチドッグタイマ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |