KR20050065894A - Apparatus for interface pheriperal device with pc using parallel port and method thereof - Google Patents

Apparatus for interface pheriperal device with pc using parallel port and method thereof Download PDF

Info

Publication number
KR20050065894A
KR20050065894A KR1020030097054A KR20030097054A KR20050065894A KR 20050065894 A KR20050065894 A KR 20050065894A KR 1020030097054 A KR1020030097054 A KR 1020030097054A KR 20030097054 A KR20030097054 A KR 20030097054A KR 20050065894 A KR20050065894 A KR 20050065894A
Authority
KR
South Korea
Prior art keywords
sequential
address
transfer
command
peripheral device
Prior art date
Application number
KR1020030097054A
Other languages
Korean (ko)
Other versions
KR100531729B1 (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 KR10-2003-0097054A priority Critical patent/KR100531729B1/en
Publication of KR20050065894A publication Critical patent/KR20050065894A/en
Application granted granted Critical
Publication of KR100531729B1 publication Critical patent/KR100531729B1/en

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

Landscapes

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

Abstract

본 발명은 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것으로, 특히 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애고 결과적으로 주변기기의 성능을 보다 높일 수 있도록 한 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것이다.The present invention relates to an interface device with a peripheral device using a PC parallel port and a method thereof. In particular, by distinguishing transmission in sequential and non-sequential modes, and in the case of the sequential transmission, only the start address and the number of transmission information are transmitted to the peripheral device. The present invention relates to an interface device with a peripheral device using a PC parallel port and to a method for eliminating the time due to address transfer in each transmission and consequently improving the performance of the peripheral device.

본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치는, 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 장치에 있어서, 상기 PC 병렬포트와 연결되어 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터에 저장하고 분석하여 넌-시퀀셜 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜 전송모드에서 시작 어드레스와 전송개수를 전송하기 위한 명령분석기; 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하기 위한 시퀀셜 어드레스발생기; 상기 명령분석기와 상기 시퀀셜 어드레스생성기의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write) 및 칩 인에이블 신호를 발생시키기 위한 제어신호발생기; 상기 제어신호발생기로부터 입력되는 읽기/쓰기(Read/Write) 신호에 의해 양방향 데이터 버스의 방향을 제어하기 위한 버스방향전환기; 및 상기 버스방향전환기와 상기 명령분석기의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 상기 시퀀셜 어드레스발생기의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 상기 명령분석기의 어드레스 레지스터 값을 선택하는 기능을 수행하기 위한 어드레스선택기를 포함하여 이루어진 것을 특징으로 한다.An interface device with a peripheral device using a PC parallel port of the present invention is an interface device for connecting a PC having an arbitrary parallel port with a peripheral device, and is connected to the PC parallel port to transmit transmission information, start address, and number of transmissions. A command analyzer for receiving a transfer command, storing the result in a corresponding register and analyzing the register to directly generate a destination address in the non-sequential transfer mode, and transmitting the start address and the number of transfers in the sequential transfer mode; A sequential address generator for generating a sequential address for each transmission cycle of each data in the sequential transmission mode and generating an end signal when a predetermined number of transmissions are in progress; A control signal generator for generating a synchronization signal of the command analyzer and the sequential address generator and a read / write and chip enable signal of a final destination; A bus direction switch for controlling a direction of a bidirectional data bus by a read / write signal input from the control signal generator; And selecting a destination address as an output of the sequential address generator in the sequential transfer mode based on the analysis of the transfer command of the bus direction changer and the command analyzer, and in the non-sequential transfer mode, the destination address in the address register of the command parser. And an address selector for performing a function of selecting a value.

Description

피씨 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법{Apparatus for interface pheriperal device with PC using parallel port and method thereof}Apparatus for interface pheriperal device with PC using parallel port and method example}

본 발명은 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것으로, 특히 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애고 결과적으로 주변기기의 성능을 보다 높일 수 있도록 한 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 관한 것이다.The present invention relates to an interface device with a peripheral device using a PC parallel port and a method thereof. In particular, by distinguishing transmission in sequential and non-sequential modes, and in the case of the sequential transmission, only the start address and the number of transmission information are transmitted to the peripheral device. The present invention relates to an interface device with a peripheral device using a PC parallel port and to a method for eliminating the time due to address transfer in each transmission and consequently improving the performance of the peripheral device.

일반적으로, 초기 PC(Personal Computer)의 병렬포트는 단순히 PC에서 프린터로 단방향의 데이터만 전송하기 위한 프린터 전용 포트로 사용되었다.In general, the parallel port of the initial PC (Personal Computer) was used as a printer-only port for transmitting only one-way data from the PC to the printer.

그러나, 보다 빠른 속도, 다양한 폰트 및 그래픽 지원 기능을 갖는 고성능 프린터와의 인터페이스를 위하여 병렬포트의 기능 및 성능이 많이 향상되었다. 또한, PC들간에 호환성이 매우 높고, 인터페이스 회로가 간단하며, 포트를 제어하기 위한 소프트웨어 개발이 매우 용이하다는 장점으로 현재는 프린터뿐만 아니라 다양한 주변기기 하드웨어와의 인터페이스로 사용된다.However, the functions and performance of the parallel port have been greatly improved for faster interface with high performance printers with various fonts and graphics support. It is also used as an interface with various peripheral hardware as well as a printer because of its high compatibility between PCs, simple interface circuits, and easy software development for port control.

도 1은 일반적인 인터페이스 장치가 적용되는 주변기기를 개략적으로 나타낸 블록 구성도이다.1 is a block diagram schematically illustrating a peripheral device to which a general interface device is applied.

도 1에 도시한 바와 같이, IEEE1284 규격 병렬포트(15)를 갖는 PC(10)와 주변기기(30) 내의 인터페이스 장치(40)를 IEEE1284 케이블(20)을 통하여 연결되어 있다.As shown in FIG. 1, a PC 10 having an IEEE1284 standard parallel port 15 and an interface device 40 in the peripheral device 30 are connected via an IEEE1284 cable 20. As shown in FIG.

PC(10)와 연결된 주변기기(30)는 IEEE1284 규격 병렬포트(15)를 연결하기 위한 인터페이스 장치(40)를 비롯한 제어부(50) 및 데이터부(60) 등을 포함하여 구성되어 있다. PC(10)의 병렬포트(15)는 주변기기(30)를 제어하기 위한 초기화, 명령 전달 및 상태 파악 등을 제어부(50)와의 통신으로 수행하며, 주변기기(30)의 동작을 위한 데이터 입력 및 동작 결과에 대한 출력을 데이터부(60)와의 데이터 전송으로 수행한다.The peripheral device 30 connected to the PC 10 includes a controller 50, a data unit 60, and the like, including an interface device 40 for connecting the IEEE1284 standard parallel port 15. The parallel port 15 of the PC 10 performs initialization, command transmission, and state identification for controlling the peripheral device 30 through communication with the controller 50, and inputs and operates data for operation of the peripheral device 30. The output of the result is performed by data transmission with the data unit 60.

PC(10) 소프트웨어(Software)는 제어(또는 전송)하고자 하는 레지스터(또는 메모리)에 대한 어드레스와 읽기/쓰기(Read/Write)신호를 전송한 후, 데이터를 쓰거나 읽는 순서로 동작하게 된다.The PC 10 software transmits an address and a read / write signal to a register (or memory) to be controlled (or transmitted), and then operates in the order of writing or reading data.

그러나, 상기와 같은 종래의 일반적인 주변기기(30)는 주로 넌-시퀀셜 모드 전송으로 통신되는 제어부(50)와 시퀀셜 모드 데이터 전송이 가능한 데이터부(60)로 대표될 수 있으며, 순차적으로 전송하는 시퀀셜(Sequential) 어드레싱 접근에 의한 데이터 송수신 시간이 상대적으로 넌-시퀀셜(Non-sequential) 어드레스 접근에 따른 제어용 데이터 송수신 시간 보다 길기 때문에, 제어부(50) 보다는 데이터부(60)와 PC(10)간의 데이터 송수신에 대부분의 시간을 사용한다.However, the conventional general peripheral device 30 as described above may be mainly represented by the control unit 50 communicated by non-sequential mode transmission and the data unit 60 capable of sequential mode data transmission, and sequentially transmitting the sequential ( Sequential) Since the data transmission / reception time by the addressing approach is relatively longer than the control data transmission / reception time according to the non-sequential address access, the data transmission / reception between the data unit 60 and the PC 10 rather than the control unit 50 is performed. Most of the time.

예를 들면, 제어부(50)를 포함하여 j개의 어드레스 영역을 갖고, 각 영역 중에 가장 큰 어드레스 값이 n으로 표현되는 주변기기(30)의 경우, 각각의 구성요소(레지스터 또는 메모리)에 1byte 데이터를 전송하기 위하여 병렬포트로 전송될 최소의 byte 수는 다음과 같다.For example, in the case of the peripheral device 30 including the control unit 50 having j address areas and the largest address value of each area is represented by n, 1 byte data is stored in each component (register or memory). The minimum number of bytes to be transmitted to the parallel port for transmission is as follows:

1byte 전송을 위한 병렬포트 접근 횟수Number of parallel port accesses for 1 byte transfer

= 어드레스에 대한 byte 수 + Read/Write 신호 + 데이터 수= Number of bytes for address + read / write signal + number of data

= j * n 어드레스를 표현할 수 있는 byte 수 + 1 + 1 ---------(식 1)= j * n The number of bytes that can represent the address + 1 + 1 --------- (Equation 1)

m bytes 전송을 위한 병렬포트 접근 횟수Number of parallel port accesses for m bytes

=(식 1)*m --------------------------------------------------(식 2)= (Equation 1) * m ------------------------------------------- ------- (Equation 2)

상기와 같이 PC(10)와 주변기기(30)의 데이터 전송시간을 분석하면, 넌-시퀀셜(Non-sequential) 어드레스 접근에 따른 제어용 데이터 송/수신보다는 블록 단위의 데이터를 순차적으로 전송하는 시퀀셜(Sequential) 어드레스 접근의 데이터 송수신에 대부분의 시간이 소요된다.As described above, when analyzing the data transmission time of the PC 10 and the peripheral device 30, the sequential of sequentially transmitting data in units of blocks rather than transmitting / receiving control data according to non-sequential address access. This takes most of the time for data transmission and reception of address access.

특히, 메가(Mega)급 이상의 데이터 전송이 필요할 경우, 주변기기(30)와 PC(10)의 성능을 급격하게 저하시킬 수 있는 문제점이 있다.In particular, when data transmission of more than Mega level is required, there is a problem that can dramatically decrease the performance of the peripheral device 30 and the PC 10.

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애고 결과적으로 주변기기의 성능을 보다 높일 수 있도록 한 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법을 제공하는데 있다.The present invention has been made to solve the above problems, an object of the present invention is to distinguish the transmission in the sequential and non-sequential mode, and in the case of the sequential transmission by transmitting only the start address and the number of transmission information to the peripheral device, The present invention provides an interface device and a method of connecting to a peripheral device using a PC parallel port, which eliminates time due to address transfer and improves the performance of the peripheral device.

전술한 목적을 달성하기 위하여 본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치는, 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 장치에 있어서, 상기 PC 병렬포트와 연결되어 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터에 저장하고 분석하여 넌-시퀀셜 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜 전송모드에서 시작 어드레스와 전송개수를 전송하기 위한 명령분석기; 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하기 위한 시퀀셜 어드레스발생기; 상기 명령분석기와 상기 시퀀셜 어드레스생성기의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write) 및 칩 인에이블 신호를 발생시키기 위한 제어신호발생기; 상기 제어신호발생기로부터 입력되는 읽기/쓰기(Read/Write) 신호에 의해 양방향 데이터 버스의 방향을 제어하기 위한 버스방향전환기; 및 상기 버스방향전환기와 상기 명령분석기의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 상기 시퀀셜 어드레스발생기의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 상기 명령분석기의 어드레스 레지스터 값을 선택하는 기능을 수행하기 위한 어드레스선택기를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, an interface device with a peripheral device using a PC parallel port of the present invention is an interface device for connecting a peripheral device with a PC having an arbitrary parallel port, and is connected with the PC parallel port to transmit information. A command analyzer for receiving a start command and a transfer command of the number of transfers, storing the result in a corresponding register, analyzing the transfer address, and directly generating a destination address in the non-sequential transfer mode, and transmitting the start address and the transfer number in the sequential transfer mode; A sequential address generator for generating a sequential address for each transmission cycle of each data in the sequential transmission mode and generating an end signal when a predetermined number of transmissions are in progress; A control signal generator for generating a synchronization signal of the command analyzer and the sequential address generator and a read / write and chip enable signal of a final destination; A bus direction switch for controlling a direction of a bidirectional data bus by a read / write signal input from the control signal generator; And selecting a destination address as an output of the sequential address generator in the sequential transfer mode based on the analysis of the transfer command of the bus direction changer and the command analyzer, and in the non-sequential transfer mode, the destination address in the address register of the command parser. And an address selector for performing a function of selecting a value.

전술한 구성에서, 상기 명령분석기는, 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 저장하기 위한 명령 레지스터부; 전송 목적지의 시작 어드레스를 저장하기 위한 어드레스 레지스터부; 시퀀셜 전송모드일 경우에만 전송개수를 PC로부터 입력받아 저장하기 위한 전송개수 레지스터부; 및 상기 각 부의 동작을 제어하기 위한 FSM(Finite State Machine)_1부를 포함하여 이루어짐이 바람직하다.In the above configuration, the command analyzer comprises: a command register unit for storing a transfer command including information for distinguishing between sequential / non-sequential transfer mode and transmit / receive mode; An address register section for storing a start address of a transfer destination; A transfer count register unit for receiving and storing the transfer count from a PC only in the sequential transfer mode; And a finite state machine (FSM) _1 unit for controlling the operation of each unit.

바람직하게는, 상기 시퀀셜 어드레스발생기는, 상기 명령분석기의 어드레스 레지스터부로부터 시작 어드레스를 입력하고 각 데이터 전송 사이클마다 순차적으로 어드레스를 발생시키기 위한 어드레스발생부; 상기 명령분석기의 전송개수 레지스터부로부터 전송개수를 입력받아 각 데이터 전송 사이클마다 이를 카운팅하고 전송개수만큼 데이터 전송 사이클이 진행되었는지 판단하여 시퀀셜 전송종료신호를 발생하기 위한 종료신호발생부; 및 상기 각부의 동작을 제어하기 위한 FSM(Finite State Machine)_2부를 포함하여 이루어진다.Preferably, the sequential address generator comprises: an address generator for inputting a start address from an address register of the command analyzer and generating addresses sequentially in each data transmission cycle; An end signal generator for receiving the number of transfers from the number of transfer registers of the command analyzer and counting them for each data transfer cycle, and determining whether data transfer cycles have progressed by the number of transfers and generating a sequential transfer end signal; And a finite state machine (FSM) _2 unit for controlling the operation of each unit.

그리고, 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 방법에 있어서, (a) 상기 주변기기의 준비 상태를 점검하기 위한 단계; (b) 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 전달하기 위한 단계; (c) 전송하고자 하는 목적지의 어드레스를 전달하기 위한 단계; (d) 상기 전달된 전송 명령들 중 시퀀셜 모드일 경우에만 전송될 데이터의 수량을 전달하기 위한 단계; (e) 상기 전달된 전송 명령들의 전달 완료 및 데이터 전송을 진행할 수 있는지를 점검하기 위한 명령 전달 종료 점검 단계; (f) 상기 단계(e)에서 명령 전달이 완료될 경우, 상기 전달된 전송 명령이 시퀀셜 전송모드인가 넌-시퀀셜 전송모드인가를 판단하여 상기 넌-시퀀셜 모드일 경우에는 대상 데이터를 송수신하고, 상기 시퀀셜 모드일 경우에는 전송개수 만큼 반복해서 데이터를 송수신하기 위한 데이터 송수신 단계; 및 (g) 전송완료 상태를 점검하기 위한 단계를 포함하여 이루어진 것을 특징으로 한다.And, the interface method for connecting a peripheral device and a PC having any parallel port, comprising: (a) checking the ready state of the peripheral device; (b) delivering a transfer command including information distinguishing between the sequential / non-sequential transfer mode and the transmit / receive mode; (c) delivering an address of a destination to be transmitted; (d) delivering a quantity of data to be transmitted only in the sequential mode of the transmitted transmission commands; (e) a command transfer end checking step for checking whether transfer of the transferred commands is completed and whether data transfer can proceed; (f) When the command transmission is completed in step (e), it is determined whether the transmitted transmission command is a sequential transmission mode or a non-sequential transmission mode. A data transmission / reception step of repeatedly transmitting and receiving data by the number of transmissions in the sequential mode; And (g) checking the transmission completion status.

이하 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. This embodiment is not intended to limit the scope of the invention, but is presented by way of example only.

도 2는 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치를 전체적으로 나타낸 블록 구성도이고, 도 3은 도 2의 명령 분석기를 구체적으로 나타낸 블록 구성도이며, 도 4는 도 2의 시퀀셜 어드레스 발생기를 구체적으로 나타낸 블록 구성도이다.FIG. 2 is a block diagram schematically illustrating an interface device with a peripheral device using a PC parallel port according to an embodiment of the present invention. FIG. 3 is a block diagram illustrating the command analyzer of FIG. 2 in detail. 2 is a block diagram illustrating the sequential address generator in detail.

먼저, 본 발명에 따른 인터페이스 장치가 적용될 주변기기(30) 및 PC(10)의 연결관계 및 구성 등은 전술한 종래의 구성과 작용이 동일하게 이루어지는 바, 이에 상세한 설명은 생략하기로 한다(도 1참조).First, the connection relationship and configuration of the peripheral device 30 and the PC 10 to which the interface device according to the present invention is applied have the same operation as the above-described conventional configuration, and a detailed description thereof will be omitted (FIG. 1). Reference).

도 2 내지 도 4에 도시한 바와 같이, 본 발명에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치는, 명령분석기(200), 시퀀셜 어드레스발생기(300), 제어신호발생기(400), 버스방향전환기(500) 및 어드레스선택기(600)를 포함하여 이루어진다.2 to 4, the interface device with the peripheral device using the PC parallel port according to the present invention, the command analyzer 200, the sequential address generator 300, the control signal generator 400, the bus direction changer 500 and the address selector 600.

전술한 구성에서, 명령분석기(200)는 PC(10)의 병렬포트(15)와 연결되어 있으며, PC(10)로부터 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터부에 저장하고 분석하여 넌-시퀀셜(Non-sequential) 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜(Sequential) 전송모드에서 시작 어드레스와 전송개수를 전송하는 역할을 수행한다.In the above-described configuration, the command analyzer 200 is connected to the parallel port 15 of the PC 10, and receives the transfer information, the start address, and the transfer command of the number of transfers from the PC 10 and stores them in the register. The target address is directly generated in the non-sequential transfer mode, and the start address and the number of transfers are transmitted in the sequential transfer mode.

이러한 명령분석기(200)는 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 저장하기 위한 명령 레지스터부(210)와, 전송 목적지의 시작 어드레스를 저장하기 위한 어드레스 레지스터부(220)와, 시퀀셜 전송모드일 경우에만 전송개수를 PC(10)로부터 입력받아 저장하기 위한 전송개수 레지스터부(230)와, 상기 각 부의 동작을 제어하기 위한 FSM(Finite State Machine)_1부(240)로 구성되어 있다.The command analyzer 200 includes a command register 210 for storing a transfer command including information for distinguishing between sequential / non-sequential transfer mode and transmit / receive mode, and an address register for storing a start address of a transfer destination. A unit 220, a transfer number register unit 230 for receiving and storing the number of transfers from the PC 10 only in the sequential transfer mode, and a finite state machine (FSM_1) unit for controlling the operation of each unit. It consists of 240.

시퀀셜 어드레스발생기(300)는 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하는 역할을 수행한다.The sequential address generator 300 generates a sequential address for each transmission cycle of each data in the sequential transmission mode, and generates a termination signal when the predetermined number of transmissions is in progress.

이러한 시퀀셜 어드레스발생기(300)는 명령분석기(200)의 어드레스 레지스터부(220)로부터 시작 어드레스를 입력하고 각 데이터 전송 사이클마다 순차적으로 어드레스를 발생시키기 위한 어드레스발생부(310)와, 명령분석기(200)의 전송개수 레지스터부(230)로부터 전송개수를 입력받아 각 데이터 전송 사이클마다 이를 카운팅하고 전송개수만큼 데이터 전송 사이클이 진행되었는지 판단하여 시퀀셜 전송종료신호를 발생하기 위한 종료신호발생부(320)와, 상기 각부의 동작을 제어하기 위한 FSM(Finite State Machine)_2부(330)로 구성되어 있다.The sequential address generator 300 inputs a starting address from the address register unit 220 of the command analyzer 200 and generates an address sequentially for each data transmission cycle, and the command analyzer 200. Receiving the number of transfers from the transfer number register unit 230, counting them for each data transfer cycle, and determining whether the data transfer cycle has been progressed by the number of transfers, and generating a sequential transfer end signal. And a finite state machine (FSM) _2 unit 330 for controlling the operation of each unit.

이때, 어드레스발생부(310)는 다음 데이터 전송에 필요한 어드레스를 현재 어드레스로부터 증가 또는 감소함으로써 얻어내고, 종료신호발생부(320)는 현재까지의 전송횟수를 카운터하며, 전송개수만큼의 전송이 이루어졌나를 매 전송 사이클마다 검사하고 만일 완료되면 종료신호를 발생하고 데이터 전송 사이클을 끝내게 된다.At this time, the address generator 310 obtains an address necessary for the next data transmission from the current address by increasing or decreasing it, and the termination signal generator 320 counts the number of transmissions up to the present, and transfers as many as the number of transmissions. It checks every transmission cycle if it is lost, and if it completes, it generates an end signal and ends the data transfer cycle.

제어신호발생기(400)는 명령분석기(200)와 시퀀셜 어드레스생성기(300)의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write) 및 칩 인에이블 신호(Chip enable signal)를 발생시키는 역할을 수행한다.The control signal generator 400 generates a synchronization signal of the command analyzer 200 and the sequential address generator 300 and a read / write and chip enable signal of the final destination. do.

버스방향전환기(500)는 제어신호발생기(400)로부터 입력되는 읽기/쓰기(Read/Write)신호에 의해 양방향 데이터 버스의 방향을 제어하는 역할을 수행한다.The bus direction changer 500 controls the direction of the bidirectional data bus by a read / write signal input from the control signal generator 400.

어드레스선택기(600)는 버스방향전환기(500)와 명령분석기(200)의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 시퀀셜 어드레스발생기(300)의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 명령분석기(200)의 어드레스 레지스터 값을 선택하는 기능을 수행한다.The address selector 600 selects the destination address as the output of the sequential address generator 300 in the sequential transfer mode based on the analysis of the transfer commands of the bus direction changer 500 and the command analyzer 200, and the non-sequential transfer mode. In this case, the target address selects the address register value of the command analyzer 200.

도 5는 도 3의 명령분석기(200)의 동작을 설명하기 위한 흐름도이다.FIG. 5 is a flowchart for describing an operation of the command analyzer 200 of FIG. 3.

도 5에 도시한 바와 같이, 먼저 단계S100에서는 PC(10)로부터 전송된 각종 명령을 입력(저장) 수행하고, 단계S110으로 진행하여 상기 전송된 명령 중 시작 어드레스를 입력 수행한다.As shown in FIG. 5, first, in step S100, various commands transmitted from the PC 10 are input (stored), and the flow proceeds to step S110 to input a start address among the transmitted commands.

다음, 단계S120에서는 상기 전송된 명령이 어느 전송모드 인지를 판단하여 넌-시퀀셜 전송모드일 경우 단계S130으로 진행하여 넌-시퀀셜 데이터 즉, 목적 어드레스를 발생하여 전송하고 상기 단계S100으로 리턴된다.Next, in step S120, it is determined which transmission mode the transmitted command is. In case of the non-sequential transmission mode, the flow proceeds to step S130, where non-sequential data, that is, a destination address is generated and transmitted, and returned to step S100.

상기 단계S120에서의 판단 결과, 시퀀셜 전송모드일 경우에는 단계S140으로 진행하여 전송개수들의 입력을 수행함과 아울러 전송모드를 활성하고, 단계S150으로 진행하여 전송이 완료되었는지를 판단하여 전송이 완료되었을 경우에는 상기 단계S100으로 리턴된다.As a result of the determination in step S120, in the sequential transmission mode, the process proceeds to step S140 to input the number of transmissions, activates the transmission mode, and proceeds to step S150 to determine whether the transmission is completed and the transmission is completed. Is returned to the step S100.

즉, PC(10)로부터 입력된 정보 명령을 조사하여 시퀀셜 전송모드로 분석되면, 계속해서 전송개수를 입력받아 전송개수 레지스터(230)에 저장하고 데이터 전송 사이클을 시작할 수 명령 전송 완료 플래그를 발생시킨다. 그렇지 않고, 정보 명령이 넌-시퀀셜 모드로 분석되면, 전송개수 입력을 생략하고 명령 전송완료 플래그를 발생시킴으로써 명령 분석 단계를 완료한다.That is, when the information command input from the PC 10 is examined and analyzed in the sequential transfer mode, the command number is continuously received and stored in the transfer number register 230 to generate a command transfer completion flag to start a data transfer cycle. . Otherwise, if the information command is analyzed in non-sequential mode, the command analysis step is completed by omitting the number of transmissions and generating a command completion flag.

한편, 상기와 같이 전술한 명령분석기(200)의 동작 흐름은 FSM_1부(240)를 통하여 구현됨이 바람직하다.On the other hand, the above-described operation flow of the command analyzer 200 is preferably implemented through the FSM_1 unit 240.

여기서, FSM_1부(240)의 동작 상태를 전이하기 위한 클럭 신호(clock signal)는 PC(10)의 병렬포트(15)의 EPP 동작 신호들(100) 중 Address_Strobe 또는 Data_Strobe 신호를 입력으로 사용하고, 제어신호발생기(400)에서 주변기기(30)의 시스템 속도에 맞게 조작된 신호를 사용한다.Here, the clock signal for transitioning the operation state of the FSM_1 unit 240 uses an Address_Strobe or Data_Strobe signal among the EPP operation signals 100 of the parallel port 15 of the PC 10 as an input. The control signal generator 400 uses a signal manipulated according to the system speed of the peripheral device 30.

도 6은 도 4의 시퀀셜 어드레스발생기(300)의 동작을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart for describing an operation of the sequential address generator 300 of FIG. 4.

도 6에 도시한 바와 같이, 먼저, 단계S200에서는 시퀀셜 전송모드에서 전송모드가 활성되었는지를 판단하여 전송모드가 활성되었을 경우 단계S210으로 진행하여 어드레스 및 종료신호를 초기화하고, 단계S220으로 진행하여 각 데이터를 전송함과 아울러 어드레스를 발생한다.As shown in FIG. 6, first, in step S200, it is determined whether the transmission mode is activated in the sequential transmission mode, and when the transmission mode is activated, the process proceeds to step S210 to initialize the address and the end signal, and the process proceeds to step S220. In addition to transmitting data, an address is generated.

다음, 단계S230에서는 상기 발생된 어드레스가 종료 어드레스인지를 판단하여 종료 어드레스일 경우 단계S240으로 진행하여 종료신호를 발생하며, 그렇지 않고 종료 어드레스가 아닐 경우에는 상기 단계S220으로 리턴되어 계속해서 각 데이터를 전송함과 아울러 어드레스를 발생한다.Next, in step S230, it is determined whether the generated address is an end address, and if it is an end address, the process proceeds to step S240 to generate an end signal. In addition to transmitting, it generates an address.

한편, 상기와 같이 전술한 시퀀셜 어드레스발생기(300)의 동작 흐름은 FSM_2부(330)를 통하여 구현됨이 바람직하다.On the other hand, as described above, the operation flow of the sequential address generator 300 described above is preferably implemented through the FSM_2 unit 330.

여기서, FSM_2부(330)의 동작 상태를 전이하기 위한 클럭 신호(clock signal)는 EPP 동작 신호들(100)의 Address_Strobe 및 Data_Strobe 중 FSM_1부(240)에서 사용하지 않은 신호를 입력받아 제어신호발생기(400)에서 주변기기(30)의 시스템 속도에 맞게 조작된 신호를 사용한다.Here, the clock signal for transitioning the operation state of the FSM_2 unit 330 receives a signal not used by the FSM_1 unit 240 among the Address_Strobe and Data_Strobe of the EPP operation signals 100, and the control signal generator ( 400, a signal manipulated according to the system speed of the peripheral device 30 is used.

이하에는 전술한 구성을 가지는 본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법에 대해서 상세하게 설명한다.Hereinafter, the interface method with the peripheral device using the PC parallel port of the present invention having the above-described configuration will be described in detail.

도 7은 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법을 설명하기 위한 전체적인 흐름도이다.7 is a flowchart illustrating an interface method with a peripheral device using a PC parallel port according to an embodiment of the present invention.

도 7에 도시한 바와 같이, 먼저 단계S300에서는 PC(10)에 의해 주변기기(30)의 상태를 점검하여 명령분석기(200)와 시퀀셜 어드레스발생기(300)의 준비 상태 및 기타 주변기기(30)의 PC(10)로부터의 접근을 허락하는 상태 정보의 읽기(Read)작업을 수행한다.As shown in FIG. 7, first, in step S300, the state of the peripheral device 30 is checked by the PC 10 to prepare the state of the command analyzer 200 and the sequential address generator 300 and the PC of the peripheral device 30. (10) Perform a read operation of the status information to allow access from.

다음, 단계S301로 진행하여 상기 상태 정보의 읽기(Read)가 수행되었는지를 판단하여 읽기(Read)가 수행되지 않았을 경우 상기 단계S300으로 리턴되며, 그렇지 않고 상기 상태 정보의 읽기(Read)가 수행되었을 경우 즉, 주변기기(30)가 통신할 준비가 되어 있으면, 단계S302,S303으로 진행하여 PC(10)는 정보 명령과 전송의 목적지인 시작 어드레스를 인터페이스 장치 내부의 명령분석기(200)로 전달한다. 이 때, 정보 명령과 시작 어드레스는 명령분석기(200)의 해당 레지스터부에 각각 저장된다.Next, the process proceeds to step S301 to determine whether the read of the state information has been performed (if read) has not been performed, and returns to the step S300, otherwise the read of the state information (Read) has been performed In other words, if the peripheral device 30 is ready to communicate, the process proceeds to steps S302 and S303, where the PC 10 transmits the information command and the start address which is the destination of the transmission to the command analyzer 200 inside the interface device. At this time, the information command and the start address are stored in the corresponding register of the command analyzer 200, respectively.

이후, 단계S304에서는 상기 입력된 정보 명령을 조사하여 어느 전송모드인지를 판단하여 시퀀셜 전송모드일 경우에는 단계S305,S306으로 진행하여 PC(10)는 전송개수를 명령분석기(200)로 전달하고, 명령분석기(200)와 시퀀셜 어드레스발생기(300)의 준비 상태 및 기타 주변기기(30)의 PC(10)로부터의 접근을 허락하는 상태 정보의 읽기(Read)작업을 수행한다.Thereafter, in step S304, the input information command is examined to determine which transmission mode. In the case of sequential transmission mode, the process proceeds to steps S305 and S306 where the PC 10 transmits the number of transmissions to the command analyzer 200. A read operation of the command analyzer 200 and the sequential address generator 300 and the state information allowing access from the PC 10 of the peripheral device 30 is performed.

한편, 상기 단계S304에서의 판단 결과, 넌-시퀀셜 전송모드일 경우에는 상기 단계S305의 전송개수의 전달 수행을 거치지 않고 바로 상기 단계S306으로 진행하여 주변기기 상태의 읽기(Read) 작업을 수행한다.On the other hand, when the determination result in step S304, in the non-sequential transmission mode, the process proceeds directly to step S306 without performing the transfer of the transmission number of step S305 to perform a read operation of the peripheral device state.

다음, 단계S307에서는 PC(10)와 명령분석기(200)간의 명령 전송이 완료되었는지 판단하여 완료되지 않았을 경우 상기 단계S306으로 리턴되며, 그렇지 않고 명령 전송이 완료되었을 경우에는 단계S308로 진행하여 상기 입력된 정보 명령이 어느 전송모드인지를 판단한다.Next, in step S307, it is determined whether the command transmission between the PC 10 and the command analyzer 200 is completed. If not, the process returns to step S306. Otherwise, if the command transmission is completed, the process proceeds to step S308. It is determined which transmission mode is the information command.

상기 단계S308에서의 판단 결과, 시퀀셜 전송모드일 경우에는 단계S309로 진행하여 각 데이터를 송/수신하고, 단계S310으로 진행하여 종료 어드레스가 발생되었는지를 판단하여 종료 어드레스가 발생될 때까지 상기 단계S309로 리턴되어 계속해서 각 데이터를 송/수신한다.As a result of the determination in step S308, in the sequential transmission mode, the flow proceeds to step S309 to transmit / receive each data, and the flow proceeds to step S310 to determine whether an end address has been generated and until the end address is generated. Is returned to continue sending / receiving each data.

한편, 상기 단계S310에서의 판단 결과, 종료 어드레스가 발생될 경우에는 단계S311로 진행하여 명령분석기(200)와 시퀀셜 어드레스발생기(300)의 준비 상태 및 기타 주변기기(30)의 PC(10)로부터의 접근을 허락하는 상태 정보의 읽기(Read)작업을 수행한다.On the other hand, if the end address is generated as a result of the determination in step S310, the process proceeds to step S311 to prepare the state of the command analyzer 200 and the sequential address generator 300 and from the PC 10 of the other peripheral device 30. Read the status information to allow access.

즉, 명령분석기(200)에 의해 발생된 명령 전송완료 플래그를 확인하고 시퀀셜 어드레스발생기(300) 내부의 어드레스발생부(310)와 종료신호발생부(320)를 명령분석기(200)의 시작 어드레스 레지스터와 전송개수 레지스터 값으로 각각 초기화 한다. 이때, 사용되는 초기화 동기 신호는 상기 단계S307에서의 명령 전송완료를 점검하기 위해 발생되는 주변기기 상태 읽기(Read)신호를 사용함으로써, 전송 사이클을 절약할 수도 있다. 어드레스발생부(310)와 종료신호발생부(320)를 초기화 한 후에 PC(10)의 데이터 전송 사이클에 동기하여 데이터 송수신을 수행하게 된다.That is, the command transmission completion flag generated by the command analyzer 200 is checked, and the address generator 310 and the end signal generator 320 inside the sequential address generator 300 are started address registers of the command analyzer 200. Initialize with and transfer count register values, respectively. In this case, the initialization synchronization signal used may save a transmission cycle by using a peripheral device read signal generated to check the completion of command transmission in step S307. After the address generator 310 and the end signal generator 320 are initialized, data transmission and reception are performed in synchronization with the data transmission cycle of the PC 10.

다른 한편, 상기 단계S308에서의 판단 결과, 넌-시퀀셜 전송모드일 경우에는 상기 단계S309,S310을 거치지 않고 바로 단계S312로 진행하여 PC(10)로부터 한 번 수행되는 데이터 전송 사이클에 동기하여 데이터의 송/수신을 완료한 후, 상기 단계S311로 진행하여 주변기기 상태의 읽기(Read) 작업을 수행한다.On the other hand, in the case of the non-sequential transmission mode, the determination result in step S308 proceeds directly to step S312 without going through the steps S309 and S310, and the data is synchronized in synchronization with the data transmission cycle performed once from the PC 10. After the transmission / reception is completed, the process proceeds to step S311 to perform a read operation of the peripheral device state.

이때, 상기 목적 어드레스는 명령분석기(200)의 시작 어드레스 내용을 어드레스선택기(600)를 통하여 직접 전달하게 되며, 결과적으로 시퀀셜 어드레스발생기(300)는 동작할 필요가 없게 된다.In this case, the destination address directly transfers the contents of the start address of the command analyzer 200 through the address selector 600, and as a result, the sequential address generator 300 does not need to operate.

다음, 단계S313에서는 데이터 전송의 성공여부를 판단하여 데이터가 성공적으로 전송되었을 경우 단계S314로 진행하여 데이터의 전송 성공을 확인하며, 그렇지 않고, 데이터가 성공적으로 전송되지 않았을 경우에는 단계S315로 진행하여 데이터의 전송 실패를 확인한다.Next, in step S313 it is determined whether the data transmission is successful, if the data is successfully transmitted to step S314 to confirm the success of the data transmission, otherwise, if the data was not successfully transmitted to step S315 Check the data transmission failure.

즉, 상기 단계S307에서 PC(10)와 명령분석기(200) 간의 명령 전송이 완료되면 데이터 전송 사이클이 시작되는 바, 전송개수를 포함한 명령 전송을 완료한 PC(10)는 주변기기(30)의 상태를 다시 점검한다.That is, in step S307, when the command transmission between the PC 10 and the command analyzer 200 is completed, a data transmission cycle is started. The PC 10 having completed the command transmission including the number of transmissions is in the state of the peripheral device 30. Check again.

이때, 상기 발생된 명령 전송완료 플래그를 검사하는 과정으로 만일 원하지 않는 값으로 판명나면, 전송을 처음부터 시작하고, 상기 단계S307에서 명령 전송완료 점검에 문제가 없으면, PC(10)는 전송모드를 고려하여 넌-시퀀셜 전송모드일 경우에는 데이터 전송 사이클을 한 번 수행하며, 그렇지 않고, 시퀀셜 전송모드일 경우에는 전송하고자 하는 개수만큼 반복하여 데이터 전송을 수행한다. 이후, 데이터 전송이 완료되면 마지막으로 주변기기의 상태를 점검하여 전송의 성공여부를 확인한다. 이때, 시퀀셜 어드레스발생기(300)에서 출력되는 종료신호를 상태 점검 요소로 사용한다.At this time, if it is determined that the generated command transmission completion flag is an undesired value, the transmission starts from the beginning, and if there is no problem in the command transmission completion check in step S307, the PC 10 exits the transmission mode. In consideration of the non-sequential transmission mode, the data transmission cycle is performed once. Otherwise, in the sequential transmission mode, the data transmission is repeated as many times as desired. After the data transmission is completed, finally, the status of the peripheral device is checked to confirm whether the transmission is successful. At this time, the end signal output from the sequential address generator 300 is used as a state check element.

상기와 같이 본 발명에 따른 인터페이스 방법을 주변기기(30)에 적용할 경우 기존의 (식 2)가 다음의 (식 3)로 정리되며, m2가 m1 보다 상당히 클 경우 전체 인터페이스에 걸리는 시간을 약 (식 1)배 만큼 단축시킬 수 있으며, 결과적으로 메가급 이상의 데이터 전송 시간에 따른 성능 저하를 개선 할 수 있다.As described above, when the interface method according to the present invention is applied to the peripheral device 30, the existing Equation 2 is summarized as the following Equation 3, and when m2 is considerably larger than m1, the time taken for the entire interface is approximately ( Equation 1) can be shortened, and as a result, performance degradation due to data transmission time of mega level or more can be improved.

m bytes 전송을 위한 parallel port 접근 횟수Number of parallel port accesses for m bytes

= 넌-시퀀셜(No-sequential)용 횟수 + 시퀀셜(Sequential)용 횟수= Number of times for non-sequential + number of times for sequential

={(식1)*m1}+(명령정보+상태점검+m2)-----------------------(식3)= {(Equation 1) * m1} + (Command Information + Status Check + m2) ----------------------- (Equation 3)

(단, m = m1 + m2, 명령정보 = j * n 을 표현할 수 있는 byte 수 + m2를 표현할 수 있는 byte 수 상태점검 = 2 ~ 3회 byte Read 수)(However, m = m1 + m2, command information = j * n can represent the number of bytes + m2 can represent the byte status check = 2 ~ 3 byte reads)

전술한 본 발명에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.Although a preferred embodiment of the interface device and a method using the PC parallel port according to the present invention and the method described above, the present invention is not limited to this, but the claims and the detailed description of the invention and the accompanying drawings It is possible to carry out various modifications within the scope and this also belongs to the present invention.

이상에서 설명한 바와 같은 본 발명의 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치 및 그 방법에 따르면, 시퀀셜과 넌-시퀀셜 모드로 전송을 구분하고, 상기 시퀀셜 전송일 경우 시작 번지와 전송할 개수 정보만을 주변기기에 전달함으로써, 기존의 매 전송 시 어드레스 전달에 따른 시간을 없애므로, 전체 인터페이스에 걸리는 시간을 효과적으로 단축시킬 수 있으며, 결과적으로 메가급 이상의 데이터 전송 시간에 따른 성능 저하를 개선하여 주변기기의 성능을 보다 높일 수 있는 이점이 있다.According to the interface device and the method using the PC parallel port of the present invention as described above, distinguish the transmission in the sequential and non-sequential mode, in the case of the sequential transmission only the start address and the number of information to be transmitted to the peripheral device By eliminating the time required for address transfer in every existing transmission, the time taken for the entire interface can be effectively reduced, resulting in improved performance of peripheral devices by improving performance degradation caused by data transfer time of mega level or more. There is an advantage to this.

도 1은 일반적인 인터페이스 장치가 적용되는 주변기기를 개략적으로 나타낸 블록 구성도,1 is a block diagram schematically illustrating a peripheral device to which a general interface device is applied;

도 2는 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치를 전체적으로 나타낸 블록 구성도,Figure 2 is a block diagram showing an overall interface device with a peripheral device using a PC parallel port according to an embodiment of the present invention,

도 3은 도 2의 명령분석기를 구체적으로 나타낸 블록 구성도,3 is a block diagram illustrating in detail the command analyzer of FIG. 2;

도 4는 도 2의 시퀀셜 어드레스발생기를 구체적으로 나타낸 블록 구성도,4 is a block diagram illustrating in detail the sequential address generator of FIG.

도 5는 도 3의 명령분석기의 동작을 설명하기 위한 흐름도,FIG. 5 is a flowchart illustrating an operation of a command analyzer of FIG. 3;

도 6은 도 4의 시퀀셜 어드레스발생기의 동작을 설명하기 위한 흐름도,6 is a flowchart for explaining an operation of the sequential address generator of FIG. 4;

도 7은 본 발명의 일 실시예에 따른 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법을 설명하기 위한 전체적인 흐름도이다.7 is a flowchart illustrating an interface method with a peripheral device using a PC parallel port according to an embodiment of the present invention.

*** 도면의 주요 부분에 대한 부호 설명 ****** Explanation of symbols on main parts of drawing ***

100 : 병렬 포트의 EPP 동작신호, 200 : 명령분석기,100: EPP operation signal of the parallel port, 200: command analyzer,

210 : 명령 레지스터부, 220 : 어드레스 레지스터부,210: command register section 220: address register section

230 : 전송개수 레지스터부, 240 : FSM_1부,230: Transfer count register part, 240: FSM_1 part,

300 : 시퀀셜 어드레스발생기, 310 : 어드레스발생부,300: sequential address generator, 310: address generator,

320 : 종료신호발생부, 330 : FSM_2부,320: end signal generator, 330: FSM_2 part,

400 : 제어신호발생기, 500 : 버스방향전환기400: control signal generator, 500: bus direction changer

Claims (7)

임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 장치에 있어서,In the interface device for connecting a peripheral device and a PC having an arbitrary parallel port, 상기 PC 병렬포트와 연결되어 전송정보, 시작 어드레스 및 전송개수들의 전송 명령을 제공받아 해당 레지스터에 저장하고 분석하여 넌-시퀀셜 전송모드에서 목적 어드레스를 직접 발생하며, 시퀀셜 전송모드에서 시작 어드레스와 전송개수를 전송하기 위한 명령분석기;It is connected to the PC parallel port and receives the transfer information, start address and transfer command of the transfer number, and stores and analyzes it in the corresponding register to generate the target address directly in the non-sequential transfer mode.In the sequential transfer mode, the start address and transfer count Command analyzer for transmitting the; 시퀀셜 전송모드에서 각 데이터의 전송 사이클마다 순차적인 어드레스를 발생시키고 정해진 전송개수만큼 전송이 진행되면 종료신호를 발생하기 위한 시퀀셜 어드레스발생기;A sequential address generator for generating a sequential address for each transmission cycle of each data in the sequential transmission mode and generating an end signal when a predetermined number of transmissions are in progress; 상기 명령분석기와 상기 시퀀셜 어드레스생성기의 동기 신호 및 최종 목적지의 읽기/쓰기(Read/Write)및 칩 인에이블 신호를 발생시키기 위한 제어신호발생기;A control signal generator for generating a synchronization signal of the command analyzer and the sequential address generator and a read / write and chip enable signal of a final destination; 상기 제어신호발생기로부터 입력되는 읽기/쓰기(Read/Write) 신호에 의해 양방향 데이터 버스의 방향을 제어하기 위한 버스방향전환기; 및A bus direction switch for controlling a direction of a bidirectional data bus by a read / write signal input from the control signal generator; And 상기 버스방향전환기와 상기 명령분석기의 전송 명령의 분석 근거로 시퀀셜 전송모드일 경우 목적 어드레스를 상기 시퀀셜 어드레스발생기의 출력으로 선택하고, 넌-시퀀셜 전송모드일 경우 목적 어드레스를 상기 명령분석기의 어드레스 레지스터 값을 선택하는 기능을 수행하기 위한 어드레스선택기를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.In the sequential transfer mode, the target address is selected as the output of the sequential address generator in the sequential transfer mode based on the analysis of the transfer command of the bus direction changer and the command analyzer. Interface device with a peripheral device using a PC parallel port, characterized in that it comprises an address selector for performing a function for selecting. 제 1항에 있어서, 상기 명령분석기는,The method of claim 1, wherein the command analyzer, 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 저장하기 위한 명령 레지스터부;A command register section for storing a transfer command including information for distinguishing between the sequential / non-sequential transfer mode and the transmit / receive mode; 전송 목적지의 시작 어드레스를 저장하기 위한 어드레스 레지스터부;An address register section for storing a start address of a transfer destination; 시퀀셜 전송모드일 경우에만 전송개수를 PC로부터 입력받아 저장하기 위한 전송개수 레지스터부; 및A transfer count register unit for receiving and storing the transfer count from a PC only in the sequential transfer mode; And 상기 각 부의 동작을 제어하기 위한 FSM(Finite State Machine)_1부를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.Interface device with a peripheral device using a PC parallel port characterized in that it comprises a finite state machine (FSM) _1 for controlling the operation of each unit. 제 2항에 있어서, 상기 FSM_1부의 동작 상태를 전이하기 위한 클럭 신호는 상기 PC 병렬포트의 EPP 동작 신호 중 Address_Strobe 또는 Data_Strobe 신호를 입력으로 사용함과 아울러 상기 제어신호발생기에서 주변기기의 시스템 속도에 맞게 조작된 신호를 사용하도록 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.The clock signal of claim 2, wherein the clock signal for transitioning the operation state of the FSM_1 unit is used as an input of Address_Strobe or Data_Strobe signal among the EPP operation signals of the PC parallel port, and the control signal generator is manipulated according to the system speed of the peripheral device. Interface device with a peripheral device using a PC parallel port, characterized in that made to use a signal. 제 1항 내지 제 3항중 어느 한 항에 있어서, 상기 시퀀셜 어드레스발생기는,The sequential address generator of claim 1, wherein the sequential address generator comprises: 상기 명령분석기의 어드레스 레지스터부로부터 시작 어드레스를 입력하고 각 데이터 전송 사이클마다 순차적으로 어드레스를 발생시키기 위한 어드레스발생부;An address generator for inputting a start address from the address register of the command analyzer and generating addresses sequentially in each data transfer cycle; 상기 명령분석기의 전송개수 레지스터부로부터 전송개수를 입력받아 각 데이터 전송 사이클마다 이를 카운팅하고 전송개수만큼 데이터 전송 사이클이 진행되었는지 판단하여 시퀀셜 전송종료신호를 발생하기 위한 종료신호발생부; 및An end signal generator for receiving the number of transfers from the number of transfer registers of the command analyzer and counting them for each data transfer cycle, and determining whether data transfer cycles have progressed by the number of transfers and generating a sequential transfer end signal; And 상기 각부의 동작을 제어하기 위한 FSM(Finite State Machine)_2부를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.Interface device with a peripheral device using a PC parallel port characterized in that it comprises a finite state machine (FSM) _2 for controlling the operation of each part. 제 4항에 있어서, 상기 FSM_2부의 동작 상태를 전이하기 위한 클럭 신호는 상기 PC 병렬포트의 EPP 동작 신호의 Address_Strobe 및 Data_Strobe 중 상기 FSM_1부에서 사용하지 않은 신호를 입력받아 상기 제어신호발생기에서 주변기기의 시스템 속도에 맞게 조작된 신호를 사용하도록 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 장치.The peripheral signal system of claim 4, wherein the clock signal for transitioning the operation state of the FSM_2 unit receives a signal not used in the FSM_1 unit among Address_Strobe and Data_Strobe of the EPP operation signal of the PC parallel port. Interface device with a peripheral device using a PC parallel port, characterized in that to use a signal manipulated according to the speed. 임의의 병렬포트를 갖는 PC와 주변기기를 연결시켜주기 위한 인터페이스 방법에 있어서,In the interface method for connecting a peripheral device and a PC having an arbitrary parallel port, (a) 상기 주변기기의 준비 상태를 점검하기 위한 단계;(a) checking a ready state of the peripheral device; (b) 시퀀셜/넌-시퀀셜 전송모드 및 송/수신모드를 구분하는 정보를 포함한 전송 명령을 전달하기 위한 단계;(b) delivering a transfer command including information distinguishing between the sequential / non-sequential transfer mode and the transmit / receive mode; (c) 전송하고자 하는 목적지의 어드레스를 전달하기 위한 단계;(c) delivering an address of a destination to be transmitted; (d) 상기 전달된 전송 명령들 중 시퀀셜 모드일 경우에만 전송될 데이터의 수량을 전달하기 위한 단계;(d) delivering a quantity of data to be transmitted only in the sequential mode of the transmitted transmission commands; (e) 상기 전달된 전송 명령들의 전달 완료 및 데이터 전송을 진행할 수 있는지를 점검하기 위한 명령 전달 종료 점검 단계;(e) a command transfer end checking step for checking whether transfer of the transferred commands is completed and whether data transfer can proceed; (f) 상기 단계(e)에서 명령 전달이 완료될 경우, 상기 전달된 전송 명령이 시퀀셜 전송모드인가 넌-시퀀셜 전송모드인가를 판단하여 상기 넌-시퀀셜 모드일 경우에는 대상 데이터를 송수신하고, 상기 시퀀셜 모드일 경우에는 전송개수 만큼 반복해서 데이터를 송수신하기 위한 데이터 송수신 단계; 및(f) When the command transmission is completed in step (e), it is determined whether the transmitted transmission command is a sequential transmission mode or a non-sequential transmission mode. A data transmission / reception step of repeatedly transmitting and receiving data by the number of transmissions in the sequential mode; And (g) 전송완료 상태를 점검하기 위한 단계를 포함하여 이루어진 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법.(g) A method for interfacing with a peripheral device using a PC parallel port, comprising the step of checking a transmission completion state. 제 6항에 있어서, 상기 단계(a)에서의 주변기기의 준비 상태를 점검할 경우, 상기 단계(e)에서의 명령 전달 종료 점검할 경우 및 상기 단계(g)에서의 전송완료 상태 점검할 경우에는 상기 명령분석기 및 상기 시퀀셜 어드레스 발생기에서 발생되는 상태 플래그 값 및 기타 주변기기의 상태 정보들을 병렬포트 신호 중 PC로의 입력 신호를 직접 사용하여 읽기(Read)하여 판별하는 것을 특징으로 하는 PC 병렬포트를 이용한 주변기기와의 인터페이스 방법.The method according to claim 6, wherein when checking the ready state of the peripheral device in the step (a), when checking the completion of the command transfer in the step (e), and when checking the transmission completion state in the step (g), Peripheral device using the PC parallel port characterized in that the status flag value generated by the command analyzer and the sequential address generator and other peripheral device status information are directly read by using an input signal from the parallel port signal to the PC. How to interface with.
KR10-2003-0097054A 2003-12-26 2003-12-26 Apparatus for interface pheriperal device with PC using parallel port and method thereof KR100531729B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0097054A KR100531729B1 (en) 2003-12-26 2003-12-26 Apparatus for interface pheriperal device with PC using parallel port and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0097054A KR100531729B1 (en) 2003-12-26 2003-12-26 Apparatus for interface pheriperal device with PC using parallel port and method thereof

Publications (2)

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

Family

ID=37257041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0097054A KR100531729B1 (en) 2003-12-26 2003-12-26 Apparatus for interface pheriperal device with PC using parallel port and method thereof

Country Status (1)

Country Link
KR (1) KR100531729B1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758188A (en) * 1995-11-21 1998-05-26 Quantum Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
JP3487735B2 (en) * 1997-07-24 2004-01-19 沖電気工業株式会社 Data transfer method and data transfer system
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 (en) * 1998-10-27 2000-05-12 Nec Eng Ltd Inter-processor communication controller

Also Published As

Publication number Publication date
KR100531729B1 (en) 2005-11-29

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
US7752342B2 (en) Interface integrated circuit device for a USB connection
US5778195A (en) PC card
JPH08286947A (en) Microcomputer
KR100230451B1 (en) Method of transceiving asynchronous serial data of digital signal processor
CN111931442A (en) FPGA embedded FLASH controller and electronic device
CN114297962A (en) Self-adaptive interface FPGA software and hardware collaborative simulation acceleration system
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
US6553506B1 (en) Information processing device and electronic equipment
KR100531729B1 (en) Apparatus for interface pheriperal device with PC using parallel port and method thereof
EP0473059A2 (en) Communication control system
JP2763871B2 (en) Transmitter / receiver for asynchronous serial communication between two processors using counterpart memory
KR100266963B1 (en) Method and apparatus for reducing latency rime on an interface by overlapping transmitted packets
JPH09259068A (en) Extended input and output interface
JP3741182B2 (en) Microcomputer, electronic equipment and debugging system
KR0176087B1 (en) Processor Data Processing Circuit of System Controller
JPH0522365A (en) Communication processor
US20040034710A1 (en) Data transfer operations
KR0154470B1 (en) Circuit for interfacing between auxiliary processor and external device
JPH10198524A (en) Hard disk controller

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