МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ ПОЛОЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

advertisement
1
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
ПОЛОЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к курсовой работе
по дисциплине «Архитектура вычислительных систем»
для студентов специальности 1-36 04 02 «Промышленная электроника»
заочной формы обучения
по теме:
«Исследование характеристик устройств из состава архитектуры ПЭВМ»
Новополоцк
2013
2
1. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КУРСОЙ РАБОТЫ
Текстовая часть курсовой работы оформляется на листах формата А4 в
соответствии с ГОСТ 2.105-95 ЕСКД «Общие требования к текстовым
документам» и представляется сброшюрованной в папке-скоросшивателе.
Порядок брошюровки следующий:
1) титульный лист, номер страницы не указывается;
2) задание на курсовую работу, оформленное на стандартном бланке, номер
страницы не указывается;
3) содержание (оглавление) – оформляется на листе со стандартной рамкой и
основной надписью по форме для текстовых документов в соответствии с
ГОСТ 2.104, номер страницы – 3-ий (на всех последующих листах –
нумерация страниц по порядку);
4) введение – не нумеруется, оформляется на листах со стандартной рамкой
(весь последующий текстовый материал также);
5) основная часть, соответствующая заданию на курсовую работу;
6) заключение – не нумеруется;
7) список использованной литературы – не нумеруется;
8) графический материал оформляется в виде приложений.
Объем пояснительной записки составляет ориентировочно 30-40 страниц
формата А4.
Шрифт записки - «Times New Roman» 14 через 1,5 интервала.
Графическая часть выполняется на листах формата А3 или А4.
2. КРИТЕРИИ ОЦЕНКИ КУРСОВОЙ РАБОТЫ
При приеме и проверке работы преподаватель-руководитель
в целом оценивает, насколько ее автор:




в полном объеме справился с разработкой темы;
самостоятельно выполнил схемы в приложении;
последовательно, логически связанно построил изложение;
продемонстрировал владение содержанием работы, доказал умение
аргументировано отстаивать свою точку зрения;
 изучил достаточное количество теоретических материалов, включая
новейшие источники;
 написал работу грамотно, техническим языком, придерживаясь
научного стиля изложения;
 правильно, аккуратно оформил работу в соответствии с требованиями,
изложенными в разделе 1.
3
Работа не принимается (возвращается на доработку) если:
 студент не проявил самостоятельности при подготовке работы,
работа свелась к простому копированию доступных источников
или, что вообще недопустимо! - дублированию работы других
студентов;
 приложения №1 или №2 выполнены не самостоятельно, а
использована вставка рисунка, скриншота или фотографии,
найденных в интернете схем;
 отсутствуют подписи студента на чертежах и титульном листе
 не полностью выполнено задание на курсовую работу (пропущены
отдельные пункты задания) или допущены грубые ошибки;
 содержание работы не соответствует заданию;
 отсутствует титульный лист;
 отсутствует задание на курсовую работу;
 не оформлено содержание курсовой работы с указанием листов;
 отсутствует папка-скоросшиватель;
 во время защиты студент не смог отстоять основные результаты
работы, не проявил должного уровня владения темой.
Студент, не сдавший или не защитивший курсовую работу,
не допускается к экзамену по данной дисциплине.
*******
Курсовая работа в виде отпечатанного материала,
сброшюрованная и подписанная студентом, сдается на кафедру
Энергетики и электронной техники ауд. 419н (секретарю кафедры).
Для проверки работы в процессе выполнения, текст работы
можно высылать руководителю работы по адресу его электронной
почты: pitolin594@gmail.com.
4
3. ИСХОДНЫЕ ДАННЫЕ ПО КУРСОВОЙ РАБОТЕ
Исходными данными являются: тип системной платы (по прайс-листу
поставщика - http://www.nix.by), заданное устройство и используемое программное
обеспечение для него, которые повариантно выбираются из таблицы согласно
номеру в списке группы (номер варианта определяется порядковым номером в
списке журнала группы).
№
Фирма Тип системной
вари- производитель
платы
анта
системной
платы
ASUS
Z9PR-D12
1
ASRock
B75M-DGS
2
3
MSI
H87M-P32
4
GigaByte
GA-Z87P-D3
5
Intel
DH61CRB3
6
7
ASRock
Q87M Vpro
ASRock
Z77E-ITX
8
9
ASUS
P8B-C/4L
ASUS
P9X79-E WS
10
GigaBite
G1.Sniper M5
11
12
ASRock
Z87 Extreme4
GigaByte
GA-Z87X-UD3H
13
14
MSI
Z87-G3
ASUS
Z87-K
15
ASUS
P9D-V
16
17
ASUS
P8Z77-V LX
ASRock
G41M-VS3
18
19
ASUS
Z8PE-D12x
Intel
DH77EB
20
ASRock
FM2A55M-VG3
Заданное
Программы для
устройство на обслужмвания
системной плате
устройства
Контроллер VGA
функции BIOS
Контроллер USB
+Flash
Контроллер USB
+Gamepad
интервальный
таймер
Контроллер HDD
SATA
Контроллер VGA
функции
Win32 API
функции
Win32 API
функции BIOS
Контроллер Lan
Ethernet
Контроллер Lpt
функции
Win32 API
функции BIOS
Контроллер USB
+Mause
Контроллер AC’97
Audio
Контроллер VGA
функции
Win32 API
функции
Win32 API
функции BIOS
Контроллер HDD
IDE
Контроллер VGA
функции BIOS
Контроллер
клавиатуры
Контроллер
прерываний
Контроллер RS232C
функции BIOS
Контроллер CMOS
BIOS
Контроллер VGA
функции BIOS
Контроллер AC’97
Audio
Контроллер FDD
функции
Win32 API
функции BIOS
функции
Win32 API
функции BIOS
функции BIOS
функции BIOS
функции BIOS
функции BIOS
5
Контроллер мыши
PS/2
Контроллер RS232C
функции BIOS
функции BIOS
A960M-M3
Контроллер
прерываний
Контроллер Lan
Ethernet
Контроллер HD
Audio
интервальный
таймер
Контроллер
клавиатуры
Контроллер RAID
EliteGroup
X77H2-A3
Контроллер SCASI
функции BIOS
EliteGroup
G31T-M9
Контроллер шины
PCI
функции BIOS
21
Intel
S5500BCR
22
23
Intel
S3420GPV
Intel
DBS1200BTSR
24
BioStar
A57A
25
BioStar
G41D3C
26
BioStar
TZ77XE4
27
MSI
970A-G46
28
29
30
EliteGroup
функции BIOS
функции
Win32 API
функции
Win32 API
функции BIOS
функции BIOS
функции BIOS
4. СОДЕРЖАНИЕ РАСЧЕТНО-ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
Введение. Указывается назначение устройства из состава архитектуры
вычислительных систем и шины связи с устройствами ввода-вывода ПЭВМ, для
которых разрабатывается интерфейс.
1. Обзор системной (материнсукой) платы (МП): описание центрального
процессора (ЦП), схемы оперативного запоминающего устройства (ОЗУ),
используемой шинной архитектуры и установленных устройств ввода-вывода,
анализ ресурсов, требующихся для их работы (используемые прерывания,
доступное адресное пространство, порты доступа и т.д.).
2. Исследование принципиальной схемы заданного устройства и его
функциональной структуры, а также сопряжения с используемой шиной для
связи с ЦП.
3. Описание протоколов обмена данными исследуемого устройства через
шину сопряжения с ЦП ПЭВМ или через систему ввода-вывода с
подключаемыми внешними устройствами (ВУ).
4. Рассмотрение основных программ или функций BIOS для
обеспечения интерфейса связи с заданным устройством.
Заключение. Описываются перспективы использования и развития
интерфейса данного типа.
Приложения:
1. Общая схема используемой системной (материнской) платы.
2. Принципиальная схема заданного устройства.
6
5. ОБЩИЕ РЕКОМЕНДАЦИИ ПО РАЗРАБОТКЕ РАЗДЕЛОВ
РАСЧЕТНО-ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
При формировании содержания пояснительной записки следует
ориентироваться прежде всего на обеспечение общей логики построения
материала курсовой работы, принимая за основу структуру содержания,
приведенную в задании.
Некоторые разделы пояснительной записки можно расширять, вводить
подразделы, но полностью исключать разделы не разрешается.
Конечное содержание пояснительной записки должно быть согласовано с
руководителем курсовой работы в процессе ее выполнения.
Прежде всего необходимо выполнить поиск, накопление, проработку и
систематизацию исходного материала по теме курсовой работы.
Во введении необходимо кратко сформулировать цель и основные задачи
разрабатываемого устройства из состава архитектуры ВС.
5.1. Рекомендации по формированию раздела 1 пояснительной записки.
Общая техническая характеристика системной платы для заданной модели
берется из технического руководства или из данных сайта производителя
(электронные адреса некоторых производителей системных плат приведены в
перечне дополнительных источников).
Студент самостоятельно разрабатывает и рисует структурную схему
системной платы, пользуясь руководством по материнской плате или ее
техническими характеристиками. Все поясняющие надписи на схеме даются
только на русском языке.
Дополнительно разрешается приводить фотографии системной платы «в
плане» и со стороны разъемов ввода-вывода.
В разделе приводятся конструктивные параметры слота для установки
центрального процессора.
Определяется наличие мультипроцессорной системы.
Рассматривается линейка процессоров, совместимых с заданной моделью
системной платы. Рассматриваются границы повышения производительности
центрального процессора (оверклокинга), если он доступен в SETUP.
Приводятся характеристики ОЗУ и КЭШ-памяти, установленной на
материнской плате, кратко излагается принцип ее работы.
Указывается тип используемой памяти (SD RAM, DDR, DDR2 и т.д.) и
предельные технические характеристики (объем, напряжение питания и т.д.)
Дается характеристика системы двухканального доступа.
Приводится порядок настройки памяти, если он доступен в SE1TUP.
Рассматриваются варианты внутренних шин, установленных на системной
плате (ISA, AGP, PCI, PCI-E и других).
7
Указывается разрядность шины, адресное пространство, частота,
пропускная способность, мультиплексирование.
Приводится краткое описание интерфейсов ввода-вывода: RS232C,
паллельный порт LPT, USB, FDD, ATA IDE, SATA (поддерживаемые типы RAIDмассивов), PS/2, InfraRed, оптический выход, DVI, HDMI и т.д.
Наличие и характеристики встроенных устройств (видеоадаптера, сетевого
адаптера, звукового адаптера и т.д.)
Блоки питания и возможности управления электропитанием ASPI.
Графическое изображение функциональной схемы системной платы с
необходимыми пояснениями выносится в приложение № 1.
5.2. Рекомендации по формированию раздела 2 пояснительной записки.
Исследование
заданного
устройства
из
состава
архитектуры
вычислительной системы или его разработка должна начинаться с построения его
функциональной схемы. При этом разработчик должен понимать, что все
функции разрабатываемого устройства - это лишь различные составляющие
общей функциональной структуры сложной вычислительной системы,
характеризующиеся одним из многочисленных способов передачи информации от
периферийных устройств к центральному процессору через систему ввода-вывода
ПЭВМ.
Каждое из заданных устройств имеет в своем составе устройство
управления, представляющее микропрограммный автомат, реализующий
различные варианты асинхронного обмена цифровой информацией.
Используемая система ввода-вывода ПЭВМ обладает целым рядом
принципиальных особенностей, которые должно поддерживать заданное
устройство и его интерфейс.
Эти принципиальные особенности необходимо изложить в данном разделе
и показать их реализацию на принципиальной схеме устройства:
Каждое устройство имеет схему буферизации и схему подключения к
внешней и (или) внутренней шине.
- Каждое используемое устройство ввода-вывода в обязательном порядке
обладает адресом порта ввода-вывода данных.
- Каждое устройство ввода-вывода подключено к контроллеру прерываний
и имеет свой постоянный или присваиваемый BIOS номер аппаратного
прерывания.
- Некоторые устройства ввода-вывода (наиболее современные из них)
подключены к устройствам арбитража и используют схемы транзакций,
поддерживаемые соответствующими драйверами современных операционных
систем (например, контроллеры SATA).
Некоторые устройства используют возможности прямого доступа к
8
памяти и подключены к контроллеру прямого доступа к оперативной памяти
ПЭВМ и по этой причине располагают доступным адресным пространством, а
также системой выбора каналов прямого доступа к нему (например, контроллеры
FDD).
Само заданное устройство в зависимости от его функциональной структуры
может поддерживать все возможности, предоставляемые ему шиной и
соответствующим устройством ввода-вывода ПЭВМ, а может использовать
только некоторые из них, что также необходимо отразить в пояснительной
записке.
Интерфейс устройства кроме стандартной шины, подключаемой к системе
ввода-вывода ПЭВМ, может содержать промежуточные схемы и (или) шины
передачи информации. Например, использовать радиоканал, инфракрасный луч
света или систему усиления сигнала типа «токовая петля» (RS-485). Описание
дополнительных схем передачи информации и принципов их работы также
необходимо привести в пояснительной записке.
Безусловно, разработка устройства сопряжения потребует навыков и знаний
проектирования системотехнической аппаратуры, что не является непременным
атрибутом данной работы (см. декларируемые цели проекта). Поэтому
принципиальная схема заданного устройства может быть представлена в общем
схемном решении (без представления электрической схемы устройства).
Поэтому принципиальная схема устройства может содержать:
- блок микропрограммного управления;
- блок генератора синхросигнала;
- блок буферизации данных;
- блок организации асинхронного обмена;
- блок присвоения и селектирования (распознавания) адресов;
- блок присвоения и использования номера прерывания;
- блок организации прямого доступа к памяти;
- другие блоки, определяемые спецификой заданного устройства.
Устройство может быть спроектировано для нескольких шин.
Так, например, простой манипулятор мышь может быть подсоединен к
ПЭВМ с использованием нескольких типов интерфейсов: RS-232C, PS/2, USB,
InfraRED, радиочастотного и т.д.. При этом основная конструкция манипулятора
остается без изменений, меняется только функциональная структура устройства
связи и программное обеспечение приема информации, поскольку меняются
порты доступа и протоколы обращения к ним.
Графическое изображение принципиальной схемы заданного
устройства выносится в приложение № 2.
9
5.3. Рекомендации по формированию раздела 3 пояснительной записки.
Схема передачи данных, представленных в цифровом виде (а все
предлагаемые к разработке интерфейсы содержат такие схемы), предполагает
наличие шины и протокола передачи данных по ним.
Итак, информация от разрабатываемого устройства через устройство
сопряжения передается на шину. Устройство сопряжения может входить в состав
периферийного устройства, либо контроллера шины, а может быть оформлено в
виде самостоятельного устройства. В любом случае оно является неотъемлемой
(аппаратной) частью разрабатываемого устройства!
Шина со стороны центрального процессора обязательно должна быть
подключена к одному из многочисленных устройств системы ввода-вывода
ПЭВМ. Другого способа подключения устройств к центральному процессору
не существует!
Протокол передачи данных описывает механизмы синхронизации
источника и приемника данных, а также формат пакетов передаваемых данных и
порядок контроля сохранности информации в пакетах.
Шина или интерфейс не могут существовать сами по себе – все они служат
для подключения любых устройств сопряжения, предназначенных для ввода или
вывода информации пользователем этих устройств.
При этом:
Шина, по которой передаются данные в систему ввода-вывода, может
быть последовательной и иметь в своем составе систему мультиплексордемультиплексор, либо параллельной.
Шина может поддерживать синхронный или асинхронный режим
передачи данных.
Шина может содержать ряд сигналов оповещения и управления
периферийными устройствами.
Устройства поддержки шины (устройства сопряжения) могут
содержать системы присвоения номеров подключаемых периферийных устройств
(энумераторы шин) для их последующего распознавания или системы
маршрутизации информационных потоков, поддерживаемые соответствующими
программами-драйверами операционных систем.
В курсовом проекте должны быть достаточно четко систематизированы и
представлены протоколы обмена (передачи данных) в виде временных диаграмм
и описанием всех сигналов оповещения и управления вне зависимости от того:
является шина мультиплексированной или нет.
Раздел должен содержать описание используемых протоколов обмена
данными по шинам, а также описание сигналов оповещения и управления.
10
5.4. Рекомендации по формированию раздела 4 пояснительной записки.
Разработка прикладной программы, обеспечивающей работу заданного
устройства не является целью настоящей работы, поэтому нет необходимости
приводить полный листинг прикладной программы в тексте расчетнопояснительной записки, достаточно привести лишь наиболее значимые
фрагменты.
Все процессы ввода-вывода информации в ПЭВМ сопровождаются
(организуются)
программами-драйверами,
поддерживающими
типовые
протоколы обмена.
Программы-драйвера могут быть в комплекте программного обеспечения
операционной системы, либо разработаны самостоятельно с использованием
соответствующего инструментария формирования исполняемых модулей для
конкретных операционных систем (например, DDK - Device Development Kit для
операционных систем Windows).
Прикладная программа использует массивы данных в заданном адресном
пространстве с заданной периодичностью, формируемые драйверами обмена,
либо помещает туда данные для передачи.
При наличии стандартного программного обеспечения, например,
библиотек Win32 API или функций BIOS (DOS) можно ограничиться описанием
их назначения и приведением в тексте записки примеров их использования для
организации работы исследуемого устройства.
6. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
1. Колесниченко О.В., Шишигин И.В. Аппаратные средства РС.
(Энциклопедия аппаратных ресурсов персональных компьютеров) – 4-е издание
переработанное и дополненное. СПб:БХВ – Санкт-Петербург, 2003 г.
2. Гук М. Анатомия персонального компьютера. СПб:Питер – СанктПетербург, 2003 г.
3. Джордейн Роберт Справочник программиста персональных компьютеров
типа IBM PC XT/AT, М.:Финансы и статистика, 1992 г.
4. Архитектура ПЭВМ. Справочник (Standard IBM PC)/под ред. Г. Карпова,
М.:Эксмо, 2004 г.
5. Касаткин А.И. Управление ресурсами. Справочное пособие. Минск:
Вышэйшая школа, 1993 г.
6. Касаткин А.И. Системное программирование. Минск: Вышэйшая школа,
1993 г.
7. Новиков Ю.В., Д.Г.Карпенко Аппаратура локальных сетей. Функции,
выбор, разработка. М.: Эком, 1999 г.
11
8. Юров В., Хорошенко С. ASSEMBLER Учебный курс. СПб.:
Питер – Санкт-Петербург, 1999 г.
9. Кулаков В. Программирование на аппаратном уровне. Специальный
справочник. СПб.: Питер – Санкт-Петербург, 2001 г.
10. Несвижский В. Программирование аппаратных средств в WINDOWS.
СПб.: БХВ-Петербург – Санкт-Петербург, 2004 г.
11. Финогенов К.Г. Основы разработки прикладных виртуальных
драйверов. / КомпьютерПресс №№ 3-12, 2001 г. (http://www.cpress.ru)
12. Финогенов К.Г. Win32 Основы программирования. М:ДиалогМИФИ,
2006г.
13. Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и
вычислительных систем. – М.: Форум, 2008. – 512с.
14. Таненбаум Э. С. Архитектура компьютера. 5-е изд. (+CD). – СПб.: ЗАО
«Питер», 2007. – 848 с.
15. НИКС – Компьютерный Супермаркет [Электронный ресурс]. Режим
доступа свободный: http://www.nix.ru
16. С. Озеров, А. Карабуто. Новые шины. Часть 1. PCI Express — общая
концепция и возможности [Электронный ресурс]. Режим доступа свободный:
http://daily.sec.ru/publication.cfm?rid=45&pid=10862,
http://daily.sec.ru/publication.cfm?rid=45&pid=10863.
СПИСОК ДОПОЛНИТЕЛЬНЫХ ИСТОЧНИКОВ
1. Системные платы фирмы ASRock
1.1. http://www.asrock.com/support/CPU.ru.asp.
1.2. http://www.asrock.com/mb/index.ru.asp?s=n.
2. Системные платы фирмы ASUSTeK (ASUS)
http://support.asus.com/cpusupport/cpusupport.aspx.
3. Системные платы фирмы Biostar
http://www.biostar.com.tw/app/en/mb/index.php
4. Системные платы фирмы EliteGroup (ECS)
http://eu.ecs.com.tw/ECSWebSite/Support/Support_CPU_List.aspx?CategoryID=
1&MenuID=52&LanID=6.
5. Системные платы фирмы Gigabyte (Giga-byte)
hhttp://www.gigabyte.ru/products/mb/.
6. Системные платы фирмы Intel
http://processormatch.intel.com/CompDB/.
7. Системные платы фирмы SuperMicro
7.1. http://www.supermicro.com/products/motherboard/ (для процессоров Intel)
В меню "Motherboards" слева выберите тип процессора.
7.2. http://www.supermicro.com/Aplus/motherboard/ (для процессоров AMD) В
меню "A+ Motherboards" слева выберите тип процессора.
8. Системные платы фирмы Micro-Star (MSI, MicroStar)
http://www.microstar.ru/program/products/mainboard/mbd/pro_mbd_cpu_suppor
12
t.php?kind=1&CHIP=Socket%20A&ID=2.
9. Системные платы фирмы TYAN
http://www.tyan.com/support_download_cpu.aspx.
10. Системные платы фирмы Foxconn
http://www.foxconnchannel.com/product/Motherboards/compatibility_detail.aspx
?model_id=&type_id=en-us0000001.
11. Системные платы фирмы Epox
http://www.epox.ru/data/download/cpu/epox-cpu-support.zip.
12. Системные платы фирмы Elpina
http://www.pcchips.com.tw/PCCWebSite/Support/CPU_Support.aspx?CategoryI
D=1&MenuID=69&LanID=0&ln=6.
13
Приложение
ПРИМЕР ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
ПОЛОЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
КУРСОВАЯ РАБОТА
по дисциплине «Архитектура ВС»
по теме «Исследование характеристик устройства из состава
архитектуры ПЭВМ»
Разработал
Ф.И.О. студента
гр. ХХ-ВС
Проверил
Ф.И.О. преподавателя
ХХХХг.
14
Полоцкий государственный университет
Факультет информационных технологий
«УТВЕРЖДАЮ»
Заведующий кафедрой ВС и С
________________(
)
(подпись)
«___» хххххххххя 20ХХ г.
ЗАДАНИЕ
по курсовой работе
Студенту группы хх-ПЭЛз
Хххххххххх Хххххххххххх Хххххххххххххх
1. Тема: Исследование характеристик устройства из состава архитектуры ПЭВМ.
2. Сроки сдачи студентом законченной работы 3. Исходные данные: тип системной платы ПЭВМ заданное устройство на системной плате прикладные программы для обслуживания устройства -
06.01.20хх г.
Intel 430VX,
Контроллер ISA-Lpt,
собственной разработки.
4. Содержание пояснительной записки (перечень вопросов, подлежащих рассмотрению):
Введение. Назначение заданного устройства в архитектуре ПЭВМ.
1. Обзор системной (материнсукой) платы (МП): описание центрального процессора
(ЦП), схемы оперативного запоминающего устройства (ОЗУ), используемой шинной
архитектуры и установленных устройств ввода-вывода, анализ ресурсов, требующихся для их
работы (используемые прерывания, доступное адресное пространство, порты доступа и т.д.).
2. Исследование принципиальной схемы заданного устройства и его функциональной
структуры, а также сопряжения с используемой шиной для связи с ЦП.
3. Описание протоколов обмена данными исследуемого устройства через шину
сопряжения с ЦП ПЭВМ или через систему ввода-вывода с подключаемыми внешними
устройствами (ВУ).
4. Рассмотрение основных программ или функций BIOS для обеспечения интерфейса
связи с заданным устройством.
Заключение. Перспективы дальнейшего использования данного устройства в составе
архитектуры ПЭВМ.
5. Перечень разрабатываемого графического материала по курсовой работе:
5.1. Общая схема используемой системной (материнской) платы.
5.2. Принципиальная схема заданного устройства.
6. Дата выдачи задания на курсовую работу:
30.10.20xx г.
7. Календарный график работы над заданием на весь период выполнения курсовой работы
(с указанием сроков выполнения и трудоемкости отдельных этапов):
7.1.
25.11.20xx - 25 %
7.2.
08.12.20xx - 50 %
7.3.
22.12.20xx - 75 %
7.4.
05.01.20xx - 100 %
Руководитель: доцент, к.т.н. ___________________________________ (___________)
(подпись)
Задание принял к исполнению ___________________________________(___________)
(дата и подпись студента)
15
СОДЕРЖАНИЕ.
Лист
Введение. Контроллер шины ISA-Lpt………………………………………………..16
1. Обзор системной (материнсукой) платы Intel 430VX………………………….. 17
26
2. Исследование принципиальной схемы контроллера шины ISA-Lpt……………….
2.1. Разработка блока буферизации сигналов магистрали………………………….26
2.2. Разработка блока селектора адреса………………………………………………27
30
2.3. Разработка блока асинхронного обмена по ISA…………………………………..
3. Описание протоколов обмена данными по шине ISA………………………….. 33
3.1. Особенности шины ISA…………………………………………………………. 33
3.2. Сигналы шины ISA……………………………………………………………….34
3.3. Адреса портов доступа шины ISA……………………………………………… 37
3.4. Адресное пространство шины ISA………………………………………………37
3.5. Поддерживаемые аппаратные прерывания шины ISA……………………….. 38
3.6. Электрические характеристики линий шины ISA………………………………38
3.7. Описание временных диаграмм входных и выходных сигналов
и протоколов обмена данными по шине ISA, используемых в
разрабатываемом интерфейсе……………………………………………………….. 38
4. Рассмотрение основных программ или функций BIOS для обеспечения
работы контроллера параллельного обмена по шине ISA…….……………….. 40
40
4.1. Разработка программ-драйверов и тестирующих программ……………………
4.2. Разработка прикладной программы использования контроллера
44
параллельного обмена по шине ISA…………………………………………………..
4.3. Рекомендации по наладке контроллера параллельного обмена……………… 46
Заключение…………………………………………………………………………… 49
Список использованной литературы……………………………………………….. 50
Приложения:
1. Общая схема системной (материнской) платы Intel 430VX ………………….51
2. Принципиальная схема контроллера ISA-Lpt…………………………………52
16
Введение. Контроллер шины ISA-Lpt
Архитектура персонального компьютера типа IВМ РС с точки зрения разработчика
устройства сопряжения (УС) или контроллера, обеспечивающего связь периферийного
устройства и системы ввода-вывода ПЭВМ, ориентированного на шину ISA, может быть
представлена в виде схемы (см. рис.1). Помимо центрального процессора, оперативной памяти,
стандартных средств ввода/вывода, входящих в любую микропроцессорную систему, здесь
следует отдельно выделить встроенные контроллеры прерываний и прямого доступа к памяти
(ПДП), перестановщик байтов данных, программируемый таймер и контроллер регенерации
памяти.
Все эти устройства, расположенные на материнской (системной) плате компьютера или
вставленные в слоты 18А (устройства ввода/вывода), участвуют в обмене по магистрали и
могут быть использованы разрабатываемыми УС.
Задатчиками (хозяевами) шины могут выступать центральный процессор (самая обычная
ситуация), контроллер ПДП, контроллер регенерации и некоторые внешние платы. В каждом
цикле обмена задатчиком всегда является только одно устройство. Контроллер ПДП
захватывает магистраль (запрещает работу центрального процессора) на время прямой
передачи информации между устройством ввода/вывода и памятью (по запросу устройства
ввода/вывода). Контроллер регенерации периодически становится задатчиком магистрали для
проведения циклов регенерации системной динамической памяти через заданные интервалы
времени.
Обмен процессора с памятью и с другими устройствами осуществляется через
локальную шину ISA.
Центральный
процессор
Системная
память
Контроллер
регенерации
Перестановщик
байтов
Таймер
Контроллер
ПДП
ISA
Контроллер
прерываний
Устройства
ввода/вывода
ISA
.
.
.
Внешние
платы (УС)
Рис. 1. Структурная схема персонального компьютера.
Функции, выполняемые УС, можно разделить на две группы. К первой группе относятся
интерфейсные функции, то есть те, которые обеспечивают обмен с выбранным интерфейсом
17
компьютера (ISA, Centronics, RS-232С или какие-нибудь еще). Вторую группу образуют
операционные или основные функции, ради которых, собственно, и создается УС.
Соответственно с этими двумя выделенными группами функций в структуре УС можно
также выделить две части: интерфейсную и операционную. При этом подходы к
проектированию устройств для этих двух частей имеют принципиальные отличия. Ведь
операционные части различных УС могут быть самыми разнообразными. А вот интерфейсные
части практически у всех УС одинаковы или очень похожи между собой, так как интерфейсные
функции жестко определяются протоколом выбранного стандартного интерфейса. Конечно,
интерфейсные части могут быть более или менее сложными в зависимости от задачи, решаемой
УС, но все-таки все они состоят из одного и того же набора блоков и узлов, реализующих
одинаковые функции и строящиеся, как правило, по стандартным схемам.
1. Обзор системной (материнсукой) платы Intel 430VX.
Схемотехнические решения со времен персональных компьютеров (PC) класса IBM XT
развивались в двух направлениях: увеличение быстродействия и удобства ссборки компьютера.
Эти критерии обязательно учитываются разработчиками компьютеров PC и узлов к ним.
Законодателем в области архитектуры персональных компьютеров по-прежнему
остаются компании Intel и Microsoft, как основной производитель системного программного
обеспечения.
Начиная с поколения процессоров Pentium, компания Intel взяла на себя разработку
инфраструктуры всего системного блока в целом. В предшествующих поколениях PC внимание
на разработку периферии Intel не концентрировала.
В данном обзоре архитектуры платы Intel 430VX пойдет речь о семействt периферии,
созданной компанией Intel для поддержки поколений процессоров Pentium.
Схемотехнические решения РС
Socket 7
Super 7
Intel Pentium
AMD K5, K6
Cyrix M2, WinChip
Slot 1 Slot 2
Socket 370
Intel Pentium II
Pentium III
Celeron
Рис. 1.1. Поколения процессоров Pentium
Процессор поколения Pentium по сравнению с предыдущими поколениями отличается
рядом технических новшеств:
- тактовые частоты ядра процессора, начиная с 75МГц;
- тактовые частоты шины процессора, начиная с 50МГц;
- использование интерфейсов с синхронной передачей данных и управляющих
сигналов;
- использование цифровой логики с меньшими логическими уровнями, позволяющей
- стабильно функционировать системе на частотах выше 30МГц;
- использование синхронной масштабируемой шины PCI;
- технология Plug & Play, позволяющая автоматически распределять разделенные
ресурсы (порты, память, прерывания) и управлять функционированием устройств.
18
Все эти нововведения привели к необходимости изменить устоявшиеся принципы
построения архитектуры системных плат для поколений 386-х и 486-х процессоров.
В первую очередь перечисленные нововведения повлекли за собой повышение степени
интеграции компонентов системной платы и встраиваемых устройств. Это привело к тому, что
потребовался новый принцип разделения системной платы на модули. Он должен быть
удобным и положительно сказываться на быстродействии системы в целом.
Наиболее приемлемым вариантом является разделение компьютера на функциональные
уровни с разной степенью интеграции (скорость, разрядность, синхронность/асинхронность) и
при этом сохранение совместимости с архитектурой предыдущих поколений (от AT до 486-х).
В этом случае каждый из уровней обладает своими техническими особенностями, а между
ними необходимо установить гибкую и быстродействующую связь. Задача состоит в том, чтобы
совместить части, разные по своей сути: создать мост между ними.
Можно выделить три уровня архитектуры, которые необходимо объединить в пределах
одной системной платы:
Быстрая. (ЦПУ-ПЗУ) Использование быстрых процессоров влечет за собой увеличение
скорости оперативной памяти. Это привело к тому, что память и процессор объединены в один
блок, имеющий соединение с остальными частями компьютера.
Гибкая. Системная плата должна быть масштабируемой, чтобы была возможность
подключения большого количества устройств с различной скоростью обмена данными в том
числе и старой конструкции для шины ISA.
Совместимая. Необходима возможность подключения устройств, работающих по
асинхронным принципам ISA, IDE. ROM BIOS. COM порты, LPT порты, FDD контроллер,
контроллер клавиатуры и т. д.
Решением этой задачи стал уже разработанный к моменту появления процессора Pentium
стандарт шины PCI. В этот стандарт были заложены так называемые мосты, выполняющие
функции соединителей цифровых схем с различными характеристиками с синхронной шиной
PCI, что позволяет объединить как синхронную, так и асинхронную передачу данных. Причем,
эта шина не обладает выделенным направлением и соответственно «главным» соединителем,
что позволяет на ее основе собирать многопроцессорные системы.
В стандарт PCI заложена технология Plug & Play. Ее основа - это пространство
конфигурации. Каждое устройство содержит массив байтов. Все массивы устройств и образуют
это пространство. Количество этих массивов ограничено числом устройств, которые
установлены и места, в которые устройства могут быть установлены. Назначение одних строго
определено спецификацией PCI. а остальные могут использоваться для специфических
настроек.
Как удобно расположить соединители на системной плате и сколько их нужно? Все
быстрые синхронные низковольтные логические устройства объединили в микросхему с
названием северный мост, обеспечивающую работу процессора. С одной стороны
микропроцессор и 2х уровневая память, с другой стороны PCI. к которой подсоединены другие
соединители.
Вес асинхронные соединители было удобно расположить в одну микросхему южного
моста, хотя в первых системных платах поколения Pentium можно было встретить южный
мост, состоящий из нескольких микросхем.
Таким образом набор микросхем или чип-сет состоит из северного и южного моста. Эти
19
названия используются в большом количестве компьютерной литературы.
Рассмотрим Intel чип сеты, относящиеся к поколению Pentium: 430FX. 430VX. 430НХ,
430ТХ.
Па рисунке Приложение 1 показана общая функциональная схема материнской платы на
базе чип сета 430VX. (другие чип сеты имеют незначительные отличия, которые сведены в
таблицы 1 и 2).
Преобразователь напряжения питания для низковольтной цифровой логики.
Впервые он появился на системных платах для 486-х процессоров с питанием 3.3v. Это
связано с тем. что цифровая логика с напряжением питания от 5v не может стабильно работать
на частотах выше 30 - 40МГц.
В рассматриваемой системе установлено два преобразователя напряжения:
"Core" - преобразователь питает ядро процессора.
"I/O" - преобразователь питает систему ввода/вывода процессора и устройства
подсоединенные к шине процессора: северный мост, КЭШ, память SDRAM.
Необходимость в отдельном преобразователе для ядра процессора возникла при
переходе на процессоры с тактовыми частотами ядра более 133МГц. что в свою очередь
требует напряжение питания меньше 3.3V.
Шина имеет значительно меньшую тактовую частоту, но большую чем 33МГц. поэтому
шина питается от источника в 3.3V.
Напряжение стабилизации источника "Core" должно быть регулируемое. Это
необходимо для поддержки различных типов процессоров. Напряжение питания "I/O" может
быть как фиксированным, так и регулируемым.
Рис. 1.2. Импульсный преобразователь напряжения.
Импульсный блок питания (преобразователь напряжения). Принципиальная схема
импульсного блока питания показана на рисунке 1.2. Он состоит из микросхемы управления
SC115O (SEMTECH) и инвертора напряжения, собранного на элементах Ql, Rl, D1, Сб.
20
Перестройка выходного напряжения осуществляется цифровым кодом на входах
VID0 - VID3. Шаг перестройки 0.1V. Такой преобразователь обладает высоким КПД. что
значительно уменьшает нагрев элементов Q1 и D1. Рабочая частота 200КГц. Недостатком
является возможный выход из строя конденсатора С6 из-за превышения значения импульсных
токов через него. Наиболее оптимально составить С6 из 3 конденсаторов по ЮООмкф. В этом
случае импульсные токи не будут нагревать эти конденсаторы.
Нагрузочная способность такого преобразователя около 13А.
В некоторых системных платах встречаются: комбинации один преобразователь собран
на биполярном транзисторе, а другой на микросхеме стабилизатора. Или в одну микросхему
собран импульсный преобразователь и линейный стабилизатор с мощным полевым
транзистором (R.C5O36, Raytheon).
Синтезатор частот.
Микросхема синтезатора тактовых частот (см. рис.1.2.) синтезирует тактовые частоты
для всех шин системной платы от одного генератора и содержит элементы фазовой задержки
некоторых тактовых сигналов (clock skew).
Использование синтезатора позволяет гибко перенастраивать тактовые частоты
системной платы и синхронизировать работу всех устройств.
Первичная частота задастся от кварцевого генератора с частотой 14.31818 МГц.
Вес остальные частоты получаются путем деления или умножения первичной частоты.
Коэффициенты умножения перестраиваются перемычками на системной плате.
На рисунке Приложение 1 показано, что все сигналы тактовой частоты на системной
плате подводятся к каждому элементу отдельно.
В таблицу 1.1. сведены основные тактовые сигналы, синтезируемые для работы
системной платы. Диапазоны указаны для чип сета 430VX.
тактовый сигнал
шина процессора
SDRAM
шина РCI (CPU 2 или асинхронно)
шина USB
шина ISA
FDD контроллер
диапазон перестройки частоты, МГц
50-83
50-83
25-41,5 (асинхронно 32)
48
8, 14,318
24
Таблица 1.1. Основные тактовые частоты устройств на системной плате 430VХ.
Синтезатор частот необходим для обеспечения работы шин с синхронной передачей
данных. Они обладают гораздо большей пропускной способностью, чем асинхронные шины.
Поэтому все высокоскоростные узлы компьютера соединены синхронными шинами. К
примеру, шина процессора, синхронная динамическая память (DIMM), шина PCI.
21
Рис. 1.3. Принцип работы синхронного обмена данными.
Па рисунке 1.3. показана принципиальная временная диаграмма синхронной передачи
данных. В асинхронной передаче данных управляющие сигналы поступают в произвольные
моменты времени. В случае же синхронной передачи управляющие сигналы привязаны к
тактовому сигналу.
На диаграмме показана привязка к спадам тактового сигнала. Информация по шине
передастся пакетами. Пакет содержит адрес получателя, команду и одну или более посылок
данных. Каждое устройство, подсоединенное к шине и включенное на прием, распознает адрес
пакета. Когда устройство идентифицирует передаваемый по шине пакет, оно отвечает сигналом
подтверждения приема и начинает отработку протокола шины в зависимости от поступившей
команды.
Одна передача данных производится за один такт.
На диаграмме заштрихованной областью показано время переключения состояний
сигналов.
Запись состояния сигналов в регистры устройств происходит по фронту тактового
сигнала. Если передатчик пакета или приемник по каким-то причинам не успевает передавать
или принимать данные (например, время доступа к памяти больше времени между двумя
соседними передачами данных) то в пакет вставляются такты задержки.
Такты задержки могут вставлять в цикл, как приемник, так и передатчик данных.
Обычно принято изображать пакет в виде шаблона «3-1-1-1». где цифры означают, за
сколько тактов передается одно слово данных. Разрядность слова определяется разрядностью
шины. Первое слово данных передается за 3 такта, а остальные 3 слова, передаются за один
такт каждое. Количество цифр в шаблоне зависит от длины пакета. Количество данных
передаваемых в одном пакете зависит от длины пакета и разрядности слова.
Зная частоту шины, ее разрядность и шаблон цикла можно определить, сколько данных,
и за какое время будет по этой шине передано.
Управляющие сигналы и сигналы данных передаются с задержкой, поэтому
используется задержанное тактирование. Наглядно это можно представить изменением хода
времени в приемнике и передатчике. Часы приемника «отстают» от часов передатчика.
22
Например, шина PCI имеет 4 слота. Сигналы управления и данных к разным слотам
приходят в разное время. Чтобы не было ошибок в работе, тактовые сигналы задерживаются от
слота к слоту. Таким образом, устраняется влияние задержки сигналов.
Для каждого типа чип сета разрабатывается своя микросхема синтезатора частот. Это
связано с топологией печатной платы и количеством устройств подсоединенных к шинам с
синхронной передачей данных.
Северный мост. Как видно из структурной схемы (Приложение 1) северный мост
обеспечивает соединение шины процессора с шиной PCI. Так же в этом функциональном блоке
находится контроллер КЭШ памяти и контроллер оперативной памяти.
Название чип сета (и типа системной платы) берется от названия северного моста,
видимо потому, что все свойства компьютера определяются именно им.
Во всех рассматриваемых чип сетах функциональный блок северного моста выполнен в
виде одной микросхемы в корпусе QFP для 430FX, 430VX и в корпусе BGA для 4301IX и
430ТХ.
В таблице 1.2. приведены различия между этими микросхемами.
параметр
частота шины
процессора. МГц.
тип и размер
КЭШ памяти. Кб
область
кэширования. Мб.
мультиплексор
данных
максимальный
размер оперативной
памяти. Мб.
поддерживаемые
типы динамической
памяти
число
банков
памяти
цикл FastPaae
цикл EDO
цикл SDRAM
430НХ
430FX
50-66
50-66
430VX
50-75
430TX
50-83
обычный или конвейерный. конвейерный конвейерный.
конвейерный, 512
. 512
512
256
64
512
64
64
внешний
встроенный
внешний
встроенный
128
256
128
256
FastPage.
EDO DRAM
2
FastPage.
EDO DRAM,
SDRAM
4
FastPaae.
EDO DRAM,
SDRAM
2
FastPage.
EDO DRAM,
SDRAM
2
7-3-3-3
7-2-2-2
-
6-3-3-3
5-2-2-2
-
6-3-3-3
6-2-2-2
7-1-1-1
6-3-3-3
5-2-2-2
6-1-1-1
2.1
есть
2.1
нет
2.1
нет
версия PCI
2.0
поддержка четности нет
памп и
Таблица 1.2. Различия параметров северного моста семейства Pentium.
23
Цифровую логику в северном мосте можно разделить на 3 функциональные части:
1. Конвейерная КЭШ второго уровня. (L2 CACHE).
КЭШ (cache/запас) - это буферное статическое ОЗУ между процессором и памятью. Оно
выравнивает быстродействие оперативной памяти и процессора. Это достигается за счет
упреждающего чтения памяти (считывается больше чем запрашивает процессор) и накоплении
данных перед записью (откладывание записи или "write back"), что позволяет сделать число
циклов обращения к основной памяти меньшим, а длину пакета при каждом обращении
большей.
Оперативная память разделяется на блоки, с которыми и работает КЭШ. Признаки
блоков (свободен, занят, помечен для дозаписи и т.д.) хранятся в отдельной микросхеме ОЗУ
признаков блоков "TAG" (см. Приложение 1).
В семействе Pentium применяется 4х связная схема кэширования. Она позволяет 4
блокам КЭШ памяти буферизацию нескольких блоков ОЗУ.
Схема кэширования и максимальный размер кэширусмой оперативной памяти
определяется контроллером КЭШ (см. табл. 1.2.).
КЭШ расположенная в процессоре, так называемая КЭШ первого уровня (L1 CACHE)
работаст немного по другим принципам.
Время выборки КЭШ меньше, чем период тактового сигнала шины процессора. Объем
КЭШ значительно меньше, чем объем ОЗУ. В случае переполнения КЭШ памяти из нее
вытесняется наименее используемая страница.
Микросхемы конвейерной КЭШ имеют синхронный интерфейс, позволяющий
осуществить пакетный доступ к расположенному в микросхеме ОЗУ. Во всех рассматриваемых
чип сетах цикл доступа к КЭШ памяти имеет шаблон 3-1-1-1. К примеру, на частоте 66МГц
шины процессора за один цикл будет доступно 32 байта КЭШ памяти за время 60нс.
2. Контроллер памяти.
Чтобы подключить оперативную память непосредственно к шине процессора в северный
мост встроен контроллер памяти. Он обеспечивает подсоединение нескольких типов
динамической памяти: FastPage, EDO DRAM, SDRAM. Различаются они организацией цикла
доступа. Микросхемы FastPage (быстрый страничный обмен) и EDO DRAM (расширенное
время удержания данных) соединяются с контроллером памяти по средствам асинхронного
интерфейса. SDRAM подсоединена при помощи синхронного интерфейса. Это позволяет более
гибко управлять различными временами задержки.
В таблице 1.2. указано число банков памяти, которые поддерживает чип сет. На многих
материнских платах банк для SIMM включен параллельно банку DIMM (см. Приложение 1)
Такое включение приводит к тому, что нельзя заполнить эти банки памятью
одновременно.
3. Порт AGP.
Порт AGP основан на спецификации PCI 66. К стандартным линиям PCI добавлено еще
17 линий. Порт создан для увеличения скорости обмена между оперативной памятью и видео
картой. Система определяет AGP как вторую PCI шину.
Устройство AGP конфигурируется, так же как и PCI устройство. Тактовая частота AGP
66МГц.
Через AGP разъем проведен USB канал для управления настройками монитора.
Из-за специфичности работы видео платы можно внести определенные усложнения в
интерфейс соединения с функциональным блоком процессор/память.
24
К надстройкам над PCI относятся:
- конвейерная передача данных с большой глубиной конвейера;
- не мультиплексированная адресация из-за отдельных линий адреса/команды
(SBA[7:0]);
- операции передачи данных с различным приоритетом;
- передача от 1 двойного слова (DWORD) до 4 за один такт порта.
Физически в AGP 32 линии данных. но минимальная посылка данных 8 байт. Поэтому
AGP считают 64 разрядным.
Для поддержки AGP в контроллер памяти внесены дополнительные функции для
получения «скрытого» обмена данными между видео картой и оперативной памятью.
4. Шина РСI.
В семействе Pentium используется 32х разрядная версия шины PCI с логическими
уровнями 5V. Соединитель процессор-в-PCI обеспечивает связь функционального блока
процессор-память со всеми остальными компонентами компьютера.
Изменение конфигурационных регистров северного моста, производимая из пунктов
меню утилиты настроек BIOS «CHIPSET FEATURES SETUP» и «PНP/PCI CONFIGURATION».
Южный мост.
Функциональный блок южного моста содержит в себе все соединители асинхронных
устройств с синхронной шиной PCI.
Устройства с асинхронной передачей данных подсоединены к IDE (жесткие диски. CDROM и т.д.), ISA (микросхема "Super IO", звуковая карта и т.д.) и X-Bus (микросхемы BIOS и
CMOS).
В таблице 1.3. приведены различия южных мостов семейства Pentium.
параметр
430FX
430НХ. 430VX
430ТХ
маркировка
микросхемы моста
IDE
USB
SB82371FB
SB82371VB
SB82371AB
АТА-3
нет
АТА-3
есть
UDMA-33
есть
СMOS
внешний
внешний
встроен
Таблица 1.3. Сравнительные параметры южного моста семейства Pentium.
1. Контроллер прерываний.
Контроллер прерываний расположен в южном мосте, и выводы прерывания
непосредственно подсоединены к процессору.
Функционально он не изменился по сравнению с 18259 за исключением добавленной
гибкой системы распределения прерываний, предусмотренной технологией Plug & Play.
2. Каналы IDE.
Южный мост содержит два канала IDE (Primary и Secondary)
UDMA-33 - это дополнительный DMA контролер установленный в южном мосте,
обеспечивающий прямую передачу данных между жестким диском и оперативной памятью.
Этот режим будет работать если его поддерживает жесткий диск и операционная система
работает с ним через драйвер UDMA.
3. Микросхема "Super I/O".
25
Микросхема "Super I/O" содержит порт принтсра LРТ, контроллер дисководов IDE,
последовательные СОМ-порты и иногда порт клавиатуры.
Как показано на рисунке 2. эта микросхема подсоединена, как ISA устройство.
Обычно к ней подсоединена микросхема преобразователя уровней TTL в уровни СОМпорта стандарта RS232С. При выходе из строя СОМ-порта необходимо в первую очередь
проверить микросхему преобразователя уровней.
Если микросхема "Super I/O" не содержит порт клавиатуры, то в случае возникновения в
ней каких-либо неисправностей ее можно выпаять из системной платы и установить
мультикарту в слот ISA.
4. USB
USB (универсальная мультиплексируемая последовательная шина) предназначена для
подсоединения большого количества низкоскоростных внешних устройств.
Пиковая пропускная способность шины USB – 12 мегабит/сек.
Шина имеет протокол и топологию аналогичную сетям Ethernet.
Южный мост обеспечивает два канала USB.
USB устройства соединены 4-х проводным кабелем с волновым сопротивлением витой
пары +D/-D - 90 Ом.
Спецификацию шины USB можно найти в сети Internet по адресу http://www.usb.org
5. Память установок BIOS и часы реального времени (CMOS).
Память и часы реального времени необходимы для сохранения установок системной
платы и отсчета времени, когда питание компьютера отключено.
Они питаются от литиевой батареи с напряжением 3 вольта. Батарея не подзаряжаемая, и
по истечению заряда нуждается в замене.
Зафиксированы случаи, когда недостаточное напряжение на батарее приводит к
частичной неисправности материнской платы "Zida 5STX" (Уменьшение напряжения до 2.8v
приводит к тому, что компьютер периодически перезагружается при чтении CMOS памяти
операционной системой). В этом можно убедиться, установив PC-POWER PRO и запустив тест
материнской платы. На тесте CMOS компьютер либо повиснет, либо перезагрузится. Замена
батареи на исправную устраняет неисправность.
6. Перезаписываемая микросхема BIOS.
В ней содержится программа первоначальной инициализации и таблицы
подсоединенных к компьютеру устройств.
Раньше для хранения этой программы применялось ПЗУ с ультрафиолетовым
стиранием. Такое ПЗУ нельзя было перепрограммировать непосредственно в системной плате.
Псле появление технологии Plug & Play появилась необходимость хранения таблиц
подключенных устройств в микросхеме BIOS. Так же появилась необходимость изменять
версии программы BIOS потому, что она становилась все более сложной. Следовательно,
микросхему BIOS нужно было сделать перспрограммирусмой непосредственно в системной
плате. Для этого была использована микросхемы FLASH EEPROM памяти.
BIOS программа компании Award содержится в микросхеме в виде архива в формате
LZH. При запуске компьютера, блок загрузки разархивирует BIOS программу в оперативную
память системной платы и запускает на исполнение пройедур POST.
В системных платах поколения Pentium используются FLASH EEPROM емкостью 1
мегабит и напряжением программирования 5 или 12 вольт.
26
2. Исследование принципиальной схемы контроллера ISA-Lpt.
Контроллер параллельного обмена это устройство сопряжения с шиной ISA.
Необходимость данного УС становится понятной тогда, когда требуется подключать к
компьютеру большое количество внешних устройств (по очереди или одновременно),
особенно, нестандартных. Если для этого использовать индивидуальные, специализированные
УС, то их потребуется очень много, из-за чего стоимость системы в целом будет чрезмерно
высокой, к тому же будет требоваться изменение ее конфигурации для подключения каждого
нового внешнего устройства. Все используемые УС в этом случае будут включать в себя
интерфейсную часть стандартного вида, что приведет к аппаратурной избыточности системы.
Надежность системы в целом также будет невысока.
Использование
многоразрядного
контроллера
параллельного
обмена
с
двунаправленными внешними линиями позволяет путем простого изменения программного
обеспечения приспособить его для сопряжения с самыми разнообразными внешними
устройствами или с несколькими внешними устройствами одновременно.
2.1. Разработка блока буферизации сигналов магистрали.
Первой основной интерфейсной функцией разрабатываемого устройства является
буферизация принимаемых и передаваемых данных.
Буферирование магистральных сигналов применяется для электрического согласования
и выполняет две основные функции: электрическая развязка (для всех сигналов) и передача
сигналов в нужном направлении (для двунаправленных сигналов). Это наиболее очевидная
интерфейсная функция любого УС.
Для буферирования наиболее часто используются микросхемы магистральных
приемников, передатчиков, приемопередатчиков, называемые также буферами или драйверами.
KP1533AП5
SA0
I
SA7
OE
KP1533AП5
SA8
SA9
AEN
-IOR
-IOW
Из УС
I
OE
Рис. 2.1. Пример входного буфера
27
Электрическая развязка подразумевает обеспечение нужных входных и выходных
токов (уровни напряжения на ISA — ТТЛ). Входные каскады УС должны обеспечивать уровень
входного тока не более 0,8 мА, а выходные и двунаправленные каскады должны выдавать
выходной ток не менее 24 мА (при нулевом выходном сигнале). Несоблюдение этого правила
может привести к сбоям в работе компьютера и даже к выходу из строя его отдельных узлов.
Приемники магистральных сигналов должны удовлетворять двум основным
требованиям: малые входные токи и высокое быстродействие (они должны успевать
отрабатывать в течение отведенных им временных интервалов циклов обмена).
Требования к приемопередатчикам - малый входной ток, большой выходной ток,
высокое быстродействие и обязательное отключение выходов. В простейшем случае (когда
разрядов немного) приемопередатчики, могут быть построены на микросхемах приемников и
передатчиков с отключаемыми выходами. Однако при большом количестве разрядов надо
использовать специальные микросхемы приемопередатчиков. Эти микросхемы бывают двух
основных типов (рис. 2.1.): с двумя двунаправленными шинами или с тремя шинами (одной
двунаправленной, одной входной шиной и одной выходной шиной).
A
B
A
B
C
V1
V2
Приемопередатчик
с тремя шинами
V1
V2
Приемопередатчик
с двумя шинами
Рис. 2.2. Типы приемопередатчиков.
На рис. 2.3 показаны три схемы реализации приемопередатчиков для шины данных на
приемнике и передатчике, на приемопередатчике с двумя шинами и на приемо-передатчике с
тремя шинами (для 8-разрядных данных).
В схеме разрабатываемого УС применены приемопередатчики с раздельными входными
и выходными шинами данных УС.
2.2. Разработка блока селектора адреса.
Второй основной интерфейсной функцией УС, работающего в режиме программного
обмена, является селектирование или дешифрация адреса. Эту функцию выполняет узел,
называемый селектором адреса, который должен выработать сигналы, соответствующие
выставлению на шине адреса магистрали кода адреса, принадлежащего данному УС, или
одного из зоны адресов данного УС. Обобщенная схема селектоpa адреса для УС, работающего
как устройство ввода/вывода, показана на рис. 2.4.. Здесь шина А — это шина адреса
магистрали, шина AS — внутренняя шина УС, на которой присутствует код, сравниваемый с
адресом магистрали, ADR — выходные сигналы селектора адреса, формируемые при
28
обращении по магистрали к данному УС.
KP1533AП5
I
8
8
8
Входные
данные УС
SD0...SD7
ISA
8
4
SD0...SD7
ISA
4
K589AП1Б
I/O
O
4
OE
I
8
Входные
данные УС
OE
SE
K589AП1Б
O
4 I/O
KP1533AП5
I
8
4
8
4
I
OE
OE
Упр.
Упр.
SE
Выходные
данные УС
Выходные
данные УС
KP1533AП6
I/O
I/O
8
8
Входные/выходные
данные УС
SD0...SD7
ISA
Упр.
OE
SE
Рис.2.3. Варианты построения приемопередатчиков данных.
Для упрощения схемы УС допускается часть линий отбросить, не заводить на селектор
адреса. При этом важно, чтобы адреса проектируемого УС не перекрывались с адресами,
занятыми другими устройствами компьютера. Наиболее часто отбрасывают младшие разряды
адреса.
AS
ADR0
ADR1
A
(SA0...SA19)
AS
ADRN
Рис. 2.4. Структурная схема селектора адреса.
29
Выбираем для нашего УС свободную зону из 16 адресов в пространстве устройств
ввода/вывода 360... 36F. Наше УС должно иметь 4 адреса для 8-разрядного обмена. Тогда мы
можем каждому адресу УС поставить в соответствие четыре магистральных адреса (то есть
шестнадцать адресов выбранной зоны разделили на четыре адреса УС и получили четыре).
Тогда на селектор адреса можно завести не 10, а только 8 адресных линий (SA2 ... SA9),
отбросив два младших адреса. При этом первому адресу УС будут соответствовать
магистральные адреса 360 ... 363. При обращении к любому из них селектор адреса будет
распознавать первый адрес УС.
Помимо сигналов, показанных на рис. 2.4, на селектор адреса часто подают сигнал AEN,
который при этом используется для запрещения выработки выходных сигналов. То есть если по
магистрали идет прямой доступ к памяти, то устройство ввода/вывода (в нашем случае — УС)
должно быть обязательно отключено от магистрали и не должно реагировать на выставляемые
на шине адреса коды (мы говорим об УС, ориентированных только на программный обмен).
Самое простое решение при построении селектора адреса — использование только
микросхем логических элементов. Например, на рис. 2.5 показана схема, реагирующая на
единственный адрес 3CF.
КР1533ЛА2
SA0=1
SA1=1
SA2=1
SA3=1
SA4=0
SA5=0
SA6=1
SA7=1
SA8=1
SA9=1
AEN=0
&
КР1533ЛЕ1
1
1
ADR1
1
&
Рис.2.5. Селектор адреса на
логических элементах.
1
КР1533ЛН1
КР1533ЛА4
Наиболее универсальными являются селекторы адреса на базе ППЗУ. В данном случае
селектируемый адрес (или селектируемые адреса) зависит не от схемотехнических решений и
не от кода, задаваемого переключателями, а от микропрограммы ППЗУ. Такой подход
обеспечивает, как правило, малые аппаратурные затраты, а также простую реализацию выбора
нескольких адресов или зон адресов. Изменить селектируемый адрес (или адреса) можно
заменой или перепрошивкой ППЗУ, устанавливаемого в контактирующее устройство (сокет).
На рис. 2.6 показана схема селектора адреса на одной микросхеме ППЗУ (нулевой разряд
адреса SAO не задействован, a SA9 всегда должен быть равен нулю).
Возможно также комбинирование ППЗУ с другими микросхемами, например, с
дешифраторами или компараторами кодов. Малые входные токи микросхем ППЗУ позволяют
отказаться от входных буферов адреса. Задержка микросхем ППЗУ не превышает 56 ... 80 не.
Если необходимо обрабатывать больше разрядов адреса, чем имеется адресных входов у
30
микросхем ППЗУ, то их можно каскадировать.
+5В
SA1
A0
SA2
A1
SA3
A2
SA4
PROM
D0
ADR0
D1
ADR1
A3
D2
ADR2
SA5
A4
D3
ADR3
SA6
A5
SA7
A6
SA8
A7
SA9
CS
AEN
CS
Рис. 2.6. Селектор адреса на ППЗУ.
2.3. Разработка блока асинхронного обмена по ISA.
Основным типом обмена по ISA является синхронный обмен, то есть обмен в темпе
задатчика без учета быстродействия исполнителя. Однако для контроллера параллельного
обмена такой тип обмена данными неприемлем ввиду малой по отношению к задатчику
скорости УС. Рассмотрим асинхронный обмен, при котором "медленный" исполнитель
приостанавливает работу задатчика на время выполнения им требуемой команды. В этом
случае надо использовать сигнал I/O CH RDY, снятие которого (установка в состояние
логического нуля) говорит о неготовности исполнителя к окончанию цикла обмена.
Приостановка задатчика производится на целое число периодов SYSCLK. и не может быть
дольше системного времени ожидания 15,6 мкс (для некоторых компьютеров — 2,5 мкс).
Устройство
сопряжения
Интерфейсная
часть УС
STR0
STR1
Опреационная
часть УС
STRN
I/O CH RDY
DK - окончание
выполнения
функции
Рис. 2.7. Общая функциональная схема УС, использующего асинхронный обмен.
31
Существует несколько аппаратурных решений для асинхронного обмена. Прежде
всего здесь можно выделить две ситуации: когда генерируется внутренний сигнал УС,
говорящий об окончании выполнения функции записи или чтения, и когда такого сигнала нет.
В качестве этого сигнала (обозначим его DK) может выступать, например, сигнал
окончания преобразования (готовности данных) АЦП, входящего в состав УС.
На рис. 2.7 представлена структура УС с сигналом DK.
DK может быть потенциальным (то есть сниматься после окончания стробов обмена)
или импульсным (то есть окончанию выполнения функции соответствует фронт сигнала DK).
Временные диаграммы и схемы для этих двух случаев показаны на рис. 2.8 и 2.9 (для
упрощения считаем, что строб обмена — единственный).
- STR
- DK
I/O CH RDY
КР1533ЛН1
1
КР1533ЛА23
- STR
&
I/O CH RDY
1
- DK
Рис. 2.8. Реализация асинхроннного обмена при потенциальном DК.
- STR
DK
- I/O CH RDY
+5В
КР1533ТМ2
S
D
DK
C
КР1533ЛН1
1
Т
КР1533ЛА23
&
R
I/O CH RDY
- STR
Рис. 2.9. Реализация асинхроннного обмена при импульсном DК
32
Если сигнал DК отсутствует в явном виде, но известно время выполнения функции
или его верхний предел, то необходимо сформировать задержку в самой интерфейсной части.
На схеме (рис. 2.10) слева эта задержка определяется временем выдержки
одновибратора. Такая схема требует точной настройки. Это связано с тем, что любые
аналоговые цепи подвержены действию помех. Поэтому справа приведена схема с
использованием линии задержки на сдвиговом регистре, задержка которой определяется
номером замкнутого переключателя и задается с точностью до периода сигнала SYSCLK. Но, в
принципе, в данном случае требования к точности времени задержки невысоки, и
использование одновибратора и даже простой RC-цепочки вполне допустимо.
Рис. 2.10. Формирование задержки с помощью одновибратора и линии задержки.
Асинхронный режим обмена по ISA можно реализовать и на более высоком уровне:
путем опроса задатчиком флага готовности исполнителя и путем использования прерываний.
Эти решения удобны в случае очень медленных УС, то есть тех, время исполнения функции
которыми превышает предельное системное время задержки.
Рассмотрим обобщенную принципиальную схему контроллера параллельного обмена,
включающую в себя все вышеописанные узлы (рис. Приложение 2). Здесь использованы
входные буфера (не обязательны), двунаправленный буфер данных (в общем случае должен
быть разделен на два для каждого байта), выходной буфер, селектор адреса, формирователь
внутренних стробов и формирователь сигнала асинхронного обмена I/O СН RDY (DK).
Какими могут быть предельные значения времен задержек всех узлов интерфейсной
части? Здесь надо рассмотреть две ситуации. Если УС работает только в режиме записи в него
информации, то желательно, чтобы задержка сигнала STR относительно сигнала -IOW и
задержки сигналов данных были примерно одинаковыми. Ни в коем случае задержка сигнала
STR не должна превышать задержку данных более чем на 30 не, иначе УС примет неверные
данные. Разность задержки буферирования и селектирования адреса и задержки буферирования
сигнала -IOW не должна превышать 91 не, иначе УС не будет реагировать на свой адрес. Если
наше УС работает только в режиме чтения из него информации, то сумма задержки сигнала
STR относительно сигнала -IOR и задержки буфера данных не должна превышать 110 не, иначе
процессор примет неправильные данные от УС. Требования к буферу адреса и селектору адреса
те же. Если же наше УС должно работать как в режиме чтения, так и в режиме записи, то оно
должно удовлетворять всем перечисленным требованиям.
Универсальный многоразрядный контроллер параллельного обмена информацией
является очень полезным устройством. С его помощью компьютер может общаться с любыми
цифровыми устройствами в статическом режиме (то есть в темпе, не превышающем
33
быстродействие компьютера).
Сформулируем требования к разрабатываемому контроллеру:
Во-первых, он должен иметь большое количество линий связи с внешними
устройствами (естественно, чем больше, тем лучше, но ограничением сверху здесь выступает
количество контактов и размер используемого внешнего разъема, а также размер платы ISA).
Во-вторых, для большей универсальности контроллера должна быть предусмотрена
возможность простого изменения количества входных и выходных линий (в идеале все линии
— двунаправленные, и направление передачи задается для каждой из них отдельно, но здесь
также есть ограничение — это допустимое количество микросхем и размер печатной платы).
Исходя из этих соображений, разработан 56-разрядный контроллер с побайтным
управлением направления передачи. Как показывает практика, этого хватает для большинства
возникающих задач.
При побайтном управлении внешними линиями можно ограничиться 8-раэрядным
обменом (скорость передачи информации здесь не очень важна), и тогда для обмена данными
потребуется 7 адресов в адресном пространстве ввода/вывода. Помимо этого в УС надо
записывать 7 бит управляющего слова, которое будет определять направление передачи
информации для каждого из семи внешних 8-разрядных портов. Поэтому УС необходимо в
целом 8 адресов. Нужны ли здесь прерывания? Желательны, но не обязательны: можно
ограничиться и опросом флага готовности. Прямой доступ к памяти нe нужен совершенно.
3. Описание протоколов обмена данными по шине ISA.
3.1. Особенности шины ISA.
Магистраль ISA была разработана специально для персональных компьютеров типа
IBM PC AT (начиная с процессора i80286) и является фактическим стандартом для всех
изготовителей этих компьютеров. В то же время отсутствие официального международного
статуса магистрали ISA (она не утверждена в качестве стандарта ни одним международным
комитетом по стандартизации) приводит к тому, что многие производители допускают
некоторые, порой существенные отклонения от фирменного стандарта.
ISA явилась расширением магистрали компьютеров IBM PC и IBM PC XT. В ней было
увеличено количество разрядов адреса и данных, увеличено число линий аппаратных
прерываний и каналов ПДП, а также повышена тактовая частота. К 62-контактному разъему
прежней магистрали был добавлен 36-контактный новый разъем. Тем не менее совместимость
была сохранена, и платы, предназначенные для IBM РС ХТ, годятся и для IBM PC AT.
Характерное отличие ISA состоит в том, что ее тактовый сигнал не совпадает с тактовым
сигналом процессора, как это было в XT, поэтому скорость обмена по ней не
пропорциональна тактовой частоте процессора.
Магистраль ISA относится к демультиплексированным (то есть имеющим раздельные
шины адреса и данных) 16-разрядным системным магистралям среднего быстродействия.
Обмен осуществляется 8- или 16-разрядными данными. На магистрали реализован раздельный
доступ к памяти компьютера и к устройствам ввода/вывода (для этого имеются специальные
сигналы). Максимальный объем адресуемой памяти составляет 16 Мбайт (24 адресные линии).
Максимальное адресное пространство для устройств ввода/вывода — 64 Кбайта (16 адресных
линий), хотя практически все выпускаемые платы расширения используют только 10
адресных линий (1 Кбайт). Магистраль поддерживает регенерацию динамической памяти,
радиальные прерывания и прямой доступ к памяти. Допускается также захват магистрали.
Наиболее распространенное конструктивное исполнение магистрали — разъемы
34
(слоты), установленные на материнской плате компьютера, все одноименные контакты
которых соединены между собой, то есть все разъемы абсолютно равноправны.
Особенностью конструктивного решения магистрали является то, что платы
расширения (дочерние платы), подключаемые к ее разъемам, могут иметь самые различные
размеры (длина платы ограничена снизу размером разъема, а сверху — длиной корпуса
компьютера). Платы расширения имеют интерфейсные разъемы магистрали, выполненные
печатными проводниками.
В магистрали ISA используется положительная логика на шинах адреса и данных, то
есть единице соответствует высокий уровень напряжения, а нулю — низкий). На магистрали
присутствуют четыре напряжения питания: +5 В, -5 В, +12 В и -12 В, которые могут
использоваться платами расширения.
3.2. Сигналы шины ISA.
Назначение сигналов магистрали ISA и их особенности.
SA0...SA19 — фиксируемые адресные разряды (они действительны в течение всего
цикла обмена). Используются для передачи 20 младших разрядов адреса памяти и для адресов
устройств ввода/вывода. При обращении к устройствам ввода/вывода действительны только
сигналы SA0...SA15 (но практически все платы расширения работают только с SA0...SA9).
Распределение адресов устройств ввода/вывода представлено в таблице 3.2, а распределение
адресов памяти — в таблице 3.3. Легко заметить, что значительная часть этих адресов занята
стандартными устройствами компьютера. При регенерации памяти действительны только
сигналы SA0...SA7, состояния старших разрядов не определены. Логика всех сигналов
SA0...SA19 — положительная. В режиме MASTER эти сигналы вырабатывает устройство,
захватившее магистраль. Тип выходных каскадов — три состояния.
LA17...LA23 — нефиксируемые адресные разряды. Используются для адресации
памяти и выработки сигнала -MEM CS 16. Действительны только в начале цикла обмена.
Исполнитель должен фиксировать их по отрицательному фронту сигнала BALE. При
обращении к устройствам ввода/вывода эти сигналы имеют уровень логического нуля. Логика
положительная. Тип выходного каскада - три состояния. Для фиксации необходимо
использовать регистр типа "защелка" (с записью по уровню), стробируемый сигналом BALE
(например, КР1533ИРЗЗ, К555ИР22). При прямом доступе к памяти эти сигналы
действительны в течение всего цикла обмена, как и SA0...SA19. В режиме MASTER эти
сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три
состояния.
BALE (Bus Address Latch Enable — разрешение защелкивания адреса) — сигнал
стробирования адресных разрядов. Его отрицательный фронт соответствует действительности
адреса на линиях SA0...SA19 и LA17...LA23. Может использоваться устройствами
ввода/вывода для заблаговременной подготовки к предстоящему обмену информацией
(применяется редко). Тип выходного каскада — ТТЛ.
-SBHE и SA0 при программном обмене (L - младший байт, Н — старший байт, УВВ —
устройство ввода/вывода).
-SBHE (System Bus High Enable - разрешение старшего байта) - определяет тип цикла
передачи данных (8- или 16-разряд-ный). Вырабатывается параллельно с сигналами
SA0...SA19 и может рассматриваться как дополнительный разряд адреса. Становится
активным при передаче старшего байта или 16-разрядного слова (определяется сигналом
SA0), пассивен при передаче младшего байта. В режиме MASTER источником этого сигнала
является устройство, которое захватило магистраль. Тип выходного каскада — три состояния.
SD0...SD15 — разряды данных. По линиям SD0...SD7 передается младший байт, по
линиям SD8...SD15 — старший байт. Обмен данными с 8-разрядными платами расширения
осуществляется по линиям SD0...SD7. Устройство может активизировать шину данных, если к
нему идет обращение с циклом чтения или если оно захватило магистраль (в режиме
MASTER). Логика сигналов положительная. Тип выходных каскадов — три состояния.
35
-SMEMR, -MEMR (Memoly Read — чтение памяти) — стробы чтения данных из
памяти. Память должна выставлять данные при активизации этих сигналов. Сигнал -SMEMR
вырабатывается только при обращении к адресам, не превышающим FFFFF (в пределах 1
Мбайта), сигнал -MEMR — при обращении ко всем адресам. В режиме MASTER эти сигналы
вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния.
-SMEMW, -MEMW (Memory Write — запись памяти) — стробы записи данных в
память. Память должна принимать данные по положительному (заднему) фронту этих
сигналов. Сигнал -SMEMW вырабатывается только при обращении к адресам, не
превышающим FFFFF (в пределах 1 Мбайта), сигнал -MEMW — при обращении ко всем
адресам. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль.
Тип выходных каскадов — три состояния.
-IOR (I/O Read) — строб чтения данных из устройств ввода/вывода. Устройство
ввода/вывода должно выставлять свои данные при активизации сигнала -IOR и снимать их
при снятии -IOR. В режиме MASTER этот сигнал вырабатывает устройство, захватившее
магистраль. Тип выходного каскада — три состояния.
-IOW (I/O Write) — строб записи данных в устройства ввода/вывода. Устройство
ввода/вывода должно принимать данные по положительному (заднему) фронту сигнала -IOW.
В режиме MASTER этот сигнал вырабатывает устройство, захватившее магистраль. Тип
выходного каскада — три состояния.
-MEM CS16 (Memory Cycle Select — выбор цикла дня памяти) — сигнал выставляется
памятью для сообщения задатчику о том, что она имеет 16-разрядную организацию. При
отсутствии этого сигнала выполняется 8-разрядный обмен. Сигнал вырабатывается при
распознавании памятью своего адреса на линиях LA17...LA23. Процессор фиксирует его по
заднему фронту сигнала BALE. Тип выходного каскада — открытый коллектор.
-I/O CS16 (I/O Cycle Select — выбор цикла для устройства ввода/вывода) — сигнал
выставляется устройством ввода/вывода для сообщения задатчику о том, что оно имеет 16разрядную организацию. При отсутствии этого сигнала выполняется 8-разряд-ный обмен.
Сигнал вырабатывается при распознавании устройством ввода/вывода своего адреса на
линиях SA0...SA15. Тип выходного каскада — открытый коллектор.
I/O СН RDY (I/O Channel Ready — готовность канала ввода/вывода) — сигнал
снимается (делается низким) исполнителем (устройством ввода/вывода или памятью) по
переднему фронту сигналов -IOR и -IOW в случае, если он не успевает выполнить требуемую
операцию в темпе задатчика. При этом реализуется асинхронный обмен. Если исполнитель
успевает работать в темпе задатчика, сигнал не снимается (фактически не устанавливается в
низкий уровень). Цикл обмена в ответ на снятие этого сигнала продлевается на целое число
периодов сигнала SYSCLK. Сигнал I/O СН RDY не должен сниматься на время, большее
заданного в данном компьютере (по стандарту — 15 мкс), иначе компьютер переходит к
обработке немаскируемого прерывания. Тип выходного каскада — открытый коллектор.
-I/O СН СК (I/O Channel Check — проверка канала ввода/ вывода) — сигнал
вырабатывается любым исполнителем (устройством ввода/вывода или памятью) для
информирования задатчика о фатальной ошибке, например об ошибке четности при доступе к
памяти. Сигнал вызывает немаскируемое прерывание. Тип выходного каскада — открытый
коллектор.
-0WS (0 Wait States - 0 тактов ожидания) — выставляется исполнителем для
информирования задатчика о необходимости проведения цикла обмена без вставки такта
ожидания, если длительность стандартного цикла обмена велика для него. Вырабатывается
после перехода сигнала BALE в низкий уровень. Должен быть синхронизован с сигналом
SYSCLK. Используется редко. Тип выходного каскада — открытый коллектор.
-REFRESH (Refresh — регенерация) — сигнал выставляется контроллером регенерации
для информирования всех устройств на магистрали о выполнении циклов регенерации
динамического ОЗУ компьютера (каждые 15 мкс). При регенерации выполняется
псевдочтение из одного из 256 адресов ОЗУ (активизируются только разряды адреса
SA0...SA7). Полный цикл регенерации — около 4 мс. Тип выходного каскада — открытый
36
коллектор.
RESET DRV (Reset of Driver — сброс устройства) — сигнал сброса в начальное
состояние всех устройств на магистрали. Вырабатывается центральным процессором при
включении или сбое питания, а также при нажатии на кнопку RESET компьютера. Внешние
платы должны в ответ на этот сигнал (длительностью не менее 1 мс) перевести все свои
выходы в высокоимпедансное состояние. Тип выходного каскада — ТТЛ.
SYSCLK (System Clock — системный такт) — сигнал системного тактового генератора
со скважностью 2 (меандр). В большинстве компьютеров его частота равна 8 МГц независимо
от тактовой частоты процессора. Если в программе SETUP предусмотрена возможность
изменения тактовой частоты магистрали, пользователь может задавать ее в широких пределах.
Но для обеспечения наибольшей совместимости со всеми имеющимися платами расширения
ISA не рекомендуется поднимать эту частоту выше 8 МГц. К тому же на производительность
новых компьютеров в целом она влияет незначительно. В компьютерах XT сигнал SYSCLK —
это тактовый сигнал процессора. Тип выходного каскада — три состояния.
OSC — не синхронизированный с SYSCLK сигнал кварцевого генератора с частотой
14,31818 МГц со скважностью 2. Может использоваться платами расширения в качестве
тактового сигнала, так как его частота одинакова для всех компьютеров с магистралью ISA. Тип
выходного каскада — ТТЛ.
IRQ (Interrupt Request — запрос прерывания) — сигналы запроса радиальных
прерываний. Запросом является положительный переход на соответствующей линии IRQ.
Сигнал должен удерживаться до начала обработки процессором запрошенного прерывания.
Тип выходного каскада — ТТЛ. На каждой линии IRQ должен быть один выход. Иногда в
литературе можно встретить рекомендацию применять выходы с тремя состояниями, но все
равно больше одного выхода на линию быть не должно во избежание конфликтов сигналов.
Многие входы IRQ заняты системными ресурсами компьютера (табл. 1.6). Сигналы
IRQ0...IRQ2, IRQ8 и IRQ13 задействованы на системной плате и недоступны платам
расширения. В компьютере используются два 8-разрядных контроллера прерываний. Сигналы
IRQ0...IRQ7 относятся к первому из них, a IRQ8...1RQ15 — ко второму. Для каскадирования
второго контроллера прерываний задействован вход IRQ2. В связи с этим запросы прерывания
имеют следующие приоритеты в порядке возрастания: IRQ7, IRQ6, IRQ5, IRQ4, IRQ3, IRQ15,
IRQ14, IRQ12, IRQ11, IRQ10, IRQ9.
DRQ (DMA Request — запрос ПДП) — сигналы запросов прямого доступа к памяти
(ПДП). Запросом является положительный переход на соответствующей линии DRQ. Сигнал
должен удерживаться до получения ответного сигнала -DACK с тем же номером. Тип
выходного каскада — ТТЛ. На каждой линии DRQ должен быть один выход. В компьютере
используются два контроллера ПДП. Каналы ПДП, соответствующие первому контроллеру
(сигналы DRQ0...DRQ3) предназначены для 8-битного обмена, а соответствующие второму
котроллеру (DRQ5...DRQ7) — для 16-битного. Канал DRQ4 используется для каскадирования
контроллеров и недоступен пользователям. DRQ0 имеет наивысший приоритет, DRQ7 —
низший. В IBM PC XT канал DRQ0 использовался для регенерации динамической памяти.
Канал DRQ1 зарезервирован для контроллера бисинхронного обмена SDLC, а канал DRQ2 —
для контроллера гибкого диска.
-DACK (DMA Acknowledge — подтверждение ПДП) — сигналы подтверждения
предоставления прямого доступа. Вырабатываются в ответ на соответствующий сигнал DRQ в
случае, если прямой доступ предоставлен данному каналу. Удерживаются до окончания
прямого доступа. Тип выходного каскада — ТТЛ.
AEN (Address Enable — разрешение адреса) — используется в режиме ПДП для
сообщения всем платам расширения, что производится цикл ПДП. Устанавливается и
снимается параллельно с адресом. При его переходе в активное состояние все платы
расширения, не участвующие в данном ПДП, должны отключаться от магистрали (переходить
в пассивное состояние). Тип выходного каскада — ТТЛ.
Т/С (Terminal Count — окончание счета) — устанавливается в режиме ПДП тогда,
когда по текущему каналу ПДП закончен счет циклов пересылок данных. Тип выходного
37
каскада — ТТЛ.
-MASTER (Master — хозяин, задатчик) — используется платой расширения, желающей
стать задатчиком магистрали. В этом случае надо выставить сигнал DRQ и, получив в ответ
сигнал -DACK, установить сигнал -MASTER, а затем через минимум один период SYSCLK
можно выставлять адрес и через минимум два периода SYSCLK можно вырабатывать стробы
обмена. Если -MASTER удерживается более 15 мкс, то динамическое ОЗУ компьютера
требует регенерации (разрешения сигнала -REFRESH). Тип выходного каскада — открытый
коллектор.
3.3. Адреса портов доступа шины ISA.
К шине ISA могут подключаться портовые буфера устройств расширения.
Распределение адресов портов доступа основных известных устройств ввода/вывода ISA
(адреса даны в 16-ричном коде) приведены в таблице 3.1.
Таблица 3.1.
Адреса
000...01F
020...03F
040...05F
060...06F
070...07F
080...09F
0A0...0BF
0C0...0DF
0F0...0FF
170...177
1F0...1F7
200...207
278...27F
2C0...2DF
2F8...2FF
300...31F
320...32F
360...36F
370...377
378...37F
380...38F
3A0...3AF
3B0...3DF
3B0...3BF
3C0...3CF
3D0...3DF
ЗF0...ЗF7
3F8...3FF
Назначение
Контроллер ПДП 1
Контроллер прерываний 1
Программируемый таймер
Контроллер клавиатуры
Часы реального времени
Регистр страницы ПДП
Контроллер прерываний 2
Котроллер ПДП 2
Математический сопроцессор
Накопитель на жестком диске (второй)
Накопи гель на жестком диске (первый)
Игровой порт (джойстик)
Параллельный порт LPT2
АдаптерЕСА2
Последовательный порт COM2
Прототипные платы
Накопитель на жестком диске XT
Резервные адреса
Накопитель на гибком диске (второй)
Параллельный порт LFTI
Контроллер бисинхронного обмена SDLC2
Контроллер бисинхронного обмена SDLC1
Адаптер EGА
Адаптер монохромного дисплея MDA и принтера
Aдаптep EGA 1
Адаптер ССА
Накопитель на гибком диске (первый)
Последовательный порт СОМ1
3.4. Адресное пространство шины ISA.
Адреса обслуживаемой через шину ISA оперативной памяти и ее стандартная структура
показаны в таблице 3.2.
Таблица 3.2. Распределение адресов памяти.
Адреса памяти
000000...0003FF
000000...09FFFF
OAOOOO...OAFFFF
OBOOOO...OB7FFF
OB8000...0BFFFF
OCOOOO...OC3FFF
Назначение
Таблица векторов прерываний
Память DOS и пользовательских программ
Память дисплея EGA или VGA
Память монохромного дисплея MDA
Память дисплея CGA
ПЗУ BIOS для EGA/VGA
OC8000...0DFFFF
OEOOOO...OEFFFF
OFOOOO...OFFFFF
38
ПЗУ устройств ввода/вывода
Резерв ПЗУ BIOS на материнской плате
ПЗУ BIOS на материнской плате
3.5. Поддерживаемые аппаратные прерывания шины ISA.
Перечень аппаратных прерываний приведен в таблице 3.3.
Таблица 3.3. Назначение аппаратных прерываний ISA.
Номер
прерывания IRQ
0
1
2
8
9
10
11
12
13
14
15
3
4
5
6
7
INT
Назначение
08h
09h
0Ah
70h
71h
72h
73h
74h
75h
76h
77h
0Bh
0Ch
0Dh
0Eh
0Fh
Программируемый таймер
Контроллер клавиатуры
Каскадирование второго контроллера
Часы реального времени (только AT)
Программно переадресовано на IRQ2
Резерв
Резерв
Резерв
Математический сопроцессор
Контроллер жесткого диска
Резерв
Последовательный порт СОМ2
Последовательный порт СОМ1
Параллельный порт LPT2
Контроллер гибкого диска
Параллельный порт LPT1
3.6. Электрические характеристики линий шины ISA.
Выходные каскады передатчиков магистральных сигналов УС должны выдавать ток
низкого уровня не меньше 24 мА (это относится ко всем типам выходных каскадов), а ток
высокого уровня - не меньше 3 мА (для выходов с тремя состояниями и ТТЛ).
Входные каскады приемников магистральных сигналов должны потреблять входной
ток низкого уровня не больше 0,8 мА, а входной ток высокого уровня — не больше 0,04 мА.
К некоторым линиям магистрали подключены нагрузочные резисторы, идущие на
шину питания +5 В . К линиям -IOR, -IOW, -MEMR, -MEMW, -SMEMR, -SMEMW, -I/O
СН СК подключены резисторы 4,7 кОм, к линиям -I/O CS 16, -MEM CS 16, -REFRESH, MASTER, -OWS - 300 0м, а к линии I/O СН RDY — 1 кОм. Кроме того к некоторым линиям
магистрали подключены последователь-ные резисторы: к линиям -IOR, -IOW, -MEMR, MEMW, -SMEMR, -SMEMW и OSC — резисторы номиналом 22 0м, а к линии SYSCLK — 27
0м.
3.7. Описание временных диаграмм входных и выходных сигналов и
протоколов обмена данными по шине ISA, используемых в разрабатываемом
интерфейсе.
В режиме программного обмена информацией на магистрали ISA выполняются четыре
типа циклов:
• цикл записи в память;
• цикл чтения из памяти;
• цикл записи в устройство ввода/вывода;
• цикл чтения из устройства ввода/вывода.
39
Наиболее часто УС проектируются как устройства ввода/ вывода. Временные
диаграммы циклов обмена для этих случаев приведены на рис. 3.1. и 3.2. (все временные
параметры приведены для частоты SYSCLK, равной 8 МГц).
Циклы начинаются с выставления задатчиком адреса на линиях SA0...SA15 и
сигнала -SBHE. Несмотря на потенциальную возможность адресации по 16 линиям адреса,
чаще всего используются только 10 младших линий SA0...SA9, так как большинство
разработанных ранее плат расширения используют только их, и, следовательно, за
исключением особых случаев нет смысла обрабатывать старшие разряды SA10...SA15.
Т
SYSCLK
>50
BALE
SA0...SA15,
SBHE
>61
>29
А
>11
<90
Для 16-р.
-I/O CS 16
>91
>176
>114
-IOR
<118
>62
<32
чтение
SD0...SD15
>22
>63
>30
SD0...SD15
>Т
-IOW
<44
I/O CH RDY
запись
Т-15600
Для удлиненного цикла
Рис. 3.1. Временные диаграммы циклов программного обмена с устройствами
ввода/вывода (интервалы в наносекундах).
В ответ на получение адреса исполнитель, распознавший свой адрес, должен
сформировать сигнал -I/O СS16 в случае, если обмен должен быть 16-разрядным.
Далее следует собственно команда чтения или записи. При цикле чтения задатчик
выставляет сигнал -IOR, в ответ на который исполнитель (УС) должен выдать данные на шину
данных. Эти данные должны быть сняты исполнителем после окончания сигнала -IOR. В
цикле записи задатчик выставляет записываемые данные и сопровождает их стробом записи IOW. Здесь надо отметить, что хотя в соответствии со стандартом установка записываемых
данных предшествует выставлению -IOW, в некоторых компьютерах реализуется обратный
порядок: сначала выставляется -IOW, а затем появляются данные. Поэтому при
проектировании УС надо рассматривать как момент действительности данных только задний (
положительный ) фронт сигнала -IOW.
В случае, когда УС не успевает выполнить требуемую от него команду в темпе
магистрали, оно может приостановить на целое число периодов сигнала SYSCLK завершение
цикла чтения или записи с помощью снятия (перевода в низкий уровень) сигнала I/O СH RDY
(так называемый удлиненный цикл). Это осуществляется в ответ на получение сигнала -IOR
или -IOW. Сигнал I/O СН RDY может удерживаться низким не более 15,6 мкс, в противном
случае процессор переходит в режим обработки немаскируемого прерывания. Отметим, что
некоторые изготовители персональных компьютеров указывают в сопроводительной
документации другие допустимые величины этого временного интервала (например, 2,5 мкс),
40
так что не следует ориентироваться на максимальную
стандарте, иначе нет гарантии работы УС во всех компьютерах.
величину,
указанную
в
Т
SYSCLK
LA0...LA23
>50 >50 >15
BALE
<66
А
SA0...SA19
>0
-МЕМ CS 16
для 16-р. памяти
>239
>28
-МЕМR
>109
<187
SD0...SD15
чтение
>40
SD0...SD15
-МЕМW
I/O CH RDY
запись
Для удлиненного цикла
Рис. 3.2. Временные диаграммы циклов программного обмена с памятью (временные
интервалы в наносекундах).
Для асинхронного режима обмена (удлиненного цикла) здесь также используется
сигнал I/O СН RDY. Отметим, что УС, работающее как память, должно обрабатывать все
адресные разряды, включая LA17...LA23.
4. Рассмотрение основных программ или функций BIOS для обеспечения
работы УС интерфейса (контроллера параллельного обмена).
4.1. Разработка программ-драйверов и тестирующих программ.
Специфика программирования аппаратуры и, в частности, устройств сопряжения для
компьютера, заключается в повышенных требованиях к быстродействию программного
обеспечения и в необходимости получения программы минимального размера.
При выборе языка программирования необходимо обеспечить:
• программный доступ к устройствам ввода/вывода и к памяти,
• обработку прерываний,
• битовые логические операции.
• управление системным таймером.
Для этих целей наиболее удобен язык Си.
Взаимодействие с устройством связано с подачей на него и приемом от него
41
определенных сигналов в определенном порядке
и
представляет
собой
последовательность операций ввода/вывода, а также битовые логические операции над
принимаемыми и передаваемыми данными.
Разработанное программное обеспечение для контроллера параллельного обмена
опирается на следующие правила:
• устройство сопряжения выполняет определенные функции, каждая из которых
реализуется в виде отдельного драйвера; на более низком уровне (управление отдельными
разрядами отдельных регистров) разделения на программные модули не производится;
• устройство имеет регистр управления или состояния, в котором каждый бит или
группа битов соответствуют определенным режимам работы устройства; маски этих битов
(позиции в байте или слове) определяются перед запуском драйвера и используются в
битовых операциях для установки или проверки;
• в качестве глобальной переменной определяется первый ("базовый") адрес устройства
в адресном пространстве, а его остальные адреса вычисляются добавлением к базовому адресу
величины смещения, оцениваемой номером порта.
Контроллер параллельного обмена (КПО) содержит 7 программно-доступных байтовых
двунаправленных портов и регистр управляющего слова. Таким образом, на нижнем уровне
программирования КПО необходимо реализовать три функции: запись управляющего слова,
запись данных в любой порт и чтение данных из любого порта.
На языке Си они выглядят так:
// *** Функция записи управляющего слова
// CW_ADDR — адрес регистра управляющего слова
// cw — байт управляющего слова
outportb (CW_ADDR, cw);
// *** Функция записи данных в порт
// BASE_ADDR — базовый адрес КПО (адрес порта 0)
// port — номер порта (0...6)
// data — байт данных
outportb (BASE_ADDR + port, data):
// *** Функция чтения данных из порта
// BASE_ADDR — базовый адрес КПО (адрес порта 0)
// port — номер порта (0...6)
// data — байт данных
data = inportb (BASE_ADDR + port):
Программа тестирования записи данных КПО.
Последовательно записывается во все порты код 55Н и контролируется правильность
записи. При этом все порты, кроме тестируемого, переводятся в режим чтения.
// *** Программа тестирования КПО ***
#include <STDIO.H>
#include <DOS.H>
42
#define NPORT 7
// Глобальные переменные
unsigned BASE_ADDR;
unsigned CW_ADDR;
void main (void)
{
unsigned i;
unsigned char data = 0х55;
for (i=0; i<NPORT; i++)
{
outportb (CW_ADDR, 1 « i);
//
Число портов КПО
// Базовый адрес КПО
// Адрес регистра управляющего слова
// Установка конфигурации:
// i—ый порт на вывод остальные на ввод
outportb (BASE_ADDR + i, data);
// Запись данных
if (inportb (BASE_ADDR + i) != data)
printf ("\n\tПорт %d неисправен", i);
else
printf ("\n\tПорт %d исправен", i);
}
}
//*** Конец программы
Каждому порту КПО соответствует один бит управляющего слова. Единица в этом
бите устанавливает порт в режим передачи данных, а ноль — в режим приема. Естественно,
что когда порт находится в режиме передачи, ничто нe мешает прочитать его содержимое,
контролируя таким образом правильность вывода. Именно это свойство КПО использовано в
программе его тестирования.
В программе тестирования для последовательной установки портов в режим вывода
использовалась операция сдвига единицы на число разрядов, равное номеру порта. Очевидно,
что при этом данный порт устанавливается на вывод, а все остальные — на ввод.
Для организации протоколов обмена с "быстрым" устройством — модулем ОЗУ
емкостью 16 КБайт с байтовой организацией разработана программа-драйвер обмена батом
данных по произвольному адресу.
Модуль ОЗУ подключен к портам КПО следующим образом:
Р0.0 ... Р0.7 — младший байт шины адреса: А0 ... А7,
Р1.0 ... Р1.5 — старшие линии шины адреса: А8 ... А13,
Р1.6 — сигнал разрешения записи -WE,
Р1.7 — сигнал разрешения выхода -ОЕ,
Р2.0 ... Р2.7 — шина данных: D0 ... D7.
Перед вызовом драйверов должно быть предварительно установлено управляющее
слово КПО — 03Н (порты 0 и 1 — на вывод, порт 2 — на ввод).
// *** Драйвер модуля ОЗУ ***
#define WE 0х40
// Маска бита WE (бит 6 порта 1)
#define ОЕ 0х80
//Маска бита ОЕ (бит 7 порта 1)
43
#define АН 0x3F
порта 1)
// Маска линий А8...А13 шины адреса (биты 0...5
// Глобальные переменные
unsigned BASE_ADDR: // Базовый адрес КПО
unsigned CW_ADDR;
// Адрес регистра управляющего слова
// Прототипы функций
void Write_RAM (unsigned addr, unsigned char data);
unsigned char Read_RAM (unsigned addr);
// Функция записи байта данных
void Write_RAM (unsigned addr, unsigned char data)
{
outportb (CW_ADDR, 7);
// Порты 0...2 — на вывод
outportb (BASE_ADDR, addr);
// Младший байт адреса
outportb (BASE_ADDR+1, (addr » 8) & AH | OE & (~WE));
// Старшие линии адреса, OE=1, WE=0
outportb (BASE_ADDR+2, data); // Установка данных
outportb (BASE_ADDR+1, (addr » 8) & AH | OE | WE);
// WE=1
outportb (CW_ADDR, 3);
// Порты 0,1 — на вывод, порт 2 — на ввод
}
// Функция чтения байта данных
unsigned char Read_RAM (unsigned addr)
{
unsigned char data;
outportb (BASE_ADDR, addr);
// Младший байт адреса
outportb (BASE_ADDR+1, (addr » 8) & AH & (~OE) | WE);
// Старшие линии адреса, OE=0, WE=1
data = inportb (BASE_ADDR+2); // Чтение данных
outportb (BASE_ADDR+1, (addr » 8) & AH | OE | WE);
// OE=1
return (data);
}
//*** Конец драйвера
Важно обратить внимание на управление отдельными битами порта 1. Для этого
использованы логические операции с прямыми и инверсными масками соответствующих
битов. Кроме того, следует отметить, что подключение к порту 2 двунаправленной шины
данных требует изменения направления передачи по этому порту, то есть
перепрограммирования управляющего слова (в отличие от случаев подключения
однонаправленных линий, когда управляющее слово устанавливается в начале программы и
больше не модифицируется).
44
4.2. Разработка прикладной программы использования контроллера
параллельного обмена.
Используя описанные выше функции программирования КПО, можно реализовать
самые разные режимы его работы и алгоритмы взаимодействия с внешними устройствами.
1. Программа реализации асинхронного протокола взаимодействия с "медленными"
внешними устройствами. Основа такого протокола — цикл типа "команда—ожидание
реакции—действие".
В качестве примера рассмотрим сопряжение БИС АЦП 1113ПВ1 с компьютером с
помощью КПО. Условное обозначение БИС, ее подключение к портам УКПО и временные
диаграммы работы показаны на рис. 5.1. Видно, что процедура чтения кода с АЦП
реализуется последовательностью действий: запуск — ожидание готовности — чтение
данных.
Рис. 4.1. Подключение БИС АЦП 1113ПВ1 локальной сети.
// *** Программа чтения данных из БИС АЦП 1113ПВ1 ***
#include <DOS.H>
#include <STDIO.H>
#define START 1
// Маска бита запуска (бит 0 порта 2)
#define READY 0х80
// Маска бита готовности (бит 7 порта 1)
#define DH 3
// Маска 8-го и 9-го битов данных АЦП
// (биты 0 и 1 порта 1)
// Глобальные переменные
unsigned BASE_ADDR;
// Базовый адрес УКПО
unsigned CW_ADDR;
// Адрес регистра управляющего слова
void main (void)
{
45
unsigned data_ADC = 0;
// Данные с АЦП
outportb (CW_ADDR, 4); //Установка конфигурации: порт 2 на вывод,
// остальные на ввод
outportb (BASE_ADDR+2, START^1);
// Запуск АЦП — запись 0
while (((data_ADC = inportb (BASE_ADDR+1)) & READY ) !=0);
// Опрос готовности
data_ADC = (data_ADC & DH) « 8 + inportb (BASE_ADDR);
// Чтение младшего байта данных
printf ("\nПрочитан код — %u", data_ADC);
}
//*** Конец программы
2. Программа сопряжение с компьютером простейшего устройства, состоящего из
четырех ключей и четырех лампочек.
Предположим, что ввиду большой загруженности КПО другими задачами для
подключения нашего устройства выделен только один порт 5 (рис. 5.2). Драйверы,
приведенные ниже, реализуют две функции — чтение состояния ключей и "поджигание"
лампочек.
Рис. 4.2. Подключение простейшего устройства из ключей и лампочек.
//*** Программа „Набор лампочек и кнопочек“ ***
#define LAMP 0x0F
// Маска битов светодиодов (биты 0...3 порта 5)
#define P5 0х20
// Маска бита порта 5 в управляющем слове
// Глобальные переменные
unsigned BASE_ADDR;
// Базовый адрес УКПО
unsigned CW_ADDR;
// Адрес регистра управляющего слова
unsigned char CW;
// Управляющее слово
// Прототипы функций
unsigned char Get_Switch (void):
void Set_Lamp (unsigned char data);
// Функция чтения состояния ключей
46
unsigned char Get_Switch (void)
// В возвращаемом байте четыре старших бита
// (4 ... 7) соответствуют четырем ключам (0 — замкнут, 1 — разомкнут).
{
unsigned char data;
outportb (CW_ADDR, CW & (~P5));
// Порт 5 — на ввод
data = inportb (BASE_ADDR+5);
// Чтение состояния ключей
outportb (CW_ADDR, CW | Р5);
// Порт 5 — на вывод
return (data):
}
// Функция "поджигания" лампочек
void Set_Lamp (unsigned char data)
// Четыре младших бита из data соответствуют четырем
// лампочкам (1 — горит, 0 — погашен).
{
outportb (BASE_ADDR+5, (data & LAMP) | Get_Switch());
}
//*** Конец программы
Для "поджигания" лампочек необходимо вывести соответствующую тетраду в порт 5,
но это может привести к конфликту на четырех старших линиях между выводимой
информацией и состоянием ключей. Поэтому в старшую тетраду надо записывать данные,
которые установлены ключами.
Для этого приходится считывать их состояние при каждой записи в порт 5.
Для считывания состояния ключей необходимо переводить порт 5 на ввод, а затем
после чтения — опять на вывод.
Такое кратковременное отключение порта от лампочек (время зависит от
быстродействия компьютера, но во всяком случае не превосходит нескольких десятков
микросекунд) не будет заметно.
4.3. Рекомендации по наладке контроллера параллельного обмена.
Особенностью разработки УС является опасность выхода из строя компьютера, к
которому подключается изготовленное УС. В первую очередь это относится к УС,
ориентированным на ISA, то есть подключаемым к "внутренностям" компьютера. Большое
число сигналов интерфейса ISA, подключение к нему системных устройств компьютера,
сложность алгоритмов взаимодействия по ISA, использование внутреннего источника питания
— все это приводит к тому, что вероятность поломки компьютера довольно велика.
Шинная организация ПЭВМ характеризуется большим количеством входных,
выходных и двунаправленных сигналов, которые должны одновременно формироваться и
одновременно контролироваться. Применение стандартных приборов в этом случае потребует
большого времени. Поэтому изготавливаются специальные многоразрядные формирователи
входных воздействий и регистраторы ответных реакций, существенно упрощающие этот
процесс. Большую эффективность имеют системы, в которых предусмотрена та или иная
47
степень автоматизации процесса отладки. При этом часть трудоемких операций можно
возложить на персональный компьютер, который служит основой такой системы.
Метод статической отладки цифровых устройств, как следует из его названия,
позволяет контролировать работу этих устройств или их отдельных узлов в статическом
режиме, то есть в режиме неизменных входных и выходных сигналов. Этот метод основан на
том положении, что большинство цифровых устройств может находиться в каждом из своих
состояний бесконечно большое время. Он позволяет выявлять по различным оценкам до 80%
неисправностей.
Прежде всего это внутренние неисправности микросхем отлаживаемого устройства,
приводящие к нарушениям в логике их работы, к невыполнению таблицы истинности.
Например, выход логического элемента не реагирует на один или несколько входных
сигналов.
Особенность УС как объекта отладки — однотипность набора входных, выходных и
двунаправленных сигналов со стороны разъема интерфейса компьютера и однотипность
последовательностей этих сигналов в соответствии с протоколом обмена по интерфейсу. Это
позволяет обеспечить довольно высокую степень автоматизации процесса отладки и
облегчить труд оператора, на долю которого остается только выбор режима работы и анализ
результатов контроля.
Реализовать систему статической отладки на базе персонального компьютера можно,
если использовать разработанный универсальный контроллер параллельного обмена (и,
конечно же, соответствующие программные средства). В этом случае аппаратура системы
включает в себя только компьютер, рассмотренный контроллер и соединительный кабель,
оканчивающийся магистральным разъемом ISA, к которому и подключается исследуемая
плата УС (рис 5.3). В принципе, в случае данной системы отлаживаемая плата может быть
любой, главное, чтобы количество ее внешних сигналов не превышало количество внешних
линий контроллера параллельного обмена. Но для каждой платы нужен свой соединительный
кабель (или кабель с индивидуальными зажимами для каждой линии) и, самое главное — свое
программное обеспечение.
Рис. 4.3. Функциональная схема статической отладки УС ПЭВМ
48
Рассмотрим несколько
упрощенно управление внешними линиями контроллера
параллельного обмена при пошаговой эмуляции машинных циклов ISA. Но сначала выделим
минимальный набор сигналов ISA, необходимый в системе отладки. Пусть речь идет только
об отладке УС, работающих как устройства ввода/вывода. В этом случае достаточно
использовать 10 разрядов адреса (SAO ... SA9), 8 или 16 разрядов данных (SDO ... SD7 или
SDO... SD15), два строба обмена (-IOR и -IOW) и два управляющих сигнала (BALE — не
обязательно и AEN). Адресные и управляющие сигналы должны быть определены как
выходные, данные — как двунаправленные. Однако надо учесть, что в системе отладки
обязательно надо предусмотреть контроль правильности информации, выводимой на
выходные линии. Все это легко позволяет сделать контроллер параллельного обмена.
Выделим шаги (или точки останова), которые будут использованы при пошаговой
отладке (рис. 5.4). Принцип выделения здесь очень простой: каждый новый шаг отличается от
предыдущего изменением хотя бы одного сигнала. При этом если задержка между сигналами
определяется только временем распространения сигналов по магистрали или только временем
срабатывания логических элементов (например, между -IOR и SD), то мы считаем их
одновременными, так как при статической отладке обнаружить такой сдвиг все равно
невозможно.
Рис. 4.4. Шаги (точки останова) в циклах записи и чтения ISA.
На нулевом шаге (исходное состояние) мы должны проверить отключение платы от
магистрали. Первый шаг, в принципе, не обязателен, так как обычно в УС на нем ничего не
происходит. На втором шаге проверяется работа селектора адреса. На третьем —
контролируется реакция УС на сигнал BALE (он используется довольно редко). Шаги 4 ... 6
(для цикла записи) или четвертый шаг (для цикла чтения) — это проверка выработки
внутренних стробов обмена УС и функционирования буферов данных.
Последовательности сигналов (рис. 4.4) могут вырабатываться компьютером нс только
с остановками на каждом шаге, но и без остановок (с максимально возможной для обмена
компьютера с используемым контроллером скоростью). Это, конечно же, не будет истинным
режимом реального, времени, но быстрое периодическое повторение этих циклов облегчает
отладку некоторых узлов с помощью осциллографа (уже упоминавшаяся квазидинамическая
отладка).
Перед началом отладки проводится проверка отключения отлаживаемой схемы УС от
магистрали ISA. То есть УС должно быть пассивно, если к нему нет обращений. Если же
обнаруживаются какие-нибудь активные линии, то на экран выводится информация об
49
ошибке
с
указанием
наименований ошибочных
сигналов
и
характера
неисправности.
Проверка установки схемы УС в исходное состояние по сигналу магистрального сброса
(RESET DRV). Этот сигнал (выходной) формируется контроллером параллельного обмена и
требует только два шага статической отладки: сигнал активен, сигнал пассивен. Такая
проверка часто является необходимой, так как некоторые схемы УС будут неправильно
работать, если их не инициализировать.
Проверка, на какие адреса отвечает УС. В стандарте ISA не существует магистрального
сигнала подтверждения, соответствующего ответу УС на обращенный к нему цикл (как,
например, в системных магистралях Q-bus или Unibus). Сигнал I/O СН RDY используется
только медленными УС, не успевающими выполнить цикл за положенное время, к тому же он
очень короткий для статической отладки. Поэтому, если анализировать только канальные
сигналы, мы не сможем определить, на какие адреса отвечает наше УС. Здесь возможно два
пути. Простейший состоит в том, что мы проводим циклы чтения из всех возможных адресов
и проверяем считанную из них информацию. Если в каких-то адресах она отлична от
пассивного состояния (FFFF для 16-разрядного УС), то мы считаем, что на эти адреса данное
УС отвечает. Понятно, что этот путь ненадежен, так как действительно считанная из УС
информация может быть в данный момент как раз равной FFFF.
Далее должна следовать собственно отладка, которая проводится или в статическом,
пошаговом режиме (обязательный этап), или в квазидинамическом режиме. В режиме отладки
мы проверяем формирование внутренних стробов обмена УС, работу буферов, правильность
записываемых и читаемых данных. Функционирование интерфейсной части УС может быть
проверено практически всегда полностью. С операционной частью УС дело обстоит сложнее.
Однако, если она содержит в себе только входные и выходные порты, как, например, в схеме
универсального контроллера параллельного обмена, то и для нее процесс отладки проводится
без проблем. Если же в операционной части есть динамические узлы (генераторы,
одновибраторы, микропрограммные автоматы и т.д.), то часто может помочь
квазидинамический режим с бесконечным повторением циклов обмена и осциллограф.
Помимо перечисленных обязательных функций система отладки может моделировать
целые серии циклов обращения к УС, позволяющие легко отлаживать, например, УС с
буферным ОЗУ, к которому предусмотрен последовательный доступ. Понятно, что при
большом объеме такого ОЗУ произвести пошаговую запись всех его ячеек или пошаговое
чтение из них очень непросто, если вообще возможно. Для реализации данной функции в
системе отладки должен быть предусмотрен некий специальный язык для задания требуемых
последовательностей циклов.
Заключение.
С помощью разработанного универсального контроллера параллельного обмена и
соответствующего программного обеспечения можно реализовать практически любой
стандартный интерфейс или даже несколько интерфейсов одновременно (Centronics, IEEE 488,
RS— 232 и т.д.). Необходимо только учитывать ограничение на быстродействие
эмулируемого интерфейса, связанное с быстродействием компьютера. Точно так же можно
организовать свой интерфейс, реализующий протокол, наиболее соответствующий решаемой
задаче. При этом все УС можно разместить во внешнем конструктиве, а в компьютер
50
установить только разработанный контроллер. Такой
подход
обеспечивает
все
преимущества вынесения УС из компьютера: снятие ограничений на сложность и количество
УС, снижение наводок и помех и т.д., хотя и увеличивает стоимость системы в целом. По
сравнению со стандартными интерфейсами компьютера в данном случае гораздо проще
достигается сопряжение с большим количеством УС (все форматы и протоколы мы выбираем
самостоятельно).
Шина ISA в настоящее время считается устаревшей. Ее развитие не имеет перспектив.
Шина ISA исключена из состава архитектуры современных ПЭВМ по следующим причинам:
1. Шина ISA характеризуется чрезмерно большим количеством проводников при малой
разрядности (по отношению к шине PCI), что снижает ее надежность.
2. Частота шины (16 МГц) является очень низкой по современным представлениям.
3. Шина ISA не поддерживает систему PnP, т.е. считается неинтеллектуальной.
4.
Разработка устройств сопряжения для шины ISA характеризуется высокой
трудоемкостью и малой надежностью этих устройств. Созданная для этих целей шина USB
позволяет выполнять разработку УС с гораздо меньшими трудозатратами и большим
эффектом.
Список использованной литературы.
1. И.М.Русак, В.П.Луговой Технические средства ПЭВМ. Минск: «Вышэйшая школа»,
1996 г.
2. С. Мюллер Модернизация и ремонт персональных компьютеров. М.: «Бином», 2003 г.
3. Р. Витенберг Шина ISA/ Интерфейсы, разработка расширений. М.: Радио и связь,
1994г.
51
Приложение № 1.
Общая функциональная схема системной (материнской) платы Intel 430VX.
Центральный процессор
Преобразователь напряжения
core
CPU clk
82438VX
32Kx32
82438VX
32Kx32
Счетчик
тактов
TAG
Северный
мост
F=14,31818 MHz
Батарейка
CMOS 3,0v
CMOS
FLASH
BIOS
DIMM1
DIMM1
Intel 430VX
Сигналы прерываний
PCI clk4
PCI clk3
Слоты расширений шины PCI
64-разрядная
шина
данных
Контроллер
памяти
Синтезатор частот CLK
PCI clk2
Конвейерный
КЭШ 2L
Intel Pentium
Socket 7
I/O
PCI clk1
Коммутатор
данных
Контроллеры:
шины
прямого
PCI
доступа
Слоты ОЗУ
SIMM
банк
Шина PCI
Южный мост
Контроллеры:
прерыIDE
ваний
ATA3
IDE порт 1
IDE порт 2
SB82371VB
Мостовые
контроллеры шин
xBUS
ISA
USB
USB порт 1
USB порт 2
Шина ISA
ISA clk тактовая частота 8 MHz
Контроллер
периферии
Super I/O
Слоты расширения шины ISA
FDD
LPT
COM
Keyboard
52
Приложение 2.
Принципиальная схема контроллера параллельного обмена по шине ISA
Буфер адреса
10
Селектор адреса
AS
10
MPA
STR
Схема управления
(формирователь стробсигналов)
SA0…SA9
ADR
AEN
Буфер сигналов магистрали
IOR
IOW
SBHE
16
16
SD0…SD15
Dout
16
Din
Операционный блок ВУ
Двунаправленный буфер данных
(приемопередатчик)
STR rd
Схема задержки
DK
DK
Буфер сигналов синхронизации
I/O CS 16
I/O CH RDY
Сигнал готовности устройства
Download