KR20050060766A - 멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법 - Google Patents

멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법 Download PDF

Info

Publication number
KR20050060766A
KR20050060766A KR1020030092484A KR20030092484A KR20050060766A KR 20050060766 A KR20050060766 A KR 20050060766A KR 1020030092484 A KR1020030092484 A KR 1020030092484A KR 20030092484 A KR20030092484 A KR 20030092484A KR 20050060766 A KR20050060766 A KR 20050060766A
Authority
KR
South Korea
Prior art keywords
bus
signal
board
hdlc
slave
Prior art date
Application number
KR1020030092484A
Other languages
English (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 KR1020030092484A priority Critical patent/KR20050060766A/ko
Publication of KR20050060766A publication Critical patent/KR20050060766A/ko

Links

Classifications

    • 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/40Bus networks
    • H04L12/40169Flexible bus arrangements

Abstract

본 발명은 에이치디엘씨(HDLC) 버스 사용시 비정상으로 버스를 점유하고 있는 특정 블록의 에러 검출 및 복구 방법에 관한 것이다. 본 발명에 따른 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법은, 하나의 마스터 보드(master board)와 다수의 슬레이브 보드(slave board)를 연결하는 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법에 있어서, 각 슬레이브 보드가 BUSY(버스 점유) 신호를 이용하여 일정 시간 이상으로 버스를 점유하고 있는지 체킹하여 비정상 동작하면 강제적으로 버스 점유를 해지하기 위해 BUSY 신호 및 CTS 신호를 High상태로 천이하는 제1단계; 버스의 비정상 동작을 복구하기 위해 상기 슬레이브 보드가 HDLC FPGA 로직을 리셋(reset)하고, 인터럽트를 발생시켜 해당 자원(FCC 또는 SCC)의 드라이버를 초기화하는 제2단계; 상기 버스의 비정상 동작이 지속될 경우 상기 슬레이브 보드는 버스 점유를 하지 못하도록 REQ 신호 및 BUSY 신호를 강제적으로 High 상태로 만들고, 오류 비트를 1로 세팅하여 상기 마스터 보드로 전송하는 제3단계를 포함하는 것을 특징으로 한다.

Description

멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법{Method of error detection and restoration in multi-point type HDLC bus}
본 발명은 에이치디엘씨(HDLC) 버스 사용시 비정상으로 버스를 점유하고 있는 특정 블록의 에러 검출 및 복구 방법에 관한 것이다.
일반적인 이동통신 시스템에서는 멀티 포인트(Multipoint) 방식의 HDLC(High-Level Data Link Control, 이하 HDLC라 칭함) 버스를 많이 사용하고 있다. 즉, HDLC 통신시 하나의 마스터 보드(master board)와 여러 개의 슬레이브 보드(slave board)로 구성된다. 마스터 보드에서는 다수의 슬레이브 브록의 버스 사용 요구(Request)를 받아 버스 사용 권한을 주는 중재(Arbitration) 역할을 한다. 슬레이브 보드는 마스터 보드에게 버스 사용 권한(Ack)를 받을때까지 버스 사용요구(Request)를 계속하고, 자신이 버스를 점유했을 때, 마스터 보드와 데이터를 송수신하게 된다.
멀티 포인트 방식은 M-LVDS(EIA/TIA899) 칩(chip)을 사용하여 데이터와 클럭(clock)을 송수신할 수 있도록 구현된다. 먼저 HDLC 버스 동작이 어떻게 이루어지는지 살펴보면 다음과 같다.
다수개(#1~#n)의 슬레이브 보드들은 전송할 데이터가 존재하면 RTS(Ready To Send) 신호를 Active Low 상태로 천이시키고, 이 RTS 신호를 FPGA 로직(logic)을 사용하여 REQ(request) 신호를 생성한다.
이 REQ 신호를 마스터 보드쪽으로 전송하면 마스터 보드는 BUSY(버스 점유상태) 신호를 리드(read)하여 다른 슬레이브 보드가 버스를 점유하고 있는지 체킹한다. 만약 다른 슬레이브 보드가 HDLC 버스를 점유하고 있지 않다면, 마스터 보드에서는 해당 슬레이브 보드로 ACK(Acknowlege) 신호를 Active Low 상태로 천이시키고, 해당 슬레이브 보드로 전송한다. 해당 슬레이브 보드에서 ACK 신호를 받으면 REQ 신호를 High 상태로 천이시키고, 버스를 BUSY(Active Low) 상태로 천이시켜 버스를 점유하고 있음을 마스터 보드로 전송한다.
버스를 점유한 해당 슬레이브 보드는 CTS(Clear To Send) 신호를 Active Low 상태로 천이시켜 데이터와 클럭을 전송한다.
데이터가 전송이 끝나면 해당 슬레이브 보드는 RTS 신호를 High 상태로 천이시켜 데이터 전송이 끝났음을 알리고, CTS 신호도 High 상태로 천이시킨다. 마지막으로 해당 슬레이브 보드는 버스를 점유를 해제하기 위해 BUSY 신호를 High 상태로 천이시킨 후 마스터 보드쪽으로 전송한다.
마스터 보드쪽에서는 BUSY 신호를 리드(read)하여 버스 점유가 끝났음을 인식하고, 토큰 링 방식을 사용하여 다른 슬레이브 보드로부터 REQ(Request)가 있는지 확인하여 위의 절차를 반복한다.
이렇게 함으로써 여러 슬레이브 보드들이 데이터 충돌없이 HDLC 버스를 사용할 수 있도록 한다. 상기한 바와 같은 방식으로 동작하는 HDLC 버스는 애플리케이션(application) 쪽에서 시스템 구간별로 3초마다 한 번씩 특정 패턴을 주고 받아 HDLC 통신이 되는지 체킹하여 3번 동안 응답이 없을 때 그 구간에 오류(fault)가 발생한 것으로 인지하여 조치를 취한다.
종래 HDLC 버스에서는 시스템 구간별로 애플리케이션 쪽에서 소프트웨어적으로 버스의 오류 체크를 하기 때문에 모든 슬레이브 보드들에 대해서는 오류 체크를 하기가 어렵다. 즉, 구간별로는 오류 체크가 가능하지만 그 구간 안에 존재하는 특정 슬레이브 보드의 오류는는 찾기 어렵고, 3초마다 한번씩 계속 소프트웨어적으로 폴링(Polling)하여 오류 체크를 해야 되기 때문에 시스템 부하가 증가할 수 있다.
예를 들어 다수의 슬레이브 보드들 중 CPU, FPGA 등의 문제가 생겨 특정 슬레이브 보드가 버스를 계속 점유하는 경우(BUSY 신호 Active Low 상태) 어느 슬레이브 보드가 버스를 비이상적으로 점유하고 있는지에 대한 오류 체크가 어렵고, 또한 다른 슬레이브 보드로 버스 점유권을 넘기지 못해 하나의 보드로 인해 시스템 전체적으로 HDLC 통신을 하지 못하는 경우가 발생하는 문제점이 있다.
본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 마스터 보드와 HDLC 통신하는 모든 슬레이브 보드에 대해 오류 체크가 가능하고, 오류 체크로 인한 시스템의 부하를 줄일 수 있으며, 마스터 보드와 슬레이브 보드 양쪽 모두에서 오류를 검출하고 복구할 수 있는 방법을 제공하는 것이다.
발명의 개요
본 발명에 따른 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법은, 하나의 마스터 보드(master board)와 다수의 슬레이브 보드(slave board)를 연결하는 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법에 있어서, 각 슬레이브 보드가 BUSY(버스 점유) 신호를 이용하여 일정 시간 이상으로 버스를 점유하고 있는지 체킹하여 비정상 동작하면 강제적으로 버스 점유를 해지하기 위해 BUSY 신호 및 CTS 신호를 High상태로 천이하는 제1단계; 버스의 비정상 동작을 복구하기 위해 상기 슬레이브 보드가 HDLC FPGA 로직을 리셋(reset)하고, 인터럽트를 발생시켜 해당 자원(FCC 또는 SCC)의 드라이버를 초기화하는 제2단계; 상기 버스의 비정상 동작이 지속될 경우 상기 슬레이브 보드는 버스 점유를 하지 못하도록 REQ 신호 및 BUSY 신호를 강제적으로 High 상태로 만들고, 오류 비트를 1로 세팅하여 상기 마스터 보드로 전송하는 제3단계를 포함하는 것을 특징으로 한다.
본 발명에 있어서는, 상기 마스터 보드는 상기 슬레이브 보드로부터 오는 BUSY 신호를 이용하여 일정 시간 이상으로 버스를 점유하고 있는지 카운팅하여 오류를 체킹하는 단계; 및 상기 슬레이브 보드로부터 입력된 오류 신호와 상기 마스터 보드에서 체킹한 오류 신호를 OR하여 상위 애플리케이션(Application)으로 보고하는 단계를 추가적으로 포함할 수 있다.
실시예
이하에서 첨부된 도면을 참조하여 설명되는 바람직한 일 실시예에 의해 본 발명에 따른 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법의 구성, 작용, 효과 및 다른 특징들이 명확해질 것이다. 도1은 본 발명의 일 실시예에 있어서 각 슬레이브 보드에서의 에러 검출 및 복구 과정을 설명하기 위한 플로우챠트이고, 도2는 마스터 보드에서의 에러 검출 및 복구 과정을 설명하기 위한 플로우챠트이다.
본 발명은 HDLC을 통신하기 위해 중재(arbitration) 역할을 하는 하나의 마스터 보드와 다수의의(#1 ~ #n) 슬레이브 보드로 구성된다. 특히 멀티포인트 HDLC 버스는 하나의 마스터 보드에 여러 슬레이브 보드가 하나의 버스를 사용하기 때문에 비정상적인 버스 상태가 되면 해당 보드의 에러 체크 및 복구가 이루어져야 한다.
도3을 참조하여 본 실시예에 있어서의 각 슬레이브 보드에서 에러 체크 및 복구 방법에 대해 설명하도록 한다.
각 슬레이브 보드는 보낼 데이터가 존재하면 RTS 신호를 Active Low 로 천이시킨다. 만약 없다면 계속 RTS 신호를 체크한다[S11]. RTS 신호를 받은 HDLC FPGA 로직에서 REQ(Request) 신호를 생성하여 마스터 보드로 전송한다[S12].
REQ 신호를 마스터 보드에 전송한 슬레이브 보드는 마스터 보드로부터 ACK (Acknowledge) 신호가 전송되면 버스의 BUSY(버스 점유) 신호를 Active Low상태로 만들고, REQ 신호를 High 로 천이시킨다[S14]. BUSY 신호가 Active Low 상태이면 CTS 신호를 Active Low 상태로 만들고, 마스터 보드와 데이터를 송수신한다[S14].
BUSY 신호가 Active Low 상태로 천이된 시점부터 클럭을 카운팅한다[S15]. 도4에 도시된 바와 같이 HDLC 프레임은 최대 1031바이트(1031 * 8 = 8248비트)의 길이를 가지고 있기 때문에 클럭을 카운팅하여 8,248이 넘으면 해당 슬레이브 보드는 비정상적으로 버스를 점유하는 것으로 판단하도록 한다.
본 실시예에 있어서는, 일정 정도의 마진(margine)을 고려하여 9,000 클럭까지 카운팅하여 CTS 신호 및 BUSY 신호가 Low 상태를 유지하면 다른 슬레이브 보드가 버스를 점유하지 못하기 때문에 강제적으로 CTS 신호 및 BUSY 신호를 High 상태로 만들어 버스 점유권을 해제하도록 한다. 만약, BUSY 신호 및 CTS 신호가 9,000 클럭 내에 High 상태로 천이되면 처음부터 정상적인 동작을 수행한다.
비정상적인 버스 동작을 복구하기 위해 슬레이브 보드 내 HDLC FPGA 로직을 리셋시켜 다시 구동하도록 하고, CPU에 문제가 있을 소지가 있으므로 인터럽트(interrupt)를 발생시켜 OS의 해당 자원(FCC 또는 SCC)의 HDLC 드라이버를 초기화시키는 복구 루틴을 수행한다[S18].
상기의 복구 과정을 거친 후에도 3 번 동안 비정상적인 동작을 하면[S20] 레지스터 상의 오류 비트를 1로 세팅하여 마스터 보드로 전송하여 오류가 발생했음을 알린다[S21]. 마지막으로, 해당 슬레이브 보드가 더 이상 버스를 점유하지 못하도록 REQ 신호와 BUSY 신호를 High 상태로 천이시킨다.
도2를 참조하여 마스터 보드에서의 에러 체크 및 복구 방법에 대해 설명하면 다음과 같다.
마스터 보드는 #1 ~ #n 개의 슬레이브 보드에 각각의 어드레스를 부여하여 각각의 슬레이브 보드를 순환하면서 REQ (Request) 신호가 Active Low상태인지 확인한다[S32].
특정 슬레이브 보드에서 REQ 신호가 존재하면, 우선 BUSY 신호 상태를 체크하여[S33] 다른 슬레이브 보드가 버스를 점유하고 있는지 체크한다. 다른 슬레이브 보드가 버스를 점유하고 있을 때에는 버스 점유가 끝날 때까지 기다린다.
다른 슬레이브 보드가 버스를 점유하고 있지 않을 때에는(BUSY 신호 High 상태) 해당 REQ 신호를 보낸 슬레이브 보드에 ACK(Acknowledge) 신호를 Active Low 상태로 천이시켜 전송한다[S34].
이 때, 슬레이브 보드에서의 경우와 같이, HDLC 프레임의 최대 길이인 8,248 비트를 고려하여 10,000 클럭을 카운트하여 만약 10,000클럭 후에도 BUSY 신호가 Active Low 상태이면 오류 비트를 1로 세팅한다[S38].
마스터 보드에서 오류 체크를 수행하는 이유는 슬레이브 보드에서 CPU, FPGA 문제가 아닌 버퍼(buffer) 등의 순수 하드웨어적인 문제로 인해 발생할 수 있는 소지를 줄이기 위함이다.
다음으로는 슬레이브 보드에서 전송된 오류 신호(FLT 2)와 마스터 보드에서 생성된 오류 신호(FLT 1)를 OR 하여[S39] 마스터, 슬레이브 보드 중 하나의 보드라도 오류가 발생되었음이 확인되면 해당 레지스터 비트를 1로 세팅한다. 이렇게 마스터와 슬레이브 간 상호 체킹된 오류는 상위 애플리케이션(Software)쪽으로 전송하여 해당 슬레이브 보드가 비이상적으로 동작하고 있음을 시스템 사용자에게 알리도록 한다[S40].
다음으로 슬레이브 어드레스를 1 증가시켜[S41] 다른 슬레이브 보드에 REQ가 있는지 확인하여 이상의 과정을 반복한다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명에 따른 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법에 의하면 다음과 같은 효과가 있다.
첫째, 종래 방식은 버스 에러시 구간별로는 오류 체크가 가능하나 그 구간 내에 있는 각각의 슬레이브 보드에 대한 오류 체크를 하는데 어려움이 있으나, 본 발명에 의한 방식은 마스터 보드와 HDLC 통신하는 모든 슬레이브 보드에 대해 오류 체크가 가능하다.
둘째, 하드웨어적으로 오류 체크를 하기 때문에 시스템의 부하도 줄일 수 있으며, 마스터 보드와 슬레이브 보드 모두 상호 오류 체크를 하고 마스터 보드에서 시스템 사용자에게 오류임을 알려주기 때문에 기존 오류 체크 방식에 비해 우수하다.
셋째, 버스 오류 발생시 해당 오류를 발생시킨 슬레이브 보드는 마스터 보드로 오류를 바로 전송하지 않고, 자체적으로 오류를 복구하거나 복구가 안되더라도 자신이 버스를 점유할 수 없도록 하여 시스템의 안정을 도모한다.
도1은 본 발명의 일 실시예에 있어서 각 슬레이브 보드에서의 에러 검출 및 복구 과정을 설명하기 위한 플로우챠트임.
도2는 본 발명의 일 실시예에 있어서 마스터 보드에서의 에러 검출 및 복구 과정을 설명하기 위한 플로우챠트임.
도3은 HDLC 프레임 포맷을 도시한 도면임.

Claims (3)

  1. 하나의 마스터 보드(master board)와 다수의 슬레이브 보드(slave board)를 연결하는 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법에 있어서,
    각 슬레이브 보드가 BUSY(버스 점유) 신호를 이용하여 일정 시간 이상으로 버스를 점유하고 있는지 체킹하여 비정상 동작하면 강제적으로 버스 점유를 해지하기 위해 BUSY 신호 및 CTS 신호를 High상태로 천이하는 제1단계;
    버스의 비정상 동작을 복구하기 위해 상기 슬레이브 보드가 HDLC FPGA 로직을 리셋(reset)하고, 인터럽트를 발생시켜 해당 자원(FCC 또는 SCC)의 드라이버를 초기화하는 제2단계;
    상기 버스의 비정상 동작이 지속될 경우 상기 슬레이브 보드는 버스 점유를 하지 못하도록 REQ 신호 및 BUSY 신호를 강제적으로 High 상태로 만들고, 오류 비트를 1로 세팅하여 상기 마스터 보드로 전송하는 제3단계를 포함하는 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법.
  2. 제1항에 있어서,
    상기 마스터 보드는 상기 슬레이브 보드로부터 오는 BUSY 신호를 이용하여 일정 시간 이상으로 버스를 점유하고 있는지 카운팅하여 오류를 체킹하는 단계;
    상기 슬레이브 보드로부터 입력된 오류 신호와 상기 마스터 보드에서 체킹한 오류 신호를 OR하여 상위 애플리케이션(Application)으로 보고하는 단계를 더 포함하는 것을 특징으로 하는 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 일정 시간은 HDLC 프레임의 최대 길이 이상인 것을 특징으로 하는 멀티포인트 방식 HDLC 버스의 에러 검출 및 복구 방법.
KR1020030092484A 2003-12-17 2003-12-17 멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법 KR20050060766A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030092484A KR20050060766A (ko) 2003-12-17 2003-12-17 멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030092484A KR20050060766A (ko) 2003-12-17 2003-12-17 멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법

Publications (1)

Publication Number Publication Date
KR20050060766A true KR20050060766A (ko) 2005-06-22

Family

ID=37253441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030092484A KR20050060766A (ko) 2003-12-17 2003-12-17 멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법

Country Status (1)

Country Link
KR (1) KR20050060766A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100840939B1 (ko) * 2007-01-23 2008-06-24 삼성전자주식회사 전자장치 및 그 제어방법
CN101415027B (zh) * 2008-11-25 2012-05-30 哈尔滨工业大学 基于hdlc协议的通讯模块及数据实时转发存储控制方法
CN105843759A (zh) * 2016-03-17 2016-08-10 广州海格通信集团股份有限公司 一种基于hdlc的多串口通信方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100840939B1 (ko) * 2007-01-23 2008-06-24 삼성전자주식회사 전자장치 및 그 제어방법
CN101415027B (zh) * 2008-11-25 2012-05-30 哈尔滨工业大学 基于hdlc协议的通讯模块及数据实时转发存储控制方法
CN105843759A (zh) * 2016-03-17 2016-08-10 广州海格通信集团股份有限公司 一种基于hdlc的多串口通信方法

Similar Documents

Publication Publication Date Title
KR100968641B1 (ko) 점-대-점 링크 협의 방법, 디바이스, 집적 회로 및 전자시스템
US9030943B2 (en) Recovering from failures without impact on data traffic in a shared bus architecture
EP0576240B1 (en) Computer system and system expansion unit
US8984192B2 (en) Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US7821919B2 (en) Data processing apparatus and data processing method
US7519856B2 (en) Fault tolerant system and controller, operation method, and operation program used in the fault tolerant system
JP5033199B2 (ja) 分散通信システムのノード、分散通信システムに結合されたノード及び監視装置
US8700835B2 (en) Computer system and abnormality detection circuit
CN108234267B (zh) 一种基于m-lvds实时多主高速总线的通信系统
JPH06324977A (ja) データ転送方法
CN115437978A (zh) 高速外围组件互连接口装置及其操作方法
KR102033112B1 (ko) Pci 익스프레스 스위치 장치 및 그의 접속 제어 방법
KR20050060766A (ko) 멀티포인트 방식 hdlc 버스의 에러 검출 및 복구 방법
JPH06337843A (ja) データ転送制御方法
US6760870B1 (en) Algorithm for resynchronizing a bit-sliced crossbar
US11226790B2 (en) Arithmetic processing apparatus with delay-and-swap processing circuit
EP3321814A1 (en) Method and apparatus for handling outstanding interconnect transactions
EP1988469B1 (en) Error control device
JP4915113B2 (ja) バスシステム、リセットイニシャライズ回路、及びバスシステムにおける障害復旧方法
EP0576241A1 (en) Computer system and system expansion unit
CN217562028U (zh) 一种基于sccb总线协议的多个主器件电路
JP4941212B2 (ja) 電子デバイス、データ処理装置、及びバス制御方法
CN116301267A (zh) I2c总线复位方法
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JP4220430B2 (ja) 二重化ネットワーク制御システム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination