KR100508585B1 - Packet transmission / reception method of all electronic switch I / O interface circuit pack - Google Patents

Packet transmission / reception method of all electronic switch I / O interface circuit pack Download PDF

Info

Publication number
KR100508585B1
KR100508585B1 KR1019980018668A KR19980018668A KR100508585B1 KR 100508585 B1 KR100508585 B1 KR 100508585B1 KR 1019980018668 A KR1019980018668 A KR 1019980018668A KR 19980018668 A KR19980018668 A KR 19980018668A KR 100508585 B1 KR100508585 B1 KR 100508585B1
Authority
KR
South Korea
Prior art keywords
packet
variable
pointer
iopa
cros
Prior art date
Application number
KR1019980018668A
Other languages
Korean (ko)
Other versions
KR19990085950A (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 KR1019980018668A priority Critical patent/KR100508585B1/en
Publication of KR19990085950A publication Critical patent/KR19990085950A/en
Application granted granted Critical
Publication of KR100508585B1 publication Critical patent/KR100508585B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/20Automatic or semi-automatic exchanges with means for interrupting existing connections; with means for breaking-in on conversations

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 전전자교환기(Full-electronic Exchange) 입출력 제어계 블록(Human Machine Processor Hardware block : HMPH block) 내의 입출력 인터페이스 회로팩(Input Output Port interface board Assembly : IOPA)의 패킷(packet) 송수신 방법에 관한 것으로서, 이러한 본 발명은 전전자교환기의 입출력 인터페이스 회로팩의 송수신 구조를 보다 간단하고 오류가 적은 구조로 변경하기 위한 방법으로, 병행 실시간 운용 시스템(Concurrent Realtime Operation System : CROS)과 IOPA간에 패킷 송수신 구조를 종래 선형 리스트의 노드배열이 번지와 일치하지 않으며 기억공간이 독립적으로 이루어진 복잡한 연결리스트 구조에서, 본 발명의 1개 이상의 자료요소를 나열한 가장 간단한 자료구조인 배열을 이용해 송/수신 패킷 포인터를 저장하는 큐(Queue)를 사용하여 작업을 단순화 시킴으로써 전전자교환기의 속도성능 향상과 연결리스트 구조에서 가장 큰 문제가 되었던 복잡한 구조로 인한 오류 포인터 할당 문제를 해결할 수 있게 되는 것이다.The present invention relates to a method for transmitting and receiving a packet of an input / output interface circuit pack (IOPA) in a full-electronic exchange input / output control system block (HMPH block). The present invention is a method for changing the transmission / reception structure of an input / output interface circuit pack of an electronic switch to a simpler and less error-free structure, and a packet transmission / reception structure between a concurrent real time operation system (CROS) and IOPA. In a complex linked list structure in which a node array of a conventional linear list does not coincide with a address and the storage space is independent, the transmission / reception packet pointer is stored using an array, which is the simplest data structure that lists one or more data elements of the present invention. By using queues to simplify the work of electronic switchboards This improves the performance and solves the problem of assigning error pointers due to the complex structure that was the biggest problem in the linked list structure.

Description

전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법Packet transmission / reception method of all electronic switch I / O interface circuit pack

본 발명은 전전자교환기(Full-electronic Exchange) 입출력제어계블럭(Human Machine Processor Hardware block : HMPH block) 내의 입출력 인터페이스 회로팩(IOPA: Input Output Port interface board Assembly)의 패킷(packet) 송수신 방법에 관한 것으로, 특히 병행 실시간 운영 시스템(CROS: Concurrent Realtime Operation System)과 IOPA 간에 연결리스트(linked list) 구조에 의해 패킷(packet)을 송수신하던 방식을 보다 간단한 정적 구조인 배열(Arrary)을 이용하여 패킷을 송수신하는 방법에 관한 것이다.The present invention relates to a packet transmission / reception method of an input / output interface circuit assembly (IOPA) in a full-electronic exchange input / output control system block (HMPH block). In particular, the method of transmitting and receiving packets by a linked list structure between a concurrent real-time operation system (CROS) and IOPA using a simpler static structure, Array, is used to transmit and receive packets. It is about how to.

일반적으로, 현재 IOPA의 로컬(Local)메모리로 512킬로바이트(Kbytes)의 에스램(Static RAM)을 사용하고 있으며, 공유메모리는 128킬로바이트(Kbytes) 크기의 에스램(static RAM)을 사용한다. In general, 512 Kbytes of static RAM is used as the local memory of IOPA, and 128 Kbytes of static RAM is used for the shared memory.

바로 이 공유메모리를 통해서 CROS와 패킷을 송/수신하게 되는데, IOPA에 연결된 외부 디바이스(device)를 통해 입력된 데이터(data)가 처리되어 그 입력된 데이터에 대한 결과가 IOPA에 연결되어 있는 외부 디바이스로 출력되는데 그 과정은 다음과 같다. Through this shared memory, CROSs and packets are transmitted / received. The input data is processed through an external device connected to IOPA, and the result of the input data is the external device connected to IOPA. The process is as follows.

PC, CRT 등의 외부 디바이스로부터 데이터가 입력되면, 이 데이터는 IOPA F/W(Firm Ware)의 Rx(수신) 큐(Queue)에 저장되게 되는데, CROS로부터의 Rx 요구는 항상 대기중에 있으므로 이 데이터들이 Rx 큐에 전달되는 대로 CROS에 의해 조합되어 입력한 결과에 대한 메시지를 만들어 CROS를 통해 IOPA의 공유메모리에 데이터를 저장한 후에, CROS단에서 IOPA측으로 인터럽트를 발생시켜서 결과 데이터를 외부 디바이스로 출력하도록 한다. When data is input from an external device such as a PC or CRT, this data is stored in the Rx queue of IOPA F / W (Firm Ware), which is because Rx request from CROS is always waiting. Messages are written by CROS as they are delivered to the Rx queue, and the data is saved in the shared memory of IOPA through CROS, and the result data is output to the external device by generating an interrupt from the CROS terminal to IOPA side. Do it.

종래에는 IOPA와 CROS 사이의 패킷 송수신 방식은 연결리스트(Linked List) 구조로 되어 있었다. Conventionally, the packet transmission / reception scheme between IOPA and CROS has a linked list structure.

상기의 연결리스트는 패킷(packet)을 가리키는 포인터(pointer)와 다음에 연결될 리스트(list)를 가리키는 넥스트 포인터(next pointer)로 구성되어 있으며, 필요하면 할당하고 필요없으면 해제하는 식의 동적인 메모리 관리가 가능한 자료구조를 말한다.The linked list consists of a pointer to a packet and a next pointer to a list to be linked next, and dynamic memory management such as allocating if necessary and releasing if not necessary. Refers to a possible data structure.

도 1은 종래 연결리스트 구조에서의 패킷 송수신 구조를 나타낸 것이다.1 shows a packet transmission and reception structure in a conventional connection list structure.

이에 도시된 바와 같이, 명령패킷을 받는 역할을 하며 CROS와 IOPA의 공유메모리에 할당된 포인터풀(Pointer pool)에서 출력되는제 1포인터(1)와 상태패킷을 받는 역할을 하며 공유메모리의 포인터풀에서 출력되는 제 2포인터(2)와 패킷 포인터 및 넥스트 포인터로 구성되는 연결리스트(4, 6, 10, 12)와 CROS 측에서 전송되는 명령패킷을 처리하는 명령패킷처리단계(8)와 더 이상 전송할 명령패킷이 없으면 넥스트 포인터 자리에 홀수 어드레스를(odd adress) 넣고 패킷 포인터 자리에 널(NULL)이 채워지는 제 1연결리스트(3)와 더 이상 전송할 상태패킷이 없으면 상기 제 1연결리스트(3)과 동일하게 동작하는 제 2연결리스트(9)로 구성된다. As shown in this figure, it serves to receive command packets and to receive status pointers and the first pointer (1) output from the pointer pool allocated to shared memory of CROS and IOPA. Command packet processing step (8) for processing the command list transmitted from the CROS side and the connection list (4, 6, 10, 12) consisting of the second pointer (2) outputted from the packet pointer and the next pointer If there is no command packet to transmit, the first connection list 3 is filled with an odd address in place of the next pointer, and null is filled in place of the packet pointer. It is composed of a second connection list (9) that operates in the same way.

상기와 같은 구성을 특징으로 하는 CROS와 IOPA 간의 패킷 송수신의 과정은 다음과 같다. The process of packet transmission and reception between CROS and IOPA characterized by the above configuration is as follows.

입출력 디바이스로부터 외부 데이터가 입력되면, CROS는 공유메모리의 포인터풀에서 사용 가능한 연결리스트 포인터 100개 중에서 2개의 포인터 즉, 제 1포인터(1)와 제 2포인터(2)를 꺼내어 IOPA 측에 전달하고 자신도 제 1포인터(1)를 시작 포인터(start pointer)로 사용한다.When external data is input from the input / output device, CROS takes two pointers out of the 100 connection list pointers available in the pointer pool of the shared memory, that is, the first pointer 1 and the second pointer 2 and transfers them to the IOPA side. It also uses the first pointer 1 as a start pointer.

상기 제 1포인터(1)는 CROS로부터 들어오는 명령패킷을 IOPA 측에서 받는 용도이며, 제 2포인터(2)는 IOPA에서 처리가 끝난 후 상태패킷을 CROS로 실어서 보내는 용도인데, 이들 포인터들은 CROS가 처음으로 패킷을 구성하여 연결시키는 통로로 사용된다. The first pointer 1 is for receiving an instruction packet from the CROS at the IOPA side, and the second pointer 2 is used for sending a status packet to the CROS after processing at the IOPA. It is used as a path for constructing and connecting packets for the first time.

이로써, CROS로부터 받는 처리해야할 명령패킷의 통로와 IOPA 측의 패킷처리 결과로 구성된 상태패킷을 넣어줄 통로가 CROS와 IOPA 상호간에 이루어진다.As a result, a path of the command packet to be processed received from CROS and a path to insert a status packet composed of the packet processing result of the IOPA side are established between CROS and IOPA.

그리고, CROS 측에서 IOPA 측에 전달할 명령패킷(5, 7)을 연결리스트의 패킷포인터(4, 6)에 각각 연결한다.Then, the command packets 5 and 7 to be transmitted from the CROS side to the IOPA side are connected to the packet pointers 4 and 6 of the connection list, respectively.

연결리스트 구조이므로 넥스트 포인터가를 다음 연결리스트의 패킷 포인터에 연결시킴으로써 명령패킷을 전송하고, 더 이상 전송할 명령패킷이 없으면 넥스트 포인터 자리에 홀수 어드레스를 셋팅(setting)하여 더 이상 전송할 명령패킷이 없음을 표시한다.Since it is a linked list structure, the command pointer is transmitted by connecting NEXT pointer to the packet pointer of the next connection list, and if there is no command packet to transmit any more, it sets an odd address in place of the next pointer so that there is no command packet to transmit anymore. Display.

그러면, CROS 측으로부터 패킷을 처리하라는 인터럽트가 IOPA 측으로 출력되는데, 이 인터럽트를 입력한 IOPA 측의 패킷처리(8)에 의해 넥스트 포인터가 홀수 어드레스일 때까지 계속 갱신(update)하여 연결리스트의 패킷 포인터를 IOPA의 로컬(local) 메모리에 저장시키고 넥스트 포인터가 홀수 어드레스가 되면 패킷을 엑세스(access)하여 IOPA는 상기 로컬메모리에 저장된 데이터를 외부 디바이스로 출력 또는 외부 디바이스로부터 입력을 받게 된다. Then, an interrupt to process the packet is output from the CROS side to the IOPA side, and the packet pointer of the connection list is continuously updated until the next pointer is an odd address by the packet processing 8 of the IOPA side which inputs the interrupt. Is stored in the local memory of IOPA, and when the next pointer becomes an odd address, the packet is accessed and the IOPA outputs the data stored in the local memory to the external device or receives input from the external device.

상기 IOPA 측에서 처리가 끝난 명령패킷은 다시 결과를 담은 상태패킷이 되어 초기화시에 전달받았던 제 2포인터(2)에 연결된다. The processed instruction packet on the IOPA side becomes a status packet containing the result again and is connected to the second pointer 2 received at the time of initialization.

상기 IOPA 측에서 처리된 명령패킷의 수가 2개 이므로, 그 결과를 담은 상태패킷도 2개가 연속하여 연결리스트에 연결되어 있다. Since the number of command packets processed by the IOPA side is two, two status packets containing the result are also connected to the connected list in succession.

상기 명령패킷을 보내는 과정과 동일하게 IOPA 측에서 CROS로 더 이상 보낼 상태패킷이 없으면 넥스트포인터 자리에 홀수 어드레스를 셋팅하여 더 이상 보낼 상태패킷이 없음을 표시한다. As in the process of sending the command packet, if there is no status packet to be sent to CROS from the IOPA side, an odd address is set at the next pointer to indicate that there is no status packet to be sent anymore.

그 뒤에, IOPA는 CROS측으로 인터럽트를 건다. After that, IOPA interrupts CROS.

그러면 CROS는 초기화시에 저장해 두었던 제 2포인터(2)을 통해 IOPA가 전달한 상태패킷을 얻을 수 있다. Then, CROS can obtain the status packet delivered by IOPA through the second pointer 2 stored at the time of initialization.

그리고 CROS 측에서도 상태패킷을 읽어 해당처리를 한 후에 다시 공유 메모리의 포인터풀에 넣어 다음 번에 사용할 수 있도록 한다. CROS also reads the status packet, processes it, and puts it back into the pointer pool in shared memory so that it can be used next time.

그러므로 제 1포인터(1)와 제 2포인터(2)는 IOPA 초기화 후 제일 처음 패킷 송수신시에 사용되는 포인터이며, 그 이후로는 동적으로 메모리 사용이 이루어지게 된다.Therefore, the first pointer 1 and the second pointer 2 are pointers used for the first packet transmission and reception after IOPA initialization, and memory use is dynamically performed thereafter.

도 2는 도 1의 패킷처리(8)의 동작을 나타내는 흐름도이다.FIG. 2 is a flowchart showing the operation of the packet processing 8 of FIG.

이에 도시된 바와 같이, 연결리스트의 넥스트 포인터가 홀수 어드레스인가를 판단하는 단계(ST 1)와; 상기 넥스트 포인터가 홀수 어드레스가 아닐 경우, 패킷 포인터를 로컬 메모리에 저장하는 단계(ST 2)와; 넥스트 포인터를 다음 연결리스트 포인터로 계속 갱신(update)하는 단계(ST 3)와; 연결리스트의 넥스트 포인터가 홀수 어드레스일 경우, 명령패킷을 엑세스하여 데이터를 외부 디바이스로 출력하거나 또는 외부 디바이스로부터 데이터 입력을 받아들이는 단계(ST 4)로 이루어진다.As shown therein, determining whether the next pointer of the connection list is an odd address (ST 1); If the next pointer is not an odd address, storing a packet pointer in a local memory (ST 2); Continuously updating the next pointer to the next connection list pointer (ST 3); When the next pointer of the connection list is an odd address, a step of accessing the command packet to output data to the external device or accepting data input from the external device (ST 4).

그러나, 상기와 같이 패킷 송수신 시에 연결리스트 구조를 사용할 경우에는 연속되지 않은 공간에 서로 연결되어 있는 복잡한 구조로 인해 한 번 엇갈린 포인터는 프로그렘 전체에 막대한 영향을 줄 뿐만 아니라, 이것에 대한 CROS의 복구능력도 구현되어 있지 않아서 문제가 되었다. However, when the linked list structure is used to transmit and receive a packet as described above, a single staggered pointer not only significantly affects the entire program due to the complicated structure that is connected to each other in a non-contiguous space, but also recovers the CROS. The ability wasn't implemented either, so it was a problem.

그리고, IOPA 측에서는 CROS로부터 받는 인터럽트에 대한 서비스 루틴에 의해, 위에서 설명한 연결리스트의 포인트를 로컬메모리에 저장하고 넥스트 포인터로 갱신하는 과정이 이루어지게 되는데, 이 인터럽트는 레벨 4로 되어 있으므로 레벨 4이상의 인터럽트가 발생될 경우 연결리스트의 포인터 값에 영향을 줄 수 있고, 이 외에도 멀티태스킹(multi-tasking)환경에서 발생될 수 있는 문제점에 의해 영향을 받는 경우 전체 포트가 다운(Dowm)되는 심각한 사태가 발생될 수 있었다. On the IOPA side, the service routine for interrupts received from CROS stores the points of the connection list described above in local memory and updates them with next pointers. Since the interrupts are at level 4, they are at level 4 or higher. Can affect the pointer value of the connection list, and in addition, if the problem is caused by a problem that can occur in a multi-tasking environment, a serious situation occurs where the entire port is down. Could be

그 외에도, 연결리스트 포인터에 관련하여 문제점이 발생한 경우, CROS단에서 오류 포인터에 대한 처리가 구현되어 있지 않음으로 인해 일단 어긋난 포인터에 대해서는 복구가 불가능할 뿐만 아니라 전체 외부 디바이스 다운(Down)현상을 초래할 수 있는 문제점이 있었다. In addition, in case of a problem related to the linked list pointer, the error pointer is not implemented at the CROS stage, and thus, once the misaligned pointer is not recovered, the entire external device may be brought down. There was a problem.

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 병행 실시간 운용 시스템(Concurrent Realtime Operation System: CROS)와 입출력 인터페이스 보드(I/O Port interface board Assembly: IOPA) 사이에 연결리스트(linked list) 구조에 의해 패킷(packet)을 송수신하던 방식을 보다 간단한 정적 구조인 배열(Arrary)을 이용하여 패킷을 송수신함에 의해, 동적인 연결리스트 구조로 인해 발생될수 있는 IOPA 내의 오류를 줄이고 속도성능도 향상시켜 보다 안정화된 IOPA 펌웨어(firmware)를 구현할 수 있는 방법을 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the above-mentioned conventional problems, and an object of the present invention is to provide a concurrent real time operation system (CROS) and an input / output interface board assembly (IOPA). IOPA that can be generated due to the dynamic linked list structure by sending and receiving packets using a simpler static structure, Arrival, which is a method of sending and receiving packets by a linked list structure It provides a way to implement more stable IOPA firmware by reducing errors and improving speed performance.

상기와 같은 목적을 달성하기 위하여 본 발명에 의한 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법은, CROS와 IOPA 간에 패킷 송수신 구조를 연결리스트(linked list) 구조에서 front, rear, count, flag 등의 변수를 이용하여 제어되는 배열구조를 이용하여 명령패킷 포인터를 저장하는 제 1원형큐(Queue)와 상태패킷 포인터를 저장하는 제 2원형큐를 각각 두었으며, flag의 상태에 따라 명령패킷을 엑세스(access)하거나 로컬메모리에 저장하는 등의 처리를 하는 명령패킷처리 단계로 구성된다. In order to achieve the above object, the packet transmission / reception method of the electronic switching device I / O interface circuit pack according to the present invention includes a packet transmission / reception structure between CROS and IOPA in a linked list structure such as front, rear, count, flag, and the like. A first circular queue for storing instruction packet pointers and a second circular queue for storing status packet pointers are provided using an array structure controlled by variables, and the instruction packet is accessed according to the state of the flag. It consists of command packet processing steps for processing such as access) or storing in local memory.

이하, 상기와 같이 구성된 본 발명 전전자교환기 입출력 인터페이스 회로팩(IOPA)의 패킷(packet) 송수신 방법의 기술적 사상에 따른 일 실시예를 상세히 설명하면 다음과 같다.Hereinafter, an embodiment according to the technical concept of the packet transmission and reception method of the present invention, all electronic switch I / O interface circuit pack (IOPA) configured as described above are as follows.

도 3은 본 발명에 의한 배열(Arrary)구조를 이용한 CROS(병행 실시간 운영시스템)와 IOPA 사이의 패킷 송수신 구조를 나타낸다.3 shows a packet transmission / reception structure between a CROS (parallel real time operating system) and an IOPA using an array structure according to the present invention.

이에 도시된 바와 같이, 외부 디바이스(device)로부터 데이터 입력시 CROS(병행 실시간 운영시스템) 측에서 명령패킷을 구성하는 명령패킷구성부(10)와; 공유메모리에 CROS로부터 처리해야할 패킷포인터를 놓을 공간을 배열로 잡아 100개로 할당해 놓은 제 1원형큐(20)와; 상기 제 원형1큐(20)의 명령패킷을 처리하는 IOPA 측의 패킷처리부(30)와; 상기 패킷처리부(30)에서 처리가 끝난 명령패킷은 상태패킷이 되는데 이 상태패킷을 처리해야할 패킷포인터를 놓을 공간을 배열로 잡아 100개로 할당해 놓은 제 2원형큐(40)와; IOPA(입출력 인터페이스 회로팩) 측에서 출력되는 인터럽트를 CROS 측에서 받아 상태 패킷을 처리하는 상태패킷 수신부(50)으로 구성된다.As shown therein, a command packet constructing unit 10 constituting a command packet at a CROS (parallel real time operating system) side when inputting data from an external device; A first circular queue 20 in which a space for placing a packet pointer to be processed from CROS is arranged in shared memory and allocated as 100; A packet processing unit 30 on the IOPA side for processing the command packet of the first circular first queue 20; The command packet processed by the packet processing unit 30 becomes a status packet, and the second circular queue 40 has been allocated to 100 by arranging a space for the packet pointer to process the status packet in an array; It consists of a status packet receiver 50 which receives an interrupt output from the IOPA (input / output interface circuit pack) side and processes a status packet at the CROS side.

상기 제 1원형큐(10)와 제 2원형큐(40)는 rear(뒤), front(앞), count, flag 등의 변수로써 제어되는데, 이러한 원형큐는 포인터가 맨 마지막을 가리키고 나면 다시 처음을 포인팅하여 할당된 공간을 재사용할 수 있도록 한 구조이다.The first circular cue 10 and the second circular cue 40 are controlled by variables such as rear (front), front (front), count, flag, and the like. Points to the structure to reuse the allocated space.

상기 원형큐에서 사용되는 변수들을 살펴보면, rear는 큐에 패킷포인터를 넣을 때 사용되며, front는 큐에 있는 패킷포인터를 꺼낼 때 사용된다. Looking at the variables used in the circular queue, the rear is used to put the packet pointer in the queue, the front is used to take out the packet pointer in the queue.

그리고 count는 큐에 패킷포인터를 넣을 때마다 하나씩 증가하고, 처리되고 나면 하나씩 감소하여 현재 처리해야할 패킷의 갯수를 알려주고 오버플로우나 언더플로우를 방지하기 위한 변수로 사용된다. Count is incremented by one each time a packet pointer is put on the queue, and decrements by one after it is processed, indicating the number of packets to be processed and used as a variable to prevent overflow or underflow.

flag는 각 원형큐의 패킷포인터 별로 할당되어 있어서 현재 처리해야 할 패킷인 경우에는 USED를 넣어주고, 처리가 끝난 패킷일 경우에는 FREE를 넣어주게 되어 있다.The flag is assigned for each packet pointer of each circular queue, so the USED is inserted in the case of a packet to be processed and FREE in the case of a processed packet.

도 4는 도 3의 패킷처리부(30)의 동작 나타내는 흐름도이다. 4 is a flowchart illustrating an operation of the packet processing unit 30 of FIG. 3.

이에 도시된 바와 같이, 원형큐의 flag가 FREE인지를 확인하는 단계(ST 10)와; flag가 FREE가 아닐 경우, front를 이용해서 패킷포인터를 로컬 메모리에 저장하는 저장단계(ST 20)와; 그 후 flag를 FREE로 하고 패킷포인터를 NULL로 채우고 count를 감소하고 front를 증가시키는 등의 변수를 조작하는 변수조작 단계(ST 30)와; 상기 flag가 FREE인지를 확인하는 단계(ST 10)에서 flag가 FREE인 경우, 패킷을 엑세스하여 데이터를 외부 디바이스로 출력하거나 또는 외부 디바이스로부터 데이터 입력을 받아들이는 입출력 단계(ST 40)로 구성된다. As shown in the figure, checking whether the flag of the circular queue is FREE (ST 10); if the flag is not FREE, storing the packet pointer in the local memory using the front (ST 20); A variable manipulation step (ST 30) for manipulating variables such as making the flag FREE and filling the packet pointer with NULL, decreasing the count, increasing the front, and the like; When the flag is FREE in the step (ST 10) of checking whether the flag is FREE, an input / output step (ST 40) for accessing a packet to output data to an external device or accepting a data input from the external device is configured.

상기와 같이 구성된 본 발명에 의한 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법의 동작을 첨부한 도 3과 도 4에 의거 상세히 설명하면 다음과 같다.Referring to Figures 3 and 4 attached to the operation of the packet transmission and reception method of the electronic switchboard input and output interface circuit pack according to the present invention configured as described above are as follows.

먼저, CROS(병행 실시간 운용시스템)는 IOPA(입출력 인터페이스 회로팩) 측에 송신해야 할 명령패킷이 있으면, 명령패킷 구성부(10)에서 명령패킷을 구성한 후 제 1원형큐(20)의 패킷포인터 위치에 명령패킷이 위치한 스타트 어드레스(start adress)를 넣고, 다음과 같이 변수를 조작한다(제 1변수조작 단계).First, CROS (parallel real-time operating system), if there is a command packet to be transmitted to the IOPA (input and output interface circuit pack) side, after configuring the command packet in the command packet configuration unit 10, the packet pointer of the first circular queue 20 Insert the start address where the instruction packet is located at the position and manipulate the variable as follows (first variable operation step).

현재 명령패킷을 받들일 수 있는 패킷 포인터를 엑세스(access)하기 위해 rear을 1증가 시키고, 현재 처리해야할 패킷이므로 변수 flag를 USED로 하고 처리해야할 패킷이 하나 들어왔음을 의미하는 count를 1증가시킨다.To access the packet pointer that can accept the current command packet, increase rear by 1, and set the variable flag to USED because it is a packet to be processed, and increase the count to 1 to indicate that one packet has to be processed.

상기와 같이 명령 패킷을 제 1원형큐(20)의 패킷포인터 위치에 넣고 위의 상기와 같은 제 1변수조작 단계 후 CROS는 IOPA로 패킷 처리를 요구하는 인터럽트를 송출한다. As described above, the command packet is placed in the packet pointer position of the first circular queue 20, and after the first variable manipulation step as described above, CROS sends an interrupt requesting packet processing to IOPA.

그러면 IOPA 펌웨어(firmware)는 CROS로부터 인터럽트를 받아 상기 도 4의 흐름도에서 보았듯이, 제 1원형큐의 변수 flag가 FREE이면 패킷을 엑세스하여 데이터를 외부 디바이스로 출력하거나 또는 외부 디바이스로부터 데이터 입력을 받아들이게 된다(ST 40). Then, the IOPA firmware receives an interrupt from CROS, and as shown in the flowchart of FIG. 4, when the variable flag of the first circular queue is FREE, the packet is accessed to output data to an external device or to accept data input from an external device. (ST 40).

만약, flag가 FREE가 아니면 즉, USED이면 인터럽트 서비스 루틴 내에서 패킷포인터를 로컬메모리에 저장하고(ST 20), 다음과 같이 변수 조작을 한다(ST 30. 제 2변수조작 단계). If the flag is not FREE, that is, USED, the packet pointer is stored in the local memory in the interrupt service routine (ST 20), and the variable operation is performed as follows (ST 30. Second variable operation step).

먼저, 처리가 끝난 패킷 포인터임을 표시하기 위해 flag를 FREE로 한다. First, the flag is set to FREE to indicate that the packet pointer has been processed.

즉, CROS가 다시 사용할 수 있는 공간이 됨을 의미한다.In other words, CROS becomes a space that can be used again.

또, 처리가 끝난 패킷이므로 NULL(널)로 채워서 CROS가 재사용할 수 있도록 하고, 처리가 끝난 패킷이므로 카운트를 1 감소시킨다.In addition, since the packet is processed, it is filled with NULL (null) so that CROS can be reused.

그리고, 현재 처리해야할 패킷 포인터를 엑세스 한 후에 front를 하나 증가시켜서 다음번 패킷포인터를 엑세스할 수 있도록 한다.After accessing the packet pointer to be processed, increase the front so that the next packet pointer can be accessed.

또, IOPA 펌웨어는 상기와 같이 명령패킷의 처리가 끝나면 결과를 담은 상태패킷을 구성한 후, 상기 명령패킷을 처리하는 과정과 동일하게 제 2원형큐(40)의 패킷포인터 위치에 상기 상태패킷이 위치한 스타트 어드레스를 넣고 다음과 같이 변수를 조작한다(제 3변수조작 단계). In addition, the IOPA firmware configures a status packet containing the result after the processing of the command packet as described above, and the status packet is located at the packet pointer of the second circular queue 40 in the same manner as the processing of the command packet. Insert the start address and manipulate the variable as follows (3rd variable operation step).

현재 상태패킷을 받들일 수 있는 패킷 포인터를 엑세스하기 위해 rear을 1증가 시키고 flag를 USED로 하여 사용되는 패킷 포인터 영역임을 나타낸다. Indicates that this is a packet pointer area used to increase rear by 1 and to set the flag to USED to access the packet pointer that can receive the current status packet.

또, count를 하나 증가시켜서 처리해야할 패킷이 하나 들어왔음을 나타낸다.It also increments count by one, indicating that one packet has to be processed.

상기와 같이 상태패킷을 패킷포인터 위치에 넣고 이러한 변수조작이 끝나면 IOPA는 CROS로 패킷처리를 요구하는 인터럽트를 띄운다. When the status packet is placed in the packet pointer as described above and these variables are manipulated, IOPA issues an interrupt requesting packet processing to CROS.

그러면, CROS는 IOPA 펌웨어로부터 인터럽트를 받아 인터럽트 서비스 루틴 내에서 패킷포인터를 엑세스하여 해당처리를 하고 다음과 같이 변수 조작을 한다(제 4변수조작 단계). Then, CROS receives the interrupt from the IOPA firmware, accesses the packet pointer in the interrupt service routine, performs the corresponding processing, and manipulates the variable as follows (fourth variable manipulation step).

먼저, flag를 FREE로 하여 사용이 끝난 패킷포인터임을 표시한다. First, the flag is set to FREE to indicate that it is a used packet pointer.

즉, CROS에서 재사용 가능한 영역이 되는 것이다. That is, it becomes a reusable area in CROS.

또, 처리가 끝난 패킷이므로 NULL로 채워서 CROS가 재사용할 수 있도록 하고, 처리가 끝난 패킷이므로 count를 하나 감소시킨다.In addition, since the packet is processed, it is filled with NULL so that CROS can be reused. Since the packet is processed, the count is decreased by one.

현재 처리해야 할 패킷포인터를 엑세스 한 후에 front를 하나 증가시켜서 다음번 패킷포인터를 엑세스할 수 있도록 한다.After accessing the packet pointer to be processed, increase the front so that the next packet pointer can be accessed.

이로써 데이터 입력후 CROS가 구성한 명령패킷을 IOPA가 처리하여 해당 메시지를 입/출력시키고 그 후 구성되는 상태패킷을 CROS로 전송하는 과정을 구현할 수있다.This enables IOPA to process the command packet configured by CROS after inputting data, to input / output the corresponding message, and to transmit the configured status packet to CROS.

이상에서 살펴본 바와 같이, 본 발명에 의한 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법은, CROS(병행 실시간 운용 시스템)와 IOPA(입출력 인터페이스 회로팩) 간에 패킷 송수신 시에 간단한 배열구조를 구현함으로써, 연결리스트보다 구조가 간단하여 속도 성능이 향상되고 단순한 구조의 배열을 이용함으로써 소프트웨어적으로 핸들링이 용이해지고, 인터럽트 서비스 루틴도 간략화 됨에 따라 이전 연결리스트 구조에서 발생되던 오류 포인터 할당 문제를 해결할 수 있는 효과가 있게 된다.As described above, the packet transmission / reception method of the electronic switching device input / output interface circuit pack according to the present invention implements a simple arrangement structure when transmitting / receiving packets between a CROS (parallel real time operating system) and an IOPA (input / output interface circuit pack). Simpler structure than linked list improves speed performance and facilitates handling in software by using simple structured array. Also, interrupt service routine is simplified to solve the error pointer allocation problem that occurred in previous linked list structure. Will be.

도 1은 종래 전전자교환기 입출력 인터페이스 회로팩(IOPA)에서 사용되던 연결리스트 구조를 사용한 패킷 송수신 과정을 나타낸 블록도,FIG. 1 is a block diagram illustrating a packet transmission / reception process using a connection list structure used in a conventional all-electronic exchanger input / output interface circuit pack (IOPA).

도 2는 도 1에 도시된 명령패킷처리(Packet processing)에 대한 흐름도,FIG. 2 is a flow chart of instruction packet processing shown in FIG. 1;

도 3은 본 발명에 의한 전전자교환기 입출력 인터페이스 회로팩(IOPA)에서 사용되는 배열구조를 사용한 패킷 송수신 구조를 나타낸 블록도,3 is a block diagram showing a packet transmission / reception structure using an arrangement structure used in an all-electronic exchanger input / output interface circuit pack (IOPA) according to the present invention;

도 4는 도 3에 도시된 명령패킷처리(Packet processing)에 대한 흐름도.FIG. 4 is a flow chart for instruction packet processing shown in FIG.

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

20 : 제 1원형큐 30 : 명령패킷 처리부20: first circular queue 30: instruction packet processing unit

40 : 제 2원형큐40: second round queue

Claims (2)

전전자교환기에서 입출력제어계 블록내의 입출력 인터페이스 보드의 패킷 송수신 방법에 있어서,In the packet transmission / reception method of an I / O interface board in an I / O control system block in an electronic switch, CROS(병행 실시간 운용 시스템)에서 IOPA(입출력 인터페이스 회로팩)로 송신할 명령패킷을 구성하는 명령패킷구성 단계와;A command packet constructing step of constructing a command packet to be transmitted from a CROS (parallel real time operating system) to an IOPA (input / output interface circuit pack); 상기 명령패킷을 제 1원형큐의 패킷포인터 위치에 설정하는 명령포인터설정 단계와;A command pointer setting step of setting the command packet at a packet pointer position of a first circular queue; 상기 명령포인터설정 단계 후 상기 제 1원형큐의 변수인 rear(뒤)을 1증가시키고, 변수 flag(플래그)를 USED(처리함)로 하고, 변수 count(카운트)를 1증가시키는 변수를 조작하는 제 1변수조작단계와;After the command pointer setting step, the variable that is the rear of the first circular queue is increased by 1, the flag is set to USED, and the variable that is counted is increased by 1. A first variable manipulation step; 상기 제 1변수조작단계 후 CROS가 IOPA로 명령패킷처리를 요구하는 인터럽트를 출력하는 제 1인터럽트 출력 단계와;A first interrupt output step of outputting an interrupt for requesting instruction packet processing to IOPA by CROS after the first variable manipulation step; 상기 제 1인터럽트 출력 단계 후 IOPA 측에서 상기 명령패킷을 처리하는 명령패킷처리 단계와;An instruction packet processing step of processing the instruction packet at an IOPA side after the first interrupt output step; 상기 명령패킷처리 단계 후 구성되는 상태패킷을 제 2원형큐의 패킷포인터 위치에 두는 상태패킷설정 단계와;A status packet setting step of placing a status packet configured after the command packet processing step at a packet pointer position of a second circular queue; 상기 상태패킷설정 단계 후 상기 제 2원형큐의 변수 rear를 1증가 시키고, flag를 USED로 하고, count를 1증가 시키는 변수를 조작하는 제 3변수조작 단계와;A third variable manipulation step of manipulating a variable that increases the variable rear of the second circular queue by 1, sets the flag to USED, and increases the count by 1 after the state packet setting step; 상기 제 3변수조작 단계 후 IOPA(입출력 인터페이스 회로팩)가 CROS(병행 실시간 운용 시스템)로 상태패킷 처리를 요구하는 인터럽터를 출력하는 제 2인터럽트 출력 단계와;A second interrupt output step of outputting an interrupter for requesting a state packet processing to the CROS (parallel real-time operating system) after the third variable manipulation step; 상기 제 2인터럽트 출력 단계 후 상기 제 2원형큐의 변수 flag(상태)를 FREE(처리함)로 하고, 패킷포인터를 NULL(널)로 하고, count(카운트)를 1 감소하고, front(앞)를 하나 증가시키는 변수조작을 하는 제 4변수조작 단계를 포함하는 것을 특징으로 하는 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법.After the second interrupt output step, the variable flag of the second circular queue is set to FREE, the packet pointer is set to NULL, the count is decreased by 1, and the front is decreased. And a fourth variable operation step of performing a variable operation of increasing one. 상기 제 1항에 있어서, 명령패킷처리단계는,The method of claim 1, wherein the command packet processing step, 상기 제 1원형큐의 변수 flag(상태)가 FREE(처리끝남)이면 패킷을 엑세스하여 데이터를 외부 디바이스로 출력하거나 또는 외부 디바이스로부터 데이터 입력을 받아들이게 되는 입출력 단계와; An input / output step of accessing a packet to output data to an external device or accepting a data input from an external device when the variable flag (state) of the first circular queue is FREE (end of processing); 상기 제 1원형큐의 변수 flag가 USED(처리함)일 경우 인터럽트 서비스 루틴 내에서 패킷포인터를 로컬메모리에 저장하는 저장단계와;A storage step of storing a packet pointer in a local memory in an interrupt service routine when the variable flag of the first circular queue is USED; 상기 저장단계 후 flag를 FREE로 하고, 패킷포인터를 NULL(널)로 채우고, 변수 count(카운트)를 1 감소시키고, front(앞)를 하나 증가시키는 변수조작을 하는 제 2변수조작 단계를 포함하는 것을 특징으로 하는 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법.And a second variable manipulation step of setting the flag to FREE after the storing step, filling the packet pointer with NULL, decreasing the variable count by 1, and increasing the front by one. Packet transmitting / receiving method of an all-electronic switching device I / O interface circuit pack.
KR1019980018668A 1998-05-23 1998-05-23 Packet transmission / reception method of all electronic switch I / O interface circuit pack KR100508585B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980018668A KR100508585B1 (en) 1998-05-23 1998-05-23 Packet transmission / reception method of all electronic switch I / O interface circuit pack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980018668A KR100508585B1 (en) 1998-05-23 1998-05-23 Packet transmission / reception method of all electronic switch I / O interface circuit pack

Publications (2)

Publication Number Publication Date
KR19990085950A KR19990085950A (en) 1999-12-15
KR100508585B1 true KR100508585B1 (en) 2005-11-25

Family

ID=37306192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980018668A KR100508585B1 (en) 1998-05-23 1998-05-23 Packet transmission / reception method of all electronic switch I / O interface circuit pack

Country Status (1)

Country Link
KR (1) KR100508585B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197130A (en) * 1992-07-24 1994-07-15 American Teleph & Telegr Co <Att> High-speed packet switching device and method for routing data packet
JPH07288525A (en) * 1994-04-19 1995-10-31 Matsushita Electric Ind Co Ltd Queue memory and cell exchange provided with queue memory
KR19980020514A (en) * 1996-09-09 1998-06-25 김광호 Implementing Fault Tolerance of Private Switching System of Integrated Telecommunication Network
KR19980056298A (en) * 1996-12-28 1998-09-25 배순훈 Apparatus and method for transmitting dynamic data block using annular queue

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197130A (en) * 1992-07-24 1994-07-15 American Teleph & Telegr Co <Att> High-speed packet switching device and method for routing data packet
JPH07288525A (en) * 1994-04-19 1995-10-31 Matsushita Electric Ind Co Ltd Queue memory and cell exchange provided with queue memory
KR19980020514A (en) * 1996-09-09 1998-06-25 김광호 Implementing Fault Tolerance of Private Switching System of Integrated Telecommunication Network
KR19980056298A (en) * 1996-12-28 1998-09-25 배순훈 Apparatus and method for transmitting dynamic data block using annular queue

Also Published As

Publication number Publication date
KR19990085950A (en) 1999-12-15

Similar Documents

Publication Publication Date Title
EP0993635B1 (en) Method and apparatus for dynamic queue sizing
US6526451B2 (en) Method and network device for creating circular queue structures in shared memory
US7158964B2 (en) Queue management
JPH06197130A (en) High-speed packet switching device and method for routing data packet
GB2268035A (en) Transmission and storage of real time data in a network system
US5606666A (en) Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US20030056073A1 (en) Queue management method and system for a shared memory switch
EP0622739A1 (en) System for cascading data switches in a communication node
US4418396A (en) Signalling system
US4583219A (en) Trunk for packet switching
US6674751B1 (en) Serialized bus communication and control architecture
GB2143404A (en) Digital switching system
KR100508585B1 (en) Packet transmission / reception method of all electronic switch I / O interface circuit pack
US6912566B1 (en) Memory device and method for operating the memory device
CN113626221B (en) Message enqueuing method and device
CN108881061B (en) Communication apparatus and communication method
KR20110014988A (en) Method for controlling access to regions of a storage comprising a plurality of processes and communication module having a message storage for implementing the method
US5210747A (en) Communications controller for use with a computer and a plurality of isdn terminals
AU624745B2 (en) Packet/fast packet switch for voice and data
CN111614794B (en) Message transmission method and device, electronic equipment and storage medium
CN114442951A (en) Method, device, storage medium and electronic equipment for transmitting multi-channel data
JP2000013438A (en) Gateway device
JP2966051B2 (en) Processor unit
EP1121628A2 (en) Object oriented processor arrays
JP2000200175A (en) Data transmission system

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee