코모도어 버스

**코모도어 직렬 버스**(Commodore serial bus, **IEC 버스**)는 코모도어 코모도어의 인터페이스로, 주로 자기 디스크 데이터 저장 및 프린터에 사용되며, 8비트 가정용 컴퓨터인 VIC-20, 코모도어 64, 코모도어 128, 플러스/4, 코모도어 16, 그리고 코모도어 65에 사용되었다.

## 설명과 역사
코모도어 PET(1977) 컴퓨터 라인에 사용된 병렬 IEEE-488 인터페이스는 너무 비쌌기 때문에, 신호 몇 개만 남기고 간소화된 직렬 버전의 IEEE-488 인터페이스가 개발되었다. 그러나 일반적인 프로토콜 레이아웃은 유지되었다. 코모도어는 VIC-20(1980)부터 이 버스를 사용하기 시작했다. 컴퓨터 연결에는 DIN-6 단자(DIN 45322)를 사용한다.

## 전송 속도

## 인터페이스
300px|섬네일

## 프로토콜 설명
버스 신호는 디지털 단일 종단 개방 컬렉터  TTL이며 로우일 때 활성화된다. 버스 장치는 자체 전원을 공급해야 한다.

버스 라인은 전기적으로 개방 컬렉터이므로 모든 장치 라인 드라이버 사이에서 긴 OR 게이트처럼 작동한다. 접지의 논리값은 참이고 그 반대도 마찬가지이다. 모든 장치는 라인을 "참"으로 설정할 수 있다. 라인은 모든 장치가 거짓을 신호할 때만 "거짓"이 된다.

전송은 버스 **토커**가 클럭 라인을 참으로 유지하고, 리스너가 데이터 라인을 참으로 유지하는 것으로 시작한다. 시작하려면 토커가 클럭 라인을 거짓으로 해제한다. 모든 버스 **리스너**가 수신 준비가 되면 데이터 라인을 거짓으로 해제한다. 토커가 클럭 라인이 참이 되지 않고 200&nbsp;μs 이상 기다리면(유휴 상태), 리스너는 End-or-Identify (EOI)를 수행해야 한다.

데이터 라인이 거짓(해제)인 것이 토커에 의해 200&nbsp;μs 이내에 확인되지 않으면, 리스너는 토커가 EOI를 진행 중이라는 것을 안다. 이는 "이 문자가 마지막 문자"임을 의미한다. 리스너가 200&nbsp;μs 타임아웃을 감지하면, 최소 60&nbsp;μs 동안 데이터 라인을 참으로 당긴 후 해제하여 이를 확인해야 한다. 토커는 클럭 라인을 참으로 당겨 60&nbsp;μs 이내에 다시 전송으로 돌아갈 수 있다.

데이터는 최하위 비트부터 시작하는 8비트이다. 데이터 라인은 전송할 비트에 따라 설정된다(1=참=접지). 데이터 라인이 설정되면 클럭 라인은 거짓으로 해제된다. 클럭 및 데이터 라인은 최소 20&nbsp;μs 동안 고정되어 유지된다(코모도어 64는 60&nbsp;μs 필요). 8비트가 전송된 후, 토커는 데이터 라인을 거짓으로 해제하고 리스너는 1000&nbsp;μs 이내에 데이터 라인을 참으로 당겨 토커를 확인한다. 이 후 토커는 클럭 라인을 참으로 설정하고 리스너는 데이터 라인을 참으로 설정하여 전송이 시작된 지점으로 돌아간다. 클럭 라인을 거짓으로 유지하여 EOI가 신호되면 전송이 종료되고 리스너는 200&nbsp;μs 동안 데이터 라인을 참으로 당겨 이를 확인한다.

ATN 라인은 참으로 설정되고, 모든 장치에 위와 같이 바이트가 전송되지만, 바이트는 "말하기", "듣기", "말하기 중지", "듣기 중지" 명령 중 하나로 해석된다. 이는 특정 장치에 토커 또는 리스너가 되도록 지시한다. 장치 번호가 일치하는 장치만 말하기 및 듣기 모드로 전환된다. 보조 주소도 뒤따를 수 있다.

상위 논리 수준에서 호스트는 ATN 라인을 참으로 설정하고 "장치 번호 8, 듣기", "보조 주소 2, 열기" 바이트를 전송한다. 다음으로 ATN 라인을 거짓으로 설정하면 호스트가 토커가 되어 클럭 라인을 참으로 유지한다. 장치는 리스너가 되어 데이터 라인을 참으로 유지한다. 호스트는 특정 열기 명령을 전송하고 EOI 신호 시퀀스로 종료한다. 이 후 호스트는 ATN 라인을 참으로 설정하고 "장치 번호 8, 듣기 중지"를 전송한다. 이어서 ATN 라인을 참으로 설정하고 "장치 번호 8, 듣기", "보조 주소 2, 데이터"를 전송한다. 그런 다음 호스트는 ATN 라인을 거짓으로 설정하고 데이터를 보낸다. 호스트가 데이터 전송을 완료하면 ATN 라인이 참으로 설정되고 "장치 번호 8, 듣기 중지"가 전송된다.

역할을 전환하여 호스트를 리스너로, 장치를 토커로 만들어야 할 경우, 장치에 말하기 명령이 전송된 후에 발생한다. 호스트는 데이터 라인을 참으로 설정하고 클럭 라인을 거짓으로 해제한다. 장치는 클럭 라인이 거짓이 될 때까지 기다렸다가 참으로 당기고 데이터 라인을 거짓으로 해제한다. 이 시퀀스 후에 표준 토커-리스너 상호 작용이 뒤따를 수 있다.

플로피 장치 번호 8에서 일반 파일을 읽으려면 코모도어 64에서 `LOAD "filename",8,1` 명령을 실행한다. 이 명령은 다음과 같은 고수준 통신을 발생시킨다:

코모도어 1541 플로피 드라이브는 느린 코모도어 64 호환 모드를 사용하는데, `OPEN 15,8,15,"UI-":CLOSE 15` 명령을 사용하여 더 빠른 속도를 위해 비활성화할 수 있다.

## 장치 번호 매기기

장치 번호 0–3은 코모도어 버스와 관련이 없다.

## 호스트 구현
VIC-20 컴퓨터와 코모도어 1540 및 1541 플로피 드라이브는 MOS 테크놀로지 6522 VIA를 사용하여 IEC 버스 전송을 처리한다. 코모도어 64 및 128 컴퓨터와 코모도어 1571 드라이브는 복합 인터페이스 어댑터를 사용한다.

## 일반적인 장치

## 장치

파일:Commodore-64-1541-Floppy-Drive-01.jpg|코모도어 1541 디스크 드라이브
파일:VC1571.JPG|VC 1571 플로피 드라이브
파일:Commodore 1581 01.jpg|코모도어 1581 디스크 드라이브
파일:Commodore Matrixdrucker MPS-802 (weißen hintergrund).jpg|코모도어 MPS 802 프린터


## 같이 보기
* 코모도어 도스
* 코모도어 64 주변기기
* 장치 대역폭 목록
* 코모도어 1541
* 패스트 로더
* 자기 테이프 데이터 저장
* IEEE-488, 원본 병렬 버전 (원래 HP-IB)
* HP-IL, IEEE-488의 또 다른 직렬화

## 각주

## 외부 링크
* 
* 
* 
*  IEC-bus documentation as used for the 1541-III IEC dissected

분류:IEEE 표준
분류:컴퓨터 버스
분류:코모도어 64
분류:직렬 버스
분류:개인 통신망
분류:레거시 하드웨어
분류:컴퓨터 단자