KR20030082094A - 직렬 데이터 수신장치의 데이터 정렬 장치 - Google Patents

직렬 데이터 수신장치의 데이터 정렬 장치 Download PDF

Info

Publication number
KR20030082094A
KR20030082094A KR1020020020637A KR20020020637A KR20030082094A KR 20030082094 A KR20030082094 A KR 20030082094A KR 1020020020637 A KR1020020020637 A KR 1020020020637A KR 20020020637 A KR20020020637 A KR 20020020637A KR 20030082094 A KR20030082094 A KR 20030082094A
Authority
KR
South Korea
Prior art keywords
data
signal
received
output
counter
Prior art date
Application number
KR1020020020637A
Other languages
English (en)
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 KR1020020020637A priority Critical patent/KR20030082094A/ko
Publication of KR20030082094A publication Critical patent/KR20030082094A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/023Generators characterised by the type of circuit or by the means used for producing pulses by the use of differential amplifiers or comparators, with internal or external positive feedback
    • H03K3/0233Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은 데이터 수신시에 데이터의 시작 위치의 계산 과정에 의한 지연 시간을 갖지 않고 데이터 정렬이 이루어지도록 하는 직렬 데이터 수신장치의 데이터 정렬 장치에 관한 것으로, 수신되는 데이터를 직렬/병렬 시프트하여 출력하는 시프트 레지스터부; 상기 시프트 레지스터부의 출력 바이트중에서 사용자가 원하는 위치의 수신 바이트를 데이터 버스로 출력시켜주기 위한 멀티플렉서부; 입력 어드레스를 디코딩하여 사용자가 원하는 수신 데이터 레지스터에 대한 선택 신호(A)를 출력하는 어드레스 디코더; 상기 선택 신호(A)와 리드 동작의 바이트 사이즈 정보를 받아서 그 데이터의 위치를 계산하고 이 결과값에 의해 제어 신호(B)를 출력하는 멀티플렉서 제어부; 리드 사이즈 정보와 수신 데이터를 곱하는 곱셈기의 출력 및 동기 클럭 신호에 의해 카운트 동작 및 비교 동작을 하여 출력하는 카운터/비교기; 및 상기 카운터/비교기의 출력 신호와 동기 클럭 신호에 의해 동기 클럭이 출력되는 기간을 결정하는 클럭 공급부를 포함한다.

Description

직렬 데이터 수신장치의 데이터 정렬 장치 {Data realignment device of serial communication receiver}
본 발명은 직렬 데이터 수신 장치에 관한 것으로, 더욱 상세하게는 데이터 수신시에 데이터의 시작 위치의 계산 과정에 의한 지연 시간을 갖지 않고 데이터 정렬이 이루어지도록 하는 직렬 데이터 수신장치의 데이터 정렬 장치에 관한 것이다.
일반적으로 디지털 회로 내에 사용되는 데이터 시프트 레지스터는 다수의 플립플롭 회로를 접속하여 이루어지며, 데이터를 일시적으로 저장하고 필요한 경우 출력할 수 있도록 되어 있다.
즉, 데이터 시프트 레지스터는 다수의 플립플롭을 접속하여 구성되며 클럭 펄스신호가 인가될 때마다 인접하는 플립플롭에 순차적으로 데이터가 전송되도록 한 것이다.
이하에서 종래 기술의 직렬 데이터 수신장치의 데이터 정렬 장치에 관하여 설명한다.
도 1은 종래 기술의 직렬 데이터 수신 장치의 데이터 정렬 장치의 구성도이다.
먼저, 직렬 데이터를 순차적으로 시프트하여 출력하는 시프트 레지스터부(1a)(1b)(1c)(1d)(1e)와, 리드 사이즈 정보를 입력으로 하여 카운트 동작 및 비교 동작을 하는 카운터/비교기(2)와, 카운터/비교기(2)의 출력 신호와 동기 클럭을 이용하여 상기 시프트 레지스터부(1a)(1b)(1c)(1d)(1e)로 직렬 데이터 출력을 위한 클럭 신호를 출력하는 직렬 데이터 출력 클럭 출력부(3)로 크게 구성된다.
여기서, 직렬 데이터 출력 클럭 출력부(3)는 AND 게이트로 구성된다.
이와 같이 다수의 바이트를 수신할 수 있는 시프트 레지스터를 구성할 경우에는 수신되는 바이트의 사이즈가 가변하는 것에 따라 최종 수신을 마쳤을 때 데이터의 시작 위치가 가변한다.
즉, 만약 1 바이트만 수신했을 경우 첫 번째 시프트 레지스터(1a)의 출력단(4)에서 처음 시작 데이터를 읽을 수 있지만 8 바이트를 수신했을 경우는 최종 시프트 레지스터(1e)의 출력단(5)에서 처음 시작 데이터를 읽을 수 있게 된다.
이런 것을 방지하기 위해서 마이크로 프로세서에서 읽어갈 때 자신이 읽고자하는 바이트의 사이즈를 계산하거나 또는 카운터/비교기(2)에서 하드웨어 로직으로 항상 최대치의 바이트가 입력되는 것으로 클럭수를 계산하여 시작데이터의 위치를 정렬시키는 방법을 사용한다.
그러나 이와 같은 종래 기술의 직렬 데이터 수신 장치는 다음과 같은 문제가 있다.
이와 같이 다수의 바이트를 수신할 수 있는 시프트 레지스터를 구성할 경우에는 수신되는 바이트의 사이즈가 가변하는 것에 의해 1 바이트를 읽는 경우에도 8바이트를 읽었을 경우 걸리는 시간만큼이 항상 소요되기 때문에 이에 따른 동작 성능의 감소, 시간 지연 등의 문제가 나타난다.
또한, 소프트웨어로 계산을 하는 경우 매번 리드 사이즈를 계산하여 데이터의 읽어야하는 불편함이 있고 또한 마이크로프로세서가 빈번히 리드 동작을 취하므로 이에 따른 성능 감소가 나타나게 된다.
본 발명은 이와 같은 종래 기술의 데이터 수신 장치의 문제를 해결하기 위한 것으로, 데이터 수신시에 데이터의 시작 위치의 계산 과정에 의한 지연 시간을 갖지 않고 데이터 정렬이 이루어지도록 하는 직렬 데이터 수신 장치의 데이터 정렬장치를 제공하는데 그 목적이 있다.
도 1은 종래 기술의 직렬 데이터 수신 장치의 데이터 정렬 장치의 구성도,
도 2는 본 발명에 따른 직렬 데이터 수신 장치의 데이터 정렬 장치의 구성도.
<도면의 주요 부분에 대한 부호의 설명>
21a, 21b, 21c, 21d, 21e : 시프트 레지스터부
22 : 멀티플렉서부23 : 멀티플렉서 제어부
24 : 어드레스 디코더25 : 클럭 공급부
26 : 카운터/비교부27 : 곱셈기
이와 같은 목적을 달성하기 위한 본 발명에 따른 직렬 데이터 수신 장치의 데이터 정렬 장치는 수신되는 데이터를 직렬/병렬 시프트하여 출력하는 시프트 레지스터부; 상기 시프트 레지스터부의 출력 바이트중에서 사용자가 원하는 위치의 수신 바이트를 데이터 버스로 출력시켜주기 위한 멀티플렉서부; 입력 어드레스를 디코딩하여 사용자가 원하는 수신 데이터 레지스터에 대한 선택 신호(A)를 출력하는 어드레스 디코더; 상기 선택 신호(A)와 리드 동작의 바이트 사이즈 정보를 받아서 그 데이터의 위치를 계산하고 이 결과값에 의해 제어 신호(B)를 출력하는 멀티플렉서 제어부; 리드 사이즈 정보와 수신 데이터를 곱하는 곱셈기의 출력 및 동기 클럭 신호에 의해 카운트 동작 및 비교 동작을 하여 출력하는 카운터/비교기; 및 상기 카운터/비교기의 출력 신호와 동기 클럭 신호에 의해 동기 클럭이 출력되는 기간을 결정하는 클럭 공급부를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명에 따른 직렬 데이터 수신 장치의 데이터 정렬 장치에 관하여 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 직렬 데이터 수신 장치의 데이터 정렬 장치의 구성도이다.
본 발명은 데이터 수신시에 시간 지연없이 빠른 성능을 보장하면서 소프트웨어 측면에서도 시작 데이터 위치 계산없이 효율적으로 사용 할 수 있는 회로를 제공하기 위한 것이다.
그 구성은 수신되는 데이터를 직렬/병렬 시프트하여 출력하는 시프트 레지스터부(21a)(21b)(21c)(21d)(21e)와, 시프트 레지스터부(21a)(21b)(21c)(21d)(21e)의 출력 바이트중에서 사용자가 원하는 위치의 수신 바이트를 데이터 버스로 출력시켜주기 위한 멀티플렉서부(22)와, 어드레스 버스를 통하여 입력되는 어드레스를 디코딩하여 사용자가 원하는 수신 데이터 레지스터에 대한 선택 신호(A)를 출력하는 어드레스 디코더(24)와, 상기 사용자가 원하는 수신 데이터 레지스터에 대한 선택 신호(A)와 리드 동작의 바이트 사이즈 정보를 받아서 그 데이터의 위치를 계산하고 이 결과값으로 멀티플렉서부(22)를 제어하기 위한 제어 신호(B)를 출력하는 멀티플렉서 제어부(23)와, 바이트 단위의 리드 사이즈 정보와 수신 데이터를 곱하는 곱셈기(27)와, 곱셈기의 출력 및 동기 클럭 신호에 의해 카운트 동작 및 비교 동작을 하여 출력하는 카운터/비교기(26)와, 카운터/비교기(26)의 출력 신호와 동기 클럭 신호에 의해 입력되는 리드 사이즈 정보가 바이트 단위이므로 이를 비트 단위로 바꾸어 동기 클럭이 출력되는 기간을 결정하는 클럭 공급부(25)로 구성된다.
여기서, 클럭 공급부(25)는 AND 게이트로 구성된다.
이와 같은 본 발명에 따른 직렬 데이터 수신 장치의 데이터 정렬 장치의 동작을 설명하면 다음과 같다.
본 발명의 직렬 데이터 수신 장치에서 수신 가능한 최대 바이트 수를 8바이트라고 가정한 후에 설명한다.
최대 수신가능 바이트 수가 8바이트이므로 멀티플렉서부(22)의 입력부는 1~8의 8가지의 경우가 된다.
멀티플렉서 제어부(23)에서 출력되는 멀티플렉서 제어 신호(B)는 3가지(23= 8)가 된다.
만약, 사용자가 3개의 바이트를 수신하고자 한다면 리드 사이즈 정보를 '3'으로 입력한다.
그러면 수신부의 시프트레지스터부(21a)(21b)(21c)(21d)(21e)에는 클럭 공급부(25)의 동작에 의해 총 24 비트만큼의 직렬 데이터를 수신할 수 있도록 클럭이 나온다.
그리고 카운터/비교기(26)는 입력된 리드 사이즈 정보와 카운터의 값이 일치하는 경우에 '0'을 출력하여 더 이상 클럭이 시프트레지스터부(21a)(21b)(21c)(21d)(21e)에 공급되지 않도록 한다.
수신된 1번째 바이트는 도 2의 'N-2번째 바이트(현재의 실시예에서는 6번째 바이트) 시프트레지스터(21c)에 저장되어 있는 상태이다.
사용자가 수신된 1번째 바이트를 읽고자 하면 1번째 바이트에 대한 어드레스를 입력하고 이에 따라 어드레스 디코더(24)가 데이터 레지스터에 대한 선택 신호(A)중에 1개를 인에이블 시킨다.
이와 같은 상태에서 멀티플렉서 제어부(23)에서의 Y = N - (Size - Index)의 계산에 의해 Y = 8 - (3 - 1) = 6이 되어 멀티플렉서 제어 신호(B)는 '011'이 된다.
여기서, Y는 멀티플렉서 제어 신호(B)이고, N은 최대 수신 가능 바이트 수를의미한다.
그리고 Size는 리드 사이즈 정보이고, Index는 사용자가 선택한 어드레스의 디코딩에 의한 데이터 레지스터에 대한 선택 신호(A)중에 인에이블된 신호이다.
이와 같은 제어에 의해 멀티플렉서부(22)의 N-2번째 port(실시예에서는 6번째 port)를 열게 되며 사용자는 데이터 버스를 통하여 이 데이터를 읽어갈 수 있게 된다.
이와 같은 본 발명은 직렬통신을 하는 장치에 있어서 1 바이트(byte) 이상의 데이터를 수신하는 경우 이 데이터를 시간 지연없이 시프트 레지스터로부터 정렬하여 출력하는 것이 가능하도록 한다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
이와 같은 본 발명에 따른 직렬 데이터 수신 장치의 데이터 정렬 장치는 다음과 같은 효과가 있다.
수신된 바이트만큼만 시프트레지스터가 동작하므로 데이터 수신시에 시간지연 요소를 근본적으로 제한한다.
이는 효율적으로 마이크로프로세서가 동작하는 것을 가능하게 하는 효과를갖는다.
1 바이트씩 수신하는 소프트웨어 프로그램의 경우에 항상 N 바이트를 받는 만큼의 시간이 소요되지 않고 본 발명에서는 수신 시간을 1/N 만큼으로 절약하는 효과를 구현한다.

