KR0170306B1 - 단위 길이를 이용한 데이터 송수신 방법 - Google Patents
단위 길이를 이용한 데이터 송수신 방법 Download PDFInfo
- Publication number
- KR0170306B1 KR0170306B1 KR1019950042795A KR19950042795A KR0170306B1 KR 0170306 B1 KR0170306 B1 KR 0170306B1 KR 1019950042795 A KR1019950042795 A KR 1019950042795A KR 19950042795 A KR19950042795 A KR 19950042795A KR 0170306 B1 KR0170306 B1 KR 0170306B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- line
- control
- pulse
- transmitting
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 데이터 라인을 단위 길이로 표현하고, 컨트롤 라인과 같은 레벨에 있는 데이터 라인에 컨트롤 의미를 부여함으로써, 단일 펄스에 의한 시리얼 데이터를 송수신하는 방법에 관한 것으로서, 단위 펄스의 폭을 더하여 최종적으로 하나의 펄스 형태를 사용하여 데이터를 표현하며, 또 다른 하나의 펄스를 사용하여 이 또 다른 펄스의 레벨이 로우 및 하이일 때에 따라서 데이터의 의미를 구분하여 임의의 데이터를 송신하거나 수신하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 의한 시리얼로 데이터를 송수신할 때, 노이즈인지 아닌지를 판단하는 시간적인 여부를 충분히 가질 수 있기 때문에 외부 노이즈로 인하여 발생될 수 있는 오류의 가능성이 매우 적은 효과가 있다.
Description
제1도는 본 발명을 달성하기 위한 블록 다이어그램도이다.
제2도는 제1도에 도시된 데이터 라인(130)의 펄스 형태를 나타낸 도면이다.
제3도는 제2도에 도시된 데이터 영역(240)을 상세히 설명하기 위한 도면이다.
제4도는 데이터 라인을 통해 송신되는 데이터의 몇가지 예를 보이는 도면이다.
제5도는 송신 데이터의 의미를 구분하는 것을 보여주는 도면이다.
제6도는 제1도에 도시한 데이터 출력 컨트롤 블록의 상세 도면이다.
제7도는 제1도에 도시된 데이터 입력 컨트롤 블록의 상세한 도면이다.
본 발명은 집접회로간에 시리얼로 데이터를 송수신하는 방법에 관한 것으로서, 더욱 상세하게는 데이터 라인을 단위 길이로 표현하고, 컨트롤 라인과 같은 레벨에 있는 데이터 라인에 컨트롤 의미를 부여함으로써, 단일 펄스에 의한 시리얼 데이터를 송수신하는 방법에 관한 것이다.
종래에는 집적회로(integrated circuit)간에 상호 시리얼로 데이터를 송수신 할 경우, 일반적으로 싱크로너스(synchronous)입출력 방식이나 UART(Universal Asynchronous Receiver/Transmitter)방식, Ι2С버스 방식을 사용한다.
싱크로너스 입출력 방식은 동기 신호를 맞추기 위한 클럭 라인과 데이터 전송을 위한 데이터 라인으로써, 기본적으로 2개의 라인이 필요하다. 또한, 여러 개의 집적회로가 상호 데이터를 송수신 하기 위해서는 각 집적회로를 인에이블 혹은 디제이블 시키기 위한 전용의 컨트롤 블록이 필요하다.
또, UART방식의 경우에도 시리얼로 데이터를 송수신하기 위해서는 전용의 컨트롤 블록이 필요하며, 다만, 이 방식은 데이터의 송수신 속도가 제한된다는 단점과 싱크로너스 입출력방식의 경우와 마찬가지로 여러 개의 집적회로 간의 상호 데이터를 송수신하기 위해서는 여분의 라인이 집적회로의 개수만큼 필요한 단점이 있다.
또, Ι2С버스 방식의 경우에도 시리얼로 데이터를 송수신 하기 위해서는 전용의 컨트롤 블록이 필요하다.
이상과 같은 세 가지의 종래의 시리얼 데이터 송수신 방식에서 요구되는 전용의 컨트롤 블록은 집적회로 내부의 크기가 커지고, 클럭라인 또는 데이터 라인의 상태가 변할 때 노이즈가 발생하는 문제점이 있다.
본 발명은 상술한 문제점을 해결하기 위해 창출된 것으로서, 집적회로간의 상호 시리얼로 데이터를 송수신할 때 단위 데이터 길이를 이용한 단위 펄스에 컨트롤 펄스와 같은 레벨이 주어지면, 이 데이터 라인이 컨트롤 의미를 가지므로써, 비교적 적은 노이즈를 발생하고, 집적회로의 크기를 축소시키는 시리얼 데이터 송수신 방법을 제공하는 것을 그 목적으로 한다.
상기의 목적을 달성하는 본 발명에 따른 두 개 이상의 집적회로간에 임의의 데이터를 송신하거나 수신하는 방법은 단위 펄스의 폭을 더하여 최종적으로 하나의 펄스 형태를 사용하여 데이터를 표현하며, 또 다른 하나의 펄스를 사용하여 이 또 다른 펄스의 레벨이 로우 및 하이일 때에 따라서 데이터의 의미를 구분하여 임의의 데이터를 송신하거나 수신하는 것을 특징으로 한다.
이하 첨부한 도면을 참조하여 본 발명을 보다 상세히 설명한다.
제1도는 본 발명을 달성하기 위한 블록 다이어그램도로서, 데이터를 전송하는 제1마이크로 컨트롤러(100), 제1마이크로 컨트롤러(100)에서 송신된 데이터를 수신하는 제2마이크로 컨트롤러(110)로 구성되며, 이 제1마이크로 컨트롤러(100)에는 데이터 출력 컨트롤 블록(120)이 있고, 제2마이크로 컨트롤러(110)에는 데이터 입력 컨트롤 블록(150)이 있다.
또, 제1마이크로 컨트롤러(100)에서 데이터 라인(130)을 통해서 제2마이크로 컨트롤러(110)으로 출력된 펄스는 데이터의 의미를 갖으며, 제1마이크로 컨트롤러(100)에서 컨트롤 라인(140)을 통해서 제2마이크로 컨트롤러(110)으로 출력된 펄스는 컨트롤 신호의 의미를 갖는다.
따라서, 제2마이크로 컨트롤러(110)는 컨트롤라인(140)의 제어상태에 의해 데이터 라인(130)를 통해서 입력된 펄스의 의미를 구분하게된다.
제2도는 제1도에 도시된 데이터 라인(130)의 펄스 형태를 나타낸 도면으로서, 참조 부호 200은 하이 레벨의 위치를 나타내고, 참조 부호 210은 로우 레벨의 위치를 나타낸다.
데이터의 송신이 이루어지지 않을 때에는 참조 부호 220과 참조 부호 230과 같이 하이 레벨이 되고, 데이터의 송신이 이루어질 때에는 참조 부호 240과 같이 로우 레벨이 된다.
이 때 폴링 엣지(falling edge ;250)는 데이터가 송신되는 시작을 의미하고, 라이징 엣지(rising edge ;260)는 데이터가 송신되는 끝을 의미한다. 즉, 실질적으로 송신되는 데이터는 참조 부호 240의 영역으로서, 로우 레벨의 길이이다. 이 때, 하이 레벨과 로우 레벨의 의미를 반대로 하는 것도 가능하다. 즉, 실질적으로 송신되는 데이터 영역을 하이 레벨로 하고, 데이터 송신이 이루어지지 않을 때의 데이터 영역을 로우 레벨로 하여 라이징 엣지(260)가 데이터의 송신이 시작되는 것을 의미하고, 폴링 엣지(250)가 데이터의 송신이 종료됨을 의미하게 하는 것도 가능하다.
제3도는 제2도에 도시된 데이터 영역(240)을 상세히 설명하기 위한 도면으로서, 참조 부호 300은 데이터 값이 “0”임을 나타내며, 이것을 DO라 한다. 또한 참조 부호 310, 320, 330 및 340은 단위길이를 나타내며, 이것을 Ud라 한다. 이 단위길이(Ud)는 모두 같고, 단위길이(Ud)의 합이 송신되는 데이터의 길이가 된다.
여기서, 데이터 값“0”인 DO는 단위길이 Ud와 같거나 달라도 상관이 없다.
제4도는 데이터 라인을 통해 송신되는 데이터의 몇가지 예를 보이는 도면으로서, 참조 부호 400은 DO의 길이만 로우 레벨에 있기 때문에 데이터값 “0”을 송신하고, 참조 부호 410은 DO + Ud의 길이가 로우 레벨에 있기 때문에 데이터 값 “1”를 송신한다. 또한, 참조 부호 420은 DO + Ud + Ud의 길이가 로우 레벨에 있기 때문에 데이터값 “2”를 송신하고, 같은 방식으로 참조 부호 430은 데이터값 “3”을, 참조 부호 440은 데이터값 “6”을 송신하는 것을 나타낸다.
제5도는 송신 데이터의 의미를 구분하는 것을 보여주는 도면으로서, 컨트롤 라인에 의해 구분된다.
참조 부호 500은 제1도에 나타낸 컨트롤 라인(140)을 나타내고, 참조 부호 510은 제1도에 나타낸 데이터 라인(130)을 나타낸다. 참조 부호 520은 컨트롤 라인(500)이 로우 레벨인 부분이며, 이 로우 레벨인 동안 데이터 라인(510)이 로우 레벨인 부분(530)은 컨트롤 데이터로서의 성격을 갖게 된다. 이 때 송신되는 컨트롤 데이터의 길이는 참조 부호 540과 같다. 이후에 컨트롤 라인(500)이 하이 레벨일 때 데이터 라인이 로우 레벨인 부분(550)은 컨트롤 데이터가 아닌 데이터이며, 참조 부호 560의 길이가 전송할 데이터의 값이 된다.
예를 들면, 수신하고자 하는 집적회로가 여러 개일 경우 각 집적회로에 해당되는 집적회로의 어드레스를 참조 부호 540인 컨트롤 의미를 갖는 라인의 길이로서 표현하고 이후의 참조 부호 560인 단일펄스 길이의 함으로써, 송신하고자 하는 데이터를 표현하는 것이 가능하다.
제6도는 제1도에 도시한 데이터 출력 컨트롤 블록의 상세도면으로서, 참조 부호 600의 클럭은 데이터가 “0”인 DO와 단위길이(Ud)를 맞추기 위해 분주기(610)에 의해서 분주된다. 이 분주된 클럭(600)에 의해 카운터(620)가 동작한다.
출력 데이터(640)에서는 송신하고자 하는 데이터에다 데이터값 “0”인 DO을 더한 값을 넣는다. 이 때 데이터값 “0”을 넣는 순간부터 참조 부호 650에 의해 분주기(610)의 출력이 카운터(620)로 입력되며, 그 출력 값은 로우 레벨이 된다.
한편, 비교기(630)는 카운터(620)와 출력 데이터(640)를 비교하여 두 값이 같은 순간에 출력을 하이 레벨로 환원시키며, 분주기(610)의 출력이 카운터(620)로 입력되는 것을 참조 부호 660에 의해 금지시켜 데이터의 송신을 종료한다.
제7도는 제1도에 도시된 데이터 입력 컨트롤 블록의 상세한 도면으로서, 참조 부호 700의 클럭은 데이터가 “0”인 DO과 단위 길이 Ud를 맞추기 위해서 분주기(710)에 의해서 분주된다. 이 분주된 클럭에 의해 카운터(720)가 동작하게 된다.
이 카운터(720)에 수신되는 폴링 엣지(730)에서 카운터(720)의 값은 초기화 되며, 수신되는 라이징 엣지(740)에서 카운터(720)의 값은 입력데이터(750)에 저장된다. 이 입력 데이터에 저장된 값에서 데이터가 “0”인 DO를 뺀 값이 실제로 수신된 데이터 값이 된다.
따라서, 상술한 바와 같이 본 발명에 따른 송수신 방법은 송신하는 시리얼 데이터가 단일 펄스의 형태를 갖는데, 이는 동기를 맞추기 위한 클럭 라인을 가져야 하는 방식이나 종래의 기술인 UART방식보다 노이즈의 발생이 훨씬 줄어드는 효과가 있기 때문에 본 발명에 따른 송수신방법을 채용하는 시스템에서는 노이즈 측면에서 안정된 시스템을 설계할수 있다.
또, 본 발명은 시리얼로 송수신하는 종래의 방법에 비해 단지 데이터 출력 컨트롤 블록과 데이터 입력 컨트롤 블록만을 더 갖기 때문에 본 발명에 따른 시리얼로 데이터를 송수신하는 회로를 만들면 집적회로의 크기를 축소할 수 있는 효과가 있다.
또, 본 발명은 시리얼로 데이터를 송수신할 때, 노이즈인지 아닌지를 판단하는 시간적인 여부를 충분히 가질 수 있기 때문에 외부 노이즈로 인하여 발생될 수 있는 오류의 가능성이 매우 적은 효과가 있다.
Claims (1)
- 데이터라인과 컨트롤라인을 구비하여, 적어도 두 개이상의 집적회로에 소정의 데이터를 송수신하는 방법에 있어서, 상기 데이터라인을 통해, 수신받을 집적회로의 주소정보를 포함하는 컨트롤데이터와 단위길이로 이루어진 실제 전송할 데이터를 하나의 펄스형태로 전송하고, 상기 컨트롤라인을 통해 전송되는 컨트롤펄스의 레벨에 따라, 상기 데이터라인의 데이터가 컨트롤데이터인지 실제 데이터인지를 구분함을 특징으로 하는 데이터 송수신방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950042795A KR0170306B1 (ko) | 1995-11-22 | 1995-11-22 | 단위 길이를 이용한 데이터 송수신 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950042795A KR0170306B1 (ko) | 1995-11-22 | 1995-11-22 | 단위 길이를 이용한 데이터 송수신 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970029106A KR970029106A (ko) | 1997-06-26 |
KR0170306B1 true KR0170306B1 (ko) | 1999-03-30 |
Family
ID=19435119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950042795A KR0170306B1 (ko) | 1995-11-22 | 1995-11-22 | 단위 길이를 이용한 데이터 송수신 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0170306B1 (ko) |
-
1995
- 1995-11-22 KR KR1019950042795A patent/KR0170306B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970029106A (ko) | 1997-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3988716A (en) | Computer interface system | |
US4592072A (en) | Decoder for self-clocking serial data communications | |
US5600824A (en) | Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer | |
US4450572A (en) | Interface for serial data communications link | |
US6140850A (en) | Serial bus speed-up circuit | |
EP0434083B1 (en) | Data transfer system and method of transferring data | |
US6215817B1 (en) | Serial interface device | |
US6044421A (en) | Communication system using a transmitted delimiting signal for indicating breaks in a data signal and when consecutive bits in the data signal are of equal level | |
US5446772A (en) | Integrated circuit bus | |
KR0170306B1 (ko) | 단위 길이를 이용한 데이터 송수신 방법 | |
US4289976A (en) | Circuit arrangement for the transmission of digital data | |
US20030112827A1 (en) | Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers | |
US5933799A (en) | Noise eliminating bus receiver | |
US5550533A (en) | High bandwidth self-timed data clocking scheme for memory bus implementation | |
JP2958601B2 (ja) | データ通信方式 | |
US20070104486A1 (en) | Optical network system and device, and method for controlling optical network and device | |
US5656958A (en) | Frequency synthesizing device | |
CA1260103A (en) | High speed logic analyzer | |
KR0177757B1 (ko) | 단일 공통라인을 사용하는 시리얼 데이타 통신방법 | |
US5414832A (en) | Tunable synchronous electronic communication apparatus | |
KR0158902B1 (ko) | 마스터/슬레이브 보드간의 직렬데이타 송수신 장치 및 방법 | |
US20240345986A1 (en) | Serial communication interface device | |
JPS6251337A (ja) | 通信制御装置 | |
KR100222041B1 (ko) | 신호 처리 장치 | |
SU1732350A1 (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: 20060928 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |