KR100523546B1 - 프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법 - Google Patents

프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법 Download PDF

Info

Publication number
KR100523546B1
KR100523546B1 KR10-2002-0064316A KR20020064316A KR100523546B1 KR 100523546 B1 KR100523546 B1 KR 100523546B1 KR 20020064316 A KR20020064316 A KR 20020064316A KR 100523546 B1 KR100523546 B1 KR 100523546B1
Authority
KR
South Korea
Prior art keywords
address
read
data
write
elastic buffer
Prior art date
Application number
KR10-2002-0064316A
Other languages
English (en)
Other versions
KR20040034225A (ko
Inventor
이성민
최낙중
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR10-2002-0064316A priority Critical patent/KR100523546B1/ko
Publication of KR20040034225A publication Critical patent/KR20040034225A/ko
Application granted granted Critical
Publication of KR100523546B1 publication Critical patent/KR100523546B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization

Landscapes

  • Time-Division Multiplex Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 프레임 동기를 유지하는 탄성 버퍼 및 이를 이용한 노드간 클럭 편차 검출 방법에 관한 것으로 상세하게는, 클럭 편차에 의해 버퍼가 엠티나 풀이 되기 전에 어드레스를 제어하여 데이터 손실을 최소화하는 프레임 동기를 유지하는 탄성 버퍼 및 이를 이용한 노드간 클럭 편차 검출 방법에 관한 것이다. 상기 목적을 달성하기 위하여 본 발명의 실시예는 라이트 신호의 인가에 따라 라이트 어드레스에 데이터를 입력하며 리드 신호의 인가에 따라 리드 어드레스의 데이터를 출력하고, 두 슈퍼 프레임 크기의 정수배의 저장 용량을 갖는 피포 메모리부; 상기 라이트 신호의 인가에 따라 상기 라이트 어드레스를 1씩 증가시키는 라이트 어드레스 증가부; 및 상기 리드 신호의 인가에 따라 상기 리드 어드레스를 1씩 증가시키는 리드 어드레스 증가부를 포함하며, 상기 라이트 어드레스 증가부 및 상기 리드 어드레스 증가부 중 어느 하나는 상기 피포 메모리부의 데이터가 엠티나 풀 직전일 경우 상기 피포 메모리부 크기의 절반에 해당하는 크기만큼 라이트 어드레스 또는 리드 어드레스를 이동시키는 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼를 제공한다.

Description

프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간 클럭 편차 검출 방법{ELASTIC BUFFER FOR KEEPING FRAME SYNCHRONIZATION AND METHOD FOR DETECTING CLOCK DIFFERENCE USING ALGORITHM OF THE SAME}
본 발명은 프레임 동기를 유지하는 탄성 버퍼 및 이를 이용한 노드간 클럭 편차 검출 방법에 관한 것으로 상세하게는, 클럭 편차에 의해 버퍼가 엠티나 풀이 되기 전에 어드레스를 제어하여 데이터 손실을 최소화하는 프레임 동기를 유지하는 탄성 버퍼 및 이를 이용한 노드간 클럭 편차 검출 방법에 관한 것이다.
일반적으로 음성과 데이터(data)를 처리하는 시스템(system)간 정확한 정보를 송수신 하기 위해서는 송수신단의 시스템간 동기화(synchronization)가 이루어져야 한다.
망 동기란 이상적으로는 망 내의 모든 전송 및 교환 시스템이 동일한 클럭(clock)으로 운용되는 것을 의미하지만, 실제로 망 구성시 동일한 클럭으로 운용되기란 매우 어려운 문제점이 있다. 왜냐하면 클럭 타이밍 지터(clock timing jitter) 또는 전송지연 및 클럭 발생기 자체의 기계적, 주위 환경 등의 원인 등으로 동일 주파수를 사용하더라도 양 시스템의 클럭 소스(source)간 주파수 안정도 차이가 발생된다. 이 때, 송신된 정보를 정확히 수신할 수 없게 되어 과도하게 정보가 손실되는 문제가 발생했었다.
따라서 본 발명은 시스템 운용 중에 클럭 편차가 다소 있더라고 망 동기 상태를 지속적으로 유지하여, 데이터 오류의 발생을 최소화하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명의 실시예는, 라이트 신호의 인가에 따라 라이트 어드레스에 데이터를 입력하며 리드 신호의 인가에 따라 리드 어드레스의 데이터를 출력하고, 두 슈퍼 프레임 크기의 정수배의 저장 용량을 갖는 피포 메모리부; 상기 라이트 신호의 인가에 따라 상기 라이트 어드레스를 1씩 증가시키는 라이트 어드레스 증가부; 및 상기 리드 신호의 인가에 따라 상기 리드 어드레스를 1씩 증가시키는 리드 어드레스 증가부를 포함하며, 상기 라이트 어드레스 증가부 및 상기 리드 어드레스 증가부 중 어느 하나는 상기 피포 메모리부의 데이터가 엠티나 풀 직전일 경우 상기 피포 메모리부 크기의 절반에 해당하는 크기만큼 라이트 어드레스 또는 리드 어드레스를 이동시키는 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼를 제공한다.
상기 피포 메모리부의 저장 용량은 960비트의 정수배이다.
상기 라이트 어드레스 증가부 및 상기 리드 어드레스 증가부는 라이트 어드레스 및 리드 어드레스가 항상 상기 피포 메모리부 내의 어드레스를 나타내도록 모듈로 960 연산 혹은 모듈로 960의 정수배 연산을 수행한다.
상기 라이트 어드레스 증가부는 라이트 신호가 인가될 때까지 라이트 어드레스를 저장하는 제 1 래치를 포함하고, 상기 리드 어드레스 증가부는 리드 신호가 인가될 때까지 리드 어드레스를 저장하는 제 2 래치를 포함한다.
상기 리드 어드레스와 상기 라이트 어드레스를 비교하여 양 어드레스의 차를 계산하고, 양 어드레스의 차가 -2 내지 2의 범위이면 상기 피포 메모리부 크기의 절반에 해당하는 크기만큼 라이트 어드레스 또는 리드 어드레스를 이동시킨다.
또한 본 발명의 실시예는 송신단에서 수신 단말이 알고 있는 시퀀스 데이터를 발생하여 제 1 항의 탄성 버퍼를 구비하는 수신 노드로 송신하는 단계; 상기 수신 노드에 연결된 수신 단말의 시퀀스 발생회로에서 상기 송신단에서 송신한 데이터와 동일한 데이터를 15비트 빠르게 자체 발생하는 단계; 상기 수신 단말에서 자체 발생시킨 데이터와 상기 송신단으로부터 수신된 데이터를 비교하여 프레임의 누락 또는 반복을 검출하는 단계를 포함하는 노드간 클럭 편차 검출 방법을 제공한다.
또한 본 발명의 실시예는 8비트의 순환반복코드를 제 1 항의 탄성 버퍼를 구비한 수신단으로 반복하여 전송하는 단계; 및 수신단에서 상기 순환반복코드의 주기를 검출하여 일시적으로 불규칙한 경우 프레임의 누락 또는 반복으로 판단하는 노드간 클럭 편차 검출 방법을 제공한다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 프레임(frame)과 슈퍼 프레임(super frame)의 구조를 나타내고 있다.
노드(node)간을 연결하는 다중화 간선로는 전송 속도 1.024Mbps, 용량 32채널이며 프레임의 동기를 확인하고 유지하기 위해, 각 프레임의 첫번째 비트를 FSW(Frame Sync. Word)로 사용한다. 각 프레임은 32비트로 구성되어 있고, 한 프레임을 전송하는 데에 32㎲의 시간이 소요된다.
FSW는 매 15개 프레임을 단위로 반복되고, 매 프레임의 FSW 값은 각각 00001 11011 00101이다. FSW가 반복하는 주기 15프레임을 묶어 슈퍼 프레임이라 한다.
15 프레임 단위로 FSW가 반복되므로, 15 프레임 단위로 프레임이 반복되거나, 누락되는 것은 프레임 동기를 유지하는 관점에서 보면 문제가 없다. 즉, 클럭의 차이에 따른 동기 이탈을 방지하기 위해, 15 프레임을 반복, 누락시킴에 따라 데이터 내용이 다소 변질될 수는 있으나, 이는 동기 이탈에 따른 데이터 손실과 비교하면 감수할 만한 수준의 것이다.
기존의 탄성 버퍼(elastic buffer)는 일반 피포(First In First Out; FIFO) 구조를 가지고 있어, 풀(Full)이나 엠티(Empty)가 되어 탄성 버퍼를 클리어(clear)할 경우, 프레임 동기를 다시 설정하기 위한 과정이 필요하다. 이를 위해서는 FSW를 약 수백 비트 스캔(scan)하면서 찾아야 했다. 프레임 동기를 다시 잡는 시간 동안인 수백 개의 프레임 시간 동안은 프레임이 맞지 않아 데이터 오류가 심하게 발생했다. 따라서 프레임 동기를 잃었을 경우 집중 에러(burst error)가 발생했다.
도 2는 본 발명의 실시예에 의한 탄성 버퍼의 블록도를 도시하고 있다.
상기 탄성 버퍼는 각 노드에 설치되어 이를 거쳐 데이터가 수신된다.
바람직한 실시예에서 탄성 버퍼는 피포(First In First Out; FIFO) 메모리부(100), 리드 어드레스(Read Address) 증가부(200) 및 라이트 어드레스(Write Address) 증가부(300)를 포함한다.
상기 리드 어드레스 증가부(200)는 제 1 래치(210), 제 2 래치(220), 어드레스 비교기(230), 다음 리드 어드레스 연산 회로(240) 및 모듈로 960 연산 회로(250)를 포함한다.
또한 상기 라이트 어드레스 증가부(300)는 제 3 래치(310), +1 연산회로(320), 모듈로 960 연산 회로(330)를 포함한다.
리드 어드레스 증가부(200) 및 라이트 어드레스 증가부(300)는 리드 신호 및 라이트 신호의 인가에 따라 각각의 어드레스를 증가시키는 기능을 한다.
각 구성요소의 세부적인 기능은 다음과 같다.
본 발명의 실시예에서 피포 메모리부(100)는 읽고 쓰는 경로가 각기 다른 듀얼 포트(Dual Port) RAM(Random Access Memory)으로 구성하였다. 라이트 신호에 의해 라이트 어드레스에 데이터를 입력하고, 리드 신호에 의해 리드 어드레스에서 데이터를 출력한다.
라이트(Wr) 신호는 RAM에 데이터를 쓰는 명령 신호이다. 다음 라이트 어드레스(Wr Address)를 래치(latch)하는 용도로도 쓰인다.
리드(Rd) 신호는 RAM의 데이터를 읽는 명령 신호이다. 다음 리드 어드레스(Rd Address)를 래치하고, 현재의 라이트 어드레스를 래치할 때 사용된다.
제 1 래치(210)는 다음 리드 어드레스를 래치하여 저장하고 출력하기 위한 메모리이다. 리셋(Reset)시 0의 값을 갖는다고 가정한다.
제 2 래치(220)는 라이트 어드레스를 리드 신호로 래치하여 라이트 어드레스를 저장하고 출력하는 메모리이다. 리셋시 3의 값을 갖는다고 가정한다.
제 3 래치(310)는 다음 라이트 어드레스를 래치하여 저장하고 출력하기 위한 메모리이다. 리셋시 3의 값을 갖는다.
+1 연산회로(320)는 리드 어드레스를 1 증가시키기 위한 연산 회로이다.
어드레스 비교기(230)는 리드 어드레스와 제 2 래치(220)에 저장된 라이트 어드레스를 비교하는 연산 회로이다. 리드 어드레스와 라이트 어드레스를 비교하여 큰 값에서 작은 값을 빼 그 차가 -2~+2의 범위인 경우와 이외의 경우를 판단한다.
다음 리드 어드레스는 어드레스 비교기(230)에서 비교 결과, -2~+2일 경우에는 다음 리드 어드레스를 '현재의 리드 어드레스+481'로 계산하고, 이외의 경우에는 '현재의 리드 어드레스+1'로 계산한다. 다음 리드 어드레스의 값은 다음 번 라이트 신호에 의해 제 1 래치(210)에 저장되고 출력된다.
모듈로 960 연산회로(250, 330)는 960보다 큰 값(또는 0보다 작은 값)을 0~959 사이의 값으로 바꾸어 주는 연산회로이다. 궁극적으로 리드 어드레스와 라이트 어드레스 값이 0~959 사이에서 변화하도록 억제한다.
탄성 버퍼의 동작은 다음과 같다.
도 2에서 초기에 제 1 래치(210)는 리드 어드레스로 '0'을 저장하고, 제 3 래치(310)는 라이트 어드레스로 '3'을 저장하고 있으며, 제 2 래치(220)도 '3'을 저장하고 있다. 제 1 래치(210)의 출력과 제 2 래치(220)의 출력은 각각 초기에 '0'과 '3'으로 설정되었으므로, 어드레스 비교기는 '이외'로 판단 결과를 출력한다. 다음 라이트 어드레스 연산회로(240)는 '이외'의 출력에 의해 다음 라이트 어드레스를 '라이트 어드레스+1(=3+1=4)'로 계산한다.
초기에는 RAM에 일정 수준 이상의 입력 데이터를 저장하기 위해 라이트 신호만이 들어온다. 초기에 약 256비트의 입력 데이터를 저장한다고 하면 라이트 어드레스는 4에서 258까지 매 라이트 신호에 의해 점진적으로 증가하게 된다. 256비트 입력 시간이 경과한 후, 리드 신호가 입력된다. 그 동안은 리드 신호가 없었으므로, 리드 어드레스는 증가하지 않고 0인 상태로 있었으며, 이후에는 리드 신호에 의해 리드 어드레스도 라이트 어드레스처럼 점진적으로 증가한다. 리드 신호 1번에 대해 라이트 신호도 1회씩 규칙적으로 입력되면, 라이트 어드레스와 리드 어드레스는 일정한 간격(약 256)이 유지된다. 이 때, 어드레스 비교기(230)는 '이외'만을 출력한다.
그러나, 리드 신호와 라이트 신호의 주기가 각각 다르면 라이트 어드레스와 리드 어드레스의 간격에는 변화가 생기고 '라이트 어드레스 - 리드 어드레스 = 0, +1, +2, -1, -2' 등이 되는 경우가 발생하게 된다. 이와 같은 경우 다음 리드 어드레스를 +1이 아닌 +481만큼 증가하도록 어드레스를 제어한다. 다음 리드 어드레스가 +481만큼 점프하여 증가하면, 1개의 슈퍼 프레임을 건너뛴 리드 어드레스의 데이터를 읽게 되는 것으로, 정확히 1개의 슈퍼 프레임 분량의 데이터를 반복 송신하거나 손실 처리하는 것이 된다. 이후에는 다시 정상적인 슈퍼 프레임이 송신된다. 어드레스의 점프 시점이 정확히 슈퍼 프레임의 시작점이거나 끝점이어야 할 필요는 없다. 비록, 슈퍼 프레임 중간의 어느 지점에서 점프하더라도, 이전의 혹은 이후의 슈퍼 프레임의 바로 그 지점으로 점프하므로 2개의 불완전한 슈퍼 프레임이 합쳐져 완전한 480비트의 슈퍼 프레임을 유지하게 된다. '라이트 어드레스 - 리드 어드레스 = +1 혹은 -1' 만을 고려하지 않고, +2, -2 등도 고려한 것은 안전 설계를 목적으로 한 것이다. 즉 지터(클럭의 흔들림)에 의해 라이트 신호 1 주기 내에 2~3개의 리드 신호가 발생하거나, 반대의 경우가 발생하는 경우를 대비한 것이다. 상기 범위는 탄성 버퍼의 동작 환경에 따라 적절한 범위로 설정할 수 있다.
도 3은 본 발명의 실시예에 의한 탄성 버퍼가 엠티(empty)나 풀(full)의 상황일 경우의 동작을 도시하고 있다.
도 3a는 탄성 버퍼가 엠티일 경우를 나타낸다.
탄성 버퍼에는 제 1 및 제 2 슈퍼 프레임의 데이터가 저장되어 있다.
라이트 어드레스는 제 2 슈퍼 프레임의 마지막 어드레스에 위치하고 있어 제 3 슈퍼 프레임의 데이터를 제 1 슈퍼 프레임의 데이터가 쓰여진 위치에 겹쳐 쓰려고 하는 상태이다. 그러나, 리드 신호의 주기가 라이트 신호의 주기보다 빨라 리드 어드레스가 라이트 어드레스와 근소한 차이로 떨어져 있어 제 2 슈퍼 프레임의 데이터가 거의 다 읽힌 상태이다. 만약 리드 어드레스를 제어하지 않는다면, 시간이 좀 더 흐를 경우 리드 어드레스가 라이트 어드레스를 앞질러 제 1 슈퍼 프레임의 데이터를 읽게 될 것이다.
본 발명의 실시예에 의하면 이러한 상황에서 리드 어드레스의 위치를 슈퍼 프레임의 크기인 480비트만큼 이동시켜 다시 제 2 슈퍼 프레임의 데이터를 읽게 된다. 제 2 슈퍼 프레임의 데이터는 반복해서 출력되지만 프레임 동기는 유지된다.
도 3b는 탄성 버퍼가 풀(full)일 경우를 나타낸다.
탄성 버퍼에는 제 1 슈퍼 프레임 및 제 0 및 제 2 슈퍼 프레임 일부의 데이터가 저장되어 있다.
제 0 슈퍼 프레임의 데이터가 쓰여졌던 위치에 제 2 슈퍼 프레임의 데이터를 거의 다 겹쳐 쓴 상태이고, 리드 어드레스는 제 0 슈퍼 프레임의 마지막 어드레스에 위치하고 있어 막 제 1 슈퍼 프레임의 데이터를 읽으려고 하는 상태이다. 만약 리드 어드레스를 제어하지 않는다면 라이트 신호의 주기가 리드 신호의 주기보다 빨라 라이트 어드레스가 리드 어드레스와 근소한 차이로 떨어져 있어 시간이 좀 더 흐를 경우 라이트 어드레스가 리드 어드레스를 앞지르게 된다. 따라서 제 1 슈퍼 프레임 위에 제 3 슈퍼 프레임의 데이터를 겹쳐 쓰게 되어 제 1 슈퍼 프레임 대신 제 3 슈퍼 프레임을 읽게 된다.
본 발명의 실시예에 의하면 이러한 상황에서 리드 어드레스의 위치를 슈퍼 프레임의 크기인 480비트만큼 이동시켜 제 1 슈퍼 프레임을 건너 뛰어 제 2 슈퍼 프레임의 데이터를 읽게 된다. 제 1 슈퍼 프레임의 데이터는 누락되지만 그 이후의 데이터는 정상적으로 프레임 동기를 유지하게 된다.
상술한 실시예의 탄성 버퍼는 리드 어드레스를 이동시키는 방안을 제시하였지만 이와는 반대로 라이트 어드레스를 이동시켜도 동일한 결과를 얻을 수 있다. 이 경우 도 2의 블록도에서 '리드'와 '라이트'를 서로 바꾸어 주면 이에 해당하는 블록도를 구성할 수 있다는 것을 당업계의 통상의 지식을 가진 당업자라면 알 수 있다.
도 4는 종래 방식과 본 발명에 의한 개선 방식에서 에러 구간과 에러 구간의 반복 주기를 나타낸다.
도 4a는 종래 방식의 경우 에러 구간을 도시하고 있다.
종래 방식의 경우, 두 노드간 클럭 편차가 10-5(1MHz 기준일 때 10Hz)으로 일정하다고 가정하면, 두 노드간에 데이터 송수신시에 매초 약 10비트씩 클럭 차이가 발생하고, 탄성 버퍼의 허용 용량이 채워지는 시간 이후에는 탄성 버퍼를 클리어하여야 하며, 그 때 노드간 링크는 FSW를 다시 검출해 채널의 타임 슬롯(time slot)을 정렬하여야 한다.
FSW 재동기와 CCS(Common Chanel Signaling) 채널의 BCH(Bose-Chaudhuri-Hocquenghem) 블록 동기를 맞추기 위해 소요되는 시간을 알기 위해, 두 노드간 클럭 편차를 인위적으로 가한 후, 노드에서 CCS 채널을 이용하여 BER(Bit Error Ratio) 성능을 측정한다. CCS는 디지털로 다중화한 신호를 사용하면서, 타임 슬롯에 번호와 이름을 붙여 모든 채널이 시그널링(통화를 연결하거나 끊는 등의 신호 처리)을 위해 쓰는 공통의 채널이다. BCH는 부호화하는 방법의 하나로, 본래 크기의 메시지에 데이터를 부가하여 전송로 상에서 오류가 발생했는지 여부를 구분해내고, 부분적으로 오류를 복구한다. BCH는 블록으로 구분되는데 그 위치를 정확히 인식하는 것이 BCH 블록 동기이다.
탄성 버퍼가 512 비트인 경우, BER 측정 결과로부터 유추한 결과, FSW 동기와 BCH 블록 동기를 위한 전체 재동기에 소요되는 시간은 약 20㎳ 정도로 추정되었다. 즉, 클럭 편차에 따른 버퍼 클리어시 재동기를 위해서는 매번 약 20,000비트(=0.02[sec]*1,000,000[bps])의 데이터가 손실된다고 할 수 있다.
버퍼의 용량이 1000비트라면, 버퍼 용량의 절반인 500비트가 채워지는 50초마다 버퍼를 클리어하여 20,000비트를 오류 데이터로 채운다. 오류 데이터의 절반은 우연히 맞을 수도 있으므로, 10,000비트가 오류가 된다. 50초간의 전송 데이터 50메가비트(Mbit) 중 10,000비트는 오류이므로 BER은 2.0*10-4(10,000/50*106) 정도를 예상할 수 있다.
탄성 버퍼가 512비트로 현재 가정하는 버퍼 1000비트의 절반 정도이므로, 버퍼 클리어 주기가 약 절반이 되고 오류는 2배 정도 발생하여 BER은 4.0*10-4 정도로 나타난다.
도 4b는 본 발명의 실시예에 의한 에러 구간을 도시하고 있다.
앞에서와 동일한 조건으로 두 노드간 클럭의 차이가 10-5이면, 매초 10비트씩 차이가 누적되고, 480비트가 누적되는 48초가 경과할 때마다 1 슈퍼 프레임(15 프레임=480비트)의 데이터를 반복 송신되거나 누락된다. 프레임 동기는 유지되는 상태이므로 CCS 채널의 BCH 블록 동기만 맞추면 되는데, BCH 동기에 필요한 시간을 3㎳로 추정하면 3000비트(=0.003[sec]*1,000,000[bps])의 데이터가 손실될 것이며, 그 중 절반인 1,500비트 데이터는 오류로 볼 수 있다.
본 발명의 실시예에서는, 48초동안 전송한 데이터 48메가비트(Mbit) 중 1,500비트가 오류가 되므로 BER은 3.1*10-5이 되어, 유사한 버퍼 용량을 갖는 기존 방식의 1000비트 탄성 버퍼를 사용한 경우의 BER 2.0*10-4보다 나은 BER 성능을 갖는다는 것을 알 수 있다.
기존 방식의 BER 성능과 본 발명의 실시예에 의한 BER 성능을 비교하여 본 발명의 실시예에 의한 탄성 버퍼를 사용할 때 성능 개선의 면을 살펴보면 다음과 같다.
도 5는 종래 방식과 본 발명의 실시예에 의한 개선 방식의 BER 성능을 비교한 그래프이다.
그래프 상의 점선은 종래 방식의 경우 클럭 편차에 따른 BER을 나타내고, 실선은 개선 방식의 경우 클럭 편차에 따른 BER을 나타낸다.
종래 방식의 경우 탄성 버퍼의 크기를 1000비트로 환산하여, 버퍼 클리어시 20㎳ 동안 데이터가 손실되는 경우의 BER을 나타낸 것이고 개선 방식의 경우 버퍼 클리어시 3㎳의 데이터 손실에 따른 BER 곡선을 나타낸다.
점 A는 BER=2.0*10-4이고 점 B는 BER=3.1*10-5을 나타낸다. 따라서, 개선 방식의 경우 유사한 버퍼 용량을 갖는 기존의 방식보다 약 1/7 정도 오류가 줄어, 좋은 BER 성능을 갖는다는 것을 알 수 있다.
이러한 개선된 탄성 버퍼 설계 기술을 사용하고, 프레임 내의 데이터 채널에서 데이터의 수신 형태를 잘 관찰함으로써, 양 노드간 클럭 편차를 측정할 수 있다.
도 6은 클럭 편차를 측정하기 위한 프레임의 누락, 반복 검출 구성도를 도시하고 있다.
두 노드간 통화 채널을 개설하고, 수신단에서 알고 있는 데이터 패턴을 송신단에서 송신하면 패턴 중 15비트가 반복 송신되거나, 누락되는 시점을 찾을 수 있다. 1 사용자의 통화 채널은 1 프레임 내에 1비트이므로 슈퍼 프레임을 구성하는 15 프레임이 누락되거나 반복될 경우 FSW와 마찬가지로 통화채널도 15비트가 누락, 반복된다. 15비트가 반복 송신되는 주기나, 누락되는 주기를 기록하면 두 노드간의 클럭 차이를 측정할 수 있다.
도 6의 15비트 누락, 반복 검출 구성도에서 수신단 측에는 45비트 저장 용량의 메모리(600)로 데이터를 출력하는 시퀀스 발생회로(500)가 설치되어 있다.
상기 시퀀스 발생회로(500)는 적어도 5단 이상의 레지스터(510)를 구비하는 것이 바람직하고 XOR(exclusive OR) 연산에 의해 시퀀스를 발생시킨다. 상기 메모리(600)는 각각 15비트의 크기를 가진 제 1 메모리부(610), 제 2 메모리부(620) 및 제 3 메모리부(630)를 포함한다. 시퀀스 발생회로(500)에서 발생된 데이터는 제 1 메모리부(610)로부터 제 3 메모리부630)로 순차적으로 이동하면서 저장된다.
수신단의 시퀀스 발생회로(500)는, 송신단으로부터 수신된 데이터와 수신단의 메모리(600)에 저장된 데이터를 비교하여 제 2 메모리부(620)의 15비트와 동일한 패턴이 일치할 때까지 클럭을 조절하여, 송신단의 시퀀스 발생회로(700)보다 15비트 빠르게 동기를 맞춘다.
따라서, 제 2 메모리부(620)에 현재 수신되는 데이터와 동일한 데이터가 저장될 때 제 3 메모리부(630)에는 과거 데이터, 제 1 메모리부(610)에는 미래 데이터가 저장된다. 매 15비트마다 비교 결과를 누적하여 보면 정상인 경우에는 제 2 메모리부(620)의 15비트와 수신 15비트가 서로 지속적으로 일치하며, 15비트가 갑자기 누락되면, 제 1 메모리부(610)의 15비트와 일치하게 되고, 직전의 15비트가 반복되면 제 3 메모리부(630)의 15비트와 일치하게 된다.
일단 15비트의 반복, 누락이 검출되면 검출된 시기를 기록하고, 시퀀스 발생회로(500)의 클럭을 조절하여 다시 수신 데이터와 제 2 메모리부(620)의 15비트가 일치하도록 조정한다. 즉, 앞의 예에서 매 48초마다 15비트가 반복, 누락된 것이 검출되면, 클럭 편차는 10-5이며, 매 24초마다 15비트가 반복, 누락된 것이 검출되면, 클럭 편차는 2*10-5이다. 즉, 검출주기와 클럭 편차는 반비례 관계이다.
순환반복코드(Cyclic Permutable Codeword; 이하 CPC) 검출 기능을 사용한 15비트 누락/반복 검출도 가능하다. CPC는 8비트를 반복하여 전송한다. 송신측에서는 수신측에서 CPC를 검출할 수 있는 최소한의 반복횟수로 제한하여 송신하고, '0','1'...'9' 등 규칙적인 CPC를 반복 송신하면 수신단에서 CPC 검출에 누락된 CPC가 인식되거나, CPC 검출 주기가 일시적으로 불규칙한 경우, 예컨데 0.48㎳ 지연된 경우 15비트의 반복, 누락으로 판단할 수 있다.
원격으로 클럭의 상대적 안정도를 측정하는 것은 측정의 편리함 외에도 망 동기 관리를 위하여 중요하다.
상기한 설명에 많은 사항이 구체적으로 기재되어 있으나 그들은 발명의 범위를 한정하는 것이 아니라 바람직한 실시예로서 해석되어야 한다. 따라서 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위에 균등한 것에 의하여 정하여져야 한다.
본 발명의 실시예에 의하면 다음과 같은 효과를 얻을 수 있다.
첫째, 클럭 품질이 열악한 상황에서도 프레임 동기를 유지하여 데이터 손실을 최소화한다.
둘째, 읽고 쓰는 어드레스 제어 알고리즘이 비교적 간단하여 회로 설계의 부담이 적다.
셋째, 15비트 누락, 반복 여부를 검출하는 시퀀스 발생회로로 송수신 노드간 클럭 차이를 원격으로 측정하는 것이 가능하다.
도 1은 프레임과 슈퍼 프레임의 구조를 나타낸 도면.
도 2는 본 발명의 실시예에 의한 탄성 버퍼의 구성을 도시한 블록도.
도 3은 본 발명의 실시예에 의한 탄성 버퍼의 동작을 도시한 도면.
도 4는 종래 방식과 본 발명의 실시예에 의한 에러 구간을 비교한 도면.
도 5는 종래 방식과 본 발명의 실시예에 의한 BER 성능을 비교한 그래프.
도 6은 본 발명의 실시예에 의한 15비트 누락, 반복 검출 방법을 도시한 블록도.
*** 도면의 주요 부분에 대한 부호의 설명 ***
100: 피포메모리부 200: 리드어드레스증가부
210: 제1래치 220: 제2래치
230: 어드레스비교기 240: 다음리드어드레스연산회로
250,330: 모듈로960연산회로 300: 라이트어드레스증가부
310: 제3래치 320: +1연산회로
500,700: 시퀀스발생회로 510: 레지스터
600: 메모리 610: 제1메모리부
620: 제2메모리부 630: 제3메모리부

Claims (8)

  1. 라이트 신호의 인가에 따라 라이트 어드레스에 데이터를 입력하며 리드 신호의 인가에 따라 리드 어드레스의 데이터를 출력하고, 두 슈퍼 프레임 크기의 정수배의 저장 용량을 갖는 피포 메모리부;
    상기 라이트 신호의 인가에 따라 상기 라이트 어드레스를 1씩 증가시키는 라이트 어드레스 증가부; 및
    상기 리드 신호의 인가에 따라 상기 리드 어드레스를 1씩 증가시키는 리드 어드레스 증가부를 포함하며,
    상기 라이트 어드레스 증가부 및 상기 리드 어드레스 증가부 중 어느 하나는 상기 피포 메모리부의 데이터가 엠티나 풀 직전일 경우 상기 피포 메모리부 크기의 절반에 해당하는 크기만큼 라이트 어드레스 또는 리드 어드레스를 이동시키는 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼.
  2. 제 1 항에 있어서, 상기 피포 메모리부의 저장 용량은 960비트의 정수배인 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼.
  3. 제 1 항에 있어서, 상기 라이트 어드레스 증가부 및 상기 리드 어드레스 증가부는 라이트 어드레스 및 리드 어드레스가 항상 상기 피포 메모리부 내의 어드레스를 나타내도록 모듈로 960의 정수배 연산을 수행하는 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼.
  4. 제 1 항에 있어서, 상기 라이트 어드레스 증가부는 라이트 신호가 인가될 때까지 라이트 어드레스를 저장하는 제 1 래치를 포함하고, 상기 리드 어드레스 증가부는 리드 신호가 인가될 때까지 리드 어드레스를 저장하는 제 2 래치를 포함하는 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼.
  5. 제 1 항에 있어서, 상기 리드 어드레스와 상기 라이트 어드레스를 비교하여 양 어드레스의 차를 계산하고, 양 어드레스의 차가 -2 내지 2의 범위이면 상기 피포 메모리부 크기의 절반에 해당하는 크기만큼 라이트 어드레스 또는 리드 어드레스를 이동시키는 것을 특징으로 하는 프레임 동기를 유지하는 탄성 버퍼.
  6. 송신단에서 수신 단말이 알고 있는 시퀀스 데이터를 발생하여 제 1항의 탄성 버퍼를 구비하는 수신 노드로 송신하는 단계;
    상기 수신 노드에 연결된 수신 단말의 시퀀스 발생회로에서 상기 송신단에서 송신한 데이터와 동일한 데이터를 15비트 빠르게 자체 발생하는 단계;
    상기 수신 단말에서 자체 발생시킨 데이터와 상기 송신단으로부터 수신된 데이터를 비교하여 프레임의 누락 또는 반복을 검출하는 단계를 포함하는 노드간 클럭 편차 검출 방법.
  7. 8비트의 순환반복코드를 제 1 항의 탄성 버퍼를 구비한 수신단으로 반복하여 전송하는 단계; 및
    수신단에서 상기 순환반복코드의 주기를 검출하여 일시적으로 불규칙한 경우 프레임의 누락 또는 반복으로 판단하는 노드간 클럭 편차 검출 방법.
  8. 제 7 항에 있어서, 상기 순환반복코드의 주기가 0.48㎳ 지연될 경우 15비트의 누락 또는 반복으로 판단하는 노드간 클럭 편차 검출 방법.
KR10-2002-0064316A 2002-10-21 2002-10-21 프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법 KR100523546B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0064316A KR100523546B1 (ko) 2002-10-21 2002-10-21 프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0064316A KR100523546B1 (ko) 2002-10-21 2002-10-21 프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법

Publications (2)

Publication Number Publication Date
KR20040034225A KR20040034225A (ko) 2004-04-28
KR100523546B1 true KR100523546B1 (ko) 2005-10-25

Family

ID=37333587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0064316A KR100523546B1 (ko) 2002-10-21 2002-10-21 프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법

Country Status (1)

Country Link
KR (1) KR100523546B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100853170B1 (ko) 2006-04-29 2008-08-20 주식회사 잉크테크 고광택 알루미늄휠의 제조방법
CN111400205B (zh) * 2020-02-29 2022-05-24 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN114090494B (zh) * 2021-11-29 2024-04-05 海光信息技术股份有限公司 数据传输方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980082975A (ko) * 1997-05-10 1998-12-05 김영환 가변프레임 구조를 가지는 디지털 통신시스템에서의 다중화 및 역다중화장치
KR20000016241A (ko) * 1997-04-02 2000-03-25 러셀 비. 밀러 기준 클록 신호를 가지는 네트워크로 데이터를 동기적으로 전송하기 위한 방법 및 시스템
KR20000039904A (ko) * 1998-12-16 2000-07-05 서평원 광대역 통신 단말 장치에서 데이터의 버퍼링 방법
KR20020046461A (ko) * 2000-12-14 2002-06-21 오길록 넘침 방지 기능을 가지는 버퍼 제어 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000016241A (ko) * 1997-04-02 2000-03-25 러셀 비. 밀러 기준 클록 신호를 가지는 네트워크로 데이터를 동기적으로 전송하기 위한 방법 및 시스템
KR19980082975A (ko) * 1997-05-10 1998-12-05 김영환 가변프레임 구조를 가지는 디지털 통신시스템에서의 다중화 및 역다중화장치
KR20000039904A (ko) * 1998-12-16 2000-07-05 서평원 광대역 통신 단말 장치에서 데이터의 버퍼링 방법
KR20020046461A (ko) * 2000-12-14 2002-06-21 오길록 넘침 방지 기능을 가지는 버퍼 제어 장치 및 방법

Also Published As

Publication number Publication date
KR20040034225A (ko) 2004-04-28

Similar Documents

Publication Publication Date Title
JP4528010B2 (ja) ビデオ同期
US5570370A (en) Frame timing acquisition method and system for cordless TDMA systems
US6983403B2 (en) Detecting bit errors in a communications system
JPH07505274A (ja) データ送信,特にビデオ送信時の反復的情報ブロックに対するバッファ割当て
US20010008001A1 (en) Switching system and scramble control method
JPWO2002056513A1 (ja) パスエラー監視方法及びその装置
US6400785B1 (en) Signal resynchronization apparatus having capability to avoid data corruption
JP2933479B2 (ja) デジタル信号伝送装置
KR100523546B1 (ko) 프레임 동기를 유지하는 탄성버퍼 및 이를 이용한 노드간클럭 편차 검출 방법
JP2008034905A (ja) デジタル伝送装置及び方法
US6959011B2 (en) Data transmission and reception system, data transmitter and data receiver
NL9102157A (nl) Systeem voor het met een eerste codeerapparaat coderen van aangeboden data en voor het met een tweede codeerapparaat decoderen van gecodeerde data, en codeerapparaat voor toepassing in het systeem.
JP4183535B2 (ja) フレーム信号の速度変換処理を行なう光信号伝送装置
JPS6359621B2 (ko)
JP3920261B2 (ja) フレーム同期装置および光送受信器
US6577647B1 (en) Synchronization system and method, and recording medium
US20030235215A1 (en) Apparatus and method for aggregation and transportation for plesiosynchronous framing oriented data formats
JPH08331114A (ja) 相関ピーク判定回路
JP3225059B2 (ja) 符号誤り検出装置
JP2952051B2 (ja) Atmにおけるセル同期演算回路
JPH05327670A (ja) 切替型スペースダイバーシティディジタル無線通信の伝搬時間差補正回路
KR100408077B1 (ko) 내장형 시험 패턴 장치를 구비한 티-3급 채널 서비스 유니트
JP2006013642A (ja) 無瞬断切替システム及びそれに用いる端局装置
JP4712233B2 (ja) 伝送装置
JP2001230763A (ja) 誤同期警告装置

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: 20120927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141006

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee