Книга: Аппаратные интерфейсы ПК. Энциклопедия

6.5.1. Интерфейсы PCMCIA, PC Card и CardBus

6.5.1. Интерфейсы PCMCIA, PC Card и CardBus

В начале 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 Specification) и развили структуру 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-битных обращений. Интерфейс CardBus поддерживает практически такой же протокол обмена, что и PCI, но с некоторыми упрощениями. Тактовая частота 33 МГц и разрядность 32 бита обеспечивают пиковую пропускную способность в пакетном цикле до 132 Мбайт/с, картам предоставляется возможность прямого управления шиной (bus mastering). Здесь используется та же система автоматического конфигурирования, что и в PCI (через регистры конфигурационного пространства). В интерфейс заложены дополнительные возможности для цифровой передачи аудиосигнала, причем как в традиционной форме ИКМ, так и в новой (забытой старой) форме ШИМ (PWM).

Для дисковых устройств ATA в формате PC Card имеется специальная спецификация интерфейса (см. п. 9.2.1).

Различают 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 мм (упоминания об этом типе на сайте www.pc-card.com найти не удалось).

Есть еще и маленькие карты Small PC Card размером 45?42,8 мм с тем же коннектором и теми же типами по толщине.

Для карт памяти (динамической, статической, постоянной и флэш-памяти) ассоциация PCMCIA поддерживает и стандарт Miniature Card (см. п. 9.3.4).

Назначение контактов разъемов для разных типов интерфейса приведено в табл. 6.18, назначение сигналов для интерфейсов карт памяти и ввода-вывода — в табл. 6.19. Для карт CardBus обозначение сигналов начинается с префикса «С», за которым следует имя сигнала, принятое для шины PCI (см. п. 6.2.2).

Таблица 6.18. Разъём PC Card

Тип интерфейса Тип интерфейса
16 бит 32 бита 16 бит 32 бита
Mem I/O+Mem CardBus Mem I/O+Mem CardBus
1 GND GND GND 35 GND GND GND
2 D3 D3 CAD0 36 CD1# CD1# CCD1#
3 D4 D4 CAD1 37 D11 D11 CAD2
4 D5 D5 CAD3 38 D12 D12 CAD4
5 D6 D6 CAD5 39 D13 D13 CAD6
6 D7 D7 CAD7 40 D14 D14 Резерв
7 СЕ1# CE1# CCBE0# 41 D15 D15 CAD8
8 А10 A10 CAD9 42 CE2# CE2# CAD10
9 ОЕ# OE# CAD11 43 VS1# VS1# CVS1
10 А11 A11 CAD12 44 Резерв IORD# CAD13
11 А9 A9 CAD14 45 Резерв IOWR# CAD15
12 А8 A8 CCBE1# 46 A17 A17 CAD16
13 А13 A13 CPAR 47 A18 A18 Резерв
14 А14 A14 CPERR# 48 A19 A19 CBLOCK#
15 WE# WE# CGNT# 49 A20 A20 CSTOP#
16 READY IREQ# CINT# 50 A21 A21 CDEVSEL#
17 Vcc Vcc Vcc 51 Vcc Vcc Vcc
18 Vpp1 Vpp1 Vpp1 52 Vpp2 Vpp2 Vpp2
19 A16 A16 CCLK 53 A22 A22 CTRDY#
20 A15 A15 CIRDY# 54 A23 A23 CFRAME#
21 A12 A12 CCBE2# 55 A24 A24 CAD17
22 A7 A7 CAD 18 56 A25 A25 CAD19
23 A6 A6 CAD20 57 VS2# VS2# CVS2
24 A5 A5 CAD21 58 RESET RESET CRST#
25 A4 A4 CAD22 59 WAIT# WAIT# CSERR#
26 A3 A3 CAD23 60 Резерв INPACK# CREQ#
27 A2 A2 CAD24 61 REG# REG# CCBE3#
28 A1 A1 CAD25 62 BVD2 SPKR# CAUDIO
29 А0 А0 CAD26 63 BVD1 STSCHG# CSTSCHG
30 D0 D0 CAD27 64 D8 D8 CAD28
31 D1 D1 CAD29 65 D9 D9 CAD30
32 D2 D2 Резерв 66 D10 D10 CAD31
33 WP IOIS16# CCLKRUN# 67 CD2# CD2# CCD2#
34 GND GND GND 68 GND GND GND

Таблица 6.19. Назначение сигналов карт памяти и ввода-вывода

Сигнал I/O Назначение
А[10:0] I Линии шины адреса
BVD1, BVD2 I/O Battery Volt Detection — идентификаторы батарейного питания
STSCHG# I/O (IO) Сигнализация хосту о смене состояния RDY/BSY# и Write Protect. Использование этого сигнала контролируется регистром управления и состояния карты Card Config and Status Register (IO)
SPKR# O (IO) Дискретный аудиовыход (на динамик)
CD1#, CD2# O Card Detect — сигналы обнаружения (заземлены на карте), по которым хост определяет, что карта полностью вставлена в слот
СЕ1#, СЕ2# I (IO, Mem) Card Enable — выбор (разрешение) карты и определение разрядности передачи. Сигнал СЕ2# всегда относится к нечетному байту, СЕ1 # — к четному или нечетному, в зависимости от А0 и СЕ2#. С помощью этих сигналов 8-битный хост может обмениваться с 16-битными картами по линиям D[7:0]
D[15:0] I/O Шина данных (у 8-битных сигналы D[15:8] отсутствуют)
INPACK# O (IO) Input Acknowledge — подтверждение ввода, ответ карты на сигнал IORD# (по этому сигналу хост открывает свои буферы данных)
IORD# I Строб команды чтения портов
IOWR# I Строб команды записи портов (данные должны фиксироваться по положительному перепаду)
OE# I Чтение данных из памяти, конфигурационных регистров и CIS
RDY/BSY# I Готовность карты к обмену данными (при высоком уровне)
IREQ# O Запрос прерывания (низким уровнем)
INTRQ O Запрос прерывания (высоким уровнем)
REG# I Выбор памяти атрибутов (Mem). Для карт IO сигнал должен быть активен в циклах команд ввода-вывода. В режиме IDE пассивен (соединен с Vcc на стороне хоста)
RESET I Сброс (высоким уровнем)
VS1#, VS2# O Voltage Sense — сигналы определения номинала питания. Заземленный сигнал VS1# означает способность чтения карты при питании 3,3 В
WAIT# O Запрос (низким уровнем) на продление цикла обращения
WE# I Строб записи в память и конфигурационные регистры (в IDE не используется, соединяется хостом с Vcc)
WP O Write Protect — защита от записи (для карт памяти), запись в память возможна при низком уровне
IOCS16# O Разрешение 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# и I0IS16# получают иное назначение — по ним передаются видеоданные и 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 (SPCI, см. п. 6.2.9), но они недоступны без вскрытия корпуса и не допускают «горячей» замены устройств.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.462. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз