KR0139335B1 - 랜덤 코드 제너레이터 - Google Patents

랜덤 코드 제너레이터

Info

Publication number
KR0139335B1
KR0139335B1 KR1019950004979A KR19950004979A KR0139335B1 KR 0139335 B1 KR0139335 B1 KR 0139335B1 KR 1019950004979 A KR1019950004979 A KR 1019950004979A KR 19950004979 A KR19950004979 A KR 19950004979A KR 0139335 B1 KR0139335 B1 KR 0139335B1
Authority
KR
South Korea
Prior art keywords
code
output
random
shift register
clock
Prior art date
Application number
KR1019950004979A
Other languages
English (en)
Other versions
KR960035265A (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 KR1019950004979A priority Critical patent/KR0139335B1/ko
Publication of KR960035265A publication Critical patent/KR960035265A/ko
Application granted granted Critical
Publication of KR0139335B1 publication Critical patent/KR0139335B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 랜덤 코드 제너레이터에 관한 것으로, 마지막단 시프트 레지스터의 출력이 피드백될 위치(Tap)를 결정하는 논리곱 수단과; 랜덤 코드를 발생시켜 출력하는 배타 논리합 수단과; 데이타를 시프트 레지스터의 동작표에 맞게 처리해서 출력해 주는 시프트 레지스터와; 시프트 레지스터와 동일한 기능을 수행하면서 반 클럭 빠른 코드(Half clock early code)와 반 클럭 느린 코드(Half clock late code)를 발생시켜 출력하는 플립플롭과; 클럭 신호를 입력으로 받아 반클럭의 위상차가 나는 신호를 발생시켜 출력하는 인버터 회로로 이루어져 있으며 고정된 탭 대신에 외부에서 마이크로 콘트롤러의 제어로 프로그램하여 탭의 위치를 변경할 수 있도록 함으로 코드의 종류를 자유롭게 바꿀 수가 있으며 플립플롭 2개를 추가함으로 간단하게 반클럭 빠른 코드(Half clock early code)와 반 클럭 느린 코드(Half clock late code)를 발생할 수 있도록 하여 대역 확산 변복조 시스템에서 필요한 랜덤 코드를 모두 발생할 수 있도록 하여 종래보다 훨씬 쉽고 값싸게 필요한 코드를 얻을 수 있도록 한 것이다.

Description

랜덤 코드 제너레이터
제1도는 본 발명의 랜덤 코드 제너레이터에 사용된 시프트 레지스터의 동작표이고,
제2도는 종래의 코드의 길이가 15인 랜덤 코드 제너레이터의 회로도이고,
제3도는 본 발명의 실시예에 따른 코드의 길이가 31인 랜덤 코드 제너레이터의 회로도이고,
제4도는 본 발명의 실시예에 따른 코드의 길이가2ⁿ-1인 골드 랜덤 코드 제너레이터의 상세 회로도이고,
제5도는 본 발명의 실시예에 따른 코드의 길이가 2ⁿ-1인 골드 랜덤 코드 제너레이터의 다른 회로도이고,
제6도는 본 발명의 실시예에 따른 코드의 길이가 2ⁿ-1또는 2ⁿ이고 메모리를 이용한 랜덤 코드 제너레이터의 회로도이고,
제7도는 본 발명을 실현하는데 있어서 디그리(degree)가 34 이하인 랜덤 코드 제너레이터의 초기 코드값을 8진수로 나타낸 표이다.
본 발명은 랜덤 코드 제너레이터에 관한 것으로서, 더 상세히 말하자면 통신 시스템의 대역 확산 변복조 시스템(Spread Spectrum Demodulator System)에서 사용되는 랜덤 코드를 만드는데 있어서 코드의 종류와 길이 그리고 클럭의 위상차를 원하는대로 바꿀 수 있도록 함으로써 종래보다 훨씬 쉽고 값싸게 필요한 코드를 제공하는 랜덤 코드 제너레이터에 관한 것이다.
이하, 첨부된 도면을 참조로 하여 종래의 랜덤 코드 제너레이터에 대하여 설명하기 한다.
제1도는 본 발명의 랜덤 코드 제너레이터에 사용된 시프트 레지스터의 동작표이다.
랜덤 코드 제너레이터에 대하여 설명하기에 앞서 시프트 레지스터의 동작표에 대하여 먼저 설명하기로 한다.
제1도에 도시되어 있듯이, 시프트 레지스터의 입력은 데이타(D)신호, 세트_리세트 비트(SRB)신호, 로드_인에이블(LD_EN)신호, 클럭(CK)신호이며 시프트 레지스터의 출력은 다음 상태 출력(QQ(n))신호이다.
세트_리세트 비트(SRB)신호는 시프트 레지스터의 초기 출력을 세트 또는 리세트로 설정하는 신호이며, 제(1),(2) 라인에서 볼 수 있는 것처럼 로드_인에이블(LD_EN)신호는 세트_리세트 비트(SRB)신호를 인에이블하는 신호로서 로드_인에이블(LD_EN)신호가 논리 0 이면 세트_리세트 비트(SRB)신호가 무엇이든지 상관 없이(don't care condition) 시프트 레지스터의 출력(QQ(n))은 데이타(D) 신호 그대로 클럭(CK)의 상승연에서 출력된다.
제(3)라인에서 볼 수 있는 것처럼 로드_인에이블(LD_EN)신호가 논리 0이고 클럭(CK)이 하가연일때는 데이타(D) 신호와 세트_리세트 비트(SRB)신호가 무엇이든지 상관 없이(don't care condition) 출력(QQ(n))은 전상태 출력(QQ(n-1))을 유지한다.
제(4),(5) 라인에서 볼 수 있는 것처럼 로드_인에이블(LD_EN)신호가 논리 1이면 세트_리세트 비트(SRB)신호가 인에이블 되어 데이타(D)신호가 무엇이든지 상관 없이(don't care condition) 세트_리세트 비트(SRB)신호에 따라 출력이 결정된다. 이 출력은 클럭(CK)의 상승연 또는 하강연에서 모두 가능하다.
제2도는 종래의 코드 길이가 15인 랜덤 코드 제너레이터의 회로도이다.
제2도에서 도시한 바와 같이, 종래의 코드 길이가 15인 랜덤 코드 제너레이터의 구성은 제1도에 도시된 바와 같이 동작하는 4개의 시프트 레지스터(I35, I36, I37, I38)와; 특정 시프트 레지스터의 출려과 마지막단 시프트 레지스터(I38)의 출력을 피드백(Feed back)으로 입력받아 랜덤 코드를 발생할 수 있도록 배타 논리합을 수행하여 출력하는 배타 논리합 게이트(I11)로 이루어져 있다.
상기한 바와 같이 종래의 기술은 초기 데이타 설정 신호(PNSTD0~PNSTD3)를 통해 각 시프트 레지스터(I35, I36, I37, I38)의 세트_리세트 비트(SRB)신호 입력을 제어해서 신호가 하이이면 세트되고 로우이면 리세트되게 함으로 각 시프트 레지스터 출력의 초기 상태를 설정한 후, 마지막단의 시프트 레지스터(I38)의 출력(MSEQ_PNO)이 패드백된 것(A)과 특정 시프트 레지스터(여기서는 I37)의 출력(B)을 배타 논리합 게이트(I11)의 입력으로 받는 구조로 되어 클럭이 발생할 때마다 한 비트의 코드를 순차적으로 발생시키고 시프트함으로 4개의 시프트 레지스터로 코드 길이 15(24-1)의 길이를 갖는 랜덤 코드를 발생하였다.
상기한 바와 같은 종래 기술의 동작을 좀더 상세히 살펴보면 초기 설정 테이타 입력 PNSTD0:3=0001이면 초기 상태가 0001이 되고 클럭(CLK)이 인가될 때마다 각 단의 시프트 레지스터의 출력을 보면 1001, 1101, 111, 1110, 0111, 1010, 0101, 1011, 1100, 0110, 0011, 1000, 0100, 0010, 0001의 순서로 발생하는데 여기서 마지막단 시프트 레지스터의 출력(MSEQ_PNO)만을 보면 111010110010001의 랜덤 코드가 발생한다.
여기서 피드백할때 마지막 시프트 레지스터의 출력이 배타 논리합 게이트(XOR)를 통해서 몇번째 레지스터의 입력으로 연결되는가 하는 연결 위치를 각각 탭(Tap)이라 한다. 따라서 첫번째 레지스터 입력단에 피드백되는 입력을 탭1(Tap1), 두번째 레지스터 입력단에 피드백되는 입력을 탭2(Tap2)라고 하며 이 탭에 따라 발생할 수 있는 2진 비트열 코드의 패턴이 정하여진다.
그러나 이와 같은 종래의 랜덤 코드 제너레이터는, 고정된 탭을 사용함으로 발생할 수 있는 코드의 값을 정해져 있어 사용하는데 불편함이 많았고, 반 클럭 빠른 코드(Half clock early code)와 반 클럭 느린 코드(Half clock late code)를 발생할 수 없어 대역 확산 통신 시스템에 사용하기 위해서는 속도가 빠른 디지탈 신호 처리기(DSP:Digital Signal Processor)를 사용하거나 마이크로 프로세서의 프로그램으로 사용해야 하기 때문에 큰 하드웨어의 사용으로 추가 비용이 드는 단점이 있었다.
따라서 본 발명의 목적은 상기와 같은 종래의 단점을 해결하기 위한 것으로서, 본 발명에서의 고정된 탭 대신에 외부에서 마이크로 콘트롤러의 제어로 프로그램하여 탭의 위치를 변경할 수 있도록 하여 코드의 종류를 바꿀 수 있도록 하였고 플립플롭 2개를 추가함으로 간단하게 반 클럭 빠른 코드(Half clock early code)와 반 클럭 느린 코드(Half clock late code)를 발생할 수 있도록 하여 대역 확산 변복조 시스템에서 필요한 랜덤 코드를 모두 발생할 수 있도록 하여 종래보다 훨씬 변복조 시스템에서 필요한 코드를 얻을 수 있는 랜덤 코드 제너레이터를 제공하는 데에 있다.
상기의 목적을 달성하기 위한 본 발명의 구성은, 코드의 길이가 2ⁿ-1인 랜덤 코드 제너레이터에 있어서, 탭 설정 신호와 마지막단 시프트 레지스터의 초기 출력인 논리 1을 입력받아 마지막단 시프트 레지스터의 출력이 피드백될 위치(Tap)를 결정하는 n-1개의 논리곱 수단과; 상기 논리곱 수단의 출력과 마지막단 시프트 레지스터를 제외한 나머지 시프트 레지스터의 출력을 입력으로 받아 랜덤 코드를 발생시켜 출력하는 n-1개의 배타 논리합 수단과; 상기 배타 논리합 수단의 출력(시프트 레지스터의 데이타 입력)과 클럭 신호, 로드 인에이블 신호, 초기 데이타 설정 신호와 같은 제어 신호를 입력으로 받아 시프트 레지스터의 데이타를 시프트 레지스터의 동작표에 맞게 처리해서 출력해 주는 n-1 개의 시프트 레지스터와; 상기 시프트 레지스터와 동일하게 구성되어 있고 단, 데이타 입력은 마지막단 시프트 레지스터의 출력을 직접 피드백하여 입력으로 받아 시프트 레지스터의 동작표에 맞게 처리해서 출력하는 시프트 레지스터와; 상기 시프트 레지스터와 도일하게 구성되어 있고 단, 클럭 신호는 인버터 회로를 통해 반클럭의 위상차가 나는 신호를 각각 입력으로 받으며, 데이타 입력은 마지막 시프트 레지스터의 입력과 출력을 각각 입력으로 받아 상기 시프트 레지스터와 동일한 기능을 수행함으로 반 클럭 빠른 코드(Half clock early code)와 반 클럭 느린 코드(Half clock late code)를 발생시켜 출력하는 2개의 플립플롭과; 클럭 신호의 입력으로 받아 반클럭의 위상차가 나는 신호를 발생시켜 출력하는 인버터 회로로 이루어져 있다.
코드의 길이가 2ⁿ-1인 랜덤 코드 제너레이터에서 3개의 골드 랜덤 코드를 발생시키는 골드 랜덤 코드 제너레이터의 구성은, 상기한 랜덤 크도 제너레이터의 회로와 동일한 구성으로 되어 있으며 단, 디그리가 n이므로 n-1개의 논리곱 수단, 배타 논리합 수단과 n개의 시프트 레지스터 그리고 2개의 플립플롭과 1개의 인버터 회로로 구성된 동일한 랜덤코드 제너레이터(엠시퀀스 제너레이터) 2개와 상기 2개의 랜덤 코드 제너레이터(엠시퀀스 제너레이터)에서 나온 2개의 엠시퀀스 랜덤 코드 출력과 반 클럭 빠른 코드 출력과 반 클럭 느린 코드 출력을 각각 입력으로 받아 배타 논리합을 수행하여 3개의 골드 코드를 발생시키는 배타 논리합 수단 3개로 이루어져 있다.
또 3개의 골드 랜덤 코드를 발생시키는 골드 랜덤 코드 제너레이터의 다른 구성은, 상기한 3개의 골드 코드를 발생시키는 랜덤 코드 제너레이터 회로와 동일한 구성에서 단, 엠시퀀스 제너레이터에서 반 클럭 위상차를 갖는 랜덤 코드 출력을 내는 2개의 플립플롭을 공동으로 사용함으로 2개의 플립플롭을 줄였으며 인버터 회로와 배타적 논리합 수단도 각각 1개씩 줄인 형태이다.
좀더 상세히 설명하면 디그리가 n이므로 n-1개의 논리곱 수단과 배타 논리합수단 그리고 n개의 시프트 레지스터로 구성되어 있는 엠시퀀스 제너레이터 2개와; 상기 2개의 엠시퀀스 제너레이터에서 나온 마지막단 시프트 레지스터의 데이타 입력 2개와 출력 2개를 배타 논리합을 수행하여 출력하는 2개의 배타 논리합 수단과; 상기 2개의 배타 논리합 수단 출력을 입력으로 받아 각각 반 클럭의 위상차를 갖는 골드 랜덤 코드를 생성시키는 2개의 플립플롭과; 클럭 입력을 받아 위상 반전하여 상기한 2개의 플립플롭에 반 클럭 위상차를 갖는 클럭을 공급해주는 인버터 회로로 이루어져 있다.
여기에서 골드 랜덤 코드는 2개의 엠시퀀스 제너레이터에서 마지막단 시프트 레지스터의 출력 2개를 배타 논리합함으로 출력된다.
코드의 길이가 2ⁿ-1 또는 2ⁿ이고 메모리를 이용한 랜덤 코드 제너레이터의 구성은, 메모리를 이용하여 원하는 코드를 미리 메모리에 저장시켜 놓고 필요한 어드레스를 억세스함으로써 코드를 발생시키는 구조로 되어 있는 것으로서 클럭신호와 초기 데이타 설정 신호를 입력으로 받아 카운팅하여 코드를 생성하며 코드의 길이를 결정하여 출력하는 카운터와; 상기 카운터의 출력을 입력으로 받아 저장해 놓고, 각 탭 설정 신호를 입력받아 그 신호에 따라 코드의 종류를 결정하여 반 클럭 빠른 코드를 출력하는 랜덤 코드 메모리와; 상기 클럭 신호와 초기 데이타 설정 신호를 각각 입력으로 받아 인버트하여 출력하는 2개의 인버터 회로와; 상기 초기 데이타 설정 신호를 입력으로 받은 인버터 회로의 출력을 랜덤입력으로 받고 다른 인버터 회로의 출력을 클럭입력으로 받으며 상기 랜덤코드 메모리의 출력을 데이타 입력으로 받아 엠시퀀스 랜덤 코드를 발생시켜 출력하는 시프트 레지스터와; 상기 클럭 신호를 그대로 입력 받고 상기 초기 데이타 설정 신호를 입력으로 받은 인버터 회로의 출력을 랜덤 입력으로 받으며 상기 랜덤 코드 메모리의 출력을 데이타 입력으로 받아 반 클럭 느린 코드를 발생시켜 출력하는 시프트 레지스터로 이루어져 있다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참고로 하여 설명하기로 한다.
제3도는 본 발명의 실시예에 따른 코드의 길이가 31인 랜덤 코드 제너레이터의 회로도이고, 제4도는 본 발명의 실시예에 따른 코드의 길이가 2N-1인 골드 랜덤 코드 제너레이터의 상세 회로도이고, 제5도는 본 발명의 실시예에 따른 코드의 길이가 2N-1인 골드 랜덤 코드 제너레이터의 다른 회로도이고, 제6도는 본 발명의 실시예에 따른 코드의 길이가 2N-1 또는 2N이고 메모리를 이용한 골드 랜덤 코드 제너레이터의 회로도이다.
제3도는 본 발명의 실시예에 따른 코드의 길이가 31인 랜덤 코드 제너레이터의 회로도이다.
제3도에 도시되어 있듯이 본 발명의 실시예에 따른 코드의 길이가 31인 랜덤 코드 제너레이터 회로의 구성은, 탭 설정 신호(PNTD0~PNTD3)와 마지막단 시프트 레지스터(I5)의 초기 출력인 논리 I을 각각 입력으로 받아 논리곱을 수행하여 마지막단 시프트 레지스터(I5)의 출력이 피드백될 위치(Tap)를 결정하여 출력하는 4개의 AND 게이트(I21, I22, I23, I24)와; 상기 4개의 AND AND 게이트(I21, I22, I23, I24)출력을 입력으로 받고 마지막단의 시프트 레지스터(I5)를 제외한 나머지 시프트 레지스터(I1, I2, I3, I4)의 출력을 각각 입력으로 받아 배타 논리합을 수행하여 랜덤 코드를 발생시켜 출력(Tap2, Tap3, Tap4, Tap5)하는 4개의 배타 OR 게이트(I11, I12, I13, I14)와; 상기 4개의 배타 OR 게이트(I11, I12, I13, I14)출력(시프트 레지스터의 데이타 입력)과 클럭 신호(CLK), 로드 인에이블 신호(PND_LDEN), 초기 설정 데이타 신호(PNSTD)와 같은 제어 신호를 각각 입력으로 받아 시프트 레지스터의 데이타를 제어 신호에 맞게 제1도에 도시된 시프트 레지스터의 동작표와 같이 처리해서 출력해 주는 4개의 시프트 레지스터(I2, I3, I4, I5)와; 상기 시프트 레지스터(I2, I3, I4, I5)와 동일하게 구성되어 있고, 단, 데이타 입력은 마지막단의 시프트 레지스터(I5)의 출력(MSEQ_PNO)을 직접 피드백하여 입력(Tap1)으로 받아 제1도에 도시된 시프트 레지스터의 동작표와 같이 처리해서 출력하는 시프느 레지스터(I1)와; 상기 시프트 레지스터(I1, I2, I3, I4, I5)와 동일하게 구성되어 있고 단, 클럭 신호(CLK)는 인버터 회로(I38)를 통해 반클럭의 위상차가 나는 신호를 각각 동일하게 입력으로 받으며, 데이타 입력은 마지막 시프트 레지스터(I5)의 입력(Tap5)과 출력(MSEQ_PNO)을 각각 입력으로 받아 상기 시프트 레지스터와 동일한 기능을 수행함으로 반 클럭 빠른 코드(MSEQ_1/2PN+)와 반 클럭 느린 코드(MSEQ_1/2PN-)를 발생시켜 출력하는 2개의 플립플롭(I37, I39)과; 클럭 신호(CLK)를 입력으로 받아 반클럭의 위상차가 나는 신호를 발생시켜 출력하는 인버터 회로(I38)로 이루어져 있다.
제4도는 본 발명의 실시예에 따른 코드의 길이가 2ⁿ-1인 골드 랜덤 코드 제너레이터의 상세 회로도이다.
제4도에 도시되어 있는 것처럼, 코드의 길이가 2ⁿ-1인 랜덤 코드 제너레이터의 구성은, 제3도에 도시된 코드의 길이가 31인 랜덤 코드 제너레이터의 회로와 동일한 구성으로 되어 있으며 단, 디그리가 n이므로 n-1개의 AND 게이트, 배타 OR게이트와 n개의 시프트 레지스터 그리고 2개의 플립플롭(I41, I42)과 1개의 인버터 회로(I43)로 구성된 동일한 랜덤 코드 제너레이터(엠시퀀스 제너레이터) 2개와; 상기 2개의 랜덤 코드 제너레이터(엠시퀀스 제너레이터)에서 나온 2개의 엠시퀀스 랜덤 코드(MSEQ_PNO)출력과 반 클럭 빠른 코드(MSEQ_1/2PN+) 출력과 반 클럭 느린 코드(MSEQ_1/2PN-)출력을 각각 입력으로 받아 배타 논리합을 수행하여 3개의 골드 코드(GoldSEQ_PNO, GoldSEQ_1/2PN+, GoldSEQ_1/2PN-)를 발생시키는 배타 OR 게이트 3개(I60, I61, I62)로 이루어져 있다.
제5도는 본 발며의 실시예에 따른 코드의 길이가 2ⁿ-1 인 골드 랜덤 코드 제너레이터의 다른 회로도이다.
제5도에 도시되어 있듯이 코드의 길이가 2ⁿ-1 인 랜덤 코드 제너레이터의 다른 회로는 제4도에 도시되어 있는 코드의 길이가 2ⁿ-1 인 랜덤 코드 제너레이터의 상세 회로와 동일한 구성에서 단, 엠시퀀스 제너레이터에서 반클럭 위상차를 갖는 랜덤 코드 출력을 내는 2개의 플립플롭을 공동으로 사용함으로 2개의 플립플롭을 줄였으며 인버터 회로와 배타적 OR 게이트로 각각 1개씩 줄인 형태이다.
좀 더 상세히 설명하면 코드의 길이가 2N-1인 랜덤 코드 제너레이터의 다른 회로의 구성은, 디그리가 n이므로 n-1개의 AND 게이트, 배타 OR 게이트와 n개의 시프트 레지스터가 제3도에 도시된 것과 같이 구성되어 있는 엠시퀀스 제너레이터 2개와; 상기 2개의 엠시퀀스 제너레이터에서 나온 마지막단 시프트 레지스터(I10, I100)의 데이타 입력 2개와 출력 2개를 각각 배타 논리합을 수행하여 출력하는 2개의 배타 OR 게이트(I50, I51)와; 상기 2개의 배타 OR게이트(I50, I51)출력을 입력으로 받아 각각 반 클럭의 위상차를 갖는 골드 랜덤 코드(GoldSEQ_1/2PN+, GoldSEQ_1/2PN-)를 생성서키는 2개의 플립플롭(I103, I104)과; 클럭(CK)입력을 받아 위상 반전하여 출력하여 상기한 2개의 플립플롭에 반클럭 위상차를 갖는 클럭을 공급해주는 인버터 회로(I52)로 이루어져 있다.
여기서 골드 랜덤 코드(GoldSEQ_PNO)는 2개의 엠시퀀스 제너레이터에서 마지막단 시프트 레지스터(I110, I100)의 출력 2개를 배타 논리합함으로 출력된다.
제6도는 본 발명의 실시예에 따른 코드의 길이가 2ⁿ-1 또는 2ⁿ이고 메모리를 이용한 랜덤 코드 제너레이터의 회로도이다.
제6도에 도시되어 있는 것처럼, 코드의 길이기 2ⁿ-1이고 메모리를 이용한 랜덤 코드 제너레이터의 회로는 메모리를 이용하여 제3도에 도시된 코드의 길이가 31인 랜덤 코드 제너레이터와 똑같은 동작을 하도록 한것으로 원하는 코드를 미리 메모리에 저장시켜 놓고 필요한 어드레스를 억세스함으로써 코드를 발생시키는 구조로 되어 있다.
코드의 길이가 2ⁿ-1 이고 메로리를 이용한 랜덤 코드 제너레이터 회로의 구성은, 클럭(CLK)신호와 초기 데이타 설정 신호(PNSTD0:4)를 입력으로 받아 카운팅하여 코드를 생성하고 코드의 길이를 결정하여 출력하여 출력하는 31진 AM 카운터(I70)와; 상기 31진 AM 카운터(I70)의 출력을 입력으로 받아 저장해 놓고, 각 탭 설정 신호(PNTD0~PNTDn)를 입력 받아 신호에 따라 코드의 종류를 결정하여 반클럭 빠른 코드(MSEQ_1/2PN+)를 출력하는 랜덤 코드 메모리(I71)와; 상기 클럭(CLK)신호와 초기 데이타 설정 신호 PNSTD0:4를 각각 입력으로 받아 인버트하여 출력하는 2개의 인버터 회로(I38, I81)와; 상기 인버터 회로(I81)의 출력을 랜덤입력(RN)으로 받고 다른 인버터 회로(I38)의 출력을 클럭(CK)입력으로 받고 상기 랜덤 코드 메모리(I71)의 출력을 데이타 입력으로 받아 엠시퀀스 랜덤 코드(MSEQ_PNO)를 발생시켜 출력하는 시프트 레지스터(I77)와; 상기 클럭(CLK)신호를 그대로 입력 받고 상기 인버터 회로(I81)의 출력을 랜덤 입력(RN)으로 받고 상기 랜덤 코드 메모리(I71)의 출력을 데이타 입력으로 받아 반 클럭 느린 코드(MSEQ_1/2PN-)를 발생시켜 출력하는 시프트 레지스터(I80)로 이루어져 있다.
상기와 같이 이루어져 있는 본 발명의 랜덤 코드 제너레이터의 동작을 다음과 같다.
제3도에 도시되어 있는 코드의 길이가 31인 랜덤 코드 제너레이터의 동작을 보면, 탭 설정 신호 4비트(PNTD0:3), 초기 데이타 설정 신호 5비트(PNSTD0:4), 로드 인에이블 신호(LD_EN)의 입력과 엠시퀀스 랜덤 코드(MSEQ_PNO), 반 클럭 빠른 코드(MSEQ_1/2PN+), 반 클럭 느린 코드(MSEQ_1/2PN-)출력을 갖고 있다. 먼저 발생시키고자 하는 코드의 길이가 31(25-1)일 경우에 제7도의 디그리가 5인 랜덤 코드 제너레이터의 초기 코드 값을 참고로 하면 8진 값으로 45, 75, 67이 있고 45를 다항식으로 나타내면
oct45=1D5+0D4+0D3+1D2+0D+1이 되므로 제2도에 나타낸 회로에 적용하면 탭 설정 신호(PNTD)는 최상위 비트와 최하위 비트를 제와한 나머지 값이되야 하므로 PNTD30:3=0010으로 PNTD0=0, PNTD1=0, PNTD2=1, PNTD3=0이 된다.
탭 설정 신호가 1이면 AND 게이트가 인에이블 되어 피드백 되는 엠시퀀스 코드를 받아 배타 OR 게이트가 동작하고 탭 설정신호가 0이면 AND 게이트의 한 입력이 0이므로 출력도 0이 되어 다음의 배타 OR 게이트는 전단의 출력을 다음단의 입력으로 전달하여 주는 버퍼 역할만 해주게 되므로 결국 탭 설정 신호에 의해 데이타를 바꾸어 코드를 바꾸는 것이 가능해진다.
또 제2도에 도시된 것처럼 두 플립플롭(I37, I39)을 마지막단 시프트 레지스터(I5)의 앞과 뒤에 연결한 뒤 클럭(CLK)을 인버터 회로(I38)를 통해 반전시키면 마지막단 시프트 레지스터(I5)의 출력에서 발생되는 제시각(MSEQ_PNO)의 코드보다 반 클럭 빠른것(MSEQ_1/2PN+)과 반 클럭 느린것(MSEQ_1/2PN-)을 쉽게 얻을 수 있다.
제4도에 도시되어 있는 코드의 길이가 2ⁿ-1인 랜덤 코드 제너레이터의 동작을 보면, 디그리가 n인 모든 다항식을 만족시키는 회로로 엠시퀀스 제너레이터 2개를 사용하여 골드 코드 2ⁿ+1개의 코드를 발생시킬 수 있도록 하였다. 즉, 제1엠시퀀스 제너레이터의 초기 데이타 출력을 모두 0으로 하고 제2엠시퀀스 제너레이터는 정상적으로 2ⁿ-1개의 코드를 발생시킨 경우와, 제2엠시퀀스 제너레이터의 초기 데이타 출력을 모두 0으로 하고 제1엠시퀀스 제너레이터는 정상적을 2ⁿ-1개의 코드를 발생시킨 경우를 합하면, 중복되는 경우를 제거하면 총 2ⁿ+1개의 코드를 발생시킬 수 있게 된다.
제5도에 도시되어 있는 코드의 길이가 2N-1인 랜덤 코드 제너레이터에서 반클럭 빠른 신호와 반 클럭 느린 신호를 발생시키는 부분을 변형하여 만든 다른 구현 회로로서 동작은 똑같으나 플리플롭 2개와 배타 논리합 게이트, 인버터 회로 1개씩을 줄인 것으로 비용 절감에 효과가 있도록 하였다.
제6도에 도시되어 있는 코드의 길이가 2N-1 eHSMS 2N이고 메모리를 이용한 랜덤 코드 제너레이터의 동작을 보면, 제3도의 랜덤 코드 제너레이터와 동일한 동작을 하도록 한 것으로 메모리(I71)를 이용하여 원하는 코드를 미리 메모리(I71)에 저장시켜 놓고 필요한 어드레스를 억세스함으로써 코드를 발생시키는 방법으로 메모리의 외부에 플립플롭 2개(I77, I80)와 인버터 1개를 추가하여 반 클럭 빠른 코드와 반 클럭 느린 코드를 발생시켜 본 발명의 목적을 달성하였다.
제3도의 랜덤 코드 제너레이터와 동일한 동작을 하기 위해서 코드의 길이를 결정하는 Y 어드레스 카운터인 AM 카운터(I70)는 31진 카운터여야함으로 A0,A1...A30 까지 카운트하게 되고 코드의 종류를 선택하는 X 어드레스인 PNTD0,PNTD1....PNTDn 중 해당하는 어드레스 한개를 인에이블 시키면 된다.
또한 Y 어드레스 카운터인 AM 카운터를 32진 업 카운터로 하고 메모리의 32번지에 0을 쓰면, 코드상에서 0의 갯수와 1의 갯수를 코드의 특성에 맞게 맞출 수 있음과 동시에 코드의 길이가 32진가 되므로 코등의 길이가 2ⁿ인 코드도 만들 수 있다.
따라서, 상기와 같이 동작하는 랜덤 코드 제너레이터의 효과는, 고정된 탭 대신에 외부에서 마이크로 콘트롤러의 제어로 프로그램하여 탭의 위치를 변경할 수 있도록 함으로 코드의 종류를 자유롭게 바꿀 수가 있으며, 플립플롭 2개를 추가함으로 간단하게 반 클럭 빠른 코드(Half clock early code)와 반 클럭 느린 코드(Half clock late code)를 발생할 수 있도록 하여 대역 확산 변복조 시스템에서 필요한 랜덤 코드를 모두 발생할 수 있도록 하여 종래보다 훨씬 쉽고 값싸게 필요한 코드를 얻을 수 있도록 한 것이다.

Claims (12)

  1. 탭 설정 신호(PNTD0:3)와 마지막단 시프트 레지스터(I5)의 초기 출력인 논리 1을 각각 입력으로 받아 논리곱을 수행하여 마지막단 시프트 레지스터(I5)의 출력이 피드백될 위치(Tap)를 결정하여 출력하는 4개의 논리곱수단(I21, I22, I23, I24)과; 상기 4개의 논리곱 수단(I21, I22, I23, I24)의 출력을 입력으로 받고 마지막단의 시프트 레지스터(I5)를 제외한 나머지 시프트 레지스터(I1, I2, I3, I4)의 출력을 각각 입력으로 받아 배타 논리합을 수행하여 랜덤 코드를 발생시켜 출력(Tap2, Tap3, Tap4, Tap5)하는 4개의 배타 논리합 수단(I11, I12, I13, I14)과 상기 4개의 배타 논리합 수단(I11, I12, I13, I14)의 출력(시프트 레지스터의 데이타 입력)과 클럭 신호(CLK), 로드 인에이블 신호(PND_LDEN), 초기 설정 데이타 신호(PNSTD)와 같은 제어 신호를 각각 입력으로 받아 시프트 레지스터의 데이타를 제어 신호에 맞게 시프트 레지스터의 동작표와 같이 처리해서 출력해 주는 4개의 시프트 레지스터(I2, I3, I4, I5)와 상기 시프트 레지스터(I2, I3, I4, I5)와 동일하게 구성되어 있고 단, 데이타 입력은 마지막단의 시프트 레지스터(I5)의 출력(MSEQ_PNO)을 직접 피드백하여 입력(Tap1)으로 받아 시프트 레지스터의 동작표와 같이 처리해서 출력하는 시프트 레지스터(I1)와; 상기 시프트 레지스터(I1, I2, I3, I4, I5)와 동일하게 구서되어 있고 단, 클럭 신호(CLK)는 인버터 회로(I38)를 통해 반클럭의 위상차가 나는 신호를 각각 동일하게 입력으로 받으며, 데이타 입력은 마지막 시프트 레지스터(I5)의 입력(Tap5)과 출력(MSEQ_PNO)을 각각 입력으로 받아 상기 시프트 레지스터와 동일한 기능을 수행함으로 반 클럭 빠른 코드(MSEQ_1/2PN+)와 반 클럭 느린 코드(MSEQ_1/2PN-)를 발생시켜 출력하는 2개의 플립플롭(I37, I39)과 클럭 신호(CLK)를 입력으로 받아 반클럭의 위상차가 나는 신호를 발생시켜 출력하는 인버터 회로(I38)로 이루어지는 것을 특징으로 하는 코드의 길이가 31인 랜덤 코드 제너레이터.
  2. 제1항에 있어서, 상기한 논리곱 수단(I21, I22, I23, I24)은 마이크로 컨트롤러의 제어로 프로그램된 탭 설정 신호(PNTD0:3)와 마지막단 시프트 레지스터(I5)의 초기 출력인 논리 1을 각각 입력으로 받아 마지막단 시프트 레지스터(I5)의 출력이 피드백될 위치(Tap)를 결정하여 출력하는 기능을 갖는 것을 특징으로 하는 랜덤 코드 제너레이터.
  3. 제1항에 있어서, 상기한 배타 논리곱 수단(I11, I12, I13, I14)은 4개의 논리곱 수단(I21, I22, I23, I24)의 출력을 입력으로 받고 마지막단의 시프트 레지스터(I5)를 제외한 나머지 시프트 레지스터(I1, I2, I3, I4)의 출력을 각각 입력으로 받아 논리곱 수단의 출력이 0이면 버퍼로, 논리곱 수단의 출력이 1이면 인버터로 작동하여 탭의 위치에 따라 발생 되는 랜덤 코드의 종류를 바꾸는 기능을 갖는 것을 특징으로 하는 랜덤 코드 제너레이터.
  4. 상기한 시프트 레지스터(I1, I2, I3, I4, I5)는 데이타(D)신호, 세트_리세트 비트(SRB)신호, 로드_인에이블(LD_EN)신호, 클럭(CK)신호를 입력으로 받아 로드_인에이블(LD_EN)신호를 인에이블함으로써 데이타(D)신호 입력과 관계없이 마이크로 컨트롤러의 제어로 프로그램된 초기 데이타 설정 신호(PNSTD)를 통해 세트_리세트 비트(SRB)신호를 제어함으로 코드의 초기값을 설정할 수 있는 기능을 갖는 것을 특징으로 하는 랜덤 코드 제너레이터.
  5. 제1항에 있어서, 상기한 2개의 플립플롭(I37, I39)은 인버터 회로(I38)를 통해 반클럭의 위상차가 나는 신호를 각각 동일하게 입력으로 받으며, 데이타 입력은 마지막 시프트 레지스터(I5)의 입력(Tap5)과 출력(MSEQ_PNO)을 각각 입력으로 받아 반 클럭 빠른 코드(MSEQ_1/2PN+)와 반 클럭 느린 코드(MSEQ_1/2PN-)를 발생시켜 기능을 갖는 것을 특징으로 하는 랜덤 코드 제너레이터.
  6. 코드의 길이가 31인 랜덤 코드 제너레이터의 회로와 도일한 구성으로 되어 있으며 단, 디그리가 n이므로 n-1개의 AND 게이트, 배타 OR 게이트와 n개의 시프트 레지스터 그리고 2개의 플립플롭(I21, I22)과 1개의 인버터 회로(I23)로 구성된 동일한 형태의 랜덤 코드 제너레이터(엠시퀀스 제너레이터) 2개와; 상기 2개의 랜덤 코드 제너레이터(엠시퀀스 제너레이터)에서 나온 2개의 엠시퀀스 랜덤 코드(MSEQ_PNO)출력과 반 클럭 빠른 코드(MSEQ_1/2PN+)출려과 반 클럭 느린 코드(MSEQ_1/2PN-)출력을 각각 입력으로 받아 배타 논리합을 수행하여 3개의 골드 코드(Golden_PNO, Golden_1/2PN+, Golden_1/2PN-)를 발생시키는 배타 논리합 수단 3개(I60, I61, I62)로 이루어지는 것을 특징으로 하는 골드 랜덤 코드 제너레이터.
  7. 제6항에 있어서, 상기한 3개의 배타 논리합 수단(I60, I61, I62)은 상기 2개의 랜덤 코드 제너레이터(엠시퀀스 제너레이터)에서 나온 2개의 엠시퀀스 랜덤 코드(MSEQ_PNO)출력과 반 클럭 빠른 코드(MSEQ_1/2PN+)출력과 반 클럭 느린 코드(MSEQ_1/2PN-)출력을 각각 입력으로 받아 3개의 골드 코드(Golden_PNO, Golden_1/2PN+, Golden_1/2PN-)를 발생시키는 기능을 갖는 것을 특징으로 하는 골드 랜덤 코드 제너레이터.
  8. n-1개의 AND 게이트, 배타 OR 게이트와 n 개의 시프트 레지스터가 코드의 길이가 31인 랜덤 코드 제너레이터의 회로와 동일한 구서으로 되어 있는 엠시퀀스 제너레이터 2개와; 상기 2개의 엠시퀀스 제너레이터에서 나온 마지막단 시프느 레지스터(I10, I100)의 데이타 입력 2개와 출력 2개를 각각 배타 논리합을 수행하여 출력하는 2개의 배타 OR 게이트(I50, I51)와; 상기 2개의 배타 OR 게이트(I50, I51)출력을 입력으로 받아 각각 반 클럭의 위상자를 갖는 골드 랜덤 코드(Golden_1/2PN+, Golden_1/2PN-)를 생성시키는 2개의 플립플롭(I103, I104)과; 클럭(CK)입력을 받아 위상 반전하여 출력하여 상기한 2개의 플립플롭에 반클럭 위상차를 갖는 클럭을 공급해주는 인버터 회로(I52)로 이루어져 있어, 엠시퀀스 제너레이터에서 반 클럭 위상차를 갖는 랜덤 코드 출력을 내는 2개의 플립플롭을 공동으로 사용함으로 2개의 플립플롭을 줄였으며 인버터 회로와 배타적 OR 게이트도 각각 1개씩 줄인 형태를 특징으로 하는 골드 랜덤 코드 제너레이터.
  9. 클럭(CLK)신호와 초기 데이타 설정 신호(PNSTD0:4)를 입력으로 받아 카운팅하여 코드를 생성하고 코드의 길이를 결정하여 출력하는 카운터(I70)와; 상기 카운터(I70)의 출력을 입력으로 받아 저장해 놓고, 각 탭 설정 신호(PNTD0~PNTDn)를 입력 받아 신호에 따라 코드의 종류를 결정하여 반 클럭 빠른 코드(MSEQ_1/2PN+)를 출력하는 랜덤 코드 메로리(I71)와; 상기 클럭(CLK)신호와 초기 데이타 설정 신호 PNSTD0:4를 각각 입력으로 받아 인버트하여 출력하는 2개의 인버터 회로(I38, I81)와; 상기 인버터 회로(I81)의 출력을 낸덤입력(RN)으로 받고 다른 인버터 회로(I38)의 츨력을 클럭(CK)입력으로 받고 상기 랜덤 코드 메모리의 출력을 데이타 입력으로 받아 엠시퀀스 랜덤 코드(MSEQ_PNO)를 발생시켜 출력하는 시프트 레지스터(I77)와; 상기 클럭(CLK)신호를 그대로 입력 받고 상기 인버터 회로(I81)의 출력을 랜덤 입력(RN)으로 받고 상기 랜덤 코드 메모리(I71)의 출력을 데이타 입력으로 받아 반 클럭 느린 코드(MSEQ_1/2PN-)를 발생시켜 출력하는 시프트 레지스터(I80)로 이루어지는 것을 특징으로 하는 메모리를 이용한 랜덤 코드 제너레이터.
  10. 제9항에 있어서 상기한 랜덤 코드 메모리(I71)는 카운터(I70)에 의해 생성된 코드를 미리 저장해 놓고 어드레스를 억세스함으로 코드를 얻을 수 있는 기능을 갖는 것을 특징으로 하는 메모리를 이용한 랜덤 코드 제너레이터.
  11. 제9항에 있어서, 상기한 2개의 플립플롭(I77, I80)은 클럭(CLK)을 반전시켜 반 클럭 빠른 코드(MSEQ_1/2PN+)와 반 클럭 느린 코드(MSEQ_1/2PN-)를 발생하는 기능을 갖는 것을 특징으로 하는 메모리를 이용한 코드 제너레이터.
  12. 제9항에 있어서 상기한 카운터(I70)는 코드의 길이를 제어하는 Y 어드레스의 수를 조정하여 코등의 길이룰 2ⁿ이나 2ⁿ-1로 가능하게 하는 기능을 갖는 것을 특징으로 하는 메모리를 이용한 랜덤 코드 제너레이터.
KR1019950004979A 1995-03-10 1995-03-10 랜덤 코드 제너레이터 KR0139335B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950004979A KR0139335B1 (ko) 1995-03-10 1995-03-10 랜덤 코드 제너레이터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950004979A KR0139335B1 (ko) 1995-03-10 1995-03-10 랜덤 코드 제너레이터

Publications (2)

Publication Number Publication Date
KR960035265A KR960035265A (ko) 1996-10-24
KR0139335B1 true KR0139335B1 (ko) 1998-07-01

Family

ID=19409582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950004979A KR0139335B1 (ko) 1995-03-10 1995-03-10 랜덤 코드 제너레이터

Country Status (1)

Country Link
KR (1) KR0139335B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187235B2 (en) 2003-10-13 2007-03-06 Samsung Electronics Co., Ltd. Class AB rail-to-rail operational amplifier
KR101322767B1 (ko) * 2005-12-22 2013-10-29 톰슨 라이센싱 제어 시스템의 출력 값을 업데이트 하기 위해 수치적으로 제어되는 제어 시스템에서 직렬 데이터 전송을 위한 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7187235B2 (en) 2003-10-13 2007-03-06 Samsung Electronics Co., Ltd. Class AB rail-to-rail operational amplifier
KR101322767B1 (ko) * 2005-12-22 2013-10-29 톰슨 라이센싱 제어 시스템의 출력 값을 업데이트 하기 위해 수치적으로 제어되는 제어 시스템에서 직렬 데이터 전송을 위한 방법 및 장치

Also Published As

Publication number Publication date
KR960035265A (ko) 1996-10-24

Similar Documents

Publication Publication Date Title
US5361290A (en) Clock generating circuit for use in single chip microcomputer
CA1175154A (en) Shift circuit
US3623017A (en) Dual clocking arrangement for a digital computer
KR100484330B1 (ko) 직렬적으로제공되는데이터스트림에대한레지스터기억수신지선택방법
US4853653A (en) Multiple input clock selector
US4047008A (en) Pseudo-random number sequence generator
US4901264A (en) Pseudo random pattern generating device
US4413350A (en) Programmable clock rate generator
US5761265A (en) Parallel architecture for generating pseudo-random sequences
US4164022A (en) Electronic digital arctangent computational apparatus
US4325129A (en) Non-linear logic module for increasing complexity of bit sequences
KR0139335B1 (ko) 랜덤 코드 제너레이터
US3992635A (en) N scale counter
US5633816A (en) Random number generator with wait control circuitry to enhance randomness of numbers read therefrom
US4234849A (en) Programmable frequency divider and method
US3992612A (en) Rate multiplier
KR930010942B1 (ko) 직렬비교기
JPH11509658A (ja) 拡張されたチップ選択リセット装置および方法
US3484701A (en) Asynchronous sequential switching circuit using a single feedback delay element
JP4524724B2 (ja) 入出力装置
KR200155054Y1 (ko) 카운터 회로
US4326251A (en) Monitoring system for a digital data processor
US3495075A (en) Shifting apparatus
KR0157153B1 (ko) 난수발생 장치
JP3003328B2 (ja) クロック信号回路

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

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee