KR20070052508A - Apparatus and method for interfacing between the modules in communication system - Google Patents

Apparatus and method for interfacing between the modules in communication system Download PDF

Info

Publication number
KR20070052508A
KR20070052508A KR1020050110219A KR20050110219A KR20070052508A KR 20070052508 A KR20070052508 A KR 20070052508A KR 1020050110219 A KR1020050110219 A KR 1020050110219A KR 20050110219 A KR20050110219 A KR 20050110219A KR 20070052508 A KR20070052508 A KR 20070052508A
Authority
KR
South Korea
Prior art keywords
control module
module
external
interrupt request
address
Prior art date
Application number
KR1020050110219A
Other languages
Korean (ko)
Other versions
KR101192285B1 (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 KR1020050110219A priority Critical patent/KR101192285B1/en
Publication of KR20070052508A publication Critical patent/KR20070052508A/en
Application granted granted Critical
Publication of KR101192285B1 publication Critical patent/KR101192285B1/en

Links

Images

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
    • G06F13/128Program 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 for dedicated transfers to a network

Abstract

본 발명은 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치 및 방법에 관한 것이다. 본 발명에 따른 인터페이스 장치는, 제어모듈과 복수의 외부모듈들 사이에 교환되는 데이터를 해당 외부모듈의 고유한 어드레스 영역에 저장하기 위한 다중포트 메모리와, 상기 다중포트 메모리의 업데이트 어드레스 값을 기록하기 위한 인덱스 레지스터와, 상기 제어모듈과 상기 복수의 외부모듈들의 상기 다중포트 메모리 및 상기 인덱스 레지스터의 접근을 제어하기 위한 관리로직을 포함한다. 이와 같은 본 발명은 신호처리 구조를 보다 간단히 할 수 있고, 소프트웨어 부하를 줄일 수 있는 이점이 있다. The present invention relates to an interface device and a method between a control module and an external module in a communication system. The interface device according to the present invention includes a multiport memory for storing data exchanged between a control module and a plurality of external modules in a unique address area of a corresponding external module, and recording an update address value of the multiport memory. An index register, and a management logic for controlling access to the multiport memory and the index register of the control module and the plurality of external modules. As described above, the present invention can simplify the signal processing structure and reduce the software load.

제어모듈, 외부모듈, 인터페이스, 인터럽트, 레지스터 뱅크 Control module, external module, interface, interrupt, register bank

Description

통신시스템에서 모듈간 인터페이스 장치 및 방법{APPARATUS AND METHOD FOR INTERFACING BETWEEN THE MODULES IN COMMUNICATION SYSTEM}Interface device and method between module in communication system {APPARATUS AND METHOD FOR INTERFACING BETWEEN THE MODULES IN COMMUNICATION SYSTEM}

도 1은 종래기술에 따른 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치를 도시하는 도면.1 is a view showing an interface device between a control module and an external module in a communication system according to the prior art.

도 2는 본 발명의 실시예에 따른 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치를 도시하는 도면.2 illustrates an interface device between a control module and an external module in a communication system according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 레지스터 뱅크의 인터럽트 요청 처리 절차를 도시하는 도면.3 is a diagram illustrating an interrupt request processing procedure of a register bank according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 제어모듈의 인터럽트 처리 절차를 도시하는 도면.4 is a diagram illustrating an interrupt processing procedure of a control module according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 외부모듈의 인터럽트 처리 절차를 도시하는 도면.5 is a diagram illustrating an interrupt processing procedure of an external module according to an embodiment of the present invention.

본 발명은 통신시스템에서 모듈간 인터페이스 장치 및 방법에 관한 것으로, 특히 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치 및 방법에 관한 것이다.The present invention relates to an inter-module interface device and method in a communication system, and more particularly, to an interface device and method between a control module and an external module in a communication system.

일반적으로, 통신시스템에서 제어 로직(control logic)과 외부 디바이스 로직(device logic)은 직접 연결되어 데이터와 어드레스를 인터페이스한다. In general, in a communication system, control logic and external device logic are directly connected to interface data and addresses.

도 1은 종래기술에 따른 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치를 도시하고 있다. 도시된 바와 같이, 종래기술에 따른 인터페이스 장치는, 제어모듈(100), 어드레스 디코더(102), 복수의 외부모듈들(104-1 내지 104-4)을 포함하여 구성된다. 여기서, 4개의 외부모듈들(104-1 내지 104-4)이 존재하는 것으로 가정하기로 한다. 이하 설명은 제어모듈(100)에서 외부모듈(104-2)로 데이터를 전송하는 경우를 예를들어 살펴보기로 한다.1 illustrates an interface device between a control module and an external module in a communication system according to the related art. As shown in the drawing, the interface device according to the related art includes a control module 100, an address decoder 102, and a plurality of external modules 104-1 to 104-4. Here, it is assumed that there are four external modules 104-1 to 104-4. Hereinafter, a case in which data is transmitted from the control module 100 to the external module 104-2 will be described by way of example.

도 1을 참조하면, 먼저 상기 제어모듈(100)은 상기 외부모듈(104-2)로 전송할 데이터(Data)를 데이터 버스로 출력하고, 상기 데이터가 기록될 어드레스(Address)를 어드레스 버스로 출력한다. 상기 어드레스 디코더(102)는 상기 어드레스 버스를 통해 입력되는 어드레스를 디코딩하여 해당 외부모듈(104-2)을 선택하기 위한 칩선택(CS : chip selection) 신호를 발생한다. 상기 외부모듈(104-2)은 상기 어드레스 디코더(102)로부터의 칩선택 신호에 의해 상기 데이터 버스 및 상기 어드레스 버스에 실린 데이터와 어드레스를 수신하여 처리한다. Referring to FIG. 1, first, the control module 100 outputs data to be transmitted to the external module 104-2 on a data bus, and outputs an address on which the data is to be written on an address bus. . The address decoder 102 decodes an address input through the address bus and generates a chip selection (CS) signal for selecting the corresponding external module 104-2. The external module 104-2 receives and processes data and addresses carried on the data bus and the address bus by a chip select signal from the address decoder 102.

한편, 도시된 바와 같이, 상기 제어모듈(100)과 상기 외부모듈들(104-1 내지 104-4)은 일대일로 인터럽트 신호 라인이 연결되고, 상기 제어모듈(100)은 상기 외 부모듈들(104-1 내지 104-4)로부터 직접 인터럽트를 수신하여 처리한다.On the other hand, as shown, the control module 100 and the external modules (104-1 to 104-4) is connected to the interrupt signal line in a one-to-one, the control module 100 is the external modules ( 104-1 to 104-4) to receive and process the interrupt directly.

그런데, 상기와 같은 구조는 다음과 같은 문제들이 존재한다.However, the above structure has the following problems.

첫 번째, 제어모듈(예 : CPU)이 외부모듈을 제어하거나 또는 외부모듈에서 제어모듈로 인터럽트를 요청하는 경우, 데이터 및 어드레스가 직접 인터페이스되어 있으므로 항상 두 모듈이 모두 처리모드에 있어야 한다. First, when a control module (eg CPU) controls an external module or requests an interrupt from an external module to a control module, both modules must be in processing mode because data and address are directly interfaced.

두 번째, 하나의 외부모듈을 2개 이상의 제어모듈들이 액세스할 경우, 다른 제어모듈에서 설정한 값이나 다른 제어모듈로 요청된 인터럽트를 바로 확인할 수 없다. Second, when more than one control module accesses one external module, it is not possible to immediately check the value set in another control module or the interrupt requested by another control module.

세 번째, 각 외부모듈별로 인터럽트를 할당하는 경우, 외부모듈의 수가 증가할 경우 인터럽트 신호 개수도 증설해야 되는데, 만약 제어모듈에서 제공되는 인터럽트 개수를 초과하게 되면, 원하는 만큼의 인터럽트를 사용할 수 없거나 외부에 추가적인 회로를 구성해야 한다.Third, in case of assigning interrupts for each external module, if the number of external modules increases, the number of interrupt signals should be increased. If the number of interrupts provided by the control module is exceeded, as many interrupts as desired can't be used. Additional circuitry must be configured.

다섯 번째, 제어모듈을 추가할 경우 해당 제어모듈에 대하여 추가적인 버스와 로직을 구성하여야 한다. 이때, 추가되는 CPU에서 지원하는 버스 방식과 맞지 않는 외부모듈은 CPU의 GPIO(general purpose I/O)를 이용해 별도로 제어하게 되는데, 이 경우 추가적인 소프트웨어 부하를 발생할 수 있다,Fifth, when adding a control module, additional bus and logic should be configured for the control module. At this time, the external module that does not match the bus system supported by the additional CPU is controlled separately using the GPIO (general purpose I / O) of the CPU, in this case may cause additional software load,

근래에, 통신시스템은 더 많은 기능들을 지원하기 위해 또는 더 많은 사용자들을 수용하기 위해, 많은 수의 제어모듈들과 외부로직 모듈들(외부모듈들)이 탑재되고 있다. 이런 경우, 제어모듈과 외부모듈을 상술한 바와 같이 직접 접근 방식으로 연결하는 것은 복잡도, 회로 집적화, 효율적인 운용 및 증설 등을 고려했을 때 비효율인 문제점이 있다.In recent years, communication systems have been equipped with a large number of control modules and external logic modules (external modules) to support more functions or to accommodate more users. In this case, the direct connection between the control module and the external module as described above has a problem of inefficiency in consideration of complexity, circuit integration, efficient operation and expansion.

따라서 본 발명의 목적은 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an interface device and method between a control module and an external module in a communication system.

본 발명의 다른 목적은 통신시스템에서 제어모듈과 외부모듈이 레지스터 뱅크를 이용해서 인터페이스하기 위한 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for interfacing a control module and an external module with a register bank in a communication system.

본 발명의 또 다른 목적은 통신시스템에서 제어모듈이 외부모듈을 효율적으로 제어하고, 외부모듈로부터의 인터럽트를 효율적으로 처리하기 위한 장치 및 방법을 제공함에 있다.Still another object of the present invention is to provide an apparatus and a method for a control module to efficiently control an external module and efficiently handle interrupts from an external module in a communication system.

상기 목적들을 달성하기 위한 본 발명의 일 견지에 따르면, 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치에 있어서, 제어모듈과 복수의 외부모듈들 사이에 교환되는 데이터를 해당 외부모듈의 고유한 어드레스 영역에 저장하기 위한 다중포트 메모리와, 상기 다중포트 메모리의 업데이트 어드레스 값을 기록하기 위한 인덱스 레지스터와, 상기 제어모듈과 상기 복수의 외부모듈들의 상기 다중포트 메모리 및 상기 인덱스 레지스터의 접근을 제어하기 위한 관리로직을 포함하는 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, in the communication system in the interface device between the control module and the external module, the unique address of the external module for the data exchanged between the control module and the plurality of external modules A multiport memory for storing in an area, an index register for recording an update address value of the multiport memory, and for controlling access of the multiport memory and the index register of the control module and the plurality of external modules It is characterized by including the management logic.

본 발명의 다른 견지에 따르면, 제어모듈과 외부모듈 사이의 인터페이스 장치에서 신호 처리 방법에 있어서, 외부모듈의 인터럽트 요청 감지시, 상기 외부모듈로부터 입력되는 인터럽트 요청 메시지를 다중포트 메모리 내 상기 외부모듈을 위해 할당된 고유한 어드레스 영역에 저장하는 과정과, 업데이트된 상기 어드레스 값을 인덱스 레지스터에 기록하는 과정과, 제어모듈과의 인터럽트요청 신호 라인을 통해 인터럽트 요청 신호를 발생하는 과정과, 상기 제어모듈의 접근에 의해 상기 어드레스 영역에 저장된 상기 인터럽트 요청 메시지를 독출하여 상기 제어모듈로 출력하는 과정을 포함하는 것을 특징으로 한다.According to another aspect of the invention, in the signal processing method in the interface device between the control module and the external module, when the interrupt request of the external module, the interrupt request message input from the external module to the external module in the multi-port memory Storing the updated address value in an index register; generating an interrupt request signal through an interrupt request signal line with a control module; And reading out the interrupt request message stored in the address area by access and outputting the interrupt request message to the control module.

이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, the operating principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted if it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.

이하, 본 발명은 통신시스템에서 제어모듈과 외부모듈이 레지스터 뱅크를 이용해서 인터페이스하기 위한 방안에 대해 살펴보기로 한다.Hereinafter, a method for interfacing a control module and an external module with a register bank in a communication system will be described.

도 2는 본 발명의 실시예에 따른 통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치를 도시하고 있다. 2 illustrates an interface device between a control module and an external module in a communication system according to an embodiment of the present invention.

도시된 바와 같이, 본 발명에 따른 인터페이스 장치는, 제어모듈(200), 레지 스터 뱅크(202), 복수의 외부모듈들(204-1 내지 204-3)을 포함하여 구성된다. 여기서, 3개의 외부모듈들(204-1 내지 204-3)이 존재하는 것으로 가정하기로 한다. 한편, 상기 레지스터 뱅크(202)는 관리 로직(managing logic)(212), 다중포트 메모리(multi-port memory)(222) 및 인덱스 레지스터(index register)(232)를 포함하여 구성된다. 특히, 상기 관리로직(121)은 상기 다중포트 메모리(222) 및 인덱스 레지스터(232)에 대하여 데이터를 기록 및 독출하기 위한 로직과 아울러 상기 제어모듈(200) 및 외부모듈(204)로 필요한 제어신호(예 : IRQ신호 등)를 발생하는 로직을 포함하여 구성될 수 있다. As illustrated, the interface device according to the present invention includes a control module 200, a register bank 202, and a plurality of external modules 204-1 to 204-3. Here, it is assumed that there are three external modules 204-1 to 204-3. On the other hand, the register bank 202 includes a management logic (212), a multi-port memory (222) and an index register (232). In particular, the management logic 121 is a control signal necessary for the control module 200 and the external module 204 as well as logic for writing and reading data to the multi-port memory 222 and the index register 232. It can be configured to include logic to generate (eg IRQ signal).

일반적으로, 인터럽트 요청을 처리하는 동작은, 외부모듈에서 제어모듈로 데이터를 전달하는 동작 및 제어모듈에서 외부모듈로 데이터를 전달하는 동작을 모두 포함하기 때문에, 이하 설명은 외부 모듈에서 발생하는 인터럽트 요청을 처리하는 동작 위주로 살펴보기로 한다.In general, since the operation of processing an interrupt request includes both an operation of transferring data from an external module to a control module and an operation of transferring data from the control module to an external module, the following description is provided for an interrupt request generated from an external module. Let's take a look at the operation processing the.

도 2를 참조하면, 인터럽트 요청이 필요한 경우, 해당 외부모듈(204)은 제어신호(control signal) 버스로 상태(인터럽트 발생 상태) 신호를 출력하고, 데이터(data) 버스로 인터럽트 요청 메시지를 출력한다. 그러면, 상기 레지스터 뱅크(202)는 상기 제어신호 버스로부터 입력되는 상태신호를 인식하고, 상기 데이터 버스로부터 입력되는 인터럽트 요청 메시지를 다중포트 메모리(222)에 저장한다. 이때, 상기 인터럽트 요청 메시지는 상기 외부모듈(204)을 위해 할당된 고유한 어드레스 영역에 저장된다.Referring to FIG. 2, when an interrupt request is required, the corresponding external module 204 outputs a status (interrupt occurrence status) signal to a control signal bus and outputs an interrupt request message to a data bus. . Then, the register bank 202 recognizes a status signal input from the control signal bus and stores an interrupt request message input from the data bus in the multiport memory 222. At this time, the interrupt request message is stored in a unique address area allocated for the external module 204.

이때, 상기 인터럽트 요청 메시지가 기록된 어드레스는 상기 인덱스 레지스 터(232)에 업데이트된다. 일 예로, 상기 인덱스 레지스터(232)에 해당 어드레스 값 자체를 업데이트할 수 있고, 다른 예로 상기 인덱스 레지스터(232)를 비트맵으로 구성하여 해당 어드레스에 대응하는 비트 플래그를 세팅(setting)할 수도 있다. 이와 같이, 인터럽트 레지스터(232)가 업데이트되면, 상기 관리로직(212)은 상기 제어모듈(200)로 인터럽트 요청(IRQ : Interrupt ReQest) 신호를 발생한다. At this time, the address where the interrupt request message is recorded is updated in the index register 232. For example, the corresponding address value itself may be updated in the index register 232. Alternatively, the index register 232 may be configured as a bitmap to set a bit flag corresponding to the corresponding address. As such, when the interrupt register 232 is updated, the management logic 212 generates an interrupt request (IRQ) signal to the control module 200.

상기 인터럽트 요청 신호가 수신되면, 상기 제어모듈(200)은 상기 인덱스 레지스터(232)를 액세스하기 위해 칩선택(CS : Chip Selection) 신호를 상기 레지스터 뱅크(202)로 발생한다. 그리고, 상기 제어모듈(200)은 현재 자신에게 액세스 권한이 부여되는지 판단한다. 액세스 권한이 부여될 경우, 상기 제어모듈(200)은 상기 인덱스 레지스터(232)를 액세스하여 인터럽트를 요청한 상기 외부모듈(204)을 확인한다. When the interrupt request signal is received, the control module 200 generates a chip selection (CS) signal to the register bank 202 to access the index register 232. In addition, the control module 200 determines whether an access right is currently granted to the control module 200. When the access right is granted, the control module 200 accesses the index register 232 and checks the external module 204 that requested the interrupt.

그리고, 상기 제어모듈(200)은 상기 인덱스 레지스터(232)에 기록된 어드레스를 액세스하여 인터럽트 요청 메시지를 독출하고, 상기 독출된 인터럽트 요청 메시지를 분석해서 상기 외부모듈(204)의 상태나 요청을 확인한후 해당 처리(process)를 수행한다.The control module 200 reads the interrupt request message by accessing the address recorded in the index register 232, and analyzes the read interrupt request message to confirm the state or request of the external module 204. After that process is executed.

이외 같이, 복수의 제어모듈들이 존재할 경우, 상기 복수의 제어모듈들은 우선권을 가지고 상기 레지스터 뱅크(202)를 액세스하게 되는데, 이러한 우선권 제어는 상기 레지스터 뱅크(202)의 관리로직(212)에서 수행한다. 즉, 상기 관리로직(212)은 제어모듈들의 우선권을 결정하고, 현재 우선권이 있는 제어모듈에게 액세스 권한을 부여한다.In addition, when there are a plurality of control modules, the plurality of control modules have priority to access the register bank 202, which is performed by the management logic 212 of the register bank 202. . In other words, the management logic 212 determines the priority of the control modules, and grants access to the control module that currently has priority.

상기 인터럽트 요청 처리후 상기 외부모듈(204)로 전송할 제어데이터(예 : 인터럽트 처리 결과 데이터)가 존재할 경우, 상기 제어모듈(200)은 상기 외부모듈(204)로 전송할 제어데이터를 데이터 버스로 출력하고, 상기 제어데이터가 기록될 어드레스(Address)를 어드레스 버스로 출력한다. If control data (eg, interrupt processing result data) to be transmitted to the external module 204 exists after the interrupt request processing, the control module 200 outputs the control data to be transmitted to the external module 204 on a data bus. The address on which the control data is to be written is output to the address bus.

그러면, 상기 레지스터 뱅크(202)는 상기 데이터 버스를 통해 입력되는 제어데이터를 상기 어드레스 버스를 통해 입력되는 어드레스 영역(다중포트 메모리)에 기록한다. 즉, 상기 제어데이터를 상기 외부모듈(204)을 위해 할당된 고유한 어드레스 영역에 저장한다. 이후, 상기 레지스터 뱅크(202)의 관리 로직(202)은 데이터 독출을 요청하는 제어신호를 상기 외부모듈(204)로 출력한다.Then, the register bank 202 writes control data input through the data bus into an address area (multi-port memory) input through the address bus. That is, the control data is stored in a unique address area allocated for the external module 204. Thereafter, the management logic 202 of the register bank 202 outputs a control signal for requesting data reading to the external module 204.

한편, 상기 데이터 독출을 요청하는 제어신호를 수신한 상기 외부모듈(204)은 다중포트 메모리(222)내 자신에게 할당된 어드레스를 액세스하여 상기 제어모듈(200)이 전송한 제어데이터를 독출하고, 상기 독출된 제어데이터를 분석해서 해당 처리(process)를 수행한다.On the other hand, the external module 204 receiving the control signal for requesting the data read access the address assigned to itself in the multi-port memory 222 reads the control data transmitted from the control module 200, The read control data is analyzed to perform a corresponding process.

이와 같이, 본 발명은 제어모듈과 외부모듈 사이의 인터페이스를 메모리(레지스터 뱅크)를 통해 구성함으로써, 응답이 필요 없거나 더 많은 메모리가 할당되어야 하는 경우에 대하여 유연하게 하드웨어를 변경할 수 있다. 한편, 상세히 설명하지는 않았지만, 상기 외부모듈들(204-1 내지 204-3)이 공통 버스로 연결되기 때문에, 상기 관리 로직(212)은 상기 외부모듈들(204-1 내지 204-3)의 레지스터 뱅크(202) 액세스를 중재(arbitration)하기 위한 로직을 포함한다.As described above, the present invention configures the interface between the control module and the external module through a memory (register bank), so that the hardware can be flexibly changed in the case where no response is required or more memory should be allocated. Although not described in detail, since the external modules 204-1 to 204-3 are connected to a common bus, the management logic 212 registers the external modules 204-1 to 204-3. Bank 202 includes logic for arbitrating access.

도 3은 본 발명의 실시예에 따른 레지스터 뱅크의 인터럽트 요청 처리 절차를 도시하고 있다. 3 illustrates an interrupt request processing procedure of a register bank according to an embodiment of the present invention.

도 3을 참조하면, 먼저 레지스터 뱅크(202)는 301단계에서 외부모듈(204)로부터 인터럽트 요청 상태신호가 입력되는지 검사한다. 상기 인터럽트 요청 상태 신호가 입력될 경우, 상기 레지스터 뱅크(202)는 303단계로 진행하여 데이터 버스를 통해 상기 외부모듈(204)로부터 입력되는 인터럽트 요청 메시지를 상기 외부모듈(204)을 위해 할당된 어드레스 영역에 저장한다.Referring to FIG. 3, the register bank 202 first checks whether an interrupt request status signal is input from the external module 204 in step 301. When the interrupt request status signal is input, the register bank 202 proceeds to step 303 in which an interrupt request message input from the external module 204 through the data bus is assigned to the external module 204. Save to the area.

이때, 상기 레지스터 뱅크(202)는 305단계에서 상기 인터럽트 요청 메시지가 기록된 어드레스를 인덱스 레지스터(232)에 기록한다. 이러한 인덱스 레지스터(232)의 업데이트 동작은 레지스터 뱅크(202)의 관리로직(212)에 의해 수행된다.In this case, the register bank 202 records the address where the interrupt request message is recorded in the index register 232 in step 305. This update operation of the index register 232 is performed by the management logic 212 of the register bank 202.

그리고, 상기 레지스터 뱅크(202)는 307단계에서 상기 인덱스 레지스터(232)의 업데이트에 의해 제어모듈(202)로 인터럽트 요청(IRQ)을 발생한다. 이후, 상기 레지스터 뱅크(202)는 309단계에서 상기 제어모듈(202)의 액세스에 의해 상기 메모리 어드레스에서 상기 인터럽트 요청 메시지를 독출하여 데이터 버스를 통해 상기 제어모듈(200)로 출력한다.The register bank 202 generates an interrupt request (IRQ) to the control module 202 by updating the index register 232 in step 307. In step 309, the register bank 202 reads the interrupt request message from the memory address by the access of the control module 202 and outputs the interrupt request message to the control module 200 through a data bus.

그리고, 상기 레지스터 뱅크(202)는 311단계에서 상기 제어모듈(202)의 액세스에 의해 상기 데이터 버스를 통해 입력되는 제어데이터(인터럽트 처리 결과 데이터)를 상기 외부모듈(204)을 위해 할당된 상기 메모리 어드레스에 저장한다. The register bank 202 allocates the control data (interrupt processing result data) input through the data bus by the access of the control module 202 to the external module 204 in step 311. Store at the address.

상기 제어데이터를 저장한후, 상기 레지스터 뱅크(202)는 313단계에서 제어신호 버스를 통해 상기 외부모듈(204)로 데이터 독출 요청을 출력한다. 이후, 상기 레지스터 뱅크(202)는 315단계에서 상기 외부모듈(204)의 액세스에 의해 상기 메모리 어드레스에서 상기 제어데이터를 독출하여 데이터 버스를 통해 상기 외부모듈(204)로 출력한다. After storing the control data, the register bank 202 outputs a data read request to the external module 204 through a control signal bus in step 313. In operation 315, the register bank 202 reads the control data from the memory address by the access of the external module 204 and outputs the control data to the external module 204 through a data bus.

도 4는 본 발명의 실시예에 따른 제어모듈의 인터럽트 처리 절차를 도시하고 있다. 4 illustrates an interrupt processing procedure of a control module according to an embodiment of the present invention.

도 4를 참조하면, 먼저 제어모듈(200)은 401단계에서 레지스터 뱅크(202)로부터 인터럽트 요청(IRQ : Interrupt ReQuest)신호가 입력되는지 검사한다. 상기 인터럽트 요청 신호 감지시, 상기 제어모듈(200)은 403단계에서 상기 레지스터 뱅크(202)로 칩선택(CS) 신호를 발생하고, 상기 레지스터 뱅크(202)에 대한 액세스 권한이 있는지 판단한다. 상기 액세스 권한은 앞서 설명한 바와 같이 상기 레지스터 뱅크(202)에서 부여한다.Referring to FIG. 4, the control module 200 first checks whether an interrupt request (IRQ) signal is input from the register bank 202 in step 401. Upon detecting the interrupt request signal, the control module 200 generates a chip select (CS) signal to the register bank 202 in step 403, and determines whether there is an access right to the register bank 202. The access rights are granted in the register bank 202 as described above.

상기 액세스 권한이 있는 경우, 상기 제어모듈(200)은 405단계에서 상기 레지스터 뱅크(202)의 인덱스 레지스터(232)를 액세스하여 업데이트된 어드레스(주소)를 확인한다. 그리고, 상기 제어모듈(200)은 407단계에서 상기 획득된 어드레스를 액세스하여 외부모듈(204)이 발생한 인터럽트 요청 메시지를 독출한다. If there is the access right, the control module 200 checks the updated address (address) by accessing the index register 232 of the register bank 202 in step 405. In operation 407, the control module 200 accesses the obtained address and reads the interrupt request message generated by the external module 204.

상기 인터럽트 요청 메시지를 독출한후, 상기 제어모듈(200)은 409단계에서 상기 인터럽트 요청 메시지에 대응하여 인터럽트 처리루틴을 수행하고, 411단계에서 데이터 버스를 통해 수행결과 및 제어데이터를 상기 레지스터 뱅크(202)로 출력한다.After reading the interrupt request message, the control module 200 executes an interrupt processing routine in response to the interrupt request message in step 409, and executes the result and control data through the data bus in step 411. 202).

도 5는 본 발명의 실시예에 따른 외부모듈의 인터럽트 처리 절차를 도시하고 있다.5 illustrates an interrupt processing procedure of an external module according to an embodiment of the present invention.

도 5를 참조하면, 먼저 외부모듈(204)은 501단계에서 인터럽트가 발생하는지 검사한다. 상기 인터럽트가 발생한 경우, 상기 외부모듈(204)은 503단계에서 제어신호 버스를 통해 인터럽트 요청 상태신호를 상기 레지스터 뱅크(202)로 발생한다. 그리고, 상기 외부모듈(204)은 505단계에서 데이터 버스를 통해 인터럽트 요청 메시지를 상기 레지스터 뱅크(202)로 발생한다.Referring to FIG. 5, the external module 204 first checks whether an interrupt occurs in step 501. When the interrupt occurs, the external module 204 generates an interrupt request status signal to the register bank 202 through a control signal bus in step 503. In operation 505, the external module 204 generates an interrupt request message to the register bank 202 through the data bus.

이후, 상기 외부모듈(204)은 507단계에서 제어신호 버스를 통해 데이터 독출요청 신호가 입력되는지 검사한다. 상기 데이터 독출요청 신호 입력시, 상기 외부모듈(204)은 509단계에서 상기 레지스터 뱅크(202)의 해당 어드레스를 액세스하여 상기 제어모듈(200)이 발생한 제어데이터를 독출한다. 그리고, 상기 외부모듈(204)은 511단계에서 상기 제어데이터에 대응하여 해당 처리를 수행한다.In step 507, the external module 204 checks whether a data read request signal is input through the control signal bus. When the data read request signal is input, the external module 204 reads the control data generated by the control module 200 by accessing a corresponding address of the register bank 202 in step 509. In step 511, the external module 204 performs a corresponding process corresponding to the control data.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.

상술한 바와 같이, 본 발명은 복수의 제어모듈들이 외부의 모듈의 제어하는 장치에서, 신호처리 구조를 보다 간단히 할 수 있고, 소프트웨어 부하를 줄일 수 있는 이점이 있다. 또한, 제어모듈에서 제공하는 인터럽트 포트를 초과하는 개수의 외부모듈 인터럽트도 처리할 수 있다. 그리고, 제어모듈은 외부에 어떤 버스 구조의 모듈이 연결되든지 레지스터 뱅크와의 한가지 버스 형태로만 인터페이스 함으로써, 소프트웨어를 일관성 있고 간단하게 작성할 수 있는 이점이 있다. As described above, the present invention has a merit that the signal processing structure can be simplified more easily and the software load can be reduced in an apparatus in which a plurality of control modules control an external module. In addition, the number of external module interrupts exceeding the interrupt port provided by the control module can be processed. In addition, the control module interfaces with only one bus form with a register bank regardless of which bus structure module is connected to the outside, thereby making it possible to consistently and simply write software.

Claims (10)

통신시스템에서 제어모듈과 외부모듈 사이의 인터페이스 장치에 있어서,In an interface device between a control module and an external module in a communication system, 제어모듈과 복수의 외부모듈들 사이에 교환되는 데이터를 해당 외부모듈의 고유한 어드레스 영역에 저장하기 위한 다중포트 메모리와,A multi-port memory for storing data exchanged between the control module and the plurality of external modules in a unique address area of the corresponding external module; 상기 다중포트 메모리의 업데이트 어드레스 값을 기록하기 위한 인덱스 레지스터와,An index register for recording an update address value of the multiport memory; 상기 제어모듈과 상기 복수의 외부모듈들의 상기 다중포트 메모리 및 상기 인덱스 레지스터의 접근을 제어하기 위한 관리로직을 포함하는 것을 특징으로 장치.And a management logic for controlling access of the multi-port memory and the index register of the control module and the plurality of external modules. 제1항에 있어서,The method of claim 1, 상기 제어모듈이 복수 존재할 경우, 상기 관리로직은 상기 복수의 제어모듈들의 접근 우선권을 제어하는 것을 특징으로 하는 장치.And when there are a plurality of control modules, the management logic controls access priority of the plurality of control modules. 제1항에 있어서,The method of claim 1, 상기 제어모듈과 상기 관리로직 사이에 인터럽트요청(IRQ : Interrupt Request) 신호 라인이 연결되며, 상기 다중포트 메모리에 인터럽트 요청 메시지가 기록될 시, 상기 관리로직은 상기 제어모듈로 인터럽트요청 신호를 발생하는 것을 특징으로 하는 장치.An interrupt request (IRQ) signal line is connected between the control module and the management logic. When an interrupt request message is written to the multiport memory, the management logic generates an interrupt request signal to the control module. Device characterized in that. 제1항에 있어서,The method of claim 1, 상기 관리로직으로부터 인터럽트요청 신호 수신시, 상기 제어모듈은 상기 인덱스 레지스터를 접근하여 업데이트된 어드레스를 확인하고, 상기 확인된 어드레스를 접근하여 외부모듈이 발생한 인터럽트 요청 메시지를 독출하는 것을 특징으로 하는 장치.Upon receiving the interrupt request signal from the management logic, the control module checks the updated address by accessing the index register, and reads the interrupt request message generated by an external module by accessing the confirmed address. . 제1항에 있어서,The method of claim 1, 상기 인덱스 레지스터는 비트맵(bitmap)으로 구성되며, 상기 비트맵을 구성하는 비트 플래그들은 상기 다중포트 메모리의 어드레스 영역들과 일대일로 매핑되는 것을 특징으로 하는 장치.And the index register comprises a bitmap, and bit flags constituting the bitmap are mapped one-to-one with address regions of the multiport memory. 제어모듈과 외부모듈 사이의 인터페이스 장치에서 신호 처리 방법에 있어서,In the signal processing method in the interface device between the control module and the external module, 외부모듈의 인터럽트 요청 감지시, 상기 외부모듈로부터 입력되는 인터럽트 요청 메시지를 다중포트 메모리 내 상기 외부모듈을 위해 할당된 고유한 어드레스 영역에 저장하는 과정과,When the interrupt request is detected by an external module, storing an interrupt request message input from the external module in a unique address area allocated for the external module in the multiport memory; 업데이트된 상기 어드레스 값을 인덱스 레지스터에 기록하는 과정과,Writing the updated address value to an index register; 제어모듈과의 인터럽트요청 신호 라인을 통해 인터럽트 요청 신호를 발생하는 과정과,Generating an interrupt request signal through an interrupt request signal line with the control module; 상기 제어모듈의 접근에 의해 상기 어드레스 영역에 저장된 상기 인터럽트 요청 메시지를 독출하여 상기 제어모듈로 출력하는 과정을 포함하는 것을 특징으로 하는 방법.Reading out the interrupt request message stored in the address area by the access of the control module and outputting the interrupt request message to the control module. 제6항에 있어서,The method of claim 6, 상기 제어모듈의 접근에 의해 상기 제어모듈로부터의 인터럽트 처리결과 데이터를 상기 어드레스 영역에 저장하는 과정과,Storing interrupt processing result data from the control module in the address area by access of the control module; 상기 외부모듈로 데이터독출 요청을 발생하는 과정과,Generating a data read request to the external module; 상기 외부모듈의 접근에 의해 상기 어드레스 영역에서 상기 인터럽트 처리결과 데이터를 독출하여 상기 외부모듈로 출력하는 과정을 더 포함하는 것을 특징으로 하는 방법.And reading out the interrupt processing result data from the address area by accessing the external module and outputting the interrupt processing result data to the external module. 제6항에 있어서,The method of claim 6, 상기 제어모듈의 접근 감지시, 상기 제어모듈의 우선권을 결정하고, 상기 결 정된 우선권에 따라 접근 권한을 부여하는 과정을 더 포함하는 것을 특징으로 하는 방법.Determining the priority of the control module and granting the access right according to the determined priority when the access of the control module is detected. 제6항에 있어서,The method of claim 6, 상기 인터럽트요청 신호를 감지한 상기 제어모듈은 상기 인덱스 레지스터를 접근하여 업데이트된 어드레스를 확인하고, 상기 확인된 어드레스를 접근하여 외부모듈이 발생한 인터럽트 요청 메시지를 독출하는 것을 특징으로 하는 방법.The control module detecting the interrupt request signal checks the updated address by accessing the index register, and reads the interrupt request message generated by an external module by accessing the confirmed address. 제6항에 있어서,The method of claim 6, 상기 인덱스 레지스터는 비트맵(bitmap)으로 구성되며, 상기 비트맵을 구성하는 비트 플래그들은 상기 다중포트 메모리의 어드레스 영역들과 일대일로 매핑되는 것을 특징으로 하는 장치.And the index register comprises a bitmap, and bit flags constituting the bitmap are mapped one-to-one with address regions of the multiport memory.
KR1020050110219A 2005-11-17 2005-11-17 Apparatus and method for interfacing between the modules in communication system KR101192285B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050110219A KR101192285B1 (en) 2005-11-17 2005-11-17 Apparatus and method for interfacing between the modules in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050110219A KR101192285B1 (en) 2005-11-17 2005-11-17 Apparatus and method for interfacing between the modules in communication system

Publications (2)

Publication Number Publication Date
KR20070052508A true KR20070052508A (en) 2007-05-22
KR101192285B1 KR101192285B1 (en) 2012-10-17

Family

ID=38275148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050110219A KR101192285B1 (en) 2005-11-17 2005-11-17 Apparatus and method for interfacing between the modules in communication system

Country Status (1)

Country Link
KR (1) KR101192285B1 (en)

Also Published As

Publication number Publication date
KR101192285B1 (en) 2012-10-17

Similar Documents

Publication Publication Date Title
US7890690B2 (en) System and method for dual-ported flash memory
US7257658B2 (en) Message based interrupt table
KR910012961A (en) Priority Arbitration Regulator
KR900005287A (en) Data control device and system using it
US8386719B2 (en) Method and apparatus for controlling shared memory and method of accessing shared memory
US5933613A (en) Computer system and inter-bus control circuit
KR20070122228A (en) External device access device
US11314673B2 (en) Configurable multi-function PCIe endpoint controller in an SoC
US5748203A (en) Computer system architecture that incorporates display memory into system memory
GB2412767A (en) Processor with at least two buses between a read/write port and an associated memory with at least two portions
KR100699268B1 (en) Computer using flash memory of hard disk drive as main ? video memory
KR101192285B1 (en) Apparatus and method for interfacing between the modules in communication system
US5408612A (en) Microprocessor system for selectively accessing a processor internal register when the processor has control of the bus and partial address identifying the register
KR20070060854A (en) Multi-channel direct memory access controller
US7200706B2 (en) Semiconductor integrated circuit
KR100441996B1 (en) Direct Memory Access(DMA) Controller and control method
JP4642398B2 (en) Shared bus arbitration system
KR960007835B1 (en) Common memory access device for multi-processor
US5440696A (en) Data processing device for reducing the number of internal bus lines
KR100825663B1 (en) Method And System for Device/Memory-Dedicated DMA without Occupying System Bus
KR19990031220A (en) V. M. Bus Controls in V. M. Bus Systems
US20060143391A1 (en) Computer device
KR100210404B1 (en) An apparatus for controlling access of memory in dual bus system
JPH08249289A (en) Memory controller and its control method
JPH04330541A (en) Common data transfer system

Legal Events

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

Payment date: 20150925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191008

Year of fee payment: 8