KR19980014301A - 범용 시리얼 입출력장치 - Google Patents
범용 시리얼 입출력장치 Download PDFInfo
- Publication number
- KR19980014301A KR19980014301A KR1019960033228A KR19960033228A KR19980014301A KR 19980014301 A KR19980014301 A KR 19980014301A KR 1019960033228 A KR1019960033228 A KR 1019960033228A KR 19960033228 A KR19960033228 A KR 19960033228A KR 19980014301 A KR19980014301 A KR 19980014301A
- Authority
- KR
- South Korea
- Prior art keywords
- output
- serial
- state
- data
- register
- Prior art date
Links
Landscapes
- Information Transfer Systems (AREA)
Abstract
본 발명은 범용 시리얼입출력장치에 관한 것으로서, 특히 시리얼 클럭을 다운카운트하기 위한 제1 카운터와, 상기 제1 카운터에 의해 시리얼 데이터의 입력횟수를 인식하고, 시리얼입력 검출신호를 출력하는 시리얼 카운터와, 시리얼 데이터를 저장하는 제1 쉬프트 레지스터와, 상기 쉬프트 레지스터에 저장된 시리얼 데이터를 로드하여 저장하는 시리얼입력 레지스터와, 상기 시리얼입력 레지스터에서 출력된 데이터를 저장하는 데이터 레지스터와, 시리얼출력 검출신호를 발생하는 제2 카운터와, 시리얼입출력시스템의 출력상태를 제어하는 시리얼입출력 상태부와, 상기 데이터 레지스터에 저장된 데이터를 로드하여 출력하는 제2 쉬프트레지스터로 구비되는 것을 특징으로 한다.
Description
본 발명은 범용 시리얼 입출력장치에 관한 것으로서, 특히 시리얼 데이터의 처리를 위하여 8비트 시리얼 입출력회로를 제공하고, 또한 시리얼 출력의 안정성을 확보하기 위하여 상태부에 따른 출력 제어회로를 제공하도록 한 범용 시리얼 입출력장치에 관한 것이다.
도 1은 일반적인 시리얼 입출력장치를 설명하기 위한 도면으로서, 도시한 바와같이 외부에서 입력되는 조건에 따라 입출력장치의 입출력시스템을 제어하는 상태제어부(1)와, 상기 상태제어부(1)의 제어신호에 응답하여 시리얼 입력데이터를 저장하는 레지스터(2)와, 상기 상태제어부(1)의 제어신호에 응답하여 상기 레지스터(2)에 저장된 시리얼 데이터를 출력하고, 입력되는 시리얼 데이터를 상기 레지스터에 저장하는 시리얼 입출력부(3)로 구성된다.
상기와 같이 구성된 시리얼 입출력장치는 외부에서 상태제어부(1)로 입력되는 외부제어신호에 응답하여 시리얼 입출력부(3)를 통해 입력되는 시리얼 데이터를 레지스터(2)에 저장하고, 상기 레지스터(2)에 저장된 시리얼 데이터를 외부에서 상태제어부(1)로 입력하는 외부제어신호에 응답하여 시리얼 입출력부(3)를 통해 출력한다.
따라서, 종래의 시리얼 입출력장치는 시리얼 입출력 제어기와 시리얼 입출력부가 서로 분리되어 구성되므로 회로가 복잡하고, 그에 따른 생산단가가 높아진다는 문제점이 있었다.
본 발명의 목적은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 시리얼 데이터의 처리를 위하여 8비트 시리얼 입출력회로를 제공하고, 또한 시리얼 출력의 안정성을 확보하기 위하여 상태부에 따른 출력 제어회로를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위해 본 발명은 시리얼입출력 클럭신호에 동기되어 시리얼 클럭을 다운카운트하기 위한 제1 카운터와, 상기 제1 카운터에서 로드된 로드값에 의해 시리얼 데이터의 입력횟수를 인식하고, 시리얼 데이터를 수신하도록 시리얼입력 검출신호를 출력하는 시리얼 카운터와, 시리얼 데이터를 입력받고, 시리얼입출력 클럭신호의 상승에지에 의해 동기되어 1비트씩 쉬프트하면서 시리얼 데이터를 저장하는 제1 쉬프트 레지스터와, 상기 시리얼입력 검출신호에 응답하여 상기 제1 쉬프트 레지스터에 저장된 시리얼 데이터를 로드하여 저장하는 시리얼입력 레지스터와, 상기 시리얼입력 레지스터에서 출력된 데이터를 시리얼출력 레지스터 라이트신호에 응답하여 로드하고, 저장하는 데이터 레지스터와, 출력클럭신호의 시리얼데이터를 출력하기 위해 하강에지를 카운트하여 시리얼출력 검출신호를 발생하는 제2 카운터와, 상기 제2 카운터의 시리얼출력 검출신호에 의해 리셋되고, 시리얼출력 레지스터 라이트신호, 출력클럭, 리세트신호에 응답하여 전체 시리얼입출력시스템의 입출력상태를 제어하는 시리얼입출력 상태부와, 상기 시리얼입출력 상태부의 쉬프트로드신호를 입력으로하여 상기 데이터 레지스터에 저장된 데이터를 로드하고, 클럭신호의 하강에지에 시리얼 데이터를 출력하는 제2 쉬프트레지스터로 구비되는 것을 특징으로 한다.
상기 시리얼입출력 상태부의 상태는 쉬프트레지스터 라이트신호가 하이일 때 데이터 레지스터에 라이트하기 위해 대기상태에 있는 제1 상태와, 상기 시리얼출력 레지스터 라이트신호 및 출력클럭신호가 하이일 때 시리얼 데이터 출력을 위한 준비작업을 하는 제2 상태와, 상기 출력클럭신호가 하이이고 시리얼 입출력신호가 로우일 때 시리얼입출력이 시작됨을 인지하는 제3 상태와, 상기 출력 클럭신호가 하이이고, 쉬프트레지스터 클럭신호가 하이이고, 출력클럭리셋신호가 하이이고, 제2 카운터의 값이 증가하여 데이터 레지스터의 값을 쉬프트레지스터로 로드하여 출력하는 제4 상태와, 상기 제2 카운터의 신호가 하이일 때 시리얼출력 검출신호가 액티브되어 시리얼출력의 종료를 알리는 제5 상태와, 상기 제2 상태에서 출력클럭이 하이가 되기전에 시리얼출력레지스터 라이트신호가 발생하면 그 전의 데이터 레지스터값은 손실되고 현재 입력된 값의 출력을 준비하기 위해 상기 제1 상태로 피드백하는 제6 상태로 이루어진다.
도 1 은 통상적인 시리얼 입출력장치를 설명하기 위한 블록도이다.
도 2 는 본 발명에 의한 범용 시리얼 입출력장치를 설명하기 위한 블록도이다.
도 3 은 도 2의 시리얼 입출력장치에서 시리얼 데이터 입력시 타이밍도이다.
도 4 는 도 2의 시리얼 입출력장치에서 시리얼 데이터 출력시 타이밍도이다.
도 5 는 도 2에 구비된 시리얼 입출력 상태부의 출력신호에 따른 입출력장치의 출력상태를 설명하기 위한 상태도이다.
이하 첨부한 도면을 참조하여 좀더 상세히 설명하면 다음과 같다.
도 2 는 본 발명에 의한 범용 시리얼 입출력장치를 설명하기 위한 도면으로서, 도시한 바와같이 시리얼입출력 클럭신호(sioutclk)에 동기되어 시리얼 클럭을 다운카운트하기 위한 제1 카운터(10)와, 상기 제1 카운터(10)에서 로드된 로드값에 의해 시리얼 데이터(siodat)의 입력횟수를 인식하고, 시리얼 데이터(siodat)를 수신하도록 시리얼입력 검출신호를 출력하는 시리얼 카운터(20)와, 상기 시리얼 데이터를 입력받고, 시리얼입출력 클럭신호(sioutclk)의 상승에지에 의해 동기되어 1비트씩 쉬프트하면서 시리얼 데이터(siodat)를 저장하는 제1 쉬프트 레지스터(30)와, 상기 시리얼입력 검출신호(sid)에 응답하여 상기 제1 쉬프트 레지스터(30)에 저장된 시리얼 데이터를 로드하여 저장하는 시리얼입력 레지스터(40)와, 상기 시리얼입력 레지스터(40)에서 출력된 데이터를 시리얼출력 레지스터라이트신호(soregwr)에 응답하여 로드하고, 저장하는 데이터 레지스터(50)와, 출력클럭신호의 시리얼데이터를 출력하기 위해 하강에지를 카운트하여 시리얼출력 검출신호(sod)를 발생하는 제2 카운터(60)와, 상기 제2 카운터(60)의 시리얼출력 검출신호(sod)에 의해 리셋되고, 시리얼출력 레지스터라이트신호(soregwr), 출력클럭(outclk), 리세트신호(rst)에 응답하여 전체 시리얼입출력시스템의 입출력상태를 제어하는 시리얼입출력 상태부(70)와, 상기 시리얼입출력 상태부(70)의 쉬프트로드신호(shftld)를 입력으로하여 상기 데이터 레지스터(50)에 저장된 데이터를 로드하고, 클럭신호(clk)의 하강에지에 시리얼 데이터를 출력하는 제2 쉬프트레지스터(80)로 구성된다.
상기 시리얼입출력 상태부(70)의 상태는 쉬프트레지스터 라이트신호(shregwr)가 하이일 때 데이터 레지스터에 라이트하기 위해 대기상태에 있는 제1 상태(100)와, 상기 시리얼출력 레지스터라이트신호(soregwr) 및 출력클럭신호(outclk)가 하이일 때 시리얼 데이터 출력을 위한 준비작업을 하는 제2 상태(200)와, 상기 출력클럭신호(outclk)가 하이이고 시리얼 입출력신호(sio)가 로우일 때 시리얼입출력이 시작됨을 인지하는 제3 상태(300)와, 상기 출력클럭신호(outclk)가 하이이고, 쉬프트레지스터 클럭신호(shftclk)가 하이이고, 출력클럭리셋신호(outclkrst)가 하이이고, 제2 카운터(60)의 값이 증가하여 데이터 레지스터(50)의 값을 제2 쉬프트레지스터(80)로 로드하여 출력하는 제4 상태(400)와, 상기 제2 카운터(60)의 신호가 하이일 때 시리얼출력 검출신호(sod)가 액티브되어 시리얼출력의 종료를 알리는 제5 상태(500)와, 상기 제2 상태(200)에서 출력클럭(outclk)이 하이가 되기전에 시리얼출력 레지스터라이트신호(soregwr)가 발생하면 그 전의 데이터 레지스터값은 손실되고 현재 입력된 값의 출력을 준비하기 위해 상기 제1 상태(100)로 피드백하는 제6 상태(600)로 이루어진다.
상기와 같이 구성된 본 발명의 작용을 첨부도면 도 3∼도 5에 의거해서 설명하면, 먼저 시리얼 입출력장치가 시리얼 데이터를 수신하기 위해서는 도 3의 신호도와 같이 시리얼입출력클럭(sioutclk)와 시리얼입출력데이터(siodat)가 주어져야 한다. 시리얼입출력데이터(siodat)는 시리얼입출력클럭(sioutclk)의 상승에지 이전에 준비되어야 하며, 시리얼 카운터(20)에 의해 제어된다.
시리얼입출력데이터(siodat)는 제1 쉬프트레지스터(30)에 데이터를 입력한다. 상기 제1 쉬프트레지스터(30)는 시리얼입출력클럭(sioutclk)의 상승에지에서 동기되어 1비트씩 쉬프트하면서 시리얼 데이터를 저장한다. 또한 쉬프트 정보는 도 3에서 보인바와 같이 비트 카운터인 제1 카운터(10)의 카운트값으로 알 수 있다. 도 2의 시리얼카운터(20)의 로드신호는 시리얼 데이터의 입력횟수를 인식하기 위한 로드값 08h을 로드한다. 제1 카운터(10)는 08h에서 00h까지 다운 카운트하며, 이것은 시리얼 클럭의 개수를 카운트 다운하게 된다. 마지막 시리얼클럭이 액티브되면 제1 카운터 캐리(scdn)는 하이가 되고 분주된 클럭(clk2d)의 1주기 후에 시리얼입력 검출신호(sid)가 액티브된다. 상기 시리얼입력 검출신호(sid)는 도 3에서 보는 바와같이 시리얼 수신의 끝에서 액티브된다. 시리얼입력 검출신호(sid)가 액티브되면 제1 카운터(10)의 캐리(scdn)가 로우신호로 되고, 이에따라 제1 카운터(10)에 시리얼입력 검출신호(sid)가 액티브되는 순간 로드값을 로드한다. 시리얼입력 데이터(sid)는 2분주된 클럭(clk2d)에 동기되어 제1 쉬프트 레지스터(30)에 있던 시리얼 데이터를 시리얼입력 레지스터(40)에 저장시킨다.
다음으로 도 4에 도시된 타이밍도를 참조하여 시리얼입출력장치의 데이터 출력을 설명하면 데이터 레지스터(50)의 라이트(write)로부터 초기화된다. 시리얼입출력장치의 출력전송은 입력포트인 출력클럭(outclk)의 첫 번째 로우신호에서 전송이 시작된다. 전송되는 동안 8비트 데이터는 최상위비트(MSB)로부터 전달되고, 전송이 끝나면 시리얼입출력핀은 하이가 된다.
시리얼 출력데이터는 출력클럭(outclk)의 하강에지에서 변화되므로 상기 출력클럭(outclk)은 로우에서 하이로 9번 전이된다.
도 5 는 도 2에 구비된 시리얼 입출력 상태부(70)의 출력신호에 따른 입출력장치의 출력상태를 설명하기 위한 도면으로서, 도시한 바와같이 시리얼입출력 상태부(70)는 2분주된 클럭(clk2d)의 상승에지에서 변화되고, 시리얼입출력 상태부(70)의 제1 상태(100)는 대기 상태이고, 데이터 레지스터(50)에 라이트하기 위해 대기 한다. 상기 데이터 레지스터(50)의 라이트신호(soregwr)가 하이로 될 때 시리얼입출력 상태부(70)는 제2 상태(200)로 가고 제2 상태(200)동안에 시리얼 출력을 위한 준비작업을 한다. 이에 따라 쉬프트로드신호(shftld)는 로우가 되고, 출력될 예정인 데이터를 데이터 레지스터(50)에 로드하고, 비트 카운터인 제2 카운터(60)에 9의 값을 로드한다. 시리얼입출력의 출력신호는 로우가 되고, 제1 카운터(10)의 신호 또한 로우가 된다. 처음 출력클럭(outclk)의 하강에지로부터 출력클럭(olck)을 하이로 만들고, 출력클럭리셋신호(soutclkrst)로부터 출력클럭(outclk)이 플립플롭(f1)(f2)를 클리어한다. 시리얼입출력장치의 출력(sioout)이 로우에서 시리얼입출력장치의 출력시작을 알게 된다. 출력클럭(olck)이 하이가 되기전에 시리얼출력레지스터 라이트신호(soregwr)가 발생하면 그전의 데이터 레지스터값은 손실되고 현재 입력된 값의 출력을 준비한다. 반면 출력클럭(outclk)이 하이가 되면 제4 상태(400)가 시작되고 제2 쉬프트레지스터(80)의 클럭(shftclk)이 하이로 간다. 또한 출력클럭리셋신호(soutclkrst)가 하이로 가고 제2 카운터(60)가 증가하여 데이터값을 제2 쉬프트레지스터(80)에 이동시켜 출력을 내보낸다. 제5 상태(500)의 시작은 쉬프트클럭(shftclk)과 출력클럭리셋신호가 로우가 되면서 부터이다. 제4 상태(400)와 제5 상태(500)사이에 상태부(70)의 사이클은 비트 카운터인 제2 카운터(60)가 제로이고, 제2 카운터(60)의 값이 하이일때까지 계속된다.
상기 시리얼입출력 상태부(70)의 제1 상태(100)가 발생하면 다음 시리얼입출력장치의 출력전송을 위한 대기상태를 수행하는 제6 상태(600)가 발생한다. 시리얼입출력장치의 출력전송후에 출력클럭핀(outclk pin)은 하이가 된다. 제2 카운터(60)가 하이로 가면 시리얼 출력의 종료를 알리는 시리얼출력검출(sod)신호가 액티브된다.
따라서, 상술한 바와 같이 본 발명에서는 현재의 입력데이터가 다음 시리얼 입력으로부터 손실되는 것을 방지할 수 있고 시리얼입출력장치에 시리얼입출력제어기를 구비하므로서 회로의 단순화를 구현할 수 있다는 효과가 있다.
Claims (2)
- 시리얼입출력 클럭신호에 동기되어 시리얼 클럭을 다운카운트하기 위한 제1 카운터와, 상기 제1 카운터에서 로드된 로드값에 의해 시리얼 데이터의 입력횟수를 인식하고, 시리얼 데이터를 수신하도록 시리얼입력 검출신호를 출력하는 시리얼 카운터와, 상기 시리얼 데이터를 입력받고, 시리얼입출력 클럭신호의 상승에지에 의해 동기되어 1비트씩 쉬프트하면서 시리얼 데이터를 저장하는 제1 쉬프트 레지스터와, 상기 시리얼입력 검출신호에 응답하여 상기 제1 쉬프트 레지스터에 저장된 시리얼 데이터를 로드하여 저장하는 시리얼입력 레지스터와, 상기 시리얼입력 레지스터에서 출력된 데이터를 시리얼출력 레지스터라이트신호에 응답하여 로드하고, 저장하는 데이터 레지스터와, 출력클럭신호의 시리얼데이터를 출력하기 위해 하강에지를 카운트하여 시리얼출력 검출신호를 발생하는 제2 카운터와, 상기 제2 카운터의 시리얼출력 검출신호에 의해 리셋되고, 시리얼출력 레지스터라이트신호, 출력클럭, 리세트신호에 응답하여 전체 시리얼입출력시스템의 입출력상태를 제어하는 시리얼입출력 상태부와, 상기 시리얼입출력 상태부의 쉬프트로드신호를 입력으로하여 상기 데이터 레지스터에 저장된 데이터를 로드하고, 클럭신호의 하강에지에 시리얼 데이터를 출력하는 제2 쉬프트레지스터로 구비되는 것을 특징으로 하는 범용 시리얼입출력 회로.
- 제 1 항에 있어서, 상기 시리얼입출력 상태부의 상태는 쉬프트레지스터 라이트신호가 하이일 때 데이터 레지스터에 라이트하기 위해 대기상태에 있는 제1 상태와, 상기 시리얼출력 레지스터 라이트신호 및 출력클럭신호가 하이일 때 시리얼 데이터 출력을 위한 준비작업을 하는 제2 상태와, 상기 출력클럭신호가 하이이고 시리얼 입출력신호가 로우일 때 시리얼입출력이 시작됨을 인지하는 제3 상태와, 상기 출력 클럭신호가 하이이고, 쉬프트레지스터 클럭신호가 하이이고, 출력클럭리셋신호가 하이이고, 제2 카운터의 값이 증가하여 데이터 레지스터의 값을 제2 쉬프트레지스터로 로드하여 출력하는 제4 상태와, 상기 제2 카운터의 신호가 하이일 때 시리얼출력 검출신호가 액티브되어 시리얼출력의 종료를 알리는 제5 상태와, 상기 제2 상태에서 출력클럭이 하이가 되기전에 시리얼출력레지스터 라이트신호가 발생하면 그 전의 데이터 레지스터값은 손실되고 현재 입력된 값의 출력을 준비하기 위해 상기 제1 상태로 피드백하는 제6 상태로 이루어진 것을 특징으로 하는 범용 시리얼 입출력회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960033228A KR19980014301A (ko) | 1996-08-09 | 1996-08-09 | 범용 시리얼 입출력장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960033228A KR19980014301A (ko) | 1996-08-09 | 1996-08-09 | 범용 시리얼 입출력장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980014301A true KR19980014301A (ko) | 1998-05-25 |
Family
ID=66251070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960033228A KR19980014301A (ko) | 1996-08-09 | 1996-08-09 | 범용 시리얼 입출력장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980014301A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030082094A (ko) * | 2002-04-16 | 2003-10-22 | 삼성전자주식회사 | 직렬 데이터 수신장치의 데이터 정렬 장치 |
-
1996
- 1996-08-09 KR KR1019960033228A patent/KR19980014301A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030082094A (ko) * | 2002-04-16 | 2003-10-22 | 삼성전자주식회사 | 직렬 데이터 수신장치의 데이터 정렬 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6152499B2 (ko) | ||
JP3054630B2 (ja) | デジタル・データ発生装置 | |
CA2329374C (en) | A pulse width modulated weighing platform | |
US7061272B2 (en) | Finite state machine circuit | |
US7353417B2 (en) | Microcontroller with synchronised analog to digital converter | |
KR19980014301A (ko) | 범용 시리얼 입출력장치 | |
CA2092845C (en) | Trigger signal generating circuit | |
EP0840237B1 (en) | Synchronization of data processor with external bus | |
JPH1069327A (ja) | クロック周期調節方法とその装置 | |
JP3506047B2 (ja) | テストモード設定方法とテスト回路およびマイクロコントローラ | |
JPS6030026B2 (ja) | スキユー補正回路 | |
JPS62226361A (ja) | マイクロプロセツサシステム | |
KR200158764Y1 (ko) | 동기식 직렬 수신 장치 | |
JP3115756B2 (ja) | デマルチプレクサ回路 | |
KR940010429B1 (ko) | 동기신호 발생장치 | |
JPH0749428Y2 (ja) | 光電スイッチ回路 | |
JP2004029947A (ja) | クロック生成装置及びオーディオデータ処理装置 | |
JPH0721123A (ja) | 直列データ転送装置 | |
JPH03263921A (ja) | プリセット付きカウンタ | |
JP3120594B2 (ja) | 同期信号検出装置 | |
JP2593017B2 (ja) | シリアルデータ転送装置 | |
KR100192541B1 (ko) | 타이머 | |
JPS627577B2 (ko) | ||
US20020140462A1 (en) | Semiconductor circuit | |
JPH07129485A (ja) | シリアル伝送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |