글쓴이 : SOONDORI
픽업 모듈과 <RF 보드>와, 양자를 연결하는 다리의 상태와, Leaf 스위치를 포함하는 지엽적인 회로가 모두 정상이라는 판단하에 이어가는 글.
* 관련 글 : 금성사 GCD-606 CDP 탐구하기 (17), 메인 수광센서 획득 펄스의 전달 오류 검토
■ SONY가 머라~카는지를 해석하기
“참나! 또 일본인 특유의 영어 울렁증인가?” 개떡같이… 읽는 것조차 어렵게 적어 놓았다. 결국, OCR 프로그램으로 TEXT를 추출하고, 단락 조각을 하나하나 분리.
1) The servo circuit is kicked when the disc starts rotating. This kick is performed when IC401 pin [7] input (CLV) goes low. It goes high once in run-up mode, and after run-up, goes
low again. (→ CD 구동 회로가 화들짝 깨어나서 일을 하는 장면을 KICK으로 정의. 이 CLV 펄스는 IC301 마이크로컨트롤러 #17핀에서 나온다 → 펄스 확인 필요. 기타 운용 상황을 통제하므로 제어 펄스를 받은 CX193 IC의 #7핀에서는, (상황에 따라서) 아래와 같은 펄스가 관측될 것이다)
2) When the servo circuit is kicked and the disc rotates, VS goes low and Q403 turns off. A data pulse, as shown in Fig. 13 [1], is input to Q203. The rotation speed of the disc is still slow at this time, and the longest intervals of the Sync signals in the data are longer than normal value 11T. (→ KICK을 시작하자마자 이 펄스가 LOW. 그러므로 V_be 충족이 안 되는 Q403는 OFF 상태로. 어떤 경우, 데이터 패킷에 담긴 동기화 신호의 대기가 11초를 초과할 수도 있다. 이 VS 펄스는 IC301 마이크로컨트롤러 #18핀에서 나온다 → 펄스 확인 필요)
3) This pulse is changed to a sawtooth wave by Q203, R244 and C218 as shown in Fig. 13 [2]. The peak of this sawtooth wave corresponds to the length of the pulse intervals in Fig. 13 [1]. (→ 매뉴얼 작성자는, 무슨 생각을 하신 것인지… “This Pulse”라는 모호한 표현이 혼란을 만든다. 이 펄스는 픽업 쪽에서 오는 CD 기록 정보(=Data Pulses)이다. 그것이 Q203 중심 적산기를 통과하면서 어떤 Slope 파형으로 바뀐다는 의미)
The longer the interval, the higher the peak. After this the highest value of this sawtooth wave is held by the IC203 (A), D201, C219 peak hold circuit and it is changed to DC. Therefore this DC voltage is determined by the sawtooth wave peak value of the longest sync signals in the data. (→ 적산기를 거친 아날로그 파형을 다이오드로 정류하면 DC 전압이 될 것인데, 그 DC 전압의 높낮이를 가지고… “디스크 회전 속도” 내지 ‘정속 상태인지 여부’ 등을 가늠한다는 의미)
This voltage must be lowered as the disc rotation speed becames faster, so there is a discharge resistor, R245. The voltage which was peak held is bottom at IC203 (B). This is to prevent the voltage from rising even if data interval which is longer than sync signal enters momentarily because of data drop-out. The voltage obtained in this way is compared with the voltage set at RV402 by IC402 (A), and the servo the signal is obtained. RV402 is set so that IC402 (A) output is about 3V. (→ 높은 전압은 CD 회전이 느리다는 것. 반대로 낮을수록 정속 회전에 가깝다. 나열된 기준과 조정 수단을 가지고, 디스크 현재 속도(=어떤 전압)를 설정한다 → 권고 예시는, VR402 10K를 조정하여 IC402 #1핀의 출력이 약 3V가 되도록 조정)
이쯤에서 1항, 2항, 3항을 종합하면,
a) 마이크로컨트롤러 #17핀과 #18핀 펄스 조합에 따라 Kick 동작 시작, b) 모터 회전 스피드는 VR402로 조정한다, c) SONY는, Kick과 Run-Up과 Rotating 세 가지 상태를 분리하고 있다. 각각은 ‘초기 시동 단계’, ‘속도 증가 단계’, ‘정속 회전 단계’에 매핑됨.
그렇고… 이하는 모터가 정상 회전 중일 때의 이야기.
4) When the disc is rotating at the prescribed speed. When the disc is run-up and rotating at this speed, the set can read the data, so 1/8 WFCK is input to IC401 pin [8]. (→ (전압 비교에 의해서) 정상 회전 속도에 도달한 것이 확인되면, CD 기록 정보에 바탕을 둔 1/8 WFCK 클럭이 IC 401 #8핀에 전달된다)
Also, VS goes high and the run-up circuit mentioned above is cut off from the servo system, and servo is applied by IC401. The Q416 is a circuit which detects disc stop. (→ 정상 회전 중이므로 VS 펄스는 LOW이다. 그런 상태를 바꾸는 어떤 국면이 되면 VS가 HIGH로 → 앞서 그런 모습의 파형 제시가 있었다. 한편으로, Q416은 디스크 정지를 감지하는 포인트 → TP18 파형 확인 필요)
5) When IC301 pin [17] goes high, and IC401 is in STOP mode, the disc motor is braked. This happens because IC401 pin [5] goes low and pin [6] goes high. Then IC401 pin [8] input frequency becomes less than 1/8 of normal and brake is automatically released. However, on this model, a 1/8 WFCK is input here. 1/8 WFCK is obtained by frquency dividing the PLCK obtained from VCO. Therefore, even when the disc rotation decreases, VCO is oscillating at free run frequency, so 1/8 WFCK frequency does not drop. (→ 말이 너무 많으니 넘어가는 게 좋을 듯. 요지는, 마이크로컨트롤러 #17 CLV가 이 HIGH가 되면, 정지 국면(=Stop Mode)으로 진행하고 여차저차 디스크는 회전하지 않는다. HIGH를 만드는 조건 중 하나로 1/8 WFCK가 있다 → 펄스 확인 필요)
6) Therefore, unless IC40l pin [8] input is cut, the disc will begin reverse rotation. So, Q416 detects disc rotation stop, turn on Q402, shunts 1/8 WFCK and releases the brake. (→ 그러다가 IC401 #8핀 입력이 없다면, 최대한 빨리 회전을 멈추기 위해서 역회전한다. 세상의 회전 제어계에서 흔히 작은 역회전 변량을 주니까 그러려니… → Q416에 의한 감지 후 Q402 쪽 Brake 동작)
7) When disc rotation stops, the input pulse to Q203 ceases, so IC203 (A) output rises to the maximum value. This output passes through IC202 and is compared with set voltage at Q416 and Q416 collector goes low. (→ 그래서? CD 회전이 완전히 멈추면, IC202 출력 전압은 최대치로 → Q203 적산기 반응이 달라지니까, 당연한 일 → 그 출력이 HIGH이면, 정해진 절차에 따라 CD 회전이 중단되었다고 해석해도 된다)
8) Through this, IC301 is informed that disc rotation has stopped and makes pin [19] (BRAKE) high. This output turns on Q402 so WFCK 1/8 is shunted and IC401 brake mode is released. (→ 역시 마이크로컨트롤러가 모든 것을 쥐락펴락하고 있다. 여기서, STOP과 BRAKE 개념을 다르게 쓰고 있음. STOP은 Run-Up에 대응하는, ‘정지 중’ 상태. Brake는 완전히 정지하고 CD 회전을 못 하도록… 파킹한 상태)
이상을 재정리하면,
[ 디스크를 돌리는 로직 플로우 ]
1항~3항의 기술에 의하여… 사용자가 PLAY 버튼을 누르거나 트레이 Close 버튼을 누른다 → IC301 마이크로컨트롤러 #17핀 CLV 펄스가 HIGH에서 잠깐 LOW로(= KICK 신호) → HIGH였던 IC301 #18핀 펄스가, 더 긴 시간 동안 LOW로 → 디스크 정상 회전.
일정한 속도에 도달하였는지 여부는, 3항에 기술된 목표값(예, 3V) 대 현재값의 비교에 의해서.
[ 디스크를 정지시키는 로직 플로우 ]
4항~8항에 의하여… 사용자가 STOP 버튼을 누르거나 트레이 OPEN 버튼을 누른다 → CLV와 VS 펄스 패턴 조합에 의한 정지 명령 처리 → 물체 관성을 고려하는 어쩌고 저쩌고를 진행 → 파킹 = Brake 상태.
도는 것과 돌지 않는 것의 핵심은,
모든 것을 통제하는 것은 당연히 IC301 마이크로컨트롤러. 주된 통제 펄스는 CLV와 VS와 BRAKE이다. 세 가지가 HIGH이냐 LOW이냐에 따라서 모든 게 달라진다. 따라붙는 IC들, 트랜지스터들, CX193은 그냥 종 된 존재.
참고삼아, 상상의 로직 플로우를 적어보자면,
여하한 사용자 조작 및 CD가 돌아야 하는 상태 감지 → [CLS와 VS 펄스 송출 ] → KICK과 RUN-UP 모드 변경 → 아날로그 회로에 의한 정속 회전 상태(Rotation, Rotating) 진입 → [CLS와 VS 펄스 송출] → STOP 모드 즉, 감속 중 상태로 진입 → 적산기 출력으로 완전히 감속된 것을 확인하였으면 [BRAKE 펄스 송출] → 일정 시간 동안 완전 파킹 모드로. 모터를 붙잡고 있으니 디스크는 헛돌지 않음 → 잠시 후 파킹 상태 해제. 건들건들 물리적인 스탠바이 상태로.
(시간 흐른 후)
■ 현물의 펄스와 기타 변수 확인
두 개 마이크로컨트롤러가 합심하여 통제 시스템을 구성한다. (4비트급으로 추정되는 두 개를 쓴 것은, 그 시절의 기술 여건이 그렇고 그래서. 요즘 같으면 당연히 One Chip으로)
1) 왼쪽 IC302 마이크로컨트롤러 : SONY는 System Control용이라고 함.
환경 변수용으로 임의 정의한… 키 조작 감지, LED 점멸 등 잡다한 인터페이스와 트레이 위치 감지용 Leaf 스위치 모니터링 등을 저리한다. 트레이가 제자리에 들어왔고, CD가 적재된 것 확인했고, 기타 무엇도 확인했다면 ,4비트 통신 채널을 통해서 IC301에게 공이 넘어가는 구조.
2) 오른쪽 IC301 마이크로컨트롤러 : SONY는 Servo Control용이라고 함.
사용자 키 조작과 CD가 트레이 안에 있는지 없는지 등 부대 정보를 가지고, CLV 펄스 등을 이용하는 <서보 컨트롤> 프로세스를 처리한다. 1)항이 비정상이면 이쪽 프로세스는 진행 불가.
(▲ 소니가 아무렇게나 정한 마이크로컨트롤러의 단서에서… VS(Output to turn the disc motor run-up-circuit ON/OFF), CLV(Output to operate the disc motor servo circuit), CLVS, Brake, FS(=Focus Search ON/OFF), FSR(=Output for Focus Search Signal))
현재는,
1) (사람은 전혀 알 수 없는 상황으로서) IC302가 OK~! 를 외치지 못하는 상태이거나,
2) OK! 를 외쳤지만, IC301과 예하 회로가 정신이 나가서, 최소한의 KICK도 못하는 상황이거나. 그러다가 CDP가 자꾸 CD를 넣어달라며 트레이를 내뱉는 것이고. CDP는 집어넣은 CD를 못 먹는 빈대떡 정도로 인식하고 있다.
(시간 흐른 후)
마스터 클럭 점검 → 두 IC 모두 6Mhz → OK.
CD를 넣고 트레이 Close 버튼 누름 → CLV = HIGH 지속, VS = LOW 지속, Brake = LOW 지속. 가장 중요한 제어 펄스인 CLV에 HIGH/LOW가 보여야 하는데…
확실히 단정하기를, 마이크로컨트롤러가 KICK 지령을 내리지 않는다.
이것은, 앞선 글에 정리한, “5항) When IC301 pin [17] goes high, and IC401 is in STOP mode, the disc motor is braked.”에 부합하는 상태이고…
(시간 흐른 후)
두 마이크로컨트롤러가 환경 변수를 어떻게 인지하는지 확인해 보았다.
의심했던 것과 달리, <Limit Switch 보드>~<RF 보드>~마이크로컨트롤러가 배치된 <Servo 보드> 안쪽의 로컬 경로까지는 문제가 없음.
(▲ 픽업 모듈이 최대한 기기 앞쪽으로 이동한 상태 → 리프 스위치 접점이 붙은 상태 → IC301 #30핀은, 풀업(Pull-Up) 저항에 의해 계속 HIGH인 상태)
다음으로, <TP18>와 감지기로 동작한다는 Q416의 주변을 확인해 보았다 → 딱히… 특기 사항 없음.
이것도 아니고 저것도 아니고… 도대체, KICK 펄스 송출을 막는 것은 무엇일까? 아무래도 어떤 입력 변수일 듯한데…
(시간 흐른 후)
이번에는 전압 기준으로, 두 마이크로컨트롤러의 상황을 가늠해 보기.
1) IC302 쪽의 이상 유무를 확인 → 특기 사항 없음.
2) IC301 쪽을확인 → CN32 커넥터 연결 라인에 이상 전압이 관측되고, #20핀 라인에 연결된 D406 제너다이오드 전압도 이상하다.
왜 그런지를 확인해 보면,
1) 접점 불량이나 냉땜이 흔히 발생하는 커넥터의 오류일 수도 있다는 기대감에… SUB_Q, EM_PB 라인을 열심히 따라가 보기.
SUB_Q인 CX7933 #13핀 출력이 실제로 2.**V이다. 그런데, TOC 읽기조차 못 한 상태라는 점과 이 IC는 흐름상 한참 뒤 쪽에 위치한다는 점을 생각하여, 기억만 하고 그냥 넘어감. 뭐… 어떤 상태의 단순 결과일 가능성이 있다.
2) ‘0.6V(0.2V)’라는 기표값보다 훨씬 높은 전압이 관측된 Q407 + 제너다이오드 쪽은… 제너다이오드를 분리하여 테스트해 보니 단품 자체는 정상. (인쇄 문자열은, ‘2.7B1’. 2.7V급)
그러니까 별 일 없는 것. SONY 담당자가 기표를 잘못했거나, 현재 벌어진 어떤 문제의 부차적 결과이거나.
모든 상황을 요약하면,
1) (CD를 잠깐 강제로 돌릴 때) 픽업모듈은 정상적으로 신호를 출력한다. 다만, 수광 강도 문제 또는 하드웨어 노이즈 필터링 때문에 그 신호가 넉넉하게 <RF 보드>로 넘어가지 않는다.
2) 1)항이 오류의 근본 원인이 아니라는 전제에서, “IC301이 초기 단계 KICK 펄스를 생성하지 않는다. 일감으로 입력 변수에 어떤 것이 숨어 있다” 정도로 잠정 정리.
글이 너무 길어졌기에 잠시 끊어 가기. 다음 글에서 계속.
* 관련 글 : 금성사 GCD-606 CDP 탐구하기 (19), 신호 전달 오류와 KICK 펄스 생성 오류의 검토 #1