이종 샘플링 지연선 기반 시간-디지털 변환기

申请号 KR1020140154763 申请日 2014-11-07 公开(公告)号 KR1020160055018A 公开(公告)日 2016-05-17
申请人 서울대학교산학협력단; 发明人 이재성; 원준연;
摘要 본발명의하나의실시예에따른지연선기반시간-디지털변환기는타이밍클럭의펄스를계수하여입력신호의에지가검출되는시간을측정하는계수기, 서로직렬로연결되어있는복수개의제1 지연소자및 서로직렬로연결되어있는복수개의제2 지연소자를포함하고, 입력신호를입력으로하는지연선, 그리고복수개의제1 지연소자의출력또는복수개의제2 지연소자의출력을입력으로하고타이밍클럭을동작주파수로하는플립플롭부를포함하는정밀시간보간기, 그리고계수기와정밀시간보간기로측정한시간에대한디지털값을수신하고, 수신한디지털값을이용하여입력신호에대한타임스탬프를만드는타임스탬프생성부를포함한다.
权利要求
  • 타이밍 클럭의 펄스를 계수하여 입력신호의 에지가 검출되는 시간을 측정하는 계수기,
    서로 직렬로 연결되어 있는 복수개의 제1 지연소자 및 서로 직렬로 연결되어 있는 복수개의 제2 지연소자를 포함하고, 상기 입력신호를 입력으로 하는 지연선, 그리고 상기 복수개의 제1 지연소자의 출력 또는 상기 복수개의 제2 지연소자의 출력을 입력으로 하고 상기 타이밍 클럭을 동작주파수로 하는 플립플롭부를 포함하는 정밀시간 보간기, 그리고
    상기 계수기와 상기 정밀시간 보간기로 측정한 시간에 대한 디지털값을 수신하고, 수신한 디지털값을 이용하여 상기 입력신호에 대한 타임스탬프를 만드는 타임스탬프 생성부
    를 포함하는 지연선 기반 시간-디지털 변환기.
  • 제1항에서,
    상기 정밀시간 보간기는,
    상기 복수개의 제1 지연소자의 출력 및 상기 복수개의 제2 지연소자의 출력을 입력으로 하고, 입력된 신호들 중 어느 하나만 출력하는 멀티플렉서부를 더 포함하고,
    상기 멀티플렉서부의 출력을 상기 플립플롭부의 입력으로 하는 지연선 기반 시간-디지털 변환기.
  • 제1항 또는 제2항에서,
    상기 플립플롭부를 통해 출력된 값 중 같은 종류의 지연소자를 통과해 상태 천이되어 출력된 값의 개수를 각각 더하여 정밀시간 측정을 위한 정밀코드의 디지털값을 계산하는 정밀시간 정보 생성부를 더 포함하는 지연선 기반 시간-디지털 변환기.
  • 제1항 또는 제2항에서,
    상기 복수개의 제1 지연소자와 상기 복수개의 제2 지연소자는 서로 다르고,
    상기 복수개의 제1 지연소자 또는 상기 복수개의 제2 지연소자는 버퍼(buffer), 게이트(gate), 반전기(inverter), 캐리 로직(carry chain), 또는 멀티플렉서(multiplexer)인 지연선 기반 시간-디지털 변환기.
  • 제1항 또는 제2항에서,
    상기 복수개의 제1 지연소자 또는 상기 복수개의 제2 지연소자를 구현하기 위하여 현장 프로그램 가능 게이트 어레이(FPGA)의 캐리소자(carry primitive)를 이용하는 지연선 기반 시간-디지털 변환기.
  • 说明书全文

    이종 샘플링 지연선 기반 시간-디지털 변환기{HETEROGENEOUS SAMPLING DELAY-LINE TIME-TO-DIGITAL CONVERTER}

    이종 샘플링 지연선 기반 시간-디지털 변환기가 제공된다.

    일반적으로 지연선 기반 시간-디지털 변환기는 도 1에 도시된 바와 같이 클럭 신호(Clock_out)를 제공하는 PLL부(10), 클럭 신호 주기의 시간 분해능으로 입력 신호(Hit)의 시간을 측정하는 계수기(coarse counter)(20), 그리고 동작 주파수 주기 이하의 시간 분해능으로 입력 신호(Hit)의 시간을 정밀하게 측정하는 정밀시간 보간기(fine time interpolator)(30)를 포함한다.

    계수기(20)는 동작 신호인 시스템 클럭 신호의 펄스를 계수하여 그 계수값을 출력한다. 구체적으로 계수기(20)는 도 2a에 도시된 바와 같이 입력신호(Hit)의 라이징 에지(rising edge)(즉, 이벤트가 발생된 시점) 직후까지 발생한 시스템 클럭 신호(Clock)(즉, 동작 주파수)의 펄스를 계수하여 측정한다.

    그런데 시스템 클럭 신호(Clock)와 입력 신호(Hit)가 비동기적으로 입력되기 때문에 도 2a와 같이 시스템 클럭 신호(Clock)의 라이징 에지와 입력 신호(Hit)의 라이징 에지가 일치하지 않는다. 즉, 입력 신호(Hit)의 라이징 에지가 시스템 클럭 신호(Clock)의 한 주기 펄스 사이에 위치하게 된다.

    이러한 시스템 클럭 신호(Clock)의 한 주기 펄스 사이에 위치한 입력 신호(Hit)의 라이징 에지 시간을 측정하기 위하여, 지연선 기반 시간-디지털 변환기는 정밀시간 보간기(30)를 가진다. 정밀시간 보간기(30)는 지연소자(d1, d2, d3, d4)가 복수개로 직렬 연결되어 있는 하나의 지연선(31)과 플립플롭(32)을 이용하는데, 지연선(31)의 각 지연소자(d1, d2, d3, d4)를 이용하여 입력 신호(Hit)의 라이징 에지를 시스템 클럭(Clock)의 라이징 에지에 동기되도록 지연시키고, 이때의 지연 시간을 측정함으로써 시스템 클럭(Clock)의 한 주기 펄스 내에 위치한 입력 신호(Hit)에 대한 정밀 시간을 측정한다.

    도 2b에 도시된 경우를 보면, 첫번째 지연소자(d1)는 시스템 클럭(Clock)의 라이징 에지를 기준으로 입력 신호(Hit)의 지연 신호에 대하여 1의 값을 출력하고, 두번째 지연소자(d2)도 1의 값을 출력하며, 세번째 지연소자(d3)는 0의 값을 출력하고 네번째 지연소자(d4)도 0의 값을 출력한다. 결국, 지연선(31)이 4개의 지연소자로 이루어져 있다고 하면 D 플립플롭에 의해 출력되는 지연선(31)의 출력은 1100이 된다.

    이러한 지연선(31)에 의해 출력되는 정밀시간 보간기(30)의 논리값의 변화(1에서 0의 값으로 변화)를 파악하여 시스템 클럭 신호(Clock)의 한 주기 이내의 시간을 정밀하게 측정할 수 있다.

    그러나, 지연선 기반 시간-디지털 변환기를 구현하는 경우, 각 지연선의 지연 시간이 일정하지 않거나 지연 시간이 길면 시간 양자화 오차(time quantization error)가 커지고 충분한 시간 분해능을 얻을 수 없을 수 있다.

    도 3 및 도 4를 참조로 하여 종래의 지연선 기반 시간-디지털 변환기를 더 살펴본다.

    도 3은 종래의 지연선 기반 시간-디지털 변환기에서 각 지연선의 지연 시간이 일정하지 않아 지연 시간이 부정확한 경우의 타이밍도이다.

    입력 신호(Hit)는 지연소자 d1의 입력으로 들어가 t l1 시간만큼 지연되어 d1의 출력으로 나오고, d1의 출력 신호는 지연소자 d2의 입력으로 들어가 t s1 시간만큼 지연되어 d2의 출력으로 나온다. 그리고, d2의 출력 신호는 지연소자 d3의 입력으로 들어가 t l2 시간만큼 지연되어 d3의 출력으로 나오고, d3의 출력 신호는 지연소자 d4의 입력으로 들어가 t s2 시간만큼 지연되어 d4의 출력으로 나온다.

    종래의 지연선 기반 시간-디지털 변환기에서 각 지연소자는 같은 종류의 지연소자를 이용하고, 같은 종류의 지연 소자를 사용하더라도 도 3과 같이 지연소자를 통해 지연되는 시간이 달라질 수 있다. 회로 상에 각 지연소자의 배치와 각 지연소자의 공정과정에서의 오차에 따라 같은 종류의 지연 소자를 사용하더라도 지연시간의 간격이 불균일해질 수 있다. 예를 들어, 지연소자 d1과 d3를 통과하여 지연된 시간인 t l1 과 t l2 는 지연소자 d2와 d4를 통과하여 지연된 시간인 t s1 과 t s2 보다 클 수 있다.

    지연시간의 간격이 불균일한 경우에 도 3과 같이 세 경우의 타이밍 클럭(Clock 1, Clock2, Clock 3)을 플립플롭(32)의 동작주파수로 하면 시간 양자화 오차가 커지는 것을 확인할 수 있다.

    예를 들어, 입력 신호(Hit)의 라이징 에지 이후 t p1 시간만큼 지난 후에 첫 번째 타이밍 클럭(Clock 1)의 라이징 에지가 발생하게 되는 경우, 그 위치를 a라 하고, 입력 신호(Hit)의 라이징 에지 이후 일정 시간만큼 지난 후에 두 번째 타이밍 클럭(Clock 2)과 세 번째 타이밍 클럭(Clock 3)의 라이징 에지가 발생되는 위치를 각각 b와 c라 한다. 여기서, t p1 은 첫 번째 타이밍 클럭(Clock 1)을 사용한 경우의 입력 신호(Hit)의 지연 시간이고, t p2 는 두 번째 타이밍 클럭(Clock 2)을 사용한 경우의 입력 신호의 지연 시간이다.

    첫 번째 타이밍 클럭(Clock 1)과 두 번째 타이밍 클럭(Clock 2)의 위상이 t p2 - t p1 만큼 차이가 나더라도, 지연소자 d3의 지연시간이 t l2 로 길기 때문에 정밀 시간 보간기(30)의 D 플립플롭에 의해 출력되는 지연선(31)의 출력은 1100으로 동일하다. 이 경우, 도 4와 같이 정밀 코드(fine code)는 지연신호의 상태가 1로 천이된 개수로 파악하여 2로 계산될 수 있다. 정밀 코드는 타이밍 클럭의(Clock) 라이징 에지를 기준으로 하는 경우, 타이밍 클럭(Clock)의 한 주기 안에서 입력 신호(Hit)가 지연소자를 통과하여 출력으로 나온 지연소자의 천이된 상태 값이 플립플롭의 출력 값으로 나온 개수라 할 수 있다. 정밀 코드 값은 입력 신호(Hit)의 지연시간을 추측하기 위한 값으로 지연선 기반 시간-디지털 변환기는 정밀 코드 값이 클수록 입력 신호(Hit)의 지연시간을 길게 계산할 수 있다.

    따라서, 입력 신호(Hit)를 두 번째 타이밍 클럭(Clock 2)과 같은 신호로 동기화 시키는 경우에는 첫 번째 타이밍 클럭(Clock 1)과 같은 신호로 동기화 시키는 경우와 정밀 코드 값이 동일하기 때문에 지연선 기반 시간-디지털 변환기는 입력 신호(Hit)의 지연시간을 동일하게 계산할 수 있다. 실제로는 입력 신호(Hit)의 지연시간이 t p1 과 t p2 로 다르지만 동일한 지연시간으로 계산하기 때문에 시간 양자화 오차가 커질 수 있다.

    도 4는 종래의 지연선 기반 시간-디지털 변환기의 각 지연소자의 지연시간이 불균일한 경우의 정밀 코드 값의 변화를 보여주는 도면이다.

    도 4의 x축은 타이밍 클럭(Clock)의 한 주기 안에서 타이밍 클럭(Clock)의 라이징 에지의 발생시간(t c )을 나타내고, y축은 정밀 코드(fine code) 값을 나타낸다. 예를 들어, 각 지연소자가 도 3과 같은 지연시간으로 입력 신호(Hit)를 지연시키는 경우에는 도 4와 같이 지연시간 간격이 불균일한 그래프 형태가 될 수 있다. 그리고, 세 경우의 타이밍 클럭(Clock 1, Clock 2, Clock 3)의 라이징 에지가 각각 a, b, c 시간에 발생되는 경우, 지연선 기반 시간-디지털 변환기는 각각 정밀 코드 값을 2, 2, 3으로 계산할 수 있다. 앞에서 설명한 것과 같이 타이밍 클럭(Clock)의 라이징 에지 발생 시간이 a와 b로 차이가 나는 경우에도 정밀 코드 값을 동일하게 2로 계산하기 때문에, 입력 신호(Hit)의 지연시간을 동일하게 계산하여 시간 양자화 오차가 크게 발생되는 것을 확인할 수 있다.

    이렇게 종래의 지연선 기반 시간-디지털 변환기는 같은 종류의 지연소자를 사용하더라도 지연시간이 불균일해질 수 있고, 그에 따라 시간 양자화 오차가 크게 발생될 수 있다.

    본 발명의 하나의 실시예는 지연선의 지연 시간을 균일하게 개선하여 같은 회로 구현 환경에서 더 정밀한 시간-디지털 변환기를 제공하기 위한 것이다.

    상기 과제 이외에도 구체적으로 언급되지 않은 다른 과제를 달성하는 데 본 발명에 따른 실시예가 사용될 수 있다.

    본 발명의 하나의 실시예에 따른 지연선 기반 시간-디지털 변환기는 타이밍 클럭의 펄스를 계수하여 입력신호의 에지가 검출되는 시간을 측정하는 계수기, 서로 직렬로 연결되어 있는 복수개의 제1 지연소자 및 서로 직렬로 연결되어 있는 복수개의 제2 지연소자를 포함하고, 입력신호를 입력으로 하는 지연선, 그리고 복수개의 제1 지연소자의 출력 또는 복수개의 제2 지연소자의 출력을 입력으로 하고 타이밍 클럭을 동작주파수로 하는 플립플롭부를 포함하는 정밀시간 보간기, 그리고 계수기와 정밀시간 보간기로 측정한 시간에 대한 디지털값을 수신하고, 수신한 디지털값을 이용하여 입력신호에 대한 타임스탬프를 만드는 타임스탬프 생성부를 포함한다.

    여기서, 정밀시간 보간기는, 복수개의 제1 지연소자의 출력 및 복수개의 제2 지연소자의 출력을 입력으로 하고, 입력된 신호들 중 어느 하나만 출력하는 멀티플렉서부를 더 포함할 수 있고, 멀티플렉서부의 출력을 플립플롭부의 입력으로 할 수 있다.

    또한, 지연선 기반 시간-디지털 변환기는 플립플롭부를 통해 출력된 값 중 같은 종류의 지연소자를 통과해 상태 천이되어 출력된 값의 개수를 각각 더하여 정밀시간 측정을 위한 정밀코드의 디지털값을 계산하는 정밀시간 정보 생성부를 더 포함할 수 있다.

    또한, 복수개의 제1 지연소자와 상기 복수개의 제2 지연소자는 서로 다르고, 복수개의 제1 지연소자 또는 복수개의 제2 지연소자는 버퍼(buffer), 게이트(gate), 반전기(inverter), 캐리 로직(carry chain), 또는 멀티플렉서(multiplexer)일 수 있다.

    또한, 복수개의 제1 지연소자 또는 복수개의 제2 지연소자를 구현하기 위하여 현장 프로그램 가능 게이트 어레이(FPGA)의 캐리소자(carry primitive)를 이용할 수 있다.

    본 발명의 하나의 실시예는 지연선의 지연 시간을 균일하게 개선하여 같은 회로 구현 환경에서 더 정밀한 시간-디지털 변환기를 제공할 수 있다.

    도 1은 종래의 실시 예에 따른 지연선 기반 시간-디지털 변환기의 블록 구성도이다.
    도 2a 및 도 2b는 종래의 실시 예에 따른 지연선 기반 시간-디지털 변환기의 동작을 보인 타이밍도이다.
    도 3은 종래의 지연선 기반 시간-디지털 변환기에서 각 지연선의 지연 시간이 일정하지 않아 지연 시간이 부정확한 경우의 타이밍도이다.
    도 4는 종래의 지연선 기반 시간-디지털 변환기의 각 지연소자의 지연시간이 불균일한 경우의 정밀 코드 값의 변화를 보여주는 도면이다.
    도 5는 본 발명의 하나의 실시예에 따른 지연선 기반 시간-디지털 변환기의 블록 구성도이다.
    도 6은 본 발명의 하나의 실시예에 따른 입력 신호에 대한 지연선의 출력을 보여주는 타이밍도이다.
    도 7a 및 도 7b는 같은 종류의 지연소자를 사용한 지연선 기반 시간-디지털 변환기의 의 정밀 코드 값의 변화를 보여주는 도면이다.
    도 7c는 본 발명의 하나의 실시예에 따른 지연선 기반 시간-디지털 변환기의 의 정밀 코드 값의 변화를 보여주는 도면이다.
    도 8은 본 발명의 하나의 실시예에 따른 멀티플렉서와 xor게이트를 이용한 정밀시간 보간기의 블록 구성도이다.

    첨부한 도면을 참고로 하여 본 발명의 실시예에 대해 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 도면부호가 사용되었다. 또한 널리 알려져 있는 공지기술의 경우 그 구체적인 설명은 생략한다.

    명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부"의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.

    이하에서는 도 5를 참조로 하여 지연시간을 균일하게 하기 위한 본 발명의 실시예를 자세히 설명한다.

    도 5는 본 발명의 하나의 실시예에 따른 지연선 기반 시간-디지털 변환기의 블록 구성도이다.

    지연선 기반 시간-디지털 변환기는 PLL부(110), 계수기(120), 정밀시간 보간기(130), 정밀시간 정보 생성부(140), 그리고 타임 스탬프 생성부(150)를 포함한다.

    PLL부(110)는 입력 클럭신호(Clock_in)를 입력 받아 타이밍 클럭(Clock_out)을 생성하여 출력한다.

    계수기(120)는 타이밍 클럭(Clock_out)을 동작 주파수로 하고 타이밍 클럭(Clock_out)의 주기를 시간 분해능으로 하여 입력 신호(Hit)의 라이징 에지 또는 폴링 에지(falling edge)가 검출되는 시간을 측정한다. 예를 들어, 계수기(120)는 타이밍 클럭(Clock_out)의 라이징 에지마다 입력 신호(Hit)에 대한 디지털값을 출력하고, 계수 시작 시점에서부터 디지털값이 0에서 1 또는 1에서 0으로 변화하는 시점까지의 펄스수를 계수하여 입력 신호(Hit)에 대한 시간을 측정하고 측정한 시간에 대한 디지털값을 출력할 수 있다.

    정밀시간 보간기(130)는 지연선(131), 멀티플렉서부(132), 그리고 플립플롭부(133)를 포함하며, 타이밍 클럭(Clock_out)을 이용하여 입력 신호(Hit)에 대한 정밀 시간을 측정한다.

    지연선(131)은 입력 신호(Hit)를 입력으로 하고, 복수 종류의 지연소자로 구성되며 복수개의 같은 종류의 지연소자가 직렬로 연결되어 있다. 예를 들어, 도 5의 지연선(131)에는 d_a1부터 d_a4까지 같은 종류의 지연소자가 직렬로 연결되어 있고, d_b1부터 d_b4까지 같은 종류의 지연소자가 직렬로 연결되어 있어 두 종류의 지연소자로 구성되며 4개의 같은 종류의 지연소자가 직렬로 연결되어 있다.

    도 5에는 두 종류의 지연소자와 4개의 같은 종류의 지연소자만이 도시되어 있지만 이에 한정되지 않고 복수 종류의 지연소자와 복수개의 같은 종류의 지연소자로 지연선(131)을 구성할 수 있다.

    지연선(131)을 구성하는 지연소자는 논리값이 바뀔 때 지연 시간을 갖는 논리소자로서, 예를 들어, 버퍼(buffer), 게이트(gate), 반전기(inverter), 캐리 로직(carry chain), 멀티플렉서(multiplexer) 등일 수 있다.

    도 5의 지연선(131)에서 입력 신호(Hit)가 서로 다른 종류의 지연소자(d_a1, d_b1)에 입력되어 지연소자를 통과하여 나오는 출력 신호는 멀티플렉서부(132)의 멀티플렉서(multiplexer)(m1)의 입력 신호가 될 수 있다. 이 두 입력 신호 중 멀티플렉서(m1)의 선택 입력에 따라 하나의 입력 신호만이 멀티플렉서의 출력 신호가 되고, 이 출력 신호는 플립플롭부(133)의 플립플롭(f1)의 입력 신호가 될 수 있다.

    두 종류의 지연소자(d_a1, d_b1)로부터 출력된 신호는 각각 두 종류의 두 번째 지연소자(d_a2, d_b2)의 입력 신호가 될 수 있다. 이 입력 신호가 서로 다른 종류의 지연소자(d_a2, d_b2)에 입력되어 지연소자를 통과하여 나오는 출력 신호는 멀티플렉서부(132)의 멀티플렉서(m2)의 입력 신호가 될 수 있고, 선택 입력에 따라 하나의 입력 신호만이 멀티플렉서(m2)의 출력 신호가 되어 플립플롭부(133)의 플립플롭(f2)의 입력 신호가 될 수 있다. 이와 동일한 방식이 나머지 지연소자(d_a3, d_a4, d_b3, d_b4), 멀티플렉서(m3, m4), 그리고 플립플롭(f3, f4)에 적용될 수 있다.

    멀티플렉서부(132)는 복수 종류의 지연소자의 출력을 입력으로 하고 입력 중 하나의 입력만 출력으로 내보낸다. 도 5의 멀티플렉서부(132)는 두 개의 입력 중 하나의 입력만 출력으로 내보내도록 도시되어 있지만 이에 한정되는 것은 아니다.

    멀티플렉서의 입력 신호 중 출력으로 내보내는 입력 신호를 선택하는 기준은 지연선의 지연시간이 균일하게 되도록 하는 지연소자의 출력을 입력 신호로 하는 것이다. 예를 들어, 지연소자 d_a1과 d_b1을 통과하여 지연된 지연시간과 지연소자 d_a2와 d_b2를 통과하여 지연된 지연시간들을 비교하여 지연시간의 간격이 균일하게 되도록 d_a1과 d_b1의 출력 신호 중 하나를 멀티플렉서(m1)의 출력으로 내보낼 입력 신호로 선택할 수 있다. 마찬가지로 지연시간의 간격이 균일하게 되도록 d_a2와 d_b2의 출력 신호 중 하나를 멀티플렉서(m2)의 출력으로 내보낼 입력 신호로 선택할 수 있다. 이와 동일한 방식이 나머지 지연소자(d_a3, d_a4, d_b3, d_b4), 멀티플렉서(m3, m4)에 적용될 수 있다.

    멀티플렉서부(132)의 멀티플렉서의 출력 신호는 플립플롭부(133)의 플립플롭의 입력 신호가 된다.

    플립플롭부(133)는 멀티플렉서부(132)의 출력을 입력으로 하고 타이밍 클럭(Clock_out)을 동작 주파수로 한다. 플립플롭부(133)의 플립플롭은 D 플립플롭일 수 있다.

    또한, 정밀시간 보간기(130)가 멀티플렉서부(132)를 포함하지 않는 경우에는 플립플롭부(133)는 지연선(131)의 지연소자의 출력을 입력으로 할 수 있다. 예를 들어, 지연소자 d_a1과 지연소자 d_b1의 출력 신호가 멀티플렉서(m1)에 의해 하나의 신호만 선택되어 플립플롭(f1)의 입력으로 되지 않고, 지연소자 d_a1과 지연소자 d_b1의 출력 신호 모두 플립플롭부(133)의 플립플롭의 입력이 될 수 있다. 따라서, 정밀시간 보간기(130)가 멀티플렉서부(132)를 포함하지 않는 경우에는 플립플롭부(133)의 플립플롭 개수가 증가될 수 있다. 마찬가지로, 나머지 지연소자(d_a2, d_b2, d_a3, d_b3, d_a4, d_b4)의 출력 신호 모두가 플립플롭부(133)의 플립플롭의 입력이 될 수 있다.

    복수 종류의 지연소자로 지연선(131)을 구성하고 복수 종류의 지연소자로부터 나오는 모든 출력을 멀티플렉서부(132)를 거치지 않고 플립플롭부(133)를 통하여 샘플링 하는 경우에는 지연시간의 간격을 짧게 할 수 있어 시간 분해능을 개선할 수 있다.

    정밀시간 정보 생성부(140)는 엔코더(encoder) 기능을 수행한다. 엔코더 기능은 플립플롭부(133)로부터 출력되는 디지털 신호의 비트수를 설정된 비트수만큼 줄이는 것이다. 예를 들어, 플립플롭부(133)에서 출력하는 신호가 4비트의 1100인 경우, 이를 정밀 코드 값인 2로 계산하여 2비트의 디지털값으로 줄일 수 있다.

    정밀시간 정보 생성부(140)는 플립플롭부(133)를 통해 출력된 값 중 같은 종류의 지연소자를 통과해 상태 천이되어 출력된 값의 개수를 각각 더하여 정밀 코드의 디지털값을 계산한다. 예를 들어, 플립플롭부(133)를 통해 출력된 값이 111000이고 멀티플렉서부(132)가 출력되는 신호로 두 종류의 지연소자의 출력을 번갈아 선택한 경우, 정밀시간 정보 생성부(140)는 첫 번째 종류의 지연소자를 통과해 0에서 1로 상태 천이되어 출력된 값의 개수를 2개로 계산하고, 두 번째 종류의 지연소자를 통과해 0에서 1로 상태 천이되어 출력된 값의 개수를 1개로 계산할 수 있다. 그리고, 정밀시간 정보 생성부(140)는 출력된 값의 개수를 각각 더하여 정밀 코드의 디지털값으로 3을 계산할 수 있다.

    정밀시간 정보 생성부(140)는 입력 신호(Hit)의 상태 천이로 인하여 지연소자의 출력이 1에서 0으로 상태 천이되는 경우에는 플립플롭부(133)의 출력 값 중 해당 종류의 지연소자를 통과해 출력된 0의 개수를 계산하여 정밀 코드의 디지털값으로 계산할 수 있다.

    이와 같이 정밀시간 정보 생성부(140)에 의해 계산된 디지털 신호는 타임 스탬프 생성부(150)에 제공된다. 타임스탬프 생성부(150)는 계수기(120)와 정밀시간 보간기(130)로 측정한 시간에 대한 디지털값을 수신하고, 수신한 디지털값을 이용하여 입력 신호(Hit)에 대한 타임스탬프(timestamp)를 만든다.

    이하에서는 도 6 및 도 7을 참조로 하여 본 발명의 하나의 실시예에 따른 복수 종류의 출력을 사용하는 시간-디지털 변환기가 지연시간을 균일하게 하는 내용에 대하여 자세히 설명한다.

    도 6은 본 발명의 하나의 실시예에 따른 입력 신호에 대한 지연선의 출력을 보여주는 타이밍도이다.

    지연소자를 d_a1부터 d_a4까지 이용하는 경우에는 l_a와 같이 d_a1으로 인한 지연시간으로 t_a1이 될 수 있고, d_a2로 인한 지연시간으로 t_a2가 될 수 있고, d_a3로 인한 지연시간으로 t_a3이 될 수 있고, d_a4로 인한 지연시간으로 t_a4가 될 수 있다. l_a에서 볼 수 있듯이 d_a1부터 d_a4까지 한 종류의 지연소자만을 이용하는 경우에는 지연시간이 균일하지 않게 나타날 수 있다. 이에 따라, 앞에서 설명한 것과 같이 시간 양자화 오차가 커질 수 있다.

    마찬가지로, 지연소자를 d_b1부터 d_b4까지 이용하는 경우에는 l_b와 같이 d_b1으로 인한 지연시간으로 t_b1이 될 수 있고, d_b2로 인한 지연시간으로 t_b2가 될 수 있고, d_b3로 인한 지연시간으로 t_b3이 될 수 있고, d_b4로 인한 지연시간으로 t_b4가 될 수 있다. l_b에서 볼 수 있듯이 d_b1부터 d_b4까지 한 종류의 지연소자만을 이용하는 경우에는 지연시간이 균일하지 않게 나타날 수 있다.

    반면에 복수 종류의 지연소자를 사용하여 복수 종류의 지연소자의 출력 중 지연시간을 균일하게 하는 출력을 선택하는 경우에는 같은 종류의 지연소자만을 사용하는 것보다 지연시간을 균일하게 할 수 있다.

    예를 들어, 도 6에서 볼 수 있듯이 두 종류의 지연소자를 사용하여 d_a1, d_b2, d_a3, d_b4의 출력을 플립플롭부(133)로 내보내는 출력으로 선택하는 경우에는 같은 종류의 지연소자만을 사용하는 경우보다 지연시간을 균일하게 할 수 있다. l_h에서 볼 수 있듯이 플립플롭부(133)로 입력되는 지연선의 지연시간 간격이 t_h1, t_h2, t_h3, t_h4로 균일하게 될 수 있다.

    도 7a 및 도 7b는 같은 종류의 지연소자를 사용한 지연선 기반 시간-디지털 변환기의 의 정밀 코드 값의 변화를 보여주는 도면이다.

    도 7c는 본 발명의 하나의 실시예에 따른 지연선 기반 시간-디지털 변환기의 의 정밀 코드 값의 변화를 보여주는 도면이다.

    도 7a 내지 도 7c에서 x축인 t c 는 타이밍 클럭(Clock_out)의 한 주기 안에서 타이밍 클럭(Clock_out)의 라이징 에지의 발생시간을 나타내고, y축은 정밀 코드(fine code) 값을 나타낸다.

    도 7a는 지연소자 d_a1부터 d_a4 중 균일한 지연시간을 갖도록 선택된 지연소자에 대한 정밀 코드 값의 변화이다. 균일한 지연시간을 갖도록 선택된 지연소자가 d_a1과 d_a3이므로 m과 o 지점에서 정밀 코드 값의 변화가 일어난다.

    마찬가지로 도 7b는 지연소자 d_b1부터 d_b4 중 균일한 지연시간을 갖도록 선택된 지연소자에 대한 정밀 코드 값의 변화이다. 균일한 지연시간을 갖도록 선택된 지연소자가 d_b2와 d_b4이므로 n과 p 지점에서 정밀 코드 값의 변화가 일어난다.

    본 발명의 하나의 실시예에 따른 지연선 기반 시간_디지털 변환기는 지연시간을 균일하게 하는 복수 종류의 지연소자를 이용한다. 따라서, 정밀 코드 값의 변화는 도 7a와 도 7b의 그래프의 합으로 나타낼 수 있고, 도 7과 같이 균일한 간격으로 정밀 코드 값을 변화시킬 수 있으므로 시간 양자화 오차를 줄일 수 있다.

    도 8은 본 발명의 하나의 실시예에 따른 멀티플렉서와 xor게이트를 이용한 정밀시간 보간기의 블록 구성도이다. 도 8은 지연선을 멀티플렉서(MUX)와 xor게이트의 두 종류의 지연소자로 구성한다.

    캐리소자(carry primitive)(134)를 이용하여 구현될 수 있다. 캐리소자(134)는 현장 프로그램 가능 게이트 어레이(field-programmable gate array, FPGA)에서 사용될 수 있다. 캐리소자(134)는 멀티플렉서의 출력으로 나오는 캐리출력(CO)과 xor게이트의 출력으로 나오는 합출력(S)을 복수 종류의 출력으로 이용할 수 있다.

    멀티플렉서부(132)는 캐리출력과 합출력 중에서 지연선의 지연시간을 균일하게 하는 출력을 선택하여 플립플롭부(133)로 내보낼 수 있다.

    도 8의 캐리소자(134)의 멀티플렉서는 지연된 입력 신호(Hit)를 출력으로 내보내기 위하여 선택 신호(Sel)로 입력 신호가 들어가는 1의 값을 유지할 수 있다.

    이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

    10 : PLL부 20 : 계수기
    30 : 정밀시간 보간기 31 : 지연선
    32 : 플립플롭 110 : PLL부
    120 : 계수기 130 : 정밀시간 보간기
    131 : 지연선 132 : 멀티플렉서부
    133 : 플립플롭부 134 : 캐리소자
    140 : 정밀시간 정보 생성부 150 : 타임 스탬프 생성부

    QQ群二维码
    意见反馈