词条 | Commodore bus | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
释义 |
|name = Commodore serial IEEE-488 |type = Peripheral bus |image = |logo = |caption = |designer = Commodore International |design_date = {{start date and age|1980}}[1] |manufacturer = Various |production_date = 1980–present |superseded = |superseded_by = |superseded_by_date = |weight = |length = 1.8 meters maximum[2] |diameter = |width = |height = |hotplug = No |daisy_chain = Yes, up to 31 devices[3] |external = Yes |electrical = Open collector 5 V |earth = |maximum_voltage = {{nowrap|5 V}} |maximum_current = {{nowrap|3.2 mA}}[3] |audio_signal = |video_signal = |data_signal = Yes |data_bit_width = |data_bandwidth = {{nowrap|3.2–41.6 kbit/s}}[5][6] |data_devices = |data_style = Serial |cable = |physical_connector = DIN connector |num_pins = 6 |pin1=Service Request |pin1_name=SRQ |pin2=Ground |pin2_name=GND |pin3=Attention |pin3_name=ATN |pin4=Clock |pin4_name=CLK |pin5=Data |pin5_name=DATA |pin6=Reset |pin6_name=RESET |pinout_image = |pinout_caption = Female socket from the front. }} The Commodore serial IEEE-488 bus (IEC Bus), is Commodore's interface for primarily magnetic disk data storage and printers for the Commodore 8-bit home/personal computers, notably the VIC-20, C64, C128, Plus/4,[4] C16 and C65. Description and historyThe parallel IEEE-488 interface used on the Commodore PET (1977) computer line was too costly, so a cost reduced version was developed, which consisted of a stripped down, serial version of the IEEE-488 interface, with only a few signals remaining; however, the general protocol layout was kept. Commodore began using this bus with the VIC-20 (1980). Connection to the computer utilizes a DIN-6 connector. Transfer speed
Interface
Protocol descriptionThe bus signals are digital single-ended open collector {{nowrap|5 volt}} TTL and active when negative. Bus devices have to provide their own power. Because the bus lines are electrically open collector it works like a long OR gate between all device line drivers. The logical value for ground is true and vice versa. Any device may set a line "true". A line only becomes "false" if all devices signal false. Transmission begins with the bus talker holding the Clock line true, and the listener(s) holding the Data line true. To begin the talker releases the Clock line to false. When all bus listeners are ready to receive they release the Data line to false. If the talker waits more than 200 µs without the Clock line going true (idle state), listeners have to perform End-or-Identify (EOI).[9] If the Data line being false (released) isn't acknowledged by the talker within 200 µs, the listener knows that the talker is in the process of EOI that means "this character will be the last one." When the listener detects the 200 µs timeout, it must acknowledge this by pulling the Data line true for at least 60 µs, and then release it. The talker can revert to transmitting again within 60 µs by pulling the Clock line true.[9] Data is eight bits starting with the least significant bit. The Data line is set according to the bit to send (1=true=ground). Once the Data line is set, the Clock line is released to false. The Clock and Data lines will be held steady for at least 20 µs (except for Commodore 64 that needs 60 µs). After 8 bits has been sent, the talker releases the Data line to false and the listener then acknowledge the talker by pulling the Data line true within 1000 µs. After this the talker sets the Clock line true and listener sets the Data line true thus back where the transmission begun. If an EOI is signaled by holding the Clock line false the transmission is ended and the listener acknowledge this by pulling the Data line true for 200 µs.[9] The ATN line is set to true and bytes are sent like above to all devices, but the byte is interpreted as one of the commands "Talk," "Listen," "Untalk," and "Unlisten". That tell a specific device to become a talker or listener. Only devices with matching device numbers switch into talk and listen mode. A secondary address may also follow.[9] On higher logical level the host will set the ATN line to true and transmit the bytes "Device number 8, listen", "Secondary address 2, open". Next it will set the ATN line false and the host then becomes the talker, holding the Clock line true. The device will be the listener, holding the Data line true. The host will transmit the specific open command and end it with an EOI signal sequence. After this the host will set with ATN line true, "Device number 8, unlisten". Followed up by ATN line true and "Device number 8, listen", "Secondary address 2, data". Then the host sets the ATN line false and sends the data. When the host has finished sending data the ATN line is set to true and "Device number 8, unlisten" is sent.[9] When it is necessary to switch roles and make the host a listener and the device a talker the occurs after a talk command has been sent to the device. The host sets the Data line true and releases the Clock line to false. The device waits for the Clock line to go false and then pulls it to true and release the Data line to false. After this sequence the standard talk-listener interaction may follow.[9]
To read a normal file from the floppy device number 8 the command
The Commodore 1541 floppy drive uses a slower Commodore 64 compatible mode which can be deactivated for faster speed by using the command Device numbering
Device number 0–3 will not be sent to the physical bus.[11] Host implementationThe Commodore VIC-20 computer and the Commodore 1540 and 1541 floppy drives use the MOS Technology 6522 VIA to handle IEC Bus transmissions. The Commodore 64 and 128 computers and the Commodore 1571 drive use the Complex Interface Adapter. Common devices
Commodore 1541The Commodore 1541 floppy drive is the most common peripheral used with this bus and can store {{nowrap|170 KB}}. DevicesSee also
References1. ^Commodore VIC-20 History 2. ^{{Cite web|author= |accessdate=2016-04-02 |date= |publication-date= |title=Building the XE1541 serial cable |pages= |publisher= |url=https://ist.uwaterloo.ca/~schepers/xe1541.html |quote=(1) 6' or 1.8 meters (max) 4 conductor shielded cable (for serial connection) }} 3. ^{{Cite web|author= |accessdate=2016-04-02 |date= |publication-date=2016-03-04 |title=6526 complex interface adapter (CIA) |pages= |publisher= |url=http://archive.6502.org/datasheets/mos_6526_cia.pdf |quote=Output Low Current (Sinking); VOL < .4 v (PA0-PA7, PC, PB0-PB7, DB0-DB7) IOL 3.2 mA }} 4. ^{{cite web|title=Using Commodore 1541 disk drive on a Commodore + 4 |date=2005-10-03 |accessdate=2016-05-15 |url=https://plus4world.powweb.com/forum/9314 |quote=The 1541 works with the Plus/4 just fine.}} 5. ^1 {{Cite web|author= |accessdate=2016-04-02 |date=1985 |publication-date=2012-04-16 |title=Design case history: the Commodore 64 |pages= |publisher= |url=https://spectrum.ieee.org/ns/pdfs/commodore64_mar1985.pdf |quote=Programming tricks used by Epyx have yielded transfer rates of up to 2.5 kilobytes per second. }} 6. ^1 {{Cite web|title=Commodore 1571 disk drive specifications |date= |accessdate=2016-04-27 |publication-date=October 1986 |publisher=Commodore Business Machines, Inc. |url=ftp://www.zimmers.net/pub/cbm/schematics/drives/new/1571/manual/01.html}} 7. ^1 {{Cite web|author= |accessdate=2016-04-02 |date=2013-12-16 |publication-date= |title=C64 Serial I/O pinout and wiring @ old.pinouts.ru |pages= |publisher= |url=http://old.pinouts.ru/SerialPorts/SerialIOC64_pinout.shtml }} 8. ^1 2 3 4 {{Cite web|author= |accessdate=2016-04-02 |date=2005-12-10 |publication-date= |title=C-64 Workshop / Pin Connections |pages= |publisher= |url=https://ist.uwaterloo.ca/~schepers/MJK/serialbus.html }} 9. ^1 2 3 4 5 6 7 8 {{cite web|title=How the VIC/64 Serial Bus works |date=2015-04-17 |accessdate=2016-04-28 |url=https://codebase64.org/doku.php?id=base:how_the_vic_64_serial_bus_works}} 10. ^{{cite web|title=VIC-1541 |website=C64-wiki.com|date=2016-03-11|accessdate=2016-04-28|url=https://www.c64-wiki.com/index.php?title=VIC-1541&oldid=25254}} 11. ^1 2 {{cite web|title=IEC-bus documentation as used for the 1541-III IEC disected|date=2008-02-24|accessdate=2016-04-28|url=https://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf|deadurl=yes|archiveurl=https://web.archive.org/web/20170116173410/https://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf|archivedate=2017-01-16|df=}} 12. ^{{cite web|title=MPS-801 printer|url=http://sleepingelephant.com/denial/wiki/index.php?title=MPS-801_printer|publisher=DenialWIKI|accessdate=22 February 2015}} 13. ^{{cite web|title=VIC-1515 User's manual Graphic printer by Commodore|date=April 1981|publication-date=2011-11-05|accessdate=2016-04-28|url=http://www.classiccmp.org/cini/pdf/Commodore/VIC-1515%20Printer%20User's%20Manual.pdf}} 14. ^{{cite web|title=VIC-1525 Graphics Printer User Manual|url=http://www.classiccmp.org/cini/pdf/Commodore/VIC-1525%20Printer%20User%27s%20Manual.pdf|publisher=Commodore Computer|accessdate=22 February 2015}} 15. ^{{cite web|title=Commodore DPS-1101 Daisy Wheel Printer|url=https://www.recycledgoods.com/commodore-dps-1101-daisy-wheel-printer.html}} 16. ^{{cite web|title=Interpod IEEE-488 Interface|date=April 2008|accessdate=2016-04-28|url=http://mikenaberezny.com/hardware/c64-128/interpod-ieee-488-interface/}} External links
11 : CBM storage devices|Home computer peripherals|Commodore 64|Commodore VIC-20|Legacy hardware|Computer buses|Computer connectors|Computer storage buses|IEEE standards|Personal area networks|Serial buses |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。