KR940009745B1 - Pc interfacing circuit - Google Patents

Pc interfacing circuit Download PDF

Info

Publication number
KR940009745B1
KR940009745B1 KR1019920014055A KR920014055A KR940009745B1 KR 940009745 B1 KR940009745 B1 KR 940009745B1 KR 1019920014055 A KR1019920014055 A KR 1019920014055A KR 920014055 A KR920014055 A KR 920014055A KR 940009745 B1 KR940009745 B1 KR 940009745B1
Authority
KR
South Korea
Prior art keywords
midi
data
interface circuit
external electronic
output
Prior art date
Application number
KR1019920014055A
Other languages
Korean (ko)
Other versions
KR940004416A (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 KR1019920014055A priority Critical patent/KR940009745B1/en
Publication of KR940004416A publication Critical patent/KR940004416A/en
Application granted granted Critical
Publication of KR940009745B1 publication Critical patent/KR940009745B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

The MIDI interface circuit for PC supports 128 MIDI channels controlling multiple electronic musical instruments or sound source modules with General MIDI specification. The circuit comprises multiple coprocessors (62,63) controlling overall operations of the interface; memories (64-1 - 64-8) holding MIDI channel message; S/P, P/S converters (65-1 - 65-8) converting data between MIDI interface circuit and electronic musical instruments; latches (56-59) holding data between PC and MIDI interface; PC interface, interrupt, coprocessor control circuits.

Description

피씨용 미디 인터페이스 회로MIDI interface circuit for PC

제 1 도는 종래의 1포트 미디 인터페이스 회로도.1 is a conventional one port MIDI interface circuit diagram.

제 2 도는 본 발명 피씨용 미디 인터페이스 회로도.2 is a MIDI interface circuit diagram of the present invention.

제 3 도는 미디 인터페이스 회로의 모드에 따른 메인 제어 흐름도.3 is a main control flowchart according to the mode of the MIDI interface circuit.

제 4 도는 레코드 처리의 제어흐름도.4 is a control flowchart of record processing.

제 5 도는 플래이모드의 처리 제어흐름도.5 is a process control flow chart of the play mode.

제 6 도는 레코드 타이머 인터럽트 서비스 루틴의 흐름도.6 is a flowchart of a record timer interrupt service routine.

제 7 도는 플래이 타이머 인터럽트 처리 루틴의 흐름도.7 is a flowchart of a fly timer interrupt processing routine.

제 8 도는 본 발명에 따른 EBH명령의 처리 흐름도.8 is a process flow diagram of an EBH instruction in accordance with the present invention.

표 1은 인터페이스 회로의 입/출력 번지표.Table 1 shows the input / output address table of the interface circuit.

표 2는 8포트 제어를 위한 명령표.Table 2 is a command table for 8 port control.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

50 : 피씨 버스 51,52 : 디프 스위치50: PC bus 51,52: deep switch

53 : I/O어드레스 선택부 54 : 인터럽트 제어부53: I / O address selector 54: Interrupt control

55 : 피씨 인터페이스 제어부 56∼59 : 래치55: PC interface control unit 56-59: latch

60,61 : 코-프로세서 제어부 62,63 : 코-프로세서60, 61: co-processor control unit 62, 63: co-processor

64-1∼64-8 : 메모리부 65-1∼65-8 : S/P, P/S 변환부64-1 to 64-8: Memory sections 65-1 to 65-8: S / P and P / S converters

66-1∼66-8 : 미디회로66-1 to 66-8: MIDI circuit

본 발명은 전자악기에 관한 것으로, 특히 피씨(PC)를 이용하여 새로이 출시되는 제너럴 미디(general midi)규격의 전자악기 내지는 음원모듈(module)을 제어할 때 동시에 128개의 미디 채널을 지원함으로써 여러대의 악기로 음악 작업을 할 수 있도록 하는데 적당하도록 한 피씨용 미디 인터페이스 회로에 관한 것이다.The present invention relates to electronic musical instruments. In particular, when controlling a newly released general midi electronic musical instrument or sound module using a PC (PC) by supporting 128 MIDI channels at the same time It's about a MIDI interface circuit for PCs that is suitable for working with musical instruments.

컴퓨터를 이용하여 음악을 작곡, 편곡하기 위해서는 피씨의 정보를 미디 정보로, 또는 미디 정보를 피씨 정보로 변환시켜주는 인터페이스 회로가 필수적이다. 이 인터페이스 회로를 통하여 입력된 미디 정보를 저장, 편집, 출력하는 장치를 보통 시퀀서 소프트웨어(sequencer software)라 한다.In order to compose and arrange music using a computer, an interface circuit for converting PC information to MIDI information or MIDI information to PC information is essential. A device for storing, editing, and outputting MIDI information input through this interface circuit is commonly referred to as sequencer software.

종래의 전자악기는 악기당 동시에 특정한 1개의 음색만이 출력가능하였으나 새로이 제정된 제너럴 미디 규격에 의거하여 제작된 전자악기 내지는 음원모듈은 동시에 16개의 음색을 출력할 수 있도록 고안되었다.Conventional electronic instruments can output only one specific tone per instrument at the same time, but the electronic instrument or sound source module manufactured according to the newly established general MIDI standard is designed to output 16 tones simultaneously.

각 음색은 각각 다른 미디 채널이 할당되어야 하므로 종래의 단일 포트 인터페이스 회로로는 1개의 음원 모듈만을 동시에 제어가 가능하다. 이는 미디 규격상 미디 채널은 16개의 구성되어 있으므로 음색당 한개의 미디 채널을 할당하면 16개의 음색만을 제어할 수 밖에 없기 때문이다.Since each timbre should be assigned a different MIDI channel, only one sound source module can be controlled simultaneously with the conventional single port interface circuit. This is because the MIDI standard consists of 16 MIDI channels, so if one MIDI channel is assigned to each voice, only 16 voices can be controlled.

한편, 제 1 도는 일반적으로 사용되고 있는 1포트 미디 인터페이스 회로의 구성도로서 이에 도시한 바와 같이, 디프 스위치(3)의 상태에 따라 기준 어드레스를 설정하고 입력되는 어드레스 신호에 따라서 미디 인터페이스 회로와 피씨간의 데이타, 명령, 및 스태이터스(status)신호를 선별적으로 데이타 버스를 통해 출력하게 하는 I/O어드레스 선택부(2)와, 피씨와 후술하는 코-프로세서(8)간에 데이타의 쓰기 및 읽기를 제어하는 피씨 인터페이스 제어부(4), 피씨 버스와 상기 코-프로세서(8)간에 송수신되는 데이타를 일시 저장하는 래치(5,6)와, 피씨로부터 전송된 명령에 따라 전자악기의 기능을 제어하는 각종 모드를 설정함과 아울러 각종 제어를 수행하는 코-프로세서(8)와, 상기 코-프로세서(8)의 기능을 제어하는 코-프로세서제어부(7)와, 주변의 미디 회로(11)와 피씨로부터 데이타를 저장하는 메모리부(9)와, 주변의 미디 회로(11)와 인터페이스 회로간에 송수신되는 데이타에 대하여 직렬 데이타를 병렬로, 병렬 데이타를 직렬로 변환하는 S/P, P/S변환부(10)로 구성된다.1 is a configuration diagram of a one-port MIDI interface circuit that is generally used. As shown in FIG. 1, the reference address is set according to the state of the deep switch 3, and the MIDI interface circuit and the PC are connected according to the input address signal. Writing and reading data between the PC and the co-processor 8 described below, and an I / O address selection section 2 for selectively outputting data, commands, and status signals via the data bus. PC interface control unit 4 for controlling the PC, latches (5, 6) for temporarily storing data transmitted and received between the PC bus and the co-processor (8), and controls the function of the electronic instrument according to the command transmitted from the PC A co-processor 8 for setting various modes and performing various controls, a co-processor control unit 7 for controlling the functions of the co-processor 8, and peripheral MIDI circuits ( 11) and S / P and P for converting serial data in parallel and serial data in parallel for data transmitted / received between the memory unit 9 for storing data from the PC, and the peripheral MIDI circuit 11 and the interface circuit. / S conversion section 10.

상기와 같이 구성되는 종래의 미디 인터페이스 회로에 대하여 그 동작 및 문제점을 상세히 설명하면 다음과 같다.The operation and problems of the conventional MIDI interface circuit configured as described above will be described in detail as follows.

먼저, 1포트 미디 인터페이스 회로와 피씨와의 정보 교환은 표 1에서 보는 바와 같이 크게 2가지로 나뉘어진다.First, the information exchange between the 1-port MIDI interface circuit and the PC is largely divided into two as shown in Table 1.

I/O어드레스중에서 베이스 어드레스(base address)+0의 번지로는 데이타의 입출력이 수행되고, 베이스 어드레스 +1으로는 스태이터스 인(status in)과 코멘드 아웃(command out)의 정보가 교환된다.Input / output of data is performed at the address of base address + 0 in the I / O address, and information of status in and command out is exchanged at base address +1. .

여기에서 베이스 어드레스는 I/O어드레서 선택을 위하여 I/O어드레서 선택부(2)에 부착된 디프 스위치(3)의 조절에 따라 변환이 가능하다.Here, the base address can be converted according to the adjustment of the dip switch 3 attached to the I / O address selector 2 for the I / O address selection.

한편, 베이스 어드레스+1 번지로 미디 인터페이스 회로로부터 피씨 버스로 전달되는 스태이터스 인의 정보는 코-프로세서(8)가 피씨로부터 정보를 받을 수 있는 상태인지의 여부를 나타내는 정보이거나 피씨 버스로 전송할 정보가 있는가를 알려주는 데이타이다.On the other hand, the information of the status Inn transmitted from the MIDI interface circuit to the PC bus at the base address + 1 is information indicating whether the co-processor 8 can receive information from the PC or information to be transmitted to the PC bus. Data that tells if there is a

피씨는 이 스태이터스 인(status in)의 값을 저장하고 있는 레지스터의 상태를 보고 코-포로세서(8)로 정보를 보내거나 코-프로세서(8)로부터의 정보를 입력한다.The PC looks at the status of the register holding the status in and sends information to the co-processor 8 or inputs information from the co-processor 8.

피씨에서 코-프로세서(8)로 베이스 어드레스+1의 I/O번지를 통해 출력하는 명령의 정보는 코-프로세서(8)를 여러가지 모드중에서 원하는 모드로 설정해준다. 코-프로세서(8)는 이 명령을 통해 녹음 모드, 연주모드, 녹음연주 동시모드, 메트로놈 (metronome) 온/오프, 템포 조절등 여러가지 모드의 동작을 수행한다.The command information output from the PC to the co-processor 8 via the I / O address of the base address + 1 sets the co-processor 8 to a desired mode among various modes. The co-processor 8 performs various modes of operation such as recording mode, performance mode, simultaneous recording mode, metronome on / off, and tempo adjustment.

만약 현재의 녹음모드라 할때 외부 전자악기를 통해 미디 채널 메세지가 인터페이스회로를 통해 들어오게 되는데. 미디 메세지는 그 규격상 31.25Kbps의 전송속도로 전송되므로 인터페이스 회로는 이 직렬 정보를 병렬 정보로 변환하여 메모리부(9)에 입력한다. 코-프로세서(8)는 마지막 처리된 메모리 어드레스 포인터와 현재의 어드레스 포인터를 비교해 처리해야할 데이타가 있으면 베이스 어드레스+1의 I/O어드레스를 통해 피씨로 보내야할 정보가 있다는 신호를 스태이터스 인 레지스터(도면 미표시)를 통해 알려주고 베이스 +0의 I/O어드레스로 미디 정보를 송출한다.If you are in the current recording mode, the MIDI channel message will come through the interface circuit through the external electronic instrument. Since the MIDI message is transmitted at a transmission rate of 31.25 Kbps, the interface circuit converts this serial information into parallel information and inputs it to the memory section 9. The co-processor 8 compares the last addressed memory address pointer with the current address pointer, and if there is data to be processed, signals that there is information to be sent to the PC through the I / O address of the base address + 1, the status in register. (Not shown) and transmits MIDI information to I / O address of base +0.

이때 코-프로세서(8)는 마지막 전송된 미디 데이타 이벤트(event)와의 시간차를 계산하여 함께 보내게 된다.The co-processor 8 then calculates the time difference from the last transmitted MIDI data event and sends it together.

연주 모드의 경우 녹음의 수순과 반대로 피씨가 코-프로세서(8)에게 연주 모드로 전환할 것을 코멘드(command)형식으로 알려주면 코-프로세서(8)는 해당 트랙의 미디 이벤트를 요구하게 된다.In the case of the performance mode, the PC notifies the co-processor 8 in the form of a command to switch to the performance mode in the reverse of the recording procedure, and the co-processor 8 requests a MIDI event of the track.

이 요구를 받으면 피씨 프로그램은 즉시 미디 이벤트와 그 송출된 시간을 데이타 출력의 I/O번지로서 주게되며 코-프로세서(8)는 이 시간이후에 미디 이벤트를 외부 전자악기를 출력한다.Upon receiving this request, the PC program immediately gives the MIDI event and its dispatched time as the I / O address of the data output, and the co-processor 8 outputs the MIDI event after this time to an external electronic instrument.

그러나, 이러한 종래의 미디 인터페이스 회로는 미디 규격에서 설정해 놓는 16채널만을 사용할 수 밖에 없다. 최근에 출시되는 전자악기 또는 음원모듈은 동시에 16개의 음색을 출력할 수 있도록 하였으며 외부 시퀀서로 제어를 하려면 각 음색당 한개의 미티 채널을 할당하여야 한다.However, such a conventional MIDI interface circuit can only use 16 channels set in the MIDI standard. Recently, the electronic musical instrument or sound source module can output 16 voices at the same time. In order to control with an external sequencer, it is necessary to allocate one Miti channel for each voice.

그러므로, 기존의 1포트 미디 인터페이스로는 한개 이상의 제너럴 미디 규격의 전자악기를 동시에 제어할 수 없으며, 이의 해결을 위해서는 더 많은 제너럴 인터페이스 회로가 필수적이며 이는 가 포트당 16개의 미디 채널을 사용하기 때문에 미디 채널은 포트수 ×16으로 증가하게 된다.Therefore, the existing 1-port MIDI interface cannot control more than one general MIDI standard electronic instrument at the same time. To solve this problem, more general interface circuits are necessary, which uses 16 MIDI channels per port. The channel is increased to the number of ports x 16.

이에따라, 본 발명은 상기와 같은 종래의 미디 인터페이스 회로에 다르는 결함을 감안하여 다수의 코-프로세서에 다수의 포트를 할당하여 각 포트를 구성하는 채널용 제너럴 미디 규격에 맞는 다수의 악기를 제어할 수 있는 수단을 제공하는 것을 그 목적으로 하며, 이하 첨부한 도면과 함께 이를 상세히 설명하면 다음과 같다.Accordingly, the present invention can control a plurality of instruments conforming to the general MIDI standard for channels constituting each port by allocating a plurality of ports to a plurality of co-processors in view of the above-mentioned defects in the conventional MIDI interface circuit. It is an object of the present invention to provide a means which can be described in detail below with reference to the accompanying drawings.

제 2 도는 본 발명의 미디 인터페스이 회로에 대한 구성도로서 이에 도시한 바와같이, 피씨외 미디 인터페이스 회로간에 송수신되는 데이타의 종류에 따른 입출력 어드레스를 지정하는 I/O 어드레스 선택부(53)와, 외부 전자악기로부터 입력된 미디 채널 메세지를 저장하는 메모리부(64-1∼64-8)와, 직렬 데이타 및 병렬 데이타를 병렬 데이타 및 직렬 데이타로 변환하여 출력하는 S/P, P/S변환부 (65-1∼65-8)와, 피씨로 부터의 제어명령을 입력하여 녹음, 연주 및 템포등 설정된 모드의 동작을 수행하고 미디 이벤트를 외부 전자악기로 출력함과 아울러 외부 전자악기로부터 입력된 미디 채널 메세지를 입력하여 상기 메모리부(64-1∼64-8)를 통해 피씨로 전송하며 인터페이스회로의 전반적인 동작을 제어하는 코-프로세서(62,63)와, 상기 코-프로세서(62,63)와 피씨간에 교환되는 데이타를 일시 저장하는 래치(56∼59)와, 피씨로부터의 입출력 제어명령에 따라 상기 래치(56~59)를 제어하는 피씨 인터페이스 제어부(55)와, 상기 인터 페이스 제어부 (55)의 제어에 따라 상기 래치(56∼59)및 메모리부(64-1∼64-8)의 데이타 입/출력을 제어하는 코-프로세서 제어부(60,61)로 구성된다.2 is a block diagram of the MIDI interface circuit of the present invention, as shown therein, an I / O address selector 53 for designating an input / output address according to the type of data transmitted and received between the PC and other MIDI interface circuits; Memory units 64-1 to 64-8 for storing MIDI channel messages input from an external electronic instrument, and S / P and P / S converters for converting serial data and parallel data into parallel data and serial data and outputting the same. (65-1 to 65-8) and control commands from PCs to perform the set mode operation such as recording, performance, and tempo, output MIDI events to external electronic instruments, and input from external electronic instruments. Co-processors 62 and 63 for inputting a MIDI channel message to the PC through the memory units 64-1 to 64-8 and controlling the overall operation of the interface circuit, and the co-processors 62 and 63; ) And PC Latches 56 to 59 for temporarily storing the data to be exchanged, PC interface controller 55 for controlling the latches 56 to 59 according to input and output control commands from the PC, and control of the interface controller 55. And the co-processor controllers 60 and 61 for controlling data input / output of the latches 56 to 59 and the memory units 64-1 to 64-8.

상기의 구성에서 8개의 미디 포트로의 확장은 총128개의 미디 채널을 지원할 수 있는데, 이는 제너럴 미디 규격의 악기 8개를 관리할 수 있음을 의미한다.In the above configuration, the expansion to eight MIDI ports can support a total of 128 MIDI channels, which means that eight instruments of the general MIDI standard can be managed.

동시 처리하여야할 미디 포트가 8배 확장됨에 따라 코-프로세서(62,63)도 2개의 증가되었고 각 4개씩의 미디 포트를 관리하게 된다. 2개의 코-프로세서(62,63)는 서로 충돌됨이 없이 피씨와 정보를 굔환하여야 하므로 HOLD/ACK 신호단자를 이용하여 순차처리한다. 8개의 미디 하드웨어를 통해 일시에 데이타가 입력되므로 각 코-프로세서(62,63)는 4개의 미디 단자에서 입력되는 이벤트들을 해당 메모리 (64-1∼ 64-8)에 타임-멀티플렉싱(time multiplexing)의 방법으로 써넣어야 하며 이와는 반대로, 피씨의 데이타를 외부로 출력하기 위해서 각 코-프로세서(62,63)는 4개의 미디 포트를 순차적으로 절환시켜 외부로 출력한다.As the number of MIDI ports to be processed simultaneously is expanded eight times, the co-processors 62 and 63 are increased by two, and four MIDI ports are managed. Since the two co-processors 62 and 63 must exchange PC and information without colliding with each other, the two co-processors 62 and 63 sequentially process using the HOLD / ACK signal terminal. Since data is input at one time through eight MIDI hardware, each co-processor (62, 63) can time-multiplex the events input at four MIDI terminals to the corresponding memory (64-1 to 64-8). On the contrary, in order to output the data of the PC to the outside, each co-processor (62, 63) switches the four MIDI ports in order to output to the outside.