Claims (4)

  1. 수신되는 직렬 데이터의 정렬 단계의 수행을 포함하는 직렬 데이터 수신 장치에 있어서,
    수신되는 데이터를 직렬/병렬 시프트하여 출력하는 시프트 레지스터부;
    상기 시프트 레지스터부의 출력 바이트중에서 사용자가 원하는 위치의 수신 바이트를 데이터 버스로 출력시켜주기 위한 멀티플렉서부;
    입력 어드레스를 디코딩하여 사용자가 원하는 수신 데이터 레지스터에 대한 선택 신호(A)를 출력하는 어드레스 디코더;
    상기 선택 신호(A)와 리드 동작의 바이트 사이즈 정보를 받아서 그 데이터의 위치를 계산하고 이 결과값에 의해 제어 신호(B)를 출력하는 멀티플렉서 제어부;
    리드 사이즈 정보와 수신 데이터를 곱하는 곱셈기의 출력 및 동기 클럭 신호에 의해 카운트 동작 및 비교 동작을 하여 출력하는 카운터/비교기; 및
    상기 카운터/비교기의 출력 신호와 동기 클럭 신호에 의해 동기 클럭이 출력되는 기간을 결정하는 클럭 공급부를 포함하는 것을 특징으로 하는 직렬 데이터 수신 장치의 데이터 정렬 장치.
  2. 제 1 항에 있어서, 클럭 공급부는 AND 게이트로 구성되고, 바이트 단위의 리드 사이즈 정보를 비트 단위로 바꾸어 동기 클럭의 출력 기간을 결정하는 것을 특징으로 하는 직렬 데이터 수신 장치의 데이터 정렬 장치.
  3. 제 1 항에 있어서, 카운터/비교기는 입력된 리드 사이즈 정보와 카운터의 값이 일치하는 경우에 더 이상 클럭이 시프트레지스터부에 공급되지 않도록 '0'의 값을 출력하는 것을 특징으로 하는 직렬 데이터 수신 장치의 데이터 정렬 장치.
  4. 제 1 항에 있어서, 멀티플렉서 제어부는 Y = N - (Size - Index)의 계산에 의해 제어 신호(B)를 출력하고,
    여기서, Y는 멀티플렉서 제어 신호(B), N은 최대 수신 가능 바이트 수, Size는 리드 사이즈 정보, Index는 사용자가 선택한 어드레스의 디코딩에 의한 선택 신호(A)중에 인에이블된 신호인 것을 특징으로 하는 직렬 데이터 수신 장치의 데이터 정렬 장치.
KR1020020020637A 2002-04-16 2002-04-16 직렬 데이터 수신장치의 데이터 정렬 장치 KR20030082094A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020020637A KR20030082094A (ko) 2002-04-16 2002-04-16 직렬 데이터 수신장치의 데이터 정렬 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020020637A KR20030082094A (ko) 2002-04-16 2002-04-16 직렬 데이터 수신장치의 데이터 정렬 장치

Publications (1)

Publication Number Publication Date
KR20030082094A true KR20030082094A (ko) 2003-10-22

Family

ID=32379145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020020637A KR20030082094A (ko) 2002-04-16 2002-04-16 직렬 데이터 수신장치의 데이터 정렬 장치

Country Status (1)

Country Link
KR (1) KR20030082094A (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950015102A (ko) * 1993-11-08 1995-06-16 김광호 시리얼 입출력 인터페이스 회로
KR19980014301A (ko) * 1996-08-09 1998-05-25 김광호 범용 시리얼 입출력장치
KR19980014917U (ko) * 1996-09-04 1998-06-25 문정환 직렬 데이터 송/수신장치
KR19980035115A (ko) * 1996-11-12 1998-08-05 문정환 시리얼 인터페이스를 위한 데이터 수신 방법 및 그 장치
JP2000244330A (ja) * 1999-02-22 2000-09-08 Nec Ic Microcomput Syst Ltd シリアル−パラレル変換回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950015102A (ko) * 1993-11-08 1995-06-16 김광호 시리얼 입출력 인터페이스 회로
KR19980014301A (ko) * 1996-08-09 1998-05-25 김광호 범용 시리얼 입출력장치
KR19980014917U (ko) * 1996-09-04 1998-06-25 문정환 직렬 데이터 송/수신장치
KR19980035115A (ko) * 1996-11-12 1998-08-05 문정환 시리얼 인터페이스를 위한 데이터 수신 방법 및 그 장치
JP2000244330A (ja) * 1999-02-22 2000-09-08 Nec Ic Microcomput Syst Ltd シリアル−パラレル変換回路

Similar Documents

Publication Publication Date Title
JP5407633B2 (ja) 通信装置及びそれを有する通信システム並びに通信方法
US20080133779A1 (en) Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface
JPH05265943A (ja) シリアルデータ転送装置
KR20030082094A (ko) 직렬 데이터 수신장치의 데이터 정렬 장치
KR20070038898A (ko) 시리얼 데이터 입력 시스템
JP2008204284A (ja) シリアルインタフェース回路、及びシリアル受信器
EP1517217B1 (en) Interface circuit and a clock output method therefor
US7463266B2 (en) Low overhead serial interface
US6959396B2 (en) Method and apparatus for reducing clock skew in an integrated circuit
KR20010096571A (ko) 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템
US7276942B2 (en) Method for configurably enabling pulse clock generation for multiple signaling modes
KR100442967B1 (ko) 반도체소자의파이프레지스터에따른딜레이보상파이프라인장치
EP0839424B1 (en) Extended chip select reset apparatus and method
JPH1185724A (ja) Cpuモード切替回路
JP2002279792A (ja) 半導体集積回路装置
US6466505B1 (en) Flexible input structure for an embedded memory
JP4826403B2 (ja) 同期化回路
JPH07129486A (ja) シリアル通信回路
US6941418B1 (en) Integrated circuit and method outputting data
KR100200736B1 (ko) 마이콤 인터페이스 장치
JPH11264854A (ja) 半導体集積回路および半導体集積回路の試験方法
JP2007020237A (ja) インターフェース回路
JP3169922B2 (ja) 非同期信号の信号乗せ換え回路
KR101035590B1 (ko) 디스플레이 칩의 감마 보정 회로
KR950012511B1 (ko) 컴퓨터의 직렬 데이타 전송회로

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application