В начале 90-х годов организация PCMCIA (Personal Computer Memory Card International Association - международная ассоциация производителей карт памяти для персональных компьютеров) начала работы по стандартизации шин расши¬рения блокнотных компьютеров, в первую очередь предназначенных для расширения памяти. Первым появился стандарт PCMCIA Standard Release 1.0/JEIDA 4.0 (июнь 1990 г.), в котором был описан 68-контактный интерфейс и два типоразмера карт: Туре I и Туре II PC Card. Поначалу стандарт касался электрических и физических требований только для карт памяти. Был введен метаформат информационной структуры карты CIS (Card Information Structure), в которой описываются характеристики и возможности карты, - ключевой элемент взаимозаменяемости карт и обеспечения механизма PnP.
Следующая версия PCMCIA 2.0 (1991 г.) для того же разъема определила интерфейс операций ввода-вывода, двойное питание для карт памяти, а также методики тестирования. В версии 2.01 была добавлена спецификация PC CardATA, новый типоразмер Туре III, спецификация автоиндексируемой массовой памяти AIMS (Auto-Indexing Mass Storage) и начальный вариант сервисной спецификации (Card Services Specification). В версии 2.1 (1994 г.) расширили спецификации сервисов карт и сокетов (Card and Socket Services Specificaiton) и развили структуру CIS.
Стандарт PC Card (1995 г.) явился продолжением предыдущих; в нем введены дополнительные требования для улучшения совместимости и новые возможности: питание 3,3 В, поддержка DMA и 32-битного режима прямого управления шиной CardBus. В дальнейшем в стандарт были введены и другие дополнительные возможности.
Все карты PCMCIA и PC Card имеют 68-контактный разъем, назначение контактов у которого варьируется в зависимости от типа интерфейса карты. Тип интерфейса «заказывается» картой при установке ее в слот, который, естественно, должен поддерживать требуемый интерфейс. Интерфейс памяти обеспечивает 8- и 16-битные обращения с минимальным временем цикла 100 не, что дает максимальную производительность 10 и 20 Мбайт/с соответственно. Интерфейс ввода-вывода имеет минимальную длительность цикла 255 не, что соответствует 3,92/7,84 Мбайт/с для 8-/16-битных обращений.
Для дисковых устройств АТА в формате PC Card имеется специальная спецификация интерфейса.
Различают 4 типа PC Card: у них у всех размер в плане 54 х 85,5 мм, но разная толщина (меньшие адаптеры встают в большие гнезда):
· PC Card Type I - 3,3 мм — карты памяти;
· PC Card Type II - 5 мм — карты устройств ввода-вывода,
модемы, адаптеры локальных сетей;
· PC Card Type III - 10,5 мм — дисковые устройства
хранения;
· PC Card Type IV - 16 мм
Есть еще и маленькие карты Small PC Card размером 45 х 42,8 мм с тем же коннектором и теми же типами по толщине.
Для карт памяти (динамической, статической, постоянной и флэш-памяти) ассоциация PCMCIA поддерживает и стандарт Miniature Card.
Таблица 14. Разъем PC Card
№
Тип интерфейса
16 бит
32 бита
Mem
l/O+Mem
CardBus
GND
GND
GND
D3
D3
CADO
D4
D4
CAD1
D5
D5
CAD3
D6
D6
CAD5
D7
D7
CAD7
СЕ1#
СЕ1#
CCBEO*
А10
А10
CAD9
ОЕ#
ОЕ#
CAD11
А11
А11
CAD12
А9
А9
CAD14
А8
А8
CCBE1*
А13
А13
CPAR
А14
А14
CPERR#
WE#
WE#
CGNT#
READY
IREQ#
CINT#
Vcc
Vcc
VCC
Vpp1
Vpp1
Vpp1
A16
A16
CCLK
A15
A15
CIRDY* 54
A12
A12
CCBE2#
A7
A7
CAD 18
A6
A6
CAD20
A5
A5
CAD21
A4
A4
CAD22
A3
A3
CAD23
A2
A2
CAD24
A1
A1
CAD25
АО
АО
CAD26
DO
DO
CAD27
D1
D1
CAD29
D2
D2
Резерв
WP
IOIS16»
CCLKRUN*
GND
GND
GND
GND
GND
GND
CD1#
CD1#
CCD1#
D11
D11
CAD2
D12
D12
CAD4
D13
D13
CAD6
D14
D14
Резерв
D15
D15
CAD8
CE2#
CE2#
CAD10
VS1#
VS1#
CVS1
Резерв
IORD#
CAD13
Резерв
IOWR#
CAD15
A17
A17
CAD 16
A18
A18
Резерв
A19
A19
CBLOCK#
A20
A20
CSTOPff
A21
A21
CDEVSEL*
Vcc
Vcc
Vcc
VPP2
Vpp2
Vpp2
A22
A22
CTRDY»
A23
A23
CFRAME#
A24
A24
CAD17
A25 .
A25
CAD 19
VS2#
VS2#
CVS2
RESET
RESET
CRST#
WAIT#
WAIT#
CSERR#
Резерв
INPACK*
CREQ#
6t
REG#
REG#
CCBE3*
BVD2
SPKR#
CAUDIO
BVD1
STSCHG*
CSTSCHG
D8
D8
CAD28
D9
D9
CAD30
D10
D10
CAD31
CD2#
CD2#
CCD2#
GND
GND
GND
Таблица 15. Назначение сигналов карт памяти и ввода-вывода
Сигнал
I/0
Назначение
А[10:0]
Линии шины адреса
BVD1.BVD2
1/0
Battery Volt Detection — идентификаторы батарейного питания
STSCHGff
1/0
(Ю) Сигнализация хосту о смене состояния RDY/BSY* и Write Protect. Использование этого сигнала контролируется регистром управления и состояния карты Card Config and Status Register
SPKR#
(Ю) Дискретный аудиовыход (на динамик)
CD1#,CD2#
Card Detect — сигналы обнаружения (заземлены на карте), по которым хост определяет, что карта полностью вставлена в слот
СЕ1#,СЕ2#
(Ю, Mem) Card Enable — выбор (разрешение) карты и определение разрядности передачи. Сигнал СЕ2# всегда относится к нечетному байту, СЕ1 # — к четному или нечетному, в зависимости от АО и СЕ2#. С помощью этих сигналов 8-битный хост может обмениваться с 16-битными картами по линиям D[7:0]
IORD# IOWR#
Шина данных (у 8-битных сигналы D[15:8] отсутствуют)
D[15:0] INPACK#
I/O 0
(Ю) Input Acknowledge — подтверждение ввода, ответ карты на сигнал IORD* (по этому сигналу хост открывает свои буферы данных)
IORD# IOWR#
1 1
Строб команды чтения портов
OE# RDY/BSY#
1 1
Строб команды записи портов (данные должны фиксироваться по положительному перепаду)
IREQ# INTRQ
0 0 1
Чтение данных из памяти, конфигурационных регистров и CIS Готовность карты к обмену данными (при высоком уровне) Запрос прерывания (низким уровнем) Запрос прерывания (высоким уровнем)
REG#
1 0
Выбор памяти атрибутов (Mem). Для карт Ю сигнал должен быть активен в циклах команд ввода-вывода. В режиме IDE пассивен (соединен с Vcc на стороне хоста)
RESET
Сброс (высоким уровнем)
VS1#,VS2#
Voltage Sense — сигналы определения номинала питания. Заземленный сигнал VS1 # означает способность чтения карты при питании 3,3 В
WAIT# WE#
1 0
Строб записи в память и конфигурационные регистры (в IDE не используется, соединяется хостом с Vcc)
WP
Write Protect — защита от записи (для карт памяти), запись в память возможна при низком уровне
IOCS16#
Разрешение 16-битного обмена
Интерфейс карт памяти и ввода-вывода прост - он практически совпадает с интерфейсом статической асинхронной памяти. Карта выбирается сигналами СЕ#, действующими одновременно с установленным адресом. Чтение памяти и конфигурационных регистров выполняется по сигналу ОЕ#, запись - по сигналу WE#. Признаком, разделяющим в этих обращениях основную память и конфигурационные регистры, принадлежащие области памяти атрибутов карты, является сигнал REG#, действующий одновременно с СЕ# и адресом. Для обращения к портам ввода-вывода служат отдельные сигналы IORD* и IOWR#; во время их действия должен быть активен и сигнал REG#. В процессе обращения к портам карта может выдать признак возможности 16-битных обращений сигналом IOSC16* (как на шине ISA). Чтение порта устройство должно подтверждать сигналом INPACK*, устанавливаемым и снимаемым картой по сигналу СЕ#. Благодаря этому сигналу хост может убедиться в том, что он читает не пустой слот.
Слоты PC Card могут предоставлять возможность прямого доступа к памяти (DMA). Реализация DMA - самый дешевый способ разгрузки процессора, но такая реализация имеется не на всех хостах, а только на простых, основанных на шине ISA. Для систем с шиной PCI более естественно прямое управление шиной CardBus, правда, для карт реализация прямого управления обходится не дешево.
Для мультимедийных карт имеется возможность переключения интерфейса в специальный режим ZVPort (Zoomed Video), в котором организуется отдельный двухточечный интерфейс передачи данных между картой и хост-системой. По смыслу интерфейс напоминает коннектор VFC графических карт - выделенная шина для передачи видеоданных, не связанная с остальными шинами (и не загружающая их), но имеет иной протокол. В режиме ZV Port адресные линии А[25:4], а также линии BVD2/SPKR*, INPACK* и IOIS16# получают иное назначение - по ним передаются видеоданные и 4 цифровых аудиоканала. Для обычного интерфейса остаются лишь 4 адресные линии, позволяющие адресоваться к 16 байтам общей памяти и атрибутов карты.
Интерфейс порта ZV соответствует временным диаграммам CCIR601, что позволяет декодеру NTSC в реальном времени доставлять видеоданные с карты в экранный буфер VGA. Видеоданные могут поступать на карту как с внешнего видеовхода, так и с декодера MPEG.
Карты имеют специальное выделенное пространство памяти атрибутов, в котором находятся конфигурационные и управляющие регистры карты, предназначенные для автоконфигурирования. Стандартом описан формат информационной структуры карты (Card Information Structure, CIS). Карты могут быть многофункциональными (например, комбинация модема и сетевого адаптера). В спецификации MFPC (Multiple Function PC Cards) для каждой функции предусматриваются отдельные конфигурационные регистры и определяются правила разделения (совместного использования) линии запроса прерывания.
Для устройств внешней памяти стандарт описывает форматы хранения данных, совместимые с FAT MS-DOS, а также ориентированные на флэш-память как основной носитель информации. Для непосредственного исполнения модулей ПО, хранящихся в ПЗУ карты, имеется спецификация XIP (eXecute In Place), описывающая программный интерфейс вызова этих модулей (вместо загрузки ПО в ОЗУ).
Стандарт описывает программный интерфейс сервисов карт (Card Services), обеспечивающий унификацию взаимодействия его клиентов (драйверов, прикладного ПО и утилит) с устройствами. Имеется также и интерфейс сервисов сокета (Socket Services), с помощью которого выполняются операции, связанные с обнаружением фактов подключения-отключения карт, их идентификации, конфигурирования питания и аппаратного интерфейса.
В стандарте имеются описания специфических особенностей, свойственных двум организациям, ведущим стандарт PC Card.
· PCMCIA описывает автоиндексируемую массовую память
(AIMS) для хране¬ния больших массивов данных (изображений, мультимедийных данных) на блочно-ориентированных устройствах. Имеется также спецификация 15-кон¬тактного экранированного разъема для подключения модемов и адаптеров локальной сети (15-pin Shielded Modem I/O connector) и 7-контактного для под¬ключения модемов (7-pin Modem I/O connector).
· JEDIA для карт памяти предлагает формат файлов Small
Block Flash Format, упрощающий файловую систему. Формат SISRIF (Still Image, Sound and Related Information Format) предназначен для записи изображений и звука на карты памяти. Имеется и спецификация для карт динамической памяти.
Большинство адаптеров выпускается с поддержкой технологии PnP и предусматривает «горячее» подключение - интерфейсные карты могут вставляться и выниматься без выключения компьютера. Для этого контакты шин питания имеют большую длину, чем сигнальные, обеспечивая их упреждающее подключение и запаздывающее отключение. Два контакта обнаружения карты CD1 # и CD2# (Card Detect) короче остальных - их замыкание для хоста означает, что карта полностью вставлена в слот. Несмотря на возможность динамического конфигурирования, в некоторых случаях при изменении конфигурации требуется перезагрузка системы.
Первоначально карты и хост-системы использовали напряжение питания логики +5 В. Для перехода на низковольтное питание (3,3 В) был введен механический ключ, не допускающий установки карты на 3,3 В в слот, дающий только 5 В. Кроме того, были определены контакты 43 (VS1#) и 57 (VS2#) для выбора питающего напряжения. На картах с питанием 5 В они оба свободны; на картах 3,3 В контакт VS1# заземлен, a VS2# свободен. По этим линиям хост, допускающий оба варианта напряжения питания, определяет потребности установленной карты и подает соответствующее напряжение. Если хост не способен обеспечить требуемый номинал, он должен не подавать питание, а выдать сообщение об ошибке подключения. Карты обычно поддерживают управление энергопотреблением (АРМ), что особо актуально при автономном питании компьютера.
В стандарте PC Card выпускают самые разнообразные устройства - память, устройства хранения, коммуникационные средства, интерфейсные порты, игровые адаптеры, мультимедийные устройства и т. п., правда, все они существенно дороже своих крупногабаритных аналогов. Через слот PC Card портативные компьютеры могут подключаться к докстанциям, в которые может быть установлена обычная периферия. Недостаточно строгое следование производителей стандарту иногда приводит к проблемам совместимости.
Слоты PC Card подключаются к системной шине блокнотного ПК через мост; для компьютеров с внутренней шиной PCI это будет мост PCI-PC Card. В блокнотных ПК могут быть и слоты Small PCI, но они недоступны без вскрытия корпуса и не допускают «горячей» замены устройств.