KR930005439B1 - Reed solomon encoding circuit of optical recording and reproducing system - Google Patents

Reed solomon encoding circuit of optical recording and reproducing system Download PDF

Info

Publication number
KR930005439B1
KR930005439B1 KR1019910002140A KR910002140A KR930005439B1 KR 930005439 B1 KR930005439 B1 KR 930005439B1 KR 1019910002140 A KR1019910002140 A KR 1019910002140A KR 910002140 A KR910002140 A KR 910002140A KR 930005439 B1 KR930005439 B1 KR 930005439B1
Authority
KR
South Korea
Prior art keywords
data
signal
latch
adder
buffer
Prior art date
Application number
KR1019910002140A
Other languages
Korean (ko)
Other versions
KR920017082A (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 KR1019910002140A priority Critical patent/KR930005439B1/en
Publication of KR920017082A publication Critical patent/KR920017082A/en
Application granted granted Critical
Publication of KR930005439B1 publication Critical patent/KR930005439B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs

Abstract

The circuit simplifys encoding process by using PROM and miniaturizes an encoding system by reducing the numbers of registers and exclusive OR gates. The circuit also alters the contents of the PROM easily. It includes a PROM (904) for multiplying operation of each stage of the RS encoder, the 1st/2nd registers (906/907) for reading/abstracting Q1 data according to buffer-read-signal (BRDSEC) and Q1/Q2 read-signal (Q1RD/Q2RD), the 3rd register (908) for reading/abstracting P data, a MUX (909) for selecting/generating Q1 or Q2 data according to FIRST control signal, and the 2nd buffer (913) for generating zero data (ZERO).

Description

광기록 재생 시스템의 RS엔코딩 회로RS encoding circuit of optical record reproduction system

제1도는 종래의 에러 정정 회로의 블럭 구성도.1 is a block diagram of a conventional error correction circuit.

제2도는 종래의 C1(32, 28) RS엔코딩 회로도2 is a conventional C1 (32, 28) RS encoding circuit diagram

제3도는 종래의 C2(28, 24) RS엔코딩 회로도.3 is a conventional C2 (28, 24) RS encoding circuit diagram.

제4도는 종래의 RS엔코딩 계산결과 테이블도.4 is a conventional RS encoding calculation result table.

제5도는 GF(28)알파 연산 테이블도.5 is an GF (2 8 ) alpha operation table.

제6도는 종래의 CIRC엔코더의 블럭구성도.6 is a block diagram of a conventional CIRC encoder.

제7도는 본 발명에 따른 엔코딩 회로.7 shows an encoding circuit according to the invention.

제8도는 본 발명에 따른 각부 동작 파형도.8 is an operation waveform diagram of each part according to the present invention.

제9도는 본 발명에 따른 피롬의 리스트 테이블도.9 is a list table diagram of a pyrom according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

901,902,911 : 제11-13래치 903,905,910 : 제1-3가산기901,902,911: 11-13 Latch 903,905,910: 1-3 Adder

904 : 피롬 906-908 : 제1-3레지스터부904: Pyrom 906-908: 1-3 Register

909 : MUX 912-913 : 제1-2버퍼909 MUX 912-913 buffer 1-2

본 발명은 광기록 재생 장치에 있어서 리드 솔로몬 (Read Solomon : 이하 RS라함) 엔코더에 관한 것으로서, 특히 콤팩트 디스크에서 사용하고 있는 (28, 24) RS코드 및 (32, 28) RS코드의 엔코딩시 PROM을 사용하여 생성다항식의 계수를 용이하게 바꿀수 있는 RS엔코딩 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a Read Solomon (RS) encoder in an optical recording / reproducing apparatus. In particular, the present invention relates to a PROM for encoding (28, 24) RS codes and (32, 28) RS codes used in compact discs. The present invention relates to an RS encoding circuit that can easily change the coefficients of the generated polynomial using.

일반적으로 콤팩스 디스크 시스템에서는 디스크상에 발생한 흠집이나 먼지로 인한 에러를 교정하기 위해 CIRC (Cross Interleave Read Solomon Code : 이하 CIRC라함) 방식의 에러 코렉션(Error Correction)시스템을 사용하고 있다. 이 CIRC방식의 에러 코렉션 시스템은 강력한 랜덤(Random)에러 코렉션 능력을 갖는 리드 솔로몬 엔코딩회로 사이에 심볼의 서로 다른 딜레이를 주어 크로스 인터리브를 수행하게 하여 긴버스트(Burst)에러를 정정할 수 있다. 이와 같이 에러를 정정하는 회로는 제1도에 도시되어 있으며 이에 대한 동작은 본원 특허 출원 제90-12212호에 상세히 기재되어 있으므로 생략한다.In general, a compact disc system uses an error correction system based on a CIRC (Cross Interleave Read Solomon Code) method to correct an error due to scratches or dust on a disc. This CIRC type error correction system can correct long burst errors by performing cross interleaving by giving different delays of symbols between Reed Solomon encoding circuits with powerful random error correction capability. . The circuit for correcting such errors is shown in FIG. 1 and the operation thereof is omitted since it is described in detail in Patent Application No. 90-12212.

제2도는 종래의 C1(32, 28) RS엔코딩 회로도이고, 제3도는 종래의 C2(28, 24) RS엔코딩 회로도로서, 여기서 사용된 RS코드는 바이트(Byte)단위로 연산을 수행하는 에러정정코드로 BCH코드의 일종이다. 그러므로 종래의 에러 정정을 하는 RS엔코더의 동작을 제2-3도를 참조하여 설명하면 다음과 같다.FIG. 2 is a conventional C1 (32, 28) RS encoding circuit diagram, and FIG. 3 is a conventional C2 (28, 24) RS encoding circuit diagram, wherein the RS code used here is an error correction for performing operations in units of bytes. Code is a kind of BCH code. Therefore, the operation of the conventional RS encoder for error correction will be described with reference to FIGS.

정보 메세지가 있을때 이를 다항식으로 표현할 수 있는데 즉 정보가 입력되는 순서로 정보를 다항식의 계수로 표현하면 다음과 같이된다.When there is an information message, you can express it as a polynomial.

D(x)=dk-1ㆍXk-1+dk-2Xk-2+········· + d0x0 D (x) = d k-1 ㆍ X k-1 + d k-2 X k-2 + ······· + d 0 x 0

(여기서 x는 dummy variable임)Where x is a dummy variable

이 다항식을 하기 식(1)과 같은 생성 다항식(Geneator Polynomial)This polynomial is generated by a generator polynomial such as

Figure kpo00001
Figure kpo00001

에 의해서 나눌 경우 몫과 나머지 R(x)를 얻을 수 있다.Divide by to get the quotient and the remaining R (x).

D(x)÷G(x)=Q(x)…R(x)D (x) ÷ G (x) = Q (x)... R (x)

이를 수식적으로 표현하면 하기식(2)와 같다.If this is expressed mathematically, it is as following Formula (2).

D(x)x3-k=G(x)G(x)+R(x)(여기서 n-k는 생성다항식의 차수)D (x) x 3-k = G (x) G (x) + R (x), where nk is the order of the generated polynomial

즉 C(x)=D(x)xn-k+R(x)=Q(x)G(x)…………………(2)That is, C (x) = D (x) x nk + R (x) = Q (x) G (x)... … … … … … … (2)

다시말해서 정보메세지에 생성다항식(Geneator Polynomial)으로 나눈 나머지를 붙인 메세지를 코드워드C(x)라고 하며 송신단에서는 이 메세지를 전송하게 된다.In other words, the message with the remainder divided by the generator polynomial into the information message is called codeword C (x), and the sender transmits this message.

수신단에서는 전송 채널로 이 메세지가 전송되는 경우 에러가 섞인 data r(x)를 수신하게 된다. 이를 수식적으로 표현하면 하기식(3)과 같다.The receiver will receive data r (x) mixed with errors when this message is sent over the transport channel. If this is expressed mathematically, it is as following Formula (3).

r(x)=C(x)+E(x)…………………………………………(3)r (x) = C (x) + E (x)... … … … … … … … … … … … … … … … (3)

이 수시된 워드에 α1즉 생성 다항식(Geneator Polynomial)의 근을 대입하면Substituting the root of the generator polynomial into α 1 ,

r(α1)=C(α1)+E(α1)=Q(α1).C1(α1)+E(α1)r (α 1 ) = C (α 1 ) + E (α 1 ) = Q (α 1 ) .C1 (α 1 ) + E (α 1 )

즉 r(α1)=E(α1)가 된다.That is, r (α 1 ) = E (α 1 ).

이를 신드롬(Syndrom)이라고 하며 이 신드롬(Syndrom) 값이 모두 0이면 에러가 발생하기 않은것임을 알수 있다. 만약 0이 아니면 송신하는 과정중에 에러가 발생하였음을 알수 있으며 에러를 정정하기 위해서는 에러위치 및 에러값을 알아야 하므로 한개의 에러를 정정하기 위해서 2개의 변수 즉 신드롬(Syndrom)값이 필요하다.This is called Syndrom, and if the Syndrom value is all 0, it means that no error occurred. If it is not 0, it indicates that an error occurred during the transmission process. In order to correct an error, an error location and an error value must be known, so two variables, that is, a syndrome value, are required to correct an error.

즉 1개의 에러 정정일 경우 신드롬(Syndrom)2개 r(α0), r(α1)이 필요하며 G(x)=(x+xα0)(x+α1)이 된다.That is, in the case of one error correction, two syndromes r (α 0 ) and r (α 1 ) are required, and G (x) = (x + xα 0 ) (x + α 1 ).

현재 콤팩트 디스크에서는 2개의 에러 정정이 가능한 코드 즉 4개의 패리티를 만드는 코드를 사용하고 있으며 생성다항식(Geneator Polynomial)은

Figure kpo00002
2가지를 사용하고 있다Currently, compact discs use two error-correcting codes, or four parity-generating codes. The generator polynomial
Figure kpo00002
I use two things

그리고 이를 C2(28, 24) RS코드, C1(32, 28) RS코드라고 부르고 있다.This is called the C2 (28, 24) RS code and the C1 (32, 28) RS code.

즉 C2(28, 24) RS코드는 24개의 데이타에 4개의 패리티를 붙여 28개를 한 코드워드(Codeword) 단위로 하고 있다. 또 C1(32, 28) RS code는 28개의 데이타에 4개의 패리티를 32개를 한 코드워드로 하고 있다. 여기서, 사용하는 생성다항식 및 일반적인 엔코더 회로는 제2도 및 제3도와 같다.In other words, the C2 (28, 24) RS codes are assigned to 28 pieces of codewords with 4 pieces of parity attached to 24 pieces of data. The C1 (32, 28) RS code has four parities of 32 datawords in 28 datasets. Here, the generated polynomial and the general encoder circuit are shown in FIG. 2 and FIG.

또한 제3도의 C2 RS엔코더는 제1도와 같이 엔코딩되는 데이타 순서를 고려해서 2개의 엔코더로 분리하여 최종결과값을 익스크루시부오아 회로로 구하게 된다.In addition, the C2 RS encoder of FIG. 3 separates the two encoders in consideration of the data sequence encoded as shown in FIG. 1 to obtain the final result as an Exclusive Boa circuit.

그러므로 제4도에서 보는 바와 같이 P엔코딩 회로에 데이타가 01, 08, 09…순으로 입력되면 제2도의 디플립플롭(FF1)값은 00H, 00

Figure kpo00003
01=01H, 0F
Figure kpo00004
08=07H, 1B
Figure kpo00005
09=12H로 된다.Therefore, as shown in Fig. 4, the data in the P encoding circuit is 01, 08, 09... If inputted in order, the deflip-flop (FF1) value of FIG. 2 is 00H, 00
Figure kpo00003
01 = 01H, 0F
Figure kpo00004
08 = 07H, 1B
Figure kpo00005
09 = 12H.

제4도는 제1도의 CD 시스템의 에러 정정 블럭 다이어그램에 한 프레임에 0~23까지 데이타를 계속 108 프레임까지 입력하여 최종적으로 얻어진 결과를 시뮬레이션하여 얻어진 값이다.4 is a value obtained by simulating the final result obtained by continuously inputting data from 0 to 23 up to 108 frames in one frame in the error correction block diagram of the CD system of FIG.

이렇게 얻어진 피드백값은 멀티프라이어(M1-M4)를 거친값과 바로 아래 차수에 저장되어 있는 값이 더해서 각 레지스터(P0, P1, P2, P3)에 저장된다.The feedback value thus obtained is stored in each register (P 0 , P 1 , P 2 , P 3 ) by adding the value passed through the multiplier (M1-M4) and the value stored in the order immediately below.

즉P(3)값은 데이타 입력에 08일때 피드백값을 0F+08=07이고,That is, P (3) value is 0F + 08 = 07 when feedback value is 08 for data input.

P(3)=피드백Xα75+전P(2)P (3) = Feedback Xα 75 + All P (2)

=07Xα75

Figure kpo00006
36=2D
Figure kpo00007
36=1B가 된다.= 07Xα 75
Figure kpo00006
36 = 2D
Figure kpo00007
36 = 1B.

이때 07Xα75값은 GF(28)연산에 의하여 수행되져야 하는데 이는 제5도의 GF(28) 테이블을 참조함으로서 수행할 수 있다. 즉 07이 α의 몇승인가를 확인한후 지수곱셈후 다시 헥사(hexa)값으로 복원함으로서 곱셈을 수행한다. 예를들면 07Xα75의 경우 제5b도에서 헥사(Hexa)값의 αn테이블에서 07=α1 98임을 알수 있다.At this time, the 07Xα 75 value should be performed by the GF (2 8 ) operation, which can be performed by referring to the GF (2 8 ) table of FIG. In other words, multiplication is performed by checking the power of 07 to restore the hexa value after exponential multiplication. For example, in the case of 07Xα 75 , it can be seen that 07 = α 1 98 in the α n table of hexa (Hexa) value in FIG. 5B.

그래서 α1 9875273-25518=2D은 제5a도의 α18→2D헥사값 테이블임을 알수 있다. 이렇게 곱셈은 지수형태로 바뀐후 지수 덧셈후 이 값이 256보다 크면 255로 빼서 알파 테이블(alpha table)에 찾을수 있도록 되어 있다.Thus, it can be seen that α 1 98 X α 75 = α 273-255 = α 18 = 2D is an α 18 → 2D hexadecimal table in FIG. 5A. In this way, the multiplication is converted into an exponential form, and after exponential addition, if this value is greater than 256, it is subtracted by 255 so that it can be found in the alpha table.

제6도는 본인이 기출원한 CIRC엔코더 블럭구성도로서 시스템클럭(8.643MHZ)을 입력하여 시스템에 필요한 신호를 제공하는 콘트롤러(100)와, 오디오 데이타를 입력하여 상기 콘트롤러(100)의 제어신호에 의해 데이타를 데이타 버스에 싣는 버퍼(200)와, 상기 콘트롤러(100)으로 부터 출력된 심볼클럭을 입력하여 한프레임내의 오프셋 값을 카운팅 출력하는 오프셋 카운터(300)와, 상기 콘트롤러(100)로 부터 출력된 프레임 클럭에 의해 카운팅하여 한프레임 단위를 구분하는 프레임 카운터(400)와, 상기 오프셋카운터(300)의 카운팅 출력된 오프셋값과, 상기 콘트롤러(100)의 제어에 의한 세렉트(select)값을 입력하여 현재의 프레임을 기준으로 엔코딩하기 위해 딜레이되는 프레임의 양을 결정하기 위한 프레임 테이블(500)와, 상기 오프셋카운터(300)에서 카운팅 출력된 오프셋값과 상기 콘트롤러(100)의 제어에 의한 세렉트(select)값을 입력하여 한프레임내의 오프셋 어드레스를 발생하는 오프셋테이블(600)과, 상기 프레임 카운터(400)의 프레임 카운팅 값과 상기 프레임 테이블(500)에서 선택된 프레임 테이블 값을 가산하여 프레임 어드레스를 발생하는 가산기(700)와, 오디오 데이타와 엔코딩된 페리티 데이타를 일시 저장하는 램(800)과, 상기 램(800)에서 읽어들인 데이타를 입력하여 데이타 래치클럭에 동기를 맞추어 데이타를 입력하고 콘트롤러(100)의 제어를 받아 패리티를 발생하는 ECC로직과 상기 콘트롤러(100)에서 제어되는 ECCOUT신호에 의해 데이터버스에 데이타를 싣는 엔코더부(900)와, 상기 램(800)에서 엔코딩이 끝난 데이타를 데이타 구간에서 EFM래치 클럭에 동기를 맞추어 래치 출력하는 제1래지(1000)와, 상기 램(800)에서 엔코딩이 끝난 데이타를 패리티 구간에서 EFM래치 클럭에 동기에 맞추어 래치하여 반전출력하는 제2래치(1100)로 구성된다.6 is a block diagram of a CIRC encoder that has been previously filed. The controller 100 inputs a system clock (8.643MHZ) to provide a signal required for the system, and inputs audio data to a control signal of the controller 100. A buffer 200 for loading data onto a data bus, an offset counter 300 for inputting a symbol clock output from the controller 100 and counting an offset value within one frame, and from the controller 100. A frame counter 400 for counting one frame unit by counting by the output frame clock, a counting output offset value of the offset counter 300, and a select value under control of the controller 100. Frame count 500 for determining the amount of delayed frames for encoding on the basis of the current frame by inputting? And counting outputs from the offset counter 300. An offset table 600 for inputting a set value and a select value controlled by the controller 100 to generate an offset address in one frame, a frame counting value of the frame counter 400, and the frame table ( An adder 700 for generating a frame address by adding the frame table value selected at 500), a RAM 800 temporarily storing audio data and encoded parity data, and data read from the RAM 800; Encoder 900 for inputting data in synchronization with the data latch clock and under control of the controller 100 to load data on the data bus by ECC logic generating parity and the ECCOUT signal controlled by the controller 100. The first latch 1000 latches and outputs the encoded data in the RAM 800 in synchronization with the EFM latch clock in the data section. The latch according to the synchronization data to the EFM encoding is completed in the parity latch clock interval consists of the second latch 1100 to the inverting output.

이러한 CIRC 블럭 다이어그램에서 C1, C2엔코딩을 수행할시 즉 ECC로직을 꾸밀시 제2-3도와 같은 종래의 회로도를 사용하는 경우 많은 익스크루시브오아 게이트와 레지스터를 사용하여 시스템의 크기가 방대해지는 문제점이 있었다.When C1 and C2 encoding is performed in the CIRC block diagram, that is, when the conventional circuit diagram such as 2-3 is used when decorating ECC logic, the size of the system is increased by using many exclusive ora gates and registers. There was this.

따라서 본 발명의 목적은 C1, C2엔코딩시 PROM을 사용하여 간소화 하였으며 각연산 과정에서 필요한 레지스터 및 익스크루시브 오아게이트를 대폭줄임으로서 시스템을 소형화 할수 있는 RS엔코딩 회로를 제공함에 있다.Accordingly, an object of the present invention is to provide an RS encoding circuit which can be miniaturized by greatly reducing the registers and exclusive orages required in each calculation process by using PROM for C1 and C2 encoding.

본 발명의 다른 목적은 엔코더의 생성다항식의 계수를 곱하기 위한 멀티플라이어를 PROM을 사용하여 구현함으로서 콤팩트 디스크를 위한 RS엔코딩 뿐만아니라 다른 생성다항식을 사용하는 경우에도 PROM의 내용을 용이하게 바꿀수 있는 RS엔코딩 회로를 제공함에 있다.Another object of the present invention is to implement a multiplier for multiplying the coefficients of the generated polynomial of the encoder by using a PROM, RS encoding for compact discs as well as RS encoding that can easily change the contents of the PROM even when using other generated polynomials. In providing a circuit.

이하 본 발명은 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제7도는 본 발명에 따른 엔코더 회로도로서, P, Q1, Q2데이타를 선택적으로 입력하여 데이타 래치클럭에 동기를 맞추어 래치시키는 제11래치(901)와, 이전 상태의 최고 차수의 P, Q1, Q2데이터를 선택적으로 입력하여 데이타 래치클럭에 동기를 맞추어 래치시키는 제12래치(902)와, 상기 제11래치(901)에서 래치출력된 데이타와 제12래치(902)에서 래치출력된 데이타를 가산하여 각각의 P, Q1, Q2데이타의 피드백값을 검출하는 제1가산기(903)와, 상기 제1가산기(903)의 피드백값을 각각 입력하여 최상위 차수 및 최하위차수를 선택하기 위한 버퍼라이트 선택신호(BWRSEC)와 P, Q1, Q2데이타를 선택하기 위한 데이타 선택신호(DESELECT)에 의해 C(x)=D(x)xn×k+P(x)=Q(x)G(x)를 만족하기 위한 RS엔코더의 각스테이지의 곱셉연산을 하기위한 피롬(PROM)(904)과, 상기 피롬(904)에서 곱셈연산된 각각의 P, Q1, Q2 데이타를 이전상태의 P, Q1, Q2 데이타를 각 모드에 따라 가산하는 제2가산기(905)와, 상기 제2가산기(905)에서 가산된 Q1데이타를 입력하여 최상위 차수와 최하위 차수를 선택하기위한 버퍼라이트신호(BWRSEC)와 Q1라이트 신호에 의해 저장하고 최상위차수와 최하위 차수를 선택하기위한 버퍼리드신호(BRDSEC)와 Q1리드신호에 의해 Q1데이타를 독출하는 제1레지스터부(906)와, 상기 제2가산기(905)에서 가산된 Q2데이타를 입력하여 최상위 차수와 최하위 차수를 선택하기 위한 버퍼라이트 신호(BWRSEC)와 Q2라이트 신호

Figure kpo00008
에 의해 저장하고, 최상위차수와 최하위차수를 선택하기 위한 버퍼리드 신호(BRDSEC)와 Q2리드 신호에 의해 Q2데에타를 독출하는 제2레지스터부(907)와, 상기 제2가산기(905)에서 가산된 P데이타를 입력하여 최상위 비트 최하위 비트를 선택하기위한 버퍼라이트 선택신호(BWRSEC)와 P라이트 신호에 의해 저장하고, 최상위비트와 최하위 비트를 선택하기위한 버퍼리드 선택신호(BRDSEC)와 P리드신호
Figure kpo00009
에 의해 P데이타를 독출하는 제3레지스터부(908)와, 상기 제2-3레지스터부(906-907)에서 독출된 Q1, Q2데이타를 입력하여 Q데이타 리드 신호
Figure kpo00010
에 의해 인에이블되고 First 제어신호에 의해 Q1, Q2 데이타를 선택출력하는 MUX(909)와, 상기 2-3레지스터(906-907)에서 독출된 Q1, Q2패리티 데이타를 입력하여 가산하는 제3가산기(910)와, 상기 제3가산기(910)에서 가산된 Q1, Q2패리티 데이타를 입력하여 Q데이타 라이트 제어신호
Figure kpo00011
에 의해 래치시키는 제13래치(911)와, 상기 제13래치(911)의 Q패리티 데이타와 제3레지스터부(908)에서 출력된 P패리티 데이타를 입력하여 ECC출력 제어 신호에 의해 선택적으로 출력하는 제1버퍼(912)와, 상기 제12래치(902)와 제2가산기(905)에 연결되어 초기 클리어시나 최하위 차수 연산시 또는 패리티 데이타 쉬프트시에 제로데이타 제어신호에 의해 제로데이타를 발생하는 제2버퍼(913)로 구성된다.7 is an encoder circuit diagram according to the present invention, including the eleventh latch 901 for selectively inputting P, Q1, and Q2 data to latch in synchronization with the data latch clock, and the highest order P, Q1, Q2. 12th latch 902 for selectively inputting data and latching the data latch clock in synchronization with the data latch clock, and data latched at the eleventh latch 901 and data latched at the twelfth latch 902 are added. A buffer light selection signal for selecting the highest order and the lowest order by inputting a first adder 903 and a feedback value of the first adder 903 respectively to detect feedback values of respective P, Q1 and Q2 data ( C (x) = D (x) x n × k + P (x) = Q (x) G (x) is satisfied by the data selection signal (DESELECT) for selecting P, Q1, and Q2 data. PROM (PROM) 904 for multiplying each stage of the RS encoder for multiplication and multiply operation in the PROM 904 Input the second adder 905 for adding the P, Q1, and Q2 data of the previous state to each mode, and the Q1 data added by the second adder 905; And a first data which is stored by the buffer write signal (BWRSEC) and the Q1 write signal for selecting the lowest order and the Q1 data is read by the buffer lead signal (BRDSEC) and the Q1 lead signal for selecting the highest order and the lowest order. A buffer write signal (BWRSEC) and a Q2 write signal for selecting the highest order and the lowest order by inputting the register section 906 and the Q2 data added by the second adder 905.
Figure kpo00008
A second register unit 907 for storing Q2 data by the buffer read signal BRDSEC and the Q2 lead signal for selecting the highest order and the lowest order, and the second adder 905 Input the P data added from and store the buffer write selection signal (BWRSEC) and P write signal for selecting the most significant bit and the least significant bit, and the buffer lead selection signal (BRDSEC) and P for selecting the most significant bit and least significant bit. Lead signal
Figure kpo00009
Q data read signal by inputting the third register portion 908 to read P data by the second data and the Q1 and Q2 data read out from the 2-3 register portions 906-907.
Figure kpo00010
MUX 909 enabled by the first control signal and selectively outputting the Q1 and Q2 data by the first control signal, and a third adder for inputting and adding the Q1 and Q2 parity data read out from the 2-3 registers 906-907. 910 and the Q data write control signal by inputting the Q1 and Q2 parity data added by the third adder 910.
Figure kpo00011
The 13th latch 911 latched by the latch, the Q parity data of the 13th latch 911 and the P parity data output from the third register unit 908 to be selectively output by the ECC output control signal. A zero data connected to the first buffer 912, the twelfth latch 902, and the second adder 905 to generate zero data by a zero data control signal at the time of initial clear, lowest order calculation, or parity data shift; It consists of two buffers 913.

상기 구성에 의거 본 발명을 설명하면 다음과 같다.When explaining the present invention based on the above configuration.

먼저 제1-3레지스터부(906-908)는 4바이트(Byte)의 메모리로서 입력어드레스와 출력어드레스를 갖고 있다.First, the 1-3 register sections 906-908 have 4 bytes of memory and have an input address and an output address.

그러므로 상기 제1-3레지스터부(906-908) 각각은 제2도의 종래 엔코더에서 4개로 구성된 레지스터와 동일한 동작을 수행한다. 즉 상기 제1-3레지스터부(906-908)는 각 레지스터부를 선택하는 어드레스에 의해 P0에서 P3까지의 레지스터 입출력 기능을 선택할 수 있다.Therefore, each of the 1-3 register units 906 to 908 performs the same operation as that of four registers in the conventional encoder of FIG. That is, the 1-3 register units 906 to 908 may select register input / output functions from P0 to P3 by an address for selecting each register unit.

또한 본 발명에 다른 엔코더의 동작은 제6도의 콘트롤러(100)의 제어신호에 의해서 순차적으로 동작하게된다. 따라서 최초에 오디오 데이타를 외부 오디오 인터페이스 회로에서 읽어 제6도의 램(800)에 라이트한후 상기 램(800)에서 이미 엔코딩이 끝난 엔코딩데이타를 읽어 외부 EFM회로에 보낸후 5스텝에 걸쳐 Q엔코딩을 수행하게된다.In addition, the operation of the encoder according to the present invention is operated sequentially by the control signal of the controller 100 of FIG. Therefore, the audio data is first read from the external audio interface circuit and written to the RAM 800 of FIG. 6, and then the encoded data from the RAM 800 is read and sent to the external EFM circuit. Will perform.

이제 Q1엔코딩의 각스텝별 동작을 설명하면 상기 램(800)으로부터 Q1엔코딩을 하려는 데이타를 입력하는 제1래치(901)는 데이타 래치클럭 신호에 동기를 맞추어 래치시킨다.Now, when the operation of each step of the Q1 encoding is described, the first latch 901 for inputting data to be Q1 encoded from the RAM 800 is latched in synchronization with the data latch clock signal.

또한 동시에 제1레지스터부(906)의 최상위 레지스터의 Q1(3)데이타를 읽은 데이타를 입력하는 제2래치 (902)는 데이타 래치 클럭 신호에 동기를 맞추어 Q1(3) Data를 래치시킨다. 상기 제11-12래치(902)에서 래치 출력된 데이타는 제1가산기(903)에서 가산 출력하게 된다.At the same time, the second latch 902 for inputting data reading Q1 (3) data of the most significant register of the first register 906 latches Q1 (3) Data in synchronization with the data latch clock signal. The latched data of the 11th-12th latch 902 is added and output by the first adder 903.

상기 제1가산기(903)에서 가산출력된 데이타는 피롬(904)에 입력되는데 이때 제1레지스터부(906)의 Q1(2)데이타를 읽어 상기 제1가산기(903)에서 얻어진 피드백 데이타로부터 제2도의 α75멀티플라이어를 곱한값과 더해져 제1레지스터부(906)의 Q1(3)버퍼에 저장된다. 이때 멀티플라이어 PROM은 버퍼 라이트신호(BWRSEC)에 의한 곱할 계수 α75, α24, α78, α6및 데이타 선택신호(DSElect)에 의한 Q1, Q2, P로 구성되는 데이타의 종류가 결정되는 제9도와 같은 테이블로 구성된다.The data added and output by the first adder 903 is input to the pyrom 904, from which the Q1 (2) data of the first register unit 906 is read and the second data is obtained from the feedback data obtained by the first adder 903. In addition to multiplying the α 75 multiplier in FIG. 1, the result is stored in the buffer Q1 (3) of the first register 906. In this case, the multiplier PROM includes a first multiplier for determining the type of data including the coefficients α 75 , α 24 , α 78 , α 6 to be multiplied by the buffer write signal BWRSEC, and Q1, Q2, and P by the data selection signal DSElect. It consists of a table like 9 degrees.

그래서 전차수 데이타값과 피드백값을 멀티플라잉한값이 제2가산기(905)에서 더해져 제1레지스터부(906)의 고차수 버퍼에 저장된다. 그리고 마지막 차수의 항은 더해질 저차수값이 없기 때문에 제2버퍼(913)에서 발생되는 제로데이타를 가산하여 연산하게된다.Therefore, a value obtained by multiplying the previous order data value and the feedback value is added by the second adder 905 and stored in the high order buffer of the first register unit 906. And since the term of the last order has no low order value to be added, it is calculated by adding zero data generated in the second buffer 913.

이와같이 Q1데이타의 연산이 수행되며 Q2데이타도 상기한 Q1데이타와 동일한 방법으로 연산이 수행되어 제2레지스터부(907)에 저장된다.As described above, the calculation of the Q1 data is performed, and the Q2 data is also stored in the second register unit 907 in the same manner as the above-described Q1 data.

이때 Q1 및 Q2의 엔코딩 수행기간에 ECCBUS로 피드백되는 이전의 Q1 및 Q2데이타는

Figure kpo00012
신호에 의해 Q1이나 Q2데이타가 선택되어 Q데이타 리드신호(QWR)에 의해 MUX(909)에서 선택출력되어 피드백된다.At this time, previous Q1 and Q2 data fed back to ECCBUS during Q1 and Q2 encoding period are
Figure kpo00012
Q1 or Q2 data is selected by the signal, and the MUX 909 is selectively outputted and fed back by the Q data read signal QWR.

한편 P데이타도 전술한 Q1 및 Q2의 데이타와 동일한 방법으로 연산이 이루어지며 제3레지스터부(90)에 저장된 P데이타를 P데이타 리드신호

Figure kpo00013
에 의해 ECC버스로 피드백시켜 연산을 수행하게 된다.On the other hand, P data is calculated in the same manner as the data of Q1 and Q2 described above, and P data stored in the third register unit 90 is converted into P data read signal.
Figure kpo00013
By feeding back to the ECC bus to perform the operation.

상기와 같이 연산이 수행되어 제1-3레지스터부(906-908)에 Q1 및 Q2패리티 데이타와 P패리티 데이타가 저장된다.As described above, the operation is performed to store the Q1 and Q2 parity data and the P parity data in the 1-3 register units 906-908.

상기 제3레지스터부(908)에 저장된 P패리티 데이타는 ECC 출력신호(ECCOUT)에 의해 제1버퍼(912)에서 버퍼링 출력하게된다. 또한 상기 제1-2레지스터부(906-907)에 저장된 Q1 및 Q2 패리티 데이타는 제3가산기(910)에서 가산된다. 상기 제3가산기(910)에서 가산된 신호는 제13래치(911)에 인가되어 Q데이타 라이트신호(QWR)에 의해 래치출력된다.The P parity data stored in the third register 908 is buffered and output from the first buffer 912 by an ECC output signal ECCOUT. Also, the Q1 and Q2 parity data stored in the 1-2 register units 906-907 are added by the third adder 910. The signal added by the third adder 910 is applied to the thirteenth latch 911 and latched out by the Q data write signal QWR.

상기 13래치(911)에서 래치출력된 신호는 제1버퍼(912)에 인가되어 ECC출력신호(RCCOUT)에 의해 버퍼링 출력하게된다.The latch output signal from the 13th latch 911 is applied to the first buffer 912 to buffer the output by the ECC output signal RCCOUT.

이와 같은 동작의 수행은 제6도의 콘트롤러(100)에서 발생되는 각 제어신호에 수행되며 상기 각 제어 신호의 타이밍도는 제8도에 도시되어 있다.Such an operation is performed on each control signal generated by the controller 100 of FIG. 6, and a timing diagram of each control signal is shown in FIG. 8.

상술한 바와 같이 콤팩트 디스크의 에러 정정 시스템에서 RS엔코더를 피롬을 사용하여 구현함으로서 하드웨어를 소형화 할수 있고 RS엔코딩시 생성다항식의 계수를 자유자재로 바꿀수 있는 이점이 있다.As described above, in the error correction system of the compact disc, the RS encoder is implemented using pyrom, so that the hardware can be miniaturized and the coefficient of the generated polynomial can be freely changed during RS encoding.

Claims (1)

광기록 재생장치의 엔코딩 회로에 있어서, P, Q1, Q2 데이타를 선택적으로 입력하여 데이타 래치클럭에 동기를 맞추어 래치시키는 제11래치(901)와, 이전 상태의 최고차수의 P, Q1, Q2 데이타를 선택적으로 입력하여 데이타 래치클럭에 동기를 맞추어 래치시키는 제12래치(902)와, 상기 제11래치(901)에서 래치출력된 데이타와 제12래치(902)에서 래치출력된 데이타를 가산하여 각각의 P, Q1, Q2 데이타의 피드백값을 검출하는 제1가산기(903)와 상기 제1가산기(903)의 피드백값을 각각 입력하여 최상위 차수와 최하위차수를 선택하기 위한 버퍼라이트 선택신호(BWRSEC)와 P, Q1, Q2 데이타를 선택하기 위한 데이타 선택신호(DSELECT)에 의해 C(x)=D(x)xn-k+P(x)=Q(x)QG(x)를 만족하기위한 RS엔코더의 각 스테이지의 곱셉연산을 하기위한 피롬(PROM) (904)과, 상기 피롬(904)에서 곱셈연산된 각각의 P, Q1, Q2 데이타를 전차수의 P, Q1, Q2 데이타를 각 모드에 따라 가산하는 제2가산기(905)와, 상기 제2가산기(905)에서 가산된 Q1 데이타를 입력하여 최상위 차수와 최하위 차수를 선택하기위한 버퍼라이트신호(BWRSEC)와 Q2라이트 신호(Q1WR)에 의해 저장하고 최상위차수와 최하위 차수를 선택하기위한 버퍼리드 신호(BRDSEC)와 Q1리드신호
Figure kpo00014
에 의해 Q1데이타를 독출하는 제1레지스터부(906)와, 상기 제2가산기(905)에서 가산된 Q2 데이타를 입력하여 최상위차수와 최하위 차수를 선택하기위한 버퍼라이트 신호(BWRSEC)와 Q2라이트 신호(Q2WR)에 의해 저장하고, 최상위차수와 최하위차수를 선택하기 위한 버퍼리드 신호(BRDSEC)와 Q2리드 신호
Figure kpo00015
에 의해 Q1데이타를 독출하는 제2레지스터부(907)와, 상기 제2가산기(905)에서 가산된 P데이타를 입력하여 최상위차수 최하위차수를 선택하기위한 버퍼라이트 선택신호(BWRSEC)와 P라이트 신호
Figure kpo00016
에 의해 저장하고, 최상위차수와 최하위차수를 선택하기위한 버퍼리드 선택신호(BRDSEC)와 P리드 신호
Figure kpo00017
에 의해 P데이타를 독출하는 제3레지스터부(908)와, 상기 제2-3레지스터부(906-907)에서 독출된 Q1, Q2 데이타를 입력하여 Q데이타 리드 신호
Figure kpo00018
에 의해 인에이블되고 First제어신호에 의해 선택출력하는 MUX(909)와, 상기 제2-3레지스터(906-907)에서 독출된 Q1, Q2패리티 데이타를 입력하여 가산하는 제3가산기(910)와, 상기 제3가산기(910)에서 가산된 Q1, Q2패리티 데이타를 입력하여 Q데이타 라이트 제어신호
Figure kpo00019
에 의해 래치시키는 제13래치(911)와,상기 제13래치(911)의 Q패리티 데이타와 제3레지스터부(908)에서 출력된 P패리티 데이타를 입력하여 ECC출력 제어 신호
Figure kpo00020
에 의해 선택적으로 출력하는 제1버퍼(912), 상기 제12래치(902)와 제2가산기(905)에 연결되어 초기 클리어시나 최하위 차수 연산시 또는 패리티 데이타 쉬프트시에 제로데이타 제어신호
Figure kpo00021
에 의해 제로데이타를 발생하는 제2버퍼(913)으로 구성함을 특징으로 하는 엔코딩 회로.
In an encoding circuit of an optical recording / reproducing apparatus, an eleventh latch 901 for selectively inputting P, Q1, and Q2 data to latch in synchronization with a data latch clock, and the highest order P, Q1, and Q2 data. Is selectively inputted to latch the data latch clock in synchronization with the twelfth latch 902 and the latched data from the eleventh latch 901 and the latched output from the twelfth latch 902, respectively. A buffer write selection signal (BWRSEC) for selecting the highest order and the lowest order by inputting a feedback value of the first adder 903 and the first adder 903 respectively to detect feedback values of P, Q1, and Q2 data RS encoder to satisfy C (x) = D (x) x nk + P (x) = Q (x) QG (x) by the data selection signal (DSELECT) for selecting P, Q1 and Q2 data. PROM (PROM) 904 for multiplying each stage of < RTI ID = 0.0 >,< / RTI > The second-order adder 905 for adding the P, Q1, and Q2 data of each order according to each mode, and the Q1 data added by the second adder 905 to input the highest order. And the buffer read signal (BWRSEC) and Q2 write signal (Q1WR) for selecting the lowest order and the buffer read signal (BRDSEC) and Q1 lead signal for selecting the highest and lowest order.
Figure kpo00014
The first register 906 for reading Q1 data and the Q2 data added by the second adder 905 to select the highest and lowest order buffer light signals (BWRSEC) and Q2 lights. Buffer lead signal BRDSEC and Q2 lead signal for storing by the signal Q2WR and selecting the highest order and the lowest order
Figure kpo00015
The second register unit 907 for reading the Q1 data and the P data added by the second adder 905 to select the lowest order of the highest order and the buffer write selection signal (BWRSEC) signal
Figure kpo00016
Buffer read select signal (BRDSEC) and P-lead signal for storing by
Figure kpo00017
Inputs the third register 908 for reading P data and the Q1 and Q2 data read out from the second and third registers 906-907, thereby providing a Q data read signal.
Figure kpo00018
MUX 909 enabled by the first control signal and selectively output by the first control signal, and a third adder 910 for inputting and adding Q1 and Q2 parity data read out from the second register 906-907; The Q data write control signal is input by inputting the Q1 and Q2 parity data added by the third adder 910.
Figure kpo00019
The 13th latch 911 latched by the second latch, and the Q parity data of the 13th latch 911 and the P parity data output from the third register unit 908 to be input.
Figure kpo00020
A zero data control signal connected to the first buffer 912, the twelfth latch 902, and the second adder 905, which are selectively outputted by the controller;
Figure kpo00021
And a second buffer (913) for generating zero data by means of the encoding circuit.
KR1019910002140A 1991-02-08 1991-02-08 Reed solomon encoding circuit of optical recording and reproducing system KR930005439B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910002140A KR930005439B1 (en) 1991-02-08 1991-02-08 Reed solomon encoding circuit of optical recording and reproducing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910002140A KR930005439B1 (en) 1991-02-08 1991-02-08 Reed solomon encoding circuit of optical recording and reproducing system

Publications (2)

Publication Number Publication Date
KR920017082A KR920017082A (en) 1992-09-26
KR930005439B1 true KR930005439B1 (en) 1993-06-21

Family

ID=19310884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910002140A KR930005439B1 (en) 1991-02-08 1991-02-08 Reed solomon encoding circuit of optical recording and reproducing system

Country Status (1)

Country Link
KR (1) KR930005439B1 (en)

Also Published As

Publication number Publication date
KR920017082A (en) 1992-09-26

Similar Documents

Publication Publication Date Title
US4777635A (en) Reed-Solomon code encoder and syndrome generator circuit
US6047395A (en) Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
KR930001071B1 (en) Error correction circuit
US4142174A (en) High speed decoding of Reed-Solomon codes
EP0129849B1 (en) Error correction method and system
US4703485A (en) Method and apparatus for computing and implementing error detection check bytes
JPS6354254B2 (en)
KR19990028201A (en) Dedicated ALU Architecture for 10-Bit Reed-Solomon Error Correction Module
JPH0653842A (en) Method and circuit for decoding of rs code data signal
US4527269A (en) Encoder verifier
EP0753942A2 (en) Word-wise processing for reed-solomon codes
US5107506A (en) Error trapping decoding method and apparatus
US5446745A (en) Apparatus for correcting errors in optical disks
KR200141094Y1 (en) A hardware-efficient method and device for encoding bch codes and in particular reed-solomon codes
KR930005439B1 (en) Reed solomon encoding circuit of optical recording and reproducing system
EP0341851A2 (en) Method and apparatus for interleaved encoding
JPH0677844A (en) Error correction device
KR950008485B1 (en) Unierror correction r-s decoder
KR100335482B1 (en) Error correcting system
JP2007013806A (en) Error correction processor
JP3099890B2 (en) Error correction device for BCH code
KR100552674B1 (en) Parallel reed-solomon encoding apparatus
KR100225857B1 (en) Error correction system
KR930000220B1 (en) Error correcting system
KR910009094B1 (en) Galois field arithmetic unit

Legal Events

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

Payment date: 20020530

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee