KR100531729B1 - 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법 - Google Patents

피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법 Download PDF

Info

Publication number
KR100531729B1
KR100531729B1 KR10-2003-0097054A KR20030097054A KR100531729B1 KR 100531729 B1 KR100531729 B1 KR 100531729B1 KR 20030097054 A KR20030097054 A KR 20030097054A KR 100531729 B1 KR100531729 B1 KR 100531729B1
Authority
KR
South Korea
Prior art keywords
sequential
address
transfer
command
peripheral device
Prior art date
Application number
KR10-2003-0097054A
Other languages
English (en)
Other versions
KR20050065894A (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 KR10-2003-0097054A priority Critical patent/KR100531729B1/ko
Publication of KR20050065894A publication Critical patent/KR20050065894A/ko
Application granted granted Critical
Publication of KR100531729B1 publication Critical patent/KR100531729B1/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Abstract

본 발명은 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것으로, 특히 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애고 결과적으로 주변기기의 성능을 보다 높일 수 있도록 한 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것이다.
본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치는, 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 장치에 있어서, 상기 PC 병렬포트와 연결되어 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터에 저장하고 분석하여 넌-시퀀셜 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜 전송모드에서 시작 어드레스와 전송개수를 전송하기 위한 명령분석기; 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하기 위한 시퀀셜 어드레스발생기; 상기 명령분석기와 상기 시퀀셜 어드레스생성기의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write) 및 칩 인에이블 신호를 발생시키기 위한 제어신호발생기; 상기 제어신호발생기로부터 입력되는 읽기/쓰기(Read/Write) 신호에 의해 양방향 데이터 버스의 방향을 제어하기 위한 버스방향전환기; 및 상기 버스방향전환기와 상기 명령분석기의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 상기 시퀀셜 어드레스발생기의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 상기 명령분석기의 어드레스 레지스터 값을 선택하는 기능을 수행하기 위한 어드레스선택기를 포함하여 이루어진 것을 특징으로 한다.

Description

피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법{Apparatus for interface pheriperal device with PC using parallel port and method thereof}
본 발명은 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것으로, 특히 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애고 결과적으로 주변기기의 성능을 보다 높일 수 있도록 한 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것이다.
일반적으로, 초기 PC(Personal Computer)의 병렬포트는 단순히 PC에서 프린터로 단방향의 데이터만 전송하기 위한 프린터 전용 포트로 사용되었다.
그러나, 보다 빠른 속도, 다양한 폰트 및 그래픽 지원 기능을 갖는 고성능 프린터와의 인터페이스를 위하여 병렬포트의 기능 및 성능이 많이 향상되었다. 또한, PC들간에 호환성이 매우 높고, 인터페이스 회로가 간단하며, 포트를 제어하기 위한 소프트웨어 개발이 매우 용이하다는 장점으로 현재는 프린터뿐만 아니라 다양한 주변기기 하드웨어와의 인터페이스로 사용된다.
도 1은 일반적인 인터페이스 장치가 적용되는 주변기기를 개략적으로 나타낸 블록 구성도이다.
도 1에 도시한 바와 같이, IEEE1284 규격 병렬포트(15)를 갖는 PC(10)와 주변기기(30) 내의 인터페이스 장치(40)를 IEEE1284 케이블(20)을 통하여 연결되어 있다.
PC(10)와 연결된 주변기기(30)는 IEEE1284 규격 병렬포트(15)를 연결하기 위한 인터페이스 장치(40)를 비롯한 제어부(50) 및 데이터부(60) 등을 포함하여 구성되어 있다. PC(10)의 병렬포트(15)는 주변기기(30)를 제어하기 위한 초기화, 명령 전달 및 상태 파악 등을 제어부(50)와의 통신으로 수행하며, 주변기기(30)의 동작을 위한 데이터 입력 및 동작 결과에 대한 출력을 데이터부(60)와의 데이터 전송으로 수행한다.
PC(10) 소프트웨어(Software)는 제어(또는 전송)하고자 하는 레지스터(또는 메모리)에 대한 어드레스와 읽기/쓰기(Read/Write)신호를 전송한 후, 데이터를 쓰거나 읽는 순서로 동작하게 된다.
그러나, 상기와 같은 종래의 일반적인 주변기기(30)는 주로 넌-시퀀셜 모드 전송으로 통신되는 제어부(50)와 시퀀셜 모드 데이터 전송이 가능한 데이터부(60)로 대표될 수 있으며, 순차적으로 전송하는 시퀀셜(Sequential) 어드레싱 접근에 의한 데이터 송수신 시간이 상대적으로 넌-시퀀셜(Non-sequential) 어드레스 접근에 따른 제어용 데이터 송수신 시간 보다 길기 때문에, 제어부(50) 보다는 데이터부(60)와 PC(10)간의 데이터 송수신에 대부분의 시간을 사용한다.
예를 들면, 제어부(50)를 포함하여 j개의 어드레스 영역을 갖고, 각 영역 중에 가장 큰 어드레스 값이 n으로 표현되는 주변기기(30)의 경우, 각각의 구성요소(레지스터 또는 메모리)에 1byte 데이터를 전송하기 위하여 병렬포트로 전송될 최소의 byte 수는 다음과 같다.
1byte 전송을 위한 병렬포트 접근 횟수
= 어드레스에 대한 byte 수 + Read/Write 신호 + 데이터 수
= j * n 어드레스를 표현할 수 있는 byte 수 + 1 + 1 ---------(식 1)
m bytes 전송을 위한 병렬포트 접근 횟수
=(식 1)*m --------------------------------------------------(식 2)
상기와 같이 PC(10)와 주변기기(30)의 데이터 전송시간을 분석하면, 넌-시퀀셜(Non-sequential) 어드레스 접근에 따른 제어용 데이터 송/수신보다는 블록 단위의 데이터를 순차적으로 전송하는 시퀀셜(Sequential) 어드레스 접근의 데이터 송수신에 대부분의 시간이 소요된다.
특히, 메가(Mega)급 이상의 데이터 전송이 필요할 경우, 주변기기(30)와 PC(10)의 성능을 급격하게 저하시킬 수 있는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애고 결과적으로 주변기기의 성능을 보다 높일 수 있도록 한 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치는, 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 장치에 있어서, 상기 PC 병렬포트와 연결되어 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터에 저장하고 분석하여 넌-시퀀셜 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜 전송모드에서 시작 어드레스와 전송개수를 전송하기 위한 명령분석기; 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하기 위한 시퀀셜 어드레스발생기; 상기 명령분석기와 상기 시퀀셜 어드레스생성기의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write) 및 칩 인에이블 신호를 발생시키기 위한 제어신호발생기; 상기 제어신호발생기로부터 입력되는 읽기/쓰기(Read/Write) 신호에 의해 양방향 데이터 버스의 방향을 제어하기 위한 버스방향전환기; 및 상기 버스방향전환기와 상기 명령분석기의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 상기 시퀀셜 어드레스발생기의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 상기 명령분석기의 어드레스 레지스터 값을 선택하는 기능을 수행하기 위한 어드레스선택기를 포함하여 이루어진 것을 특징으로 한다.
전술한 구성에서, 상기 명령분석기는, 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 저장하기 위한 명령 레지스터부; 전송 목적지의 시작 어드레스를 저장하기 위한 어드레스 레지스터부; 시퀀셜 전송모드일 경우에만 전송개수를 PC로부터 입력받아 저장하기 위한 전송개수 레지스터부; 및 상기 각 부의 동작을 제어하기 위한 FSM(Finite State Machine)_1부를 포함하여 이루어짐이 바람직하다.
바람직하게는, 상기 시퀀셜 어드레스발생기는, 상기 명령분석기의 어드레스 레지스터부로부터 시작 어드레스를 입력하고 각 데이터 전송 사이클마다 순차적으로 어드레스를 발생시키기 위한 어드레스발생부; 상기 명령분석기의 전송개수 레지스터부로부터 전송개수를 입력받아 각 데이터 전송 사이클마다 이를 카운팅하고 전송개수만큼 데이터 전송 사이클이 진행되었는지 판단하여 시퀀셜 전송종료신호를 발생하기 위한 종료신호발생부; 및 상기 각부의 동작을 제어하기 위한 FSM(Finite State Machine)_2부를 포함하여 이루어진다.
그리고, 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 방법에 있어서, (a) 상기 주변기기의 준비 상태를 점검하기 위한 단계; (b) 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 전달하기 위한 단계; (c) 전송하고자 하는 목적지의 어드레스를 전달하기 위한 단계; (d) 상기 전달된 전송 명령들 중 시퀀셜 모드일 경우에만 전송될 데이터의 수량을 전달하기 위한 단계; (e) 상기 전달된 전송 명령들의 전달 완료 및 데이터 전송을 진행할 수 있는지를 점검하기 위한 명령 전달 종료 점검 단계; (f) 상기 단계(e)에서 명령 전달이 완료될 경우, 상기 전달된 전송 명령이 시퀀셜 전송모드인가 넌-시퀀셜 전송모드인가를 판단하여 상기 넌-시퀀셜 모드일 경우에는 대상 데이터를 송수신하고, 상기 시퀀셜 모드일 경우에는 전송개수 만큼 반복해서 데이터를 송수신하기 위한 데이터 송수신 단계; 및 (g) 전송완료 상태를 점검하기 위한 단계를 포함하여 이루어진 것을 특징으로 한다.
이하 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이다.
도 2는 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치를 전체적으로 나타낸 블록 구성도이고, 도 3은 도 2의 명령 분석기를 구체적으로 나타낸 블록 구성도이며, 도 4는 도 2의 시퀀셜 어드레스 발생기를 구체적으로 나타낸 블록 구성도이다.
먼저, 본 발명에 따른 인터페이스 장치가 적용될 주변기기(30) 및 PC(10)의 연결관계 및 구성 등은 전술한 종래의 구성과 작용이 동일하게 이루어지는 바, 이에 상세한 설명은 생략하기로 한다(도 1참조).
도 2 내지 도 4에 도시한 바와 같이, 본 발명에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치는, 명령분석기(200), 시퀀셜 어드레스발생기(300), 제어신호발생기(400), 버스방향전환기(500) 및 어드레스선택기(600)를 포함하여 이루어진다.
전술한 구성에서, 명령분석기(200)는 PC(10)의 병렬포트(15)와 연결되어 있으며, PC(10)로부터 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터부에 저장하고 분석하여 넌-시퀀셜(Non-sequential) 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜(Sequential) 전송모드에서 시작 어드레스와 전송개수를 전송하는 역할을 수행한다.
이러한 명령분석기(200)는 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 저장하기 위한 명령 레지스터부(210)와, 전송 목적지의 시작 어드레스를 저장하기 위한 어드레스 레지스터부(220)와, 시퀀셜 전송모드일 경우에만 전송개수를 PC(10)로부터 입력받아 저장하기 위한 전송개수 레지스터부(230)와, 상기 각 부의 동작을 제어하기 위한 FSM(Finite State Machine)_1부(240)로 구성되어 있다.
시퀀셜 어드레스발생기(300)는 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하는 역할을 수행한다.
이러한 시퀀셜 어드레스발생기(300)는 명령분석기(200)의 어드레스 레지스터부(220)로부터 시작 어드레스를 입력하고 각 데이터 전송 사이클마다 순차적으로 어드레스를 발생시키기 위한 어드레스발생부(310)와, 명령분석기(200)의 전송개수 레지스터부(230)로부터 전송개수를 입력받아 각 데이터 전송 사이클마다 이를 카운팅하고 전송개수만큼 데이터 전송 사이클이 진행되었는지 판단하여 시퀀셜 전송종료신호를 발생하기 위한 종료신호발생부(320)와, 상기 각부의 동작을 제어하기 위한 FSM(Finite State Machine)_2부(330)로 구성되어 있다.
이때, 어드레스발생부(310)는 다음 데이터 전송에 필요한 어드레스를 현재 어드레스로부터 증가 또는 감소함으로써 얻어내고, 종료신호발생부(320)는 현재까지의 전송횟수를 카운터하며, 전송개수만큼의 전송이 이루어졌나를 매 전송 사이클마다 검사하고 만일 완료되면 종료신호를 발생하고 데이터 전송 사이클을 끝내게 된다.
제어신호발생기(400)는 명령분석기(200)와 시퀀셜 어드레스생성기(300)의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write) 및 칩 인에이블 신호(Chip enable signal)를 발생시키는 역할을 수행한다.
버스방향전환기(500)는 제어신호발생기(400)로부터 입력되는 읽기/쓰기(Read/Write)신호에 의해 양방향 데이터 버스의 방향을 제어하는 역할을 수행한다.
어드레스선택기(600)는 버스방향전환기(500)와 명령분석기(200)의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 시퀀셜 어드레스발생기(300)의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 명령분석기(200)의 어드레스 레지스터 값을 선택하는 기능을 수행한다.
도 5는 도 3의 명령분석기(200)의 동작을 설명하기 위한 흐름도이다.
도 5에 도시한 바와 같이, 먼저 단계S100에서는 PC(10)로부터 전송된 각종 명령을 입력(저장) 수행하고, 단계S110으로 진행하여 상기 전송된 명령 중 시작 어드레스를 입력 수행한다.
다음, 단계S120에서는 상기 전송된 명령이 어느 전송모드 인지를 판단하여 넌-시퀀셜 전송모드일 경우 단계S130으로 진행하여 넌-시퀀셜 데이터 즉, 목적 어드레스를 발생하여 전송하고 상기 단계S100으로 리턴된다.
상기 단계S120에서의 판단 결과, 시퀀셜 전송모드일 경우에는 단계S140으로 진행하여 전송개수들의 입력을 수행함과 아울러 전송모드를 활성하고, 단계S150으로 진행하여 전송이 완료되었는지를 판단하여 전송이 완료되었을 경우에는 상기 단계S100으로 리턴된다.
즉, PC(10)로부터 입력된 정보 명령을 조사하여 시퀀셜 전송모드로 분석되면, 계속해서 전송개수를 입력받아 전송개수 레지스터(230)에 저장하고 데이터 전송 사이클을 시작할 수 명령 전송 완료 플래그를 발생시킨다. 그렇지 않고, 정보 명령이 넌-시퀀셜 모드로 분석되면, 전송개수 입력을 생략하고 명령 전송완료 플래그를 발생시킴으로써 명령 분석 단계를 완료한다.
한편, 상기와 같이 전술한 명령분석기(200)의 동작 흐름은 FSM_1부(240)를 통하여 구현됨이 바람직하다.
여기서, FSM_1부(240)의 동작 상태를 전이하기 위한 클럭 신호(clock signal)는 PC(10)의 병렬포트(15)의 EPP 동작 신호들(100) 중 Address_Strobe 또는 Data_Strobe 신호를 입력으로 사용하고, 제어신호발생기(400)에서 주변기기(30)의 시스템 속도에 맞게 조작된 신호를 사용한다.
도 6은 도 4의 시퀀셜 어드레스발생기(300)의 동작을 설명하기 위한 흐름도이다.
도 6에 도시한 바와 같이, 먼저, 단계S200에서는 시퀀셜 전송모드에서 전송모드가 활성되었는지를 판단하여 전송모드가 활성되었을 경우 단계S210으로 진행하여 어드레스 및 종료신호를 초기화하고, 단계S220으로 진행하여 각 데이터를 전송함과 아울러 어드레스를 발생한다.
다음, 단계S230에서는 상기 발생된 어드레스가 종료 어드레스인지를 판단하여 종료 어드레스일 경우 단계S240으로 진행하여 종료신호를 발생하며, 그렇지 않고 종료 어드레스가 아닐 경우에는 상기 단계S220으로 리턴되어 계속해서 각 데이터를 전송함과 아울러 어드레스를 발생한다.
한편, 상기와 같이 전술한 시퀀셜 어드레스발생기(300)의 동작 흐름은 FSM_2부(330)를 통하여 구현됨이 바람직하다.
여기서, FSM_2부(330)의 동작 상태를 전이하기 위한 클럭 신호(clock signal)는 EPP 동작 신호들(100)의 Address_Strobe 및 Data_Strobe 중 FSM_1부(240)에서 사용하지 않은 신호를 입력받아 제어신호발생기(400)에서 주변기기(30)의 시스템 속도에 맞게 조작된 신호를 사용한다.
이하에는 전술한 구성을 가지는 본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법에 대해서 상세하게 설명한다.
도 7은 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법을 설명하기 위한 전체적인 흐름도이다.
도 7에 도시한 바와 같이, 먼저 단계S300에서는 PC(10)에 의해 주변기기(30)의 상태를 점검하여 명령분석기(200)와 시퀀셜 어드레스발생기(300)의 준비 상태 및 기타 주변기기(30)의 PC(10)로부터의 접근을 허락하는 상태 정보의 읽기(Read)작업을 수행한다.
다음, 단계S301로 진행하여 상기 상태 정보의 읽기(Read)가 수행되었는지를 판단하여 읽기(Read)가 수행되지 않았을 경우 상기 단계S300으로 리턴되며, 그렇지 않고 상기 상태 정보의 읽기(Read)가 수행되었을 경우 즉, 주변기기(30)가 통신할 준비가 되어 있으면, 단계S302,S303으로 진행하여 PC(10)는 정보 명령과 전송의 목적지인 시작 어드레스를 인터페이스 장치 내부의 명령분석기(200)로 전달한다. 이 때, 정보 명령과 시작 어드레스는 명령분석기(200)의 해당 레지스터부에 각각 저장된다.
이후, 단계S304에서는 상기 입력된 정보 명령을 조사하여 어느 전송모드인지를 판단하여 시퀀셜 전송모드일 경우에는 단계S305,S306으로 진행하여 PC(10)는 전송개수를 명령분석기(200)로 전달하고, 명령분석기(200)와 시퀀셜 어드레스발생기(300)의 준비 상태 및 기타 주변기기(30)의 PC(10)로부터의 접근을 허락하는 상태 정보의 읽기(Read)작업을 수행한다.
한편, 상기 단계S304에서의 판단 결과, 넌-시퀀셜 전송모드일 경우에는 상기 단계S305의 전송개수의 전달 수행을 거치지 않고 바로 상기 단계S306으로 진행하여 주변기기 상태의 읽기(Read) 작업을 수행한다.
다음, 단계S307에서는 PC(10)와 명령분석기(200)간의 명령 전송이 완료되었는지 판단하여 완료되지 않았을 경우 상기 단계S306으로 리턴되며, 그렇지 않고 명령 전송이 완료되었을 경우에는 단계S308로 진행하여 상기 입력된 정보 명령이 어느 전송모드인지를 판단한다.
상기 단계S308에서의 판단 결과, 시퀀셜 전송모드일 경우에는 단계S309로 진행하여 각 데이터를 송/수신하고, 단계S310으로 진행하여 종료 어드레스가 발생되었는지를 판단하여 종료 어드레스가 발생될 때까지 상기 단계S309로 리턴되어 계속해서 각 데이터를 송/수신한다.
한편, 상기 단계S310에서의 판단 결과, 종료 어드레스가 발생될 경우에는 단계S311로 진행하여 명령분석기(200)와 시퀀셜 어드레스발생기(300)의 준비 상태 및 기타 주변기기(30)의 PC(10)로부터의 접근을 허락하는 상태 정보의 읽기(Read)작업을 수행한다.
즉, 명령분석기(200)에 의해 발생된 명령 전송완료 플래그를 확인하고 시퀀셜 어드레스발생기(300) 내부의 어드레스발생부(310)와 종료신호발생부(320)를 명령분석기(200)의 시작 어드레스 레지스터와 전송개수 레지스터 값으로 각각 초기화 한다. 이때, 사용되는 초기화 동기 신호는 상기 단계S307에서의 명령 전송완료를 점검하기 위해 발생되는 주변기기 상태 읽기(Read)신호를 사용함으로써, 전송 사이클을 절약할 수도 있다. 어드레스발생부(310)와 종료신호발생부(320)를 초기화 한 후에 PC(10)의 데이터 전송 사이클에 동기하여 데이터 송수신을 수행하게 된다.
다른 한편, 상기 단계S308에서의 판단 결과, 넌-시퀀셜 전송모드일 경우에는 상기 단계S309,S310을 거치지 않고 바로 단계S312로 진행하여 PC(10)로부터 한 번 수행되는 데이터 전송 사이클에 동기하여 데이터의 송/수신을 완료한 후, 상기 단계S311로 진행하여 주변기기 상태의 읽기(Read) 작업을 수행한다.
이때, 상기 목적 어드레스는 명령분석기(200)의 시작 어드레스 내용을 어드레스선택기(600)를 통하여 직접 전달하게 되며, 결과적으로 시퀀셜 어드레스발생기(300)는 동작할 필요가 없게 된다.
다음, 단계S313에서는 데이터 전송의 성공여부를 판단하여 데이터가 성공적으로 전송되었을 경우 단계S314로 진행하여 데이터의 전송 성공을 확인하며, 그렇지 않고, 데이터가 성공적으로 전송되지 않았을 경우에는 단계S315로 진행하여 데이터의 전송 실패를 확인한다.
즉, 상기 단계S307에서 PC(10)와 명령분석기(200) 간의 명령 전송이 완료되면 데이터 전송 사이클이 시작되는 바, 전송개수를 포함한 명령 전송을 완료한 PC(10)는 주변기기(30)의 상태를 다시 점검한다.
이때, 상기 발생된 명령 전송완료 플래그를 검사하는 과정으로 만일 원하지 않는 값으로 판명나면, 전송을 처음부터 시작하고, 상기 단계S307에서 명령 전송완료 점검에 문제가 없으면, PC(10)는 전송모드를 고려하여 넌-시퀀셜 전송모드일 경우에는 데이터 전송 사이클을 한 번 수행하며, 그렇지 않고, 시퀀셜 전송모드일 경우에는 전송하고자 하는 개수만큼 반복하여 데이터 전송을 수행한다. 이후, 데이터 전송이 완료되면 마지막으로 주변기기의 상태를 점검하여 전송의 성공여부를 확인한다. 이때, 시퀀셜 어드레스발생기(300)에서 출력되는 종료신호를 상태 점검 요소로 사용한다.
상기와 같이 본 발명에 따른 인터페이스 방법을 주변기기(30)에 적용할 경우 기존의 (식 2)가 다음의 (식 3)로 정리되며, m2가 m1 보다 상당히 클 경우 전체 인터페이스에 걸리는 시간을 약 (식 1)배 만큼 단축시킬 수 있으며, 결과적으로 메가급 이상의 데이터 전송 시간에 따른 성능 저하를 개선 할 수 있다.
m bytes 전송을 위한 parallel port 접근 횟수
= 넌-시퀀셜(No-sequential)용 횟수 + 시퀀셜(Sequential)용 횟수
={(식1)*m1}+(명령정보+상태점검+m2)-----------------------(식3)
(단, m = m1 + m2, 명령정보 = j * n 을 표현할 수 있는 byte 수 + m2를 표현할 수 있는 byte 수 상태점검 = 2 ~ 3회 byte Read 수)
전술한 본 발명에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
이상에서 설명한 바와 같은 본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 따르면, 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애므로, 전체 인터페이스에 걸리는 시간을 효과적으로 단축시킬 수 있으며, 결과적으로 메가급 이상의 데이터 전송 시간에 따른 성능 저하를 개선하여 주변기기의 성능을 보다 높일 수 있는 이점이 있다.
도 1은 일반적인 인터페이스 장치가 적용되는 주변기기를 개략적으로 나타낸 블록 구성도,
도 2는 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치를 전체적으로 나타낸 블록 구성도,
도 3은 도 2의 명령분석기를 구체적으로 나타낸 블록 구성도,
도 4는 도 2의 시퀀셜 어드레스발생기를 구체적으로 나타낸 블록 구성도,
도 5는 도 3의 명령분석기의 동작을 설명하기 위한 흐름도,
도 6은 도 4의 시퀀셜 어드레스발생기의 동작을 설명하기 위한 흐름도,
도 7은 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법을 설명하기 위한 전체적인 흐름도이다.
*** 도면의 주요 부분에 대한 부호 설명 ***
100 : 병렬 포트의 EPP 동작신호, 200 : 명령분석기,
210 : 명령 레지스터부, 220 : 어드레스 레지스터부,
230 : 전송개수 레지스터부, 240 : FSM_1부,
300 : 시퀀셜 어드레스발생기, 310 : 어드레스발생부,
320 : 종료신호발생부, 330 : FSM_2부,
400 : 제어신호발생기, 500 : 버스방향전환기

Claims (7)

  1. 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 장치에 있어서,
    상기 PC 병렬포트와 연결되어 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터에 저장하고 분석하여 넌-시퀀셜 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜 전송모드에서 시작 어드레스와 전송개수를 전송하기 위한 명령분석기;
    시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하기 위한 시퀀셜 어드레스발생기;
    상기 명령분석기와 상기 시퀀셜 어드레스생성기의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write)및 칩 인에이블 신호를 발생시키기 위한 제어신호발생기;
    상기 제어신호발생기로부터 입력되는 읽기/쓰기(Read/Write) 신호에 의해 양방향 데이터 버스의 방향을 제어하기 위한 버스방향전환기; 및
    상기 버스방향전환기와 상기 명령분석기의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 상기 시퀀셜 어드레스발생기의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 상기 명령분석기의 어드레스 레지스터 값을 선택하는 기능을 수행하기 위한 어드레스선택기를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.
  2. 제 1항에 있어서, 상기 명령분석기는,
    시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 저장하기 위한 명령 레지스터부;
    전송 목적지의 시작 어드레스를 저장하기 위한 어드레스 레지스터부;
    시퀀셜 전송모드일 경우에만 전송개수를 PC로부터 입력받아 저장하기 위한 전송개수 레지스터부; 및
    상기 각 부의 동작을 제어하기 위한 FSM(Finite State Machine)_1부를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.
  3. 제 2항에 있어서, 상기 FSM_1부의 동작 상태를 전이하기 위한 클럭 신호는 상기 PC 병렬포트의 EPP 동작 신호 중 Address_Strobe 또는 Data_Strobe 신호를 입력으로 사용함과 아울러 상기 제어신호발생기에서 주변기기의 시스템 속도에 맞게 조작된 신호를 사용하도록 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.
  4. 제 1항 내지 제 3항중 어느 한 항에 있어서, 상기 시퀀셜 어드레스발생기는,
    상기 명령분석기의 어드레스 레지스터부로부터 시작 어드레스를 입력하고 각 데이터 전송 사이클마다 순차적으로 어드레스를 발생시키기 위한 어드레스발생부;
    상기 명령분석기의 전송개수 레지스터부로부터 전송개수를 입력받아 각 데이터 전송 사이클마다 이를 카운팅하고 전송개수만큼 데이터 전송 사이클이 진행되었는지 판단하여 시퀀셜 전송종료신호를 발생하기 위한 종료신호발생부; 및
    상기 각부의 동작을 제어하기 위한 FSM(Finite State Machine)_2부를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.
  5. 제 4항에 있어서, 상기 FSM_2부의 동작 상태를 전이하기 위한 클럭 신호는 상기 PC 병렬포트의 EPP 동작 신호의 Address_Strobe 및 Data_Strobe 중 상기 FSM_1부에서 사용하지 않은 신호를 입력받아 상기 제어신호발생기에서 주변기기의 시스템 속도에 맞게 조작된 신호를 사용하도록 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.
  6. 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 방법에 있어서,
    (a) 상기 주변기기의 준비 상태를 점검하기 위한 단계;
    (b) 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 전달하기 위한 단계;
    (c) 전송하고자 하는 목적지의 어드레스를 전달하기 위한 단계;
    (d) 상기 전달된 전송 명령들 중 시퀀셜 모드일 경우에만 전송될 데이터의 수량을 전달하기 위한 단계;
    (e) 상기 전달된 전송 명령들의 전달 완료 및 데이터 전송을 진행할 수 있는지를 점검하기 위한 명령 전달 종료 점검 단계;
    (f) 상기 단계(e)에서 명령 전달이 완료될 경우, 상기 전달된 전송 명령이 시퀀셜 전송모드인가 넌-시퀀셜 전송모드인가를 판단하여 상기 넌-시퀀셜 모드일 경우에는 대상 데이터를 송수신하고, 상기 시퀀셜 모드일 경우에는 전송개수 만큼 반복해서 데이터를 송수신하기 위한 데이터 송수신 단계; 및
    (g) 전송완료 상태를 점검하기 위한 단계를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법.
  7. 제 6항에 있어서, 상기 단계(a)에서의 주변기기의 준비 상태를 점검할 경우, 상기 단계(e)에서의 명령 전달 종료 점검할 경우 및 상기 단계(g)에서의 전송완료 상태 점검할 경우에는 상기 명령분석기 및 상기 시퀀셜 어드레스 발생기에서 발생되는 상태 플래그 값 및 기타 주변기기의 상태 정보들을 병렬포트 신호 중 PC로의 입력 신호를 직접 사용하여 읽기(Read)하여 판별하는 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법.
KR10-2003-0097054A 2003-12-26 2003-12-26 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법 KR100531729B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0097054A KR100531729B1 (ko) 2003-12-26 2003-12-26 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0097054A KR100531729B1 (ko) 2003-12-26 2003-12-26 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법

Publications (2)

Publication Number Publication Date
KR20050065894A KR20050065894A (ko) 2005-06-30
KR100531729B1 true KR100531729B1 (ko) 2005-11-29

Family

ID=37257041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0097054A KR100531729B1 (ko) 2003-12-26 2003-12-26 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법

Country Status (1)

Country Link
KR (1) KR100531729B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980701563A (ko) * 1995-11-21 1998-05-15 앤드류 크라이더 동기식 DMA 전송 프로토콜(Synchronous DMA Transfer Protocol)
JPH1139257A (ja) * 1997-07-24 1999-02-12 Oki Electric Ind Co Ltd データ転送方法及びバスインタフェース回路
US6032211A (en) * 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
JP2000132527A (ja) * 1998-10-27 2000-05-12 Nec Eng Ltd プロセッサ間通信制御装置
US6263385B1 (en) * 1997-10-20 2001-07-17 Advanced Micro Devices, Inc. PC parallel port structure partitioned between two integrated circuits interconnected by a serial bus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980701563A (ko) * 1995-11-21 1998-05-15 앤드류 크라이더 동기식 DMA 전송 프로토콜(Synchronous DMA Transfer Protocol)
JPH1139257A (ja) * 1997-07-24 1999-02-12 Oki Electric Ind Co Ltd データ転送方法及びバスインタフェース回路
US6263385B1 (en) * 1997-10-20 2001-07-17 Advanced Micro Devices, Inc. PC parallel port structure partitioned between two integrated circuits interconnected by a serial bus
US6032211A (en) * 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
JP2000132527A (ja) * 1998-10-27 2000-05-12 Nec Eng Ltd プロセッサ間通信制御装置

Also Published As

Publication number Publication date
KR20050065894A (ko) 2005-06-30

Similar Documents

Publication Publication Date Title
US7100086B1 (en) Microcomputer, electronic equipment and debugging system
US5587957A (en) Circuit for sharing a memory of a microcontroller with an external device
EP0378427B1 (en) High speed data transfer on a computer system bus
US6393576B1 (en) Apparatus and method for communication between integrated circuit connected to each other by a single line
EP0378426B1 (en) Data transfer using bus address lines
EP1546898B1 (en) Interface integrated circuit device for a usb connection
US5778195A (en) PC card
JPH08286947A (ja) マイクロコンピュータ
KR100230451B1 (ko) 디지털 신호처리 프로세서의 비동기방식 직렬데이터 송수신 방법
CN111931442A (zh) Fpga内嵌flash控制器及电子装置
EP0427023A2 (en) Data transmission control apparatus for parallel processing system
CN114297962A (zh) 一种自适应接口fpga软硬件协同仿真加速系统
US5274784A (en) Data transfer using bus address lines
US5687371A (en) Selection from a plurality of bus operating speeds for a processor bus interface during processor reset
US20070250740A1 (en) System and method for conducting BIST operations
US6553506B1 (en) Information processing device and electronic equipment
KR100531729B1 (ko) 피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및그 방법
EP0473059A2 (en) Communication control system
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
JPH09102808A (ja) 相手方メモリを用いた二つのプロセッサ間の非同期直列通信用送受信装置
JPH09259068A (ja) 拡張入出力インターフェイス
KR0176087B1 (ko) 시스템 제어기의 프로세서 데이타 처리회로
US20040034710A1 (en) Data transfer operations
JP2004046891A (ja) データ処理システム、データ処理装置、外部装置及びデータ伝送方法
KR0154470B1 (ko) 보조제어장치와 외부장치간 정합회로

Legal Events

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

Payment date: 20081104

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee