KR100208935B1 - Cmpleteness inspection apparatus and method of data when communicating with aal protocol - Google Patents

Cmpleteness inspection apparatus and method of data when communicating with aal protocol Download PDF

Info

Publication number
KR100208935B1
KR100208935B1 KR1019960076705A KR19960076705A KR100208935B1 KR 100208935 B1 KR100208935 B1 KR 100208935B1 KR 1019960076705 A KR1019960076705 A KR 1019960076705A KR 19960076705 A KR19960076705 A KR 19960076705A KR 100208935 B1 KR100208935 B1 KR 100208935B1
Authority
KR
South Korea
Prior art keywords
crc
packet data
aal
calculator
protocol communication
Prior art date
Application number
KR1019960076705A
Other languages
Korean (ko)
Other versions
KR19980057416A (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 KR1019960076705A priority Critical patent/KR100208935B1/en
Publication of KR19980057416A publication Critical patent/KR19980057416A/en
Application granted granted Critical
Publication of KR100208935B1 publication Critical patent/KR100208935B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • 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
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/5653Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
    • H04L2012/5658Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5

Landscapes

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

Abstract

본 발명은 비동기전송모드적응계층(AAL)프로토콜 통신시 송수신되는 데이터의 완전성 검사를 위한 장치의 구현시 그 실장면적을 줄이기 위한 것이다. 이러한 본 발명에 따른 비동기전송모드적응계층(AAL)프로토콜 통신을 위한 데이터의 완전성 검사를 위한 장치는, 상기 AAL프로토콜 통신시 송신 및 수신되는 패킷데이터의 일시적인 저장을 위한 송신버퍼 및 수신버퍼와, 소정 제어하에 입력되는 패킷데이터를 바이트단위로 입력하여 미리 프로그램된 연산식에 따라 CRC계산하여 출력하는 CRC계산기와, 상기 CRC계산기를 제어하며 상기 수신버퍼를 통해 수신된 패킷데이터와 송신을 위한 패킷데이터를 바이트단위로 상기 CRC계산기로 제공한 후 상기 로직디바이스에 의해 계산된 CRC계산값을 읽어들이는 중앙처리장치를 적어도 포함하여 이루어지는 것을 특징으로 한다.The present invention is to reduce the implementation area in the implementation of the device for the integrity check of data transmitted and received during asynchronous transmission mode adaptation layer (AAL) protocol communication. The apparatus for checking the integrity of data for asynchronous transmission mode adaptation layer (AAL) protocol communication according to the present invention, the transmission buffer and the receiving buffer for the temporary storage of the packet data transmitted and received during the AAL protocol communication, and A CRC calculator for inputting packet data input under control by byte unit and calculating and outputting a CRC according to a pre-programmed expression, and controlling the CRC calculator to control the received packet data and the packet data for transmission. And a central processing unit for reading the CRC calculation value calculated by the logic device after providing the CRC calculator in byte units.

Description

비동기전송모드적응계층 프로토콜 통신시 데이터의 완전성 검사를 위한 장치 및 방법Apparatus and method for data integrity check in asynchronous transmission mode adaptive layer protocol communication

본 발명은 비동기전송모드(ATM)통신시스템에 관한 것으로, 특히 비동기전송모드적응계층(AAL) 프로토콜 통신시 송수신되는 패킷데이터의 완전성 검사를 행하는 CRC계산장치 및 그 계산방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an asynchronous transmission mode (ATM) communication system. More particularly, the present invention relates to a CRC calculating device and a method for calculating the integrity of packet data transmitted and received during asynchronous transmission mode adaptation layer (AAL) protocol communication.

비동기전송모드(Asynchronous Transfer Mode: 이하 ATM이라 칭함) 통신방식의 광대역종합정보통신망(Broadband Integrated Services Digital Network)에서 데이터 통신은 ATM적응계층(ATM Adaptation Layer: 이하 AAL이라 칭함)타입 3/4, AAL타입 5 등의 프로토콜을 TCP/IP(Transmission Control Protocol/ Internet Protocol), SNMP(SNMP), 프레임릴레이(frame relay) 등의 서비스를 제공하기 위한 하위전송의 계층으로 사용한다. 여기서 AAL3/4와 AAL5는 상위 서비스데이터유닛(Service Data Unit: 이하 SDU라 칭함)의 무결성(Integrity)검사를 위해 각각 CRC(Cyclic Redundancy Check)10과 CRC32를 사용하여 전달된 프로토콜데이터유닛(Protocol Data Unit: 이하 PDU라 칭함)의 오류여부를 검사한다. 그리고 SDU를 PDU로 변환하여 전송하고, 다시 PDU를 SDU로 복구하는 기능을 수행하게 된다. 이러한 기능을 제공해주는 대표적인 상용칩의 예로는 미합중국 트랜스위치사(TranSwitch Corporation)에서 제조 및 판매되고 있는 형명 TXC-05501(SARA-S)과 TXC-05601(SARA-R)을 들 수 있다.In the Broadband Integrated Services Digital Network of Asynchronous Transfer Mode (hereinafter referred to as ATM), data communication is ATM Adaptation Layer (hereinafter referred to as AAL) type 3/4, AAL. A protocol such as Type 5 is used as a layer of subtransmission to provide services such as TCP / IP (Transmission Control Protocol / Internet Protocol), SNMP (SNMP), frame relay, and the like. Here, AAL3 / 4 and AAL5 are protocol data units delivered using CRC (Cyclic Redundancy Check) 10 and CRC32 for integrity checking of higher service data units (hereinafter referred to as SDUs). Unit: (hereinafter referred to as PDU) is checked for errors. The SDU is converted into a PDU, transmitted, and the PDU is restored to the SDU. Examples of commercially available chips that provide such functions include TXC-05501 (SARA-S) and TXC-05601 (SARA-R), which are manufactured and sold by the United States TransSwitch Corporation.

이러한 칩들을 이용해서 상기 서비스들을 제공하기 위하여 회로를 구현하는 경우, 칩의 동작상태 유지 등을 위한 제어용의 메모리와, 서비스되는 데이터를 저장하기 위한 메모리 등이 필요하고, 이들 메모리의 내용을 처리하는 중앙처리장치(Central Processing Unit: 이하 CPU라 칭함)와 SARA칩들간의 메모리 억세스 제어를 위한 중재기(Arbitrator) 등이 필요하다. 이들 구성의 기본 동작은 먼저 서비스될 SDU가 CPU로부터 서비스 데이터 저장용 메모리(이하 패킷메모리라 칭함)에 주어지고, 동작 제어용 메모리에 이에 대한 정보가 CPU에 의해 기록되면 패킷메모리의 데이터를 SARA-S에서 동작제어용 메모리를 이용하여 ATM셀로 변환하여 전송한다. 반대로, SARA-R은 데이터 통신정보를 포함하는 ATM셀을 처리하여 원래의 SDU형태로 복원하여 이를 패킷메모리에 저장한다. 이때 이에 대한 정보는 제어용 메모리에 기록되고 그 내용이 CPU에 통지되어 상위계층에 대한 서비스가 수행된다.When a circuit is implemented to provide the services using such chips, a memory for controlling the operation state of the chip, a memory for storing the serviced data, and the like are required, and the contents of these memories are processed. An Arbitrator for controlling the memory access between the Central Processing Unit (CPU) and the SARA chips is required. The basic operation of these configurations is that the SDU to be serviced first is given from the CPU to the memory for storing service data (hereinafter referred to as packet memory), and when information about this is written by the CPU to the operation control memory, the data of the packet memory is SARA-S. In operation, the memory for operation is converted into an ATM cell and transmitted. On the contrary, the SARA-R processes an ATM cell including data communication information, restores the original SDU, and stores the same in the packet memory. At this time, information about this is recorded in the control memory, and the contents thereof are notified to the CPU so that the service to the upper layer is performed.

전술한 바와 같이 상용칩을 사용하여 AAL5 기능을 구현할 경우 그 상용칩 외에 패킷메모리(Static RAM), 제어용 메모리(Static RAM)가 필요하며, 그 상용칩과 CPU간의 메모리 공유를 위한 제어로직 및 상용칩 자체를 제어하기 위한 제어로직이 필요하다. 비록 이러한 구성을 통해 실제 데이터의 처리용량을 높일 수 있지만, 이를 위해 필요한 하드웨어의 양은 상용칩 자체와 메모리들, 주변 로직 등을 포함하기 때문에 상당한 하드웨어상의 공간과 비용을 차지하게 된다. 따라서 고속의 처리용량을 필요로 하지 않는 경우는 그 비용과 회로가 차지하게 되는 면적측면에서 낭비가 있다.As described above, when implementing the AAL5 function using a commercial chip, a packet memory (Static RAM) and a control memory (Static RAM) are required in addition to the commercial chip, and the control logic and commercial chip for sharing the memory between the commercial chip and the CPU Control logic is needed to control itself. Although this configuration can increase the processing capacity of the actual data, the amount of hardware required for this includes a significant amount of space and cost in hardware since it includes a commercial chip itself, memories, and peripheral logic. Therefore, when a high throughput capacity is not required, there is a waste in terms of cost and area occupied by the circuit.

일예로, ATM셀 교환을 수행할 수 있는 시스템에서 각각의 가입자모듈을 제어하기 위한 상위보드가 있고, 이에 의해 제어받는 가입자보드가 있다고 가정할 때 상하위 간에는 제어용 통신메시지가 오고가게 되는데, 이들 메시지는 서비스를 위한 사용자 ATM셀들이 교환되는 통로와 동일한 통로를 이용하여 주고받을 수 있어서, 이들 제어메시지를 위한 데이터 통신의 한 방법으로 AAL5 프로토콜을 사용할 수 있다. 이 경우 각 가입자 보드에서는 사용자 셀의 양에 비해 훨씬 저속의 제어용 메시지들을 AAL5프로토콜에 의해 처리하여야 한다. 이로 인해 AAL5 프로토콜 처리가 필요한 ATM셀의 양은 많지 않음에도 불구하고 각 가입자마다 위에서 기술한 메모리와 로직 및 칩셋들을 사용하여야 하기 때문에 제작비용 및 가입자 보드내의 부품 실장밀도가 높아지는 문제점이 있다.For example, assuming that there is an upper board for controlling each subscriber module in a system capable of performing ATM cell exchange, and there is a subscriber board controlled by this, a control communication message comes up and down between the upper and lower sides. Since the user ATM cells for the service can be exchanged using the same path as the exchange path, the AAL5 protocol can be used as a method of data communication for these control messages. In this case, each subscriber board has to handle the control messages much slower than the amount of user cell by AAL5 protocol. As a result, despite the small number of ATM cells that require AAL5 protocol processing, the memory, logic, and chipset described above must be used for each subscriber, resulting in high manufacturing cost and component mounting density in the subscriber board.

따라서 본 발명의 목적은 ATM방식을 사용하는 통신시스템에서 저속의 AAL5 프로토콜 통신시에 CPU와 하나의 PLD만으로 간단하게 프로토콜을 수행할 수 있도록 하는 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an apparatus and method for easily performing a protocol using only one PLD with a CPU during a low speed AAL5 protocol communication in a communication system using an ATM method.

본 발명의 다른 목적은 ATM방식을 사용하는 통신시스템에서 CRC32검사를 소프트웨어적으로 계산할 때 간단한 로직을 이용하여 계산하는 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for calculating CRC32 check using simple logic in software in a communication system using ATM.

이러한 목적들을 달성하기 위한 본 발명은 NIA, D1MA, D3MA 등과 같은 가입자쪽 보드와 이들을 제어하는 NMA간에 스위치(CSA)를 통해 프로세서간 통신(IPC)이 AAL5 프로토콜을 사용하여 이루어진다고 할 때, 이들 전부에 상용칩셋을 사용하여 AAL5 프로토콜을 구현하는 대신에 대부분의 프로토콜 처리를 소프트웨어에 의해서 처리하고, 다만 CPU의 연산속도로 매우 많은 동작이 필요한 부분인 CRC32의 계산만을 로직디바이스를 이용하여 구현된 CRC32계산기의 도움을 받아 처리하는 것을 특징으로 한다.The present invention for achieving these objectives is that when the inter-processor communication (IPC) is made using the AAL5 protocol through the switch (CSA) between the subscriber-side boards such as NIA, D1MA, D3MA, etc. and the NMA controlling them, Instead of implementing the AAL5 protocol using a commercial chipset, most of the protocol processing is done by software, but only CRC32 calculation, which is a part that requires very much operation at CPU operation speed, is implemented using a logic device. It is characterized by the help of the treatment.

본 발명에 따른 AAL프로토콜 통신을 위한 데이터의 완전성 검사를 위한 장치는, 상기 AAL프로토콜 통신시 송신 및 수신되는 패킷데이터의 일시적인 저장을 위한 송신버퍼 및 수신버퍼와, 소정 제어하에 입력되는 패킷데이터를 바이트단위로 입력하여 미리 프로그램된 연산식에 따라 CRC계산하여 출력하는 CRC계산기와, 상기 CRC계산기를 제어하며 상기 수신버퍼를 통해 수신된 패킷데이터와 송신을 위한 패킷데이터를 바이트단위로 상기 CRC계산기로 제공한 후 상기 로직디바이스에 의해 계산된 CRC계산값을 읽어들이는 중앙처리장치를 적어도 포함하여 이루어지는 것을 특징으로 한다.An apparatus for checking the integrity of data for AAL protocol communication according to the present invention, the transmission buffer and the receiving buffer for the temporary storage of the packet data transmitted and received during the AAL protocol communication, and the packet data input under a predetermined control byte A CRC calculator for inputting a unit and calculating and outputting a CRC according to a pre-programmed expression, and controlling the CRC calculator and providing packet data received through the reception buffer and packet data for transmission to the CRC calculator in units of bytes. And at least a central processing unit for reading the CRC calculation value calculated by the logic device.

도 1은 본 발명에 따른 비동기전송모드적응계층 프로토콜 통신시 데이터의 완전성 검사를 위한 장치의 구성을 보여주는 도면.1 is a view showing the configuration of an apparatus for checking the integrity of data in asynchronous transmission mode adaptive layer protocol communication according to the present invention.

도 2는 도 1에 도시된 CRC32계산기의 구성을 상세하게 보여주는 도면.2 is a view showing in detail the configuration of the CRC32 calculator shown in FIG.

도 3은 본 발명에 따른 CRC32계산기의 계산동작에 따른 처리흐름을 보여주는 도면.3 is a view showing a processing flow according to the calculation operation of the CRC32 calculator according to the present invention.

이하 본 발명의 바람직한 실시예의 상세한 설명을 첨부된 도면들을 참조하여 설명할 것이다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라고 가능한한 동일한 부호를 사용하고 있음에 유의하여야 한다. 또한 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION A detailed description of preferred embodiments of the invention will now be described with reference to the accompanying drawings. First, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used for the same components as much as possible even though they are shown in different drawings. In addition, in the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, the terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of the user or chip designer, and the definitions should be made based on the contents throughout the present specification.

도1을 참조하면, 본 발명이 적용되는 장치, 즉 AAL프로토콜을 위한 통신장치는 저속의 IPC용 ATM셀을 송신하는 송신용 버퍼 300과, 셀들을 수신하는 수신용 버퍼 400과, 이 셀들을 읽고 처리하거나 IPC(Inter Processor Communication)셀을 생성하여 버퍼에 쓰는 CPU 및 그 주변회로 100과, 통상의 PLD(Programmable Logic Device)에 의해 구현된 CRC32계산기 200으로 구성된다. 여기서 수신용 버퍼 400은 통상의 FIFO(First In First Out) 또는 메모리로서 ATM셀이 수신되어 저장되는 영역이다. 송신용 버퍼 300은 CPU 에 의해서 ATM셀이 생성되어서 스위치로 송신되기 전에 저장되어 있는 영역이다. CPU 및 그 주변회로 100은 통상적으로 데이터버스 크기로 32비트를 쓸 수 있는 것이면 어느 것이나 사용가능하다. 그리고 미설명한 CRC32계산기 200은 본 발명에 따른 특징적인 요소로서 후술될 도 2에 도시된 바와 같이 이루어진다.Referring to Fig. 1, an apparatus to which the present invention is applied, that is, a communication apparatus for an AAL protocol, reads a transmission buffer 300 for transmitting a low-speed IPC ATM cell, a reception buffer 400 for receiving cells, and reads the cells. A CPU and peripheral circuit 100 for processing or generating an IPC (Inter Processor Communication) cell and writing it into a buffer, and a CRC32 calculator 200 implemented by a conventional programmable logic device (PLD). Here, the reception buffer 400 is an area in which an ATM cell is received and stored as a normal first in first out (FIFO) or memory. The transmission buffer 300 is an area stored before the ATM cell is generated by the CPU and transmitted to the switch. The CPU and its peripheral circuit 100 can typically use anything that can write 32 bits in the data bus size. The non-described CRC32 calculator 200 is made as shown in FIG. 2 to be described later as a characteristic element according to the present invention.

도 2를 참조하면, 본 발명에 따른 CRC32계산기 200은 32개의 D플립플롭 220과, 다수의 배타적논리합게이트(Exclusive OR Gate) 210과, CPU데이터버스와의 접속시 필요한 입출력버퍼 230,240과, D플립플롭 220의 동작클럭 CLOCK 및 프리셋 PRESET신호를 공급하고 출력인에이블신호 Output Enable을 제공하여 출력버퍼 230의 동작여부를 제어하는 제어로직부 250으로 구성된다.Referring to FIG. 2, the CRC32 calculator 200 according to the present invention includes 32 D flip-flops 220, a plurality of exclusive OR gates 210, input / output buffers 230 and 240 required for connection to a CPU data bus, and a D flip. It is composed of a control logic 250 that controls the operation of the output buffer 230 by supplying the operation clock CLOCK and the preset PRESET signal of the flop 220 and providing the output enable signal Output Enable.

상기 제어로직부 250은 도 1에 도시된 CPU 및 그 주변회로로 100으로부터의 데이터 읽기 및 쓰기 여부를 표시하는 읽기신호 CRCRD와 쓰기신호 CRCWR와, 계산동작인지 초기화동작인지를 구별하기 위한 신호를 제공받아 상기 CLOCK, PRESET 및 Output Enable신호를 생성하여 출력한다. 이 신호의 생성은 CPU 100으로부터 제공되는 어드레스 Address중 하나를 사용하는 방법을 사용한다. 이러한 신호들의 생성방법은 미합중국 모토롤라사에서 제조 및 판매되고 있는 MC68030 등과 같은 통상의 CPU회로에서 CPU가 주변의 메모리를 억세스하는 방식과 동일하다. 즉, 제어로직부 250은 상기 CRCWR신호와 어드레스를 앤드게이팅하여 이 결과를 CLOCK로서 출력하고, 상기 CRCWR신호와 반전된 어드레스를 앤드게이팅하여 이 결과를 PRESET로서 출력하고, CRCRD신호를 Output Enable신호로서 출력한다.The control logic unit 250 provides a signal for distinguishing between a read signal CRCRD and a write signal CRCWR indicating whether to read or write data from the 100 to the CPU and its peripheral circuits shown in FIG. It generates and outputs the CLOCK, PRESET and Output Enable signals. The generation of this signal uses a method using one of the address addresses provided from the CPU 100. The method of generating these signals is the same as the method in which the CPU accesses the peripheral memory in a conventional CPU circuit such as MC68030 manufactured and sold by Motorola Corporation of the United States. That is, the control logic unit 250 gates the CRCWR signal and the address and outputs the result as CLOCK. And, the control logic unit 250 gates the CRCWR signal and the inverted address and outputs the result as PRESET, and outputs the CRCRD signal as the Output Enable signal. Output

도 2에서 배타적논리합기능을 수행하는 블록 210의 상세한 구조는 하기와 같은 표 1의 수식으로 나타낼 수 있다. 이들 식은 PLD(Programmable Logic Device)를 통해 구현하는 것이 바람직하며, 다수 입력을 가지는 배타적논리합게이트를 이용하여 구현하여도 무방하다.In FIG. 2, the detailed structure of the block 210 that performs the exclusive logic function may be represented by the formula of Table 1 as follows. These equations are preferably implemented through a programmable logic device (PLD), and may be implemented using an exclusive logic gate having multiple inputs.

배타적논리합게이트의 출력Output of exclusive logic gate 배타적논리합게이트의 출력Output of exclusive logic gate D00D00 C2^D2^D8C2 ^ D2 ^ D8 D016D016 C0^C2^C3^D0^D2^D3^C4^D4^D24C0 ^ C2 ^ C3 ^ D0 ^ D2 ^ D3 ^ C4 ^ D4 ^ D24 D01D01 C0^C3^D0^D3^D9C0 ^ C3 ^ D0 ^ D3 ^ D9 D017D017 C4^C5^D4^D5^C0^C1^C3^D0^D1^D3^D25C4 ^ C5 ^ D4 ^ D5 ^ C0 ^ C1 ^ C3 ^ D0 ^ D1 ^ D3 ^ D25 D02D02 C0^C1^D0^D1^C4^D4^D10C0 ^ C1 ^ D0 ^ D1 ^ C4 ^ D4 ^ D10 D018D018 C0^C1^C2^D0^D1^D2^C4^C5^C6^D4^D5^D6^D26C0 ^ C1 ^ C2 ^ D0 ^ D1 ^ D2 ^ C4 ^ C5 ^ C6 ^ D4 ^ D5 ^ D6 ^ D26 D03D03 C1^C2^D1^D2^C5^D5^D11C1 ^ C2 ^ D1 ^ D2 ^ C5 ^ D5 ^ D11 D019D019 C1^C2^C3^D1^D2^D3^C5^C6^C7^D5^D6^D7^D27C1 ^ C2 ^ C3 ^ D1 ^ D2 ^ D3 ^ C5 ^ C6 ^ C7 ^ D5 ^ D6 ^ D7 ^ D27 D04D04 C0^C2^C3^D0^D2^D3^C6^D6^D12C0 ^ C2 ^ C3 ^ D0 ^ D2 ^ D3 ^ C6 ^ D6 ^ D12 D020D020 C3^D3^C4^C6^C7^D4^D6^D7^D28C3 ^ D3 ^ C4 ^ C6 ^ C7 ^ D4 ^ D6 ^ D7 ^ D28 D05D05 C1^C3^D1^D3^C4^C7^D4^D7^D13C1 ^ C3 ^ D1 ^ D3 ^ C4 ^ C7 ^ D4 ^ D7 ^ D13 D021D021 C2^D2^C4^C5^C7^D4^D5^D7^D29C2 ^ D2 ^ C4 ^ C5 ^ C7 ^ D4 ^ D5 ^ D7 ^ D29 D06D06 C4^C5^D4^D5^D14C4 ^ C5 ^ D4 ^ D5 ^ D14 D022D022 C2^C3^D2^D3^C5^C6^D5^D6^D30C2 ^ C3 ^ D2 ^ D3 ^ C5 ^ C6 ^ D5 ^ D6 ^ D30 D07D07 C0^D0^C5^C6^D5^D6^D15C0 ^ D0 ^ C5 ^ C6 ^ D5 ^ D6 ^ D15 D023D023 C3^D3^C4^C6^C7^D4^D6^D7^D31C3 ^ D3 ^ C4 ^ C6 ^ C7 ^ D4 ^ D6 ^ D7 ^ D31 D08D08 C1^D1^C6^C7^D6^D7^D16C1 ^ D1 ^ C6 ^ C7 ^ D6 ^ D7 ^ D16 D024D024 C0^C2^D0^D2^C4^C5^C7^D4^D5^D7C0 ^ C2 ^ D0 ^ D2 ^ C4 ^ C5 ^ C7 ^ D4 ^ D5 ^ D7 D09D09 C7^D7^D17C7 ^ D7 ^ D17 D025D025 C0^C1^C2^C3^D0^D1^D2^D3^C5^C6^D5^D6C0 ^ C1 ^ C2 ^ C3 ^ D0 ^ D1 ^ D2 ^ D3 ^ C5 ^ C6 ^ D5 ^ D6 D010D010 C2^D2^D18C2 ^ D2 ^ D18 D026D026 C0^C1^C2^C3^D0^D1^D2^D3^C4^C6^C7^D4^D6^D7C0 ^ C1 ^ C2 ^ C3 ^ D0 ^ D1 ^ D2 ^ D3 ^ C4 ^ C6 ^ C7 ^ D4 ^ D6 ^ D7 D011D011 C3^D3^D19C3 ^ D3 ^ D19 D027D027 C1^C3^D1^D3^C4^C5^C7^D4^D5^D7C1 ^ C3 ^ D1 ^ D3 ^ C4 ^ C5 ^ C7 ^ D4 ^ D5 ^ D7 D012D012 C0^D0^C4^D4^D20C0 ^ D0 ^ C4 ^ D4 ^ D20 D028D028 C0^D0^C4^C5^C6^D4^D5^D6C0 ^ D0 ^ C4 ^ C5 ^ C6 ^ D4 ^ D5 ^ D6 D013D013 C0^C1^DO^D1^C5^D5^D21C0 ^ C1 ^ DO ^ D1 ^ C5 ^ D5 ^ D21 D029D029 C0^C1^D0^D1^C5^C6^C7^D5^D6^D7C0 ^ C1 ^ D0 ^ D1 ^ C5 ^ C6 ^ C7 ^ D5 ^ D6 ^ D7 D014D014 C1^C2^D1^D2^C6^D6^D22C1 ^ C2 ^ D1 ^ D2 ^ C6 ^ D6 ^ D22 D030D030 C0^C1^D0^D1^C6^C7^D6^D7C0 ^ C1 ^ D0 ^ D1 ^ C6 ^ C7 ^ D6 ^ D7 D015D015 C2^C3^D2^D3^C7^D7^D23C2 ^ C3 ^ D2 ^ D3 ^ C7 ^ D7 ^ D23 D031D031 C1^D1^C7^D7C1 ^ D1 ^ C7 ^ D7

상기 표 1에서 ^는 배타적논리합게이트를 의미하는 것으로, 일예로 D031의 값은 입력신호 C1과, C7, 그리고 피드백신호 D1과 D7들을 전부 배타적논리합연산하여 출력한 것을 의미한다.In Table 1, ^ denotes an exclusive logic gate, for example, a value of D031 means that all of the input signals C1, C7, and feedback signals D1 and D7 are output by performing exclusive logic sum operation.

다시 도 2를 참조하면, 입력버퍼 240 및 출력버퍼 230에 대한 각각이 입출력 관계가 식으로 주어져 있고, 디플립플롭 220의 입출력 관계도 식으로 주어져 있다. 즉 입력버퍼 240의 입출력간에는 CO=CD31, C1=CD30, ....., C7=CD24의 관계를 가지며, 출력버퍼 230의 입출력간에는 CD0=D31, CD1=D30, .. , CD30=D1, CD31=D0의 관계를 가지며, 디플립플롭 220의 입출력간에는 D0=D00, D1=D01, ....., D31=D031의 관계를 갖는다. 여기에서 입력버퍼 240은 1바이트만으로 구성된다는 특징이 있다. 그리고 상기에서 D00∼D031은 디플립플롭 220의 입력이고, D0∼D31은 디플립플롭 220의 출력임과 동시에 출력버퍼 230의 입력이다. CD0∼CD31은 출력버퍼 230의 출력임과 동시에 입력버퍼 240의 입력이고, C0∼C7은 입력버퍼 240의 출력이다. 상기 디플립플롭 220의 출력 D0∼D31과 입력버퍼 240의 출력 C0∼C7은 배타적논리합게이트 210의 입력으로 인가된다.Referring again to FIG. 2, the input / output relationship for each of the input buffer 240 and the output buffer 230 is given by the equation, and the input / output relationship of the deflip-flop 220 is given by the equation. That is, CO = CD31, C1 = CD30, ....., C7 = CD24 between input and output of input buffer 240, and CD0 = D31, CD1 = D30, .., CD30 = D1, between input and output of output buffer 230. CD31 has a relationship of D0, and has a relationship of D0 = D00, D1 = D01, ....., and D31 = D031 between the inputs and outputs of the flip-flop 220. Here, the input buffer 240 is characterized by consisting of only one byte. In the above description, D00 to D031 are the inputs of the deflip-flop 220, and D0 to D31 are the outputs of the deflip-flop 220 and the input of the output buffer 230. CD0 to CD31 are the outputs of the output buffer 230 and the inputs of the input buffer 240, and C0 to C7 are the outputs of the input buffer 240. The outputs D0 to D31 of the flip-flop 220 and the outputs C0 to C7 of the input buffer 240 are applied to the input of the exclusive logic gate 210.

도 3은 본 발명에 따른 CRC32계산기 200이 한 패킷에 대해 CRC32 계산을 행하는 처리흐름을 보여주는 도면이다.3 is a flowchart illustrating a process of performing a CRC32 calculation on one packet by the CRC32 calculator 200 according to the present invention.

먼저, 도 1 내지 도 3을 참조하여 AAL프로토콜에 따른 수신시의 동작을 설명한다. 이 수신동작은 도 3에서 301단계, 302단계, 303단계, 305단계, 304단계의 순으로 수행된다.First, an operation at the time of reception according to the AAL protocol will be described with reference to FIGS. 1 to 3. This receiving operation is performed in the order of steps 301, 302, 303, 305, and 304 in FIG. 3.

도 1에서 수신 수신용 버퍼 400에 수신된 셀은 CPU 100이 읽어서 헤더를 제거하고, 동일한 헤더를 가지는 셀들의 페이로드들만 모아서 하나의 패킷으로 제조립한다. 이때 조립된 패킷의 비트오류 유무를 검사해야 하는데, 이를 위해 본 발명에 CRC32계산기 200을 사용한다. 도 3의 301단계에서와 같이 CRC32계산기 200을 프리셋(PRESET)한다(301단계). 이때 프리셋후 디플립플롭 220의 상태는 모두 '1'의 값을 가지도록 만들어준다. 한편 프리셋신호를 생성하기 위하여 CPU 및 주변회로 100은 쓰기신호 CRCWR 및 사용가능한 어드레스 Address를 공급해준다. 프리셋 후에는 실제로 패킷데이터를 한 바이트씩 CRC32계산기 200에 쓰게 되는데(302단계), 디플립플롭 220의 동작 클럭 역시 프리셋신호의 생성과 동일한 방식으로 생성되게 된다. 이러한 원리로 수신된 CRC32값을 비롯하여 전체 수신 패킷데이터가 CRC32계산기 200에 쓰여지게 되면 32비트 디플립플롭 220은 CRC32 계산결과를 가지고 있게 된다. 이때 CPU 100은 읽기신호 CRCRD를 줌으로써 이들 32비트를 동시에 읽어낼 수 있다(304단계).In FIG. 1, the cell received in the reception reception buffer 400 is removed by the CPU 100, and the payloads of the cells having the same header are collected and assembled into one packet. At this time, it is necessary to check whether there is a bit error in the assembled packet. For this, the CRC32 calculator 200 is used in the present invention. As in step 301 of FIG. 3, the CRC32 calculator 200 is preset (step 301). At this time, the state of the deflip-flop 220 after presetting has a value of '1'. In order to generate the preset signal, the CPU and the peripheral circuit 100 supply the write signal CRCWR and the available address address. After the preset, the packet data is actually written to the CRC32 calculator 200 by byte (step 302). The operation clock of the flip-flop 220 is also generated in the same manner as the generation of the preset signal. When all received packet data including the received CRC32 value is written to the CRC32 calculator 200, the 32-bit deflip-flop 220 has the CRC32 calculation result. At this time, the CPU 100 can simultaneously read these 32 bits by giving the read signal CRCRD (step 304).

다음에 도 1 및 도 3을 참조하여 AAL프로토콜에 따른 송신시의 동작을 설명한다. 이 송신동작은 도 3에서 301단계, 302단계, 303단계, 304단계의 순으로 수행된다.Next, with reference to Figs. 1 and 3, the operation at the time of transmission according to the AAL protocol will be described. This transmission operation is performed in the order of steps 301, 302, 303, and 304 in FIG. 3.

송신시에는 주어진 패킷을 48의 배수로 만들기 위해 ITU(International Telcommunication Union) 권고안(Recommendation) I.363에 준하는 패딩(padding)작업을 수행하고, 이를 상기한 절차와 유사하게 처리한다. 먼저 CRC32계산기 200을 프리셋하고(301단계), 패킷데이터를 CRC32계산기 200에 쓴다(302단계). 이때 CRC32가 쓰여질 영역은 CRC32계산기 200에 쓰지 않아야 하므로, 수신시보다 4바이트 적게 패킷 쓰기가 수행된다. 즉, 303단계를 수행한 후에 305단계를 수행하는 것이 아니고 304단계를 바로 수행한다. 이렇게 패킷데이터의 쓰기가 끝나면 디플립플롭 220의 상태 4바이트를 동시에 읽으면 이 값이 각 패킷의 마지막 송신셀에 써서 보내야 할 CRC32의 값이다.At the time of transmission, padding is performed in accordance with International Telcommunication Union (ITU) Recommendation I.363 to make a given packet a multiple of 48, and the processing is similar to the above procedure. First, the CRC32 calculator 200 is preset (step 301), and the packet data is written to the CRC32 calculator 200 (step 302). At this time, the area in which the CRC32 is to be written should not be written to the CRC32 calculator 200, so that the packet writing is performed by 4 bytes less than the reception time. That is, after performing step 303, step 305 is performed instead of step 305. After writing the packet data, if 4 bytes of the flip-flop 220 are read simultaneously, this value is the CRC32 value to be sent to the last transmitting cell of each packet.

상술한 바와 같이 본 발명은 저속의 AAL5 프로토콜 통신을 위해 별도의 상용칩이나 부가적인 메모리 없이도 간단하게 PLD 하나로써 통신할 수 있는 환경을 만들 수 있다. 그리하여 AAL5 프로토콜을 구현하기 위한 하드웨어 양을 매우 적게 들임으로써 보드상에서 타 기능을 위해 그만큼 면적을 더 할애할 수 있게 된다. 그러므로 상용칩셋 및 메모리 등을 이용하여 구현할 때보다 구현시의 비용을 절감할 수 있는 이점이 있다.As described above, the present invention can create an environment in which a single PLD can be simply communicated without a separate commercial chip or additional memory for low speed AAL5 protocol communication. Thus, using very little hardware to implement the AAL5 protocol frees up more space for other functions on the board. Therefore, there is an advantage in reducing the cost of implementation than when using a commercial chipset and memory.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 않되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 할 것이다.Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications may be made 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 the equivalents of the claims.

Claims (3)

비동기전송모드적응계층(AAL)프로토콜 통신을 위한 데이터의 완전성 검사를 위한 장치에 있어서,An apparatus for checking integrity of data for asynchronous transmission mode adaptation layer (AAL) protocol communication, 상기 AAL프로토콜 통신시 송신 및 수신되는 패킷데이터의 일시적인 저장을 위한 송신버퍼 및 수신버퍼와,A transmission buffer and a reception buffer for temporarily storing packet data transmitted and received during the AAL protocol communication; 소정 제어하에 입력되는 패킷데이터를 바이트단위로 입력하여 미리 프로그램된 연산식에 따라 CRC계산하여 출력하는 CRC계산기와,A CRC calculator for inputting packet data input under predetermined control in units of bytes to calculate and output a CRC according to a pre-programmed expression; 상기 CRC계산기를 제어하며 상기 수신버퍼를 통해 수신된 패킷데이터와 송신을 위한 패킷데이터를 바이트단위로 상기 CRC계산기로 제공한 후 상기 로직디바이스에 의해 계산된 CRC계산값을 읽어들이는 중앙처리장치를 적어도 포함하여 이루어지는 것을 특징으로 하는 장치.A central processing unit which controls the CRC calculator and provides packet data received through the reception buffer and packet data for transmission to the CRC calculator in byte units and then reads the CRC calculation value calculated by the logic device; At least comprising a device. 제1항에 있어서, 상기 CRC계산기는,The method of claim 1, wherein the CRC calculator, 상기 중앙처리장치에 의해 제어되어 바이트단위로 입력되는 패킷데이터에 대해 미리 프로그램된 배타적논리합연산을 취함으로써 CRC계산값을 출력하는 제1수단과,First means for outputting a CRC calculation value by taking a pre-programmed exclusive logical sum operation on the packet data controlled by the central processing unit and inputted in bytes; 상기 제1수단으로부터 출력되는 CRC계산값을 32비트의 계산값을 출력하는 제2수단으로 이루어짐을 특징으로 하는 검사장치.And a second means for outputting a 32-bit calculated value of the CRC calculated value outputted from the first means. 비동기전송모드적응계층(AAL)프로토콜 통신을 위한 데이터의 완전성 검사를 위한 방법에 있어서,In the method for the integrity check of data for asynchronous transmission mode adaptation layer (AAL) protocol communication, 미리 프로그램된 연산식에 따른 CRC계산을 위한 로직디바이스를 구비하며, 상기 AAL프로토콜 통신시 송신 및 수신되는 패킷데이터를 바이트단위로 상기 로직디바이스에 입력하여 CRC계산한 후 그 계산결과를 읽어들여 데이터의 완전성을 검사하는 것을 특징으로 하는 방법.A logic device for calculating a CRC according to a pre-programmed expression is provided. The packet data transmitted and received during the AAL protocol communication is input to the logic device in byte units to calculate a CRC, and then the CRC calculation is performed to read the calculation result. Checking integrity.
KR1019960076705A 1996-12-30 1996-12-30 Cmpleteness inspection apparatus and method of data when communicating with aal protocol KR100208935B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960076705A KR100208935B1 (en) 1996-12-30 1996-12-30 Cmpleteness inspection apparatus and method of data when communicating with aal protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960076705A KR100208935B1 (en) 1996-12-30 1996-12-30 Cmpleteness inspection apparatus and method of data when communicating with aal protocol

Publications (2)

Publication Number Publication Date
KR19980057416A KR19980057416A (en) 1998-09-25
KR100208935B1 true KR100208935B1 (en) 1999-07-15

Family

ID=19492296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960076705A KR100208935B1 (en) 1996-12-30 1996-12-30 Cmpleteness inspection apparatus and method of data when communicating with aal protocol

Country Status (1)

Country Link
KR (1) KR100208935B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101217019B1 (en) 2011-01-31 2012-12-31 김해림 Washing apparatus for brush

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100452640B1 (en) * 2002-11-11 2004-10-14 한국전자통신연구원 Apparatus for receiving data packet and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101217019B1 (en) 2011-01-31 2012-12-31 김해림 Washing apparatus for brush

Also Published As

Publication number Publication date
KR19980057416A (en) 1998-09-25

Similar Documents

Publication Publication Date Title
US6084880A (en) Asynchronous transfer mode adapter for desktop applications
US6031843A (en) Digital communications switching fabric
EP1208447B1 (en) Network processor, memory organization and methods
EP1208676B1 (en) Network switch using network processor
JP4066382B2 (en) Network switch and component and method of operation
JP3817477B2 (en) VLSI network processor and method
US20020176430A1 (en) Buffer management for communication systems
JP3807980B2 (en) Network processor processing complex and method
WO1993026107A1 (en) Atm-ethernet portal/concentrator
US6804243B1 (en) Hardware acceleration for segmentation of message packets in a universal serial bus peripheral device
KR100208935B1 (en) Cmpleteness inspection apparatus and method of data when communicating with aal protocol
JPH0548637A (en) Polishing device
Hadžić et al. P4: A platform for FPGA implementation of protocol boosters
WO2000001167A2 (en) Systems and methods for implementing abr with guaranteed mcr
KR20010053612A (en) Storage device and a method for operating the storage device
Dittia et al. Catching up with the networks: host I/O at gigabit rates
WO2008108992A1 (en) Flexible protocol engine for multiple protocol processing
Davie Host interface design for experimental, very high-speed networks
Collivignarelli et al. A complete set of VLSI circuits for ATM Switching
KR100228304B1 (en) Apparatus and method for processing cell protocol of atm communication system
Nordqvist et al. Power optimized packet buffering in a protocol processor
US6870853B1 (en) Device and method for converting data sequences between FR format and ATM format
JPH11205344A (en) Sar provided with dedicated processing interface
Liew et al. Completion of a prototype ATM cell-stream splitter for an experimental multimedia terminal
Behan et al. Video Over an ATM Desk Area Network

Legal Events

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

Payment date: 20110330

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee