Шина ISA (Industrial Standart Architecture) является самой распространенной в промышленных компьютерах по следующим причинам:

наибольшее количество систем из-за невысокой цены;

огромное разнообразие приложений;

скорость передачи до 2 Мбит/c;

хорошая помехоустойчивость;

большое количество совместимого оборудования и программного обеспечения.

Временные диаграммы циклов обмена для устройств ввода/вывода (УВВ) приведены на рисунке 1.5 (все временные параметры приведены для частоты SYSCLK, равной 8 МГц). Циклы начинаются с выставления задатчиком (управляющим устройством шины) адреса на линиях SAO...SA15 и сигнала -SBHE. Отметим, что, несмотря на потенциальную возможность адресации по 16 линиям адреса, чаще всего используются только 10 младших линий SAO...SA9, так как большинство разработанных ранее плат расширения используют только их, и, следовательно, за исключением особых случаев нет смысла обрабатывать старшие разряды SA10...SA15.

В ответ на получение адреса исполнитель (подчиненное устройство шины), распознавший свой адрес, должен сформировать сигнал -I/O CS16 в случае, если обмен должен быть 16-разрядным.

Далее следует собственно команда чтения или записи. При цикле чтения задатчик выставляет сигнал -IOR, в ответ на который исполнитель должен выдать данные на шину данных. Эти данные должны быть сняты исполнителем после окончания сигнала -IOR. В цикле записи задатчик выставляет записываемые данные и сопровождает их стробом записи -IOW. Здесь надо отметить, что хотя в соответствии со стандартом установка записываемых данных предшествует выставлению -IOW, в некоторых компьютерах реализуется обратный порядок: сначала выставляется -IOW, а затем появляются данные. Поэтому при проектировании УВВ надо рассматривать как момент действительности данных только задний (положительный) фронт сигнала -IOW.

В случае, когда УВВ не успевает выполнить требуемую от него команду в темпе системной шины, оно может приостановить на целое число периодов сигнала SYSCLK завершение цикла чтения или записи с помощью снятия (перевода в низкий уровень) сигнала I/O CH RDY (так называемый удлиненный цикл). Это производится в ответ на получение сигнала -IOR или -IOW. Сигнал I/O CH RDY может удерживаться низким не более 15,6 мкс, в противном случае процессор переходит в режим обработки немаскируемого прерывания. Отметим, что некоторые изготовители персональных компьютеров указывают в сопроводительной документации другие допустимые величины этого временного интервала (например, 2,5 мкс), так что не следует ориентироваться на максимальную величину, указанную в стандарте, иначе нет гарантии работы УС во всех компьютерах.

Рисунок 1.5 - Временные диаграммы циклов чтения и записи (Т -- период сигнала SYSCLK; все временные интервалы в наносекундах)

При проектировании УВВ помимо протоколов обмена по системной шине надо учитывать также электрические характеристики сигналов. Стандарт шины ISA определяет требования к входным и выходным токам приемников и источников сигнала каждой из плат расширения. Несоблюдение этих требований может нарушить функционирование всего компьютера и даже вывести его из строя.

Выходные каскады системных передатчиков сигналов УВВ должны выдавать ток низкого уровня не меньше 24 мА (это относится ко всем типам выходных каскадов), а ток высокого уровня--не меньше 3 мА (для выходов с тремя состояниями и ТТЛ).

Входные каскады системных приемников сигналов должны потреблять входной ток низкого уровня не больше 0,8 мА, а входной ток высокого уровня -- не больше 0,04 мА.

Кроме этого необходимо учитывать, что максимальная длина печатного проводника от контакта магистрального разъема до вывода микросхемы не должна превышать 65 миллиметров, а максимальная емкость относительно земли по каждому контакту магистрального разъема не должна быть больше 20 пФ.

К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на шину питания +5 В. К линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW, -I/O CH СК подключены резисторы 4,7 кОм, к линиям -I/O CS 16, -MEM CS 16, -REFRESH, -MASTER, -OWS - 300 Ом, а к линии I/O CH RDY -- 1 кОм. Кроме того, к некоторым линиям магистрали подключены последовательные резисторы: к линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW и OSC - резисторы номиналом 22 Ом, а к линии SYSCLK -- 27 Ом.

Таблица 1.1 - Описание сигналов шин ISA

Обозначение

Назначение

Нап-равление

источника

Адресные сигналы

LA<23...17>

Адресные сигналы

Разрешение старшего байта по линиям SD<15...8>

Строб для записи адреса по линиям LA

Разрешение адреса. Сообщает устройствам о выполнении на шине циклов ПДП

Шина данных

Чтение памяти (чтение памяти в пределах первого мегабайта адресного пространства)

Запись в память (запись в память в пределах первого мегабайта адресного пространства)

Чтение УВВ

Запись в УВВ

Выбор цикла для памяти, указывает о том, что память 16-ти разрядная

Выбор цикла для УВВ, указывает о том, что УВВ 16-ти разрядное

Готовность канала ввода/вывода. Предназначен для удлинения циклов доступа

0 тактов ожидания

Регенерация памяти

Ведущий. Предназначен для захвата шины внешней платой

Проверка канала ввода/вывода. Сообщение о фатальной ошибке

Сброс устройств

Системная частота

Частота, равная 14.3818 МГц

IRQ<15,14,12,

11,10,9,7...3>

Запрос на прерывание

DRQ<7...5,3...0>

Запрос на ПДП

DASK<7...5, 3...0>

Подтверждение ПДП

Окончание счета ПДП

Примечание:

В таблице используются следующие обозначения:

знак “-” (минус) перед обозначением сигнала означает, что активный уровень этого сигнала - логический ноль;

I - сигнал является входным для внешних плат;

О - сигнал является выходным для внешних плат;

I/O - сигнал является как входным, так и выходным для внешних плат;

ТРИ - выход микросхемы с тремя допустимыми состояниями на выходе;

ТТЛ - выход микросхемы транзисторно-транзисторной логики;

ОК - открытый коллекторный выход.

Таблица 1.2 - Назначение выводов шины ISA

Номер вывода

Сторона А

Сторона B

Сторона C

Сторона D

Таблица 1.3 - Электрические характеристики источников сигналов шины ISA

передатчик

Приемник

передатчик

приемник

Передатчик

Примечания:

все токи в таблице указаны в миллиамперах. Знак “-” перед значением тока означает, что ток вытекает из внешней платы в слот шины;

линия с открытым коллекторным выходом может быть подключена к ТТЛ входу;

по линии с открытым коллекторным выходом ток Ioh (ток утечки) не должен превышать для каждого слота 0.4 миллиампера.

Таблица 1.4 - Максимальные токи потребления внешней платой шины ISA

Напряжение

Примечания:

Внешняя плата использует только 8-ми разрядный слот;

Внешняя плата использует 16-ти разрядный слот;

таблица информирует о том, какие токи разрешается пропускать через разъем внешней платы.

ISA Bus (Industry Standard Architecture) - шина расширения, применявшаяся с первых моделей PC и ставшая промышленным стандартом, В компьютере XT использовалась шина с разрядностью данных 8 бит и адреса - 20 бит. В компьютерах AT ее расширили до 16 бит данных и 24 бит адреса. Конструктивно, как показано на рис. 6.1, шина выполнена в виде двух щелевых разъемов с шагом выводов 2,54 мм (0,1 дюйма). В подмножестве ISA-8 используется только 62-контакт¬ный слот (ряды А, В), в ISА-16 применяется дополнительный 36-контактный слот (ряды С, D). Шина РС/104, разработанная для встраиваемых контроллеров на базе PC, отличается от обычной ISA только конструктивно. В шине EISA - дорогом 32-разрядном расширении ISA - используется «двухэтажный» слот, позволяющий устанавливать и обычные карты ISA.

Для шины ISA выпущено (и продолжает выпускаться) огромное количество разнообразных карт расширения. Ряд фирм выпускает карты-прототипы (Prototype Card), представляющие собой печатные платы полного или уменьшенного формата с крепежной скобой. На платах установлены обязательные интерфейсные цепи - буфер данных, дешифратор адреса и некоторые другие. Остальная часть платы свободна, и здесь разработчик может разместить макетный вариант своего устройства. Эти платы удобны для проверки нового изделия, а также для монтажа единичных экземпляров устройства, когда разработка и изготовление печатной платы нерентабельно.

Рис. 26 Слот ISA

В каждый момент времени шиной может управлять только одно устройство-задатчик, обращающееся к ресурсам (портам или ячейкам памяти) устройств-исполнителей. Шина ISA обеспечивает возможность обращения к 8- или 16-битным регистрам устройств, отображенным на пространства ввода-вывода и памяти. Диапазон адресов памяти для устройств ограничен областью верхней памяти UM А (АОООО-FFFFFh). Для шины ISA-16 настройками CMOS Setup может быть разрешено пространство между 15-м и 16-м мегабайтом памяти (при этом компьютер не сможет использовать более 15 Мбайт ОЗУ). Для шины ISA диапазон адресов ввода-вывода сверху ограничен количеством задействованных для дешифрации бит адреса, нижняя областью адресов О-FFh недоступна (зарезервирована под устройства системной платы). В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса А устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISА ограничивается областью lOOh-3FFh. Впоследствии стали применять 12-битную адресацию (диапазон lOOh-FFFh). При этом приходится учитывать возможность присутствия на шине старых 10-битных адаптеров, которые «отзовутся» на адрес с подходящими ему битами А во всей допустимой области 12-битного адреса четыре раза (у каждого 10-битного адреса будет еще по три 12-битных псевдонима). Полный 16-битный адрес используется только в шинах EISA и PCI.

Шина ISA-8 может предоставить до 6 линий запросов прерываний, ISА-16 - 11. Часть из них могут «отобрать» устройства системной платы или шина PCI.

Шина ISA-8 позволяет использовать до трех 8-битных каналов DMA. На 16-бит¬ной шине доступны еще три 16-битных и один 8-битный канал.

Все перечисленные ресурсы шины должны быть бесконфликтно распределены. Бесконфликтность подразумевает выполнение перечисленных ниже условий.

  • Каждое устройство-исполнитель должно управлять шиной

данных только при чтении по его адресам или по используемому им каналу DMA. Области адресов, по которым выполняется чтение регистров различных устройств, не должны пересекаться. Поскольку при записи шиной данных управляет лишь текущий задатчик, возможность конфликтов, приводящих к искажениям данных, исключена. «Подсматривать» операции записи, адресованные не данному устройству, не возбраняется.

  • Назначенную линию IRQx или DRQx устройство должно

держать на низком уровне в пассивном состоянии и переводить в высокий уровень для активации запроса. Неиспользуемыми линиями запросов устройство управлять не имеет права, они должны электрически отсоединяться или подключаться к буферу, находящемуся в третьем состоянии. Одной линией запроса может пользоваться только одно устройство. Такая нелепость (с точки зрения схемотехники ТТЛ) была допущена в первых PC и из требований совместимости тиражируется до сих пор.

Задача распределения ресурсов для старых адаптеров решалась с помощью джамперов, затем появились программно конфигурируемые устройства, которые вытесняются автоматически конфигурируемыми платами PnP.

Назначение контактов слотов шин ISA и EISA приведено в таблице

Таблица 11. Основной разъем шин ISA-8, ISA-16 и EISA

Ряд В Ряд А
GND IOCHK#
Reset SD7
5 В SD6
IRQ2/9" SD5
-5 В SD4
DRQ2 SD3
-12В SD2
OWS# 2 SD1
+12В SDO
GND IOCHDRY
SMEMW# AEN
SMEMR# SA19
IOWR# SA18
IORD# SA17
DACK3# SA16
DRQ3 SA15
DACK1# SA14
DRQ1 SA13
REFRESH» SA12
BCLK SA11
IRO7 SA10
IRQ6 SA9
IRQ5 SA8
IRQ4 SA7
IRQ3 SA6
DACK2# SA5
C SA4
BALE SA3
+5 В SA2
Osc SA1
GND SA0

1 В4: XT=IRQ2, AT=IRQ9.

2 В8: XT-Card Selected.

Таблица 12. Дополнительный разъем шин ISA-16 и ЕISA

Ряд O Ряд C
MEMCS16# SBHE#
IOCS16# LA23
IRQ10 LA22
IRQ 11 LA21
IRQ12 LA20
IRQ 15 LA19
IRQ14 LA18
DACKO# LA17
DRQO MEMR#
DACK5# MEMW#
DRQ5 SD8
DACK6# SD9
DRQ6 SD10
DACK7# SD11
DRQ7 SD12
+5B SD13
MASTER* SD14
GND SD15

Сигналы шины ISA естественны для периферийных микросхем фирмы Intel (в стиле семейства 8080). Набор сигналов ISA-8 предельно прост. Программное обращение к ячейкам памяти и пространства ввода-вывода обеспечивают следующие сигналы:

  • SD - шина данных. Иное название сигналов - Data или D.
  • SA (Addr, A) - шина адреса.
  • AEN - разрешение адресации портов (запрещает ложную

дешифрацию адреса в цикле DMA).

  • IOW# (IOWC#, IOWR#) - запись в порт.
  • IOR# (IORC#, IORD#) - чтение порта.
  • SMEMW* (SMEMWR#, SMWTC#) - запись в системную

память (в диапазоне адресов 0-FFFFFh).

  • SMEMR* (SMEMRD#, SMRDC#) - чтение системной

памяти (в диапазоне адресов 0-FFFFFh).

Ниже перечислены сигналы, относящиеся к сигналам запросов прерывания и каналам прямого доступа к памяти.

  • IRQ2/9, IRQ - запросы прерываний. Положительный

перепад сигнала вызывает запрос аппаратного прерывания. Для идентификации источника высокий уровень должен сохраняться до подтверждения прерывания процессором, что затрудняет разделение (совместное использование) прерываний. Линия IRQ2/9 в шинах XT вызывает аппаратное прерывание с номером 2, а в AT - с номером 9.

  • DRQ - запросы 8-битных каналов DMA

(положительным перепадом).

  • DACK# - подтверждение запросов 8-битных каналов
  • ТС - признак завершения счетчика циклов DMA.

Шина имеет и несколько служебных сигналов синхронизации, сброса и регенерации памяти, установленной на адаптерах.

  • IOCHRDY (CHRDY, I/OCHRDY) - готовность устройства,

низкий уровень удлиняет текущий цикл (не более 15 икс).

  • BALE (ALE) - разрешение защелки адреса. После его

спада в каждом цикле процессора линии SA гарантированно содержат действительный адрес.

  • REFRESH* (REF#) - цикл регенерации памяти (в XT

называется DACKO#).

Сигнал появляется каждые 15 мкс, при этом шина адреса указывает на очередную регенерируемую строку памяти.

  • ЮСНК# - контроль канала, низкий уровень вызывает NMI

CPU (разрешение и индикация в системных портах 061h, 062h).

  • RESET (RESDRV, RESETDRV) - сигнал аппаратного

сброса (активный уровень - высокий).

  • BCLK (CLK) - синхронизация шины с частотой около 8

МГц. ПУ могут не использовать этот сигнал, работая только по управляющим сигналам записи и чтения.

  • OSC - несинхронизированная с шиной частота 14,431818

МГц (использовалась старыми дисплейными адаптерами).

Кроме логических сигналов шина имеет контакты для разводки питания +5, -5, +12 и-12 В.

Дополнительный разъем, расширяющий шину до 16-битной, содержит линии данных, адреса, запросов прерываний и каналов прямого доступа.

  • SD - шина данных.
  • SBHE# - признак наличия данных на линиях SD.
  • LA - нефиксированные сигналы адреса, требующие

защелкивания по спаду сигнала BALE. Такой способ подачи адреса позволяет сократить задержку. Кроме того, схемы дешифратора адреса памяти плат расширения начинают декодирование несколько раньше спада BALE.

  • IRQ, IRQ - дополнительные запросы

прерываний.

  • DRQ - запросы 16-битных каналов DMA

(положительным перепадом).

  • DACK# - подтверждение запросов 16-битных каналов
  • DRQO и DACKO* - запрос и подтверждение 8-битного

канала DMA, освободившегося от регенерации памяти.

Перечисленные ниже сигналы связаны с переключением разрядности данных.

  • МEMCS16#(М16#) - адресуемое устройство поддерживает

16-битные обращения к памяти.

  • IOCS16* (I/OCS16*, Ю16#) - адресуемое устройство

поддерживает 16-битные обращения к портам.

К новым управляющим сигналам относятся следующие.

  • MEMW# (MWTC#) - запись в память в любой области до
  • MEMR# (MRDC#) - чтение памяти в любой области до 16
  • OWS# (SRDY#, NOWS#, ENDXFR) - укорочение текущего

цикла по инициативе адресованного устройства.

  • MASTER* (MASTER 16#) - запрос от устройства,

использующего 16-битный канал DMA на управление шиной. При получении подтверждения DACK Bus-Master может захватить шину.

Для передачи данных от исполнителя к задатчику предназначены циклы чтения ячейки памяти или порта ввода-вывода, для передачи данных от задатчика к исполнителю - циклы записи ячейки памяти или порта ввода-вывода. В каждом цикле текущий (на время данного цикла) задатчик формирует адрес обращения и управляющие сигналы, а в циклах записи еще и данные на шине. Адресуемое устройство-исполнитель в соответствии с полученными управляющими сигналами принимает (в цикле записи) или формирует (в цикле чтения) данные. Также оно может, при необходимости, управлять длительностью цикла и разрядностью передачи. Обобщенные временные диаграммы циклов чтения или записи памяти или ввода-вывода приведены на рис. 6.2. Здесь условный сигнал CMD* изображает один из следующих сигналов:

  • SMEMR#, MEMR# - в цикле чтения памяти;
  • SMEMW#, MEMW# - в цикле записи памяти;
  • IOR# - в цикле чтения порта ввода-вывода;
  • IOW# - в цикле записи порта ввода-вывода.

В каждом из рассматриваемых циклов активными (с низким уровнем) могут быть только сигналы лишь из одной строки данного списка, и во время всего цикла сигнал AEN имеет низкий уровень. Цикл прямого доступа к памяти, в котором это правило не соблюдается, рассмотрен ниже, и в таком цикле сигнал AEN будет иметь высокий уровень. Сигналы SMEMR* и SMEMW* вырабатываются из сигналов MEMR# и MEMW# соответственно, когда адрес принадлежит диапазону О-FFFFFh. Поэтому сигналы SMEMR* и SMEMW* задержаны относительно MEMR# и MEMW* на 5-10 не.

Рис. 27. Временные диаграммы циклов чтения или записи на шине ISA

В начале каждого цикла контроллер шины устанавливает адрес обращения: на линиях SA и SBHE# действительный адрес сохраняется на время всего текущего цикла; на линиях 1_А адрес действителен только в начале цикла, так что требуется его «защелкивание». Каждое устройство имеет дешифратор адреса - комбинационную схему, срабатывающую только тогда, когда на шине присутствует адрес, относящийся к данному устройству. В фазе адресации устройства еще «не знают», к какому из пространств (памяти или ввода-вывода) относится выставленный адрес. Но дешифраторы адресов уже срабатывают, и, когда в следующей фазе шина управления сообщает тип операции, адресуемое устройство уже оказывается готовым к ее исполнению. Если устройство использует линии LA (они нужны лишь для обращений к памяти выше границы FFFFFh), то они на дешифратор адреса должны проходить через регистр-защелку, «прозрачный» во время действия сигнала BALE и фиксирующий состояние выходов по его спаду. Это позволяет дешифратору, всегда вносящему некоторую задержку, начинать работу раньше, чем поступит управляющий сигнал чтения или записи. При обращении к портам ввода-вывода сигналы 1_А не используются.

Если устройство имеет более одного регистра (ячейки), то для выбора конкретного регистра (ячейки) ему требуется несколько линий адреса. Как правило, старшие биты шины адреса поступают на вход дешифраторов адреса, формирующих сигналы выборки устройств, а младшие биты - на адресные входы самих устройств. Тогда каждое устройство в пространстве будет занимать наиболее компактную область смежных адресов размером в 2П байт, где п - номер младшей линии адреса, поступающей на дешифратор. Из них реально необходимы 2Ш адресов, где m - номер самой старшей линии адреса, участвующей в выборе регистра устройства. В идеале должно быть n=m+l: при большем значении п отведенное (по дешифратору) пространство адресов не будет использовано полностью и регистры устройства будут повторяться в отведенной области 2n"m"1 раз, то есть у них появятся адреса-псевдонимы (alias). Адреса-псевдонимы будут отличаться от истинного адреса (минимального из всех псевдонимов) на Kx2m+1, где К - целое число. Меньшее значение п недопустимо, поскольку тогда не все регистры устройства будут доступны задатчику. В принципе можно использовать дешифратор адреса, срабатывающий только на какой-то части адресов из области 2П (не кратной степени двойки), если устройству требуется «неудобное» количество регистров. Однако на практике «фигурное выпиливание» областей из пространства адресов обычно не делают, так что часть адресов может пропадать бесполезно.

Разрядность данных в каждом цикле обращения определяется потребностями текущего задатчика и возможностями исполнителя. В IBM PC/XT и системная шина, и шина ISA были 8-разрядными, так что вопросов согласования разрядности не возникало. В IBM PC/AT286 (и 386-SX) системная шина уже 16-разрядная, и в современных ПК с 32- и 64-разрядными системными шинами контроллер шины ISA является ее 16-разрядным задатчиком. На системной плате имеется «косой буфер», он же перестановщик байтов, который при необходимости транслирует данные с младшего байта шины на старшую или обратно. Логика управления этим буфером использует сигналы SBHE#, SAO, IOCS16* и MEMCS16*. Поддержка 16-разрядных передач сообщается адресуемым исполнителем сигналами IOCS16* и MEMCS16* при срабатывании его дешифратора адреса. Сигнал IOCS16# влияет только на разрядность обращений к портам, MEMCS16* - к памяти. Все операции обмена (транзакции) начинаются задатчиком единообразно, поскольку он еще не «знает» возможностей исполнителя. Развитие событий зависит от намерений задатчика и полученных сигналов разрешения 16-битных передач. В чисто 16-разрядных машинах начальный адрес однозначно соответствует передаваемому байту или младшему байту передаваемого слова1. В машинах с 32-разрядными процессорами начальный адрес, выставляемый на шине в начале транзакции, зависит от разрядности данных, запланированной задатчиком, и может зависеть от положения адресуемых данных относительно границы двойного слова (32 битного). 16-разрядные передачи выполняются за 1 цикл только при условии передачи по четному адресу (АСНО) и при ответе исполнителя сигналом IOCS16* или MEMCS16*, в иных случаях они разбиваются на два цикла. 32-разрядные передачи будут разбиваться на 2 (16+16), 3 (8+16+8) или 4 (8+8+8+8) цикла, в зависимости от возможностей исполнителя и четности адреса. Порядок, в котором передаются байты (во времени), неоднозначен (возможен как инкремент, так и декремент адреса), но в адресном пространстве они раскладываются по своим местам однозначно.

В табл. 6.4 приводятся состояния сигналов шины ISA для различных вариантов записи в порты ввода-вывода, проверенные экспериментальным путем. Вывод 16-разрядных данных выполнялся командой OUT DX,AX (в DX - адрес порта, в АХ - данные; AL содержит младший байт, АН - старший), вывод 8-разрядных - командой OUT DX,AL. Несколько неожиданные (для автора) варианты 3 и 6 с декрементом адреса, возможно, будут иметь место не на всех системных платах, но их следует иметь в виду при проектировании устройств, претендующих на глобальную совместимость. Правда на практике 16-битных передач по нечетным адресам обычно избегают (даже чисто подсознательно), и побочные эффекты от такого порядка маловероятны.

Таблица 13. Состояние сигналов при 8- и 16-битных обращениях к устройству ISA

Сигнал (шина) 1 цикл 2 цикл
1. Вывод 16-разрядных данных в 16-битное устройство по четному адресу
SBHE# L
SA DX(AO=0)
D АН
D AL
IOCS16# L
2. Вывод 16-разрядных данных в 16-битное устройство по нечетному адресу ххх1,ххх5, xxx9,xxxD
SBHE# L H
SA DX(AO=1) DX+1 (A0=0)
D AL
D AL AH
IOCS16# L L
3. Вывод 16-разрядных данных в 16-битное устройство по нечетному адресу хххЗ,ххх7, xxxB.xxxF
SBHE# H L
SA (A0=0) DX (A0= 1
D AL
D AH
IOCS16* L L
4. Вывод 16-разрядных данных в 8-битное устройство по четному адресу
SBHE# L L
SA DX(AO=0) DX+1(AO=1)
D AH AH
D AL AH
IOCS16* H H
5. Вывод 16-разрядных данных в 8-битное устройство по нечетному адресу ххх1,ххх5, xxx9,xxxD
SBHE# L H
SA[ 1:0] DX (A0= 1) DX+1 (A0=0)
D AL
D AL AH
IOCS16# H H
6. Вывод 16-разрядных данных в 8-битное устройство по нечетному адресу хххЗ,ххх7, xxxB,xxxF
SBHE# H L
SA[ 1:0] DX+1(AO=0) DX(AO=1)
D AL
D AH AL
IOCS16# H H
7. Вывод 8-разрядных данных в 16-битное устройство по четному адресу
SBHE# H
SA DX(AO=0)
D
D AL
IOCS16* L
8. Вывод 8-разрядных данных в 16-битное устройство по нечетному адресу
SBHE# L
SA DX(AO=1)
D AL
D 0(AL?)
IOCS16* L

Момент помещения действительных данных на линии SD определяется управляющими сигналами чтения/записи, так что исполнителю не требуется синхронизация с тактовым сигналом шины. В циклах чтения адресованный исполнитель должен выдать данные на шину по началу (спаду) соответствующего сигнала чтения (IOR#, MEMR#, SMEMR#) и удерживать их до конца действия сигнала (пока не произойдет подъем сигнала). В циклах записи задатчик выставляет действительные данные несколько позже начала (спада) сигнала записи (IOW#, MEMW#, SMEMW#). Устройство-исполнитель должно фиксировать для себя эти данные в конце цикла по подъему сигнала записи. От устройства-исполнителя не предусматривается никаких подтверждений исполнения циклов; длительность цикла устанавливает задатчик, но исполнитель может потребовать удлинения или укорочения циклов. С помощью сигнала IOCHRDY исполнитель может удлинить цикл на произвольное число тактов, при этом задатчик будет вводить дополнительные такты ожидания (wait states). Обычно контроллер шины следит за длительностью цикла и по достижении критического времени принудительно его завершает (по тайм-ауту, возможно, и не сообщая об этом событии). Слишком длинные циклы тормозят работу компьютера, а превышение длительности 15 мкс может привести к сбою регенерации и потере данных в ОЗУ. С помощью сигнала OWS# исполнитель предлагает задатчику укоротить цикл, исключив такты ожидания. Реакция задатчика на одновременное использование сигналов IOCHRDY и OWS# непредсказуема, этой ситуации следует избегать.

Номинальная длительность цикла определяется чипсетом и может программироваться в BIOS Setup заданием числа тактов ожидания (wait states). При этом циклы обращения к памяти, как правило, короче циклов обращения к портам ввода-вывода. Для управления длительностью цикла используются также сигналы управления разрядностью передачи: если устройство поддерживает 16-битные передачи, предполагается, что оно может работать с меньшим количеством тактов ожидания. Этим объясняется, что в BIOS Setup длительности циклов ISA задаются раздельно как для памяти и ввода-вывода, так и для 8- и 16-битных операций. Кроме длительности цикла, устройства могут быть критичны к времени восстановления (recovery time) - длительности пассивного состояния управляющих сигналов чтения-записи между циклами. Этот параметр также может программироваться в BIOS Setup и тоже раздельно для 8- и 16-разрядных операций.

Карты расширения для подключения к шине данных, как правило, используют буферные микросхемы, раздельные для линий SD и SD. Здесь широко применяются микросхемы 74ALS245 (1533АП6) - 8-разрядные двунаправленные приемопередатчики. Буфер должен открываться сигналом ОЕ# (Output Enable - разрешение выхода), когда на шине адреса присутствует адрес, относящийся к диапазону адресов подключаемого устройства. «Дежурным» является направление передачи «от шины - к устройству»; переключение в обратную сторону производится по сигналу IOR#, если устройство представляет порты ввода-вывода, или MEMRD*, если устройство приписано к пространству памяти. Таким образом, буферы имеют право передавать данные на шину (управлять шиной данных) только во время действия сигнала чтения, относящегося к зоне адресов данного устройства. Карта расширения может являться комбинацией 8- и 16-битных устройств; например, некогда популярные мультикарты содержали 16-битный адаптер AT A и набор 8-битных контроллеров портов COM, LPT, GAME и контроллера НГМД. В таких картах логика управления буферами и сигналами IOCS16* и MSC16* управляется сигналами от дешифратора адреса. Если устройство по данному адресу является 8-разрядным (не формирует сигналы IOCS16* или MSC16*), то оно имеет право разрешать чтение только через буфер линий SD, а буфер старших линий SD (если он имеется на карте) должен быть переведен в третье состояние. Если устройство по данному адресу является 16-разрядным, то оно формирует сигнал IOCS16* или MSC16*, а разрешением буферов управляют сигналы SBHE* и SAO. В этом случае буфер линий SD разрешается только при SAO=0, а буфер линий SD разрешается только при SBHE#=L. Некорректное разрешение буферов может приводить к их конфликту с перестановщиком байтов системной платы и искажениям данных.

Восьмиразрядные устройства (например, микросхемы 8255, 8250, 8253 и т. п.) следует подключать только к линиям SD и при обращении к ним не формировать сигналы IOCS16* или MSC16*. Никакие «косые» буферы (перестановщики байтов) на интерфейсных картах не нужны.

В одном из источников описывается эффект перестановки байтов при обращении к порту ввода-вывода: «Если прочитать слово из порта по четному адресу, значение одно, а если по нечетному - старшие 8 бит предыдущего значения становятся младшими, а старшие нового = FFh». Первые подозрения падают на ошибку в логике управления буферами. На самом деле все объясняется гораздо проще. Пусть имеется устройство с двухбайтным регистром, младший байт которого имеет адрес RO (четный), старший - RO+1, а по адресу R+2 устройство (и никакие другие) не откликается. Пусть в данный момент в нем записано число AA55h, тогда чтением порта по команде IN AX, R0 получим в регистрах процессора AL=55h, AH=AAh. Теперь если попытаться его «прочитать по нечетному адресу», то есть командой IN АХ, R0+1, то получим AL=AAh (содержимое RO+1, к которому мы на самом деле и адресовались!), a AH=FFh (результат чтения «пустоты»). Так что это не «эффект перестановки», а просто незнание общего правила «интеловской» адресации: адресом слова (двойного, учетверенного...) является адрес его младшего байта. Если в нашем устройстве применяется неполная дешифрация адреса (линия SA1 не используется ни для дешифрации адреса, ни для выбора регистра), то мы увидим полную перестановку байт - в AH=55h, результат чтения RO по адресу-псевдониму RO+2. Логика работы контроллера шины вместе со всеми буферами делает обращение к любой ячейке памяти или порту инвариантным к способу программной адресации - что закажешь, то и получишь, но требуется учитывать особенности периферийных устройств, у которых в адресации портов нередко встречаются псевдонимы. Адреса-псевдонимы встречаются и в пространстве памяти (например, копии образов BIOS под границей 1-го и 16-го мегабайтами памяти в «классических» PC/AT).

Шина ISA (I ndustrial S tandart A rhitecture) является фактически стандартной шиной для персональных компьютеров типа IBM PC/AT и совместимых с ними. Шина EISA , с которой ряд фирм выпускал персональные компьютеры, уступила шине PCI и в настоящее время используется редко. Основные отличия шины ISA персонального компьютера IBM PC/AT от своей предшественницы - шины компьютера IBM PC/XT заключаются в следующем:

    шина AT компьютеров позволяет использовать на внешних платах как 16-разрядные устройства ввода/вывода, так и 16-разрядную память;

    цикл доступа к 16-разрядной памяти на внешней плате может быть выполнен без вставки тактов ожидания;

    объем непосредственно адресуемой памяти на внешних платах может достигать 16 Мб;

    внешняя плата может становиться хозяином (задатчиком) на шине и самостоятельно осуществлять доступ ко всем ресурсам как на шине, так и на материнской плате.

1.1. Виды устройств, работающие на шине ISA

При описании шины целесообразно представить компьютер как состоящий из материнской платы (motherboard) и внешних плат, которые взаимодействуют между собой и ресурсами материнской платы через шину. Все пассивные устройства (не могущие стать задачиками) на шине можно разделить на две группы - память и устройства ввода/вывода (порты). Циклы доступа для каждой из групп отличаются друг от друга как по временным характеристикам, так и по вырабатываемым на шине сигналам.

Чисто условно, для удобства понимания функционирования шины ISA , будем считать, что на материнской плате компьютера существуют следующие устройства, способные быть владельцами (задатчиками) шины: центральный процессор (ЦП), контроллер прямого доступа в память (ПДП), контроллер регенерации памяти (КРП). Кроме этого, задатчиком на шине может быть и внешняя плата. При выполнении цикла доступа на шине задатчиком может быть только одно из устройств. Рассмотрим подробнее функции этих устройств на шине ISA .

Центральный процессор (ЦП) - является основным задатчиком на шине. По умолчанию именно ЦП будет считаться задатчиком на шине. Контроллер ПДП, а также контроллер регенерации памяти запрещают работу ЦП на время своей работы.

Контроллер ПДП - это устройство связано с сигналами запроса на режим ПДП и сигналами подтверждения режима ПДП. Активный сигнал запроса на ПДП будет разрешать последующий захват шины контроллером ПДП для передачи данных из памяти в порты вывода или из портов ввода в память.

Контроллер регенерации памяти - становится владельцем шины и генерирует сигналы адреса и чтения памяти для регенерации информации в микросхемах динамической памяти как на материнской памяти, так и внешних платах.

Внешняя плата - взаимодействует с остальными устройствами через разъем на шине ISA. Может становиться задатчиком на шине для доступа к памяти или устройствам ввода/вывода.

Кроме этого, на материнской плате компьютера имеется ряд устройств, которые не могут быть задатчиками на шине, но тем не менее взаимодействуют с ней. Это следующие устройства:

Часы реального времени (Таймер-счетчик) - это устройство состоит из часов реального времени для поддержки даты и времени и таймера, как правило на базе микросхемы Intel 8254A. Один из таймеров-счетчиков этой микросхемы вырабатывает импульсы с периодом 15 микросекунд для запуска контроллера регенерации памяти на регенерацию.

Кросс материнской платы - часть материнской платы, которая соединяет разъемы шины ISA для подключения внешних плат с другими ресурсами на материнской плате.

Память на материнской плате - часть или все микросхемы памяти прямого доступа (ОЗУ), используемые для хранения информации ЦП. На внешних платах также могут быть размещены микросхемы дополнительной памяти.

Контроллер прерываний - это устройство связано с линиями запросов прерываний на шине. Прерывания требуют дальнейшего обслуживания ЦП.

Устройства ввода/вывода - часть или все устройства ввода/вывода (такие как параллельные или последовательные порты) могут размещаться как на материнской плате, так и на внешних платах.

Перестановщик байтов данных - это устройство позволяет обмениваться данными между собой 16-разрядными и 8-разрядными устройствами.

Архитектура персонального компьютера IBM PC/AT с точки зрения использования шины ISA показана на рисунке.

Внешние платы, устанавливаемые в разъемы шины, могут быть 8- и/или 16-разрядными. 8-разрядная плата имеет только один интерфейсный разъем и может оперировать только с 8-разрядными данными. 8-разрядный слот также не может быть задатчиком на шине. 16-разрядная плата обязательно имеет два интерфейсных разъема - один основной, такой же как в 8-разрядных платах, и один дополнительный. Такая плата может оперировать как с 8-, так и с 16-разрядными данными и, кроме этого, она может быть задатчиком на шине. Общее число устанавливаемых в разъемы шины плат ограничивается как нагрузочной способностью шины, так и конструктивным исполнением материнской платы. Как правило, допускается устанавливать не более 8 (пять 16-разрядных и три 8-разрядных) внешних плат на шину. Такое ограничение вызвано также и относительно небольшим количеством свободных линий запросов на ПДП и запросов на прерывания, имеющихся на шине.

2. Характеристики задатчиков на шине

2.1. Центральный процессор

Центральный процессор по умолчанию является основным владельцем шины, контроллер ПДП и контроллер регенерации памяти могут стать задатчиками на шине, только предварительно запретив работу ЦП. Процесс запрещения работы ЦП состоит в выработке сигнала запроса на ПДП и приема сигнала подтверждения ПДП.

Центральный процессор может быть источником как 16-разрядных операций, так и 32-разрядных. Когда ЦП является 16-разрядным ресурсом, он может выполнять операции как с 16-, так и с 8-разрядными ресурсами на шине. При выполнении ЦП команды, оперирующей с 16-разрядными данными, если ресурс доступа 8- разрядный, то специальными аппаратными средствами на материнской плате в этом случае выполняются два цикла доступа. Если же ЦП является 32-разрядным, то аппаратно на материнской плате компьютера один 32-разрядный цикл работы ЦП с внешним ресурсом должен быть преобразован в два индивидуальных 16-разрядных цикла доступа.

Особенности для внешних плат. Если ЦП является задатчиком на шине, то внешние платы могут функционировать только в режиме памяти или устройства ввода/вывода.

2.2. Контроллер ПДП

Сигналы для поддержки ПДП заводятся с разъема непосредственно на контроллер ПДП, выполненный, как правило, на микросхеме Intel 8237A. Когда режим ПДП запрашивается каким-либо устройством (хотя бы один из сигналов DRQ становится активным), контроллер ПДП осуществляет захват шины у ЦП. Выдача затем соответствующего сигнала -DACK означает, что контроллер ПДП начал передачу данных. Циклы ПДП не будут выполняться на шине, если сигнал -MASTER будет разрешен с какой-либо внешней платы.

Если запрос на ПДП требуется устройству ввода/вывода, то следует учесть, что каналы 0...3 ПДП поддерживают передачу только 8-разрядных данных; все данные должны передаваться только по линиям SD<7...0> . Перестановка байтов в этом случае выполняется аппаратно на материнской плате в соответствии с сигналами SA0 и -SBHE . Такая перестановка может потребоваться, например, при передаче данных из старшего байта 16-разрядной памяти в 8-разрядный порт. Каналы ПДП 5...7 поддерживают передачу только 16-разрядных данных; все данные должны передаваться как 16-разрядные по линиям SD<15...0> . Память, участвующая в работе в режиме ПДП по этим каналам, должна быть только 16-разрядной. Перестановщик байтов на материнской плате не будет корректировать несоответствие размеров данных.

ПРИМЕЧАНИЕ: 8-разрядная память со своей стороны может передавать данные в режиме ПДП только 8-разрядным устройствам ввода/вывода; использование 8-разрядной памяти с 16-разрядными устройствами ввода/вывода не допускается.

ВНИМАНИЕ! Контроллер регенерации памяти не может захватить шину до тех пор, пока контроллер ПДП ей владеет. Это означает, что любой цикл ПДП не должен превышать 15 мкс. В противном случае может произойти потеря информации в микросхемах динамической памяти.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Сигналы запроса и подтверждения режима ПДП заведены на все внешние платы и эти сигналы вырабатываются обычными ТТЛ выходами, поэтому все внешние платы должны использовать и анализировать различные каналы ПДП. В противном случае возможен конфликт внешних слотов между собой или с устройствами на материнской плате.

Внешние слоты могут быть или памятью прямого доступа или устройством ввода/вывода, когда они взаимодействуют с контроллером ПДП.

2.3. Внешняя плата

Внешние платы могут функционировать в 5 различных режимах: задатчика шины, памяти и устройств ввода/вывода прямого доступа, памяти и устройств ввода/вывода, регенерации памяти или сброса. Платы могут поддерживать любую комбинацию из первых четырех режимов; сигналу сброса должны подчиниться все платы одновременно.

Только 16-разрядные платы с двумя интерфейсными разъемами могут становиться задатчиками на шине . Для захвата шины внешняя плата должна разрешить сигнал -DRQ и, получив сигнал -DACK от контроллера ПДП, разрешить сигнал -MASTER . На этом процедура захвата шины заканчивается.

Внешняя плата, захватив шину, может выполнять любые циклы доступа, так же как центральный процессор. Единственное ограничение - невозможность выполнять циклы ПДП, так как все интерфейсные сигналы, управляющие работой контроллера ПДП, заведены на материнскую плату и не могут быть использованы контроллером ПДП, находящимся на внешней плате. Когда внешняя плата является задатчиком на шине, контроллер ПДП запрещает сигнал AEN и это позволяет устройствам ввода/вывода нормально дешифрировать адрес и быть доступными для внешней платы. При запрещенном сигнале AEN циклы передачи ПДП невозможны (подробнее в разделе описания сигнала AEN , в гл. 3). Кроме этого, циклы ПДП не могут быть выполнены на шине также и потому, что у контроллера ПДП канал, через который был осуществлен захват шины, занят, а другие каналы контроллера ПДП не могут быть использованы до освобождения ранее занятого, т.е. до освобождения шины захватившей ее внешней платой.

ПРИМЕЧАНИЕ: Программное обеспечение, поддерживающее работу внешней платы в качестве задатчика шины, должно обеспечивать использование каналов ПДП только в режиме каскадирования. В противном случае внешняя плата не сможет осуществить захват шины.

ПРИМЕЧАНИЕ: Внешняя плата начинает любой цикл доступа как 16-разрядная, однако если сигнал -MEM CS16 или -I/O CS16 не будет разрешен, цикл будет завершен как 8-разрядный. При этом перестановщик байтов на материнской плате будет определять, по каким линиям данных (SD<15...8> или SD<8...0> ) передается байт информации, исходя из анализа сигналов -SBHE и SA0 .

ВНИМАНИЕ! Захватившая шину внешняя плата обязана не реже, чем через 15 мкс, вырабатывать сигнал -REFRESH для запроса контроллеру регенерации на регенерацию памяти. Контроллер регенерации при выполнении цикла регенерации памяти вырабатывает сигналы адреса, команд и анализирует сигнал I/O CH RDY , но внешняя плата, выработавшая сигнал -REFRESH , по завершении цикла регенерации снимает этот сигнал и продолжает оставаться задатчиком на шине. При необходимости выполнить несколько циклов регенерации сигнал -REFRESH может быть удержан внешней платой на все время требуемого количества циклов регенерации.

Контроллер регенерации памяти не может захватить шину сам до тех пор, пока контроллер ПДП (а именно через него внешняя плата становится задатчиком на шине) не освободит ее на время регенерации по сигналу -REFRESH.

2.4. Режимы прямого доступа к памяти или к устройствам ввода/вывода

Внешняя плата может работать в режиме ПДП только в том случае, если контроллер ПДП является задатчиком на шине. В режиме прямого доступа к памяти данные всегда передаются между устройством ввода/вывода и памятью на внешней плате. В режиме прямого доступа к устройству ввода/вывода данные передаются между памятью и устройством ввода/вывода на внешней плате. Внешняя плата, отвечающая на шине как 8- или 16-разрядное устройство, должна соответственно использовать 8- или 16- разрядные каналы контроллера ПДП. В табл. 2.2 показано состояние сигналов на шине для режима ПДП.

ВНИМАНИЕ! Следует специально обратить внимание на некоторые особенности при выполнении циклов передачи данных между 8-разрядными устройствами ввода/вывода и 16-разрядной памятью на внешней плате. Во-первых, внешняя плата должна анализировать сигналы -SBHE и SA0 для правильного определения передаваемых данных.

Во-вторых, при записи в УВВ из памяти на внешней плате перестановщик байтов на материнской плате будет определять, по какой половине шины данных (SD<15...8> или SD<7...0> ) следует направить байт; внешняя плата после анализа -SBHE и SA0 должна определить, по какой половине шины данных ей направить байт данных. В-третьих, при чтении УВВ в память на внешней плате перестановшик байтов направляет в память байт данных также либо по старшей половине шины данных SD<15...8> , либо по младшей половине SD<7...0> . Внешняя плата по сигналам -SBHE и SA0 должна определять, когда следует переводить в третье состояние свои выходы по младшей половине шины данных SD<7...0> во избежание столкновений на шине.

Внешняя плата может как 16-разрядная память обмениваться в режиме ПДП как с 8-ми разрядными устройствами ввода/вывода, так и с 16-разрядными. Но, если внешняя плата является 8-разрядной памятью, то в режиме ПДП она может обмениваться данными только с 8-разрядными устройствами ввода/вывода. Другая особенность относится к тому случаю, когда контроллер ПДП выполняет запись данных в 8- разрядное устройство вывода на внешней плате из 16-разрядной памяти. Если такая внешняя плата установлена в 16-разрядный слот и может работать в 16-разрядном режиме, она должна для такого случая поддерживать старшую половину шины данных SD<15...8> в третьем состоянии во избежание столкновения сигналов на шине.

ВНИМАНИЕ! Когда контроллер ПДП является задатчиком на шине, он игнорирует сигнал -0WS, поэтому если внешняя плата используется как 16-разрядная память и обмен с ней выполняется контроллером ПДП, применение быстрых микросхем памяти в такой плате лишено смысла.

Обычный доступ к внешней плате как к памяти или устройству ввода/вывода . Внешняя плата становится обычным ресурсом памяти или ввода/вывода, если задатчиком на шине является центральный процессор или другая внешняя плата.

ВНИМАНИЕ! Существуют особенности такого использования внешней платы, если она устанавливается в слот, а участвует в обмене данными как 8-разрядная память или УВВ в течении всего цикла доступа. При чтении данных в такую внешнюю плату перестановщик байтов будет переставлять данные между шинами SD<15...8> или SD<7...0> для правильного приема данных внешней платой. Внешняя плата при этом должна поддерживать свои выходы SD<15...8> в третьем состоянии, так как иначе неизбежно столкновение сигналов на шине данных.

ВНИМАНИЕ! Когда некоторые внешние платы становятся задатчиками на шине, они могут игнорировать сигнал I/O CH RDY или -0WS и выполнять цикл доступа как цикл обращения к 8- или 16-разрядной памяти. Но любые внешние платы обязаны возвращать задатчику на шине ISA эти сигналы при необходимости, так как если центральный процессор является задатчиком на шине, то он использует эти сигналы для определения продолжительности цикла доступа.

2.5. Режим сброса

Все внешние платы оказываются в режиме сброса при разрешенном сигнале RESET DRV ; иначе этот режим невозможен. Все выходы с тремя состояниями на плате должны быть в третьем состоянии и все выходы с открытым коллектором должны быть в состоянии логической единицы на время не менее 500 нс после разрешения сигнала RESET DRV . Все внешние платы должны завершить свою инициализацию за время не более 1 мс после разрешения сигнала RESET DRV и быть готовыми к выполнению циклов доступа на шине. Любые операции на шине возможны только после запрещения сигнала RESET DRV .

2.6. Контроллер регенерации памяти

Контроллер регенерации памяти выполняет циклы чтения памяти по специальным адресам на материнской плате и внешних платах для регенерации информации в микросхемах динамической памяти. Каждые 15 мкс контроллер пытается овладеть шиной для запуска цикла регенерации. Если в этот момент задатчиком на шине является центральный процессор, то он освобождает шину для контроллера регенерации. Если в этот момент шина захвачена внешней платой, то контроллер регенерации выполнит цикл регенерации только при выработке внешней платой сигнала -REFRESH . Если в этот момент задатчиком на шине являлся контроллер ПДП, то до освобождения им шины цикл регенерации не может быть выполнен.

Когда выполняется цикл регенерации, контроллер регенерации вырабатывает сигналы адреса SA<7...0> с одним из 256 возможных адресов регенерации. Другие адресные линии неопределены и могут находиться в третьем состоянии. Этот цикл может выполняться с задержкой по сигналу I/O CH RDY с разрешенными сигналами -SMEMR и -MEMR .

ВНИМАНИЕ! Циклы регенерации должны выполняться каждые 15 мкс для перебора всех 256 адресов за 4 мс. Если это условие не выполняется, данные, хранящиеся в динамической памяти, могут быть утеряны.

3. Общее описание шины ISA

В данной главе рассматриваются характеристики шины, не зависящие от типа устройства, захватившего шину.

3.1. Адресное пространство при обращении к памяти

Максимальное адресное пространство при обращении к памяти, поддерживаемое шиной ISA , 16 Мб (24 линии адреса), но не все слоты поддерживают полностью это адресное пространство. Когда задатчик на шине осуществляет доступ к памяти на материнской плате или к памяти, установленной в слот, он должен разрешать сигналы -MEMR или -MEMW ; аппаратно на материнской плате дополнительно разрешаются сигналы -SMEMR и -SMEMW , если требуемый адрес находится в пределах первого мегабайта адресного пространства. К 8-разрядным слотам подведены только линии -SMEMR и -SMEMR , SD<7...0> и SA<19...0> ; поэтому внешние платы, установленные в 8-разрядные слоты, могут быть либо только 8-разрядными устройствами ввода/вывода, либо 8-ми разрядной памятью в первом мегабайте адресного пространства. Внешние платы, устанавливаемые в 8/16-разрядные слоты, принимают все командные сигналы, адреса и данные; они могут быть как 8-, так и 16-разрядными и адресное пространство памяти на них может быть любым в пределах 16 Мб. Цикл доступа к таким внешним платам завершается как 16-разрядный, если плата разрешает сигнал -I/O CS16 или -MEM CS16 .

ПРИМЕЧАНИЕ: Память на материнской плате или внешней плате считается 16- разрядным ресурсом только в том случае, если разрешается сигнал -MEM CS16 . Этот сигнал вырабатывается из сигналов адреса LA<23...17> ; поэтому 16-разрядная память может быть выбрана только блоками по 128 Кб; внутри такого блока память не может быть частично 8-разрядной, а частично 16-разрядной, так как невозможно по обращению к меньшему блоку однозначно выработать сигнал -MEM CS16 . Разрядность внутри такого блока должна быть одинаковой при обращении по любому адресу внутри 128 Кб.

ВНИМАНИЕ! Микросхемы динамической памяти требуют циклов регенерации через каждые 15 мкс. Если циклы регенерации выполняются реже, чем через 15 мкс, то данные в памяти могут быть потеряны.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Динамическая память на материнской плате может иметь два вида своей организации - 16- или 32-разрядная. Но разрядность памяти на материнской плате принимается во внимание только центральным процессором, для внешних плат динамическая память на материнской плате всегда только 16-разрядная. ПЗУ на материнской плате, содержащее BIOS (Base Input/Output System - Базовая Система Ввода/Вывода), также всегда 16-разрядное.

3.2. Адресное пространство для устройств ввода/вывода

Максимально адресное пространство для устройств ввода/вывода, поддерживаемое шиной ISA составляет 64 Кб (16 адресных линий). Все слоты поддерживают 16 адресных линий. Первые 256 адресов зарезервированы для устройств, расположенных, как правило, на материнской плате - регистры контроллера ПДП, контроллера прерываний, часов реального времени, таймера-счетчика и других устройств, требующихся для AT совместимости различных компьютеров.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Несмотря на то, что для выбора адреса УВВ доступны все 16 сигналов адреса, традиционно для адресов УВВ в компьютерах серии IBM PC/XT/AT использовались только первые 10 разрядов адреса. Это означает, что адреса из следующих килобайтных блоков будут декодироваться также как адреса в первом килобайте адресов УВВ. Поэтому для вновь разрабатываемых внешних плат следует использовать "окна" в существующем сейчас распределении адресов стандартных УВВ для компьютеров IBM PC/AT. Для увеличения количества используемых адресов УВВ (при необходимости) можно использовать адресное пространство выбранного окна со сдвигом на 1 Кб или кратное ему значение. Очевидно, что внешняя плата в этом случае должна декодировать более чем 10 линий адреса.

3.3. Структура прерываний

Линии запроса на прерывания непосредственно заведены на контроллеры прерываний типа Intel 8259A. Контроллер прерываний будет реагировать на запрос по такой линии в случае, если сигнал на ней перейдет из низкого уровня в высокий. Шина ISA не имеет линий, подтверждающих прием запроса на прерывание, поэтому запрашивающее прерывание устройство должно само определять по реакции ЦП подтверждение приема своего запроса.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Линии запроса на прерывания заведены на все слоты и обрабатываются контроллером прерывания по нарастающему фронту сигнала. До установки новой внешней платы, если она использует в своей работе контроллер прерываний, следует определить, есть ли свободная линия запроса на прерывание и именно ее использовать для новой внешней платы. При не соблюдении этого условия возможно возникновение конфликтных ситуаций на шине.

3.4. Перестановщик байтов

Центральный процессор или внешняя плата могут выполнить как 8- так и 16-разрядные циклы доступа, причем все циклы всегда начинаются как 16-разрядные, а завершаются как 8- или 16-разрядные. Цикл доступа будет завершен как 8-разрядный, если устройство, к которому осуществляется доступ, запретит сигнал -I/O CS16 или -MEM CS16 .

Перестановщик байтов всегда находится на материнской плате. Его задача - точно согласовать размер данных, которыми обмениваются устройства. На рис. 3.1 показано место перестановщика байтов при пересылке данных между задатчиком и ресурсом, к которому осуществляется доступ. В табл. 3.1 суммируется вся информация по перестановке байтов во время циклов доступа. Перестановка байтов осуществляется с шины SD<15...0> (HIGH BYTE - старший байт) на SD<7...0> (LOW BYTE - младший байт) или наоборот. В таблице перенос байта с шины SD<15...0> на SD<7...0> обозначается как H > L, наоборот - L < H. LL означает, что байт по младшей половине шины данных не переставляется, HH - что байт по старшей половине шины не переставляется. HH/LL - и старший и младший байт передаются каждый по своей половине шины данных и не переставляются.

Таблица 3.1.

Задатчик на шине

Ресурс, к которому осуществляется доступ

Завершение цикла

Размер данных

Размер данных

Размер данных

Маршрут чтение запись

На рис. 3.2 показано место перестановщика байтов для циклов пересылки данных в режиме ПДП. В табл. 3.2 суммируется вся информация по перестановке байтов во время циклов ПДП. Перестановка байтов осуществляется с шины SD<15...0> (HIGH BYTE) на SD<7...0> (LOW BYTE) или наоборот. В таблице перенос байта с шины SD<15...0> на SD<7...0> обозначается как H > L, наоборот - L < H. LL означает, что байт по младшей половине шины данных не переставляется, HH - что байт по старшей половине шины не переставляется. HH/LL - и старший и младший байт передаются каждый по своей половине шины данных и не переставляются.


Таблица 3.2.

Устройство ввода/вывода

Контроллер ПДП

Завершение цикла

Размер данных

Размер данных

-MEM CS16

Размер данных

чтение запись

Запрещено

4. Описание сигналов на шине ISA

В этой главе описываются все сигналы на шине ISA. Для лучшего понимания функционирования шины целесообразно разбить все сигналы на 7 групп: АДРЕСА, ДАННЫЕ, СИНХРОСИГНАЛЫ, КОМАНДНЫЕ СИГНАЛЫ, СИГНАЛЫ РЕЖИМА ПДП, ЦЕНТРАЛЬНЫЕ СИГНАЛЫ УПРАВЛЕНИЯ, СИГНАЛЫ ПРЕРЫВАНИЯ, ПИТАНИЕ. Информация о направленности сигналов (вход, выход или двунаправленный) приводится относительно задатчика на шине.

4.1. Сигналы адреса

Группа сигналов адреса включает в себя адреса, вырабатываемые текущим задатчиком на шине. На шине ISA есть два вида сигналов адреса, SA<19...0> и LA<23...17> .

SA<19...0>

Адресные сигналы этого типа поступают на шину с регистров адреса, в которых адрес "защелкивается". Сигналы SA<19...0> позволяют осуществлять доступ к памяти только в младшем мегабайте адресного пространства. При доступе к устройству ввода/вывода только сигналы SA<15...0> SA<19...16> не определено.

Во время выполнения циклов регенерации адреса только сигналы SA<7...0> имеют действительное значение, а состояние сигналов SA<19...8> неопределено и эти выводы должны быть в третьем состоянии для всех устройств на шине.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Внешняя плата, ставшая задатчиком на шине, должна разрешать сигнал -REFRESH для регенерации памяти, при этом внешняя плата должна перевести свои выходные формирователи сигналов адреса в третье состояние.

LA<23...17>

Сигналы этого типа поступают на шину без "защелкивания" в регистрах. Когда центральный процессор является задатчиком на шине, то значения сигналов на линиях LA<23...17> истинны во время выработки сигнала BALE и они могут иметь произвольное значение в конце цикла доступа. Если задатчиком на шине является контроллер ПДП, сигналы LA<23...17> истинны до начала сигнала -MEMR или -MEMW и сохраняются до конца цикла. При выполнении циклов доступа к памяти сигналы LA<23...17> всегда истинны, а при доступе к устройствам ввода/вывода эти сигналы имеют уровень логического "0".

При выполнении циклов регенерации состояние линий LA<23...17> неопределено и все ресурсы на шине должны поддерживать свои выходы по этим линиям в третьем состоянии.

РЕКОМЕНДАЦИИ: Для "защелкивания" сигналов LA следует использовать только регистры с потенциальным входом. Это вызвано тем, что в этом случае новый истинный адрес появится на выходе регистра по началу сигнала BALE (а не по его заднему фронту) и, кроме этого, во время циклов доступа к памяти каким-либо другим задатчиком, а не ЦП, сигнал BALE поддерживается в состоянии логической "1" и регистр с потенциальным входом станет просто повторителем сигналов LA (что и требуется в таком случае).

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата является задатчиком на шине, то сигналы LA<23...17> должны быть истинны до начала сигнала -MEMR или -MEMW и сохраняться таковыми до завершения цикла. -REFRESH (следует помнить, что внешняя плата может это сделать, только будучи задатчиком на шине), то вырабатывать сигналы адреса будет контроллер регенерации, поэтому внешней плате следует перевести свои адресные выходы в третье состояние.

Сигнал -SBHE (System Bus High Enable - Разрешение старшего байта на системной шине) разрешается центральным процессором для указания всем ресурсам на магистрали о том, что по линиям SD<15...8> пересылается байт данных. Сигналы -SBHE и SA0 используются для определения того, какой байт и по какой половине шины данных пересылается (в соответствии с табл. 3.1).

Сигнал -SBHE не вырабатывается контроллером регенерации при захвате им шины, так как никаких перестановок байтов нет и нет реального чтения данных.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата становится задатчиком на шине, то она должна вырабатывать сигнал -SBHE так же как центральный процессор.

Если внешняя плата, являющаяся задатчиком на шине, вырабатывает сигнал -REFRESH , то ее выход сигнала -SBHE должен быть переведен в третье состояние.

BALE

Сигнал BALE (Bus Address Latch Enable - Разрешение на "защелкивание" адреса на шине) является стробом для записи адреса по линиям LA<23...17> и сообщает ресурсам на шине, что адрес является истинным и его можно "защелкнуть" в регистре. Этот сигнал также информирует ресурсы на шине о том, что сигналы SA<19...0> и -SBHE истинны.

При захвате шины контроллером ПДП сигнал BALE всегда равен логической "1" (вырабатывается на материнской плате), так как сигналы LA<23...17> и SA<19...0> истинны до выработки командных сигналов. Если контроллер регенерации становится задатчиком на шине, то на линии BALE также поддерживается уровень логической единицы, поскольку сигналы адреса SA<19...0> истинны до начала командных сигналов.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

При захвате шины внешней платой сигнал BALE поддерживается материнской платой в состоянии логической "1" на все время захвата шины. Адресные сигналы LA<23...17> и SA<19...0> должны быть при этом истинны в течении времени разрешения платой командных сигналов.

Если центральный процессор является задатчиком на шине и выполняет цикл доступа к ресурсу на внешней плате, то сигналы LA<23...17> истинны только в течении короткого времени, поэтому сигнал BALE должен быть использован для "защелкивания" адреса в регистре. При захвате шины любым устройством, кроме ЦП, на линии BALE поддерживается уровень логической "1".

AEN

Сигнал AEN (Address Enable - Разрешение адреса) разрешается тогда, когда контроллер ПДП становится задатчиком на шине и сообщает всем ресурсам на шине о том, что на шине выполняются циклы ПДП. Разрешенный сигнал AEN также информирует все устройства ввода/вывода о том, что контроллер ПДП установил адрес памяти и УВВ следует запретить на время сигнала AEN декодирование адреса.

Этот сигнал запрещается, если задатчиком на шине является центральный процессор или контроллер регенерации.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата, выполняя процедуру захвата шины, вырабатывает сигнал -MASTER, сигнал AEN запрещается контроллером ПДП для того, чтобы позволить внешней плате доступ к устройствам ввода/вывода.

SD<7...0> и SD<15...8>

Линии SD<7...0> и SD<15...8> , как правило, еще называют шиной данных, причем по линии SD15 передается старший значащий бит, а по линии SD0 - младший значащий бит. Линии SD<7...0> - младшая половина шины данных, SD<15...0> - старшая половина шины данных. Все 8-ми разрядные ресурсы могут обмениваться данными только по младшей половине шины данных. Поддержка обмена данными между 16-ти разрядным задатчиком на шине и 8-ми разрядным ресурсом осуществляется перестановщиком байтов на материнской плате (табл. 3.1 и рис. 3.1 иллюстрирует его работу).

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если сигнал - REFRESH разрешен, то внешние платы должны перевести свои выходы по шине данных в третье состояние, так как нет пересылок данных во время циклов регенерации памяти.

4.2. Командные сигналы

Сигналы этой группы управляют как продолжительностью, так и типами циклов доступа, выполняемых на шине. Группа состоит из шести командных сигналов, двух сигналов готовности и трех сигналов, которые определяют размеры и тип цикла.

Командные сигналы определяют вид устройства (память или УВВ) и направление пересылки (запись или чтение).

Сигналы готовности управляют продолжительностью цикла доступа, укорачивая его или, наоборот, удлиняя.

-MEMR и -SMEMR

Сигнал -MEMR (Memory Read - Чтение памяти) разрешается задатчиком на шине для чтения данных из памяти по адресу, определяемому сигналами по линиям LA<23...17> и SA<19...0> . Сигнал -SMEMR (System Memory Read - Системное чтение памяти) функционально идентичен -MEMR, за исключением того, что сигнал -SMEMR разрешается при чтении памяти, находящейся в пределах первого мегабайта адресного пространства. Сигнал -SMEMR -MEMR -MEMR на 10 или менее наносекунд.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

-MEMR , так как сигнал -SMEMR может разрешаться только материнской платой при чтении из памяти в первом мегабайте адресного пространства. Если внешняя плата разрешает сигнал -REFRESH -MEMR в третье состояние, так после разрешения сигнала -REFRESH контроллер регенерации будет разрешать этот сигнал.

-MEMW и -SMEMW

Сигнал -MEMW (Memory Write - Запись в память) разрешается задатчиком на шине для записи данных в память по адресу, определяемому сигналами по линиям LA<23...17> и SA<19...0> . Сигнал -SMEMW (System Memory Write - Системная запись в память) функционально идентичен -MEMW, за исключением того, что сигнал -SMEMW разрешается при записи в память, находящейся в пределах первого мегабайта адресного пространства. Сигнал -SMEMW вырабатывается на материнской плате из сигнала -MEMW и, поэтому, задерживается относительно сигнала -MEMR на 10 нс или менее.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата становится задатчиком на шине, то она может разрешать только сигнал -MEMW , так как сигнал -SMEMW может разрешаться только материнской платой при записи в память в первом мегабайте адресного пространства. Если внешняя плата разрешает сигнал -REFRESH , то она должна перевести свой выход по сигналу -MEMW в третье состояние.

-I/OR

Сигнал -I/OR (I/O Read - Чтение устройства ввода/вывода) разрешается задатчиком на шине для чтения данных из устройства ввода/вывода по адресу, определяемому сигналами SA<15...0> .

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата разрешает сигнал -REFRESH , то она должна перевести свой выход по сигналу -I/OR в третье состояние.

-I/OW

Сигнал -I/OW (I/O Write - Запись в устройства ввода/вывода) разрешается задатчиком на шине для записи данных в устройство ввода/вывода по адресу, определяемому сигналами SA<15...0> .

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата разрешает сигнал -REFRESH , то она должна перевести свой выход по сигналу -IOW в третье состояние.

-MEM CS16

Сигнал -MEM CS16 (Memory Cycle Select - Выбор цикла для памяти) разрешается 16-разрядной памятью для сообщения задатчику шины о том, что память, к которой он обращается, имеет 16-разрядную организацию и ему следует выполнить 16-разрядный цикл доступа. Если этот сигнал запрещен, то только 8-разрядный цикл доступа может быть выполнен на шине. Память, к которой выполняется цикл доступа, должна выработать этот сигнал из адресных сигналов LA<23...17> .

-MEM CS16

РЕКОМЕНДАЦИИ: Декодировав сигналы LA на внешней плате 16-разрядной памяти, следует разрешить сигнал -MEM CS16 , если установленный на шине адрес является адресом этой внешней платы. Так как этот сигнал фиксируется на материнской плате, как правило, по заднему фронту сигнала BALE , то схема дешифрации сигналов LA и последующего формирования -MEM CS16 должна иметь минимально возможную задержку (для компьютеров с тактовой частотой ЦП 20 МГц не более 20 нс).

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата является 16-разрядной памятью, то она должна информировать об этом задатчика на шине, разрешив сигнал -MEM CS16 .

SA<15...0> и какое-либо устройство ввода/вывода случайно при декодировании этого адреса разрешит сигнал -I/O CS16 , то внешняя плата должна игнорировать его в течении цикла доступа к памяти.

-I/O CS16

Сигнал -I/O CS16 (I/O Cycle Select - Выбор цикла для УВВ) разрешается 16- разрядным УВВ для сообщения задатчику шины о том, что УВВ, к которому он обращается, имеет 16-разрядную организацию и ему следует выполнить 16-разрядный цикл доступа. Если этот сигнал запрещен, то только 8-разрядный цикл доступа к УВВ может быть выполнен на шине. УВВ, к которому выполняется цикл доступа, должна выработать этот сигнал из адресных сигналов SA<15...0> .

ПРИМЕЧАНИЕ: Контроллер ПДП и контроллер регенерации игнорируют сигнал -I/O CS16 при выполнении циклов ПДП и регенерации памяти.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата является 16-разрядным УВВ, то она должна информировать об этом задатчика на шине, разрешив сигнал -I/O CS16.

Если внешняя плата, являясь задатчиком на шине, выработает сигналы адреса LA<23...17> и какое-либо устройство памяти случайно при декодировании этого адреса разрешит сигнал -MEM CS16 , то внешняя плата должна игнорировать его в течении цикла доступа к УВВ.

I/O CH RDY

Сигнал I/O CH RDY (I/O Channel Ready - Готовность канала ввода/вывода) является асинхронным сигналом, вырабатываемый тем устройством, к которому осуществляется доступ на шине. Если этот сигнал запрещен, то цикл доступа удлиняется, так как в него будут добавлены такты ожидания на время запрещения. Когда задатчиком на шине является центральный процессор или внешняя плата, то каждый такт ожидания по длительности - половина периода частоты SYSCLK (для тактовой частоты SYSCLK =8 МГц длительность такта ожидания - 62.5 нс). Если задатчиком на шине является контроллер ПДП, то каждый такт ожидания - один период SYSCLK (для SYSCLK =8 МГц - 125 нс). При обращении к памяти на внешней плате ЦП всегда автоматически вставляет один такт ожидания (если сигнал -0WS запрещен), поэтому, если внешней плате достаточно времени цикла с одним тактом ожидания, то запрещать сигнал I/O CH RDY не требуется.

ПРИМЕЧАНИЕ: При выполнении циклов ПДП устройства ввода/вывода не должны вырабатывать этот сигнал, так как УВВ разрешает сигнал DRQ только после того, как истинные данные могут быть приняты или посланы УВВ и необходимости в дополнительном управлении длительностью цикла по сигналу I/O CH RDY нет. Только устройства памяти во время циклов ПДП могут разрешать этот сигнал.

ВНИМАНИЕ: Сигнал I/O CH RDY не может быть запрещен на время больше чем 15 мкс, так как при нарушении этого требования возможна потеря данных в микросхемах динамической памяти.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата является задатчиком на шине, то она должна принимать и анализировать сигнал I/O CH RDY при выполнении ей циклов доступа к другим ресурсам. При работе внешней платы в других режимах она должна разрешать этот сигнал в том случае, когда она готова завершить цикл.

I/O CH RDY и выполняют все циклы доступа как обычные циклы доступа к 8- или 16-разрядной памяти. Поэтому, устанавливая в компьютер внешнюю плату, которая требует удлинения цикла доступа по сигналу I/O CH RDY , следует обязательно убедиться в отсутствии в компьютере такой некорректно разработанной внешней платы.

-0WS

Сигнал -0WS (0 Wait States - 0 тактов ожидания) является единственным на всей шине сигналом, который требует при приеме его задатчиком на шине синхронизации с частотой SYSCLK . Он разрешается ресурсом, к которому осуществляется доступ центральным процессором или внешней платой, и информирует задатчика на шине о том, что цикл доступа должен быть завершен без вставки такта ожидания.

ПРИМЕЧАНИЕ: Несмотря на то, что этот сигнал присоединен к слоту для 8- разрядных плат, он не может быть использован 8-разрядным ресурсом. Он может быть использован только при доступе к 16-разрядной памяти, установленной в слот, когда центральный процессор или внешняя плата являются задатчиком на шине. Этот сигнал игнорируется при доступе к УВВ или когда контроллер ПДП или контроллер регенерации являются задатчиком на шине.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата является задатчиком на шине, то она должна принимать сигнал -0WS от ресурсов, к которым она осуществляет доступ и выполнять циклы доступа с такими ресурсами без дополнительных тактов ожидания. Когда внешняя плата является 16-разрядной памятью, то она должна разрешать сигнал -0WS , если быстродействие этой памяти позволяет выполнять циклы доступа к ней без вставки дополнительного такта ожидания.

ВНИМАНИЕ! К сожалению, некоторые внешние платы, став задатчиком на шине, игнорируют сигнал -0WS и выполняют все циклы доступа как обычные циклы доступа к 8- или 16-разрядной памяти.

-REFRESH

Сигнал -REFRESH (Refresh - регенерация) разрешается контроллером регенерации для информирования всех устройств на шине о том, что выполняются циклы регенерации памяти.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если внешняя плата является задатчиком на шине, то она должна разрешать сигнал -REFRESH для запроса на регенерацию памяти. При этом цикл регенерации будет выполнен даже несмотря на то, что контроллер регенерации не является задатчиком на шине.

4.3. Центральные сигналы управления

Группа центральных сигналов управления состоит из сигналов различных частот, сигналов управления и ошибок.

Сигнал -MASTER (Master - Ведущий) должен вырабатываться только той внешней платой, которая желает стать задатчиком на шине.

ВНИМАНИЕ! Если сигнал -MASTER разрешен на время более 15 мкс, то внешняя плата должна запросить цикл регенерации памяти, разрешив сигнал -REFRESH .

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Сигнал -MASTER разрешается внешней платой, становящейся задатчиком на шине, только после приема ей соответствующего сигнала -DACK от контроллера ПДП. После того, как сигнал -MASTER будет разрешен, внешняя плата должна ждать минимум один период частоты SYSCLK , прежде чем начать выработку сигналов адреса и данных и минимум два периода SYSCLK до выработки командных сигналов.

-I/O CH CK

Сигнал -I/O CH CK (I/O Channel Check - Проверка Канала Ввода/вывода) может быть разрешен любым ресурсом на шине как сообщение о фатальной ошибке, которая не может быть исправлена. Типичный пример такой ошибки - ошибка четности при доступе к памяти. Сигнал - I/O CH CK должен быть разрешен на время не менее 15 нс. Если в момент выработки этого сигнала задатчиком на шине являлся контроллер ПДП или контроллер регенерации, то сигнал -I/O CH CK будет записан в регистр на материнской плате, а обработан только после того, как центральный процессор станет задатчиком на шине.

Этот сигнал, как правило, соединен со входом немаскированного прерывания ЦП и его выработка приводит к прекращению нормальной работы компьютера.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Если сигнал -I/O CH CK разрешается в тот момент, когда задатчиком на шине является внешняя плата, то он записывается в регистр на материнской плате и будет обработан только после захвата шины центральным процессором.

RESET DRV

Сигнал RESET DRV (Reset Driver - Сброс Устройства) вырабатывается центральным процессором для начальной установки всех ресурсов доступа на шине после включения питания или падения его напряжения. Минимальное время разрешения этого сигнала - 1 мс.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Внешние платы на все время выработки этого сигнала должны перевести свои выходы в третье состояние.

SYSCLK

Сигнал SYSCLK (System Clock - системная частота) в данной книге принимается равной 8 МГц, хотя, как правило, эта частота такая же, как и тактовая частота центрального процессора на материнской плате, но с 50% (по длительности) уровнем логической "1". Все циклы шины пропорциональны SYSCLK , но все сигналы на шине, за исключением -0WS , не синхронизированы с SYSCLK .

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Когда внешняя плата является задатчиком на шине, она может использовать SYSCLK для задания длины цикла, но кроме как для выработки -0WS любой сигнал для синхронизации может быть использован.

OSC

Сигнал OSC вырабатывается материнской платой всегда фиксированной частотой 14.3818 МГц с 45-55% (по длительности) уровнем логической "1". Сигнал OSC не синхронизирован ни с SYSCLK ни с каким-либо другим сигналом на шине и поэтому не может быть использован для применений, требующих синхронизации с другими сигналами. Исторически этот сигнал появился для поддержки первых контроллеров цветных мониторов для персональных компьютеров серии IBM PC. Этот сигнал удобен для использования внешними платами, поскольку он одинаков для всех моделей компьютеров, совместимых с IBM PC/AT.

4.4. Сигналы прерывания

Группа сигналов прерывания используется для запроса на прерывание центрального процессора.

ПРИМЕЧАНИЕ: Обычно сигналы запроса на прерывания присоединены к контроллеру прерываний типа Intel 8259A. Несмотря на то, что доступ к контроллерам прерываний (как к УВВ) имеет любой задатчик на шине, для совместимости программного обеспечения только центральный процессор может обслуживать контроллер прерываний.

IRQ<15,14,12,11,10> IRQ<9,7...3>

Прерывание может быть запрошено ресурсами как на материнской плате, так и на внешних платах разрешением соответствующего сигнала IRQ . Сигнал должен оставаться разрешенным до подтверждения прерывания центральным процессором, которое, как правило, заключается в доступе ЦП к ресурсу, запросившему прерывание.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Запрос на прерывание записывается в триггер в контроллере прерываний по нарастающему фронту сигнала запроса на прерывание и должен вырабатываться микросхемами с обычными ТТЛ выходами. Поэтому, выбирая линию запроса на прерывание для своей внешней платы, следует убедиться, что эта линия не занята какой-либо другой внешней платой.

4.5. Сигналы режима ПДП

Эти сигналы поддерживают циклы пересылки данных при прямом доступе в память.

ПРИМЕЧАНИЕ: Каналы ПДП <3...0> поддерживают только пересылки 8-разрядных данных. Каналы ПДП <7...5> поддерживают пересылки только 16-разрядных данных.

DRQ<7...5,0> DRQ<3,2,1>

Сигналы DRQ (DMA Request - запрос на ПДП) разрешаются ресурсами на материнской плате или внешними платами для запроса на обслуживание контроллером ПДП или для захвата шины. Сигнал DRQ должен быть разрешен до тех пор, пока контроллер ПДП не разрешит соответствующий сигнал -DACK .

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Сигналы DRQ вырабатываются с выходов обычных ТТЛ микросхем, поэтому при установке внешней платы в слот шины ISA следует правильно выбрать канал ПДП, который не должен быть занят другими внешними платами.

-DACK<7...5,0> -DACK<3,2,1>

Сигналы -DACK (DMA Acknowledge - подтверждение ПДП) разрешаются контроллером ПДП как подтверждение сигналов запросов DRQ<7...5,3...0> . Разрешение соответствующего сигнала -DACK означает, что либо циклы ПДП будут начаты, либо внешняя плата захватила шину.

T/C

Сигнал T/C (Terminal Count - Окончание счета) разрешается контроллером ПДП тогда, когда по какому-либо из каналов ПДП будет окончен счет числа пересылок данных, то есть все пересылки данных выполнены.

4.6. Питание

Для питания внешних плат на шине ISA используются 5 напряжений питания постоянного тока: +5 В, -5 В, +12 В, -12 В, 0 В (корпус - Ground). Все линии питания заведены на 8-разрядный разъем, кроме одной линии по +5 В и одной линии корпуса на дополнительном разъеме.

Максимально допустимые токи потребления для внешней платы по каждому напряжению питания приведены в табл. 4.1.

Таблица 4.1. Максимальные токи потребления внешней платой

Напряжение

ВНИМАНИЕ! Данные, приведенные в табл. 4.1, не означают, что каждая из установленных в слоты внешних плат может потреблять такие токи. Таблица информирует только о том, какие токи разрешается пропускать через разъем (разъемы) внешней платы. Общие допустимые токи потребления для всех внешних плат как правило, ограничиваются источником питания компьютера. Поэтому, до установки новой внешней платы в слот шины следует определить наличие соответствующего резерва по токам потребления для этой платы у источника питания компьютера.

5. Циклы шины

Циклы шины ISA всегда асинхронны по отношению к SYSCLK . Различные сигналы разрешаются и запрещаются в любое время; внутри допустимых интервалов сигналы отклика могут также быть выработаны в любое время. Исключением является только сигнал -0WS , который должен быть синхронизирован с SYSCLK .

На шине существуют 4 индивидуальных типа циклов: Доступ к Ресурсу , ПДП , Регенерация , Захват Шины . Цикл Доступа к Ресурсу выполняется, если центральный процессор или внешняя плата в качестве задатчиков обмениваются данными с различными ресурсами на шине. Цикл ПДП выполняется, если контроллер ПДП является задатчиком на шине и выполняет циклы передачи данных между памятью и УВВ. Цикл Регенерации выполняется только контроллером регенерации для регенерации микросхем динамической памяти. Цикл Захвата Шины выполняется внешней платой для того, чтобы стать задатчиком на шине.

Структурно циклы отличаются по типу задатчика на шине и видами ресурсов доступа на ней. Внутри типа цикла существуют различные виды его, обусловленные различной продолжительностью каждого вида.

Существуют три типа цикла Доступа к Ресурсу :

    цикл с 0 тактов ожидания - этот цикл наиболее короткий из всех возможных;

    нормальный цикл - при выполнении такого цикла ресурс доступа не запрещает сигнал готовности I/O CH RDY - далее цикл такого вида будет называться просто нормальным;

    удлиненный цикл - при выполнении такого цикла ресурс доступа запрещает сигнал готовности I/O CH RDY на время, необходимое ресурсу для приема или передачи данных - далее цикл такого вида будет называться удлиненным.

В циклах ПДП и Регенерация тоже существуют два вида: нормальный и удлиненный, исходя из таких же, описанных выше условий.Ниже все типы циклов будут подробно описаны и, кроме этого, в гл. 6 приведены временные диаграммы всех типов циклов.

5.1. Цикл Доступа к Ресурсу

Центральный процессор начинает цикл Доступа к Ресурсу выработкой сигнала BALE , сообщающего всем ресурсам об истинности адреса на линиях SA<19...0> , а также для фиксации ресурсами адреса по линиям LA<23...17> . Ресурсы должны сообщать ЦП разрешением сигнала -MEM CS16 или -I/O CS16 о том, что цикл должен быть 16- разрядным; иначе цикл будет завершен как 8-разрядный. ЦП также вырабатывает команды -MEMR , -MEMW , -IORC и -IOWC определяющие тип ресурса (память или УВВ), а также направление передачи данных. Если доступ к памяти в первом мегабайте адресного пространства, то также будет разрешаться сигнал -SMEMR или -SMEMW . Ресурс доступа, которому необходимо изменить время цикла, должен отвечать сигналом -0WS или I/O CH RDY для информирования ЦП о продолжительности цикла доступа.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Внешняя плата, захватившая шину, также начинает цикл доступа с выработки адресных сигналов, но, в отличии от ЦП, не подтверждает адрес сигналом BALE . На линии этого сигнала поддерживается материнской платой на все время захвата шины внешней платой уровень логической "1". Поэтому внешняя плата должна выработать истинные сигналы как по линиям SA<19...0> так и по линиям LA<23...17> до начала разрешения командных сигналов, сохраняя адрес до конца цикла. Внешняя плата также должна иметь возможность анализа сигналов -MEM CS16 и -I/O CS16 и в соответствии с этими сигналами завершать цикл как 16- или 8-разрядный.

5.1.1. Цикл Доступа к Ресурсу - 0 тактов ожидания

Цикл доступа с 0 тактов ожидания - наиболее короткий цикл из всех возможных на шине. Этот цикл может быть выполнен только при доступе ЦП или внешней платы (когда она задатчик на шине) к 16-разрядной памяти. В начале цикла задатчик должен установить адрес на линиях LA<23...17> для выбора блока памяти в 128 Кб. Если затем не будет разрешен сигнал -MEM CS16 , то цикл будет завершен как 8-разрядный (нормальный или удлиненный) и цикл с 0 тактов ожидания не будет выполнен. Если ресурсом будет разрешен сигнал -MEM CS16 , то затем он должен разрешить сигнал -0WS в соответствующее время после выдачи командного сигнала -MEMR или -MEMW для завершения цикла с 0 тактов ожидания. При запрещении сигнала -0WS цикл завершается как нормальный или удлиненный.

ПРИМЕЧАНИЯ: Если сигнал -0WS разрешается ресурсом доступа, то задатчик не требует разрешения сигнала I/O CH RDY - он игнорируется. Только сигнал -0WS является на шине ISA синхронным по отношению к SYSCLK сигналом.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Внешняя плата, захватившая шину, выполняет цикл доступа с 0 тактов ожидания точно также как центральный процессор.

5.1.2. Цикл Доступа к Ресурсу - Нормальный цикл

Нормальный цикл может быть выполнен ЦП или внешней платой (если она владеет шиной) при доступе к 8- или 16-разрядному УВВ или к памяти. После выдачи на шину сигналов адреса задатчик разрешает командные сигналы -MEMR , -MEMW , -I/OR или -I/OW . В ответ ресурс должен разрешить сигнал I/O CH RDY в соответствующее время, так как иначе цикл будет завершен как удлиненный. Разрешение I/O CH RDY заставляет задатчика завершить цикл за фиксированный период времени (этот период кратен периоду SYSCLK , но не синхронизирован с ним). Длительность нормального цикла определяется временем разрешения сигналов -MEMR , -MEMW , -I/OR или -I/OW которое, в свою очередь, зависит от размера данных и адреса ресурса доступа.

5.1.3. Цикл Доступа к Ресурсу - Удлиненный цикл

Удлиненный цикл может быть выполнен ЦП или внешней платой (если она владеет шиной) при доступе к 8- или 16-разрядному УВВ или к памяти. Задатчик на шине выполняет удлиненный цикл в том случае, если ресурс, к которому осуществляется доступ, не разрешает в соответствующее время после разрешения командного сигнала сигнал I/O CH RDY . Задатчик продолжает разрешать командный сигнал до тех пор, пока ресурс не разрешит сигнал I/O CH RDY . Период времени удлиненного цикла также кратен SYSCLK

5.2. Цикл Регенерации - Введение

Контроллер регенерации пытается захватить шину по истечении 15 мкс с последнего цикла регенерации двумя способами:

    если шиной владеет центральный процессор, то он по завершении выполнения текущей команды передает шину контроллеру регенерации;

    если шиной владеет контроллер ПДП, то шина будет передана контроллеру регенерации только по завершении циклов пересылки данных контроллером ПДП.

Назначение следующих сигналов во время цикла регенерации имеют оригинальную интерпретацию:

-REFRESH - разрешение этого сигнала сообщает о начале цикла регенерации;

Адрес - контроллер регенерации вырабатывает только сигналы по линиям адреса SA<7...0>, остальные сигналы адреса не определены;

-MEMR - сигнал -MEMR разрешается контроллером регенерации, при этом сигнал -SMEMR будет разрешен материнской платой;

SD<15...0> - линии данных игнорируются контроллером регенерации и все ресурсы на шине обязаны перевести свои выходы по линиям данных в третье состояние;

Эти сигналы игнорируются контроллером регенерации:

-MEM CS16

-I/O CS16

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Когда внешняя плата является задатчиком на шине, она должна самостоятельно разрешать сигнал -REFRESH для запуска цикла регенерации памяти.

5.2.1. Цикл Регенерации - Нормальный цикл

Нормальный цикл регенерации контроллер регенерации начинает с разрешения сигнала -MEMR , в ответ ресурс должен разрешить сигнал I/O CH RDY в соответствующее время, так как иначе цикл будет завершен как удлиненный. Длину цикла фактически определяет только продолжительность сигнала -MEMR .

5.2.2. Цикл Регенерации - Удлиненный цикл

Удлиненный цикл контроллер регенерации выполняет в том случае, если хотя бы один ресурс доступа не разрешает сигнал I/O CH RDY в соответствующее время после разрешения сигнала -MEMR . Контроллер регенерации продолжает разрешать сигнал -MEMR до того, как сигнал I/O CH RDY будет разрешен всеми ресурсами на шине. Период времени удлиненного цикла также кратен SYSCLK , но не синхронизирован с ним.

5.3. Цикл ПДП

Цикл ПДП подобен циклу доступа, который выполняет другой владелец шины. Циклы ПДП запускаются после разрешения сигнала -DACK контроллером ПДП. Размер передаваемых данных зависит от используемого канала ПДП: каналы с 0 по 3 определены для 8-разрядных пересылок данных, а каналы с 5 по 7 для 16-разрядных пересылок данных. Сигналы -MEM CS16 и -I/O CS1 6 игнорируются самим контроллером ПДП, но эти сигналы использует перестановщик байтов на материнской плате.

Циклы ПДП выполняются только между памятью и устройствами ввода/вывода. Сигналы адреса, вырабатываемые контроллером ПДП, содержат только адрес памяти и не содержат адрес УВВ. Процесс пересылки данных в цикле ПДП выполняется так: источник данных выставляет данные на шине, а приемник данных должен быть готов их принять в это же самое время. Команды записи и чтения также разрешаются одновременно для правильного выбора направления пересылки. При этом сигнал чтения обязательно разрешается раньше, чем сигнал записи во избежание столкновения между буферами данных в двух ресурсах.

УВВ, запрашивающее режим ПДП на шине, разрешает сигнал DRQ соответствующего канала. Если задатчиком на шине является центральный процессор, то он освобождает шину контроллеру ПДП, который, в свою очередь, извещает УВВ разрешением сигнала -DACK о том, что начинается цикл ПДП. Так как контроллер ПДП вырабатывает только адрес памяти, УВВ должно использовать сигналы -I/OR , -I/OW и -DACK для приема или передачи данных в режиме ПДП.

Цикл ПДП начинается с разрешения сигнала -DACK соответствующего канала, а также сигнала AEN . Разрешением сигнала AEN контроллер ПДП извещает все ресурсы на шине о том, что адреса и командные сигналы вырабатываются контроллером ПДП, а не центральным процессором, контроллером регенерации или внешней платой. После разрешения командных сигналов контроллер ПДП анализирует сигнал I/O CH RDY для определения длительности цикла.

Если цикл удлиняется, то период удлинения кратен удвоенному периоду SYSCLK , хотя и не синхронизирован с SYSCLK .

ПРИМЕЧАНИЕ: Данные, которые записываются в память или УВВ, должны быть истинны до разрешения команды записи и оставаться истинными до запрещения команды записи.

5.3.1. Цикл ПДП - Нормальный цикл

Нормальный цикл выполняется контроллером ПДП для 8- или 16-разрядных пересылок данных. Контроллер ПДП разрешает сигналы -MEMR , -MEMW , -I/OR и -I/OW , а память, с которой выполняется обмен, должна разрешить сигнал I/O CH RDY в соответствующее время, иначе цикл будет завершен как удлиненный. Разрешение сигнала I/O CH RDY заставляет контроллер завершить цикл за фиксированный период времени; этот период кратен периоду SYSCLK , но не синхронизирован с ним.

Продолжительность разрешения сигналов -MEMR , -MEMW , -I/OR и -I/OW определяет продолжительность всего цикла, причем эта продолжительность зависит от размера данных для различных адресных пространств.

5.3.2. Цикл ПДП - Удлиненный цикл

Удлиненный цикл ПДП выполняется контроллером ПДП также как и нормальный цикл, за исключением того, что при удлиненном цикле сигнал I/O CH RDY не разрешается в соответствующее время после того, как командный сигнал будет разрешен. Контроллер ПДП продолжает разрешать командные сигналы до тех пор, пока УВВ не разрешит сигнал I/O CH RDY . Период времени, на который удлиняется цикл, в этом случае кратен удвоенному периоду SYSCLK , хотя и не синхронен с SYSCLK .

ПРИМЕЧАНИЕ: Сигналы адреса LA<23...0> во время обычного цикла доступа должны записываться в регистр ресурсами доступа для запоминания адреса в течении всего цикла. В отличие от обычных циклов, при выполнении циклов ПДП эти адресные сигналы истинны в течении всего цикла ПДП.

ВНИМАНИЕ! Каналы ПДП, которые используются внешними платами для захвата шины, должны быть запрограммированы в каскадном режиме.

5.4. Цикл Захвата Шины

Любая внешняя плата, установленная в слот, может стать задатчиком на шине ISA. Захват шины внешняя плата должна начать с разрешения сигнала DRQ канала ПДП, предварительно запрограммированного в каскадный режим. Канал ПДП, запрограммированный в каскадном режиме, считает, что все циклы ПДП были выполнены внешним ресурсом - в данном случае внешней платой. Контроллер ПДП отвечает внешней плате разрешением сигнала -DACK ; внешняя плата в ответ на -DACK разрешает сигнал -MASTER . После разрешения сигнала -MASTER внешняя плата должна ждать некоторое время, после чего может начинать свои циклы доступа.

6. Временные диаграммы шины ISA

В таблицах этой главы приведены временные соотношения для всех циклов, объясненных в предыдущей главе. Все времена приведены для частоты SYSCLK= 8 МГц, поэтому, если проектируемая внешняя плата должна работать в компьютерах с частотой SYSCLK до 16 МГц, то следует ужесточить требования к быстродействию внешней платы не менее чем в два раза по сравнению с приведенными. Для ресурсов все времена измерены на разъеме ресурса доступа. Время в пределах 0...11 нс добавлено для учета времени распространения сигнала по шине. В некоторых случаях сигнал возвращается от ресурса, который был источником сигнала, синхронизированного с возвращаемым и в этом случае добавлено 0...22 нс. Время "0" означает теоретически минимально возможное время и используется только как расчетное при определении времени цикла.

ПРИМЕЧАНИЕ: В таблицах и временных диаграммах приведены только сигналы -MEMR и -MEMW, а не -SMEMR и -SMEMW. Сигналы -SMEMR и -SMEMW вырабатываются с задержкой от 0 до 10 нс относительно сигналов -MEMR и -MEMW в тех случаях, когда ЦП, контроллер ПДП или контроллер регенерации является задатчиком на шине. Если задатчиком на шине является внешняя плата, то задержка может быть увеличена до 22 нс.

ПРИМЕЧАНИЕ: Во всех таблицах временных диаграмм TCLK обозначает период тактовой частоты шины.

Таблица 6.1. Временные соотношения для циклов с 0 тактов ожидания, нормальных и удлиненных, для 16- и 8-разрядных ресурсов памяти и УВВ.

N параметра

Наименование

Задатчик на шине (нс)

Ресурс доступа (нс)

Макс

Макс

LA<23...17> устанавливается до BALE

Ширина импульса BALE

LA<23...17> сохраняется после BALE

LA<23...17>

MEM CS16 истинный от LA<23...17>

MEM CS16 удерживается после LA<23...17>

SA<19...0> устанавливается до команды для 16-разрядной памяти

SA<19...0> устанавливается до команды для 16- или 8-разрядного УВВ

SBHE устанавливается до команды для 16-разрядной памяти

SBHE устанавливается до команды для 16- или 8-разрядного УВВ

Длительность команд записи/чтения при доступе к 16-разрядной памяти (нормальный или удлиненный цикл)

Длительность команд записи/чтения при доступе к 16-разрядным УВВ (нормальный или удлиненный цикл)

Длительность команд записи/чтения при доступе к 16-разрядной памяти (0 тактов ожидания цикл)

Длительность команд записи/чтения при доступе к 8-разрядным ресурсам (нормальный или удлиненный цикл)

SA<19...0> устанавливается до BALE

Время установления данных после сигнала чтения 16-разрядной памяти

Время установления данных после сигнала чтения 16- разрядного УВВ

Время установления данных после сигнала чтения 16-разрядной памяти для цикла с 0 тактов ожидания

d Время установления данных после сигнала чтения 8-разрядного УВВ

Время установления данных в цикле записи в 16-разрядную память

Время установления данных в цикле записи в 16-разрядное УВВ

Время установления данных в цикле записи в 8-разрядный ресурс

SA<19...0>, -SBHE снимаются после командного сигнала

Время выключения команды при доступе к 16-разрядному ресурсу

Время выключения команды придоступе к 8-разрядному ресурсу

Время установления данных при чтении до снятия команды

Удержание данных при чтении

Удержание данных при записи

Перевод сигналов SD<15...0> в третье состояние после снятия команды

0WS истинный от команды

I/O CS16 истинный от SA<19...0>

I/O CS16 удерживается после снятия SA<19...0>

I/O CH RDY в лог."0" от 16-разрядной команды

I/O CH RDY в лог."0" от 8-разрядной команды

I/O CH RDY длительность в лог."0" TCLK

Снятие командного сигнала после разрешения I/O CH RDY

Разрешение BALE после снятия команды

Период тактовой частоты (TCLK)

Данные устанавливаются до разрешения I/O CH RDY

LA<23...17> удерживается после разрешения команды обращения к памяти

Длительность -0WS

0WS устанавливается до спада SYSCLK

0WS удерживается после спада SYSCLK

Примечание: (1) LA<23...17> вырабатываются так же как SA<19...0>, если задатчик на шине не центральный процессор.

Табл. 6.2. Временные соотношения для цикла регенерации памяти.

N параметра

Наименование

Контроллер регенерации (нс)

Внешняя плата (нс)

Макс

Макс

Длительность -MEMR/-SMEMR

SA<19...0> устанавливается до-MEMR

SA<19...0> удерживается после завершения команды

I/O CH RDY в лог."0" от -MEMR/-SMEMR

MEMR снимается после разрешения I/O CH RDY

REFRESH устанавливается до -MEMR

REFRESH удерживается после запрещения -MEMR (1)

SA<19...0> и -MEMR удерживаются в третьем состоянии после запрещения -MEMR

Задержка возвращения управления шиной после запрещения -REFRESH

ПРИМЕЧАНИЕ: (1) Сигнал -REFRESH может удерживаться длительное время для выполнения нескольких циклов регенерации памяти.

Таблица 6.3. Временные соотношения для циклов ПДП

N параметра

Наименование

Внешняя плата как источник или контроллер ПДП (нс)

Внешняя плата как приемник (нс)

Мин Макс Мин Макс

DACK, AEN устанавливаются до -I/OR, -I/OW

Адрес устанавливается до команды

I/OR устанавливается до -MEMW

MEMR устанавливается до -I/OW

Данные устанавливаются от -I/OR(1)

Данные устанавливаются от -MEMR(1)

Данные устанавливаются до разрешения -MEMW

Данные устанавливаются до разрешения -I/OW

Команда чтения удерживается после запрещения команды записи

Адрес удерживается после запрещения команд

Данные удерживаются после запрещения команд(1)

I/O CH RDY в лог."0" от команды обращения к памяти (1)

T/C устанавливается до команды

T/C удерживается после запрещения команды

Длительность -I/OR

Длительность -MEMR

Длительность -I/OW

Длительность -MEMW

DACK удерживается после запрещения команды

AEN удерживается после запрещения команды

DRQ активный от разрешения команды

Длительность лог."0" I/O CH RDY

ПРИМЕЧАНИЕ: (1) Не для контроллера ПДП, а для внешней платы.

Таблица 6.4. Временные соотношения для цикла захвата шины

N параметра

Наименование

ЦП, контроллер ПДП, контроллер регенерации (нс)

Внешняя плата (нс)

Мин Макс Мин Макс

DACK разрешается после разрешения DRQ (1)

Задержка -MASTER от -DACK 0

Контроллер ПДП переводит свои выходы в третье состояние

AEN удерживается после разрешения -MASTER

Внешняя плата начинает вырабатывать сигналы адреса, данных и командные сигналы

Сигнал -MASTER удерживается после запрещения DRQ

Сигнал -DACK удерживается послезапрещения DRQ (2)

Внешняя плата переводит свои выходы в третье состояние до запрещения сигнала -MASTER

ЦП начинает вырабатывать свои сигналы после запрещения сигнала -MASTER

Рис. 6.5. Нормальный и удлиненный цикл записи/чтения 8-разрядного устройства ввода/вывода

Рис. 6.6. Нормальный и удлиненный цикл регенерации: 1 - Время разрешения сигнала -REFRESH может быть увеличено для выполнения нескольких циклов регенерации; 2 - Текущий задатчик на шине должен перевести сигналы адреса и команд в третье состояние до разрешения сигнала REFRESH.

Рис. 6.7. Нормальный и удлиненный циклы ПДП: 1 - DRQ может стать отрицательным в любое время после -DACK; 2 - IO/ CH RDY запрещается для вставки дополнительных тактов ожидания. Каждый дополнительный такт ожидания состоит из двух тактов SYSCLK; 3 - Контроллер ПДП активизирует сигнал TC в течении последней пересылки данных

Рис. 6.8. Цикл захвата шины: (1) - Контроллер ПДП; (2) - Внешняя плата

7. Характеристики соединителей на шине

7.1. Назначение выводов соединителей, устанавливаемых в слоты

Назначение выводов соединителей показано сверху вниз (при установленной внешней плате сторона компонентов соответствует правой половине соединителей, а место установки крепежной планки - верху).

36-выводный соединитель:

Корпус (GND)

Корпус (GND)

SA14

Корпус (GND)

7.2. Электрические характеристики сигналов

Аббревиатуры, раскрытые ниже, будут использоваться далее при рассмотрении требований к характеристикам сигналов на шине.

ТРИ - выход с тремя состояниями. Имеет состояния: активный низкий уровень, активный высокий уровень, выключено;

ОК - открытый коллекторный выход. Имеет состояния: активный низкий уровень, выключено;

ТТЛ - выход транзисторно-транзисторной логики с двумя состояниями. Имеет состояния: активный низкий уровень, активный высокий уровень;

Iih - входной ток высокого уровня. Такой ток возникает тогда, когда ко входу подключен выход с активным высоким уровнем;

Iil - входной ток низкого уровня. Такой ток возникает тогда, когда ко входу подключен выход с активным низким уровнем.

Ioh - выходной ток высокого уровня. Характеризует нагрузочную способность выхода устройства в активном высоком уровне;

Iol - выходной ток низкого уровня. Характеризует нагрузочную способность выхода устройства в активном низком уровне;

Vih - входное напряжение высокого уровня;

Vil - входное напряжение низкого уровня;

Voh - выходное напряжение высокого уровня;

Vol - выходное напряжение низкого уровня.

Напряжения и токи по цепям сигналов на шине.

На шине ISA могут использоваться только три типа устройств: ТТЛ (транзисторно-транзисторной логики), ТРИ (трехстабильный) и ОК (открытый коллекторный выход). Устройство ТТЛ может быть только фиксированного направления - либо вход, либо выход. Устройство с тремя состояниями может быть как входом так и выходом, и кроме этого, находиться в третьем состоянии.

передатчик

приемник

передатчик

приемник

передатчик

ПРИМЕЧАНИЯ:

(1) Voh=2.4 В Vih=2.7 В Vol=0.5 В Vil=0.4 В

Все токи в таблице указаны в миллиамперах. Знак "-" перед значением тока означает, что ток вытекает из внешней платы в кросс материнской платы.

(2) Линия с открытым коллекторным выходом может быть подключена к ТТЛ входу.

(3) По линии с открытым коллекторным выходом ток Ioh (ток утечки) не должен превышать для каждого слота 0.4 миллиампера.

7.4. Дополнительные требования к приемникам и передатчикам на внешних платах

Разработка собственных внешних плат требует соблюдения еще ряда условий, кроме оговоренных в табл. 7.4. Это следующие условия:

  • при проектировании топологии печатного монтажа на внешней плате, следует учитывать, что максимальная длина печатного проводника от контакта разъема до вывода подключенного к этой цепи компонента не должна превышать 65 мм;
  • для минимизации помех на шине, уменьшения переотражений следует использовать компоненты с крутизной фронта нарастания/спада выходного напряжения не хуже 3 нс.
  • максимальная емкость по каждому выводу интерфейсного разъема должна быть не более 20 пФ. В эту емкость входят входные емкости всех приемников и передатчиков, подсоединенных к выводу, и, кроме этого, емкость печатного проводника, связывающего вывод разъема с компонентами.

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

Последовательно

7.5. Нагрузочные резисторы на шине

На кроссе материнской платы установлены нагрузочные резисторы для оптимизации электрических характеристик шины. Нагрузочные резисторы подключаются двумя способами:

  • между линией сигнала и + 5 В;
  • последовательно между ресурсом на материнской плате и линией сигнала на шине.

7.6. Механические характеристики внешней платы

При разработке внешней платы следует также учитывать следующее:

  • толщина платы должна быть 1.6 мм +- 0.2 мм (с учетом толщины фольги);
  • коробление платы не должно превышать 1.3 мм на всей длине платы;
  • максимальная высота компонентов на плате не более 10 мм.

Введение 3

1 Анализ темы курсовой работы 4

1.1 Анализ существующих устройств и особенностей их проектирования 4

1.2 Системная шина ISA 9

1.2.1 Характеристики системной шины 9

1.2.2 Особенности проектирования модулей системной шины 19

1.3 Этапы проектирования модуля 22

1.4 Выводы к главе 1 22

2 Разработка схемы модуля 23

2.1 Общие сведения 23

2.2 Разработка обобщённой схемы модуля 24

2.3 Выбор СБИС и описание её структуры 25

Описание режимов работы СБИС КР580ВИ53 27

2.4 Выбор адресного пространства портов ввода/вывода 28

2.5 Разработка элементов интерфейсной части модуля 29

2.6 Выбор элементной базы и разработка принципиальной схемы 30

2.7 Выводы к главе 2 30

3 Разработка программных модулей 31

3.1 Разработка программного модуля инициализации 31

3.2 Выводы к главе 3 32

Заключение 33

Приложение А
(справочное) 34

Библиографический список 34

Приложение Б
(Обязательное) 35

Приложение В
(Обязательное) 36

Государственное образовательное учреждение высшего

профессионального образования

ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

КАФЕДРА АВТОМАТИКИ И ТЕЛЕМЕХАНИКИ

ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ

по дисциплине «Архитектура ЭВМ»

ТЕМА: Разработка аппаратно-программных модулей системной шины Isa

Студент группы (шифр)

    Исходные данные к проекту: Вариант № 15

    ●Выполнить тематический обзор по материалам научно-технической литературы.

    ●Спроектировать аппаратный модуль на базе СБИС для системной шины ISA.Программируемый генератор цифровых сигналов

    ●Разработать программные процедуры инициализации, управления и контроля аппаратным модулем.

    Пояснительная записка:

    Введение

    1 Анализ темы курсовой работы Ошибка: источник перёкрестной ссылки не найден

    1.1 Анализ существующих устройств и особенностей их проектирования Ошибка: источник перёкрестной ссылки не найден

    1.2 Системная шина ISA 8

    1.2.1 Характеристики системной шины Ошибка: источник перёкрестной ссылки не найден

    1.2.2 Особенности проектирования модулей системной шины Ошибка: источник перёкрестной ссылки не найден

    1.3 Этапы проектирования модуля Ошибка: источник перёкрестной ссылки не найден

    1.4 Выводы к главе 1 Ошибка: источник перёкрестной ссылки не найден

    2 Разработка схемы модуля Ошибка: источник перёкрестной ссылки не найден

    2.1 Общие сведения Ошибка: источник перёкрестной ссылки не найден

    2.2 Разработка обобщённой схемы модуля Ошибка: источник перёкрестной ссылки не найден

    2.3 Выбор СБИС и описание её структуры Ошибка: источник перёкрестной ссылки не найден

    2.4 Выбор адресного пространства портов ввода/вывода Ошибка: источник перёкрестной ссылки не найден

    2.5 Разработка элементов интерфейсной части модуля 27

    2.6 Выбор элементной базы и разработка принципиальной схемы 28

    2.7 Выводы к главе 2 28

    3 Разработка программных модулей 29

    3.1 Разработка программного модуля инициализации 29

    3.2 Выводы к главе 3 30

    Заключение Ошибка: источник перёкрестной ссылки не найден

    Приложение А (справочное) Библиографический список 32

    Приложение Б (Обязательное) Список сокращений Ошибка: источник перёкрестной ссылки не найден

    Приложение В (Обязательное) Листинг программного модуля инициализации Ошибка: источник перёкрестной ссылки не найден

    График выполнения курсовой работы:

1 Теоретическая часть 25% к _______ 3 Программная часть 25% к _______

2 Расчетная часть 25% к _______ 4 Графическая часть 25% к _______

Руководитель работы _____________/_____________________/ 17.02.2010г.

(подпись) (Ф.И.О. преподавателя)

Задание принял _____________/_____________________/ 17.02.2010 г.

(подпись) (Ф.И.О. студента)

Введение

В последнее время широкое распространение получили дискретные системы управления и дискретные системы передачи информации. В основу работ таких систем положена дискретная (цифровая) обработка информации и дискретные (цифровые) сигналы, которые описываются последовательностями отсчетных значений в дискретном множестве точек.

Цифровые сигналы обладают рядом преимуществ по сравнению с аналоговыми. В отличие от аналоговых, цифровые сигналы передаются не как волны, а в двоичном виде, или в виде битов. Наличие напряжения обозначается как единица, а отсутствие - как нуль. Такое свойство цифрового формата, в котором предусматриваются только два состояния - сигнал есть и сигнала нет, - позволяет получать и воспроизводить звуки в их первозданной чистоте. С цифровыми сигналами это может быть проделано с высокой степенью надежности. Гораздо труднее точно воспроизвести волну, способную принимать самые разные формы, в отличие от бита, который может иметь только два значения - включено и выключено.

Как аналоговым, так и цифровым сигналам присуща нестабильность при передаче. Оба сигнала с увеличением дальности распространения ослабевают, затухают и подвергаются воздействию помех. Однако цифровые сигналы поддаются коррекции и восстановлению лучше, чем аналоговые. Когда цифровой сигнал, подвергающийся воздействию помехи, начинает затухать, предназначенное для его усиления устройство на линии связи, «зная», что каждый бит информации - это либо единица, либо нуль, без искажений восстанавливает сигнал. Помеха отбрасывается, а не регенерируется и усиливается, как в случае с аналоговым сигналом.

Помимо чистоты передачи аудиосигналов, цифровые сигналы обеспечивают пересылку данных с меньшим числом ошибок. В аналоговых линиях, где происходит усиление и сигнала помехи, принимающие устройства могут интерпретировать этот сигнал как бит информации. Те, кто используют модемы для обмена данными, часто получают испорченную информацию. В цифровой связи сигнал помехи отбрасывается и поэтому искажения и ошибки при передаче данных наблюдаются реже.

Данный курсовой проект посвящен разработке одного из таких модулей – программируемого генератора цифровых сигналов, то есть генератора прямоугольных импульсов. Требуемая максимальная выходная частота согласно заданию – 2МГц, количество выходов – 1.

Процесс проектирования разбит на ряд этапов. В главе 1 производится анализ темы курсовой работы, рассматриваются существующие аналоги проекируемого модуля и особенности их проектирования, приводится характеристика шины ISA. В главе 2 рассматриваются особенности проектирования модуля, выбор СБИС, адресного пространства, разрабатывается принципиальная схема. В главе 3 описывается разработка программного модуля инициализации устройства.

1 Анализ темы курсовой работы

1.1 Анализ существующих устройств и особенностей их проектирования

Цифровой сигнал – это сигнал, который может принимать только одно из двух установленных состояний. В большинстве схем принято, что появление на выходе электрической цепи напряжения в пределах от 2,4В до 5В соответствует появлению единичного сигнала (высокий уровень цифрового сигнала), если же напряжения не превышает 0,5В, то сигнал принимают равным 0 (низкий уровень цифрового сигнала).

Необходимо разработать программируемый генератор цифровых сигналов с 1 выходом, то есть фактически генератор прямоугольных импульсов.

Максимальная частота выходного сигнала – 2МГц. Под программируемостью будем пониамать возможность задания параметров сигнала. Полностью задают форму прямоугольного импульса два параметра: частота и скважность. Графически вышеперечисленные величины представлены на рис. 1.1.

Рис. 1.1 – Цифровой сигнал, его характеристики

Такой генератор может применяться:

    В контрольно-измерительной системе на базе персонального компьютера.

    Для формирования тактовых сигналов.

    В составе промышленных установок, в которых требуется формирование различных сигналов.

    Для работы в составе автоматизированных комплексов поиска подслушивающих устройств (генраторы RS/N и RS/N232).

    Генератор RV131.03 предназначен для генерации временного интервала и импульсной серии с равной программируемой длительностью, а также для генерации логических сигналов, отмечающих начало и окончание установленной длительности временного интервала и для преобразования в цифровую форму исследуемых процессов.

    Генерация цифровых телевизионных испытательных сигналов Г-420, TG 2000, DTG-35, Г-230, Г6-35.

Генератор можно разрабатывать как модуль, имеющий в своём составе буферное ОЗУ, куда записываются коды выборок генерируемого сигнала, задающие, в частности, его частоту и скважность. Затем даётся старт генератора. Существуют также генераторы с двумя режимами запуска:

    режим разового запуска (остановка генерации после одного периода сигнала);

    режим автоматического запуска (непрерывная генерация до её программной остановки.

Рассмотрим, какие сигналы и данные должны поступать на вход системы. На вход поступают код частоты, код скважности, а также два управляющих бита: разрешение /запрет генерации и разовый/автоматический пуск. Модуль должен выдавать помимо самого цифрового сигнала также сигнал «генерация идёт», необходимый для контроля и индикации.

Для задания частоты используются два подхода:

1. Адреса буферного ОЗУ перебираютя обычным двоичным счётчиком, а для изменения частоты выходного сигнала меняется частота, с которой эти адреса перебираются. В данном случае всегда опрашиваются все адреса ОЗУ, т.е. количество выборок на период выходного сигнала не изменяется при изменении частоты, а значит не изменяется и точность воспроизведения формы сигнала. Недостатки такого подхода в том, что схема хорошо работает в низких частотах выходного сигнала и то, что частота сигнала помехи, возникающей из-за квантования уровней выходного сигнала, прямо пропорциональна частоте выходного сигнала, фильтрация такой помехи сложна и требует специальных перестраиваемых фильтров.

2. Для перебора адресов буферного ОЗУ используется не счётчик, а накапливающий сумматор (рис. 1.2, рис. 1.3), состоящий из двоичного сумматора и регистра, охваченных обратной связью. При этом с каждым следующим импульсом тактового генератора к выходному коду регистра прибавляется входной управляющий код и полученная сумма снова записывается в регистр. В результате в каждом такте приращение адреса ОЗУ будет определяться входным управляющим кодом накапливающего сумматора, изменяя который мы можем именять скорость прохождения всех адресов ОЗУ, и следовательно, частоту сигнала. Недостаток такого подхода в том, что форма сигнала воспроизводится с разной точностью на разных частотах. Достоинство такого подхода в том, что частота сигнала помехи будет постоянна и отфильтровать такую помеху проще.

Рис. 1.2 - Перебор адресов ОЗУ с помощью накапливающего сумматора

Существует немало принципиально других способов построения разнообразных генераторов импульсов. Рассмотрим построение таких устройств на базе элементарных логических элементов.

1) Генератор, представленный на рисунке 1.4 (используются элементы 2И-НЕ с открытым коллектором), вырабатывает импульсы в широком диапазоне частот - от единиц герц до нескольких килогерц. Зависимость частоты f (кГц) от емкости

конденсатора С1 (пФ) выражается приближенной формулой
. Скважность импульсного напряжения практически равна 2. При снижении напряжения источника питания на 0,5 В частота генерируемых импульсов уменьшается на 20%.

Рис. 1.4 – Генератор импульсов на микросхеме К155ЛА8

2) Широкое изменение частоты генерируемых импульсов (около 50 тысяч раз) обеспечивает нижеприведённое устройство (рис. 1.5). Минимальная частота импульсов здесь около 25 Гц. Длительность импульсов регулируют резистором R 1 . Частоту следования можно определить по формуле:

Рис. 1.5 - Генератор импульсов с регулируемой длительностью

3) Длительность импульсов можно регулировать переменным резистором R 2 (скважность изменяется от 1,5 до 3), а частоту - резистором R 1 (см. рис. 1.6). Например, в генераторе с С 1 =0,1 мкф при исключении резистора R 2 только резистором R 1 частоту генерируемых импульсов можно изменять от 8 до 125 кГц. Для получения другого диапазона частот необходимо изменить емкость конденсатора С 1 .

Рис. 1.6 – Генератор импульсов с регулируемой длительностью

4) При реализации цифровых устройств различного назначения часто необходимо сформировать короткие импульсы по фронтам входного сигнала. В частности, такие импульсы используют для сброса счетчиков в качестве импульсов синхронизации при записи информации в регистры и т. д. При изменении напряжения U вх от низкого уровня до высокого этот перепад без задержки поступает на вход 13 элемента DD1.4. В то же

время на входе 12 элемента DD1.4 напряжение высокого уровня сохраняется, в течение времени распространения сигнала через элементы DD1.1-DD1.3 (около 75 нc). В результате в течение этого времени на выходе устройства сохраняется напряжение низкого уровня. Затем на входе 12 устанавливается напряжение низкого уровня, а на выходе устройства - высокого. Таким образом, формируется короткий отрицательный импульс, фронт которого совпадает с фронтом входного напряжения. Чтобы такое устройство использовать для формирования отрицательного импульса по срезу входного сигнала, его надо дополнить еще одним инвертором. Схема и временные диаграммы работы такого устройства представлены на рис. 1.7.

Рис. 1.7 – Схема и временные диаграммы формирователя коротких отрицательных импульсов по положительному/отрицательному перепаду напряжения на его входе

На рисунке 1.8 изображены схема и временная диаграмма работы формирователя импульсов по фронту и срезу входного сигнала.

Рис. 1.8 Формирователь импульсов по фронту и срезу входного сигнала

5) Задача формирования цифрового сигнала заданной частоты и скважности может быть также решена с помощью одно вибраторов (рис. 1.9). В состав серии К155 входит также микросхема К155АГ3. Временные диаграммы её работы представлены на рис. 1.10. В одном корпусе в ней содержатся два одновибратора. Варианты поключения внешних времязадающих элементов и временная диаграмма работы одновибратора изображены на рисунках. Одновибратор также запускается либо отрицательным перепадом входного сигнала на входе А при высоком уровне на входах В и R, либо положительным перепадом напряжения на входе В при низком уровне на входе А и высоком уровне на входе R. Длительность импульса t и1 определяется постоянной времени времезадающей цепи, но может быть уменьшен за счет подачи на вход R напряжения низкого уровня при t и2

Рис. 1.9 – Варианты формирователя импульсов с помощью одновибраторов

Рис. 1.10 – Временная диаграмма работы схемы К155АГ3

6) Генераторы цифровых сигналов можно также построить, используя специализированную БИС. Однако, большинство задач такого рода можно решить на стандартных элементах, не используя микроконтроллер .

1.2 Системная шина ISA

1.2.1 Характеристики системной шины

Особенности системной шины ISA

ISA (от англ. Industry Standard Architecture, ISA bus, произносится как ай-сэй) - 8-ми или 16-ти разрядная шина ввода/вывода IBM PC-совместимых компьютеров. Служит для подключения плат расширения стандарта ISA. Конструктивно выполняется в виде 62-х или 98-контактного разъёма на материнской плате.

С появлением материнских плат формата ATX шина ISA перестала широко использоваться в компьютерах, хотя встречаются ATX-платы с AGP 4x, 6 PCI и одним (или двумя) портами ISA. Но пока её ещё можно встретить в старых AT-компьютерах, а также в промышленных компьютерах.

ISA использовалась в первом компьютере IBM PC в 1981 году, а в 1984 году – в расширенном 16-разрядном варианте в компьютерах IBM PC/AT. В настоящее время шина ISA уступила своё место в персональных компьютерах шине PCI и её графическому расширению AGP. Более того, уже на смену AGP приходит достаточно перспективная шина PCI-Express. Однако в промышленных и встраиваемых высокопроизводительных компьютерах такая «древняя» шина ISA (наряду с EISA) является основной. Причины этому следующие:

    высокая надёжность, широкие возможности, совместимость; эта шина работает быстрее большинства подклбчаемых к ней периферийных устройств.

    наибольшее количество систем из-за невысокой цены;

    огромное разнообразие приложений;

    скорость передачи до 2 Мбит/c;

    хорошая помехоустойчивость;

    большое количество совместимого оборудования и программного обеспечения (благодаря ней компоненты различных фирм-изготовителей являются взаимозаменяемыми).

Существует два варианта шины ISA, различающиеся количеством разрядов данных: 8-разрядная версия (старая) и 16-разрядная (новая). Старая версия работала на тактовой частоте 4,77МГц в компьютерах классов PC и XT. Новая версия использовалась в компьютерах класса AT на тактовой частоте 6 и 8МГц. Позже было достигнуто соглашение о стандартной максимальной тактовой частоте 8,33МГц для обеих версий шин, что обеспечило их совместимость. В некоторых системах допускается использование шин при работе с большой частотой, но не все платы адаптеров выдерживают такую скорость. Для передачи данных по шине требуется от 2 до 8 тактов. Можно определить максимальную скорость передачи данных по шине ISA (она составляет 8Мбайт/с):

Полоса пропускания 8-разрядной шины в 2 раза меньше (4 Мбайт/с). Данные значения пропускной способности носят теоретический характер. На практике она оказывается примерно в 2 раза меньше, чем теоретическая, однако это не мешает шине ISA работать быстрее большинства подключаемых к ней периферийных устройств.

Отличительные черты шины ISA :

1. Характерное отличие ISA состоит в том, что тактовый сигнал не совпадает с тактовым сигналом процессора, поэтому и скорость обмена по ней непропорциональная тактовой частоте процессора.

2. Шина ISA относится к демультиплексированным (т.е. имеюшим раздельные шины адреса и данных) 16-разрядным системным магистралям среднего быстродействия. Обмен осуществляется 8- или 16-разрядными данными.

3. На магистрали организован раздельный доступ к памяти компьютера и к устройствам ввода/вывода (для этого имеются специальные сигналы).

4. Максимальный объём адресуемой памяти составляет 17 Мбайт (24 адресные линий).

5. Максимальное адресное пространство для устройств ввода/вывода – 64 Кбайта (16 адресных линий), хотя практически все выпускаемые платы расширения используют только 10 адресных линий (1 Кбайт).

6. Магистраль подерживает регенерацию динамической памяти, радиальные прерывания и прямой доступ к памяти.

7. Допускается захват магистрали внешними устройствами.

8. Положительная логика на шинах адреса и данных, т.е. единице соответствует высокий уровень напряжения, а нулю – низкий. 4 напряженияя питания: +5В, -5В, +12В и -12В.

9. Диапазон доступных адресов памяти ограничен областью UMA (Unified Memory Architecture - унифицированная архитектура памяти. Диапазон адресов ввода-вывода сверху ограничен количеством используемых для дешифрации бит адреса, нижняя граница ограничена областью адресов 0-FFh, зарезервированных под устройства систнемной платы. В PC была принята 10-битная адресация ввода-вывода, при которой линии адреса A устройствами игнорировались. Таким образом, диапазон адресов устройств шины ISA ограничивается областью 100h-3FFh, то есть всего 758 адресов 8-битных регистров. На некоторые области этих адресов претендуют и системные устройства. Впоследствии стали применять и 12-битную адресацию (диапазон 100h-FFFh), но при ее использовании всегда необходимо учитывать возможность присутствия на шине и старых 10-битных адаптеров, которые “отзовутся” на адрес с подходящими ему битами A во всей допустимой области четыре раза. В распоряжении абонентов шины ISA-8 может быть до 6 линий запросов прерываний IRQ (Interrupt Request), для ISA-16 их число достигает 11. Абоненты шины могут использовать до трех 8-битных каналов ПДП, а на 16-битной шине могут быть доступными еще три 16-битных канала.

Наиболее распространённое конструктивное исполнение магистрали – разъёмы (слоты), установленные на материнской плате компьютера, все одноимённые контакты которых соединены между собой, т.е. все разъёмы абсолютно равноправны. Особенностью конструктивного решения магистрали является то, что платы расширения (дочерние платы), подключаемые к её разъёмам, могут иметь самые различные размеры (длина платы ограничена снизу размером разъёма, а сверху – длиной корпуса компьютера).

8-разрядная шина ISA

Эта шина использовалась в первом IBM PC, в новых системах она практически не применяется. В разъём вставляется плата адаптера с 62 позолоченными печатными контактами. На разъём выделено 8 линий данных и 20 линий адреса, что позволяет адресовать до 1 Мб памяти. Плата адаптера для 8-разрядной шины ISA имеет следующие размеры: высота – 4,2″ (106,68 мм), длина – 13,13″ (333,3 мм), толщина – 0,5″ (12,7 мм). Назначение контактов и разъём 8-разрядной шины ISA приведены на рис. 1.11.

Рис. 1.11 - Назначение контактов и разъём 8-разрядной шины ISA

На контакт B8 должен подаваться сигнал выбора платы –CARD SLCTD. Дело в том, что в компьютерах класса XT и портативных компьютерах класса PC в 8 слот (ближайший к истоичнику питания) можно было вставлять далеко не все платы. Например, туда можно было вставить плату клавиатуры/таймера от модели 3270 PC. К данным платам для этого слота устанавливаются другие требования по синхронизации, обеспечиваемые специальным синхронизирущим сигналом.

16-разрядная шина ISA

Появилась в компьютерах PC/AT со сдвоенными разъёмами расширения. 8-разрядную плату можно вставлять в основную часть 16-разрядного разъёма. Появилось 2 особенности, благодаря которым вставить плату в разъём наоборот невозможно:

ключ – вырез в плате адаптера, который при её установке совпадает или не совпадает с выступом на разъёме.

разная длина двух частей разъёма шины.

Дополнительные контакты, появляющиеся в связи с увеличением разрядности шины, подведены к 36 контактам второй части разъёма. Один или два контакта в основной части имеют другое назначение.

В некоторых старых адаптерах часть нижней кромки, свободной от печатных контактов, выступает вниз и используется для установки элементов или разводки

проводников. После установки такого адаптера в разъём эта кромка практически касается поверхности системной платы. Если на этом участке системной платы находится продолжение разъёма шины, то вставить адаптер невозможно. Для таких плат имеется два разъёма без 16-разрядного расширения.

Обычная плата адаптера класса AT имеет следующие размеры: высота – 4,8″ (121,92 мм), длина – 13,13″ (333,3 мм), толщина – 0,5″ (12,7 мм). Назначение контактов и разъём 16-разрядной шины ISA приведены на рис. 1.12.

Рис. 1.12 - Выводы контактов 16-разрядной шины ISA

Состав и назначение линий шины ISA

Все линии шины ISA можно разбить на шесть групп:

    линии обмена данными;

    адресные линии;

    линии управления;

    линии прямого доступа к памяти;

    линии обслуживания прерываний;

    линии питания и вспомогательные линии.

Обозначение и назначение линий следующее.

1) AEN - Address Enable (Разрешение адреса) - используется в режиме ПДП для сообщения всем платам расширения, что производится цикл ПДП. Устанавливается и снимается параллельно с адресом.

2) BALE - Address Latch Enable Buffered (Строб буферизации адреса). Сигнал стробирования адресных разрядов. Установка высокого уровня говорит о начале цикла шины и начале выдачи на адресные линии действительного (но еще не установившегося) адреса. Падающий фронт сигнала указывает, что адрес установлен, и используется для запоминания (“защелкивания”) состояния линий SAOO...SA19 и LA17...LA23 в модулях памяти. Тип выходного каскада ТТЛ.

3) I/O CH RDY (I/O Channel Ready - готовность канала ввода вывода). Этот сигнал, обычно высокий, переводится в низкое состояние памятью или внешним устройством для продления цикла обращения. Любое медленное устройство, используя этот сигнал, должно держать его в низком состоянии до тех пор, пока оно не проведет операцию распознавания адреса и не выполнит команду чтения или записи. Цикл обмена в ответ на снятие сигнала продлевается на целое число тактов сигнала SYSCLK. Линия не должна находиться в низком уровне более чем 15 мкс и должна управляться устройством с открытым коллектором.

4) -DACК0...-DACK7. (DMA request ACKnowledge - Подтверждение запроса ПДП). Сигнал подтверждения предоставления прямого доступа. Сигнал генерируется контроллером прямого доступа к памяти. Тип выходного каскада ТТЛ.

5) DRQ0...DRQ7. (DMA ReQuest - Запрос ПДП). Сигналы запросов прямого доступа к памяти. Сигнал генерируется устройством ввода-вывода. Запрос воспринимается контроллером ПДП и при одиночных обменах сбрасывается с приходом соответствующего сигнала DACK i .

6) -I/O CH CK. (I/O Channel Check - Ошибка ввода-вывода). Сигнал вырабатывается любым исполнителем - устройством ввода-вывода или памятью для информирования задатчика об ошибке, например об ошибке по паритету в модуле памяти. Тип выходного каскада - открытый коллектор.

7) -I/O CS16. (I/O Cycle Select 16 - Выбор 16-битового цикла обмена для устройства ввода-вывода). Сигнал генерируется устройством ввода-вывода для сообщения задатчику о том, что оно может работать с 16 разрядными данными. Тип выходного каскада - открытый коллектор.

8) -IOR. (I/О Read - Чтение из устройства ввода-вывода). Стробирующий сигнал чтения данных из устройства ввода вывода. Тип выходного каскада - три состояния.

9) -IOW. (I/O Write - Запись в устройство ввода-вывода). Стробирующий сигнал, служащий для определения момента времени, когда можно начинать записывать данные, выставляемые задатчиком.

10) IRQ3...IRQ7, IRQ9...IRQ12, IRQ14, IRQ15. (Interrupt ReQuest - Запрос прерывания). Сигнал генерируется устройством запрашивающим шину для обмена. Запросы на прерывание поступают на вход контроллера прерываний, размещающегося на системной плате. Если соответствующий уровень не заблокирован, то нарастающий фронт IRQ i вызывает прерывание работы процессора и переход на программу обслуживания соответствующего запроса. Высокий уровень IRQ i должен поддерживаться до прихода в контроллер прерываний сигнала подтверждения прерывания от центрального процессора.

11) LA17..LA23. (Latchable Address - Адрес, требующий запоминания в исполнителе). Сигнал может генерироваться ЦП, контроллером ПДП, задатчиком на плате расширения. Сигналы используются для адресации быстродействующих модулей памяти на шине, обеспечивая расширение адресного пространства до 16 Мбайт. В отличие от сигналов SA0...SA19, установившиеся значения которых гарантируются в течении всего цикла шины, сигналы LA17...LA23 обеспечиваются задающим устройством только при высоком уровне сигнала BALE.

12) -MASTER. (Master - Задатчик). Сигнал формируется задатчиком на плате расширения. Низким уровнем сигнала одна из плат расширения сообщает, что управляет шиной - является задатчиком.

13) -MEM CS16. (MEMory 16-bit Chip Selekt - 16-разрядная память). Низким уровнем сигнала модуль памяти, к которому идет обращение, сообщает задатчику, о том, что может поддерживать в текущем цикле обмена16-разрядные передачи с одним состоянием ожидания.

14) -MEMR,SMEMR. (MEMory Read, System MEMory Ready - Чтение из памяти). Сигналы могут формироваться ЦП или задатчиком на плате расширения. Сигналы используются для запроса чтения данных из памяти. Обращение к адресу в зоне до 1 Мбайта идет при активных (низких) SMEMR и MEMR сигналах, выше 1 Мбайта - при неактивном (высоком) SMEMR и активном (низком) MEMR сигналах.

15) -MEMW, SMEMW. (MEMory Write, System MEMory Write - Запись в память). Сигнал формируется ЦП или задатчиком на плате расширения. Низкий уровень сигнала записи в память указывает на начало цикла записи. Обращение к адресу в зоне до 1 Мбайта идет при активных (низких)-SMEMW и -MEMW, выше 1 Мбайта - при неактивном (высоком) -SMEMW и активном (низком) -MEMW.

16) OSC. (OSCillator - Генератор тактовых импульсов). Сигнал формируется центральным процессорным устройством. Сигнал с частотой 14,31818 МГц и скважностью 50%. В общем случае не синхронизирован с тактовой частотой процессора.

17) -OWS. (0 Wait States - 0 тактов ожидания). Сигнал выставляется исполнителем для информирования задатчика о необходимости проведения цикла обмена без вставки такта ожидания, если длительность стандартного цикла велика для него. Вырабатывается после перехода сигнала BALE в низкий уровень. Должен быть синхронизирован с сигналом SYSCLK. Тип выходного каскада - открытый коллектор.

18) -REFRESH. (REFRESH - Регенерация). Сигнал формируется контроллером регенерации для информирования всех устройств, подключенных к магистрали, о выполнении регенерации динамического ОЗУ компьютера (каждые 15 мкс).

19) RESET. (Reset - Сброс). Сигнал сброса, высокий (активный) уровень которого переводит все устройства в исходное сосотояние. Сигнал формируется центральным процессором при включении или сбое питания, а также при нажатии на кнопку RESET.

20) SA0...SA19. (System Address - Системная шина адреса). Сигналы формируется ЦП, контроллером ПДП или модулем памяти. Служат для адресации устройств ввода-вывода и памяти. Их называют так же фиксируемыми адресными разрядами, поскольку они действительны в течении всего цикла обмена. Они используются для передачи 20 младших разрядов адресов памяти (всего адрес содержит 24 разряда).

21) -SBHE. (System Bus High Enable - Разрешение передачи по шине старшего байта). Сигнал определяет тип цикла передачи данных - 8 или 16 разрядный. Вырабатывается параллельно с сигналами SA0...SA19. Сигнал формируется ЦП или модулем памяти. Низкий уровень сигнала говорит о передаче старшего байта данных по линиям SD8...SD15. Вместе с сигналом SАО дает возможность определения типа цикла шины.

Таблица 1.1 – Определение типа цикла передачи данных по шине

22) SD0...SD7. (System Data - Системная шина данных, младший байт). Сигнал формируется ЦП, модулем памяти, задатчиком на плате расширения, модулем устройства ввода-вывода. Линии передачи по шине младшего байта данных. 8-разрядные устройства должны использовать только эти линии для передачи данных. Если программное обеспечение поддерживает 16 или 32 разрядные передачи по 8-разрядной шине данных, то системная плата вырабатывает два или четыре последовательных цикла передачи по этим линиям.

23) SD8...SD15. System Data (Системная шина данных, старший байт). Сигнал формируется ЦП, модулем памяти, задатчиком на плате расширения, модулем устройства ввода-вывода. Старший байт системной шины данных используется для передачи данных 16-разрядными устройствами.

24) SYSCLK (System Clock, Bus Clock - шинный тактовый сигнал). Сигнал системного тактового генератора со скважностью 2 (меандр). В большинстве компьютеров сигнал не синхронизирован частотой ЦП, и его частота равна 8 Мгц. Тип выходного каскада - три состояния.

25) TC. (Terminal Count - Счет завершен). Сигнал формируется контроллером ПДП и используется при завершении блочных передач. Сигнал сообщает о выполнении последнего цикла при передаче массива данных по каналу ПДП.

Проанализировав вышеперечисленные сигналы, можно сделать вывод о том, какие операции обмена в системной шине ISA выполняются с устройствами

ввода-вывода. В режиме программного обмена и обмена с помощью прямого доступа к памяти на магистрали ISA выполняются четыре типа операций (циклов):

1 - операция записи в память;

2 - операция чтения из памяти;

3 - операция записи в устройство ввода вывода;

4 - операция чтения из устройства ввода вывода.

Электрические характеристики шины ISA

Стандарт шины ISA определяет требования к входным и выходным токам приемников и источников сигнала каждой из плат расширения. Выходные каскады системных передатчиков сигналов УВВ должны выдавать ток низкого уровня не меньше 24 мА (это относится ко всем типам выходных каскадов), а ток высокого уровня-не меньше 3 мА (для выходов с тремя состояниями и ТТЛ).

Входные каскады системных приемников сигналов должны потреблять входной ток низкого уровня не больше 0,8 мА, а входной ток высокого уровня - не больше 0,04 мА.

Кроме этого необходимо учитывать, что максимальная длина печатного проводника от контакта магистрального разъема до вывода микросхемы не должна превышать 65 миллиметров, а максимальная емкость относительно земли по каждому контакту магистрального разъема не должна быть больше 20 пФ.

К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на шину питания +5 В. К линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW, -I/O CH СК подключены резисторы 4,7 кОм, к линиям -I/O CS 16, -MEM CS 16, -REFRESH, -MASTER, -OWS - 300 Ом, а к линии I/O CH RDY - 1 кОм. Кроме того, к некоторым линиям магистрали подключены последовательные резисторы: к линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW и OSC - резисторы номиналом 22 Ом, а к линии SYSCLK - 27 Ом.

Таблица 1.1 - Описание сигналов шин ISA

Обозначение

Назначение

Направле - ние

Тип источника

Адресные сигналы

LA<23...17>

Адресные сигналы

Разрешение старшего байта по линиям SD<15...8>

Строб для записи адреса по линиям LA

Разрешение адреса. Сообщает устройствам о выполнении на шине циклов ПДП

Шина данных

Чтение памяти (чтение памяти в пределах первого мегабайта адресного пространства)

Запись в память (запись в память в пределах первого мегабайта адресного пространства)

Чтение УВВ

Запись в УВВ

Выбор цикла для памяти, указывает о том, что память 16-ти разрядная

Выбор цикла для УВВ, указывает о том, что УВВ 16-ти разрядное

Готовность канала ввода/вывода. Предназначен для удлинения циклов доступа

0 тактов ожидания

Регенерация памяти

Ведущий. Предназначен для захвата шины внешней платой

Проверка канала ввода/вывода. Сообщение о фатальной ошибке

Сброс устройств

Системная частота

Частота, равная 14.3818 МГц

IRQ<15,14,12,

11,10,9,7...3>

Запрос на прерывание

DRQ<7...5,3...0>

Запрос на ПДП

DASK<7...5, 3...0>

Подтверждение ПДП

Окончание счета ПДП

Примечание:

В таблице используются следующие обозначения:

знак “-” (минус) перед обозначением сигнала означает, что активный уровень этого сигнала – логический ноль;

I – сигнал является входным для внешних плат;

О – сигнал является выходным для внешних плат;

I/O – сигнал является как входным, так и выходным для внешних плат;

ТРИ – выход микросхемы с тремя допустимыми состояниями на выходе;

ТТЛ – выход микросхемы транзисторно-транзисторной логики;

ОК – открытый коллекторный выход.

В таблице 1.2 приведены электрические характеристики источников сигналов шины ISA.

Таблица 1.2 - Электрические характеристики источников сигналов шины ISA

передатчик

Приемник

передатчик

приемник

Передатчик

Примечания:

    все токи в таблице указаны в миллиамперах. Знак “-” перед значением тока означает, что ток вытекает из внешней платы в слот шины;

    линия с открытым коллекторным выходом может быть подключена к ТТЛ входу;

    по линии с открытым коллекторным выходом ток Ioh (ток утечки) не должен превышать для каждого слота 0.4 миллиампера.

1.2.2 Особенности проектирования модулей системной шины

При разработке модуля необходимо в первую очередь сформулировать требования, предъявляемые к нему, проанализировать функции, которые компьютер должен выполнять с помощью данного модуля.

При проектировании необходимо информационную, электрическую и конструктивную совместимость. Конструктивная совместимость сводится к точному соблюдению всех размеров платы, разъёмов и крепёжных элементов. Информационная совместимость предполагает точное выполнение протоколов обмена и правильное использование сигналов магистрали (основные сигналы шины ISA см. выше). Электрическая совместимость подразумевает согласование уровней входных, выходных и питающих напряжений и токов.

При проектировании узлов УВВ, входящих в интерфейсную часть УВВ, необходимо учитывать временные диаграммы системной шины ISA (рисунок 1.9). Наиболее важными при проектировании УВВ являются следующие временные интервалы:

    задержка между выставлением адреса и передним фронтом строба обмена (не менее 91 нс) - определяет время распознавания своего адреса проектируемым УВВ;

    длительность строба обмена (не менее 176 нс);

    задержка между передним фронтом сигнала -IOR и выставлением УС читаемых данных (не более 110 нс) - определяет требования к быстродействию буфера данных УВВ;

    задержка между задним фронтом сигнала -IOW и снятием записываемых данных (не менее 30 нс) - определяет требования к быстродействию принимающих данные узлов УВВ.

Обобщенная структурная схема интерфейсной части УВВ, включает в себя все следующие узлы (рисунок 1.13):

    входные буфера (не обязательны);

    двунаправленный буфер данных (в общем случае должен быть разделен на два для каждого байта);

    выходной буфер управляющих сигналов;

    селектор адреса (AS);

    формирователь внутренних стробов (STR);

    формирователь сигнала асинхронного обмена I/O CH RDY (DK).

Рис. 1.13 - Обобщенная структурная схема интерфейсной части УВВ

Для электрического согласования применяется буферирование системных сигналов с целью обеспечения требуемых входных и выходных токов (уровни напряжения на ISA - ТТЛ). Для буферирования микросхемы магистральных приемников, передатчиков, приемопередатчиков, называемые также буферами или драйверами.

Приемники магистральных сигналов должны удовлетворять двум основным требованиям: малые входные токи и высокое быстродействие (они должны успевать отрабатывать в течение отведенных им временных интервалов циклов обмена). Требованиям, предъявляемым к приемникам, удовлетворяют следующие серии микросхем: КР1533 (SN74ALS), К555 (SN74LS) и КР1554 (74АС). Величины входных токов логического нуля для них составляют соответственно 0,2 мА, 0,4 мА и 0,2 мА, а величины временных задержек не превышают соответственно 15 нс, 20 нс и 10 нс. Требования, предъявляемые к передатчикам: большой выходной ток и высокое быстродействие. Часто они должны иметь также отключаемый выход (например, для шины данных), то есть иметь выход с открытым коллектором или с тремя состояниями. Это связано с необходимостью перехода УВВ в пассивное состояние в случае отсутствия обращения к нему.Требования к приемопередатчикам включают в себя требования к приемникам и передатчикам, то есть малый входной ток, большой выходной ток, высокое быстродействие и обязательное отключение выходов. Надо отметить, что в простейшем случае (когда разрядов немного) приемопередатчики могут быть построены на микросхемах приемников и передатчиков.

Требования, предъявляемые к селекторам адреса – высокое быстродействие (селектор адреса должен иметь задержку не более чем на интервал между выставлением адреса и началом сигнала строба обмена), возможность изменения селектируемых адресов (особенно важно для устройств ввода/вывода из-за малого количества свободных адресов) и малые аппаратурные затраты.

Необходимо учитывать, что основным типом обмена по ISA является синхронный обмен, т.е. обмен в темпе задатчика без учёта быстродействия исполнителя. Однако возможен асинхронный обмен, при котором «медленный» исполнитель приостанавливает работу задатчика на время выполнения им требуемой команды. В этом случае надо устанавливать сигнал I/O CH RDY, снятие которого (установка в состояние логического нуля) говорит о неготовности исполнителя к окончанию цикла обмена.

Большое число модулей содержит в своём составе буферные ОЗУ, используемые для промежуточного хранения данных при пересыле из компьютера во внешнее устройство или наоборот. Буферные ОЗУ применяются в двух случаях: 1) при медленных внешних устройствах:

а) если необхожимо поддерживать постоянный темп выдачи (приёма) данных;

б) при передачи больших объёмов данных, чтобы освободить процессор для других задач.

2) если внешние устройства быстрые и компьютер не может обеспечить требуемой скорость приёма/выдачи информации.

При параллельном доступе к буферному ОЗУ каждой ячейке ОЗУ соответствует свой адрес в адресном пространстве компьютера (т.н. разделяемая память). Любой задатчик процессор, контроллер ПДП и т.д.) может общаться с буферным ОЗУ как с системным, используя для этого все средства, все методы адресации, команды обработки строк. В адресном пространстве памяти ISA выделяется окно, в которое проецируются адреса буферного ОЗУ

При последовательном доступе все ячейки буферного ОЗУ проецируются в один адрес в адресном пространстве компьютера, т.е. процессор при обращении по одному и тому же адресу обращается в разное время с разными ячейками буферного ОЗУ.

Основу любого модуля составляет программируемая БИС. Однако существуют другие способы построения адаптеров интерфейсов связи, например, на базе программируемых логических схем (ПЛИС) или на простейших микросхемах. Однако наилучшим решением является использование специализированных, программируемых БИС, в которых размещены все функциональные узлы модуля.

1.3 Этапы проектирования модуля

Необходимо разработать программируемый генератор цифровых сигналов с 1 выходом, то есть генератор прямоугольных импульсов. Максимальная частота выходного сигнала – 2МГц. Программируемые параметры - частота и скважность. Таким образом, выходная информация будет представлять последовательности прямоугольных импульсов, характеризуемых различной частотой и скважностью. Обмен информацией ПЭВМ и внешним устройством должен быть управляемым программной частью разрабатываемого модуля.

Исходя из общих принципов разработки электронных схем и особенностей проектирования устройств ввода/вывода для шины ISA разделим поставленную задачу на несколько этапов:

    синтез обобщенной схемы аппаратного модуля;

    выбор специализированной БИС;

    синтез структурной схемы модуля;

    выбор адресного пространства портов ввода/вывода и номеров прерываний;

    синтез принципиальной схемы модуля;

    разработка программной части модуля инициализации внешнего устройства;

    разработка программной части модуля управления внешним устройством;

1.4 Выводы к главе 1

В данной главе, помимо системной шины ISA, были рассмотрены некоторые способы построения генераторов цифровых сигналов. Основные различия во всех вариантах, исключая аппаратные, это длительность и частота выходных сигналов. Исходя из поставленной задачи, максимальная выходная частота генератора должна быть 2МГц, но не один из рассмотренных вариантов не отвечает этому требованию. Кроме этого, в разрабатываемом модуле необходимо программное изменение параметров выходного сигнала. В приведенных схемах на характеристики сигнала можно повлиять путем изменения сопротивления или емкости, однако, програмную реализацию такого подхода очень сложно осуществить, да и кроме всего прочего в несколько раз возрастут затраты. Исходя из выше сказанного, рассмотренные варианты построения генераторов цифровых сигналов в данном проекте использовать нельзя. Выходом из данной ситуации будет применение в разрабатываемом модуле микроконтроллера, выбор которого будет произведен в следующей главе.

2 Разработка схемы модуля

2.1 Общие сведения

В компьютерах IBM PC предусмотрена возможность подключения дополнительных устройств непосредственно к системной шине. Для этого на основной плате компьютера установлены специальные розетки ("слоты"), в которые могут вставляться дополнительные платы, выполняющие функции, не предусмотренные исходной конфигурацией компьютера. В настоящее время выпускается большой ассортимент дополнительных плат, выполняющих самые разнообразные функции, в том числе и расширяющих возможности связи компьютера с внешними устройствами. При необходимости такие платы можно изготовить самостоятельно. Разработке одного типа таких плат посвящён данный курсовой проект.

Общая схема IBM-совместимой ЭВМ с точки зрения использования шины ISA (рис. 2.1) с подключённым к ней программируемым генератором цифровых сигналов:

Рис. 2.1 – Общая схема IBM-совместимой ЭВМ с точки зрения использования шины ISA

Обозначения:

ЦП – центральный процессор

КРП – контроллер регенерации памяти

КПР – контроллер прерываний

ПБ – перестановщик байт

СП – системная память

УВВ – устройство ввода/вывода

Разработываемый модуль конструктивно подключается к шине ISA следующим образом (рис. 2.2):

Рис. 2.2 – Организация объединительной шины

2.2 Разработка обобщённой схемы модуля

Модуль (рис. 2.3) содержит следующие составные части:

    Интерфейсный блок для соединения с ЭВМ (c шиной ISA). Служит для связи модуля с шиной. Используется для передачи управляющих сигналов и данных между шиной и модулем. Состоит из селектора адреса и буфера данных между СБИС и шиной ISA.

    ООД – оконечное оборудование данных. На него подаётся программируемый модулем цифровой сигнал.

Рис. 2.3 – Обобщённая схема модуля шины ISA

Обобщенная схема генератора цифровых сигналов (рис. 2.4) содержит следующие блоки:

    селектор адреса (СА)

    специализированная СБИС

    двунаправленный буфер данных (БД)

Рис. 2.4 – Обобщённая схема генератора цифровых сигналов

Селектор адреса анализирует сигнал -AEN (не ведется ли на шине в это время цикл прямого доступа к памяти) и адрес, выставленный на шине адреса (SA). Если обращение идет к проектируемой плате, то СА формирует строб, разрешающий работу СБИС и двунаправленного буфера между СБИС и шиной ISA. СБИС по сигналу чтения (-IOR) или записи (-IOW) считывает или передает данные на шину данных (SD). Последовательность данных поступает на оконечное оборудование данных (ООД) в виде цифрового сигнала.

2.3 Выбор СБИС и описание её структуры

Проведя анализ справочной литературы по различным СБИС можно выделить микросхему КР580ВИ53. Эта микросхема представляет собой устройство, формирующее программно-управляемые временные задержки (таймер). Условное графическое обозначение (УГО) микросхемы приведено на рисунке 2.2, структурная схема показана на рисунке 2.3.

Рисунок 2.2 – УГО КР580ВИ53

Рисунок 2.3 – Структурная схема КР580ВИ53

Назначение выводов микросхемы приведено в таблице 2.1.

Таблица 2.1 – Назначение выводов микросхемы КР580ВИ53

Обозначение

Тип вывода

Функциональное назначение выводов

Входы/выходы

Канал данных

СLK0, СLK1, СLK2

Синхронизация каналов 0-2

OUT0, OUT1, OUT2

Сигналы каналов 0, 1, 2 соответственно

GATE1, GATE2, GATE3

Входы управления счетчиков

Сигнал выбора каналов 0, 1, 2

Выбор микросхемы

Напряжение питания 5 В±5%

Микросхема КР580ВИ53 содержит три независимых идентичных канала: 0, 1, 2. Рассмотрим назначение основных узлов.

Схема выбора канала формирует сигналы управления каналами 0, 1, 2, внутренними и внешнимим передачами данных, приемом управляющих слов.

Буфер канала данных состоит из восьми двунаправленных формирователей, имеющих на выходе состояние «Выключено», и осуществляет сопряжение таймера с шиной данных МП. Через буфер канала осуществляется запись управляющего слова в регистры режима и параметров счета в счетчики каждого канала. Схемы каналов 0, 1, 2 идентичны и содержат регистры режима, схемы управления, схемы синхронизации и счетчики. Регистр режима предназначен только для записи информации. Он принимает и хранит кправляющее слово, код которого задает режим работы канала, определяет тип счета и последовательность загрузки данных в счетчик. Схема управления канала синхронизирует работу счетчика в соответствии с запрограммированным режимом и работу канала с работой МП.

Схема синхронизации канала формирует серию внутренних тактовых импульсов определенной длителшьности, которая зависит от внешней частоты синхронизации CLK и определяется внутренними времязадающими цепями схемы. Максимальная частота внешних сигналов синхронизации CLK не более 2.6 МГц.

Счетчик канала представляет собой 16-разрядный счетчик с предустановкой, работающий на вычитание в двоичном или двоично-десятичном коде. Максимальное число при счете равно 2 16 при работе в двоичном коде или 10 4 при работе в двоично-десятичном. Счетчики каналов независимы друг от друга и могут иметь различные режимы работы и типы счета. Запуск счета в каждом канале, его останов и продолжение осуществляется по соответствующему сигналу GATE «Разрешение канала».

Описание режимов работы СБИС КР580ВИ53

Микросхема может функционировать в одном из шести основных режимов.

В режиме 0 (прерывания терминального счета) на выходе канала формируется напряжение высокого уровня после отсчета числа, загруженного в счетчик. Сигнал GATE обеспечтвает начало счета, его прерывание (при необходимости) и продолжение счета. Перезагрузка счетчика во время счета прерывает текущий счет и возобновляет его по новой программе.

В режиме 1 (работы ждущего мультивибратора) на выходе канала фомируется отрицательный импульс длительностью
, (2.1)

где T CLK – период тактовых импульсов;

n – число, записанное в счетчик.

Запуск ждущего мультивибратора осуществляется положительным фронтом сигнала GATE. Каждый положительный фронт этого сигнала запускает текущий счет или перезапускает счетчик сначала. Перезагрузка счетчика во время счета не влияет на текущий счет.

В режиме 2 (генерации частоты) таймер выполняет функцию делителя входной частоты CLK на n. При этом длительность положительной части периода равна T CLK (n-1), а отрицательной T CLK . Перезагрузка во время счета не влияет на текущий счет.

Режим 3 (генерации меандра) аналогичен режиму 2, при этом длительность положительного и отрицательного полупериодов для четного числа n равна T CLK n/2. Для нечетного числа n длительность положительного полупериода равна T CLK n/2, а отрицательного T CLK (n-1)/2.

В режиме 4 (программного формирования одиночного строба) на выходе канала формируется импульс отрицательной полярности длительностью
после отсчета числа, загруженного в счетчик. По сигналу GATE и после перезагрузки счетчика работа канала в режиме 4 аналогична режиму 0.

В режиме 5 (аппаратного формирования одиночного строба) на выходе канала формируется импульс отрицательной полярности длительностью после отсчета числа, загруженного в счетчик.

2.4 Выбор адресного пространства портов ввода/вывода

При выборе зоны адресов проектируемого модуля необходимо учитывать распределение стандартных адресов ввода/вывода и выбирать адреса из свободных зон. В таблице 2.5 приведена карта адресов УВВ архитектуры IBM PC.

Таблица 2.5 - Карта адресов УВВ архитектуры IBM PC

Зона адресов

Устройство ввода/вывода

Контроллер ПДП (DMA- master)

Контроллер прерываний (Мaster)

Регистры управления аппаратурой. Порты ввода/вывода

Регистры управления таймером

Контроллер интерфейса клавиатуры (8042)

Порты RTC и порты ввода/вывода CMOS

Регистры ПДП

Контроллер прерываний (Slave)

Контроллер ПДП (DMA – slave)

Математический сопроцессор

Контроллер жесткого диска

Параллельный порт #2

Контроллер графического адаптера

Последовательный порт #2

Сетевые порты

Параллельный порт #1

Адаптер параллельного порта и монохромного режима

EGA-адаптер

CGA-адаптер

Контроллер дисковода на гибких дисках

Последовательный порт #1

Несмотря на потенциальную возможность адресации по 16 линиям адреса, чаще всего используются только 10 младших линий SAO...SA9, так как большинство разработанных ранее плат расширения используют только их, и, следовательно, за исключением особых случаев нет смысла обрабатывать старшие разряды SA10...SA15.

Младшие адресные разряды с шины (SA0 и SA1) необходимо соединить с адресными входами СБИС (A0 и A1). Исходя из спецификации СБИС и поставленной задачи, проектируемый модуль будет занимать в адресном пространстве три адреса. Выберем адрес

372h (001101110010b)-

373h (001101110011b)-

375h (001101110101b)-

Адреса 372h и 373h служат для загрузки счетчика канала 0 и счетчика канала 1 соответственно, а адрес 375h – для занесения управляющего слова в регистр режима.

2.5 Разработка элементов интерфейсной части модуля

Самое простое решение при построении селектора адреса - использование только микросхем логических элементов. Основным достоинством такого подхода является высокое быстродействие (задержка не превышает 30 нс). Однако есть и недостатки:

    Необходимость проектирования схемы заново для каждого нового адреса.

    Невозможность смены адреса.

    Сложность организации выбора нескольких адресов.

В задании на курсовой проект ничего не сказано по поводу выбора адресов ввода/вывода. Значит, реализуем самый простой в плане временных и материальных затрат вариант с фиксированными адресами, т.е. строим селектор адреса на логических элементах.

Функциональная схема селектора адреса представлена на рисунке 2.8.

Рис. 2.8 – Функциональная схема селектора адреса

В качестве буфера данных между СБИС и шиной данных используем микросхему К555АП6 (рис. 2.9, таблица 2.6).

Операция

Таблица 2.6 – Таблица истинности К555АП6

Рис. 2.9 – УГО микросхемы К555АП6

2.6 Выбор элементной базы и разработка принципиальной схемы

Для построений принципиальной схемы необходимо выбрать элементную базу. Анализируя справочную литературу и учитывая требования, предъявляемы к приемникам и передатчикам, выберем следующие микросхемы:

инверторы – КР1533ЛН1,

элементы «И-НЕ» - КР1533ЛА2, КР1533ЛА3,

элементы «ИЛИ-НЕ» - КР1533ЛЕ1,

счетчик – КР555ИЕ10,

буфер между СБИС и шиной – К555АП5.

Для сопряжения сигналов -IOR, SA0 и SA1 с СБИС будут применяться элементы «И» - КР1533ЛИ1.

Сигнал с выхода OUT0 нулевого канала заведен на вход синхронизации канала 1 с целью изменения скважности и частоты выходного сигнала разрабатываемого модуля. Счетчик СТ2 аппаратно делит частоту сигнала CLK на 4, таким образом обеспечивается указанная в задании максимальная частота выходного сигнала (2 МГц). Программно изменяя коэффициент счета канала 0 (N1) мы добъемся изменения частоты выходного сигнала. Изменяя коэффициент счета канала 1 (N2), обеспечим программное изменение скважности выходного сигнала. Оба канала работают в режиме 2.

Разработанная принципиальная схема приведена в ТПЖА Э3.

2.7 Выводы к главе 2

В данной главе была разработана обобщенная схема модуля, выбрана специализированная СБИС, рассмотрены ее структура и режимы работы. Были выбраны адреса ввода платы. По результатам второй главы была спроектирована принципиальная схема устройства.

По принципиальной схеме может быть выпущена плата, которая вставляется в слот шины ISA компьютера и в режиме программно-управляемого обмена генерирует цифровые сигналы заданной частоты и скважности.

3 Разработка программных модулей

3.1 Разработка программного модуля инициализации

Алгоритм программирования модулей зависит от типа используемой программируемой СБИС и режима обмена между СБИС и процессором компьютера через системную шину ISA.

Инициализация аппаратных модулей проводится в несколько этапов. На первом этапе выполняется инициализация СБИС модуля. На последующих этапах производится инициализация системы прерываний или ПДП, в зависимости от используемых режимов обмена данными между модулем и процессором системы.

В данном случае ведётся программно-управляемый обмен, т.е. инициализировать нужно только СБИС. Ещё одной особенностью является то, что нет необходимости выполнять блокирования системы прерывания в виду того, что в модуле не ведётся режим обмена по прерываниям.

Процедура инициализации СБИС заключается в программировании режима работы необходимо загрузить из микропроцессора управляющее слово CW. При этом на адресных входах А0 и А1, а также , , должны быт выставлены соответствующие сигналы. Их комбинации продублированы в таблице 3.1.

Режим работы каналов СБИС КР580ВИ53 программируется с помощью простых операций ввода/вывода (таблица 3.1)

СБИС→канал данных (чтение показаний счетчика канала 0)

СБИС→канал данных (чтение показаний счетчика канала 1)

СБИС→канал данных (чтение показаний счетчика канала 2)

Нет операций. Канал данных СБИС в высокоомном состоянии

Запрет. Канал данных СБИС в высокоомном состоянии

Каждый из трех каналов СБИС программируется индивидуально путем записи в регистр режима управляющего слова, а в счетчик – запрограммированного числа байтов. Формат управляющего слова представлен в таблице 3.2.

Таблица 3.2 – Формат управляющего слова

Разряд слова состояния

Назначение

Код: 0 – двоичный, 1 – десятичный

Режим работы:

000 – режим 0;

001 – режим 1;

Х10 – режим 2;

Х11 – режим 3;

100 – режим 4;

101 – режим 5.

00 – операция «защелкивание»;

01 – только младший байт;

10 – только старший байт;

11 – младший байт, затем старший.

Выбор регистра режима:

00 – канал 0, 01 – канал 1,

Для инициализации СБИС необходимо сначала записать управляющее слово для канала 0 и загрузить счетчик 0, затем записать управляющее слово для канала 1 и загрузить счетчик 1. Запись управляющего слова, в отличие от загрузки счетчиков, производится по одному адресу (375h).

Таким образом, нам необходимо записать по адресу 375h управляющее слово: 00110100b, затем по адресу 372h необходимо занести в счетчик канала 0 запрограммированное число N1 (коэффициент счета). После этого снова записываем управляющее слово (01110100b) и загружаем по адресу 373h в счетчик параметр N2. Элементы программы представлены в приложении А.

3.2 Выводы к главе 3

Управляющие функции, которые выполняет модуль управления, включены в программный модуль инициализации.

В этой главе было рассмотрено программирование выбранной БИС, и была разработана программная часть модуля. Реализован программно-управляемый обмен данными с разрабатываемым устройством. Пользователь вводит значения частоты и скважности цифрового сигнала, значения которых он хочет получить на выходе устройства. Программный модуль инициализирует СБИС устройства в соответствии с введёнными значениями и схема начинает генерацию цифрового сигнала.

Заключение

В результате выполнения курсового проекта был проведён обзор существующих аналогов проектируемого устройства, были получены навыки проектирования аппаратно-программных модулей системной шины ISA.

Так же разработан программируемый генератор цифровых сигналов со следующими характеристиками:

  • максимальная частота выходного сигнала 2 МГц;

    возможность программного изменения частоты и скважности;

    адреса ввода: 372h, 373h, 375h.

Также были разработаны программные модули, обеспечивающие работу платы.

В основу проектирования была положена микросхема программируемого таймера К580ВИ53, работающая в режиме генерации частоты. Для обеспечения масимальной выходной частоты 2 МГц произведено деление тактовых импульсов сигнала SYSCLK шины ISA (8 МГц) на 4. В канал 0 и канал 1 программируемого таймера загружаются 2 числа. На частоту влияют оба загруженных числа (происходит деление частоты 2 МГц на определённый коэффициент). На скважность влияет число, записанное в счётчик канала 1. Т.о., загружая в счётчики определённые значения, мы имеем возможность программно изменять форму цифрового сигнала.

Приложение А
(справочное)

Библиографический список

    Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. – СПб.: Питер, 2004. – 686 с.: ил.

    Шабалин Л.А. Разработка аппаратно программных модулей шины ISA: методические указания по выполнению курсовой работы. – ВятГУ. 2000 г. – 35 с.

    Блохин С.М. Шина ISA персонального компьютера IBM PC/AT - М.: ПК "Сплайн", 1992.

    Шило В.Л. Популярные цифровые микросхемы: Справочник. – М.: Радио и связь, 1987. – 352 с.: ил. – (Массовая радиобиблиотека. Вып. 1111).

    Бычков Е.А. Архитектура и интерфейсы персональных компьютеров. – М.: Центр “СКС”, 1993.

    Новиков Ю.В., Калашников О.А., Гуляев С.Э. Разработка устройств сопряжения для персонального компьютера типа IBM PC -М.: Эком., 1997.

    Завадский В.А. Компьютерная электроника - К.: ВЕК, 1996.

    Л.А. Мальцева, Э.М. Фромберг, В.С. Ямпольский Основы цифровой техники. – М.:Радио и связь, 1986г. 128с.

    Микропроцессоры и микропроцессорные комплекты интегральных микросхем: Справочник. В 2 т. / В. –Б. Б. Абрайтис, Н. Н. Аверьянов, А. И. Белоус и др.; Под ред. В. А. Шахнова. - М.: Радио и связь,1988. - Т.1. - 386 с.: ил.

    Мячев А.А., Иванов В.В. Интерфейсы вычислительных систем на базе мини- и микроЭВМ /Под ред. Б.Н. Наумова. - М.: Радио и связь, 1986.

Приложение Б
(Обязательное)

Список сокращений

ЦП – центральный процессор

КПДП – контроллер прямого доступа к памяти

КРП – контроллер регенерации памяти

КПР – контроллер прерываний

ПБ – перестановщик байт

ПГЦС – программируемый генератор цифровых сигналов

СП – системная память

УВВ – устройство ввода/вывода

СА – селектор адреса

ООД – оконечное оборудование данных

БД – буфер данных

СБИС – сверхбольшие интегральные схемы

ЭВМ – электронно-вычислительная машиина

ПЭВМ – персональная электронно-вычислительная машина

ПТ – программируемый таймер

МП – микропроцессор

ПЛИС – программируемая логическая интегральная схема

ПДП – прямой доступ к памяти

ОЗУ – оперативное запоминающее устройство

УГО – условно-графическое обозначение

БИС – большая интегральная схема

ТТЛ – транзисторно-транзисторная логика

Приложение В
(Обязательное)

Листинг программы

#include //стандартная библиотека ввода/вывода

#include //там находится прототип функции outp()

#define CWT0 0x52 //CWT0 – 00110100b управляющее слово для канала 0

#define CWT1 0x116 //CWT1 – 01110100b управляющее слово для канала1

#define portc 0x375// адрес для занесение управляющего слова в регистр режима

//прототип функции инициализации

void InitPit (int N1, int N2);// частота, скважность

//Ввод требуемых параметров (N 1, N 2)

//Инициализация счетчика:

void InitPit (int N1, int N2)

{unsigned char p1,p2,t1,t2;

p1=(N1<<8)>>8;

t1=(N2<<8)>>8;

Ввода-вывода применяются три системные программы...

  • Модуль накопления для задач многомерной мессбауэровской спектрометрии

    Дипломная работа >> Физика

    5.2 Разработка принципиальной схемы модуля накопления 5.3 Блок-схема программного алгоритма... более . Полная аппаратная и программная совместимость многих выпускаемых... системной магистрали ISA . Крейт содержит блок питания. Наличие шины ISA простота...

  • Разработка автоматизированной системы управления электроснабжением КС "Ухтинская"

    Дипломная работа >> Физика

    1.1.3 Разработка интегрированной автоматизированной... программное обеспечение, работающее со специфичным семейством плат с ISA -шиной ... С505 Siemens Системное программное обеспечение - ... модулей : Модуль 0 (23CM61) – главный модуль ... аппаратных и программных средств...

  • Разработка эффективных систем защиты информации в автоматизированных системах

    Дипломная работа >> Информатика

    Метод дослідження – системний аналіз методів та... в виде различных модулей . В результате этого... выполнить рекомендации ISO /IEC 17799:2002 ... программно -аппаратных средств, направленных на обеспечение защиты информации во время функционирования АС; разработку ...

  • Разработка информационно справочной системы по учету вагонов на подъездном пути предприятия

    Дипломная работа >> Информатика

    Стандарт ISO /IEC 12207 (ISO - International ... обработки, разработкой структуры программного продукта (архитектуры программных модулей ), ... переходе на другую аппаратную (программную ) платформу, ... Определение значения такта системной шины : 8. Определение значения...

  • Шина ISA (Industrial Standard Architecture - промышленная стандартная архитектура) использовалась в первом компьютере IBM PC, выпущенном в 1981 году, а в 1984 году - в расширенном 16-разрядном варианте в IBM PC/AT. Шина ISA - это основополагающий базис архитектуры персональных компьютеров; она использовалась вплоть до конца 1990-х годов. Кажется странным, что шина с такой “древней” архитектурой использовалась в высокопроизводительных компьютерах, выпускавшихся до конца 1990-х годов, но это объясняется ее надежностью, широкими возможностями и совместимостью. К тому же эта шина до сих пор работает быстрее большинства подключаемых к ней периферийных устройств.

    Примечание!

    Шина ISA практически не встречается в современных настольных системах, а количество компаний, выпускающих платы ISA, крайне ограниченно. Платы ISA пока еще популярны в промышленных системах (PICMG), однако в скором будущем они исчезнут и там.

    Существует два варианта шины ISA, различающихся количеством разрядов данных: старая 8-разрядная версия и новая 16-разрядная. Старая версия работала на тактовой частоте 4,77 МГц в компьютерах классов PC и XT. Новая версия использовалась в компьютерах класса AT с тактовыми частотами 6 и 8 МГц. Позже было достигнуто соглашение о стандартной максимальной тактовой частоте 8,33 МГц для обеих версий шин, что обеспечило их совместимость. В некоторых системах допускается использование шин при работе с большей частотой, но не все платы адаптеров выдерживают такую скорость. Для передачи данных по шине требуется от двух до восьми тактов. Поэтому максимальная скорость передачи данных по шине ISA составляет 8,33 Мбайт/с:

    8,33 МГц × 16 бит: 2 такта = 66,64 Мбит/с (или 8,33 Мбайт/с)

    Полоса пропускания 8-разрядной шины вдвое меньше (4,17 Мбайт/с). Однако не забывайте, что это теоретические максимумы - из-за сложного протокола обмена данными реальная пропускная способность шины намного ниже (обычно вдвое). Но даже в этом случае шина ISA работает быстрее, чем большинство подключенных к ней периферийных устройств.

    8-разрядная шина ISA

    Эта шина использовалась в первом компьютере IBM PC. В новых системах она не применяется, но до сих пор эксплуатируются сотни тысяч компьютеров с такой шиной, в том числе системы на базе процессоров 286 и 386.

    В разъем вставляется плата адаптера с 62 контактами. На разъем подаются 8 линий данных и 20 линий адреса, что позволяет адресовать до 1 Мбайт памяти. Назначение и расположение контактов разъема 8-разрядной шины ISA показано на рисунке.

    Хотя эта шина очень проста, компания IBM до 1987 года не публиковала ее полного описания и временных диаграмм сигналов на линиях данных и адреса. Поэтому при создании плат адаптеров для первых IBM-совместимых компьютеров разработчикам приходилось самим разбираться в ее работе. По мере распространения IBM-совместимых компьютеров и их превращения в промышленный стандарт процесс разработки существенно упростился.

    Плата адаптера для 8-разрядной шины ISA имеет следующие размеры:

    • высота - 4,2 дюйма (106,68 мм);

    16-разрядная шина ISA

    Компания IBM буквально “взорвала” мир ПК, представив в 1984 году модель AT, оснащенную процессором 286. Данный процессор поддерживал 16-разрядную шину данных, что позволяло обеспечить взаимодействие между процессором, системной платой и памятью с использованием 16-разрядных, а не 8-разрядных данных. Хотя процессор и можно было установить на системной плате с 8-разрядной шиной ввода-вывода, все равно обеспечивалось повышенное быстродействие при обмене данными с различными платами, подключаемыми к шине.

    Вместо того чтобы создавать новую шину ввода-вывода, IBM решила обеспечить совместимость системы с 8- и 16-разрядными адаптерами, оставив тот же 8-разрядный разъем, но добавив к нему еще один дополнительный. В результате был получен разъем для установки 16-разрядных адаптеров. Впервые представленная в компьютерах PC/AT в августе 1984 года 16-разрядная шина ISA также называлась шиной AT.

    Дополнительный разъем в каждом 16-разрядном разъеме расширения добавляет 36 контактов (общее количество контактов для передачи данных при этом увеличивается до 98), необходимых для передачи данных большей разрядности. Кроме того, было изменено назначение двух контактов 8-разрядной части разъема. Однако подобные изменения никак не отразились на работоспособности 8-разрядных плат.

    Обычная плата адаптера класса AT имеет следующие размеры:

    • высота - 4,8 дюйма (121,92 мм);
    • длина - 13,13 дюйма (333,5 мм);
    • толщина - 0,5 дюйма (12,7 мм).

    В компьютерах класса AT могут встретиться платы высотой как 4,8 дюйма, так и 4,2 дюйма (соответствующие старым платам для компьютеров класса PC/XT). Платы с уменьшенной высотой устанавливались в компьютере класса XT модели 286. В данной модели с системной платой, предназначенной для компьютера класса AT, использовался корпус от XT, поэтому высоту плат адаптеров пришлось уменьшить до 4,2 дюйма. После этого большинство производителей стали выпускать только адаптеры с уменьшенной высотой, которые можно установить в любой корпус.

    32-разрядная шина ISA

    Спустя некоторое время после выпуска 32-разрядного процессора были разработаны первые стандарты на соответствующую шину. Еще до появления первых проектов архитектур МСА и EISA некоторые компании начали разрабатывать собственные конструкции, представляющие собой расширение архитектуры ISA. Хотя их было выпущено сравнительно немного, некоторые из них встречаются даже сейчас.

    Дополнительные линии этих шин обычно использовались только при работе с платами расширения памяти и видеоадаптерами, выпускаемыми компаниями, создавшими данный стандарт. Их параметры и разводки разъемов существенно отличаются от стандартных, к тому же их спецификации и схемы контактов не распространялись.