상기와 같이 구성한 본 발명의 회로에 대하여 그 동작 및 작용효과를 상세히 설명하면 다음과같다.Referring to the circuit and operation and effect of the present invention configured as described above in detail as follows.

8개의 독립된 미디 포트의 선택 및 취소를 위해 표 2의 코멘드 "EBH"를 사용한다. 코멘드 "EBH"는 2개의 오퍼랜드(operand) 바이틀 수반하는데 각 오퍼랜드의 하위 4비트는 8개의 포트를 동작하도록 하거나 동작하지 않도록 한다.The command “EBH” in Table 2 is used to select and cancel eight independent MIDI ports. The command "EBH" entails two operand vials, with the lower four bits of each operand enabling or disabling eight ports.

코-프로세서(62,63)의 프로그램은 플로우 제 8 도와 같이 "EBH"코멘드에 의해 포트 액티브(port active)리지스터의 비트를 세트하거나 리세트하게 된다. 코멘드 "EBH"의 첫번째 오퍼랜드 상위 4비트는 메세지 ID로서 플래이 동작시 그 순간에 외부로 출력하는 미디 이벤트가 어느 트랙(track)의 것인지를 구별해준다.The program of co-processors 62 and 63 will set or reset the bits of the port active register by the " EBH " command as in flow eighth. The first four bits of the first operand of the command "EBH" are the message ID, which identifies which track the MIDI event that is output to the outside at the time of the play operation is.

예를들어, 플래이 트랙 0번을 연주하고 8개의 포트(port)를 액티브시키고 모든 포트로 들어오는 미디 이벤트를 녹음한다고 하였을 때, 피씨로부터 코-프로세서 (62,63)로 나가는 코멘드는 "EBH", 오퍼랜드는 "OFH", "OFH"가 된다.For example, if you play Fly Track 0, activate eight ports, and record MIDI events coming into all ports, the command from PC to co-processors (62, 63) is "EBH", Operands are "OFH", "OFH".

제 3 도에 메인 루틴을 표시하였는데 레코드나 플래이 모드일 대 각각의 서브-루틴을 수행한다.The main routine is shown in Figure 3, which executes each sub-routine when in record or play mode.

한편 제 4 도는 레코드 루틴에 대한 흐름도로서, 해당 포트의 레코드 모드가 온이면 메인 포인터와 채이스 포인트(chase pointer)가 일치하는가를 조사하여 일치하면 레코드 모드 판별 레지스터의 데이타를 쉬프트하여 8포트까지 모두 검색하고,만일 상기 메인 포인터와 체이스 포인터가 서로 일치하지 않으면 메인 이벤트와 타이머 X의 값을 데이타-인 레지스터를 사용하여 피씨로 송출한 다음 상기 타이머 X의 값을 리세트하고 체이스 포인터를 증가시키고 나서 상기의 포인터 비교과정을 반복한다.4 is a flow chart of the record routine. If the record mode of the corresponding port is on, it checks whether the main pointer and the chase pointer match, and if it matches, shifts the data in the record mode determination register to search all 8 ports. If the main pointer and the chase pointer do not coincide with each other, the main event and the value of the timer X are sent to the PC using a data-in register, and then the value of the timer X is reset and the chase pointer is increased. Repeat the pointer comparison process.

한편, 제 5 도는 플래이 모드에 대한 제어 흐름도러서 , 해당포트의 플래이 모드가 온이면 타이머 Y의 값을 조사하여 그 값이 0일 경우 플래이 포인터를 이용하여 메모리부(64-1∼64-8)의 미디 이벤트를 출력하고, 만일 해당 포트에 대한 플래이 모드가 오프이면 플래이 판별 레지스터를 쉬프트하여 모든 포트에 대한 플래이 모드를 검사한다.On the other hand, Figure 5 is a flow chart for the control mode for the fly mode, if the fly mode of the corresponding port is turned on, the value of the timer Y is examined and if the value is 0, the memory unit 64-1 to 64-8 using the fly pointer. It outputs a MIDI event of, and checks the play mode for all ports by shifting the play determination register if the play mode for that port is off.

그리고 제 6 도 및 제 7 도는 레코드 타이머 인터럽트 서비스 루틴 및 플래이 타이머의 인터럽트 서비스 루틴에 대한 흐름도로서, 각기 레코드모드 또는 플래이 모드가 온이 되면 레코드 시간과 플래이 시간을 관리 하는 타이머 X와 타이머 Y 의 값을 감소시키면서 모든 포트에 대하여 미디 이벤트를 입력하여 녹음하거나 액티브되어있는 포트틀 통하여 미디 이벤트를 출력한다.6 and 7 are flow charts of a record timer interrupt service routine and an interrupt service routine of a play timer, wherein values of timer X and timer Y managing record time and play time when record mode or play mode are turned on, respectively. Records MIDI events for all ports while reducing or outputs MIDI events through the active port.

레코드나 플래이 모드의 결정은 PC로부터의 레코드, 플래이 코멘드에 의해 결정된다. 일반 레코드나 플래이 모드에 들어가면 레코드의 시간을 관리하는 타이머 X와 플래이의 시간을 관리하는 타이머 Y가 동작하게 된다.The record or play mode is determined by the record and play commands from the PC. When entering normal record or play mode, timer X, which manages the time of the record, and timer Y, which manages the time of the play, are activated.

레코드의 경우 미디 이벤트가 입력되면 입력된 포트에 해당하는 타이머 X의 값을 증가시키고 플래이의 경우 피씨로부터 미디 이벤트와 타이머 값을 받는 순간부터 타이머 Y의 값을 감소시켜 그 값이 0이 되었을때 해당 포트로 미디 이벤트 출력하고 다음 미디 이벤트를 피씨로 요구한다.In the case of record, when MIDI event is input, the value of timer X corresponding to the input port is increased. In case of play, when the value of timer Y is decreased by receiving MIDI event and timer value from PC, the value is reduced to 0. Outputs MIDI events to the port and requests the next MIDI event to PC.

코-프로세서(62)는 포트(64-1∼64-4), 코-프로세서(63)는 포트 (64-5∼64-8)를 관리하므로 제 2 도의 피씨 인터페이스회로는 베이스 어드레스 +1의 번지로 정보 교환시 코-프로세서(62,63)와 피씨의 버스(50)를 연결하고, 베이스 +2의 번지를 사용하면 코-프로세서(63)와 피씨 버스(50)를 연결해준다.Co-processor 62 manages ports 64-1 to 64-4, and co-processor 63 manages ports 64-5 to 64-8, so the PC interface circuit of FIG. Co-processors (62, 63) and PC bus (50) is connected to the address exchange information, the base +2 using the address of the co-processor 63 and PC bus 50 is connected.

각각의 코-프로세서(62,63)가 피씨로 정보를 보내고자 할때 피씨의 인터럽트 단자를 통해 출력할 데이타가 있음을 알려주는데, 제 2 도의 인터럽트 제어부(54)는 각각의 코-프로세서(62,63)의 인터럽트 요구단자의 신호를 입력하여 피씨로 전달해준다.When each of the co-processors 62 and 63 wants to send information to the PC, it is informed that there is data to output through the interrupt terminal of the PC. The interrupt control unit 54 of FIG. Inputs the signal of interrupt request terminal of (63) to PPC.

따라서, 본 발명은 최근에 출시되는 제너럴 미디 전자악기를 8개까지 피씨로 동시제어가 가능하게 된다.Accordingly, the present invention enables simultaneous control of up to eight general MIDI electronic instruments on the market.

이상에서와같이 본 발명은 한 악기에서 다수의 음색이 출력되어 많은 미디 채널이 요구되는 악기의 인터페이스 회로를 구현할 수 있도록 해준다.As described above, the present invention enables to implement an interface circuit of an instrument in which a plurality of tones are output from one instrument, and many MIDI channels are required.

Claims (1)

피씨와 미디 인터페이스 회로간에 정보의 전송 또는 수신 가능 여부의 신호와, 녹음, 연주, 템포 조절등의 각종 모드의 데이타에 대한 입출력 어드레스를 지정함과 아울러 데이타의 입출력기능들을 선택적으로 지정하기 위한 어드레스를 생성하는 I/O어드레스 선택부(53)와, 외부 전자악기로부터 미디 인터페이스 회로로 입력되어 병렬 데이타로 변환된 채널 메세지를 저장하는 메모리부(64-1∼64-8)와, 외부 전자악기로부터의 직렬 데이타를 병렬 데이타로 변환하여 미디 인터페이스 회로로 입력하고 미디 인터페이스 회로의 병렬 데이타를 직렬 데이타로 변환하여 외부 전자악기로 출력하는 S/P,P/S변환부(65-1∼65-8)와, 피씨로부터의 제어명령을 입력하여 녹음, 연주 및 템포등 설정된 모드의 동작을 수행하고 미니 이벤트를 외부 전자막기로 출력함과 아울러 외부 전자악기로부터의 입력된 미디 채널 메세지를 입력하여 상기 메모리부(64-1∼64-8)를 통해 피씨로 전송하며 인터페이스회로의 전반적인 동작을 제어하는 코-프로세서(62,63) 와, 상기 코-프로세서(62,63)와 피씨간에 교환되는 데이타를 일시 저장하는 래치(56-59)와, 피씨로부터의 입출력 제어명령에 따라 상기 래치(56-59)를 제어하는 피씨 인터페이스 제어부(55)와, 피씨에 인터럽트를 걸어서 상기 코-프로세서(62,63)로부터 피씨로 정보를 전송하도록 제어신호를 발생시키는 인터럽트 제어부(54)와,상기 피씨 인터페이스부 제어부(55)의 제어에 따라 상기 래치(56-59) 및 메모리부(64-1∼64-8)의 데이타 입/출력을 제어하는 코-프로세서 제어부(60,61)로 구성된 것을 특징으로 하는 피씨용 미디 인터페이스 회로.Signals to transmit or receive information between PC and MIDI interface circuits, and I / O addresses for data in various modes such as recording, performance, and tempo adjustment, as well as addresses for selectively specifying data input / output functions. An I / O address selector 53 to be generated, memory units 64-1 to 64-8 for storing channel messages inputted from an external electronic instrument to the MIDI interface circuit and converted into parallel data, and from an external electronic instrument S / P and P / S converters (65-1 to 65-8) for converting serial data into parallel data, inputting them into a MIDI interface circuit, and converting parallel data of the MIDI interface circuit into serial data and outputting them to an external electronic instrument. And control commands from the PC to perform recording, performance and tempo settings, and output mini events to the external electronic blocker. Co-processors (62, 63) for inputting the MIDI channel message from an external electronic instrument to transmit to the PC through the memory unit (64-1 to 64-8) and control the overall operation of the interface circuit; A latch 56-59 for temporarily storing data exchanged between the co-processors 62 and 63 and the PC interface controller 55 for controlling the latch 56-59 according to an input / output control command from the PC. And an interrupt controller 54 which interrupts the PC and generates a control signal to transmit information from the co-processors 62 and 63 to the PC, and the latch according to the control of the PC interface unit 55. 56-59) and a co-processor control unit (60, 61) for controlling data input / output of the memory units 64-1 to 64-8.
KR1019920014055A 1992-08-05 1992-08-05 Pc interfacing circuit KR940009745B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920014055A KR940009745B1 (en) 1992-08-05 1992-08-05 Pc interfacing circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920014055A KR940009745B1 (en) 1992-08-05 1992-08-05 Pc interfacing circuit

Publications (2)

Publication Number Publication Date
KR940004416A KR940004416A (en) 1994-03-15
KR940009745B1 true KR940009745B1 (en) 1994-10-17

Family

ID=19337535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920014055A KR940009745B1 (en) 1992-08-05 1992-08-05 Pc interfacing circuit

Country Status (1)

Country Link
KR (1) KR940009745B1 (en)

Also Published As

Publication number Publication date
KR940004416A (en) 1994-03-15

Similar Documents

Publication Publication Date Title
US5381529A (en) Shift register with dual clock inputs for receiving and sending information between I/O channels and host based on external and internal clock inputs respectively
US5481678A (en) Data processor including selection mechanism for coupling internal and external request signals to interrupt and DMA controllers
KR100375233B1 (en) Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
US5949011A (en) Configurable tone generator chip with selectable memory chips
KR940009745B1 (en) Pc interfacing circuit
US5708815A (en) DMA emulation via interrupt muxing
KR0135895B1 (en) Interface device using integrated device electronics port
WO1998005027A1 (en) Vertical wavetable cache architecture
JP2998576B2 (en) Data processing device
JP2797137B2 (en) Processing equipment for electronic musical instruments
KR100584583B1 (en) Apparatus and method controlling a serial bus
JP3201439B2 (en) Direct memory access control circuit
JPS59204888A (en) Electronic musical instrument system
JP3366202B2 (en) Bus controller and data processing system
JPH04346140A (en) Access controller for shared memory
JPH0732396B2 (en) Data transfer system and timing control device
JPH10312356A (en) Data transfer device
JPH03265251A (en) Line address scanning circuit
JPH09261786A (en) Control system for time-division switch
JPH1186526A (en) Memory controller
JPH10177388A (en) Sound memory access control device
JPH08221066A (en) Controller for electronic musical instrument
JPH096672A (en) Signal processor
JPH02166835A (en) Data format conversion circuit
JPH06223036A (en) Serial communication device

Legal Events

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

Payment date: 20031001

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee