코모도어 버스

Commodore bus
코모도어 시리얼 IEEE-488


Commodore-64-Back-serial-IEEE488.jpg
유형주변기기 버스
생산 이력
디자이너 코모도어 인터내셔널
설계된1980년; 42년 전(1980년)[1]
제조원여러가지
생산.1980–현재
일반사양
길이최대 1.8 미터[2]
핫 플러그 대응아니요.
데이지 체인네, 최대 31대의[3] 디바이스
외부의네.
6
커넥터 DIN 커넥터
전기
신호.오픈 컬렉터 5V
최대 전압 5 V
최대 전류 3.2 mA[4]
데이터.
데이터 신호네.
비트레이트 3.2 ~ 41.6 kbit/s[5][6]
프로토콜시리얼
핀 배치
Commodore serial bus DIN socket pinout.png
전면에서 볼 수 있는 암컷 소켓.
핀 1SRQ서비스 요청
핀 2GND
핀 3ATN주의
핀 4CLK시계
핀 5데이터.데이터.
핀 6리셋리셋

코모도어 시리얼 IEEE-488 버스(IEC 버스)는 코모도어 8비트 가정용/퍼스널 컴퓨터, 특히 VIC-20, C64, C128, Plus/4,[7] C16C65용 주로 자기 디스크 데이터 스토리지 및 프린터용 Commodore 인터페이스입니다.

설명 및 이력

코모도어 PET(1977) 컴퓨터 라인에 사용되는 병렬 IEEE-488 인터페이스는 너무 비용이 많이 들기 때문에 IEEE-488 인터페이스의 제거된 직렬 버전으로 구성되고 소수의 신호만 남아 있었지만 일반적인 프로토콜 레이아웃은 유지되었다.코모도어는 이 버스를 VIC-20(1980년)과 함께 사용하기 시작했다.컴퓨터에의 접속에는, DIN-6 커넥터(DIN 45322)가 사용됩니다.

전송 속도

세우다 스피드 유효 비트레이트
코모도어 64 + 1541 400 바이트/초 3200 비트/초
Commodore 64 + 1541 (고속 로더 포함) 2560 바이트/초[5] 20 480 비트/초
코모도어 128 + 1571 5200 바이트/초[6] 41,600 비트/초
이론상 20µs[3] 6250 바이트/초 50,000 비트/초

인터페이스

Commodore-64-Back-serial-IEEE488 pinout.jpg
[8] 배치
이름. 기능.
1 /SRQIN 호스트에 의해 서비스되는 주변기기를 요구하기 위한 서비스 요청 입력(C64).고속 전송에 [9]C128에서 사용됩니다.
2 GND 접지[8]
3 /ATN 시리얼 ATN 입력/출력시리얼 데이터 전송의 시작을 나타내려면 , 호스트([9]C64)에 의해서 낮게 설정합니다.
4 /CLK 시리얼 CLK 입력/출력소프트웨어 [9]핸드쉐이크에 사용됩니다.
5 /데이터 시리얼 데이터 입력/출력데이터 비트 [9]전송
6 /리셋 페리페럴을 리셋하고 오래된 C64도 [9]리셋합니다.

프로토콜 설명

버스 신호는 디지털 싱글 엔드 오픈 컬렉터 5V TTL이며 낮으면 활성화됩니다.버스 장치는 자체 전력을 공급해야 합니다.

버스 라인은 전기적으로 개방된 콜렉터이기 때문에 모든 디바이스 라인 드라이버 에 긴 OR 게이트처럼 작동합니다.접지 논리값은 참이며 그 반대도 마찬가지입니다.어떤 장치에서도 "true" 행이 설정될 수 있습니다.회선은 모든 디바이스가 false로 시그널링 했을 경우에만 false가 됩니다.

전송은 버스 토커가 클럭 회선을 true로 유지하고 리스너가 데이터 회선을 true로 유지하는 것으로 시작합니다.토커를 시작하려면 클럭 행을 false로 해제합니다.모든 버스 리스너가 수신 준비가 되면 데이터 행을 false로 해제합니다.토커가 클럭 회선이 true가 되지 않고 200초 이상 대기하는 경우(아이돌 상태), 청취자는 End-or-Identify(EOI)[3]를 실행해야 합니다.

데이터 행이 false(released)인 것이 200밀리초 이내에 토커에 의해 인식되지 않는 경우, 리스너는 토커가 EOI 처리 중임을 인식합니다.즉, "이 문자가 마지막 문자가 됩니다.청취자는 200의 타임아웃을 검출하면 최소 60초간 Data 행을 true로 풀어서 이를 확인 응답한 후 해방해야 합니다.토커는 클럭 회선을 [3]true로 당기면 60초 이내에 다시 전송으로 되돌릴 수 있습니다.

데이터는 최하위 비트부터8비트입니다데이터 라인은 전송할 비트(1=true=ground)에 따라 설정됩니다.데이터 행이 설정되면 클럭 행이 false로 해제됩니다.클럭 회선과 데이터 회선은 최소 20 µs 동안 안정적으로 유지됩니다(60 µs가 필요한 Commodore 64 제외).8비트가 송신되면, 토커는 데이터 행을 false로 해방하고, 리스너는 1000초 이내에 데이터 회선 true를 풀어서 토커에 응답합니다.그 후, 토커는 클럭 회선을 true로 설정하고, 리스너는 데이터 회선을 true로 설정합니다.이것에 의해, 전송이 개시된 곳으로 돌아옵니다.Clock line false를 유지함으로써 EOI가 시그널링되면 전송은 종료되고 청취자는 200초 동안 Data line [3]true를 풀링하여 이를 확인합니다.

ATN 행은 true로 설정되며 위와 같이 바이트가 모든 디바이스에 송신되지만 바이트는 "Talk", "Listen", "Untalk" 및 "Unlisten" 명령어 중 하나로 해석됩니다.특정 디바이스에 대해 말하는 사람 또는 듣는 사람이 되도록 지시합니다.디바이스 번호가 일치하는 디바이스만 통화/수신 모드로 전환됩니다.세컨더리 주소 뒤에 [3]있는 경우도 있습니다.

상위 논리 수준에서 호스트는 ATN 회선을 true로 설정하고 바이트 "Device number 8, listen", "Secondary address 2, open"을 전송합니다.다음으로 ATN 회선이 false로 설정되고 호스트가 talker가 되어 Clock 회선이 true로 유지됩니다.디바이스는 리스너가 되어, 데이터 라인이 true인 채로 있습니다.호스트는 특정 open 명령을 전송하고 EOI 신호 시퀀스로 종료합니다.이 후 호스트는 ATN 행 true, "디바이스 번호 8, 수신 해제"로 설정됩니다.이어서 ATN 회선 true와 "디바이스 번호 8, 수신 대기", "세컨더리 주소 2, 데이터"가 표시됩니다.그런 다음 호스트는 ATN 회선을 false로 설정하고 데이터를 전송합니다.호스트에서 데이터 송신이 완료되면 ATN 회선이 true로 설정되고 "Device number 8, unlisten"이 전송됩니다.[3]

롤을 전환하여 호스트를 리스너로, 디바이스를 토커로 할 필요가 있는 경우,는 talk 명령어가 디바이스에 송신된 후에 발생합니다.호스트는 데이터 행을 true로 설정하고 클럭 행을 false로 해제합니다.디바이스는 클럭 행이 false가 될 때까지 기다렸다가 그것을 true로 끌어내고 데이터 행을 false로 해제합니다.이 시퀀스 후에 표준 토크 리스너 상호작용이 이루어질 [3]수 있습니다.

버스[3] 명령어
코드 의미.
디바이스 0x20 리슨, 디바이스(0~30)
0x3F 수신 해제, 모든 디바이스
디바이스 0x40 Talk, 디바이스
0x5F 언토크, 모든 디바이스
채널 0x60 다시 열기, 채널(0~15)
채널 0xE0 닫힘, 채널
채널 0xF0 오픈, 채널

플로피 디바이스 번호8에서 일반 파일을 읽으려면 다음 명령을 사용합니다.LOAD "filename",8,1코모도어 64에서 발행됩니다.이것에 의해, 다음과 같은 높은 레벨의 통신이 행해집니다.

고급 프로토콜[10]
명령어 목적지 의미.
/28 장치 들어봐요, 8번 장치
/F0 장치 채널 0을 엽니다.
장치 파일 이름 바이트 전송
3층 장치들 모든 디바이스 수신 해제
/48 장치 Talk, 디바이스 번호8
/60 장치 채널 0을 다시 엽니다.
디바이스 번호 8이 버스의 마스터가 됩니다.
주인 바이트 데이터 수신
호스트가 버스의 마스터가 됩니다(통상 동작).
/5F 장치들 모든 디바이스의 언토크
/28 장치 들어봐요, 8번 장치
/E0 장치 채널 0을 닫습니다.
3층 장치들 모든 디바이스 수신 해제

Commodore 1541 플로피 드라이브는 더 느린 Commodore 64 호환 모드를 사용합니다. 이 모드는 명령을 사용하여 더 빠른 속도를 위해 비활성화할 수 있습니다.OPEN 15,8,15,"UI-":CLOSE 15를 클릭합니다.[11]

디바이스 번호부여

Commodore 64 KERNAL[10] ROM별 디바이스 번호 부여
장치 유형
0 키보드
1 카세트 포트
2 사용자 포트의 RS-232 또는 PET의 두 번째 카세트
3 화면.
4–5 프린터
6 일반적으로 플로터 장치
7 두 번째 플롯터?
8–15 디스크(10 – 일부 시리얼-패럴렐 프린터 인터페이스에서 사용)
16–30 알 수 없는
31 모든 디바이스에 대한 명령어로 예약됨

디바이스 번호 0 ~3은 Commodore [10]버스에 관련되어 있지 않습니다.

호스트 구현

Commodore VIC-20 컴퓨터와 Commodore 15401541 플로피 드라이브는 MOS Technology 6522 VIA를 사용하여 IEC 버스 전송을 처리합니다.Commodore 64 및 128 컴퓨터와 Commodore 1571 드라이브는 복합 인터페이스 어댑터를 사용합니다.

공통 장치

장치 정보
코모도어 1541 5 인치 170 KB 플로피
코모도어 1570 5 인치 170 KB 플로피
코모도어 1571 5 인치 350 ~410 KB 플로피
코모도어 1581 3 인치 800 KB 플로피
MSD SD-1/SD-2 5 인치 싱글/듀얼 170 KB 플로피
코모도어 MPS 801 도트 매트릭스 프린터
코모도어 1515[12] 도트 매트릭스 프린터
코모도어 1520 볼펜 프린터
코모도어 VIC-1525[13] 도트 매트릭스 프린터
코모도어 VIC-1526 MPS 802 도트 매트릭스 프린터 브랜드 변경.
Okimate 10 도트 매트릭스 프린터
코모도어 DPS-1101[14] 데이지 휠 프린터
인터포트 스탠드아론 IEEE-488 + RS-232[15]
코모도어 VIC-20 1MHz 5KB 컴퓨터
코모도어 64 1MHz 64KB 컴퓨터
코모도어 SX-64 1MHz 64KB 컴퓨터
코모도어 128 2 MHz 128 KB 컴퓨터
코모도어 16 1~2MHz 16KB 컴퓨터
Commodore Plus/4 1.76MHz 64KB 컴퓨터
코모도어 65 3.54MHz 128KB 컴퓨터


장치들

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Commodore VIC-20 History". Archived from the original on 2015-02-14. Retrieved 2016-04-02.
  2. ^ "Building the XE1541 serial cable". Retrieved 2016-04-02. (1) 6' or 1.8 meters (max) 4 conductor shielded cable (for serial connection)
  3. ^ a b c d e f g h i "How the VIC/64 Serial Bus works". 2015-04-17. Retrieved 2016-04-28.
  4. ^ "6526 complex interface adapter (CIA)" (PDF). 2016-03-04. Archived from the original (PDF) on 2016-04-10. Retrieved 2016-04-02. Output Low Current (Sinking); VOL < .4 v (PA0-PA7, PC, PB0-PB7, DB0-DB7) IOL 3.2 mA
  5. ^ a b "Design case history: the Commodore 64" (PDF) (published 2012-04-16). 1985. Retrieved 2016-04-02. Programming tricks used by Epyx have yielded transfer rates of up to 2.5 kilobytes per second.
  6. ^ a b "Commodore 1571 disk drive specifications". Commodore Business Machines, Inc. October 1986. Retrieved 2016-04-27.
  7. ^ "Using Commodore 1541 disk drive on a Commodore + 4". 2005-10-03. Retrieved 2016-05-15. The 1541 works with the Plus/4 just fine.
  8. ^ a b "C64 Serial I/O pinout and wiring @ old.pinouts.ru". 2013-12-16. Retrieved 2016-04-02.
  9. ^ a b c d e "C-64 Workshop / Pin Connections". 2005-12-10. Retrieved 2016-04-02.
  10. ^ a b c "IEC-bus documentation as used for the 1541-III IEC disected" (PDF). 2008-02-24. Archived from the original (PDF) on 2017-01-16. Retrieved 2016-04-28.
  11. ^ "VIC-1541". C64-wiki.com. 2016-03-11. Retrieved 2016-04-28.
  12. ^ "VIC-1515 User's manual Graphic printer by Commodore" (PDF) (published 2011-11-05). April 1981. Retrieved 2016-04-28.
  13. ^ "VIC-1525 Graphics Printer User Manual" (PDF). Commodore Computer. Retrieved 22 February 2015.
  14. ^ "Commodore DPS-1101 Daisy Wheel Printer".
  15. ^ "Interpod IEEE-488 Interface". April 2008. Retrieved 2016-04-28.

외부 링크